Авторские права © 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, 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, JDK, JRE, JSP, JVM, Netra, Solaris, StarOffice, SunOS это торговые марки или зарегистрированные торговые марки 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 известно о торговой марке, к обозначению добавляется знак <<TM>> или <<(R)>>.
Добро пожаловать в FreeBSD! Это Руководство охватывает процесс установки и ежедневного использования FreeBSD 9.3-RELEASE и FreeBSD 10.1-RELEASE. Оно находится в процессе разработки и являет собой результат работы множества людей. Многие из разделов до сих пор не существуют, а некоторые из существующих требуют обновления. Если вы заинтересованы в помощи этому проекту, отправьте письмо в Список рассылки Проекта Документации FreeBSD. Обновленная версия этого документа постоянно доступна с Основного Web сервера FreeBSD. Он также может быть загружен из интернет в одном из наиболее распространенных форматов с FTP сервера Проекта FreeBSD или с одного из многочисленных зеркал. Если вы предпочитаете иметь напечатанный (английский) вариант Руководства, то можете приобрести его на FreeBSD Mall. Вы также можете воспользоваться Поиском в Руководстве FreeBSD.
X
и более
раннихX
и более
позднихcron
syslogd
fdisk
перед
редактированиемed0
inetd.conf
exports
root
rmuser
chpass
с правами
суперпользователяchpass
с правами обычного
пользователяboot0
boot2
/etc/ttys
dump
через
sshdump
при работе через
ssh с заданием RSH
vnconfig
mdconfig
для монтирования файла
с образом существующей файловой системыmdconfig
mdmfs
mdconfig
mdmfs
/etc/ttys
Люди, которые используют FreeBSD с недавнего времени, найдут, что первая часть этой книги проводит читателя через процесс установки FreeBSD и кратко освещает идеи и традиции, на которых базируется UNIX(R). Работа с этой частью требует несколько большего, чем просто желание исследовать - необходима возможность принимать к сведению новые идеи.
Вторая, много большая часть Руководства, является всеобъемлющим справочником о всех темах, которые могут интересовать администраторов FreeBSD. Некоторые из глав этой части могут рекомендовать вам предварительное чтение других документов, о чём упоминается в кратком обзоре в начале каждой главы.
Список рекомендуемой дополнительной литературы вы можете найти в Приложение B, Библиография.
Третья редакция является кульминацией более чем двух лет работы отдельных членов проекта документации FreeBSD. Вот основные изменения в новой редакции:
Глава 12, Настройка и оптимизация, Настройка и оптимизация, была расширена новой информацией о ACPI управлении питанием и ресурсами, системной утилите cron и дополнительных параметрах оптимизации ядра.
Глава 14, Безопасность, Безопасность, была расширена новой информацией о виртуальных частных сетях (VPN), списках контроля доступа файловой системы (ACL), и сообщениях безопасности.
Глава 15, Принудительный контроль доступа (MAC), Принудительный контроль доступа (MAC), новая глава этой редакции. Она описывает, что такое MAC и как этот механизм может быть использован для защиты системы FreeBSD.
Глава 17, Устройства хранения, Устройства хранения, была расширена новой информацией о устройствах хранения USB, образах файловой системы, квотах файловой системы, файловых системах в файлах и в сети, зашифрованных дисковых разделах.
К Глава 23, PPP и SLIP, PPP и SLIP, был добавлен раздел о решении проблем.
Глава 24, Электронная почта, Электронная почта, была расширена новой информацией об использовании альтернативных транспортных агентов, SMTP аутентификации, UUCP, fetchmail, procmail, и другими разделами повышенной сложности.
Глава 25, Сетевые серверы, Сетевые серверы, появилась в этой редакции. Эта главы включает информацию о установке Apache HTTP Server, FTPd, и настройке Samba сервера для клиентов Microsoft Windows. Некоторые разделы были перемещены сюда из Глава 27, Сложные вопросы работы в сети, Сложные вопросы работы в сети.
Глава 27, Сложные вопросы работы в сети, Сложные вопросы работы в сети, была расширена новой информацией об использовании устройств Bluetooth в FreeBSD, настройке беспроводных сетей, и сетях Asynchronous Transfer Mode (ATM).
Был добавлен глоссарий, объединяющий информацию о технических терминах, используемых в книге.
Множество эстетических улучшений были внесены в таблицы и иллюстрации этой книги.
Вторая редакция является кульминацией более чем двухлетней работы членов Проекта документации FreeBSD. Нижеследующий список перечисляет все значительные изменения, внесенные в эту редакцию:
Был добавлен полный указатель тем.
Все ASCII-иллюстрации были заменены на графические.
Был добавлен стандартный краткий обзор к каждому разделу для того, чтобы читатель мог получить представление о содержании раздела и о том, что необходимо знать для его изучения.
Содержимое было логически реорганизовано на три части: <<В Начале>>, <<Системное администрирование>> и <<Приложения>>.
Глава 2, Установка FreeBSD версий 8.X
и более
ранних (<<Установка
FreeBSD>>) была полностью переписана, добавлено большое
количество снимков экрана, чтобы облегчить понимание текста
для новых пользователей.
Глава 4, Основы UNIX (<<Основы UNIX(R)>>) была расширена и содержит дополнительную информацию о процессах, даемонах и сигналах.
Глава 5, Установка приложений: порты и пакеты (<<Установка приложений: порты и пакеты>>) была расширена и содержит дополнительную информации об управлении бинарными пакетами.
Глава 6, X Window System (<<X Window System>>) была полностью переписана и обращает больше внимания на современные технологии для рабочего стола, такие, как KDE и GNOME на XFree86TM 4.X.
Глава 13, Процесс загрузки FreeBSD (<<Процесс загрузки FreeBSD>>) была расширена.
Глава 17, Устройства хранения (<<Устройства хранения>>) была составлена из того, что раньше было двумя различными главами: <<Диски>> и <<Резервное копирование>>. Мы считаем, что данные темы будут проще и более полно описаны как одна глава. Был добавлен раздел о программном и аппаратном RAID.
Глава 22, Последовательные соединения (<<Последовательные коммуникации>>) была полностью реорганизована и обновлена для FreeBSD 4.X/5.X.
Глава 23, PPP и SLIP (<<PPP и SLIP>>) была существенно обновлена.
Было добавлено множество новых разделов в Глава 27, Сложные вопросы работы в сети (<<Сложные вопросы работы в сети>>).
Глава 24, Электронная почта (<<Электронная почта>>) была расширена, теперь она включает больше информации о настройке sendmail.
Глава 11, Двоичная совместимость с Linux (<<Работа с приложениями, написанными для Linux(R)>>) была дополнена включением информации об установке Oracle(R) и SAP(R) R/3(R).
Следующие новые темы были рассмотрены в этой, второй, редакции:
Настройка и оптимизация (Глава 12, Настройка и оптимизация).
Мультимедиа (Глава 8, Мультимедиа)
Эта книга разбита на пять частей. В первой части, В начале, рассматривается установка и основные навыки использования FreeBSD. Предполагается, что читатель освоит эти разделы последовательно, возможно пропуская разделы, в которых обсуждаются уже знакомые для него темы. Вторая часть, Общие задачи, рассказывает о некоторых наиболее часто используемых возможностях FreeBSD. Этот раздел и все последующие могут быть прочитаны не по порядку. Каждая глава начинается с краткого обзора, который описывает, о чём говорится в ней и что читатель должен будет знать для прочтения этой главы. Это сделано для того, чтобы случайно встретивший этот материал читатель мог найти разделы, которые его интересуют. В третьей части, Системное администрирование, рассмотрены вопросы администрирования. В четвертой части, Сетевые коммуникации, охвачены темы, связанные с серверами и сетью. Пятая часть содержит приложения и справочную информацию.
Знакомит пользователя с FreeBSD. Рассказывает об истории проекта FreeBSD, его задачах и модели разработки.
X
и более
ранних, УстановкаПроводит пользователя через весь процесс установки. Обсуждаются также некоторые более сложные вопросы установки, такие как установка по последовательной консоли.
Рассказывает об основных командах и функциональности операционной системы FreeBSD. Если вы знакомы с Linux(R) или другой UNIX(R)-подобной операционной системой, возможно, вы пропустите эту главу.
Рассказывает о процессе установки программного обеспечения сторонних производителей с использованием <<Коллекции Портов FreeBSD>> и стандартных бинарных пакетов.
Описывает X Window System вообще и использование X11 под управлением FreeBSD в частности. Также описывает популярные окружения рабочего стола, такие как KDE и GNOME.
Перечисляет некоторые популярные приложения для рабочей станции, такие как веб-браузеры и офисные пакеты и описывает процесс их установки на FreeBSD.
Показывает, как настроить поддержку воспроизведения звука и видео на вашей системе. Также описывает некоторые примеры приложений для воспроизведения звука и видео.
Объясняет, почему вам может понадобиться перенастроить ядро и детально описывает процесс настройки, сборки и установки нового ядра.
Рассказывает об управлении принтерами в FreeBSD, включая информацию об титульных страницах, учёте использования принтеров и первоначальной настройке.
Описывает возможности Linux(R)-совместимости в FreeBSD. Также предоставляет детальные инструкции по установке многих популярных приложений для Linux(R), таких как: Oracle(R), SAP(R) R/3(R) и Mathematica(R).
Описывает всевозможные параметры настройки FreeBSD, которые может использовать системный администратор для оптимальной настройки системы. Также описывает различные конфигурационные файлы, используемые в FreeBSD и расположение этих файлов на диске.
Рассказывает о процессе загрузки FreeBSD и объясняет, как управлять этим процессом при помощи различных настроек.
Рассказывает о создании и управлении пользовательскими учётными записями. Также обсуждает установку ограничений ресурсов для пользователей и другие задачи управления пользователями.
Описывает множество различных утилит, которые помогут вам поддерживать FreeBSD в безопасном, надёжном состоянии, включая Kerberos, IPsec и OpenSSH.
Описывает что такое принудительный контроль доступа (Mandatory Access Control, MAC) и как этот механизм может быть использован для защиты системы FreeBSD.
Описывает как управлять накопителями информации и файловыми системами в FreeBSD, включая физические диски, массивы RAID, оптические и ленточные носители, диски в оперативной памяти и сетевые файловые системы.
Рассказывает о подсистеме GEOM в FreeBSD и описывает различные поддерживаемые уровни RAID.
Исследует поддержку неосновных файловых систем во FreeBSD, таких как, например, SunTM 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(R). Если не указано обратного, эти команды могут
вводиться из окна <<Сеанс MS-DOS(R)>> в современных системах
Microsoft(R) Windows(R).
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(R).
Покажут вам как устанавливать программные пакеты не входящие в стандартную поставку FreeBSD.
Введут вас в X Window, оконную систему для UNIX(R), и опишут как настроить графическое окружение и сделать вашу работу более продуктивной.
Мы попытались сократить множество ссылок в тексте до минимума для того, чтоб вы могли прочитать этот раздел Руководства с начала до конца с минимумом перелистываний страниц.
X
и более
раннихX
и более
позднихМы благодарим вас за интерес к FreeBSD! Следующая глава расскажет о некоторых аспектах проекта FreeBSD, таких как история, цели, модель разработки, и прочее.
Из этой главы вы узнаете:
Какое отношение имеет FreeBSD к другим операционным системам.
Историю проекта FreeBSD.
Цели проекта FreeBSD.
Основы модели разработки FreeBSD с открытыми исходными текстами.
И, конечно, откуда появилось имя <<FreeBSD>>.
FreeBSD - это основанная на 4.4BSD-Lite операционная система для компьютеров Intel (x86 и Itanium(R)), AMD64, AlphaTM и Sun UltraSPARC(R). Ведется работа по портированию и на другие архитектуры. Вы можете также прочесть об истории FreeBSD, или о текущем релизе. Если вы заинтересованы в помощи проекту (кодом, аппаратным обеспечением, деньгами), прочтите статью Помощь FreeBSD.
FreeBSD имеет заслуживающие внимания возможности. Некоторые из них:
Вытесняющая многозадачность с динамическим регулированием приоритетов, позволяющая плавно и справедливо распределить ресурсы компьютера между приложениями и пользователями, даже при тяжелейших нагрузках.
Многопользовательская поддержка, которая позволяет множеству людей использовать FreeBSD совместно для различных задач. Это значит, например, что системная периферия, такая как принтеры и ленточные устройства, правильно разделяется всеми пользователями в системе или сети, и что пользователям или группам пользователей могут быть установлены лимиты каждого ресурса, защищая критические системные ресурсы от перегрузок.
Мощный TCP/IP-стек с поддержкой промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS. Это означает, что FreeBSD может легко взаимодействовать с другими системами, а также работать сервером масштаба предприятия, предоставляя жизненно важные функции, такие как NFS (удалённый доступ к файлам) и услуги электронной почты, или представить вашу организацию в Интернете, обеспечивая работу служб WWW, FTP, маршрутизацию и функции межсетевого экрана (брандмауэра).
Защита памяти гарантирует, что приложения (или пользователи) не смогут чинить препятствия друг другу. Фатальная ошибка в выполнении одного приложения не скажется на работоспособности всей системы.
FreeBSD 32-разрядная операционная система (64-разрядная на Alpha, Itanium(R), AMD64, и UltraSPARC(R)) и изначально создавалась именно такой.
Промышленный стандарт X Window System (X11R6) предоставляет графический интерфейс пользователя (GUI) для большинства VGA карт и мониторов, и поставляется с полными исходными текстами.
Двоичная совместимость с большинством программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.
Тысячи готовых к использованию приложений доступны из коллекций портов и пакетов FreeBSD. Зачем искать что-то в сети, когда вы можете найти всё прямо здесь?
Тысячи других легко адаптируемых приложений доступны в Интернете. FreeBSD совместима по исходным текстам с большинством популярных коммерческих UNIX(R)-систем и, таким образом, большинство приложений требуют лишь небольших изменений для сборки (или не требуют вообще).
Виртуальная память с поддержкой сброса неиспользуемых страниц по требованию и <<объединение виртуальной памяти и буферного кэша>> спроектированы так, чтобы максимально эффективно удовлетворить приложения с огромными аппетитами к памяти и, в то же время, сохранить интерактивность для остальных пользователей.
Поддержка симметричной многопроцессорности (SMP) для машин с несколькими процессорами.
Полный комплект инструментов для разработчика: C, C++ и Fortran. Множество дополнительных языков программирования для исследований и разработки также доступны из коллекций портов и пакетов.
Доступность исходных текстов всей системы означает, что вы имеете максимальный контроль над операционной средой. Зачем выбирать закрытые решения и уповать на милость производителя, когда вы можете получить по-настоящему открытую систему?
Обширная online-документация.
И многое-многое другое!
FreeBSD основана на 4.4BSD-Lite от Computer Systems Research Group (CSRG) Калифорнийского Университета, Беркли, и продолжает славную традицию разработки BSD-систем. В дополнении к прекрасной работе, предоставленной CSRG, Проект FreeBSD тратит многие тысячи часов для тонкой настройки системы для максимальной производительности и надёжности в условиях максимально приближенным к <<боевым>>. Когда большинство коммерческих гигантов только пытаются достичь такого уровня возможностей, производительности и надежности операционных систем для ПК, FreeBSD может предложить все это прямо сейчас!
Применение FreeBSD в действительности ограничено только вашим воображением. От разработки программного обеспечения до автоматизации производства, от складского учета до дистанционной коррекции азимутов спутниковых антенн; если задачи можно решить с помощью коммерческих UNIX(R)-систем, скорее всего, они решаемы и с помощью 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(R) и ia64
. За этим
релизом последовал релиз 5.1 в июне 2003 года. Последним релизом 5.X
из ветви -CURRENT стал 5.2.1-RELEASE, представленный в феврале
2004.
Ветвь RELENG_5 была создана в августе 2004, затем последовал выпуск релиза 5.3-RELEASE, который открыл серию релизов из ветви 5-STABLE. Самый последний релиз 9.3-RELEASE был выпущен Сентябрь 2013. Из ветви RELENG_5 релизы больше выпускаться не будут.
Очередная ветвь, RELENG_6, была создана в июле 2005 года. 6.0-RELEASE, первый релиз из этой ветви, был выпущен в ноябре 2005 года. Последний из релизов ветви RELENG_6, 10.1-RELEASE, был выпущен Январь 2014. Из ветви 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 i386TM, i486TM, Pentium(R), Pentium(R) Pro, Celeron(R), Pentium(R) II, Pentium(R) III, Pentium(R) 4 (или совместимыми), XeonTM, DEC AlphaTM и Sun UltraSPARC(R). В основном она базируется на программном обеспечении от группы 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, и убедиться, что ваше оборудование поддерживается.
Как правило, эти инструкции по установке написаны для i386TM (<<PC совместимых>>) компьютеров. Когда это возможно, приводятся инструкции, специфичные для других платформ. Хотя это руководство поддерживается в актуальном состоянии настолько, насколько это возможно, вы можете обнаружить небольшие различия между программой установки и тем, что показано здесь. Предполагается, что вы будете использовать эту главу в качестве общего руководства, а не как пошаговую инструкцию по установке.
Минимальная конфигурация для установки FreeBSD зависит от версии FreeBSD и аппаратной архитектуры.
Краткое изложение этой информации дается в последующих разделах. В зависимости от метода, выбранного для установки FreeBSD, вам может потребоваться поддерживаемый дисковод или привод CDROM, а в некоторых случаях и сетевой адаптер. Эта ситуация будет описана в Раздел 2.3.7, <<Подготовка загрузочных дисков>>.
Для версий FreeBSD/i386 и FreeBSD/pc98 требуется 486 процессор или выше, а также как минимум 24 MB памяти. Вам потребуется как минимум 150 MB свободного места на диске для самой минимальной установки.
Для старых конфигураций, как правило, больший объем памяти и больший объем диска более важен, чем более быстрый процессор.
Существует два класса процессоров, на которых может работать FreeBSD/amd64. К первому принадлежат процессоры AMD64, включая AMD AthlonTM64, AMD AthlonTM64-FX, AMD OpteronTM и более новые.
Ко второму классу принадлежат процессоры архитектуры Intel(R) EM64T. Среди них можно назвать семейства Intel(R) CoreTM 2 Duo, Quad, Extreme, а также Intel(R) XeonTM 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(R) или Linux, неплохо будет использовать ее возможности для просмотра настроек оборудования. Если вы не уверены, какие настройки карты расширения использовать, можете найти их на самой карте. Часто используемые номера прерываний 3, 5 и 7, порты ввода- вывода обычно пишутся в шестнадцатеричном виде, например 0x330.
Мы рекомендуем распечатать эту информацию перед установкой FreeBSD. Вам может помочь использование таблицы вроде этой:
Название устройства | IRQ | Порт ввода-вывода | Примечания |
---|---|---|---|
Первый жесткий диск | нет | нет | 40 GB, Seagate, первый IDE master |
CDROM | нет | нет | Первый IDE slave |
Второй жесткий диск | нет | нет | 20 GB, IBM, второй IDE master |
Первый IDE контроллер | 14 | 0x1f0 | |
Сетевая карта | нет | нет | Intel(R) 10/100 |
Модем | нет | нет | 3Com(R) 56K факс-модем, COM1 |
... |
После сбора информации о компонентах компьютера, вы можете проверить их соответствие аппаратным требованиям устанавливаемого релиза FreeBSD.
Если компьютер, на который вы устанавливаете FreeBSD, содержит важные данные, убедитесь в наличии резервных копий и проверьте их сохранность перед установкой операционной системы. Во время установки FreeBSD запросит подтверждение перед тем, как записать данные на диск, но, если процесс запущен, изменения нельзя отменить.
Если вы хотите, чтобы FreeBSD использовала весь жесткий диск, не о чем беспокоиться - можете пропустить этот раздел.
Однако, если нужно совмещать FreeBSD с другими операционными системами, необходимо иметь представление как данные размещаются на диске и как это касается вас.
Диск ПК может быть поделен на отдельные части. Эти
части называют разделами.
Поскольку в FreeBSD также есть разделы, терминология становится
запутанной, и поэтому эти части дисков называются дисковыми
слайсами, или просто слайсами в FreeBSD. Например, утилита FreeBSD
fdisk
, имеющая дело с дисковыми разделами
PC, обращается со слайсами а не с разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.
Каждый раздел имеет ID раздела -
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165
.
Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, MS-DOS(R) и ее
потомки, такие как Windows(R), присваивают каждому главному и логическому
разделу букву диска, начиная с
C:
.
FreeBSD нужно устанавливать в главный раздел. FreeBSD может хранить все свои данные, включая создаваемые вами файлы, на этом одном разделе. Тем не менее, если дисков много, вы можете создать разделы FreeBSD на всех дисках или на некоторых из них. При установке FreeBSD должен быть доступен по крайней мере один раздел. Это может быть чистый, подготовленный для установки раздел, или раздел с данными, которые больше не нужны.
Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk
для MS-DOS(R) или Windows(R)).
Если есть резервный раздел, используйте его. Однако, возможно сначала придется ужать один или несколько существующих разделов.
FreeBSD для установки нужен диск не менее 100 MB. Однако, это оченьминимальная установка, при которой не останется места для ваших личных файлов. Более реальный объем - 250 MB без графической оболочки, и более 350 MB с графической оболочкой. Если вы собираетесь устанавливать большое количество дополнительного ПО, понадобится еще больше дискового пространства.
Для изменения размера разделов и освобождения места под FreeBSD вы можете использовать программу GParted. GParted способна работать с разделами NTFS. Утилита GParted доступна на некоторых Live CD дистрибутивах Linux, например: SystemRescueCD.
Пользователи неоднократно сталкивались с проблемами при изменении размеров разделов, содержащих Microsoft(R) Vista. Поэтому рекомендуется держать под рукой инсталляционный диск с Microsoft(R) Vista во время выполнения подобных операций. Как и при любых других задачах обслуживания жестких дисков, настоятельно рекомендуется заранее сделать резервные копии данных.
Неправильное использование этих утилит может привести к уничтожению данных на диске. Удостоверьтесь в наличии свежих и исправных резервных копий данных перед их использованием.
Представьте что в компьютере один 4 GB диск, на
котором уже установлена Windows(R), и диск разбит на два
логических диска C:
и
D:
, каждый по 2 GB.
1 GB данных на C:
, и
0.5 GB данных на D:
.
Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D:
на C:
, это
освободит второй раздел для FreeBSD.
Представьте, что в компьютере один 4 GB диск, на
котором уже установлена Windows(R). При установке
Windows(R) вы создали один большой раздел, получив при этом
диск C:
размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.
Для установки FreeBSD нужно выбрать:
Сделать резервную копию Windows(R), затем переустановить Windows(R), выделив 2 GB под ее раздел.
Использовать для сжатия раздела Windows(R) одну из вышеописанных утилит.
Если вы хотите подключиться к сети в процессе установки 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(R) на вашем компьютере
Лента 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 9.3-RELEASE находятся в
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/9.3/FreeBSD-9.3-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-9.3-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(R) не сообщит о наличии плохих секторов, она просто пометит их как <<плохие>> и проигнорирует. Советуем использовать новые дискеты если вы выбрали этот способ установки.
Если при попытке установки FreeBSD программа установки рушится, зависает, или делает что-то не так, сразу проверьте дискеты. Запишите образы на новые дискеты и попытайтесь еще раз.
Запись образов на дискеты
Файлы с расширением .flp
это
не обычные файлы, которые можно
записать на дискету. Это образы всего содержимого дискеты.
Это означает, что вы не можете
просто скопировать их с одной дискеты на другую.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.
Если вы записываете дискеты на компьютере под
MS-DOS(R) / Windows(R), используйте утилиту
fdimage
.
Если вы используете образы с CDROM, и буква вашего
CDROM E:
,
запустите ее так:
E:\>
tools\fdimage floppies\boot.flp A:
Повторите эту команду для каждого файла
.flp
, вставляя новую дискету каждый раз,
пометьте каждую дискету именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp
. Если у вас нет
CDROM, fdimage
может быть загружена
из каталога tools
FTP сервера FreeBSD.
Если вы записываете дискеты на UNIX(R) (например, на другой системе FreeBSD), используйте утилиту dd(1) для записи образов непосредственно на дискеты. Находясь в FreeBSD, запустите:
#
dd if=boot.flp of=/dev/fd0
Под FreeBSD, /dev/fd0
означает первый
гибкий диск (диск A:
).
/dev/fd1
будет диском
B:
, и так далее. Другие UNIX(R)
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.
Теперь вы готовы к установке 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, вы увидите что-то вроде этого (информация о версии удалена):
Booting from CD-Rom... 645MB medium detected CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.02 Consoles: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 636kB/261056kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \
Если происходит загрузка с дискеты, вы увидите что-то вроде этого (информация о версии удалена):
Booting from Floppy... Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key...
Следуя инструкциям, уберите дискету с
boot.flp
, вставьте дискету с
kern1.flp
и нажмите
Enter. Загрузитесь с первой дискеты;
последовательно вставляйте остальные диски при
появлении соответствующего приглашения.
Идет ли загрузка с CDROM, или с USB-носителя, или с дискеты в процессе загрузки появится меню загрузчика FreeBSD:
Подождите десять секунд или нажмите Enter.
Большинство систем Sparc64(R) настроены на автоматическую загрузку с жесткого диска. Для того, чтобы установить FreeBSD, вам потребуется выполнить загрузку по сети или с компакт-диска, что в свою очередь требует получения доступа к PROM (OpenFirmware).
Чтобы получить доступ к PROM, перезагрузите систему и дождитесь появления сообщений загрузчика. Последние зависят от модели оборудования, но, в общем, выглядят подобно следующим:
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Если на данном этапе ваша система продолжает загружаться с диска,
то для доступа к PROM вам потребуется нажать на клавиатуре сочетания
клавиш L1+A
или Stop+A, или
же - послать BREAK
на последовательной консоли
(например, набрав ~#
в tip(1) или cu(1)).
Приглашение PROM выглядит подобно следующему:
ok
![]()
ok {0}
Однопроцессорные системы выдают такое приглашение. | |
Приглашение, используемое многопроцессорными системами: цифра обозначает номер активного процессора. |
На этой стадии необходимо вставить CDROM в привод и набрать
boot cdrom
в приглашении PROM.
Последние несколько сотен линий, отображенные на экране, сохраняются и могут быть просмотрены.
Для просмотра буфера нажмите Scroll Lock. Это включит прокрутку экрана. Вы можете использовать клавиши навигации или PageUp и PageDown для просмотра результатов. Нажмите Scroll Lock еще раз для отключения прокрутки.
Сделайте это сейчас для просмотра текста, ушедшего за экран, когда ядро закончило тестирование устройств. Вы увидите текст вроде Рисунок 2.2, <<Типичный вывод Device Probe>>, хотя в деталях он будет отличаться в зависимости от устройств, имеющихся в вашем компьютере.
avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства, какие нужно.
Если устройство не найдено, его не будет в списке.
Собственное ядро позволяет
добавлять поддержку устройств, отсутствующих в ядре
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(R) или Microsoft(R) Windows(R), BIOS может отходить от обычного порядка нумерации дисков. Это позволяет пользователю загружаться не только с так называемого "primary master" диска. Это особенно удобно для тех пользователей, которые покупают второй идентичный первому жесткий диск и регулярно делают копии первого диска на второй. Затем, если первый диск выйдет из строя, будет заражен вирусом или поврежден из-за сбоя операционной системы, он может быть легко восстановлен путем логической перестановки дисков в BIOS. Это все равно что переключить кабели дисков, но без вскрытия корпуса.
Более дорогостоящие системы со SCSI контроллерами зачастую имеют расширения BIOS, позволяющие сходным путем менять порядок до семи SCSI дисков.
Пользователи, привыкшие пользоваться этими полезными функциями, могут быть удивлены, что во FreeBSD результаты не совпадают с ожидаемыми. FreeBSD не использует BIOS, и не знает о <<логическом отображении дисков в BIOS>>. Это может привести к очень сложным ситуациям, особенно когда диски имеют одинаковую геометрию и содержат точную копию данных друг друга.
При использовании FreeBSD всегда восстанавливайте настройки BIOS к первоначальной нумерации перед установкой системы и оставляйте их в таком виде. Если вам понадобится переключить диски, сделайте это, но путем физического переконфигурирования, вскрыв корпус, переключив перемычки и кабели.
Внесенные вами изменения не будут записываться на диск сразу. Если вы думаете, что сделали ошибку, и хотите начать сначала, можете использовать меню для выхода из sysinstall и попробовать еще раз или нажатием U вызвать опцию (отмена). Если вы запутались и не можете выйти, просто выключите компьютер.
После начала стандартной установки в sysinstall будет показано это сообщение:
Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ]
Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
тестирования устройств.
Рисунок 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(R) / Windows(R), и
дополнительный слайс, который может содержать диски с другими буквами
для MS-DOS(R) / Windows(R).
Третий раздел показывает команды, доступные в 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. Вы увидите это сообщение:
Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (1 GB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ]
Нажмите Enter для запуска редактора разделов FreeBSD, называемого Disklabel.
Рисунок 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(R) и/или FreeBSD лучшим выбором будет одна из этих предустановленных опций. Настройка дистрибутивного набора как правило нужна более опытным пользователям.
Нажмите F1 для получения информации о дистрибутивных наборах и их содержимом. После просмотра помощи нажмите Enter для возврата к меню выбора дистрибутивного набора.
Если желательно наличие графического интерфейса пользователя, то задачи настройки X сервера и выбора десктопа по умолчанию должны быть выполнены после установки FreeBSD. Более подробная информация по установке и настройке X сервера находится в Глава 6, X Window System.
Если планируется пересборка ядра, выберите опцию, включающую исходные тексты. Информация о том, зачем пересобирать ядро и как это сделать, находится на Глава 9, Настройка ядра FreeBSD.
Ясно, что наиболее универсальная система включает все. Если места на диске достаточно, выберите Рисунок 2.25, <<Выбор дистрибутивных наборов>> и нажмите Enter. Если есть сомнения относительно того, хватит ли диска, используйте наиболее подходящую опцию. Не беспокойтесь о том, какой выбор будет наилучшим, другие части дистрибутива могут быть добавлены после установки.
, как показано наПосле выбора подходящего дистрибутива можно будет выбрать установку Коллекции Портов FreeBSD. Коллекция Портов - лёгкий и удобный путь установки программ. Коллекция Портов не содержит исходных кодов программ. Это набор файлов, который автоматизирует загрузку, компилирование и установку пакетов программного обеспечения сторонних разработчиков. Глава 5, Установка приложений: порты и пакеты показывает, как использовать Коллекцию Портов.
Программа установки не проверяет, есть ли достаточно места. Выберите эту опцию только в том случае, если его достаточно. В FreeBSD 10.1, Коллекция Портов занимает около 500 MB. В более современных релизах это значение всегда больше.
User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over 24,000 ported software packages, at a cost of around 500 MB of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The ports collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the ports collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No
Выберите 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
как требуется для
установки).
Теперь можно начинать установку. Это последний шанс отменить установку, и таким образом избежать изменений на жестком диске.
User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No
Выберите Enter, чтобы начать.
и нажмитеВремя установки сильно зависит от выбранного дистрибутивного набора, источника установки и скорости компьютера. Появится несколько сообщений о статусе процесса установки.
Установка будет завершена, когда отобразится следующее сообщение:
Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /usr/sbin/sysinstall. [ OK ] [ Press enter or space ]
Нажмите Enter для начала послеустановочной настройки.
Выбор Enter прервет процесс установки, изменения в систему внесены не будут. Появится следующее сообщение:
и нажатиеMessage Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ]
Это сообщение появилось, поскольку ничего не было установлено. Нажатие Enter вернет вас в главное меню установки, чтобы выйти из нее.
После успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки,
перед загрузкой установленной FreeBSD, или после нее с использованием
sysinstall
, где надо выбрать пункт
.
Если вы настраивали PPP для установки через FTP, этот экран не появится, и настройку можно будет произвести позже как описано выше.
Чтобы лучше узнать о локальных сетях и настройке FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе Сложные вопросы работы в сети.
User Confirmation Requested Would you like to configure any Ethernet or PPP network devices? [ Yes ] No
Для настройки сетевого устройства выберите Enter. Или нажмите , чтобы продолжить.
и нажмитеВыберите интерфейс для настройки с помощью клавиш навигации и нажмите Enter.
User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ]
Для частной локальной сети обычный протокол интернет (IPv4) вполне достаточен, поэтому выбрана кнопка Enter.
и нажатЕсли вы хотите подсоединиться к существующей сети IPv6 через сервер RA, выберите Enter. Поиск RA серверов займет несколько секунд.
и нажмитеUser Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ]
Если DHCP (Dynamic Host Configuration Protocol) не нужен, выберите Enter.
с помощью клавиш навигации и нажмитеВыбор dhclient, и, если все пройдет нормально, заполнит информацию о конфигурации сети автоматически. Обратитесь к Раздел 25.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.
User Confirmation Requested Would you like to bring the ed0 interface up right now? [ Yes ] No
Выбор Enter введет компьютер в сеть. Тем не менее, компьютеру все еще требуется перезагрузка.
и нажатиеUser Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No
Если компьютер будет шлюзом для локальной сети, пересылая пакеты между другими компьютерами, выберите Enter. Если это обычный компьютер, выберите и нажмите Enter для продолжения.
и нажмитеUser Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ]
Если выбрана telnetd не будут запущены. Это означает, что удаленные пользователи не смогут зайти по telnet на этот компьютер. Локальные пользователи все же смогут заходит на удаленные компьютеры по telnet.
, различные сервисы, такие какЭти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf
с помощью вашего
любимого текстового редактора. Обращайтесь к
Раздел 25.2.1, <<Обзор>>
за более подробной информацией.
Выберите
если хотите настроить эти сервисы во время установки. Появится дополнительный запрос подтверждения:User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No
Нажмите
, чтобы продолжить.User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No
Выбор #
перед началом строки.
После добавления нужных сервисов нажатие Esc отобразит меню, позволяющее выйти с сохранением изменений.
User Confirmation Requested Would you like to enable SSH login? Yes [ No ]
Выбор sshd(8) - демона
для приложения OpenSSH, что в свою очередь
позволит создавать безопасные удалённые соединения c вашей машиной.
За более детальной информацией о OpenSSH
обратитесь к Раздел 14.11, <
User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ]
Выбор кнопки по умолчанию Enter все же позволит пользователям, имеющим учетные записи с паролями, использовать FTP для доступа к компьютеру.
и нажатиеКто угодно сможет получить доступ к компьютеру, если вы разрешите анонимные соединения FTP. Предварительно должны быть рассмотрены возможные проблемы с безопасностью. Более подробная информация о безопасности находится в Глава 14, Безопасность.
Чтобы разрешить анонимный FTP, выберите Enter. От вас потребуется дополнительное подтверждение:
, используя клавиши навигации, и нажмитеUser Confirmation Requested Anonymous FTP permits un-authenticated users to connect to the system FTP server, if FTP service is enabled. Anonymous users are restricted to a specific subset of the file system, and the default configuration provides a drop-box incoming directory to which uploads are permitted. You must separately enable both inetd(8), and enable ftpd(8) in inetd.conf(5) for FTP services to be available. If you did not do so earlier, you will have the opportunity to enable inetd(8) again later. If you want the server to be read-only you should leave the upload directory option empty and add the -r command-line option to ftpd(8) in inetd.conf(5) Do you wish to continue configuring anonymous FTP? [ Yes ] No
В этом сообщении сказано: если вы хотите разрешить анонимный
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, чтобы продолжить.
User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No
Если вы выберете Enter, запустится редактор, позволяющий отредактировать сообщение FTP.
и нажметеЭтот текстовый редактор называется ee
.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.
Нажмите Esc и появится меню с пунктом по умолчанию (выйти из редактора). Нажмите Enter, чтобы выйти и продолжить. Нажмите Enter еще раз, чтобы сохранить изменения, если они были сделаны.
Сетевая файловая система (Network File System, NFS) позволяет
совместно использовать файлы в сети. Компьютер может быть настроен
как сервер, клиент, или как то и другое. Обратитесь к
Раздел 25.3, <
User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ]
Если вам не нужен NFS сервер, выберите Enter.
и нажмитеЕсли выбран пункт exports
.
Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ]
Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports
.
Используйте инструкции для добавления экспортируемых файловых систем сейчас, или позднее с помощью выбранного вами текстового редактора. Обратите внимание, что имя/расположение файла показаны внизу окна редактора.
Нажмите Esc и появится меню с пунктом по умолчанию . Нажмите Enter, чтобы выйти и продолжить.
Есть несколько параметров для настройки системной консоли.
User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No
Для просмотра и настройки параметров выберите Enter.
и нажмитеЧасто используемая опция это хранитель экрана (screen saver). Используйте клавиши навигации для выбора Enter.
и нажмитеВыберите подходящий хранитель экрана с помощью клавиш навигации и нажмите Enter. Опять появится меню настройки системной консоли.
Время по умолчанию 300 секунд. Для изменения временного интервала выберите Enter. Появится меню:
еще раз. В меню настроек хранителя экрана выберите с помощью клавиш навигации и нажмитеЗначение может быть изменено, затем выберите Enter для возврата в меню настройки системной консоли.
и нажмитеВыбор Enter вернет вас к послеустановочной настройке.
и нажатиеУстановка часового пояса на компьютере позволит ему автоматически вносить поправки к местному времени и правильно выполнять другие, связанные с часовым поясом функции.
Пример приведен для компьютера, расположенного в восточном часовом поясе Соединенных Штатов. Ваш выбор будет зависеть от вашего географического положения.
User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No
Выберите Enter для установки часового пояса.
и нажмитеUser Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NO here! Yes [ No ]
Выберите Enter.
или в зависимости от настроек часов компьютера и нажмитеСоответствующий регион выбран с помощью клавиш навигации и нажат Enter.
Выберите соответствующую страну с помощью клавиш навигации и нажмите Enter.
Выбран соответствующий часовой пояс с помощью клавиш навигации и нажат Enter.
Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No
Правильно будет согласиться с назначением аббревиатуры временного пояса. Если она подходит, нажмите Enter, чтобы продолжить послеустановочную настройку.
Эти настройки позволят вырезать и вставлять текст в консоли и пользовательских программах с помощью трехкнопочной мыши. Если используется двухкнопочная мышь, обратитесь к странице справочника moused(8) после установки, чтобы узнать подробности об эмуляции трехкнопочной мыши. Этот пример приведен для настройки не-USB мыши (например мыши для порта PS/2 или COM):
User Confirmation Requested Does this system have a PS/2, serial, or bus mouse? [ Yes ] No
Выберите Enter.
для PS/2 мыши, последовательной мыши или мыши типа bus mouse. Выберите для USB мыши и нажмитеИспользуйте клавиши навигации для выбора Enter.
и нажмитеВ этом примере использована PS/2 мышь, поэтому подойдет протокол по умолчанию Enter для выхода из меню.
. Чтобы изменить протокол, используйте клавиши навигации для выбора другого пункта. Убедитесь, что выбран , и нажмитеИспользуйте клавиши навигации для выбора Enter.
и нажмитеК этой системе подключена мышь PS/2, поэтому подходит значение по умолчанию Enter.
. Чтобы изменить порт, используйте клавиши навигации и нажмитеНаконец, используйте клавиши навигации для выбора Enter для запуска и тестирования даемона мыши.
, затем нажмитеПодвигайте курсор по экрану и убедитесь, что он движется правильно. Если это так, выберите Enter. Если нет, мышь не была правильно настроена - выберите и попробуйте использовать другие опции настройки.
и нажмитеВыберите Enter для возврата к послеустановочной настройке.
с помощью клавиш навигации и нажмитеПакеты - это прекомпилированные бинарные файлы и это удобный способ установки программ.
В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
sysinstall
.
User Confirmation Requested The FreeBSD package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ] No
Выбор Enter приведет к появлению экрана выбора пакетов:
и нажатиеТолько пакеты с текущего носителя доступны для установки в любое время.
Все доступные пакеты будут показаны если выбрать категорию Enter.
, можно также выбирать отдельные категории. Перейдите к выбранной категории с помощью клавиш навигации и нажмитеПоявится меню, содержащее доступные в данной категории пакеты.
Выбрана оболочка bash. Выберите все необходимые пакеты, перемещаясь по меню и нажимая клавишу пробела на выбираемых пакетах. Краткое описание пакета будет появляться в нижней левой части экрана.
Нажатие Tab переключает между последним выбранным пакетом, , и .
После того, как будет закончена отметка пакетов для установки, нажмите Tab один раз для переключения на и нажмите Enter для переключения на меню выбора пакетов.
Нажимая клавиши навигации влево или вправо, можно переключаться между Enter.
и . Этот метод может быть применен также для выбора и возврата к меню выбора пакетов нажатиемИспользуйте Tab и клавиши навигации для выбора и нажмите Enter. вам потребуется подтвердить установку пакетов:
Выбор Enter запустит установку пакетов. Во время установки будут выдаваться сообщения. Обратите внимание на возможные сообщения об ошибках.
и нажатиеПосле установки пакетов настройка продолжится. Если вы не выбрали ни один из пакетов и хотите вернуться к завершению настройки, выберите
в любом случае.В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root
. Корневой каталог обычно мал и запуск
приложений под root
быстро заполнит его.
Ниже показано предупреждение:
User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No
Выберите 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 для продолжения установки.
с помощью клавиш навигации и нажмитеMessage Now you must set the system manager's password. This is the password you'll use to log in as "root". [ OK ] [ Press enter or space ]
Нажмите Enter для установки пароля
root
.
Необходимо два раза правильно ввести пароль. Излишне упоминать, что должна быть возможность восстановления пароля, если вы его забудете. Обратите внимание, что ни набираемый пароль, ни звездочки на экран не выдаются.
New password: Retype new password :
Установка продолжится после успешного ввода пароля.
Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью sysinstall
.
User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes [ No ]
Выберите Enter для возврата к главному меню установки.
с помощью клавиш навигации и нажмитеВыберите Enter. Будет задан вопрос о подтверждении выхода из установки:
с помощью клавиш навигации и нажмитеUser Confirmation Requested Are you sure you wish to exit? The system will reboot. [ Yes ] No
Выберите
. Если вы загружались с привода CDROM, следующее сообщение напомнит вам о необходимости извлечь диск:Message Be sure to remove the media from the drive. [ OK ] [ Press enter or space ]
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 syslog /host /etc/amd.map /net /etc/amd.map
Опция -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 или пропуска этого пункта появится меню настройки сети со следующей опцией, клиент
.Клиент Раздел 25.3, <
Ниже находится опция
сервер, позволяющая вам настроить систему для работы в качестве NFS сервера. Она добавляет требуемую информацию для запуска процедуры вызова удаленных сервисов RPC (remote procedure call services). RPC используется для организации соединения между хостами и программами.Следующая строка это
, которая отвечает за синхронизацию времени. Когда эта опция выбрана, появится приблизительно такое меню:Выберите из этого меню ближайший к вашему местонахождению сервер. Выбор ближайшего сервера сделает синхронизацию времени более точной, поскольку у более дальнего сервера может быть более длинная задержка соединения.
Следующая опция это выбор PCNFSD. Эта опция устанавливает пакет net/pcnfsd из Коллекции Портов. Это полезная утилита, предоставляющая сервисы авторизации NFS для систем, в которых собственная отсутствует, таких как Microsoft MS-DOS(R).
Теперь вы можете прокрутить меню немного вниз, чтобы увидеть другие опции:
Утилиты 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
, если это не
требуется.
Типичные сообщения при загрузке (информация о версии удалена):
Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password:
Генерирование ключей RSA и DSA может занять некоторое время на медленных компьютерах. Это может случиться только при первой загрузке свежеустановленной системы. Последующие загрузки будут быстрее.
Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx
.
Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке su
и пароль root
. Это сработает только если
пользователь является членом группы wheel
.
Или зайдите под root
и используйте команду
shutdown -h now
.
The operating system has halted. Please press any key to reboot.
Можно безопасно выключать питание после того, как будет выполнена команда shutdown и появится сообщение <<Please press any key to reboot>>. Если вместо выключения питания будет нажата любая клавиша, система перезагрузится.
Вы также можете использовать комбинацию клавиш Ctrl+Alt+Del для перезагрузки системы, хотя это не рекомендуется в обычной ситуации.
Следующий раздел описывает основные проблемы при установке, о которых обычно сообщают пользователи. Здесь также несколько вопросов и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и MS-DOS(R) или Windows(R).
По причине различных ограничений архитектуры PC, невозможно протестировать устройства достоверно на 100%, тем не менее, есть несколько вещей, которые вы можете сделать, если тестирование завершится неудачно.
Сверьтесь с Информацией об оборудовании для вашей версии FreeBSD, чтобы убедиться, что ваше оборудование поддерживается.
Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, потребуется
собрать собственное ядро.
Это позволит вам добавить поддержку аппаратных устройств,
отсутствующих в ядре GENERIC
. Ядро на
загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
скорее всего потребуется отредактировать конфигурацию ядра и
перекомпилировать его, чтобы сообщить
FreeBSD, где что искать.
Возможно также, что тестирование устройства, которого нет, приведет позже к ошибке тестирования существующего устройства. В этом случае тестирование конфликтующего драйвера (драйверов) должно быть запрещено.
Некоторые проблемы установки можно обойти или уменьшить, обновив встроенное программное обеспечение различных компонент оборудования, особенно материнской платы. Встроенное программное обеспечение также называют BIOS и у большинства производителей компьютеров или материнских плат есть Web-сайты, где можно найти обновления и информацию об обновлениях.
Большинство производителей настоятельно советуют не обновлять BIOS пока не возникнет серьезной необходимости, например появление критически важных обновлений. Процесс обновления может пойти неверно, что приведет к неустранимому повреждению микросхемы BIOS.
В настоящее время, FreeBSD не поддерживает файловые системы, сжатые с помощью программы Double SpaceTM. Поэтому файловая система должна быть разжата, чтобы FreeBSD смогла получить доступ к данным. Это может быть сделано с помощью приложения Compression Agent, находящегося в меню > > .
FreeBSD поддерживает файловые системы MS-DOS(R) (иногда называемые
файловыми системами FAT). Команда mount_msdosfs(8) включает
такие файловые системы в существующую иерархию, тем самым обеспечивая
доступ к их содержимому. Как правило, утилита mount_msdosfs(8)
непосредственно не вызывается; вместо этого она выполняется системой
при наличии соответствующей записи в /etc/fstab
или же вызывается утилитой mount(8), запущенной с соответствующими
параметрами.
Ниже приведен пример записи в /etc/fstab
для файловой системы MS-DOS(R):
/dev/ad0sN /dos msdosfs rw 0 0
Каталог /dos
должен быть создан заранее.
Формат файла /etc/fstab
подробно описан в
fstab(5).
Также приведем пример монтирования файловой системы MS-DOS(R) посредством mount(8):
#
mount -t msdosfs /dev/ad0s1 /mnt
В этом примере файловая система MS-DOS(R) расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg
и
mount
. Они должны предоставить достаточно
информации для определения названий разделов.
Способ нумерации дисковых слайсов (то есть, <<разделов>> в терминах MS-DOS(R)) может отличаться от способа, принятого в других операционных системах. В частности, расширенным разделам MS-DOS(R) присваиваются номера, следующие за первичными разделами MS-DOS(R). Утилита fdisk(8) поможет определить, какие слайсы принадлежат FreeBSD, а какие - другим операционным системам.
Разделы NTFS также можно смонтировать похожим способом, используя команду mount_ntfs(8).
2.11.3.1. | Моя система зависает на этапе определения оборудования во время загрузки, или система ведет себя странно во время установки, или же не определяется привод гибкого диска. |
На архитектурах i386, amd64 и ia64 при конфигурировании
оборудования, обнаруженного во время загрузки, FreeBSD повсеместно
использует систему ACPI. К сожалению, до сих пор находятся
неполадки как в драйвере ACPI, так и в материнских платах,
так и в их BIOS. Использование ACPI можно отключить установив
переменную
Эта настройка сбрасывается каждый раз при перезагрузке
системы, поэтому необходимо добавить строку
| |
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 находится на
Заметьте, если второй диск настроен как подчиненный (slave) на первой шине IDE, то указание вышеприведённого необязательно (а по существу, еще и неверно). Второй случай подразумевает загрузку с диска SCSI при
существующих в системе дисках IDE. В этом случае, согласно
определениям FreeBSD номер диска меньше, чем номер по представлениям
BIOS. Если у вас есть два диска IDE и диск SCSI, то, согласно
BIOS, номер SCSI диска - 2, а согласно FreeBSD, тип -
чтобы сообщить FreeBSD, что вы намереваетесь загрузить
систему с диска 2 по нумерации BIOS, который является первым
диском в системе. Если бы у вас был один диск IDE, вам бы
пришлось использовать Определив верные параметры, внесите их в том виде, как
вы их набирали, в файл | |
2.11.3.3. | Я перехожу к загрузке с жесткого диска впервые после
установки FreeBSD, но приглашение Boot Manager всякий раз выводит
только |
При установке FreeBSD в редакторе разделов была указана неверная геометрия жесткого диска. Вернитесь в редактор разделов и укажите действительную геометрию вашего жесткого диска. Вам придется переустановить заново FreeBSD. Если вы затрудняетесь определить верную геометрию для вашей машины, то сделайте следующее: установите небольшой раздел MS-DOS(R) вначале диска, а FreeBSD разместите после него. Установочная программа обнаружит раздел MS-DOS(R) и попробует определить значение геометрии по этому разделу, что, как правило, завершается успехом. Следующий способ не рекомендуется, он оставлен здесь для справки:
| |
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):10.1
-RELEASE-i386
-disc1.iso
#
mkdir
/path/to/headless-iso
#
tar -C
/path/to/headless-iso
-pxvf FreeBSD-10.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
" \ -oHeadless
-FreeBSD-10.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(R).
Например:
У вас есть много компьютеров, подсоединенных к локальной сети, и один диск с FreeBSD. Вы хотите создать локальный сервер FTP, используя содержимое диска FreeBSD, а затем использовать с ваших компьютеров этот локальный сервер FTP вместо подсоединения к интернет.
У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD привод, а MS-DOS(R) / Windows(R) распознает. Вы хотите скопировать файлы установки FreeBSD на раздел MS-DOS(R) этого же компьютера и установить 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, обратитесь к
Раздел 17.6, <<Запись и использование оптических носителей (CD)>> за более подробной информацией (в
частности, Раздел 17.6.3, <
Если вы делаете это в другой системе, потребуется использовать те утилиты для управления CD-рекордером, которые есть в этой системе. Образы дисков предоставляются в стандартном формате ISO, который поддерживается многими программами.
Если вы интересуетесь созданием собственных вариантов релизов FreeBSD, пожалуйста, прочтите статью о Процессе подготовки релизов.
Диск FreeBSD сформирован так же, как и сервер FTP. Это сильно упрощает создание локального сервера FTP, который может быть использован другими компьютерами вашей сети для установки FreeBSD.
Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom
.
#
mount /cdrom
Создайте учетную запись для anonymous FTP в
/etc/passwd
. Сделайте это, отредактировав
/etc/passwd
с помощью vipw(8) и добавив
эту строку:
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
Убедитесь что сервис FTP включен в
/etc/inetd.conf
.
Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://
после выбора <<Other>> в меню серверов FTP во время
установки.ваш компьютер
Если загрузочный носитель (обычно это дискеты) для ваших FTP-клиентов в точности не соответствует версии, находящейся на локальном сервере FTP, то sysinstall не позволит вам завершить установку. Если версии похожи и вы хотите это явно указать, то перейдите в меню Options и замените название дистрибутива на .
Этот подход хорош для компьютера в вашей локальной сети, защищенного с помощью файрволла. Предоставление сервиса FTP другим компьютерам через интернет (а не через локальную сеть) привлекает к вашему компьютеру внимание кракеров и других лиц, чье внимание нежелательно. Мы настоятельно рекомендуем придерживаться правильной политики безопасности, если вы делаете это.
Если вам требуется выполнить установку с дискет (чего мы не рекомендуем делать) или по причине не поддерживаемого оборудования, или просто потому, что вы не любите простых путей, потребуется сначала подготовить несколько дискет для установки.
Как минимум, вам потребуется столько 1.44 MB
дискет, сколько нужно, чтобы вместить все файлы из каталога
base
(base distribution). Если
вы подготавливаете эти дискеты из MS-DOS(R), они
должны быть отформатированы с помощью команды
MS-DOS(R) FORMAT
. Если вы используете Windows(R),
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A:
и выберите
<<Format>>).
Не доверяйте заводскому форматированию дискет. Отформатируйте их еще раз самостоятельно, просто для уверенности. Множество проблем, о которых сообщали наши пользователи, были результатом использования неправильно отформатированных дисков, поэтому мы сейчас обращаем на это внимание.
Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему MS-DOS(R) на каждой дискете. Вы можете
использовать 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(R),
скопируйте файлы с дистрибутива в каталог
freebsd
корневого каталога раздела.
Например, c:\freebsd
. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду MS-DOS(R)
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 можно найти в каталоге 10.1/base/.
Все компоненты, которые вы будете устанавливать с раздела
MS-DOS(R) (и для которых у вас есть место), нужно расположить в
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(R) без использования скрипта), все что вам понадобится это
ввести 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 10.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, а также убедиться, что ваше оборудование поддерживается.
В общем, эти инструкции по установке написаны для машин архитектуры i386TM (<<PC-совместимая>>). Там, где это необходимо, будут даны указания для других платформ. Между установщиком и этим документом могут быть незначительные различия, поэтому используйте эту главу как общее руководство, а не как точную пошаговую инструкцию.
Минимальная аппаратная конфигурация, достаточная для установки FreeBSD, зависит от версии FreeBSD и от аппаратной архитектуры.
Краткое изложение этой информации дано в следующих разделах. В зависимости от способа установки FreeBSD вам также может потребоваться поддерживаемый привод CDROM, а в некоторых случаях - сетевой адаптер. Об этом будет сказано в Раздел 3.3.5, <<Подготовка установочного носителя информации>>.
Для FreeBSD/i386 необходим 486 процессор или выше, а также - как минимум 64 МБ ОЗУ. Для самой минимальной установки потребуется не менее 1.1 ГБ свободного места на жестком диске.
Для устаревших компьютеров более эффективным способом повышения производительности является увеличение объема ОЗУ и объема жесткого диска, нежели установка более быстродействующего процессора.
Существует два класса процессоров, на которых может работать FreeBSD/amd64. К первому принадлежат процессоры AMD64, включая AMD AthlonTM64, AMD AthlonTM64-FX, AMD OpteronTM и более новые.
Ко второму классу процессоров, на которых работает FreeBSD/amd64, принадлежат процессоры архитектуры Intel(R) EM64T. Перечень процессоров включает следующие семейства: Intel(R) CoreTM 2 Duo, Quad, Extreme, семейства Intel(R) XeonTM 3000, 5000 и 7000, а также Intel(R) CoreTM i3, i5 и i7.
Если ваш компьютер построен на чипсете nVidia nForce3 Pro-150, то вам необходимо отключить IO APIC в BIOS. Если для этого нет опции в BIOS, отключите ACPI в операционной системе. В чипсете Pro-150 содержатся ошибки, для которых пока не существует исправлений.
Поддерживаются все американские системы Apple(R) Macintosh(R) с встроенным USB. Для многопроцессорных машин есть поддержка SMP.
Ядро (32-бит) может адресовать лишь первые 2 ГБ ОЗУ. На Blue & White PowerMac G3 не поддерживается FireWire(R).
Поддерживаемые 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(R) XP, не совместимы со схемой GPT. Если на один диск необходимо установить FreeBSD совместно с такой операционной системой, то следует воспользоваться схемой MBR.
Стандартному загрузчику FreeBSD необходим первичный раздел (MBR) или GPT раздел. (Обратитесь к Глава 13, Процесс загрузки FreeBSD за более подробной информацией о процессе загрузки FreeBSD.) Если все первичные или GPT разделы уже задействованы, то для FreeBSD один из них необходимо будет освободить.
Минимальная установка FreeBSD занимает ни много ни мало - 1 ГБ дискового пространства. Однако, это очень минимальная установка, практически не оставляющая свободного места. Более реалистичным минимумом является 3 ГБ без графической подсистемы, а если будет использоваться графическая подсистема, то 5 ГБ или более. Свободное пространство также потребуется приложениям от третьих лиц.
Для создания разделов существует разнообразие свободно распространяемых и коммерческих утилит. GParted Live это свободно распространяемый загрузочный дистрибутив, в который включен редактор разделов GParted. Также GParted включен в многие другие дистрибутивы Live CD от Linux.
Утилиты для создания разделов могут повредить ваши данные. Поэтому сделайте полную резервную копию и проверьте её целостность перед модификацией разделов диска.
Определенные трудности составляет изменение размеров разделов Microsoft(R) Vista. В таких случаях может пригодиться установочный CDROM от самой Microsoft(R) Vista.
Компьютер с ОС Windows(R) имеет жесткий диск размером 40 ГБ,
диск разбит на два раздела по 20 ГБ. Windows(R) именует их
дисками C:
и D:
.
На диске C:
данными занято 10 ГБ,
а на диске D:
- 5 ГБ.
Перемещение данных с диска D:
на диск
C:
освобождает второй раздел для установки
FreeBSD.
Компьютер с ОС Windows(R) имеет жесткий диск размером
40 ГБ, на котором создан один большой раздел, занимающий весь
жесткий диск. Windows(R) именует этот раздел диском
C:
. На этом разделе данные занимают
15 ГБ. Конечная цель - отвести для Windows(R) раздел
размером 20 ГБ, а второй раздел размером 20 ГБ
задействовать для установки FreeBSD.
Подобное перераспределение можно выполнить одним из двух способов:
Сделайте резервную копию данных вашей Windows(R). Далее, переустановите Windows(R), создав во время инсталляции раздел размером 20 ГБ.
Используйте утилиту редактирования разделов (наподобие GParted) для уменьшения раздела Windows(R), а в освободившемся пространстве создайте новый раздел для установки 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. Также, в каталоге с файлами установочных
образов находится файл CHECKSUM.SHA256
,
который понадобится вам для проверки целостности скачанного
файла образа. Проверка целостности файла образа производится
сравнением контрольных сумм. Для
подсчета последних FreeBSD предоставляет sha256(1), другие
операционные системы также располагают подобными программами.
Сравните полученную контрольную сумму с одной из
CHECKSUM.SHA256
. Контрольные суммы
должны совпасть полностью. Несовпадение контрольных сумм
значит, что файл поврежден и к использованию
не пригоден.
Если у вас уже имеется копия FreeBSD на CDROM, DVD, или USB флеш-накопителе, то нижеследующий текст можно опустить.
CD- и DVD-образы FreeBSD являются загрузочными. Для установки
необходим один из них. Запишите образ на CD или DVD диск при помощи
программы для записи CD, которая есть в вашей текущей операционной
системе. Во FreeBSD запись дисков осуществляется утилитой
cdrecord(1) из комплекта
sysutils/cdrtools
Коллекции Портов.
Для создания загрузочного флеш-накопителя выполните следующие шаги:
Получение образа для флеш-накопителя
Образы для флеш-накопителя для 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(R)
Image Writer для Windows(R)
- это свободно распространяемое приложение, при помощи
которого можно корректно записать образ на флеш-накопитель.
Скачайте его с
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, вы увидите поток сообщений, подобный следующему (информация о версиях опущена):
Booting from CD-ROM... 645MB medium detected CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.02 Consoles: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 636kB/261056kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \
Отображается меню загрузчика FreeBSD:
Выждите десять секунд или нажмите Enter.
На большинстве машин удерживание клавиши C
на клавиатуре во время начальной загрузки активирует загрузку с CD.
Иначе, удерживайте
Command+Option+O+F,
или
Windows+Alt+O+F
на не-Apple(R) клавиатурах. На приглашение 0 >
введите
boot cd:,\ppc\loader cd:0
Для Xserves без клавиатур, ознакомьтесь с загрузкой в Open Firmware, которая описана на сайте поддержки Apple(R).
Большинство систем Sparc64(R) настроены на автоматическую загрузку с жесткого диска. Для того, чтобы установить FreeBSD, вам потребуется выполнить загрузку по сети или с CDROM, что подразумевает получение доступа к PROM (OpenFirmware).
Для того, чтобы получить доступ к PROM, перегрузите систему и дождитесь появления загрузочных сообщений. Вид сообщений зависит от модели машины, но должен выглядеть подобно следующему:
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Если ваша система продолжает загружаться с жесткого диска, то
чтобы получить приглашение PROM вам необходимо
нажать на клавиатуре L1+A
или Stop+A,
или же послать сигнал BREAK
через последовательную
консоль (используя, например, ~#
в tip(1) или cu(1)). Приглашение выглядит подобно
следующему:
ok
![]()
ok {0}
Приглашение, отображающееся на системах с одним центральным процессором. | |
Приглашение, отображающееся на многопроцессорных (SMP) системах, цифра указывает на количество активных центральных процессоров. |
На этом этапе вставьте CDROM в привод и наберите boot
cdrom
в приглашении PROM.
Выводимые на экран во время начальной загрузки системы последние пару сотен строк сохраняются, и при необходимости могут быть просмотрены.
Чтобы просмотреть содержимое буфера, нажмите Scroll Lock. Это включит режим буфера прокрутки. Далее, для просмотра сохраненных сообщений вы можете использовать клавиши навигации или клавиши PageUp и PageDown. Чтобы выйти из режима просмотра буфера нажмите еще раз Scroll Lock.
Включите прокрутку экранного буфера и просмотрите сообщения, которые были вытеснены с экрана во время определения устройств ядром. Вы увидите текст, подобный к Рисунок 3.2, <<Типичный вывод сообщений определения устройств>>, однако его содержимое будет отличаться в зависимости от комплекта устройств, установленных в ваш компьютер.
Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011 root@psi:/usr/obj/usr/src/sys/GENERIC amd64 CPU: Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz (2527.05-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant, performance statistics real memory = 3221225472 (3072 MB) avail memory = 2926649344 (2791 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <TOSHIB A0064 > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 1 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <TOSHIB A0064> on motherboard acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, b6690000 (3) failed Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0 cpu0: <ACPI CPU> on acpi0 ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282) cpu1: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0 agp0: <Intel GM45 SVGA controller> on vgapci0 agp0: aperture size is 256M, detected 131068k stolen memory vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0 pci0: <simple comms> at device 3.0 (no driver attached) em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0 em0: Using an MSI interrupt em0: Ethernet address: 00:1c:7e:6a:ca:b0 uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0 usbus0: <Intel 82801I (ICH9) USB controller> on uhci0 uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0 usbus1: <Intel 82801I (ICH9) USB controller> on uhci1 uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0 usbus2: <Intel 82801I (ICH9) USB controller> on uhci2 ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0 usbus3: EHCI version 1.0 usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0 hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0 pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0 pci1: <ACPI PCI bus> on pcib1 iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1 pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0 pci4: <ACPI PCI bus> on pcib3 pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci5: <ACPI PCI bus> on pcib4 cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5 cardbus0: <CardBus bus> on cbb0 pccard0: <16-bit PCCard bus> on cbb0 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0 ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported ahcich0: <AHCI channel> at channel 0 on ahci0 ahcich1: <AHCI channel> at channel 1 on ahci0 ahcich2: <AHCI channel> at channel 4 on ahci0 acpi_lid0: <Control Method Lid Switch> on acpi0 battery0: <ACPI Control Method Battery> on acpi0 acpi_button0: <Power Button> on acpi0 acpi_acad0: <AC Adapter> on acpi0 acpi_toshiba0: <Toshiba HCI Extras> on acpi0 acpi_tz0: <Thermal Zone> on acpi0 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model GlidePoint, device ID 0 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 450 Event timer "HPET1" frequency 14318180 Hz quality 440 Event timer "HPET2" frequency 14318180 Hz quality 440 Event timer "HPET3" frequency 14318180 Hz quality 440 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ppc0: cannot reserve I/O port range est0: <Enhanced SpeedStep Frequency Control> on cpu0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 est1: <Enhanced SpeedStep Frequency Control> on cpu1 p4tcc1: <CPU Frequency Thermal Control> on cpu1 Timecounters tick every 1.000 msec hdac0: HDA Codec #0: Realtek ALC268 hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown) pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0 pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0 usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 480Mbps High Speed USB v2.0 ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen2.1: <Intel> at usbus2 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 6 ports with 6 removable, self powered ugen2.2: <vendor 0x0b97> at usbus2 uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2 ugen1.2: <Microsoft> at usbus1 ada0 at ahcich0 bus 0 scbus1 target 0 lun 0 ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad4 ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1 SMP: AP CPU #1 Launched! cd0 at ahcich1 bus 0 scbus2 target 0 lun 0 cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0 UDMA2, ATAPI 12bytes, PIO 8192bytes) cd0: cd present [1 x 2048 byte records] ugen0.2: <Microsoft> at usbus0 ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0 kbd2 at ukbd0 uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0 Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...
Внимательно просмотрите вывод определения устройств и убедитесь,
что 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(R) Macintosh(R). |
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
. Обратитесь к Раздел 19.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. 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
.
За более детальной информацией об управлении учетными записями обратитесь к Раздел 4.3, <<Пользователи и основы управления учетными записями>>.
После того, как установка и конфигурирование завершены, вам предоставляется заключительная возможность подкорректировать настройки.
Используйте это меню для внесения любых изменений или для выполнения дополнительного конфигурирования перед завершением установки.
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.
Типичные сообщения загрузки (информация о версиях опущена):
Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (3007.77-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x10676 Family = 6 Model = 17 Stepping = 6 Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2> Features2=0x209<SSE3,MON,SSSE3> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> real memory = 536805376 (511 MB) avail memory = 491819008 (469 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <VBOX VBOXAPIC> ioapic0: Changing APIC ID to 1 ioapic0 <Version 1.1> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <VBOX VBOXXSDT> on motherboard acpi0: Power Button (fixed) acpi0: Sleep Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 isab0: <PCI-ISA bridge> at device 1.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0 em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0 em0: Ethernet address: 08:00:27:9f:e0:92 pci0: <base peripheral> at device 4.0 (no driver attached) pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0 pcm0: <SigmaTel STAC9700/83/84 AC97 Codec> ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0 usbus0: <OHCI (generic) USB controller> on ohci0 pci0: <bridge> at device 7.0 (no driver attached) acpi_acad0: <AC Adapter> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0 Event timer "RTC" frequency 32768 Hz quality 0 ppc0: cannot reserve I/O port range Timecounters tick every 10.000 msec pcm0: measured ac97 link rate at 485193 Hz em0: link state changed to UP usbus0: 12Mbps Full Speed USB v1.0 ugen0.1: <Apple> at usbus0 uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 cd0 at ata1 bus 0 scbus1 target 0 lun 0 cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present ada0 at ata0 bus 0 scbus0 target 0 lun 0 ada0: <VBOX HARDDISK 1.0> ATA-6 device ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes) ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad0 Timecounter "TSC" frequency 3007772192 Hz quality 800 Root mount waiting for: usbus0 uhub0: 8 ports with 8 removable, self powered Trying to mount root from ufs:/dev/ada0p2 [rw]... Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551. Setting hostid: 0xa03479b2. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation) Mounting local file systems:. vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0 vboxguest: loaded successfully Setting hostname: machine3.example.com. Starting Network: lo0 em0. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 08:00:27:9f:e0:92 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active Starting devd. Starting Network: usbus0. DHCPREQUEST on em0 to 255.255.255.255 port 67 DHCPACK from 10.0.2.2 bound to 192.168.1.142 -- renewal in 43200 seconds. add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib 32-bit compatibility ldconfig path: /usr/lib32 Creating and/or trimming log files. Starting syslogd. No core dumps found. Clearing /tmp (X related). Updating motd:. Configuring syscons: blanktime. Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: 10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com The key's randomart image is: +--[RSA1 1024]----+ | o.. | | o . . | | . o | | o | | o S | | + + o | |o . + * | |o+ ..+ . | |==o..o+E | +-----------------+ Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: 7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com The key's randomart image is: +--[ DSA 1024]----+ | .. . .| | o . . + | | . .. . E .| | . . o o . . | | + S = . | | + . = o | | + . * . | | . . o . | | .o. . | +-----------------+ Starting sshd. Starting cron. Starting background file system checks in 60 seconds. Thu Oct 6 19:15:31 MDT 2011 FreeBSD/amd64 (machine3.example.com) (ttyv0) login:
На медленных машинах генерирование ключей 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 может быть отключена путём установки значения переменной
Это значение сбрасывается каждый раз при загрузке системы,
поэтому строку |
FreeBSD Live CD находится на том же CD диске, что и установочная программа. Это удобно для тех пользователей, которые всё еще размышляют о пригодности для них ОС FreeBSD и желают проверить некоторые функциональные возможности до начала установки.
При работе с Live CD следует учесть следующее:
Для получения доступа к системе необходимо осуществить
аутентификацию. Допустимое имя пользователя -
root
, пароль
- пустой.
Так как система работает непосредственно с CD, производительность будет заметно ниже чем у системы, установленной на жесткий диск.
Live CD предоставляет в распоряжение командную строку, а не графический интерфейс.
В этой главе мы попытаемcя раскрыть основные принципы и команды операционной системы FreeBSD. Большая часть нижеизложенного материала в более или менее равной степени применима к любой UNIX(R)-подобной операционной системе. Если вы уверены, что не найдете здесь ничего нового для себя, можете смело пропустить эту главу. Если же вы новичок, мы настоятельно рекомендуем внимательно прочесть это главу.
Прочитав эту главу, вы узнаете:
Как использовать <<виртуальные консоли>> FreeBSD.
Как работают права доступа на файлы в UNIX(R) и как следует интерпретировать флаги файлов в ОС FreeBSD.
Иерархия каталогов FreeBSD.
Организация дисков FreeBSD.
Как монтировать и размонтировать файловые системы.
Что такое процессы, даемоны и сигналы.
Что такое командная оболочка (или интерпретатор команд) и как настроить личное рабочее окружение.
Как пользоваться стандартными текстовыми редакторами.
Что такое устройства и файлы устройств.
Какие бинарные форматы используются в FreeBSD.
Как пользоваться справочным руководством для получения дополнительной информации.
FreeBSD можно использовать разными способами. Один из них - набор команд в текстовом терминале. Используйте этот способ, и вся гибкость и мощь систем UNIX(R) будет в ваших руках. Этот раздел рассказывает о <<терминалах>>, <<консолях>> и их использовании в FreeBSD.
Если во время установки вы не настроили FreeBSD для автоматического запуска графической среды при загрузке, система запросит ввод логина сразу после завершения стартовых скриптов. Вы увидите примерно следующее:
Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login:
В вашей системе сообщение может быть другим, но очень похожим на это. В данный момент нас интересуют последние две строки. Вторая с конца строка:
FreeBSD/i386 (pc3.example.org) (ttyv0)
В этой строке содержится немного информации о только что загруженной
системе. Это консоль <<FreeBSD>>, работающей на
Intel или совместимом процессоре x86
архитектуры[1]. Имя этого компьютера (у каждого компьютера UNIX(R) есть
имя) pc3.example.org
, и в данный момент вы видите
системную консоль - терминал
ttyv0
.
Наконец, последняя строка всегда:
login:
Здесь вам предлагается ввести <<имя пользователя>>, чтобы войти в FreeBSD. Следующий раздел описывает способ, которым вы можете сделать это.
FreeBSD это многопользовательская, многопроцессорная система. Это формальное описание системы, которая может быть использована множеством разных людей, одновременно запускающих большое количество программ на одном компьютере.
Любой многопользовательской системе нужен способ отличать каждого <<пользователя>> от остальных. В FreeBSD (и всех UNIX(R)-подобных операционных системах), эта задача решается путем <<входа>> пользователя в систему перед запуском каких-либо программ. У каждого пользователя есть уникальное имя (<<имя пользователя>>) и персональный, секретный ключ (<<пароль>>). Перед тем, как разрешить пользователю выполнять какие-либо программы, FreeBSD запрашивает их оба.
Сразу после загрузки FreeBSD и завершения работы стартовых скриптов[2], система предложит вам ввести имя пользователя:
login:
В этом примере, предположим что ваше имя пользователя
john
. Введите john
в этом
приглашении и нажмите Enter. Далее должно появиться
приглашение ввести <<пароль>>:
login: john
Password:
Введите соответствующий имени john
пароль и
нажмите Enter. Пароль не виден!
Не беспокойтесь об этом. Это сделано по соображениям
безопасности.
Если вы ввели пароль правильно, то сразу же войдете в FreeBSD и можете начать выполнять команды.
Вы увидите сообщение дня (MOTD, или message of
the day) за которым последует командная строка (с символом
#
, $
, или %
).
Это означает, что вы успешно вошли в FreeBSD.
Запуск команд UNIX(R) из консоли - это конечно хорошо, но FreeBSD может выполнять множество программ одновременно, поэтому наличие одной консоли может быть недостатком. В таком случае очень полезны <<виртуальные консоли>>.
FreeBSD может быть настроена для работы с несколькими виртуальными консолями. Вы можете переключаться с одной виртуальной консоли на другую, нажимая соответствующие сочетания клавиш на клавиатуре. У каждой консоли есть свой канал вывода и FreeBSD заботится о том, чтобы правильно перенаправить ввод с клавиатуры и вывод на монитор, как только вы переключитесь с одной консоли на другую.
Для переключения между консолями зарезервированы специальные комбинации клавиш[3]. Вы можете использовать сочетания Alt+F1, Alt+F2, до Alt+F8 чтобы переключаться между различными виртуальными консолями в FreeBSD.
При переключении от одной консоли к другой, FreeBSD заботится о сохранении и восстановлении вывода на экран. Результатом является <<иллюзия>> наличия множества <<виртуальных>> экранов и клавиатур, которые могут быть использованы для ввода и запуска команд FreeBSD. Программы, которые вы запускаете на одной виртуальной консоли, не прекращают выполнение, когда консоль становится невидимой. Они продолжают выполняться, когда вы переключаетесь на другую виртуальную консоль.
В конфигурации по умолчанию FreeBSD запускает восемь виртуальных
консолей. Тем не менее, это не ограничение оборудования, и вы можете
легко настроить систему для загрузки большего или меньшего числа
виртуальных консолей. Число и параметры виртуальных консолей задаются
в файле /etc/ttys
.
Вы можете использовать это файл для настройки виртуальных консолей
FreeBSD. Любая не закомментированная строка в этом файле
(строка, не начинающаяся с символа #
), содержит
настройки для одного терминала или виртуальной консоли. Версия этого
файла по умолчанию, поставляемая с FreeBSD, содержит настройки для
девяти
виртуальных консолей и включает восемь терминалов. Это строки, начинающиеся с
ttyv
:
# name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
За детальным описанием каждой колонки этого файла и всех опций, которые можно указать для настройки виртуальных консолей, обращайтесь к ttys(5).
Детальное описание <<однопользовательского режима>>
можно найти в Раздел 13.6.2, <<Однопользовательский режим>>. Стоит отметить, что
при работе FreeBSD в однопользовательском режиме есть только одна
консоль. Виртуальных консолей нет. Установки консоли в
однопользовательском режиме можно найти в файле
/etc/ttys
. Обратите внимание на строку,
начинающуюся с console
:
# name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure
Как сказано в комментариях выше строки console
,
можно отредактировать эту строку и изменить secure
на insecure
. Если вы сделаете это, FreeBSD даже
при загрузке в однопользовательском режиме будет запрашивать пароль
root
.
Будьте осторожны при изменении этого значения на
insecure
. Если вы забудете
пароль root
, загрузка в однопользовательский
режим сильно усложнится. Это все еще возможно, но несколько
более сложно для тех, кто еще не очень освоился с процессом
загрузки FreeBSD и вызова программ.
Установленный по умолчанию размер изображения для консоли FreeBSD может быть изменен до значения 1024x768, 1280x1024, или любого другого, который поддерживается вашим монитором и видеокартой. Для того, чтобы задействовать иной видеорежим, вам прежде всего необходимо будет пересобрать ядро вашей системы, добавив в файл конфигурации две дополнительные опции:
options VESA options SC_PIXEL_MODE
После пересборки и установки ядра воспользуйтесь утилитой vidcontrol(1) для определения видеорежимов, поддерживаемых вашим оборудованием. Чтобы получить перечень видеорежимов, выполните следующую команду:
#
vidcontrol -i mode
Команда отобразит список поддерживаемых видеорежимов. Теперь вы можете выбрать один из них и установить его на консоли при помощи vidcontrol(1):
#
vidcontrol MODE_279
Если новый видеорежим вас устраивает, то его можно определить
устанавливаемым автоматически во время старта системы, для чего
добавьте в /etc/rc.conf
следующую строку:
allscreens_flags="MODE_279"
FreeBSD допускает одновременную работу множества пользователей на одном компьютере. В то время, как только один пользователь может сидеть за клавиатурой и перед экраном в один момент времени, любое количество пользователей может войти в систему через сеть. Для использования системы у каждого пользователя должна быть учетная запись.
В этом разделе описаны:
Разные типы учетных записей в системе FreeBSD.
Как добавлять, удалять и изменять учетные записи пользователей.
Как устанавливать ограничения на использование ресурсов для учетных записей или групп учетных записей.
Как использовать группы для упрощения управлением учетными записями.
Так как доступ к системе FreeBSD осуществляется через учетные записи, и все процессы запускаются пользователями, то управление пользователями и учетными записями является важным аспектом администрирования.
Существует три разновидности учетных записей: системные учетные записи, учетные записи пользователей и суперпользователь.
Системные учетные записи предназначены для запуска сервисов, таких как DNS, почта, веб серверы. Это необходимо по соображениям безопасности; если бы все сервисы работали от суперпользователя, они могли бы действовать без ограничений.
Примеры системных учетных записей:
daemon
,
operator
,
bind
,
news
и
www
.
nobody
это
общепринятая непривилегированная системная учетная запись.
Однако, чем больше сервисов используют nobody
, тем больше файлов
и процессов связано с этим пользователем, и следовательно
тем больше привилегий появляется у этого пользователя.
Учетные записи пользователей служат для предоставления доступа к системе обычным людям. Каждый человек, имеющий доступ к системе, должен иметь уникальную учетную запись пользователя. Это позволяет администратору выяснять кто что делает и предотвращает сбивание одним пользователем настроек других пользователей.
Каждый пользователь посредством выбора оболочки, редактора, привязок клавиш и настроек языка может настраивать свою собственную рабочую среду для приспособления системы под свои нужды.
С каждой учетной записью в системе FreeBSD связана определенная идентификационная информация:
Имя пользователя вводится в приглашение
login:
. Имена пользователей должны
быть уникальны. Существует множество правил для
создания допустимых имен пользователей,
документированных в passwd(5). Рекомендуется
составлять имена пользователей из восьми или меньшего
количества символов в нижнем регистре, чтобы
поддерживать обратную совместимость с
приложениями.
С каждой учетной записью связан пароль.
Идентификатор пользователя (UID) - это номер, используемый для однозначной идентификации пользователя в системе FreeBSD. Любая команда, принимающая в качестве аргумента имя пользователя, первым делом преобразует его к UID. Рекомендуется выбирать значения UID, не превышающие 65535, так как большие значения могут вызывать проблемы совместимости для некоторых пользовательских программ.
Идентификатор группы (GID) - это номер, используемый для однозначной идентификации главной группы, к которой принадлежит пользователь. Группы это механизм для контроля доступа к ресурсам на основе GID пользователя вместо его UID. Это может значительно уменьшить размер некоторых файлов настройки. Кроме того, пользователь может быть включен более чем в одну группу. Рекомендуется использовать значения GID, не превышающие 65535, так как большие значения могут стать проблемой для некоторых программ.
Классы доступа это расширение к механизму групп, позволяющее более гибко приспосабливать систему для различных пользователей. Классы доступа описаны в Раздел 4.3.3, <<Ограничение пользователей>>.
По умолчанию пароли не устаревают. Однако, есть возможность ограничить срок действия текущего пароля пользователя, и тем самым обязать его обновить пароль.
По умолчанию во FreeBSD время действия учетных записей не ограничено. При создании учетных записей ограниченного срока действия, например для студентов в учебном заведении, при помощи pw(8) укажите дату истечения действия учетной записи. После наступления указанной даты учетная запись становится непригодной для входа в систему, хотя каталоги и файлы этой учетной записи останутся нетронутыми.
Имя пользователя является уникальным идентификатором учетной записи в FreeBSD, однако оно не обязано соответствовать реальному имени пользователя. Это поле может содержать реальное имя пользователя. Здесь допустимы пробелы, символы подчеркивания, строка не ограничена до 8 символов.
Домашний каталог определяется полным путем в
системе. С него пользователь начнет работу после
входа в систему. По общепринятому соглашению все
домашние каталоги пользователей помещаются в
/home/username
или
/usr/home/username
. Пользователи
хранят личные файлы и подкаталоги в своих домашних
каталогах.
Оболочка необходима пользователям как средство взаимодействия с системой. Существует множество различных видов оболочек, опытные пользователи работают с собственными настройками, которые могут быть отражены в установках их учетных записей.
Учетная запись суперпользователя, обычно называемая
root
, используется
для управления системой без ограничения привилегий. Поэтому
она не должна использоваться для повседневных задач, таких
как получение и отправка почты, общее исследование системы
или программирование.
Суперпользователь, в отличие от обычных пользователей, может работать без ограничений и поэтому неправильное использование учетной записи суперпользователя может привести к полному уничтожению системы. Учетные записи пользователей не способны уничтожить систему вследствие ошибки, поэтому если нет необходимости в привилегиях суперпользователя, то лучше использовать учетные записи обычных пользователей везде, где это возможно.
Всегда перепроверяйте и переперепроверяйте команды, выполняемые под учетной записью суперпользователя, поскольку даже один лишний пробел или отсутствующий символ может привести к безвозвратной потере данных.
Есть несколько способов получения привилегий
суперпользователя. Наименее удобный способ - войти в
систему под учетной записью root
.
Вместо этого можно воспользоваться su(1). Если при
запуске этой команды указывается ключ -
,
пользователь получит настройки окружения учетной записи
root
.
Пользователь, запускающий эту команду, обязан входить в
группу wheel
, в
противном случае команда не выполнится. Пользователь также
должен знать пароль учетной записи root
.
В следующем примере пользователь повышает привилегии для
запуска команды make install
, так как
этот шаг требует прав суперпользователя. По завершении
работы команды пользователь набирает
exit
, тем самым выходя из учетной записи
суперпользователя и возвращая привилегии собственной учетной
записи.
%
configure
%
make
%
su -
Password:#
make install
#
exit
%
Утилита su(1) прекрасно подходит для одиночных систем или небольших сетей с единственным системным администратором. В качестве альтернативы ей следует упомянуть порт или пакет security/sudo. Эта утилита предоставляет журналирование активности, а также позволяет администратору указывать перечень утилит, доступных пользователю для запуска с правами суперпользователя.
FreeBSD располагает набором различных команд для работы с учетными записями пользователей. Таблица 4.1, <<Утилиты для управления учетными записями>> перечисляет наиболее часто используемые команды, ниже находятся примеры их использования. За исчерпывающей информацией по каждой утилите следует обратиться к соответствующим страницам справочников.
Команда | Краткое описание |
---|---|
adduser(8) | Рекомендуемое приложение командной строки для добавления новых пользователей. |
rmuser(8) | Рекомендуемое приложение командной строки для удаления пользователей. |
chpass(1) | Гибкий инструмент для изменения информации в базе данных пользователей. |
passwd(1) | Инструмент командной строки для изменения паролей пользователей. |
pw(8) | Мощный и гибкий инструмент для изменения любой информации, связанной с учетными записями пользователей. |
Для добавления новых пользователей рекомендуется
использовать adduser(8). При добавлении нового
пользователя программа автоматически обновляет
/etc/passwd
и
/etc/group
. Она также создает домашний
каталог для нового пользователя, копируя файлы настройки по
умолчанию из /usr/share/skel
, и может
отправлять новому пользователю приветственное сообщение
электронной почтой. Эту утилиту необходимо запускать с
правами суперпользователя.
Утилита adduser(8) является интерактивной. Для
создания новой учетной записи потребуется ответить на
несколько вопросов. Как показано в Пример 4.2, <<Добавление пользователя в FreeBSD>>, ответом считается либо
ввод необходимой информации, либо нажатие клавиши
Return для принятия значения по умолчанию,
которое показано в квадратных скобках. В этом примере
пользователь включен в группу wheel
, что дает возможность
ему повышать привилегии до суперпользователя при помощи
su(1). На последнем шаге утилита предложит создать
еще одну учетную запись или завершить работу.
#
adduser
Username:jru
Full name:J. Random User
Uid (Leave empty for default): Login group [jru]: Login group is jru. Invite jru into other groups? []:wheel
Login class [default]: Shell (sh csh tcsh zsh nologin) [sh]:zsh
Home directory [/home/jru]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : jru Password : **** Full Name : J. Random User Uid : 1001 Class : Groups : jru wheel Home : /home/jru Shell : /usr/local/bin/zsh Locked : no OK? (yes/no):yes
adduser: INFO: Successfully added (jru) to the user database. Add another user? (yes/no):no
Goodbye!#
При наборе пароля текст не отображается, поэтому постарайтесь не допускать опечаток в пароле при создании учетной записи.
Для полного удаления пользователя из системы запустите rmuser(8) с правами суперпользователя. Эта программа выполняет следующие действия:
Если в crontab(1) существуют записи пользователя, то они удаляются.
Удаляются принадлежащие пользователю задачи at(1).
Уничтожаются все процессы, принадлежащие пользователю.
Удаляется запись пользователя из локального файла паролей.
Если домашний каталог принадлежит пользователю, то каталог удаляется.
Удаляется принадлежащая пользователю входящая почта
из /var/mail
.
Удаляются все файлы, принадлежащие пользователю, из
каталогов с временными файлами, например из
/tmp
.
Наконец, в /etc/group
из всех
групп удаляется имя пользователя. Если после этого
удаления группа остается пустой и имя группы совпадает с
именем пользователя, она удаляется. Это необходимо для
удаления пользовательских уникальных групп, создаваемых
adduser(8).
rmuser(8) не может использоваться для удаления учетной записи суперпользователя, поскольку это почти всегда означает разрушение системы.
По умолчанию используется интерактивный режим, это показано в следующем примере.
rmuser
#
rmuser jru
Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh Is this the entry you wish to remove?y
Remove user's home directory (/home/jru)?y
Removing user (jru): mailspool home passwd.#
При помощи chpass(1) любой пользователь может изменять информацию, связанную с его учетной записью. И только суперпользователю разрешено менять информацию других пользователей.
При запуске без параметров (кроме необязательного имени пользователя), chpass(1) вызывает редактор, содержащий информацию о пользователе. Когда пользователь выходит из редактора, база данных пользователей обновляется новой информацией.
Если утилита не была запущена с правами суперпользователя, то после выхода из редактора будет запрошен пароль пользователя.
В Пример 4.4, <<Работа с chpass
с правами
суперпользователя>>
суперпользователь, выполнив команду
chpass jru
, просматривает доступные для
изменения поля. Если
jru
запустит эту
команду, то лишь последние шесть строк будут доступны ему
для редактирования. Это показано в
Пример 4.5, <<Работа с chpass
с правами обычного
пользователя>>.
chpass
с правами
суперпользователя#Changing user database information for jru. Login: jru Password: * Uid [#]: 1001 Gid [# or name]: 1001 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
chpass
с правами обычного
пользователя#Changing user database information for jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
chfn(1) и chsh(1) это ссылки на
chpass(1), как и ypchpass(1), ypchfn(1) и
ypchsh(1). Так как NIS
поддерживается автоматически, указание
yp
перед командой не обязательно.
Настройка NIS будет рассмотрена в
Глава 25, Сетевые серверы.
Любой пользователь может изменить собственный пароль при помощи passwd(1). Для предотвращения случайного или несанкционированного изменения, команда запрашивает текущий пароль пользователя перед установкой нового:
%
passwd
Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
Суперпользователь может изменить пароль любого пользователя, указав его имя при запуске passwd(1). Утилита, запущенная с правами суперпользователя, не запрашивает текущий пароль пользователя. Благодаря этому возможно устанавливать новые пароли забывчивым пользователям.
#
passwd jru
Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done
Как и в случае с chpass(1), yppasswd(1) это всего лишь ссылка на passwd(1), так что NIS работает с обеими командами.
pw(8) это утилита командной строки для создания, удаления, модифицирования и отображения пользователей и групп. Она функционирует как внешний интерфейс к системным файлам пользователей и групп. У pw(8) очень мощный набор параметров командной строки, что делает это программу подходящей для использования в shell скриптах, но новым пользователям она может показаться более сложной, чем другие представленные здесь команды.
FreeBSD предоставляет администратору несколько способов ограничения количества занимаемых пользователями системных ресурсов. Дисковые квоты, как один из видов ограничения ресурсов, обсуждаются в отдельном разделе, остальные ограничения перечислены далее в тексте.
Дисковые квоты ограничивают объем дискового пространства, занимаемого пользователями, а также предоставляют способ быстрой проверки занимаемого объема без пересчета его каждый раз. Квоты обсуждаются в Раздел 17.15, <<Квотирование файловых систем>>.
Другие ограничения ресурсов включают способы ограничения использования CPU, памяти и других ресурсов, которые могут потребляться пользователем. Ограничения накладываются с помощью классов учетных записей и обсуждаются в этом разделе.
Классы учетных записей определяются в
/etc/login.conf
, они детально описаны на
странице справочника login.conf(5). Каждой учетной
записи присвоен класс (default
по
умолчанию), и каждому классу присвоен набор характеристик.
Характеристика определяется в виде пары
имя=значение
,
где имя
это определенный
идентификатор, а значение
это
произвольная строка, обрабатываемая в зависимости от
имени
. Настройка классов и
характеристик довольно проста, и также описана в
login.conf(5).
FreeBSD, как правило, не читает настройки в
/etc/login.conf
непосредственно,
вместо этого она обращается к файлу базы данных
/etc/login.conf.db
для ускорения
доступа к данным. Всякий раз после редактирования
/etc/login.conf
необходимо обновить
/etc/login.conf.db
при помощи следующей
команды:
#
cap_mkdb /etc/login.conf
Ограничения на ресурсы отличаются от обычных характеристик: во-первых, для каждого ограничения существует <<мягкое>> (текущее) и <<жесткое>> ограничение. Мягкое ограничение может настраиваться пользователем или приложением, но не может превышать жесткое ограничение. Последнее может быть уменьшено пользователем, а увеличено - лишь суперпользователем. Во-вторых, большинство ограничений ресурсов накладываются на каждый процесс определенного пользователя, а не к пользователю вообще. Эти различия диктуются особенностями обработки ограничений, а не реализацией структуры характеристик учетных записей.
Ниже приведен список наиболее часто используемых ограничений на ресурсы. Остальные, вместе с другими характеристиками, можно найти в login.conf(5).
coredumpsize
Ограничение на размер файла дампа памяти
,
генерируемого программой, подчиняющееся другим
ограничениям
на используемое дисковое пространство, таким как
filesize
, или дисковым квотам. Это
ограничение часто используется как менее строгий метод
контролирования потребления дискового пространства.
Поскольку пользователь не создает файлы дампов памяти
самостоятельно, и зачастую не удаляет их, установка этого
параметра может предохранить пользователя от выхода за
пределы ограничений на дисковое пространство, в случае
если большая программа создаст файл аварийного дампа
памяти.
cputime
Это максимальное количество времени ЦПУ, потребляемого пользователем. Превысившие это время процессы будут уничтожены ядром.
filesize
Это максимальный размер файла , которым может владеть пользователь. В отличие от дисковых квот, это ограничение применяется к отдельным файлам, а не ко всему набору принадлежащих пользователю файлов.
maxproc
Это максимальное число процессов
,
которые могут быть запущены пользователем. В это число
включаются и консольные, и фоновые процессы. Это
ограничение не может превышать системный лимит,
указываемый через переменную sysctl(8)
kern.maxproc
. Установка слишком
жестких ограничений может стать помехой работе
пользователя: зачастую ему удобно входить в систему с
нескольких консолей или использовать каналы. Некоторые
задачи, такие как компиляция большой программы,
порождают множество процессов.
memorylocked
Это максимальный объем памяти , блокировка которого может быть запрошена процессом при помощи mlock(2). Некоторые критически важные для системы программы, такие как amd(8), блокируют отведенную процессу память так, что в случае <<пробуксовывания>> системы (system thrashing) они не усугубляют проблему.
memoryuse
Это максимальный объем памяти , которая может быть занята процессом в любой момент времени. Сюда входит основная память и использование подкачки. Это ограничение не снимает все вопросы, связанные с использованием памяти, но для начала это подходящее ограничение.
openfiles
Это максимальное количество файлов, которые могут
быть открыты
процессом. В FreeBSD файлы также используются для
представления сокетов и каналов IPC, поэтому не
устанавливайте слишком маленькое значение. Ограничение
этого параметра, устанавливаемое для всей системы,
определяется переменной sysctl(8)
kern.maxfiles
.
sbsize
Это ограничение на объем сетевой памяти, т.е. mbufs , которую может занять пользователь. В общем, это ограничение может быть использовано для ограничения сетевых взаимодействий.
stacksize
Это максимальный размер сегмента стека процесса. Сам по себе этот параметр не может ограничить размер используемой программой памяти, следовательно, его необходимо использовать вместе с другими ограничениями.
Существуют несколько других аспектов, которые необходимо учитывать при установке ограничений ресурсов. Ниже приведены некоторые общие подсказки, советы и различные комментарии.
Процессам, загружаемым при старте системы скриптами
/etc/rc
присваивается класс
daemon
.
Хотя поставляемый с системой
/etc/login.conf
- это хороший
источник корректных значений для большинства ограничений,
сами ограничения могут не подходить для конкретной
системы. Установка слишком слабых ограничений может
повлечь злоупотребления системой, а установка слишком
сильных ограничений может стать помехой
производительности.
Пользователи Xorg возможно должны получить больше ресурсов, чем другие пользователи. Xorg сама по себе потребляет много ресурсов, а также провоцирует пользователей на одновременный запуск большего количества программ.
Многие ограничения применяются к отдельным
процессам, а не к пользователю вообще. Например,
установка openfiles
в 50 означает, что
каждый процесс, запущенный пользователем, может открывать
до 50 файлов. Общее количество файлов, которые могут
быть открыты пользователем, вычисляется как
openfiles
, умноженное на
maxproc
. Это также применимо к
потребляемой памяти.
За дальнейшей информацией по ограничениям на ресурсы, классам учетных записей и характеристикам, обращайтесь к cap_mkdb(1), getrlimit(2), и login.conf(5).
Группа это список пользователей. Группа идентифицируется по имени и GID (Group ID). В FreeBSD для определения прав процесса ядро использует UID процесса, а также список групп, которым он принадлежит. В большинстве случаев, GID пользователя означает первую группу из списка.
Имена групп связываются с GID в файле
/etc/group
. Это текстовый файл с
четырьмя разделенными двоеточием полями. Первое поле это имя
группы, второе это зашифрованный пароль, третье это
GID, а четвертое это разделенный запятыми
список членов группы. За более полным описанием синтаксиса
обратитесь к group(5).
Суперпользователь может редактировать
/etc/group
при помощи текстового
редактора. Как вариант, можно задействовать pw(8) для
добавления и редактирования групп. Например, для добавления
группы, называемой
teamtwo
, и проверки
ее существования вы можете использовать:
#
pw groupadd teamtwo
#
pw groupshow teamtwo
teamtwo:*:1100:
В этом примере число 1100
это
GID группы teamtwo
. На данный момент в
teamtwo
нет членов.
Следующая команда добавит
jru
в группу
teamtwo
.
#
pw groupmod teamtwo -M jru
#
pw groupshow teamtwo
teamtwo:*:1100:jru
Аргумент к параметру -M
это разделенный
запятыми список пользователей, которые добавляются в новую
(пустую) группу или заменяют существующих членов группы. Что
касается пользователя - это членство в группе отличается
от первичной группы пользователя, указанного в файле паролей.
Это значит, что пользователь не будет показан как член группы
при использовании pw(8) groupshow
, но
будет отображен при использовании id(1) или похожего
инструмента. Когда программа pw(8) задействована для
добавления пользователя в группу, то она работает только с
файлом /etc/group
и не ищет
дополнительную информацию в файле
/etc/passwd
.
#
pw groupmod teamtwo -m db
#
pw groupshow teamtwo
teamtwo:*:1100:jru,db
В этом примере аргументом к опции -m
является разделенный запятыми список пользователей,
добавляемых в группу. В отличие от предыдущего примера,
пользователи добавляются в группу, а не замещают имеющийся
список пользователей группы.
%
id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)
В этом примере jru
является членом групп
jru
и
teamtwo
.
За дальнейшей информацией об этой команде и о формате
файла /etc/group
обратитесь к pw(8)
и group(5).
FreeBSD является прямым потомком BSD UNIX(R) и основывается на некоторых ключевых концепциях UNIX(R). В первую очередь это, конечно, тот факт, что FreeBSD - многопользовательская операционная система. Это означает, что несколько пользователей могут работать одновременно, решая различные задачи и совершенно не мешая друг другу. На системе лежит ответственность за правильное разделение и управление такими ресурсами как память, процессорное время, периферийные устройства и прочее.
Многопользовательская среда предполагает наличие механизма регулирования прав доступа к любому ресурсу в системе. Существует три типа прав доступа: на чтение, запись и исполнение. Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное представление:
Значение | Права доступа | Список файлов каталога |
---|---|---|
0 | Ничего не разрешено | --- |
1 | Нельзя читать и писать, разрешено исполнять | --x |
2 | Нельзя читать и исполнять, разрешено писать | -w- |
3 | Нельзя читать, разрешено писать и исполнять | -wx |
4 | Разрешено читать, нельзя писать и исполнять | r-- |
5 | Разрешено читать и исполнять, нельзя писать | r-x |
6 | Разрешено читать и писать, нельзя исполнять | rw- |
7 | Разрешено все | rwx |
Вы можете использовать опцию -l
команды
ls(1) для получения подробного листинга каталога, включающего
колонку с информацией о правах на файл для владельца, группы и
всех остальных. Например, команда ls -l
в произвольном каталоге может вывести следующее:
%
ls -l
total 530 -rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile -rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ...
Вот как выглядит первая колонка вывода
ls -l
:
-rw-r--r--
Первый (считая слева) символ говорит обычный ли это файл, каталог,
символьное устройство, сокет или любое другое псевдо-файловое
устройство. В нашем случае -
указывает на обычный
файл. Следующие три символа (в данном случае это rw-
)
задают права доступа владельца файла. Затем идут права группы,
которой принадлежит файл (r--
). Последняя тройка
(r--
) определяет права для всех остальных. Минус
означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни
выполнять). В данном случае права установлены таким образом, что
владелец может читать и писать в файл, а группа и другие могут только
читать. Таким образом, численное представление прав
644
, где каждая цифра представляет три части
прав на файл.
Права на устройства контролируются аналогичным образом. В
FreeBSD все устройства представлены в виде файлов, которые можно
открывать, читать и писать в них. Эти специальные файлы содержатся в
каталоге /dev
.
Каталоги также являются файлами. К ним применимы
те же права на чтение, запись и выполнение. Правда, в данном случае
<<выполнение>> имеет несколько другой смысл. Когда
каталог помечен как <<исполнимый>>, это означает, что
можно <<зайти>> в него (с помощью команды
cd
, change directory). Это также означает, что в данном каталоге
можно получить доступ к файлам, имена которых известны (конечно,
если собственные права на файл разрешают такой доступ).
Если же требуется получить список файлов в некотором каталоге, права доступа на него должные включать доступ на чтение. Для того, чтобы удалить из каталога какой-либо файл, имя которого известно, на этот каталог должны быть даны права на запись и на исполнение.
Существуют и другие права доступа, но они как правило используются в особых случаях, например, setuid-бит на выполняемые файлы и sticky-бит на каталоги. За дополнительными сведениями по этому вопросу обращайтесь к chmod(1).
Символические обозначения, иногда называемые символическими выражениями, используют буквы вместо восьмеричных значений для назначения прав на файлы и каталоги. Символические выражения используют синтаксис (кто) (действие) (права), где существуют следующие значения:
Опция | Буква | Значение |
---|---|---|
(кто) | u | Пользователь (User) |
(кто) | g | Группа (Group) |
(кто) | o | Другие (Other) |
(кто) | a | Все (All, <<world>>) |
(действие) | + | Добавление прав |
(действие) | - | Удаление прав |
(действие) | = | Явная установка прав |
(права) | r | Чтение (Read) |
(права) | w | Запись (Write) |
(права) | x | Выполнение (Execute) |
(права) | t | Sticky бит |
(права) | s | SUID или SGID |
Эти значения используются командой chmod(1) так же
как и раньше, но с буквами. Например, вы можете использовать
следующую команду для запрета доступа других пользователей к
FILE
:
%
chmod go= FILE
Для изменения более чем одного набора прав можно применить список,
разделенный запятыми. Например, следующая команда удалит права группы
и <<всех остальных>> на запись в
FILE
, а затем добавит права на выполнение для
всех:
%
chmod go-w,a+x
FILE
Кроме уже описанных прав доступа к файлам, FreeBSD поддерживает использование <<флагов файлов>>. Эти флаги обеспечивают дополнительный уровень защиты и контроля над файлами, но не могут применяться к каталогам.
Эти флаги добавляют дополнительные возможности контроля над
файлами, обеспечивая (при определенных условиях) невозможность их
удаления или изменения даже пользователю root
.
Файловые флаги изменяются при помощи утилиты chflags(1)
посредством простого интерфейса. К примеру, чтобы установить
системный признак неудаляемости на файл file1
,
выполните следующую команду:
#
chflags sunlink file1
Чтобы отключить флаг неудаляемости, просто выполните предыдущую
команду с ключом <<no>> перед параметром
sunlink
. Вот так:
#
chflags nosunlink file1
Чтобы просмотреть флаги этого файла, воспользуйтесь командой
ls(1) с параметрами -lo
:
#
ls -lo file1
Результат выполнения команды должен выглядеть примерно так:
-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1
Некоторые флаги могут быть установлены или сняты с файлов только
пользователем root
. В остальных случаях эти флаги
может установить владелец файла. Для получения дополнительной
информации мы рекомендуем изучить содержимое справки по командам
chflags(1) и chflags(2).
В дополнение к рассмотренным выше правам доступа и флагам файлов
необходимо также упомянуть еще три бита прав доступа, о которых должны
знать все системные администраторы. Это такие биты, как
setuid
, setgid
и
sticky
.
Эти биты играют важную роль в определённых моментах работы UNIX(R), так как они предоставляют функциональность, расширяющую права обычного пользователя. Чтобы понять как они работают, необходимо определить различие между реальным идентификатором пользователя (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
-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh
В вышеприведенной строке приметно то, что в перечне прав доступа
для владельца файла присутствует символ s
,
который заменил собой бит выполнения.
Чтобы посмотреть setuid
в действии,
откройте два терминала. На одном из них запустите команду
passwd
с правами обычного пользователя. Пока
утилита ждет ввода нового пароля, просмотрите таблицу процессов
и найдите в ней запись о процессе passwd
.
В терминале А:
Changing local password for trhodes Old Password:
В терминале Б:
#
ps aux | grep passwd
trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd
Как уже было сказано, утилита passwd
запущена
с правами обычного пользователя, но ее действующий
UID - root
.
Действие бита setgid
подобно действию
setuid
; отличие заключается в том, что изменяются
настройки прав для группы. Когда выполняется приложение (или утилита)
с установленным битом setgid
, то ему (ей)
будут обеспечены права в соответствии с группой владельца файла,
а не с группой пользователя, запустившего процесс.
Чтобы установить на файл бит setgid
,
выполните команду chmod
, добавив цифру два (2)
перед численным представлением прав доступа, например:
#
chmod 2755 sgidexample.sh
Новый бит отображается подобно предыдущему случаю: обратите
внимание на наличие s
в перечне прав доступа
для группы:
-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh
В этих примерах, несмотря на то, что сценарий оболочки является исполняемым файлом, он не будет выполняться с другим действующим идентификатором пользователя (EUID). Так происходит потому, что сценариям командного интерпретатора недоступен системный вызов setuid(2).
Позволяя расширять права пользователя, оба бита прав доступа
(setuid
и setgid
) могут привести
к снижению безопасности системы. Третий обсуждаемый здесь бит
- sticky
- способствует повышению
безопасности системы.
Бит sticky
, будучи установленным на каталог,
позволяет производить удаление файла только владельцу файла. Этот
бит применяется для предотвращения удаления файлов в публичных
каталогах, таких как /tmp
,
пользователями, не владеющими файлом. Чтобы задействовать этот
бит, добавьте единицу (1) перед численным представлением прав
доступа. Например:
#
chmod 1777 /tmp
Проверить результат можно при помощи команды
ls
:
#
ls -al / | grep tmp
drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp
Отличительной особенностью бита sticky
является наличие символа t
в самом конце перечня
прав.
Файловая система FreeBSD является ключевым моментом в понимании устройства всей системы. Самым важным понятием является, несомненно, корневой каталог, обозначаемый символом <</>>. Корневой каталог монтируется самым первым на этапе загрузки и содержит все необходимое, чтобы подготовить систему к загрузке в многопользовательский режим. Корневой каталог также содержит точки монтирования для остальных файловых систем, которые монтируются во время перехода в многопользовательский режим.
Точкой монтирования называется каталог, находящийся
в родительской (обычно - корневой) файловой системе, к которому
может быть подсоединена другая файловая система.
Более детально это описывается в Раздел 4.6, <<Организация дисков>>.
Стандартные точки монтирования включают /usr
,
/var
, /tmp
,
/mnt
и
/cdrom
. Эти каталоги обычно перечислены в
файле /etc/fstab
, в котором указаны файловые
системы и их точки монтирования. Большинство файловых систем,
описанных в /etc/fstab
монтируются автоматически
из скрипта rc(8), если только для них не указана опция
noauto
. Более детальная информация находится в
Раздел 4.7.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(R) использует \
для разделения имен
файлов и каталогов, а Mac OS(R) использует :
.
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(R), это похоже, хотя и не идентично,
команде join
.
Как правило, это не должно вас интересовать. Обычно вы создаете файловые системы во время установки FreeBSD, решаете куда их монтировать, и ничего не меняете, пока не понадобится добавить новый диск.
Можно создать одну большую корневую файловую систему и не создавать других. У такого подхода есть несколько недостатков и одно преимущество.
Различные файловые системы могут иметь различные
опции монтирования. Например,
в целях безопасности корневая файловая система может
быть смонтирована только для чтения, что делает
невозможным случайное удаление или редактирование
критически важного файла. Отделение файловых систем,
используемых пользователями для записи, таких как
/home
, от других файловых
систем позволяет также монтировать их с параметром
nosuid; этот параметр отменяет
действие битов suid/
guid на исполняемых файлах,
в этой файловой системе, что потенциально повышает
безопасность.
FreeBSD автоматически оптимизирует расположение файлов на файловой системе в зависимости от того, как файловая система используется. Файловая система, содержащая множество мелких часто записываемых файлов, будет иметь оптимизацию, отличную от таковой для файловой системы, содержащей несколько больших файлов. На одной большой файловой системе эта оптимизация не работает.
Файловые системы FreeBSD очень устойчивы к внезапному отключению. Тем не менее, потеря питания в критический момент все же может повредить структуру файловой системы. Разделение данных на несколько файловых систем повышает шансы, что система все-таки будет работать и делает более легким восстановление с резервной копии.
Размер файловых систем фиксирован. Если вы создаете файловую систему при установке FreeBSD и задаете определенный размер, позднее вы можете обнаружить что нужен раздел большего размера. Это не так легко сделать без резервного копирования, создания файловых систем нового размера и последующего восстановления сохраненных данных.
В FreeBSD представлена команда growfs(8), которая позволяет увеличивать размер файловой системы на лету, устраняя это ограничение.
Файловые системы содержатся в разделах. Этот термин не имеет
того же смысла, что и при более раннем его использовании в этой главе,
из-за наследия UNIX(R) в FreeBSD. Каждый раздел обозначается буквой
от a
до h
. Каждый раздел может
содержать только одну файловую систему, это значит что файловая система
может быть описана ее точкой монтирования в файловой иерархии,
или буквой раздела, в котором она содержится.
FreeBSD также использует дисковое пространство под раздел подкачки (swap space). Подкачка позволяет FreeBSD работать с виртуальной памятью. Ваш компьютер может работать так, как если бы у него было больше памяти, чем есть на самом деле. Когда у FreeBSD кончается память, она перемещает часть данных, не используемых в данный момент, в раздел подкачки и возвращает их обратно (перемещая в подкачку что-то другое), когда они нужны.
По некоторым разделам есть определенные соглашения.
Раздел | Соглашение |
---|---|
a | Как правило, содержит корневую файловую систему |
b | Как правило, содержит раздел подкачки |
c | Как правило, такого же размера, что и весь слайс (slice).
Это позволяет утилитам, которым нужно работать над всем
слайсом (например, сканер плохих блоков), работать с
разделом c . В обычной ситуации не нужно
создавать файловую систему на этом разделе. |
d | Раздел d создавался для специальных
целей, хотя сейчас они не актуальны и d
может быть задействован как обычный раздел. |
Каждый раздел-содержащий-файловую-систему хранится на том, что во FreeBSD называется слайс (slice). Слайс - это термин FreeBSD, то, что обычно называют разделом, и опять же это из-за UNIX(R) основы FreeBSD. Слайсы нумеруются с 1 по 4.
Номера слайсов следуют за именем устройства, предваряемые
строчной s
, начиная с 1. Так
<<da0s1>> это первый слайс первого
SCSI устройства. Может быть только четыре физических слайса на диске,
но могут быть логические слайсы нужного типа внутри физических
слайсов. Эти дополнительные
слайсы нумеруются начиная с 5, так что
<<ad0s5>> это первый дополнительный
слайс на первом IDE диске. Эти устройства используются файловыми
системами, занимающими весь слайс.
Слайсы, <<эксклюзивно выделенные (dangerously dedicated)>> физические устройства
и другие устройства содержат разделы,
представляемые буквами от a
до h
.
Эти буквы добавляются к имени устройства.
<<da0a>> это раздел a на первом
устройстве da, который <<эксклюзивно выделен>>.
<<ad1s3e>> это пятый раздел
в третьем слайсе второго IDE диска.
Наконец, каждый диск идентифицирован. Имя диска начинается с кода, обозначающего тип диска, затем идет номер диска. В отличие от слайсов, нумерация дисков начинается с 0. Основные коды, которые вам могут встретиться, есть в Таблица 4.2, <<Коды дисковых устройств>>.
В то время, как ссылка на раздел FreeBSD требует также указания
слайса и диска, содержащего раздел, ссылка на слайс требует также
указания имени диска. Другими словами, ссылаясь на раздел,
указывайте имя диска, s
, номер слайса, и затем
букву раздела. Примеры показаны в
Пример 4.12, <<Пример имен диска, слайса, и раздела>>.
Пример 4.13, <<Концептуальная модель диска>> показывает концептуальную модель диска, которая должна помочь прояснить ситуацию.
Для установки 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(R) разделы). Первый слайс содержит
MS-DOS(R) диск, 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
следующий (файловые системы перечисляются построчно):
устройство
/точка-монтирования
тип файловой системы
опции
частота дампов
порядок проверки
устройство
Имя устройства (которое должно присутствовать), как описано в Раздел 17.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(R) требует почти 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(R), 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(R), попробуйте
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
, где
filename
filename
имя
редактируемого файла. Например, для редактирования файла
/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(R) доступ к большинству этих устройств можно получить через
специальные файлы устройств, расположенные в каталоге
/dev
.
При добавлении в систему нового устройства, или добавлении поддержки дополнительных устройств, потребуется создать один или несколько файлов устройств для нового оборудования.
Device filesystem, или DEVFS
, предоставляет
доступ к пространству устройств ядра через общую файловую систему.
Вместо создания и модификации файлов устройств,
DEVFS
создает специальную файловую систему.
Обращайтесь к devfs(5) за дополнительной информацией.
Для понимания того, почему FreeBSD использует формат elf(5), вам потребуется сначала немного узнать о трех <<доминирующих>> исполняемых форматах для UNIX(R):
Старейший и <<классический>> объектный формат UNIX(R). Он использует короткий и компактный заголовок с магическим числом в начале, которое часто используется для описания формата (смотрите 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 близок по стилю к механизму
разделяемых библиотек SunOSTM от Sun, и поэтому очень прост в
использовании.
Итак, почему так много разных форматов?
Давно, в темном далеком прошлом, оборудование было простым.
Это простое оборудование поддерживало простые, маленькие системы.
a.out
был совершенно адекватен задаче представления
бинарных файлов на таких простых системах (PDP-11). Люди, портировавшие
UNIX(R) с этих простых систем, оставили a.out
формат потому, что он был достаточен для ранних портов UNIX(R) на
архитектуры, подобные 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(R)-систему выглядит примерно так:
Загрузка программного обеспечения, которое может распространяться в форме исходных текстов или двоичных файлов.
Распаковка программного обеспечения из дистрибутивного формата (обычно 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 Ports.
Перед установкой любого приложения необходимо зайти на 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
,
где file
file
- программа, которую вы хотите
установить:
#
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-name
program-name
- это
название программы, которую вы хотите найти. Например, если
вы ищете lsof
:
#
cd /usr/ports
#
make search name=lsof
Port: lsof-4.56.4 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: obrien@FreeBSD.org Index: sysutils B-deps: R-deps:
Команда 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=
или
string
make quicksearch
key=
,
где string
string
представляет собой некоторый
текст, относящийся к искомому порту. Текст ищется в комментариях,
описаниях или зависимостях. Этот способ можно
использовать для поиска портов, связанных с некоторой темой, когда
название программы неизвестно.
В обоих случаях (search
и
quicksearch
) строка поиска нечувствительна
к регистру.
Поиск <<LSOF>> приводит к тому же самому результату, что и
поиск <<lsof>>.
Во FreeBSD есть несколько утилит для управления пакетами:
Для установки, удаления и получения перечня установленных
пакетов на работающей системе может быть запущена утилита
sysinstall
. Обратитесь к Раздел 2.10.10, <<Установка пакетов (Install Packages)>> за более детальной информацией.
Утилиты командной строки для управления пакетами, которые являются темой данного раздела.
Для установки бинарного пакета FreeBSD из локального файла или с сервера в сети используйте pkg_add(1).
#
ftp -a
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.ftp2.FreeBSD.org
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
необходимо внести следующую
запись:
WITH_PKGNG= yes
Система управления пакетами 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 clean
вместо make
,
make install
и
последующей make clean
в трех отдельных шагах.
Установка порта единственной командой
make install
чревата
возможными частыми остановками процесса инсталляции из-за
ожидания вмешательства пользователя: некоторым портам требуется
ввод опций. Чтобы избежать траты времени, особенно для портов
с многими зависимостями, запустите сначала
make config-recursive
чтобы выполнить конфигурирование всех опций за один заход.
Далее, запустите make
install [clean]
.
Когда используется config-recursive
,
перечень подлежащих настройке портов собирается целью
all-depends-list
команды make(1).
Часто рекомендуется повторять запуск
make config-recursive
до тех пор, пока не будут определены все опции зависимых портов,
а меню dialog(1) выбора опций портов появляться перестанут.
При этом можно быть уверенным, что все опции были настроены как
и намеревалось.
Некоторые командные процессоры для ускорения поиска исполняемых
файлов и команд кэшируют имена программ, доступных для
вызова из каталогов, перечисленных в переменной окружения
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 config
.
Второй способ - запустить команду
make showconfig
.
Еще один способ - выполнить команду
make rmconfig
,
которая удалит все ранее отмеченные опции и позволит вам начать
конфигурирование сначала. Эти и другие способы детально описаны
на странице ports(7).
Прежде всего, при помощи 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 clean
Portmaster делит порты на четыре категории:
Корневые порты: не зависят от других портов и нет портов, зависимых от корневых;
Стволовые порты: не зависят от других портов, но есть порты, зависящие от стволовых;
Веточные порты: зависят от других портов и есть порты, зависящие от веточных;
Листьевые порты: зависят от других портов, но нет портов, зависящих от листьевых.
Чтобы проверить наличие обновлений для всех установленных
портов, задайте утилите флаг -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 maintainer
или
просмотрите Makefile
.
Не забудьте указать имя и версию порта (скопировав строчку
$FreeBSD:
из файла
Makefile
) и включите в письмо весь
вывод, предшествующий возникновению ошибки.
Некоторые порты поддерживаются группой людей из
списка
рассылки, а не отдельными людьми. В большинстве таких
случаев адрес мейнтейнера выглядит подобно следующему: <freebsd-listname@FreeBSD.org>
. Пожалуйста,
учтите это при формулировании ваших вопросов.
В частности, если мейнтейнер порта - <ports@FreeBSD.org>
, то такой порт вообще никем
не поддерживается. Решение проблем и поддержка, если и имеют
место, то приходят от общества, которое подписано на тот список
рассылки. Волонтёры требуются всегда!
Если вы не получили ответ, то воспользуйтесь командой send-pr(1) для посылки сообщения о проблеме (изучите составление сообщений о проблеме во FreeBSD).
Исправьте его! В Руководстве по созданию портов содержится подробная информация об инфраструктуре портов, так что вы сможете исправить редкий неработающий порт или даже предложить свой собственный!
Воспользуйтесь pkg_add(1) и установите пакет вместо порта.
FreeBSD использует X11 для того, чтобы дать пользователям мощный графический интерфейс. X11 является свободно доступной версией X Window System, реализованной в Xorg и XFree86TM (а также других программных пакетах, здесь не рассматриваемых). В версиях FreeBSD до и включая FreeBSD 5.2.1-RELEASE сервером X11 по умолчанию был XFree86TM, выпускаемый The XFree86TM Project, Inc. Начиная с FreeBSD 5.3-RELEASE, официальной версией X11 по умолчанию стал Xorg, разработанный X.Org Foundation под лицензией, очень похожей на ту, которая используется FreeBSD. Под FreeBSD существуют также коммерческие X серверы.
Эта глава посвящена установке и настройке
X11 в системе FreeBSD, с акцентом на релиз
Xorg 7.7.
За информацией о настройке XFree86TM
(в более старых релизах FreeBSD XFree86TM
был реализацией X11 по умолчанию), или более старых релизов
Xorg, всегда можно обратиться к старым
версиям Руководства FreeBSD по адресу http://docs.FreeBSD.org/doc/
.
За дополнительной информацией по видео оборудованию, поддерживаемому X11, обратитесь к веб сайту Xorg.
После чтения этой главы вы будете знать:
Как установить и настроить X11.
О различных компонентах X Window System и их взаимодействии.
Как установить и использовать различные оконные менеджеры.
Как использовать шрифты TrueType(R) в X11.
Как настроить вашу систему на графический интерфейс входа (XDM).
Перед чтением этой главы вам потребуется:
Узнать, как устанавливать дополнительное программное обеспечение сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
Первое знакомство с X может оказаться чем-то вроде шока для тех, кто работал с другими графическими системами, такими, как Microsoft(R) Windows(R) или Mac OS(R).
Хотя нет необходимости вникать во все детали различных компонентов X и их взаимодействия, некоторые базовые знания делают возможным использование сильных сторон X.
X не является первой оконной системой для UNIX(R), но она самая популярная из них. До работы над X команда ее разработчиков трудилась над другой оконной системой. Та система называлась <<W>> (от <<Window>>). X была просто следующей буквой в романском алфавите.
X можно называть <<X>>, <<X Window System>>, <<X11>> и множеством других терминов. Факт использования названия <<X Windows>> для X11 может задеть интересы некоторых людей; дополнительную информацию по этому поводу можно найти на странице справочной системы X(7).
X изначально разрабатывалась, чтобы быть системой, ориентированной на работу в сети с использованием модели <<клиент-сервер>>.
В модели работы X <<X-сервер>> работает на компьютере с клавиатурой, монитором и мышью. Область ответственности сервера включает управление дисплеем, обработку ввода с клавиатуры, мыши и других устройств ввода или вывода (например, <<планшет>> может быть использован в качестве устройства ввода, а видеопроектор в качестве альтернативного устройства вывода). Каждое X-приложение (например, XTerm или Netscape(R)) является <<клиентом>>. Клиент посылает сообщения серверу, такие, как <<Пожалуйста, нарисуй окно со следующими координатами>>, а сервер посылает в ответ сообщения типа <<Пользователь только что щёлкнул мышью на кнопке OK>>.
В случае использования дома или в офисе, сервер и клиенты X как правило будут работать на том же самом компьютере. Однако реально возможно запускать X-сервер на менее мощном настольном компьютере, а приложения X (клиенты) на, скажем, мощной и дорогой машине, обслуживающей целый офис. В этом сценарии X-клиент и сервер общаются через сеть.
Некоторых это вводит в заблуждение, потому что терминология X в точности обратна тому, что они ожидают. Они полагают, что <<X-сервер>> будет большой мощной машиной, стоящей на полу, а <<X-клиентом>> является машина, стоящая на их столах.
Важно помнить, что X-сервером является машина с монитором и клавиатурой, а X-клиенты являются программами, выводящими окна.
В протоколе нет ничего, что заставляет машины клиента и сервера работать под управлением одной и той же операционной системы, или даже быть одним и тем же типом компьютера. Определённо возможно запускать X-сервер в Microsoft(R) Windows(R) или Mac OS(R) от Apple, и есть множество свободно распространяемых и коммерческих приложений, которые это реализуют.
Философия построения X очень похожа на философию построения UNIX(R), <<инструменты, не политика>>. Это значит, что X не пытаются диктовать то, как должна быть выполнена работа. Вместо этого пользователю предоставляются инструменты, а за пользователем остается принятие решения о том, как использовать эти инструменты.
Этот подход расширен в X тем, что не задается, как окна должны выглядеть на экране, как их двигать мышью, какие комбинации клавиш должны использоваться для переключения между окнами (то есть Alt+Tab, в случае использования Microsoft(R) Windows(R)), как должны выглядеть заголовки окон, должны ли в них быть кнопки для закрытия, и прочее.
Вместо этого X делегирует ответственность за это приложению,
которое называется <<Window Manager>> (Менеджер Окон). Есть
десятки оконных менеджеров для X: AfterStep,
Blackbox, ctwm,
Enlightenment,
fvwm, Sawfish,
twm,
WindowMaker и другие. Каждый из этих
оконных менеджеров предоставляет различные внешние виды и удобства;
некоторые из них поддерживают <<виртуальные рабочие столы>>;
некоторые из них позволяют изменять назначения комбинаций
клавиш, используемых для управления рабочим столом; в некоторых есть
кнопка <<Start>> или нечто подобное; некоторые поддерживают
<<темы>>, позволяя изменять внешний вид, поменяв тему.
Эти оконные менеджеры, а также множество
других, находятся в категории x11-wm
коллекции
портов.
Кроме того, оболочки KDE и GNOME имеют собственные оконные менеджеры, которые интегрированы в оболочку.
Каждый оконный менеджер также имеет собственный механизм настройки; некоторые предполагают наличие вручную созданного конфигурационного файла; некоторые предоставляют графические инструменты для выполнения большинства работ по настройке; по крайней мере один (Sawfish) имеет конфигурационный файл, написанный на диалекте языка Lisp.
Другой особенностью, за которую отвечает оконный менеджер, является <<политика фокусирования>> мыши. Каждая оконная система должна иметь некоторый способ выбора окна для активации получения нажатий клавиш, а также визуальную индикацию того, какое окно активно.
Широко известная политика фокусировки называется <<щелчок-для-фокуса>> (<<click-to-focus>>). Эта модель используется в Microsoft(R) Windows(R), когда окно становится активным после получения щелчка мыши.
X не поддерживает никакой конкретной политики фокусирования. Вместо этого менеджер окон управляет тем, какое окно владеет фокусом в каждый конкретный момент времени. Различные оконные менеджеры поддерживают разные методы фокусирования. Все они поддерживают метод щелчка для фокусирования, и большинство из них поддерживают некоторые другие методы.
Самыми популярными политики фокусирования являются:
Фокусом владеет то окно, что находится под указателем мыши. Это не обязательно будет окно, которое находится поверх всех остальных. Фокус меняется при указании на другое окно, при этом также нет нужды щёлкать на нём.
С политикой focus-follows-mouse если мышь помещается поверх корневого окна (или заднего фона), то никакое окно фокус не получает, а нажатия клавиш просто пропадают. При использовании политики нечёткого фокуса он меняется только когда курсор попадает на новое окно, но не когда уходит с текущего окна.
Активное окно выбирается щелчком мыши. Затем окно может быть <<поднято>> и появится поверх всех других окон. Все нажатия клавиш теперь будут направляться в это окно, даже если курсор переместится к другому.
Многие оконные менеджеры поддерживают и другие политики, а также вариации перечисленных. Обязательно обращайтесь к документации по оконному менеджеру.
Подход X, заключающийся в предоставлении инструментов, а не политики, распространяется и на виджеты, которые располагаются на экране в каждом приложении.
<<Виджет>> (widget) является термином для всего в пользовательском интерфейсе, на чём можно щёлкать или каким-то образом управлять; кнопки, зависимые (radio buttons) и независимые (check boxes) опции, иконки, списки и так далее. В Microsoft(R) Windows(R) это называется <<элементами управления>> (<<controls>>).
Microsoft(R) Windows(R) и Mac OS(R) от Apple имеют очень жёсткую политику относительно виджетов. Предполагается, что разрабатываемые приложения обязательно должны иметь похожий внешний вид. Что касается X, то было решено, что не нужно требовать обязательного использования какого-то определённого графического стиля или набора виджетов.
В результате не стоит ожидать от X-приложений похожести во внешнем виде. Существует несколько популярных наборов виджетов и их разновидностей, включая оригинальный набор виджетов Athena от MIT, Motif(R) (по образу которого был разработан набор виджетов в Microsoft(R) Windows(R), все эти скошенные углы и три разновидности серого цвета), OpenLook и другие.
В большинстве появляющихся в настоящее время приложений для X будет использоваться современно выглядящий набор виджетов, либо Qt, используемый в KDE, либо GTK+, используемый проектом GNOME. В этом отношении наблюдается унификация внешнего вида рабочего стола в UNIX(R), что определённо облегчает жизнь начинающему пользователю.
Версией X11 по умолчанию для FreeBSD является Xorg. Xorg это сервер X дистрибутива открытой реализации X Window System, выпущенной X.Org Foundation. Xorg основан на коде XFree86TM 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:
hald_enable="YES" dbus_enable="YES"
Эти сервисы должны быть запущены (вручную или при загрузки системы) до последующей загрузки 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
директории. Данный файл должен содержать следующие
строчки:
<?xml version="1.0" encoding="iso-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> </match> </device> </deviceinfo>
Вам может потребоваться перезагрузка системы для вступления параметров hald в силу.
Если мышь не работает, ее необходимо настроить.
Обратитесь к Раздел 2.10.9, <<Настройка мыши (Mouse Settings)>> в главе об установке
FreeBSD. Дополнительно, начиная с версии
7.4, секция InputDevice
в
xorg.conf
игнорируется в пользу
автоматического поиска устройств. Для возвращения старого поведения, добавьте
следующие строчки в секции ServerLayout
или
ServerFlags
:
Option "AutoAddDevices" "false"
Устройства ввода могут конфигурированы затем как в предыдущих версиях, вместе с другими необходимыми опциями (такими, как переключение раскладок клавиатуры например).
Как ранее уже сообщалось, начиная с версии 7.4, по-умолчанию, hald демон будет пытаться распознать вашу клавиатуру автоматически. Есть возможность, что раскладка вашей клавиатуры или ее модель будут определены некорректно. Такие оконные менеджеры как GNOME, KDE или Xfce содержат свои инструменты для конфигурирования клавиатур. Тем не менее, можно установить параметры клавиатуры непосредственно с помощью утилиты setxkbmap(1) или через haldконфигурационные правила.
Например, если вы хотите использовать клавиши PC 102 клавиатуры,
идущая с французской раскладкой, мы должны создать конфигурационный файл
клавиатуры для hald
называемый x11-input.fdi
и сохранить в
/usr/local/etc/hal/fdi/policy
директории. Этот файл должен содержать следующие
строчки:
<?xml version="1.0" encoding="iso-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbModel" type="string">pc102</merge> <merge key="input.x11_options.XkbLayout" type="string">fr</merge> </match> </device> </deviceinfo>
Если этот файл уже существует, просто скопируйте и добавьте эти строчки в файл данный файл.
Вы должны будете перезагрузить систему, чтобы заставить 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"
:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection
Ключевых слов HorizSync
и
VertRefresh
может и не оказаться в
файле конфигурации. Если их нет, то они должны быть добавлены, с
указанием корректных значений горизонтальной частоты синхронизации
после ключевого слова HorizSync
и вертикальной
частоты синхронизации после ключевого слова
VertRefresh
. В примере выше были введены частоты
монитора настраиваемой системы.
X позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими её мониторами. Программа xset(1) управляет временными задержками и может явно задавать режимы ожидания, останова и выключения. Если вы хотите включить использование возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел, описывающий монитор:
Option "DPMS"
Пока файл конфигурации xorg.conf.new
открыт
в редакторе, выберите желаемые разрешение и глубину цвета, которые
будут использоваться по умолчанию. Они задаются в разделе
"Screen"
:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
Ключевое слово 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(R) 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"
вот так:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection
Xorg может извлечь информацию о разрешении из монитора посредством I2C/DDC, так что у него есть данные, какие частоты и разрешения может поддерживать монитор.
Если эти ModeLines
не определены в драйверах,
может потребоваться дополнительная настройка
Xorg. Используя
/var/log/Xorg.0.log
, можно извлечь достаточно
информации для создания рабочей строки ModeLine
вручную.
Просто обратитесь к следующей информации:
(II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz
Эта информация называется EDID. Создание ModeLine
из сводится к расположению номеров в правильном порядке:
ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>
Для нашего примера ModeLine
в Section
"Monitor"
будет выглядеть так:
Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection
После завершения редактирования конфигурации, X должен запуститься в новом широкоэкранном разрешении.
Шрифты, используемые по умолчанию и распространяемые вместе с X11, вряд ли можно назвать идеально подходящими для применения в обычных издательских приложениях. Большие презентационные шрифты выглядят рвано и непрофессионально, а мелкие шрифты в Netscape(R) вообще невозможно разобрать. Однако есть некоторое количество свободно распространяемых высококачественных шрифтов Type1 (PostScript(R)), которые можно без изменений использовать с X11. К примеру, в наборе шрифтов URW (x11-fonts/urwfonts) имеются высококачественные версии стандартных шрифтов type1 (Times Roman(R), Helvetica(R), Palatino(R) и другие). В набор Freefonts (x11-fonts/freefonts) включено ещё больше шрифтов, однако большинство из них предназначено для использования в программном обеспечении для работы с графикой, например, Gimp, и они не вполне пригодны для использования в качестве экранных шрифтов. Кроме того, X11 с минимальными усилиями может быть настроена на использование шрифтов TrueType(R). Более детальная информация находится на странице справочной системы X(7) и в разделе о шрифтах TrueType(R) ниже.
Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции портов выполните следующие команды:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
То же самое нужно будет сделать для коллекции freefont и других.
Чтобы X-сервер обнаруживал
этих шрифты, добавьте соответствующую строку в
файл настройки X сервера (/etc/X11/xorg.conf
),
которая должна выглядеть так:
FontPath "/usr/local/lib/X11/fonts/URW/"
Либо из командной строки при работе с 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(R). Имеются два модуля, которые могут
обеспечить эту функциональность. В нашем примере используется модуль
freetype, потому что он в большей степени похож на другие механизмы
для работы с шрифтами. Для включения модуля freetype достаточно в
раздел "Module"
файла
/etc/X11/xorg.conf
добавить следующую
строчку.
Load "freetype"
Теперь создайте каталог для шрифтов TrueType(R)
(к примеру, /usr/local/lib/X11/fonts/TrueType
) и
скопируйте все шрифты TrueType(R) в этот каталог. Имейте в виду,
что напрямую использовать шрифты TrueType(R) с Macintosh(R) нельзя;
для использования с X11 они должны
быть в формате UNIX(R)/MS-DOS(R)/Windows(R). После того, как файлы будут
скопированы в этот каталог, воспользуйтесь утилитой
ttmkfdir для создания файла
fonts.dir
, который укажет подсистеме вывода
шрифтов X на местоположение этих новых файлов.
ttmkfdir
имеется в Коллекции Портов FreeBSD:
x11-fonts/ttmkfdir.
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
После этого добавьте каталог со шрифтами TrueType(R) к маршруту поиска шрифтов. Это делается точно также, как описано выше для шрифтов Type1, то есть выполните
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
или добавьте строку FontPath
в файл
xorg.conf
.
Это всё. Теперь Netscape(R), Gimp, StarOfficeTM и все остальные X-приложения должны увидеть установленные шрифты TrueType(R). Очень маленькие (как текст веб-страницы на дисплее с высоким разрешением) и очень большие (в StarOfficeTM) шрифты будут теперь выглядеть гораздо лучше.
Антиалиасинг присутствует в X11 начиная с
XFree86TM,
версии 4.0.2. Однако настройка шрифтов была довольно
громоздка вплоть до появления XFree86TM
4.3.0. Начиная с версии XFree86TM 4.3.0,
все шрифты, расположенные в каталогах
/usr/local/lib/X11/fonts/
и
~/.fonts/
, автоматически становятся доступными для
применения антиалиасинга в приложениях, использующих Xft. Не все
приложения могут использовать Xft, но во многих его поддержка
присутствует. Примерами приложений, использующих Xft, является Qt
версий 2.3 и более поздних (это инструментальный пакет для оболочки
KDE), GTK+ версий 2.0 и более поздних (это
инструментальный пакет для оболочки GNOME),
а также Mozilla версий 1.2 и более
поздних.
Для применения к шрифтам антиалиасинга, а также
для настройки параметров антиалиасинга, создайте (или отредактируйте,
если он уже существует) файл
/usr/local/etc/fonts/local.conf
. Некоторые мощные
возможности системы шрифтов Xft могут быть настроены при помощи этого
файла; в этом разделе описаны лишь некоторые простые возможности. Для
выяснения всех деталей, пожалуйста, обратитесь к
fonts-conf(5).
Этот файл должен быть сформирован в формате XML. Обратите особое
внимание на регистр символов, и удостоверьтесь, что все тэги корректно
закрыты. Файл начинается обычным заголовком XML, за которым следуют
DOCTYPE и
тэг <fontconfig>
:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
Как и говорилось ранее, все шрифты из каталога
/usr/local/lib/X11/fonts/
, а также
~/.fonts/
уже доступны для приложений,
использующих Xft. Если вы хотите добавить каталог, отличный от этих
двух, добавьте строчку, подобную следующей, в файл
/usr/local/etc/fonts/local.conf
:
<dir>/path/to/my/fonts</dir>
После добавления новых шрифтов, и особенно новых каталогов со шрифтами, вы должны выполнить следующую команду для перестроения кэшей шрифтов:
#
fc-cache -f
Антиалиасинг делает границы несколько размытыми, что делает очень мелкий текст более читабельным и удаляет <<лесенки>> из текста большого размера, но может вызвать нечёткость при применении к тексту обычного размера. Для исключения размеров шрифтов, меньших 14, из антиалиасинга, добавьте такие строки:
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
Для некоторых моноширинных шрифтов антиалиасинг может также оказаться неприменимым при определении межсимвольного интервала. В частности, эта проблема возникает с KDE. Одним из возможных решений для этого является жесткое задание межсимвольного интервала в 100. Добавьте следующие строки:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(это создаст алиасы "mono"
для других
общеупотребительных имён шрифтов фиксированного размера), а затем
добавьте:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
С некоторыми шрифтами, такими, как Helvetica, при антиалиасинге
могут возникнуть проблемы . Обычно это проявляется в виде шрифта,
который наполовину вертикально обрезан. Хуже того, это может
привести к сбоям таких приложений, как
Mozilla. Во избежание этого следует
добавить следующее в файл local.conf
:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
После того, как вы закончите редактирование
local.conf
, удостоверьтесь, что файл завершен
тэгом </fontconfig>
. Если этого не сделать,
ваши изменения будут проигнорированы.
Набор шрифтов по умолчанию, поставляемый с
X11, не очень подходит, если
включается антиалиасинг. Гораздо лучший набор шрифтов, используемых
по умолчанию, можно найти в порте
x11-fonts/bitstream-vera. Этот
порт установит файл
/usr/local/etc/fonts/local.conf
, если такого ещё
не существует. Если файл существует, то порт создаст файл
/usr/local/etc/fonts/local.conf-vera
. Перенесите
содержимое этого файла в
/usr/local/etc/fonts/local.conf
, и шрифты
Bitstream автоматически заменят используемые по умолчанию в
X11 шрифты Serif, Sans Serif и
Monospaced.
Наконец, пользователи могут добавлять собственные наборы
посредством персональных файлов .fonts.conf
.
Для этого каждый пользователь должен просто создать файл
~/.fonts.conf
. Этот файл также должен быть в
формате XML.
И последнее замечание: при использовании дисплея LCD может
понадобиться включение разбиения точек. При этом компоненты красного,
зелёного и голубого цветов (разделяемые по горизонтали),
рассматриваются как отдельные точки для улучшения разрешения экрана
по горизонтали; результат может оказаться потрясающим. Для включения
этого механизма добавьте такую строчку где-нибудь в файле
local.conf
:
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
В зависимости от типа дисплея, rgb
может
потребоваться заменить на bgr
,
vrgb
или vbgr
: пробуйте и
смотрите, что работает лучше.
Антиалиасинг должен быть включен при следующем запуске X-сервера.
Однако программы должны знать, как использовать его преимущества.
В настоящее время инструментальный пакет Qt умеет ими пользоваться,
так что вся оболочка KDE может
использовать шрифты с антиалиасингом.
GTK+ и GNOME
также можно заставить использовать антиалиасинг посредством капплета
<<Font>> (обратитесь к Раздел 6.7.1.3, <<Шрифты с антиалиасингом и GNOME>> для выяснения всех подробностей).
По умолчанию Mozilla версий 1.2 и выше
будет автоматически использовать антиалиасинг. Для отмены
использования антиалиасинга
перестройте Mozilla с флагом
-DWITHOUT_XFT
.
Менеджер Экранов X (XDM) это необязательный компонент X Window System, который используется для управления входом пользователей в систему. Это полезно в ряде ситуаций, например для минимальных <<X Терминалов>>, десктопов, больших сетевых серверов экранов. Так как X Window System не зависит от сетей и протоколов, то существует множество различных конфигураций для X клиентов и серверов, запущенных на различных компьютерах, подключенных к сети. XDM предоставляет графический интерфейс для выбора сервера, к которому вы желаете подключится, и введения информации, авторизующей пользователя, например комбинации логина и пароля.
XDM можно рассматривать как аналог программы getty(8), предоставляющий такие же возможности для пользователей (смотрите Раздел 22.3.2, <<Настройка>> для подробной информации). И это именно так, XDM производит вход в систему для подключенного пользователя и запускает управляющую сессию для пользователя (обычно это менеджер окон X). После этого XDM ожидает завершения приложения, означающее завершение пользователем работы и отключает управляющую сессию. Затем XDM может снова вывести приглашение к входу в систему и ожидать входа другого пользователя.
Программой даемона XDM является
/usr/local/bin/xdm
. Эта программа может быть
запущена от пользователя root
в любой момент, и
она начнёт управлять дисплеем X на локальной машине.
Если XDM нужно запускать
в фоновом режиме каждый раз при запуске компьютера, то наиболее
правильный способ - это добавить новую запись в
/etc/ttys
. Для более подробной информации о
формате и использовании этого файла смотрите Раздел 22.3.2.1, <<Добавление строки в /etc/ttys
>>. Вот строка, которую необходимо добавить
в файл /etc/ttys
для того, чтобы запустить
даемон XDM на виртуальном терминале:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
По умолчанию эта запись отключена; для её включения
нужно заменить пятое поле с off
на
on
и перезапустить init(8), используя метод,
описанный в Раздел 22.3.2.2, <<Заставьте init
перечитать
/etc/ttys
>>. Первое поле это название
терминала, которым будет управлять программа, ttyv8
.
Это означает, что XDM будет запущен на 9ом
виртуальном терминале.
Конфигурационные файлы XDM находятся в
каталоге
/usr/local/lib/X11/xdm
. В нём размещаются
насколько файлов, которые используются для изменения
поведения и внешнего вида XDM.
Обычно это следующие файлы:
Файл | Описание |
---|---|
Xaccess | Правила авторизации клиентов. |
Xresources | Значения ресурсов X по умолчанию. |
Xservers | Список локальных и удаленных экранов. |
Xsession | Сценарий сессии по умолчанию. |
Xsetup_ * | Скрипт для запуска приложений до появления приглашения к входу в систему. |
xdm-config | Глобальный конфигурационный файл для всех экранов запущенных на локальной машине |
xdm-errors | Ошибки сгенерированные серверной программой. |
xdm-pid | ID процесса запущенного XDM. |
В этом каталоге также находятся несколько командных сценариев и программ, используемых для настройки рабочего стола (desktop) при запуске XDM. Назначение каждого из этих файлов будет вкратце описано. Точный синтаксис и информация по их использованию находятся в xdm(1).
В конфигурации по умолчанию выводится простое прямоугольное окно приглашения ко входу в систему с именем компьютера, написанным сверху большим шрифтом, и строками ввода <<Login:>> и <<Password:>> внизу. Это хорошая отправная точка для изменения внешнего вида экранов XDM.
Протокол, по которому происходит подключение дисплеев,
управляемых XDM, называется X Display
Manager Connection
Protocol (XDMCP). Этот файл представляет собой
набор правил для управления XDMCP соединениями с
удалёнными машинами. Он игнорируется, пока
стандартный файл xdm-config
не содержит
указаний по обслуживанию удалённых соединений.
Это файл содержит установки по умолчанию для приложений, запущенных в экране выбора серверов и экране приглашения к входу в систему. В нем может быть изменён вид программы входа в систему. Формат этого файла идентичен файлу app-defaults, описанному в документации к X11.
Это список удаленных экранов, которые XDM должен предоставить как варианты для входа в систему.
Этот файл представляет из себя командный сценарий по умолчанию
для пользователей, вошедших в систему с использованием
XDM.
Обычно каждый пользователь имеет собственный сценарий входа в файле
~/.xsession
, который используется
вместо этого сценария.
Они запускаются автоматически перед тем, как показывается экран
выбора сервера или экран входа в систему. Для каждого экрана
(display) есть свой сценарий с именем Xsetup_
,
за которым следует локальный номер экрана (например,
Xsetup_0
).
Обычно эти сценарии запускают одну или две программы в
фоновом режиме, например xconsole
.
Здесь содержатся настройки в формате app-defaults, которые применимы ко всем экранам данного компьютера.
Здесь находится выдача X серверов, которые
XDM пытается запустить. Если экран,
который XDM пытается
открыть, отключается по некоторым причинам, то это хорошее
место для поиска сообщений об ошибках. Эти сообщения также
записываются в пользовательский файл
~/.xsession-errors
для каждого сеанса.
Для того, чтобы позволить другим клиентам подключаться к серверу
дисплеев, необходимо отредактировать правила
контроля доступа и включить обслуживание сетевых соединений.
По умолчанию они выключены, что является хорошим решением
с точки зрения обеспечения безопасности. Для того, чтобы
позволить XDM принимать сетевые соединения,
в первую очередь
закомментируйте строку в файле xdm-config
:
! БЕЗОПАСНОСТЬ: do not listen for XDMCP or Chooser requests ! Закомментируйте эти линии, если вы хотите управлять X терминалами с xdm DisplayManager.requestPort: 0
и потом перезапустите XDM. Помните,
что комментарии в файлах app-defaults начинаются с символа
<<!>>, а не как обычно, <<#>>. Может
потребоваться более жёсткий контроль доступа - взгляните на примеры из
Xaccess
и обратитесь к странице справочника
xdm(1) за дальнейшей информацией.
Существует несколько программ, заменяющих XDM. Одна из них, kdm (поставляемая вместе с KDE), описана далее в этой главе. В kdm имеется много визуальных и косметических улучшений, а также функциональность, позволяющая пользователям выбирать собственные оконные менеджеры во время входа в систему.
В этом разделе описываются различные графические оболочки, доступные в X для FreeBSD. Термин <<графическая оболочка>> может использоваться для чего угодно, от простого менеджера окон до полнофункционального набора приложений для рабочего стола, типа KDE или GNOME.
GNOME является дружественной к пользователю графической оболочкой, позволяющей пользователям легко использовать и настраивать свои компьютеры. В GNOME имеется панель (для запуска приложений и отображения их состояния), рабочий стол (где могут быть размещены данные и приложения), набор стандартных инструментов и приложений для рабочего стола, а также набор соглашений, облегчающих совместную работу и согласованность приложений. Пользователи других операционных систем или оболочек при использовании такой мощной графической оболочки, какую обеспечивает GNOME, должны чувствовать себя в родной среде. Дополнительную информацию относительно GNOME во FreeBSD можно найти на сайте FreeBSD GNOME Project. Web сайт также содержит достаточно исчерпывающие FAQ'и, касающиеся установки, конфигурирования и управления GNOME.
Программу проще всего установить из пакета или коллекции портов:
Для установки пакета GNOME из сети, просто наберите:
#
pkg_add -r gnome2
Для построения GNOME из исходных текстов используйте дерево портов:
#
cd /usr/ports/x11/gnome2
#
make install clean
После установки GNOME нужно указать X-серверу на запуск GNOME вместо стандартного оконного менеджера.
Самый простой путь запустить
GNOME - это использовать
GDM (GNOME Display Manager).
GDM, который устанавливается, как
часть GNOME (но отключен по умолчанию),
может быть включён путём добавления gdm_enable="YES"
в /etc/rc.conf
. После перезагрузки,
GNOME запустится автоматически
после того, как вы зарегистрируйтесь в системе. Никакой
дополнительной конфигурации не требуется.
GNOME может также быть запущен
из командной строки с помощью конфигурирования файла
.xinitrc
. Если файл
.xinitrc
уже откорректирован, то просто
замените строку, в которой запускается используемый менеджер окон,
на ту, что вызовет
/usr/local/bin/gnome-session.
Если в конфигурационном файле нет ничего особенного, то будет
достаточно просто набрать:
%
echo "/usr/local/bin/gnome-session" > ~/.xinitrc
Теперь наберите startx
, и будет запущена
графическая оболочка GNOME.
Если используется более старый менеджер дисплеев типа
XDM, то это не сработает. Вместо этого
создайте выполнимый файл .xsession
с той
же самой командой в нём. Для этого отредактируйте файл,
заменив существующую команду запуска оконного
менеджера на
/usr/local/bin/gnome-session:
%
echo "#!/bin/sh" > ~/.xsession
%
echo "/usr/local/bin/gnome-session" >> ~/.xsession
%
chmod +x ~/.xsession
Ещё одним вариантом является настройка менеджера дисплеев таким образом, чтобы он позволял выбирать оконный менеджер во время входа в систему; в разделе о KDE в подробностях описывается, как сделать это для kdm, менеджера дисплеев из KDE.
X11 поддерживает антиалиасинг посредством своего расширения
<<RENDER>>. GTK+ 2.0 и более поздние версии (это
инструментальный пакет, используемый
GNOME) могут использовать такую
функциональность. Настройка антиалиасинга описана в
Раздел 6.5.3, <<Антиалиасинг шрифтов>>. Таким образом, при наличии современного
GNOME, возможно использование
антиалиасинга. Просто перейдите в
-> ->
и выберите либо
,
, либо
. Для приложений
GTK+, которые не являются частью оболочки
GNOME, задайте в качестве значения
переменной окружения GDK_USE_XFT
1
перед запуском программы.
KDE является простой в использовании современной графической оболочкой. Вот лишь некоторые из преимуществ, которые даёт пользователю KDE:
Прекрасный современный рабочий стол
Рабочий стол, полностью прозрачный для работы в сети
Интегрированная система помощи, обеспечивающая удобный и согласованный доступ к системе помощи по использованию рабочего стола KDE и его приложений
Единообразный внешний вид и управление во всех приложениях KDE
Стандартизированные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее.
Интернационализация: в KDE поддерживается более 40 языков
Централизованное единообразное конфигурирование рабочего стола в диалоговом режиме
Большое количество полезных приложений для KDE
Совместно с KDE поставляется веб-браузер под названием Konqueror, который является серьезным соперником другим браузерам для UNIX(R)-систем. Дополнительную информацию о KDE можно найти на веб-сайте KDE в FreeBSD. Для получения информации и информационных ресурсов, специфичных для KDE во FreeBSD, обратитесь к сайту команды FreeBSD-KDE team.
Имеется две версии KDE доступные на FreeBSD. Версия 3 была доступна очень долгое время и она является очень зрелой. Версия 4 - это следующее поколение, также доступное через Коллекцию Портов. Обе версии могут быть инсталлированы одновременно.
Как и в случае с GNOME или любой другой графической оболочкой, программное обеспечение можно легко установить из пакета или из Коллекции Портов:
Для установки пакета KDE3 из сети, просто наберите:
#
pkg_add -r kde
Для установки пакета KDE4 из сети, просто наберите:
#
pkg_add -r kde4
pkg_add(1) автоматически загрузит самую последнюю версию приложения.
Для построения KDE3 из исходных текстов, воспользуйтесь деревом портов:
#
cd /usr/ports/x11/kde3
#
make install clean
Для построения KDE4 из исходных текстов, воспользуйтесь деревом портов:
#
cd /usr/ports/x11/kde4
#
make install clean
После установки KDE нужно
указать X-серверу на запуск этого приложения вместо оконного
менеджера, используемого по умолчанию. Это достигается
редактированием файла .xinitrc
:
Для KDE3:
%
echo "exec startkde" > ~/.xinitrc
Для KDE4:
%
echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc
Теперь при вызове X Window System по команде
startx
в качестве оболочки будет использоваться
KDE.
При использовании менеджера дисплеев типа
XDM настройка несколько отличается.
Вместо этого нужно отредактировать файл
.xsession
. Указания для
kdm описаны далее в этой главе.
Теперь, когда KDE установлена в системе, можно узнать много нового из её справочных страниц или просто указанием и щелканьем по различным меню. Пользователи Windows(R) или Mac(R) будут чувствовать себя как дома.
Лучшим справочником по KDE является онлайновая документация. KDE поставляется с собственным веб-браузером, который называется Konqueror, десятками полезных приложений и подробной документацией. В оставшейся части этого раздела обсуждаются технические вопросы, трудные для понимания при случайном исследовании.
Администратору многопользовательской системы может потребоваться графический экран для входа пользователей в систему. Вы можете использовать XDM, как это описано ранее. Однако в KDE имеется альтернативный менеджер kdm, который был разработан более привлекательным и с большим количеством настраиваемых опций для входа в систему. В частности, пользователи могут легко выбирать (посредством меню), какую оболочку (KDE, GNOME или что-то ещё) запускать после входа в систему.
Для того, чтобы разрешить запуск kdm,
измените в файле /etc/ttys
строку, относящуюся
к консоли ttyv8
:
Для KDE3:
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure
Для KDE4:
ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure
XFce является графической оболочкой, построенной на основе инструментального пакета GTK+, используемого в GNOME, но она гораздо легче и предназначена для тех, кому нужен простой, эффективно работающий рабочий стол, который легко использовать и настраивать. Визуально он выглядит очень похоже на CDE, который есть в коммерческих UNIX(R)-системах. Вот некоторые из достоинств XFce:
Простой, лёгкий в обращении рабочий стол
Полностью настраиваемый при помощи мыши, с интерфейсом drag and drop и так далее
Главная панель похожа на CDE, с меню, апплетами и возможностями по быстрому запуску приложений
Интегрированный оконный менеджер, менеджер файлов, управление звуком, модуль совместимости с GNOME и прочее
Возможность использования тем (так как использует GTK+)
Быстрый, легкий и эффективный: идеален для устаревших/слабых машин или для машин с ограниченной памятью
Дополнительную информацию о XFce можно найти на сайте XFce.
Для XFce имеется (на момент написания этого текста) бинарный пакет. Для его установки просто наберите:
#
pkg_add -r xfce4
Либо, в случае построения из исходных текстов, используйте Коллекцию Портов:
#
cd /usr/ports/x11-wm/xfce4
#
make install clean
Теперь укажите X-серверу на запуск XFce при следующем запуске X. Просто наберите:
%
echo "/usr/local/bin/startxfce4" > ~/.xinitrc
При следующем запуске X в качестве рабочего стола
будет использоваться XFce.
Как сказано выше, если используется
менеджер дисплеев, такой, как XDM
, создайте
файл .xsession
так, как это
описано в разделе о GNOME, но
с командой /usr/local/bin/startxfce4
, либо
настройте менеджер дисплеев так, чтобы он разрешил выбор рабочего
стола во время входа в систему, как это описано в разделе о kdm.
Теперь, когда основы были пройдены, в данной части Руководства FreeBSD будут обсуждаться некоторые часто используемые возможности FreeBSD. В этих главах:
Введение в популярные и полезные графические приложения: браузеры, бизнес приложения, программы просмотра документов и т.д.
Представлены множество мультимедийных программ, доступных в FreeBSD.
Описан процесс создания собственного ядра FreeBSD для включения дополнительных функций системы.
Система печати разобрана в деталях, как для непосредственно подключенных принтеров, так и для принтеров, подключенных через сеть.
Показано, как запускать приложения Linux в системе FreeBSD.
Перед прочтением некоторых из этих глав необходимо ознакомиться с предварительной информацией, что указано в кратком обзоре в начале каждой главы.
FreeBSD может работать с широким кругом приложений для настольного компьютера (десктопа), таких как браузеры и текстовые процессоры. Большинство из них доступны в качестве пакетов или могут быть автоматически собраны из коллекции портов. Многим новым пользователям хотелось бы видеть эти приложения на своем компьютере. В этой главе показано как без усилий установить некоторые популярные приложения для настольного компьютера из пакетов или из коллекции портов.
Обратите внимание, что при установке программ из портов они компилируются из исходных текстов. Это может занять очень много времени, в зависимости от того, что вы собираете, и от скорости процессора вашего компьютера (компьютеров). Большинство программ, имеющихся в коллекции портов, могут быть установлены из прекомпилированных пакетов, если сборка из исходных текстов занимает недопустимо много времени.
Поскольку FreeBSD обеспечивает двоичную совместимость с Linux, многие приложения, первоначально разработанные для Linux, доступны и на вашем компьютере. Настоятельно рекомендуется прочитать Глава 11, Двоичная совместимость с Linux перед установкой любого из приложений Linux. Названия многих портов, использующих двоичную совместимость с Linux, начинаются с <<linux->>. Помните это при поиске отдельного порта, например с помощью whereis(1). Далее в статье подразумевается, что вы включили бинарную совместимость с Linux перед установкой какого-либо приложения Linux.
Вот несколько категорий, о которых пойдет речь в этой главе:
Браузеры (такие как Mozilla, Opera, Firefox, Konqueror)
Бизнес приложения (такие как KOffice, AbiWord, GIMP, OpenOffice.org)
Программы просмотра документов (такие как Acrobat Reader(R), gv, Xpdf, GQview)
Финансовые программы (такие как GnuCash, Gnumeric, Abacus)
Перед прочтением этой главы вам потребуется:
Узнать, как устанавливать дополнительные программы сторонних производителей (Глава 5, Установка приложений: порты и пакеты).
Узнать, как устанавливать программы Linux (Глава 11, Двоичная совместимость с Linux).
Чтобы получить дополнительную информацию о настройке мультимедиа среды, прочтите Глава 8, Мультимедиа. Если вам нужна электронная почта, обратитесь к Глава 24, Электронная почта.
FreeBSD поставляется без предустановленного браузера. Вместо этого, в категории www коллекции портов содержится множество готовых к установке браузеров. Если у вас нет времени компилировать все (в некоторых случаях это может занять очень много времени), многие из них доступны в виде пакетов.
В KDE и GNOME уже есть HTML браузеры. Обратитесь к Раздел 6.7, <<Графические оболочки>> за подробной информацией об установке этих полноценных десктопов.
Если вы ищете облегченный браузер, попробуйте www/dillo, www/links, или www/w3m из коллекции портов.
Этот раздел рассказывает о следующих приложениях:
Название приложения | Потребность в ресурсах | Установка из портов | Основные зависимости |
---|---|---|---|
Mozilla | большая | тяжелая | Gtk+ |
Opera | малая | легкая | Доступны версии для FreeBSD и Linux. Для Linux версии необходимо наличие Linux Binary Compatibility и linux-openmotif |
Firefox | средняя | тяжелая | Gtk+ |
Konqueror | средняя | тяжелая | Библиотеки KDE |
Mozilla это наиболее современный и стабильный браузер; он полностью портирован на FreeBSD. Его достоинство в высокой совместимости со стандартами HTML. В нем есть почтовая и новостная программы. В нем даже найдется редактор HTML, если вам потребуется самостоятельно написать несколько веб-страничек. Пользователи Netscape(R) найдут общие черты с Communicator, поскольку оба браузера имеют одну основу.
На медленных компьютерах с частотой CPU меньше 233MHz или с памятью меньше 64MB, Mozilla требует слишком много ресурсов, чтобы быть удобной в использовании. Вместо нее вы можете обратить внимание на браузер Opera, описанный ниже в этой главе.
Если вы не можете или не хотите компилировать Mozilla по какой-то причине, команда FreeBSD GNOME уже сделала это для вас. Просто установите пакет из сети с помощью:
#
pkg_add -r mozilla
Если пакет недоступен, но у вас достаточно времени и места на диске, вы можете скачать исходные тексты для Mozilla, скомпилировать их и установить в вашу систему. Это делается так:
#
cd /usr/ports/www/mozilla
#
make install clean
Порт Mozilla проверяет правильность
установки путем запуска регистрации chrome
с привилегиями пользователя root
.
Если вы хотите загрузить некоторые дополнения, например курсоры мыши,
потребуется запустить Mozilla под
root
для их правильной установки.
После завершения установки
Mozilla, больше не требуется работать под
root
. Вы можете запустить
Mozilla в качестве браузера, набрав:
%
mozilla
Вы можете также запустить непосредственно программу чтения почты и новостей, как показано ниже:
%
mozilla -mail
Установка Mozilla проста, но к сожалению, установка Mozilla с поддержкой дополнений, таких как JavaTM и Macromedia(R) FlashTM отнимает и время и место на диске.
Первое, что нужно сделать - загрузить файлы, которые
будут использоваться с Mozilla. Зайдите
с помощью имеющегося веб браузера на
http://www.sun.com/software/java2/download.html
и
создайте учетную запись на этом веб-сайте. Сохраните имя пользователя и
пароль, они могут понадобиться в будущем. Загрузите копию файлов
jdk-1_5_0-bin-scsl.zip
(JDK 5.0
SCSL Binaries) и jdk-1_5_0-src-scsl.zip
(JDK 5.0
SCSL Source) и поместите их в каталог
/usr/ports/distfiles
, поскольку порт не может
загрузить их автоматически в связи с лицензионными ограничениями.
Загрузите с этого же сайта <<java environment>>,
http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=j2sdk-1.4.2_08-oth-JPR&SiteId=JSC&TransactionId=noreg
,
файл j2sdk-1_4_2_08-linux-i586.bin
.
Как и предыдущий, этот файл должен находиться в каталоге
/usr/ports/distfiles/
. Загрузите копию
<<java patchkit>> с
http://www.eyesbeyond.com/freebsddom/java/jdk15.html
и поместите ее в /usr/ports/distfiles/
.
Наконец, установите порт
java/jdk15
при помощи стандартной команды
make install clean
.
Запустите Mozilla и выберите пункт в меню . В списке установленных плагинов должен присутствовать плагин JavaTM.
Плагина Macromedia(R) FlashTM для FreeBSD не существует. Тем не менее, есть решение (обертка, wrapper) для запуска плагина для Linux. Это решение также поддерживает плагины для Adobe(R) Acrobat(R), RealPlayer и других.
Установите порт
www/linuxpluginwrapper.
Он требует для работы достаточно большого порта
emulators/linux_base.
Следуя инструкциям, исправьте файл
/etc/libmap.conf
! Примеры конфигураций вы
можете найти в каталоге
/usr/local/share/examples/linuxpluginwrapper/
.
Установите порт www/mozilla, если Mozilla еще не установлена.
Теперь просто запустите Mozilla:
%
mozilla &
И войдите в пункт
меню . Должен появиться список со всеми доступными плагинами.Плагин linuxpluginwrapper работает только на архитектуре i386TM.
Opera это очень быстрый, полноценный и совместимый со стандартами браузер. Он также идет в комплекте с почтовой и новостной программами, клиентом IRC, модулем чтения RSS/Atom и другими. Несмотря на все это, браузер Opera относительно легок и быстр. Он поставляется в двух вариантах: <<родная>> для FreeBSD версия и версия, запускаемая в режиме эмуляции Linux.
Для работы в сети с помощью FreeBSD версии Opera установите пакет:
#
pkg_add -r opera
На некоторых серверах FTP нет всех пакетов, но те же результаты можно получить с помощью коллекции портов, набрав:
#
cd /usr/ports/www/opera
#
make install clean
Для установки Linux версии
Opera, замените
opera
на
linux-opera
в примере выше. Версия для Linux
полезна в ситуации, когда требуются плагины, доступные только
для Linux, такие как Adobe
Acrobat Reader(R). Во всех других отношениях
версии для FreeBSD и Linux являются функционально
идентичными.
Firefox это браузер следующего поколения, основанный на коде Mozilla. Mozilla это полный набор приложений, таких как браузер, почтовый клиент, чат клиент и многое другое. Firefox это всего лишь браузер, что делает его меньше и быстрее.
Установите пакет, выполнив:
#
pkg_add -r firefox
Вы можете также использовать коллекцию портов, если предпочитаете сборку из исходных текстов:
#
cd /usr/ports/www/firefox
#
make install clean
Konqueror это часть KDE, но может быть использован и отдельно от KDE, путем установки x11/kdebase3. Konqueror это гораздо больше чем просто браузер, это также менеджер файлов и программа просмотра мультимедиа.
Konqueror поставляется с набором плагинов, доступных из misc/konq-plugins.
Konqueror поддерживает также
FlashTM, документация How To для него
доступна по адресу http://freebsd.kde.org/howto.php
.
В начале работы новые пользователи зачастую стремятся найти хороший офисный пакет или удобный текстовый процессор. Хотя некоторые десктопы, такие как KDE, поставляются с готовым офисным пакетом, приложения по умолчанию не существует. В FreeBSD есть все необходимое, кроме графической среды.
Этот раздел описывает следующие приложения:
Название приложения | Потребность в ресурсах | Установка из портов | Основные зависимости |
---|---|---|---|
KOffice | малая | тяжелая | KDE |
AbiWord | малая | легкая | Gtk+ или GNOME |
The Gimp | малая | тяжелая | Gtk+ |
OpenOffice.org | большая | очень тяжелая | JDKTM 1.4, Mozilla |
Сообщество KDE предоставляет графическую среду с офисным пакетом, который может быть использован вне KDE. Он включает четыре стандартных компонента, встречающиеся и в других офисных пакетах. Текстовый процессор KWord, программа электронных таблиц KSpread, KPresenter для создания презентаций и программа векторной графики Kontour.
Перед установкой последней версии KOffice, убедитесь в наличии свежей версии KDE.
Для установки KOffice из пакета, выполните следующую команду:
#
pkg_add -r koffice
Если пакет недоступен, используйте коллекцию портов. Например, для установки KOffice для KDE3, выполните:
#
cd /usr/ports/editors/koffice-kde3
#
make install clean
AbiWord это свободно распространяемый текстовый процессор, по внешнему виду и поведению очень похожий на Microsoft(R) Word. Он подходит для набора документов, писем, отчетов, напоминаний и так далее. Он очень быстр, содержит много новшеств и очень удобен в использовании.
AbiWord может импортировать и
экспортировать множество файловых форматов, включая патентованный
Microsoft .doc
.
AbiWord доступен в виде пакета. Вы можете установить его так:
#
pkg_add -r abiword
Если пакет недоступен, он может быть собран из коллекции портов, которая должна быть свежей. Это можно сделать командой:
#
cd /usr/ports/editors/abiword
#
make install clean
Для создания и редактирования изображений есть продвинутая программа GIMP. Она может быть использована как простая программа рисования и как программа обработки фотографий. Поддерживается большое количество плагинов и предоставлен интерфейс для скриптов. GIMP может читать и записывать файлы многих форматов. Есть интерфейс со сканерами и планшетами.
Вы можете установить пакет, выполнив эту команду:
#
pkg_add -r gimp
Если на вашем сервере FTP нет этого пакета, вы можете использовать коллекцию портов. Категория graphics коллекции портов содержит также раздел Руководство Gimp. Здесь показано, как его установить:
#
cd /usr/ports/graphics/gimp
#
make install clean
#
cd /usr/ports/graphics/gimp-manual-pdf
#
make install clean
Категория graphics коллекции портов содержит версию GIMP для разработчиков в graphics/gimp-devel. HTML версия Руководства Gimp находятся в graphics/gimp-manual-html.
OpenOffice.org включает все обязательные компоненты полноценного офисного пакета: текстовый процессор, программу электронных таблиц, программу управления презентациями и программу векторной графики. Интерфейс пользователя очень похож на другие офисные пакеты, возможен импорт и экспорт различных популярных файловых форматов. Приложение доступно в вариантах для множества разных языков, включая интерфейсы, проверку орфографии и словари.
Текстовый процессор OpenOffice.org использует чистый XML формат файлов для увеличения переносимости и гибкости. Программа для работы с текстовыми таблицами предоставляет макроязык и может работать с внешними базами данных. OpenOffice.org уже стабильна и существует в версиях для Windows(R), SolarisTM, Linux, FreeBSD, и Mac OS(R) X. Дополнительную информацию об OpenOffice.org можно найти на веб сайте OpenOffice.org. Получить специфичную для FreeBSD информацию и загрузить пакеты можно с веб сайта команды портирования OpenOffice на FreeBSD (FreeBSD OpenOffice.org Porting Team).
Для установки OpenOffice.org, выполните:
#
pkg_add -r openoffice
Эта операция должна работать для любого релиза (-RELEASE) FreeBSD. Если вы используете иные версии (-STABLE, -CURRENT), нужный пакет может быть загружен с сайта группы поддержки OpenOffice.org и затем установлен при помощи pkg_add(1). На сайте вы найдете как последний стабильный релиз, так и текущую версию, находящуюся в разработке.
После установки пакета просто наберите следующую команду для запуска OpenOffice.org:
%
openoffice.org
Во время первого запуска, вам будут заданы несколько вопросов
и в вашей домашней директории будет создан каталог
.openoffice.org2
.
Если пакеты OpenOffice.org недоступны, можно выбрать компиляцию порта. Однако, вы должны помнить, что это потребует много места на диске и компиляция будет довольно долгой.
#
cd /usr/ports/editors/openoffice.org-2.0
#
make install clean
Если вы хотите собрать локализованную версию, то вместо предыдущей командной строки используйте следующее:
#
make LOCALIZED_LANG=
your_language
install clean
Вам следует изменить
your_language
на корректный ISO
код языка. Список поддерживаемых языковых кодов доступен в
файле files/Makefile.localized
, расположенный
в директории порта.
После того, как это было сделано OpenOffice.org может быть запущен командой:
%
openoffice.org
Некоторые новые форматы документов приобрели большую популярность. Стандартные программы для их просмотра могут отсутствовать в базовой системе. В этом разделе мы увидим, как их установить.
В разделе говорится о следующих приложениях:
Название приложения | Потребность в ресурсах | Установка из портов | Основные зависимости |
---|---|---|---|
Acrobat Reader(R) | малая | легкая | Linux Binary Compatibility |
gv | малая | легкая | Xaw3d |
Xpdf | малая | легкая | FreeType |
GQview | малая | легкая | Gtk+ или GNOME |
Сейчас многие документы распространяются в формате PDF, аббревиатура для <<Portable Document Format>>. Одна из рекомендованных программ для просмотра этого типа документов, это Acrobat Reader(R), выпущенный Adobe для Linux. Поскольку FreeBSD может запускать исполняемые файлы Linux, он доступен также и для FreeBSD.
Для установки Acrobat Reader(R) 7 из Коллекции портов выполните:
#
cd /usr/ports/print/acroread7
#
make install clean
Пакет acroread7 недоступен из-за лицензионных ограничений.
gv это программа просмотра PostScript(R) и PDF. Она разработана на основе ghostview, но выглядит лучше благодаря библиотеке Xaw3d. Она быстра, а ее интерфейс несложен. У gv есть множество функций, таких как выбор ориентации, размера бумаги, масштаба и сглаживание. Почти любая операция может быть выполнена как с клавиатуры, так и мышью.
Для установки gv из пакета, выполните:
#
pkg_add -r gv
Если вы не можете получить пакет, используйте коллекцию портов:
#
cd /usr/ports/print/gv
#
make install clean
Если вам нужна небольшая программа просмотра PDF под FreeBSD, Xpdf это легкая и эффективная программа. Она требует очень небольшого количества ресурсов и очень стабильна. Используются стандартные шрифты X, Motif(R) или другие пакеты для X не нужны.
Для установки пакета Xpdf, выполните эту команду:
#
pkg_add -r xpdf
Если пакет недоступен, или вы предпочитаете коллекцию портов, выполните:
#
cd /usr/ports/graphics/xpdf
#
make install clean
После завершения установки вы можете запустить Xpdf и использовать правую кнопку мыши для активации меню.
GQview это программа для работы с изображениями. Вы можете просмотреть файл одним кликом, запустить внешний редактор, получить миниатюры и многое другое. Еще в нем есть слайд-шоу и несколько основных файловых операций. Вы можете управлять коллекциями изображений и легко находить дубликаты. В GQview изображения можно просматривать во весь экран, его можно адаптировать к разным языкам.
Если вы хотите установить пакет GQview, выполните:
#
pkg_add -r gqview
Если пакет недоступен, или вы предпочитаете использовать коллекцию портов, выполните:
#
cd /usr/ports/graphics/gqview
#
make install clean
Если по каким-то причинам вам нужно управлять своими финансами на десктопе FreeBSD, есть несколько мощных и простых в использовании приложений. Некоторые из них совместимы с широко распространенными форматами файлов, такими как документы Quicken или Excel.
В этом разделе говорится о следующих приложениях:
Название приложения | Потребность в ресурсах | Установка из портов | Основные зависимости |
---|---|---|---|
GnuCash | малая | тяжелая | GNOME |
Gnumeric | малая | тяжелая | GNOME |
Abacus | малая | легкая | Tcl/Tk |
GnuCash это часть проекта GNOME, который стремится предоставить дружественные к пользователю приложения с широким набором функций. С GnuCash вы можете отслеживать доходы и расходы, банковские счета или акции. Интуитивный интерфейс программы не мешает ей оставаться очень профессиональной.
GnuCash предоставляет интеллектуальный журнал записей, иерархическую систему учетных записей, множество клавиатурных сокращений и метод автозавершения. Он может разбивать одну транзакцию на несколько частей, детализируя ее. GnuCash может импортировать и присоединять файлы Quicken QIF. Он также работает с основными международными форматами дат и валютами.
Для установки GnuCash в вашу систему, выполните:
#
pkg_add -r gnucash
Если пакет недоступен, вы можете использовать коллекцию портов:
#
cd /usr/ports/finance/gnucash
#
make install clean
Gnumeric это электронная таблица, часть графической среды GNOME. Она использует удобное автоматическое <<угадывание>> ввода пользователя в зависимости от формата ячейки и систему автозаполнения для множества последовательностей. Она может импортировать файлы нескольких популярных форматов, таких как Excel, Lotus 1-2-3, или Quattro Pro. Gnumeric работает с диаграммами через math/guppi. В ней множество встроенных функций, можно использовать обычные форматы ячеек: число, валюта, дата, время и многие другие.
Для установки Gnumeric из пакета, введите:
#
pkg_add -r gnumeric
Если пакет недоступен, вы можете использовать коллекцию портов:
#
cd /usr/ports/math/gnumeric
#
make install clean
Abacus это небольшая и простая в использовании программа электронных таблиц. В ней много встроенных функций из нескольких областей, таких как статистика, финансы и математика. Она может импортировать и экспортировать файлы Excel. Abacus также может печатать PostScript(R).
Для установки Abacus из пакета, выполните:
#
pkg_add -r abacus
Если пакет недоступен, вы можете использовать коллекцию портов, выполнив:
#
cd /usr/ports/deskutils/abacus
#
make install clean
Хотя FreeBSD популярна в основном среди провайдеров из-за стабильности и высокой производительности, на сегодняшний день она вполне готова к использованию в качестве десктопа. С несколькими тысячами приложений, доступных в виде пакетов или портов, вы можете создать прекрасный десктоп, отвечающий всем вашим потребностям.
После первой установки десктопа, вы можете попробовать сделать шаг
вперед с misc/instant-workstation.
Этот <<мета-порт>> позволяет вам собрать типичный набор
портов для рабочей станции. Вы можете настроить его, редактируя
/usr/ports/misc/instant-workstation/Makefile
.
Следуйте синтаксису существующего файла при добавлении и удалении
портов, соберите порт как обычно. В конечном итоге, вы можете
создать большой пакет, соответствующий вашему собственному десктопу,
и установить его на другие рабочие станции!
Вот небольшой обзор всех графических приложений, о которых говорилось в этой главе:
Имя приложения | Имя пакета | Имя порта |
---|---|---|
Mozilla | mozilla | www/mozilla |
Opera | linux-opera | www/linux-opera |
Firefox | firefox | www/firefox |
KOffice | koffice-kde3 | editors/koffice-kde3 |
AbiWord | abiword | editors/abiword |
The GIMP | gimp | graphics/gimp1 |
OpenOffice.org | openoffice | editors/openoffice |
Acrobat Reader(R) | acroread | print/acroread7 |
gv | gv | print/gv |
Xpdf | xpdf | graphics/xpdf |
GQview | gqview | graphics/gqview |
GnuCash | gnucash | finance/gnucash |
Gnumeric | gnumeric | math/gnumeric |
Abacus | abacus | deskutils/abacus |
FreeBSD поддерживает большое количество различных звуковых карт, что позволяет вам насладится высококачественным звуком. Это также дает возможность записывать и воспроизводить звуковые файлы в формате MPEG Audio Layer 3 (MP3), WAV, Ogg Vorbis, а также во множестве других форматов. Коллекция Портов FreeBSD также содержит ряд приложений, позволяющих редактировать записанные звуковые файлы, добавлять звуковые эффекты, управлять подключенными MIDI устройствами.
FreeBSD может поддерживать воспроизведение видеофайлов и DVD. Количество приложений, позволяющих кодировать, преобразовывать и воспроизводить различные форматы видео, существенно меньше количества приложений для работы со звуком. Например, на время написания этого документа в Коллекции Портов FreeBSD не существовало хорошего приложения для преобразования видео, которое могло бы быть использовано для преобразований между разными форматами, как, например, audio/sox. Впрочем, ситуация в этой области меняется быстро.
Эта глава описывает необходимые шаги для настройки вашей звуковой карты. Настройка и установка X11 (Глава 6, X Window System) уже охватывает вопросы, связанные с аппаратными установками вашей видеокарты, хотя могут быть возможности дополнительной настройки для улучшения воспроизведения.
После прочтения этой главы вы будете знать:
Как настроить систему так, чтобы звуковая карта была опознана.
Методы проверки работы звуковой карты при помощи тестовых приложений.
Как исправить проблемы, возникающие при работе со звуковыми картами.
Как прослушать и создать MP3 и другие форматы.
Как X сервер поддерживает видео.
Некоторые проигрыватели и кодировщики видео, которые показывают хорошие результаты.
Как воспроизвести DVD, .mpg
и
.avi
файлы.
Как скопировать информацию с CD и DVD в файлы.
Как настроить ТВ тюнер.
Как настроить сканер.
Перед чтением этой главы вам потребуется:
Узнать, как конфигурировать и устанавливать новое ядро (Глава 9, Настройка ядра FreeBSD).
Попытка смонтировать аудио CD при помощи команды mount(8) как минимум, сообщит об ошибке и, как максимум, может привести к панике ядра. Эти носители имеют специальные форматы, которые отличны от обычной файловой системы ISO.
Перед тем как начать, определите модель вашей карты, процессор, который она использует, и интерфейс карты: PCI или ISA. FreeBSD поддерживает множество разных PCI и ISA карт. Сверьтесь со списком поддерживаемых аудио устройств в Информации об оборудовании, чтобы проверить, поддерживается ли ваша карта. Этот документ также содержит информацию о том, какой драйвер поддерживает вашу карту.
Для того, чтобы использовать звуковую карту, вы должный загрузить соответствующий драйвер устройства. Этого можно достигнуть двумя путями. Простейший способ - это просто загрузить соответствующий вашей карте модуль ядра используя kldload(8), что можно сделать или из командной строки:
#
kldload snd_emu10k1
или добавлением соответствующей строки к файлу
/boot/loader.conf
:
snd_emu10k1_load="YES"
Эти примеры приведены для звуковой карты Creative
SoundBlaster(R) Live!. Другие имеющиеся модули драйверов
звуковых карты приведены в
/boot/defaults/loader.conf
Если вы не уверены, какой драйвер использовать, попробуйте загрузить
snd_driver
:
#
kldload snd_driver
Это мета-драйвер, загружающий сразу все наиболее распространенные
драйверы сразу. Это повышает скорость поиска правильного драйвера.
Возможна также загрузка всех звуковых драйверов через
/boot/loader.conf
.
Для того чтобы узнать, какой именно драйвер требуется для вашей
звуковой карты, вы можете проверить содержимое файла
/dev/sndstat
при помощи команды
cat /dev/sndstat
.
Другой способ заключается в добавлении статического драйвера в ядро. В разделе ниже дана более подробная информация о том, что вам нужно сделать для добавления поддержки оборудования. Более подробно о конфигурация ядра описана в Глава 9, Настройка ядра FreeBSD.
Первое, что необходимо сделать, это добавить в ядро общий звуковой драйвер sound(4). Добавьте в файл конфигурации ядра следующую строку:
device sound
Затем необходимо добавить поддержку имеющейся звуковой карты. Следовательно, нужно знать какой драйвер поддерживает карту. Для этого сверьтесь со списком поддерживаемых устройств из Информации об оборудовании. Например, звуковая карта Creative SoundBlaster(R) Live! поддерживается драйвером snd_emu10k1(4). Для добавления поддержки этой карты, используйте:
device snd_emu10k1
Прочтите страницу справочника драйвера, чтобы узнать,
какой синтаксис использовать. Информация, относящаяся
к синтаксису включения звуковых драйверов в файл конфигурации
ядра, может быть также найдена в файле
/usr/src/sys/conf/NOTES
.
Не-PnP ISA карты могут потребовать включения в ядро
информации о настройках звуковой карты (IRQ, I/O port,
и т.д.). Эта информация добавляется редактированием
файла /boot/device.hints
.
Во время загрузки системы loader(8) прочтет этот
файл и передаст настройки ядру. Например, старая ISA не-PnP карта
Creative SoundBlaster(R) 16 использует драйвер snd_sbc(4)
совместно с snd_sb16(4). Для этой карты к файлу настройки ядра
необходимо добавить следующие строки:
device snd_sbc device snd_sb16
и со следующей информацией в
/boot/device.hints
:
hint.sbc.0.at="isa" hint.sbc.0.port="0x220" hint.sbc.0.irq="5" hint.sbc.0.drq="1" hint.sbc.0.flags="0x15"
В данном случае, карта использует порт ввода-вывода
0x220
и IRQ 5
.
Синтаксис, используемый в файле
/boot/device.hints
, описан в справочной
странице драйвера.
Установки, приведенные выше, используются по умолчанию. В некоторых случаях вам может потребоваться изменить IRQ или другие настройки в соответствии с настройками карты. За более подробной информацией обратитесь к странице справочника snd_sbc(4).
После перезагрузки модифицированного ядра, или после загрузки необходимого модуля, звуковая карта должна появиться в буфере системных сообщений (dmesg(8)) примерно так:
pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: <Cirrus Logic CS4205 AC97 Codec>
Статус звуковой карты может быт проверен через файл
/dev/sndstat
:
#
cat /dev/sndstat
FreeBSD Audio Driver (newpcm) Installed devices: pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384 kld snd_ich (1p/2r/0v channels duplex default)
Вывод этой команды для вашей системы может отличаться.
Если устройства pcm
не появились, вернитесь
назад и проверьте выполненные действия. Проверьте файл настройки
ядра еще раз и убедитесь, что выбрано подходящее устройство.
Часто встречающиеся проблемы приведены в Раздел 8.2.2.1, <<Часто встречающиеся проблемы>>.
Если всё пройдет удачно, звуковая карта заработает. Если CD-ROM или DVD-ROM привод правильно подключён к звуковой карте, вы можете вставить CD в привод и воспроизвести его при помощи cdcontrol(1).
%
cdcontrol -f /dev/acd0 play 1
Различные приложения, например audio/workman могут предоставить
более дружественный
пользователю интерфейс. Вы можете также установить
приложения для прослушивания звуковых файлов MP3, как например
audio/mpg123. Быстрым способом
тестирования звуковой карты является отправка данных в
файл /dev/dsp
, как показано здесь:
%
cat
filename
> /dev/dsp
где filename
может быть любым
файлом. Результатом выполнения этой команды станет шум,
который означает, что звуковая карта на самом деле
работает.
Уровни громкости звука могут быть изменены командой mixer(8). Более подробная информация находится на странице справочной системы mixer(8).
Ошибка | Решение |
---|---|
unsupported subdevice XX | Одно или более устройств не были правильно созданы. Повторите приведенные выше шаги. |
sb_dspwr(XX) timed out | Порт ввода-вывода указан неправильно. |
bad irq XX | IRQ установлен неправильно. Убедитесь, что настройки в системе и на карте одинаковы. |
xxx: gus pcm not attached, out of memory | Для использования устройства недостаточно памяти. |
xxx: can't open /dev/dsp! | Проверьте с помощью |
Достаточно часто встречается необходимость иметь несколько источников звука, которые должны воспроизводить одновременно, например когда esound или artsd не поддерживают совместное использование звукового устройства с некоторым приложением.
FreeBSD позволяет делать это при помощи виртуальных звуковых каналов, которые могут быть настроены с помощью sysctl(8). Виртуальные каналы позволяют вам мультиплексировать каналы воспроизведения звуковой карты, смешивая звук в ядре.
Для установки количества виртуальных каналов вы можете использовать
две переменные sysctl, которые, если вы пользователь root
,
могут быть установлены таким образом:
#
sysctl hw.snd.pcm0.vchans=4
#
sysctl hw.snd.maxautovchans=4
В этом примере выделяются четыре виртуальных канала, чего вполне
достаточно для повседневного использования.
hw.snd.pcm0.vchans
это количество виртуальных каналов
устройства pcm0
, оно может быть установлено сразу
же, как только устройство было подключено.
hw.snd.maxautovchans
это количество виртуальных
каналов, которые выделяются новому аудио устройству, когда оно
подключается при помощи kldload(8). Так как модуль
pcm
может быть загружен независимо от аппаратных
драйверов, hw.snd.maxautovchans
может указывать
количество виртуальных каналов для любых устройств, которые будут подключены
позже.
Количество виртуальных каналов не может быть изменено, если аудио устройство занято. Вам потребуется предварительно закрыть все программы, работающие со звуком, такие как медиа-проигрыватели или звуковые даемоны.
Если вы не используете devfs(5), необходимо будет указать
приложениям
/dev/dsp0
.x
, где
x
это число от 0 до 3, если
hw.snd.pcm0.vchans
установлено в значение 4. Для
системы, использующей devfs(5), вышеуказанные настройки будут
сделаны автоматически прозрачно для пользователя.
Значения по умолчанию для различных каналов mixer жестко
прописаны в исходных текстах драйвера pcm(4). Существует
множество различных приложений и даемонов, которые позволяют
устанавливать значения для mixer, которые они запоминают
и выставляют каждый раз при запуске, но это не совсем
правильное решение, нам нужны значения по умолчанию на уровне
драйвера. Они могут быть установлены путем указания
в /boot/device.hints
. Например:
hint.pcm.0.vol="100"
Установит значение для канала volume в значение по умолчанию 100, как только будет загружен модуль pcm(4).
MP3 (MPEG Layer 3 Audio) достигает качества звука, близкого к CD, и нет причин не воспользоваться им на вашей рабочей станции.
На данный момент наиболее популярным MP3-проигрывателем для X11 является XMMS (X Multimedia System). Скины приложения WinAMP могут быть использованы для XMMS так как графический интерфейс пользователя практически идентичен интерфейсу программы WinAMP от Nullsoft. XMMS поддерживает также собственные расширения.
XMMS может быть установлен из порта или пакета multimedia/xmms.
Интерфейс XMMS интуитивно понятен и включает в себя список песен, графический эквалайзер и многое другое. Те, кто знаком с WinAMP, найдут XMMS очень простым в использовании.
Порт audio/mpg123 является альтернативой, это MP3-проигрыватель для командной строки.
mpg123 может быть запущен с указанием звукового устройства и файла MP3 в командной строке как показано ниже:
#
mpg123 -a
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! Playing MPEG stream from Foobar-GreatestHits.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo/dev/dsp1.0
Foobar-GreatestHits.mp3
/dev/dsp1.0
должно быть заменено соответствующим
устройством dsp
для вашей системы.
Перед тем как преобразовывать CD или дорожку CD в MP3, аудио данные на CD должны быть скопированы на жёсткий диск. Это можно сделать путём копирования данных CDDA (CD Digital Audio) в файл WAV.
Утилита cdda2wav
, которая является частью пакета
sysutils/cdrtools, может быть
использована для копирования аудио информации с CD, а также различной
связанной информации.
Когда музыкальный CD находится в приводе, следующая команда может
быть выполнена под root
для того,
чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV
файлы:
#
cdda2wav -D
0,1,0
-B
cdda2wav поддерживает ATAPI (IDE) приводы CDROM. Для копирования с IDE привода, укажите имя устройства вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую аудио дорожку с IDE-привода:
#
cdda2wav -D
/dev/acd0
-t 7
Параметр -D
указывает устройство SCSI 0,1,0
0,1,0
,
соответственно результату работы cdrecord
-scanbus
.
Для того, чтобы копировать отдельные дорожки, используйте параметр
-t
как показано ниже:
#
cdda2wav -D
0,1,0
-t 7
Этот пример показывает как скопировать 7-ю дорожку музыкального CD. Для того чтобы скопировать набор дорожек, например, с первой по седьмую, укажите диапазон:
#
cdda2wav -D
0,1,0
-t 1+7
Утилита dd(1) также может быть использована для копирования аудио дорожек на приводах ATAPI, для того, чтобы узнать больше об этом, прочитайте Раздел 17.6.5, <<Копирование аудио CD>>.
На сегодняшний день наилучшим выбором программы для создания mp3 является lame. Lame находится в дереве портов в подкаталоге audio/lame.
Используя скопированные файлы WAV, следующая команда преобразует
audio01.wav
в
audio01.mp3
:
#
lame -h -b
128
\ --tt "Foo Song Title
" \ --ta "FooBar Artist
" \ --tl "FooBar Album
" \ --ty "2001
" \ --tc "Ripped and encoded by Foo
" \ --tg "Genre
" \audio01.wav audio01.mp3
Частота 128 килобит является стандартом "де факто" для MP3. Многие,
однако, используют более высокие частоты для получения лучшего
качества, 160 или 192 килобита. Чем выше частота, тем больше дискового
пространства будет занимать получаемый MP3, но качество будет выше.
Параметр -h
включает режим <<лучшее качество, но
меньше скорость>>. Параметры, начинающиеся с --t
указывают теги ID3, которые обычно содержат информацию о песне,
включаемую в файл MP3. О дополнительных настройках преобразования можно
узнать, прочитав страницу руководства lame.
Для того, чтобы записать музыкальный CD из файлов MP3, они должны быть преобразованы в несжатый формат WAV. Как XMMS, так и mpg123 поддерживают вывод MP3 в распакованный формат файлов.
Запись на диск в XMMS:
Запустите XMMS:
Нажмите правой кнопкой мыши в главном окне XMMS для того, чтобы показать меню.
Выберите Preferences
(либо
Свойства
, если у вас локализованная версия
XMMS) в
Options
.
Измените расширение вывода на <<Disk Writer Plugin>> (или <<Расширение записи на диск>>, если у вас локализованная версия XMMS).
Нажмите Configure
(или
<<Настройка>>, если у вас локализованная версия
XMMS).
Введите (или выберите при помощи обзора) каталог, в который следует сохранять распакованные файлы.
Загрузите файл MP3 в XMMS как вы это делаете обычно. Установите громкость на 100% и отключите эквалайзер.
Нажмите Воспроизвести
-
XMMS будет выглядеть так же как и при
обычном воспроизведении MP3, но самой музыки слышно не будет. На
самом деле MP3 воспроизводится в файл.
Убедитесь, что вы установили расширение вывода таким, как оно было до этого, для того, чтобы снова слушать MP3.
Запись в stdout в mpg123:
Запустите mpg123 -s
audio01.mp3
> audio01.pcm
XMMS записывает файл в формате WAV, в то время как mpg123 преобразовывает MP3 в простые аудио данные PCM. Оба формата могут быть использованы cdrecord для создания музыкальных CD. Для использования burncd(8) вам потребуются простые аудио данные PCM. Если же вы будете использовать файлы в формате WAV, то заметите небольшой щелчок в начале каждой аудио дорожки, этот щелчок - заголовок файла в формате WAV. Вы очень просто можете избавиться от него путём удаления заголовка WAV при помощи утилиты SoX (она может быть установлена из порта audio/sox или соответствующего пакета:
%
sox -t wav -r 44100 -s -w -c 2
track.wav track.raw
Прочтите Раздел 17.6, <<Запись и использование оптических носителей (CD)>> для того, чтобы узнать больше о записи CD в FreeBSD.
Воспроизведение видео является очень новой и быстро развивающейся областью применения. Будьте терпеливы. Не всё будет работать так беспроблемно, как это было со звуком.
Прежде, чем вы начнёте, определите модель видеокарты и чипсет, который она использует. Хотя Xorg и XFree86TM поддерживают множество различных видеокарт, только их малая часть показывает хорошую скорость воспроизведения видео. Для того, чтобы получить список расширений, поддерживаемых X-сервером, который используется вашей видеокартой, используйте команду xdpyinfo(1) во время работы X11.
Неплохо также иметь небольшой файл MPEG, который бы использовался
как тестовый файл для проверки различных проигрывателей и настроек. Так
как некоторые проигрыватели DVD будут искать носитель DVD как
/dev/dvd
по умолчанию или быть жёстко настроены
на него, возможно будет полезно сделать символические ссылки на
правильные устройства:
#
ln -sf /dev/acd0 /dev/dvd
#
ln -sf /dev/acd0 /dev/rdvd
Обратите внимание, природа devfs(5) такова, что такие созданные
вручную ссылки не сохраняются при перезагрузке системы. Для
автоматического создания символических ссылок при каждой загрузке
системы добавьте в /etc/devfs.conf
следующие строки:
link acd0 dvd link acd0 rdvd
Кроме того, декодирование DVD требует доступа к специальным функциям DVD-ROM, поэтому должен быть доступ на запись для устройств DVD.
Для того, чтобы улучшить работу разделяемой памяти X11, рекомендуется увеличить значения некоторых переменных sysctl(8):
kern.ipc.shmmax=67108864 kern.ipc.shmall=32768
Существует несколько возможных путей отображения видео под X11. Что именно будет действительно работать, во многом зависит от аппаратного обеспечения. Каждый из описанных методов будет работать с различным качеством на разном аппаратном обеспечении. Во-вторых, воспроизведение видео в X11, это тема, которой уделяется достаточно много внимания последнее время, и с каждой новой версией Xorg или XFree86TM могут наблюдаться значительные улучшения.
Список наиболее часто используемых видеоинтерфейсов:
X11: обычный вывод X11 с использованием разделяемой памяти.
XVideo: расширение интерфейса X11, которое поддерживает видео в любом объекте X11.
SDL: the Simple Directmedia Layer.
DGA: the Direct Graphics Access - прямой доступ для графики.
SVGAlib: низкоуровневый доступ к графике на консоли.
Xorg и XFree86TM 4.X включают в себя расширение, называющееся XVideo (также известное как Xvideo, Xv и xv), которое позволяет отображать видео прямо на объектах при помощи специального ускорения. Это расширение предоставляет очень хорошее качество воспроизведения даже на low-end машинах.
Для того чтобы проверить, работает ли это расширение, используйте
команду xvinfo
:
%
xvinfo
XVideo поддерживается вашей видеокартой, если результат выглядит приблизительно так:
X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 port base: 43 operations supported: PutImage supported visuals: depth 16, visualID 0x22 depth 16, visualID 0x23 number of attributes: 5 "XV_COLORKEY" (range 0 to 16777215) client settable attribute client gettable attribute (current value is 2110) "XV_BRIGHTNESS" (range -128 to 127) client settable attribute client gettable attribute (current value is 0) "XV_CONTRAST" (range 0 to 255) client settable attribute client gettable attribute (current value is 128) "XV_SATURATION" (range 0 to 255) client settable attribute client gettable attribute (current value is 128) "XV_HUE" (range -180 to 180) client settable attribute client gettable attribute (current value is 0) maximum XvImage size: 1024 x 1024 Number of image formats: 7 id: 0x32595559 (YUY2) guid: 59555932-0000-0010-8000-00aa00389b71 bits per pixel: 16 number of planes: 1 type: YUV (packed) id: 0x32315659 (YV12) guid: 59563132-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x30323449 (I420) guid: 49343230-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x36315652 (RV16) guid: 52563135-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x3e0, 0x7c00 id: 0x35315652 (RV15) guid: 52563136-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x7e0, 0xf800 id: 0x31313259 (Y211) guid: 59323131-0000-0010-8000-00aa00389b71 bits per pixel: 6 number of planes: 3 type: YUV (packed) id: 0x0 guid: 00000000-0000-0000-0000-000000000000 bits per pixel: 0 number of planes: 0 type: RGB (packed) depth: 1 red, green, blue masks: 0x0, 0x0, 0x0
Следует заметить, что перечисленные форматы (YUV2, YUV12 и т.п.) не присутствуют в каждой реализации XVideo и их отсутствие может быть помехой для некоторых проигрывателей.
Если результат выглядит так:
X-Video Extension version 2.2 screen #0 no adaptors present
то, возможно, XVideo не поддерживается для вашей видеокарты.
Если XVideo не поддерживается вашей видеокартой, то это всего лишь означает, что будет сложнее получить приемлемые для воспроизведения видео вычислительные мощности. В зависимости от вашей видеокарты и процессора, возможно, вы сможете получить удовлетворительный результат. Возможно, вы должны будете прочитать о путях улучшения производительности в Раздел 8.4.3, <<Дальнейшее чтение>>.
SDL был задуман как уровень абстракции для разработки кросплатформенных приложений под Microsoft(R) Windows(R), BeOS и UNIX(R), позволяя им эффективно использовать звук и графику. SDL предоставляет низкоуровневые абстракции для аппаратного обеспечения, и может быть более эффективным чем интерфейс X11.
SDL есть в Коллекции портов FreeBSD: devel/sdl12.
DGA это расширение X11, которое позволяет программам напрямую
изменять кадровый буфер (framebuffer) без участия X-сервера. Поскольку
DGA основывается на низкоуровневом доступе к памяти, программы, которые
используют его должны исполняться от пользователя
root
.
Расширение DGA может быть протестировано при помощи dga(1).
Когда dga
запущена, она изменяет цвета на экране при
каждом нажатии клавиш. Для того, чтобы выйти из неё, используйте
q.
Этот раздел обсуждает программное обеспечение для работы с видео из Коллекции Портов FreeBSD. Воспроизведение видео является очень активной сферой разработок программного обеспечения и возможности различных приложений могут несколько отличаться от описанных здесь.
Во-первых, важно помнить, что многие приложения для работы с видео, которые работают на FreeBSD, были разработаны как приложения Linux. Многие из этих приложений все еще бета-качества. Вот некоторые проблемы, которые могут встретиться в работе видео пакетов на FreeBSD:
Приложение не может воспроизвести файл, который создало другое приложение.
Приложение не может воспроизвести файл, который создало само.
Одно и то же приложение на разных машинах, скомпилированное на каждой машине специально для неё, воспроизводит один и тот же файл различно.
Кажущийся тривиальным фильтр, например фильтр изменения размеров изображения, приводит к очень плохим <<артефактам>> из-за неправильной функции изменения размера.
Приложение часто не работает (оставляет core-файл).
Документация не устанавливается вместе с портом и может быть
найдена лишь на сайте или в каталоге порта
work
.
Многие из этих приложений могут также проявлять <<линуксизмы>>. Так, это могут быть некоторые проблемы, связанные со способом реализации некоторых стандартных библиотек в дистрибутивах Linux, или некоторыми дополнительными возможностями ядра Linux, которые авторы приложений посчитали существующими везде. Эти проблемы не всегда могут быть обнаружены людьми, поддерживающими порт (порты), вследствие чего могут возникнуть проблемы, сходные с нижеперечисленными:
Использование /proc/cpuinfo
для того, чтобы
определить характеристики процессора.
Неправильное использование нитей (threads), которое может привести к зависанию программы при завершении вместо нормального выхода.
Программного обеспечения, которое обычно используется совместно с данным приложением, ещё нет в Коллекции Портов FreeBSD.
Таким образом, разработчики этих приложений должны сотрудничать с людьми, поддерживающими порты, для того, чтобы минимизировать количество обходных путей, необходимых для портирования.
MPlayer это недавно разработанный и быстро развивающийся проигрыватель видео. Задачами команды разработчиков MPlayer являются скорость и гибкость при работе на Linux и других Unix-системах. Проект был начат, когда его основатель стал сыт по горло плохой производительностью и качеством проигрывателей того времени. Некоторые могут сказать, что графический интерфейс был принесён в жертву рационализированному дизайну. Однако, как только вы привыкнете к опциям командной строки MPlayer и его управлению с клавиатуры, всё будет хорошо.
MPlayer находится в multimedia/mplayer. MPlayer производит
различные тесты аппаратного обеспечения во время процесса компиляции,
в результате чего полученные исполняемые модули не могут быть
перенесены с одной системы на другую. Поэтому важно собирать его из
портов, а не использовать бинарный пакет. Также, при сборке вы можете
указать различные установки при помощи параметров командной строки
make
, как описывается в
Makefile
в начале сборки:
#
cd /usr/ports/multimedia/mplayer
#
make
N - O - T - E Take a careful look into the Makefile in order to learn how to tune mplayer towards you personal preferences! For example, make WITH_GTK1 builds MPlayer with GTK1-GUI support. If you want to use the GUI, you can either install /usr/ports/multimedia/mplayer-skins or download official skin collections from http://www.mplayerhq.hu/homepage/dload.html
Параметры порта по умолчанию должны подходить большинству
пользователей. Однако, если вам необходим кодек XviD,
необходимо указать в командной строке параметр
WITH_XVID
. Устройство
DVD по умолчанию также может быть указано в командной
строке параметром WITH_DVD_DEVICE
,
по умолчанию используется /dev/acd0
.
На время написания данного документа порт
MPlayer'а собирает и устанавливает свою
документацию в формате HTML и два исполняемых файла,
mplayer
и mencoder
,
который является утилитой для перекодировки видео.
Документация к MPlayer очень информативна. Если читатель найдет информацию этой главы о аппаратном обеспечении для поддержки видео и интерфейсах недостаточной, то документация MPlayer будет очень хорошим дополнением. Обязательно уделите время чтению документации MPlayer, если вам нужна информация о поддержке видео под UNIX(R).
Каждый пользователь MPlayer должен
создать подкаталог .mplayer
в своем домашнем
каталоге. Для того, чтобы его создать, выполните следующие
действия:
%
cd /usr/ports/multimedia/mplayer
%
make install-user
Параметры для mplayer
перечислены в страничке
руководства mplayer. За более подробной информацией вы можете обратиться
к документации в формате HTML. В этом разделе мы опишем несколько самых
распространённых случаев использования mplayer.
Для того, чтобы воспроизвести файл, например
через один из многих видеоинтерфейсов,
используйте параметр testfile.avi
-vo
:
%
mplayer -vo xv testfile.avi
%
mplayer -vo sdl testfile.avi
%
mplayer -vo x11 testfile.avi
#
mplayer -vo dga testfile.avi
#
mplayer -vo 'sdl:dga' testfile.avi
Стоит испробовать все варианты интерфейсов, так как их производительность зависит от множества факторов и будет заметно меняться в зависимости от аппаратного обеспечения.
Для того, чтобы воспроизвести DVD, замените
testfile.avi
на dvd://
, где N
-dvd-device
DEVICE
N
является номером
дорожки, с которой следует начать воспроизведение и
файл устройства
привода DVD. Например, для того, чтобы воспроизвести дорожку 3 с
DEVICE
/dev/dvd
:
#
mplayer -vo xv dvd://3 -dvd-device /dev/dvd
Устройство DVD по умолчанию может быть определено во время
сборки порта MPlayer параметром
WITH_DVD_DEVICE
. По умолчанию,
это устройство /dev/acd0
. Дополнительную
информацию можно найти в Makefile
порта.
Для того, чтобы остановить, приостановить или продолжить
воспроизведение, воспользуйтесь привязкой клавиш, информация о которой
может быть получена посредством запуска mplayer -h
, либо
на страничке документации.
Дополнительные, достаточно важные параметры воспроизведения:
-fs -zoom
, которые включают полноэкранный режим и
-framedrop
, который улучшает производительность на
медленных системах.
Для того, чтобы командная строка запуска mplayer не становилась
слишком большой, пользователь может создать файл
.mplayer/config
и установить параметры по умолчанию
там:
vo=xv fs=yes zoom=yes
Также mplayer
может быть использован для
копирования дорожек DVD в .vob
файлы. Для того,
чтобы скопировать вторую дорожку DVD необходимо выполнить следующую
команду:
#
mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd
Полученный файл, out.vob
, будет представлять
собой MPEG, с которым можно производить различные действия при помощи
программ, которые будут описаны далее в этом разделе.
Перед использованием
mencoder
, было бы
неплохо ближе ознакомится с его параметрами, используя документацию в
формате HTML. Также существует страничка справочника mplayer, но она не
очень полезна без HTML документации. Существует бесчисленное множество
способов улучшения качества, снижения битрейта и изменения формата; и
некоторые из этих приёмов могут влиять на производительность. Ниже
приведено несколько примеров использования mencoder
.
Во-первых, простое копирование:
%
mencoder input.avi -oac copy -ovc copy -o output.avi
Неправильная комбинация параметров командной строки может привести к
появлению файлов, которые невозможно будет
воспроизвести даже mplayer
. Поэтому, если вы хотите
скопировать изображение в файл, лучше использовать только параметр
mplayer
-dumpfile
.
Для того, чтобы преобразовать input.avi
в MPEG4
со звуком в формате MPEG Audio Layer 3 (MP3) (требуется audio/lame):
%
mencoder input.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
Эта команда создаст файл, воспроизводимый mplayer
и xine
.
input.avi
может быть заменён на
dvd://1 -dvd-device /dev/dvd
и
mplayer
, запущенный от
пользователя root
, будет преобразовывать дорожку DVD
напрямую. Так как первый раз, скорее всего, вы будете недовольны
полученными результатами, всё же рекомендуется копировать
дорожку в файл и работать затем с файлом.
xine - это большой проект, в задачи которого входит не только создание решения для видео все-в-одном, но и создание базовой библиотеки с возможностью расширения путем использования плагинов. Поставляется он как в виде порта, так и в виде пакета, multimedia/xine.
xine все еще несовершенен, но все-таки это хорошее начало. На практике xine требует либо быстрого процессора с быстрой видеокартой или поддержки расширения XVideo. Графический интерфейс можно использовать, но он все еще немного неуклюж.
На время написания этого документа в поставке xine не существовало модуля ввода, который бы мог воспроизводить DVD, закодированные по алгоритму CSS. Существуют сборки, в которых есть такой модуль, но ни одна из них не входит в Коллекцию Портов FreeBSD.
По сравнению с MPlayer, xine является более дружелюбным к пользователю, но, в то же время, скрывает более тонкие настройки и управление от пользователя. Также xine лучше работает на XVideo интерфейсах.
По умолчанию, xine запускается с графическим интерфейсом. Для открытия файлов используются меню.
%
xine
В качестве альтернативы можно использовать его для запуска файла непосредственно, без GUI, следующей командой:
%
xine -g -p mymovie.avi
Приложение transcode не является
проигрывателем. Это набор инструментов для преобразования
видео и звуковых файлов. При помощи
transcode можно объединять видеофайлы,
исправлять поврежденные файлы, использовать инструменты командной строки
для работы с потоками ввода/вывода
stdin/stdout
.
Большое количество опций может быть указано во время сборки порта multimedia/transcode. Для сборки transcode мы рекомендуем использовать следующую командную строку:
#
make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ WITH_MJPEG=yes -DWITH_XVID=yes
Предложенных установок должно быть достаточно для большинства пользователей.
Для иллюстрации возможностей transcode
приводится пример, показывающий как сконвертировать файл
DivX формата в PAL MPEG-1 файл (PAL VCD):
%
transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
%
mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa
Итоговый MPEG файл
output_vcd.mpg
может быть проигран с помощью
MPlayer. Вы можете даже записать файл
на CD-R носитель для создания Video CD. В этом случае, вам нужно
будет установить и использовать программы multimedia/vcdimager и sysutils/cdrdao.
Существует страничка справочника для transcode
, но
вы также должны проконсультироваться с transcode
wiki для получения более детальной информации и
примеров.
Различные пакеты видео программ для FreeBSD интенсивно разрабатываются. Очень возможно, что в ближайшем будущем многие обсуждаемые здесь проблемы разрешатся. Это займет время, и те, кто желает получить максимум от аудио/видео возможностей FreeBSD, должны будут собирать необходимые знания из нескольких списков часто задаваемых вопросов и обучающих статей, а также использовать различные приложения. Этот раздел существует для того, чтобы читатель мог получить указания на несколько источников дополнительной информации.
Документация MPlayer очень содержательна в техническом плане. Возможно, эти документы должны использоваться любым человеком, желающим получить высокий уровень знаний о видео на UNIX(R) системах. Список рассылки MPlayer враждебен для любого, кто не потрудился прочитать документацию, так что, если у вас есть желание сообщать о найденных ошибках, прочитайте вначале документацию.
xine HOWTO содержит главу об улучшении производительности, которая применима к любому проигрывателю.
Наконец, существует несколько многообещающих приложений, которые читатель может испробовать:
Avifile, для которого также существует порт multimedia/avifile.
Ogle, для которого также существует порт multimedia/ogle.
multimedia/dvdauthor, пакет с открытыми текстами для распространения DVD контента.
ТВ тюнеры предназначены для просмотра широковещательного или кабельного телевидения на компьютере. Большинство тюнеров поддерживают композитный видео вход RCA или S-video, а некоторые из них поставляются с FM радио тюнером.
FreeBSD поддерживает PCI ТВ тюнеры, использующие Brooktree Bt848/849/878/879 или Conexant CN-878/Fusion 878a Video Capture Chip через драйвер bktr(4). Вы должны также убедиться, что тюнер поддерживается; обратитесь к странице справочника bktr(4) за списком поддерживаемых тюнеров.
Для использования карты потребуется загрузить драйвер
bktr(4), что можно сделать, добавив в
/boot/loader.conf
следующую строку:
bktr_load="YES"
В качестве альтернативы, вы можете статически скомпилировать ядро с поддержкой ТВ тюнера; добавьте следующие строки в файл конфигурации ядра:
device bktr device iicbus device iicbb device smbus
Эти дополнительные драйвера устройств необходимы, поскольку компоненты карты соединены через шину I2C. Затем соберите и установите новое ядро.
Как только поддержка тюнера будет добавлена в систему, перегрузите компьютер. Во время загрузки TV карта должна отобразить примерно такие строки:
bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0 iicbb0: <I2C bit-banging driver> on bti2c0 iicbus0: <Philips I2C bus> on iicbb0 master-only iicbus1: <Philips I2C bus> on iicbb0 master-only smbus0: <System Management Bus> on bti2c0 bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
Конечно, эти сообщения будут различаться на разном оборудовании. Тем не менее, проверьте, что тюнер определяется правильно; возможна перезапись параметров, определенных ядром, с помощью sysctl(8) MIB и параметров в файле настройки ядра. Например, если вы хотите указать, что это Philips SECAM тюнер, добавьте следующую строку к файлу настройки ядра:
options OVERRIDE_TUNER=6
или прямо задайте переменную sysctl(8):
#
sysctl hw.bt848.tuner=6
Обратитесь к странице bktr(4) и файлу
/usr/src/sys/conf/NOTES
за более детальной
информацией о доступных параметрах.
Для использования ТВ тюнера вам потребуется установить одно из следующих приложений:
multimedia/fxtv предоставляет возможности ТВ-в-окне и захвата изображений/аудио/видео.
multimedia/xawtv это также приложение для ТВ тюнера, с теми же, что и у fxtv возможностями.
misc/alevt раскодирует и отображает видеотекст/телетекст.
audio/xmradio, приложение для использования с FM радио тюнером, поставляемым с некоторыми ТВ тюнерами.
audio/wmtune, это удобное приложение для радио тюнеров.
В коллекции портов FreeBSD можно найти и другие приложения.
Если вы столкнулись с какой-либо проблемой, связанной с ТВ тюнером, проверьте в первую очередь поддержку микросхемы захвата видео и тюнера драйвером bktr(4), а также правильность установки параметров. За дальнейшей поддержкой и с вопросами о ТВ тюнере вы можете обращаться в freebsd-multimedia и использовать его архивы.
В FreeBSD доступ к сканерам обеспечивается программой SANE (Scanner Access Now Easy), обеспечивающей универсальный интерфейс (API) и доступной в коллекции портов FreeBSD. Для общения со сканерами SANE использует некоторые драйвера устройств FreeBSD.
FreeBSD поддерживает сканеры с интерфейсом как SCSI, так и USB. Убедитесь, что ваш сканер поддерживается SANE перед тем, как приступить к конфигурации. Для SANE существует список поддерживаемых устройств где находится информация о поддержке сканера и статусе этой поддержки. Кроме того, страница справочника uscanner(4) также перечисляет поддерживаемые устройства.
Как уже отмечалось, поддерживаются как SCSI, так и USB сканеры. В зависимости от интерфейса вашего сканера требуется поддержка разных драйверов устройств.
Стандартное ядро GENERIC
включает в себя
драйвера, необходимые для поддержки USB сканеров. Если вы
компилируете собственное ядро, убедитесь, что в его конфигурации
присутствуют строки
device usb device uhci device ohci device uscanner
В зависимости от чипсета USB, встроенного в вашу материнскую
плату, потребуется лишь один из драйверов device
uhci
или device ohci
, однако, наличие
обеих строк в конфигурации ядра никому не повредит.
Если вы не хотите перестраивать ядро, и при этом ваше ядро не
является стандартным (GENERIC
), вы можете
загрузить модуль драйвера поддержки сканеров uscanner(4)
при помощи команды kldload(8):
#
kldload uscanner
Для автоматической загрузки модуля при старте системы добавьте
в файл /boot/loader.conf
строку
uscanner_load="YES"
После перезагрузки с новым ядром или загрузки модуля подключите ваш USB сканер. В буфере системных сообщений (dmesg(8)) должна появиться строка об обнаружении сканера:
uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2
В данном случае сканер будет использовать устройство
/dev/uscanner0
.
Если ваш сканер имеет интерфейс SCSI, важно знать, к какому
контроллеру он подключен. В зависимости от контроллера потребуются
различные драйвера в файле конфигурации ядра. Стандартное ядро
GENERIC
поддерживает большинство
распространенных SCSI-контроллеров. Внимательно прочитайте файл
NOTES
и добавьте необходимые строки в файл
конфигурации вашего ядра. Помимо строки для драйвера адаптера,
вам потребуются следующие строки:
device scbus device pass
После установки и загрузки нового ядра, в буфере системных сообщений должны появиться строки о вашем сканере, например:
pass2 at aic0 bus 0 target 2 lun 0 pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device pass2: 3.300MB/s transfers
Если сканер не был включен в момент загрузки, его можно принудительно опознать, выполнив сканирование SCSI шины при помощи команды camcontrol(8):
#
camcontrol rescan all
Re-scan of bus 0 was successful Re-scan of bus 1 was successful Re-scan of bus 2 was successful Re-scan of bus 3 was successful
После этого сканер должен появиться в списке устройств:
#
camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0) <IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1) <AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3) <PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)
Более подробная информация о устройствах SCSI доступна на страницах справочника scsi(4) и camcontrol(8).
Система SANE состоит из двух частей: аппаратной поддержки (backend, graphics/sane-backends) и программной поддержки (frontend, graphics/sane-frontends). Первая часть обеспечивает собственно доступ к сканеру. Список поддерживаемых устройств SANE содержит информацию о необходимом вам аппаратном модуле. Вторая часть обеспечивает графический интерфейс для сканирования (xscanimage).
В первую очередь следует установить порт или пакет graphics/sane-backends, после чего при
помощи команды sane-find-scanner
проверить
поддержку сканера системой SANE:
#
sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
В выводе должны присутствовать интерфейс сканера и имя используемого устройства. Производитель и модель сканера могут отсутствовать: это нормально.
Некоторым USB сканерам может потребоваться загрузка прошивки. Подробности смотрите в страницах справочника драйвера сканера, sane-find-scanner(1) и sane(7).
Теперь необходимо убедиться, что сканер опознан программой
графического интерфейса. В состав системы
SANE входит утилита scanimage(1),
позволяющая работать со сканером из командной строки. Опция
-L
используется для показа информации
о сканере:
#
scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
Отсутствие сообщений или сообщение об отсутствии устройств
означает, что утилита scanimage(1) не смогла идентифицировать
сканер. В этом случае вам потребуется отредактировать файл
конфигурации аппаратного модуля и указать устройство, используемое
сканером. Все файлы настройки находятся в каталоге
/usr/local/etc/sane.d/
.
Такие проблемы присущи некоторым моделям USB сканеров.
Например, в случае USB сканера, описанного в Раздел 8.6.2.1, <sane-find-scanner
выдаст следующую информацию:
#
sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
Сканер обнаружен корректно, он использует интерфейс USB
и доступен через устройство /dev/uscanner0
.
Теперь попробуем идентифицировать его:
#
scanimage -L
No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).
Поскольку сканер не идентифицирован, нам потребуется изменить
файл конфигурации
/usr/local/etc/sane.d/epson.conf
.
В нашем примере использован сканер EPSON
Perfection(R) 1650, так что
мы знаем, что будет использоваться драйвер epson
.
Не забудьте прочитать комментарии в файле конфигурации. Требуемые
изменения весьма просты: закомментируйте все строки, описывающие
интерфейсы, не соответствующие интерфейсу вашего сканера (в нашем
случае, все строки, начинающиеся со scsi
: наш
сканер использует интерфейс USB), и добавьте в конец файла строку,
содержащую интерфейс и имя использованного устройства.
Мы добавим строку
usb /dev/uscanner0
Пожалуйста, прочтите комментарии в файле конфигурации, а также страницы справочника для более полной информации. Теперь мы можем проверить, что наш сканер опознан:
#
scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner
Наш USB сканер опознан. Не столь важно, что имя и номер модели
не совпадают, главное, что используются правильные имя устройства
и драйвер: `epson:/dev/uscanner0'
.
После того как команда scanimage -L
опознала
сканер, конфигурация завершена. Все готово к сканированию.
Хотя утилита scanimage(1) позволяет производить сканирование из командной строки, как правило, для сканирования предпочтительнее использовать графический интерфейс. Для этого в состав SANE входит простая, но эффективная утилита xscanimage (graphics/sane-frontends).
Другой популярной программой графического интерфейса к сканеру является Xsane (graphics/xsane). Эта программа поддерживает такие расширенные возможности, как разные режимы сканирования (фотокопия, факс и т.п.), цветокоррекцию, потоковое сканирование и другие. Оба приложения пригодны для использования в качестве плагинов сканирования для GIMP.
Все описанные операции выполнялись нами с привилегиями
суперпользователя (root
). Вам может
потребоваться дать доступ к сканеру другим пользователям.
Для этого необходимо разрешить доступ на чтение и запись
к файлу устройства, обслуживающему сканер. В нашем примере
USB сканер использует устройство /dev/uscanner0
,
принадлежащее группе operator
.
Добавление пользователя joe
в группу
operator
разрешит ему использовать сканер:
#
pw groupmod operator -m
joe
За подробностями обращайтесь к странице справочника pw(8).
Вам также потребуется установить нужные права доступа (0660 или 0664)
к устройству /dev/uscanner0
, поскольку по
умолчанию группа operator
может лишь
читать из него. Это достигается добавлением следующей строки
в файл /etc/devfs.rules
:
[system=5] add path uscanner0 mode 660
Затем добавьте в файл конфигурации системы
/etc/rc.conf
такую строку (после чего
перезагрузите систему):
devfs_system_ruleset="system"
Подробную информацию о правах на файлы устройств вы найдете на странице справочника devfs(8).
Разумеется, по соображениям безопасности, вы должны как следует
подумать, прежде чем добавлять пользователя в другие группы,
в особенности в группу operator
.
Ядро - это основная часть операционной системы FreeBSD. Оно ответственно за управление памятью, параметры безопасности, работу с сетью, доступ к дискам и многое другое. Несмотря на то, что FreeBSD становится всё более динамически конфигурируемой, иногда приходится собирать собственное ядро.
После прочтения этой главы вы узнаете:
Почему вам может понадобиться сборка собственного ядра.
Как написать файл конфигурации ядра или изменить существующий.
Как использовать файл конфигурации ядра для того, чтобы создать и собрать новое ядро.
Как установить новое ядро.
Что делать, если что-то не работает или работает не так, как должно.
Все команды, приводимые в этой главе в качестве примера,
должны выполняться от пользователя root
.
Традиционно в FreeBSD использовалось так называемое <<монолитное>> ядро. Это означает, что ядро - это одна большая программа, которая поддерживает фиксированный набор устройств и в случае, если необходимо изменить его поведение, требуется сборка нового ядра и перезагрузка компьютера уже с новым ядром.
На сегодняшний день FreeBSD быстро продвигается к модели, в которой большая часть функциональности содержится в модулях, которые могут быть при необходимости динамически загружены и выгружены из ядра. Это позволяет ядру использовать устройства, которые <<внезапно>> появились в системе (например, устройства PCMCIA в лэптопе) или добавлять новую функциональность в ядро, которая не была необходима в момент первоначальной сборки ядра. Такой подход известен как модульность ядра.
Несмотря на это, всё ещё иногда бывает необходимо, чтобы некоторая функциональность была вкомпилирована в ядро статически. В некоторых случаях это продиктовано тем, что эта функциональность настолько сильно привязана к ядру, что не может быть динамически загружаемой. В других случаях это может быть просто потому, что никто не уделил время написанию динамически загружаемого модуля для этой функциональности.
Сборка собственного ядра - один из наиболее важных ритуалов,
совершаемых опытными пользователями BSD. Несмотря на
длительность этого процесса, ваша FreeBSD останется только в выигрыше. В
отличие от ядра GENERIC
, которое должно поддерживать
широкий спектр аппаратного обеспечения, собственное ядро содержит поддержку
аппаратного обеспечения только вашего компьютера.
Это может давать следующие преимущества:
Меньшее время загрузки. Поскольку ядро будет пытаться определить только то аппаратное обеспечение, которое установлено в вашем компьютере, время, которое потребуется системе для загрузки, может значительно уменьшиться.
Уменьшение использования памяти.
Собственное ядро часто использует меньше памяти, чем ядро
GENERIC
, так как из него исключены
лишние драйвера и неиспользуемые функциональные возможности.
Это важно тем, что часть оперативной памяти постоянно занята
кодом ядра и поэтому не может быть выделена приложениям.
Именно по этой
причине собственное ядро особенно полезно при использовании систем с малым
объемом оперативной памяти.
Поддержка дополнительного аппаратного обеспечения. Собственное ядро
позволяет вам добавить поддержку устройств,
отсутствующих в ядре GENERIC
.
Перед тем, как углубиться в конфигурирование ядра, было бы разумно составить перечень установленного в компьютер аппаратного обеспечения. Если FreeBSD не является основной операционной системой, то перечень оборудования может быть легко составлен на основании анализа конфигурации текущей операционной системы. Например, Диспетчер устройств (Device Manager) от Microsoft(R) обычно содержит необходимую информацию об установленных устройствах. Диспетчер устройств находится на панели управления (control panel).
У некоторых версий Microsoft(R) Windows(R) есть значок Система (System), вызов которого отобразит экран, содержащий среди прочих и Диспетчер устройств.
Если других операционных систем на машине не установлено, системному
администратору придется искать эту информацию самостоятельно.
Один из методов подразумевает использование утилиты dmesg(8)
и команды man(1). У большинства драйверов во FreeBSD есть страницы
справочника, содержащие список поддерживаемого оборудования,
а найденные во время начальной загрузки устройства будут перечислены
в dmesg(8). К примеру, следующие строки информируют о том,
что драйвер psm
обнаружил мышь:
psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0
Этот драйвер необходимо будет включить в конфигурацию собственного ядра или загрузить посредством loader.conf(5).
В некоторых случаях dmesg
отображает
только системные сообщения вместо сообщений начальной загрузки.
В таких случаях необходимо обращаться к файлу
/var/run/dmesg.boot
.
Еще один метод нахождения аппаратного обеспечения подразумевает использование достаточно информативной утилиты pciconf(8). Например:
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00 vendor = 'Atheros Communications Inc.' device = 'AR5212 Atheros AR5212 802.11abg wireless' class = network subclass = ethernet
Эта часть вывода, полученная в результате запуска команды
pciconf -lv
, показывает, что драйвер
ath
обнаружил беспроводное Ethernet устройство.
Набрав man
, вы
получите страницу справочника ath(4).ath
Также, для извлечения необходимой информации, можно воспользоваться
ключом -k
к команде man(1). В вышеприведенном
случае можно набрать:
#
man -kAtheros
чтобы получить страницы справочника, содержащие определенное слово:
ath(4) - Atheros IEEE 802.11 wireless network driver ath_hal(4) - Atheros Hardware Access Layer (HAL)
Теперь, имея в распоряжении перечень аппаратного оборудования, можно безбоязненно приступить к сборке специализированного ядра.
Перед построением специализированного ядра, обдумайте причины, побудившие вас к этому. Если требуется поддержка специального оборудования, то она наверняка уже реализована в виде модуля.
Модули ядра находятся в каталоге
/boot/kernel
, и они могут
быть динамически включены в работающее ядро при помощи kldload(8).
Если не все, то большинство драйверов существуют в виде модулей,
и у них есть соответствующая страница справочника. К примеру,
в предыдущем разделе упоминался драйвер ath
беспроводного Ethernet устройства. Соответствующая ему страница
справочника гласит:
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): if_ath_load="YES"
Как уже выше сказано, добавление строки
if_ath_load="YES"
в файл
/boot/loader.conf
позволит динамически
загружать этот модуль во время загрузки системы.
В некоторых случаях, однако, интересующего вас модуля не существует. Чаще всего это справедливо для определенных подсистем и очень важных драйверов. Например, поддержка файловой системы FreeBSD (FFS) является обязательной опцией в ядре. Как и поддержка сети (INET). К сожалению, единственный способ определить является ли драйвер обязательным - это проверить наличие соответствующего модуля.
Довольно легко удалить поддержку устройства или
опцию, получив тем самым неработоспособное ядро. Например, если
драйвер ata(4) изъят из конфигурации ядра, то система,
использующая диски ATA, может не загрузиться
без записи о модуле, добавленной в loader.conf
.
Если есть сомнения, проверьте наличие модуля, и только потом исключайте
поддержку в ядре.
Для сборки ядра необходимо наличие всех исходных файлов FreeBSD.
Во-первых, давайте сделаем краткий обзор каталога, в котором будет
происходить сборка ядра. Все каталоги, которые будут упоминаться, будут
относительными по отношению к основному каталогу
/usr/src/sys
, который также доступен как каталог
/sys
. Этот каталог содержит множество подкаталогов,
представляющих собой различные части ядра, но наиболее важным для нас
будет каталог
,
в котором вы будете редактировать конфигурационный файл ядра и в котором
находится каталог arch
/confcompile
, где будет
собираться ваше ядро. arch
может быть
i386
,
amd64
, ia64
,
powerpc
, sparc64
или
pc98
(альтернативная ветвь аппаратного обеспечения,
популярная в Японии). Все, что находится внутри каталога определенной
архитектуры, относится только к этой архитектуре; остальной код является
машинно независимым и общим для всех платформ, на которые FreeBSD может
быть потенциально
портирована. Обратите внимание на логическую структуру каталогов, в
которой каждое поддерживаемое устройство, каждая файловая система и
каждая опция размещается в своём собственном каталоге.
В примерах этой главы подразумевается, что вы используете архитектуру i386. Если архитектура вашей системы отличается от используемой в примерах, то вам необходимо будет соответственно изменить имена каталогов.
Если каталог /usr/src/
отсутствует в вашей
системе (или этот каталог пуст), то это значит, что исходные тексты
не были установлены. Наиболее простой способ установить их
- воспользоваться csup(1), как описано в
Раздел 21.5, <<Синхронизация ваших исходных текстов>>. Далее, создайте символическую ссылку на
/usr/src/sys/
:
#
ln -s /usr/src/sys /sys
Затем, перейдите в каталог
и скопируйте файл конфигурации arch
/confGENERIC
в файл с выбранным вами именем. Например:
#
cd /usr/src/sys/
i386
/conf#
cp GENERIC
MYKERNEL
По традиции имя состоит из букв в верхнем регистре, и если
вы поддерживаете несколько компьютеров FreeBSD на различном оборудовании,
хорошая идея добавлять это имя к имени хоста. Мы назвали ядро
в этом примере.MYKERNEL
Помещение файла конфигурации ядра в /usr/src
может быть плохой идеей. Если вы испытываете проблемы,
их можно решить удалив /usr/src
и начав
все с начала. После этого обычно требуется несколько секунд, чтобы
понять, что вы удалили собственный файл настройки ядра. Не
редактируйте непосредственно GENERIC
, он может
быть также перезаписан и при следующем обновлении дерева исходных текстов,
и изменения ядра будут потеряны.
Вы можете сохранить файл конфигурации ядра в другом месте,
а затем создать символическую ссылку на этот файл в каталоге
.i386
Например:
#
cd /usr/src/sys/
i386
/conf#
mkdir /root/kernels
#
cp GENERIC /root/kernels/
MYKERNEL
#
ln -s /root/kernels/
MYKERNEL
Теперь отредактируйте файл
в своём
любимом текстовом редакторе. Если вы только начинаете, единственным
доступным редактором скорее всего будет vi,
который слишком сложен для того, чтобы описать его здесь,
но в библиографии перечислено
множество книг, в которых его использование хорошо освещено. Однако FreeBSD
предоставляет более простой редактор ee,
который, если вы - новичок, подойдёт вам больше всего. Не стесняйтесь
изменять строки комментариев в начале файла, с тем, чтобы отобразить вашу
конфигурацию или изменения, которые вы сделали по сравнению с
MYKERNEL
GENERIC
.
Если вам приходилось собирать ядро для SunOSTM или какой-либо другой
операционной системы типа BSD, многое из того, что содержится в этом
файле будет очень знакомо вам. Если же вы, напротив, использовали другую
операционную систему, такую как DOS, файл конфигурации
GENERIC
может показаться вам крайне сложным, поэтому
следуйте инструкциям в разделе Конфигурационный файл медленно и
внимательно.
Если вы синхронизируете дерево исходных текстов
с деревом проекта FreeBSD, не забудьте свериться с файлом
/usr/src/UPDATING
перед обновлением. В этом
файле описаны все важные вопросы и области исходного кода, требующие
особого внимания.
/usr/src/UPDATING
всегда соответствует версии
ваших исходных текстов FreeBSD, поэтому является более актуальным
источником информации, чем это руководство.
Теперь вы должны скомпилировать ядро.
Для сборки ядра необходимо наличие всех исходных файлов FreeBSD.
Перейдите в каталог /usr/src
:
#
cd /usr/src
Соберите ядро:
#
make buildkernel KERNCONF=
MYKERNEL
Установите новое ядро:
#
make installkernel KERNCONF=
MYKERNEL
По умолчанию, при построении ядра, все
модули ядра так же будут пересобраны. Если вы хотите обновить
ядро быстрее или построить только определённые модули, то вам
нужно отредактировать файл /etc/make.conf
перед началом процесса сборки ядра:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Эта переменная устанавливает список модулей, которые нужно построить вместо построения всех модулей.
WITHOUT_MODULES = linux acpi sound ntfs
В этой переменной перечисляются основные модули, которые необходимо исключить из процесса сборки. За другими переменными, которые вы можете посчитать полезными в процессе сборки ядра, обращайтесь к странице справочника make.conf(5).
Новое ядро будет скопировано в каталог /boot/kernel
как
/boot/kernel/kernel
, а старое ядро будет перемещено в
/boot/kernel.old/kernel
.
Теперь перезагрузите систему для того,
чтобы использовать новое ядро. Если что-то пойдёт не так, вы
можете обратиться к разделу Решение проблем в конце
этой главы, который может оказаться
полезен. Не забудьте прочитать
раздел, который объясняет как исправить ситуацию, когда ядро не загружается.
Другие файлы, относящиеся к
процессу загрузки, такие как загрузчик (loader(8)) и его
конфигурационные файлы, размещаются в /boot
.
Модули сторонних производителей могут быть помещены в
/boot/kernel
, хотя пользователи
должны знать, что
очень важно, чтобы модули были синхронизированы с собранным ядром.
Модули, не рассчитанные на работу с собранным ядром, могут вызвать
нестабильность и некорректность работы.
Формат конфигурационного файла достаточно прост. Каждая строка
представляет собой ключевое слово и один или более аргументов. Для
простоты большинство строк содержат только один аргумент. Всё, что
следует за символом #
является комментарием и
игнорируется. Следующие разделы описывают каждый параметр, в
порядке, в котором они появляются в GENERIC
.
За полным списком архитектурно-зависимых
параметров и устройств обратитесь к файлу NOTES
в том же каталоге, что и GENERIC
. Архитектурно
независимые параметры находятся в
/usr/src/sys/conf/NOTES
.
Директива include
стала доступной
для использования в конфигурационных файлах. Она позволяет включать
в текущий конфигурационный файл содержимое другого файла, тем самым
упрощая процесс внесения небольших изменений в существующий файл.
Например, если вам необходимо добавить всего несколько дополнительных
опций или драйверов в ядро GENERIC
, то вам придется
поддерживать только разницу к файлу GENERIC:
include GENERIC ident MYKERNEL options IPFIREWALL options DUMMYNET options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT
Большинство администраторов оценят значительные преимущества
перед старым способом - написанием конфигурационного файла
<<с нуля>>: ваш конфигурационный файл будет отображать
только изменения относительно GENERIC
. А после
обновлений исходного кода, новые функциональные возможности, появившиеся
в GENERIC, будут добавлены и в вашу конфигурацию, если только
не препятствовать этому директивами nooptions
или nodevice
. Далее в этом разделе описывается
типовой конфигурационный файл, его опции и устройства, а также
их роли.
Для сборки ядра со всеми возможными опциями (обычно используется
для тестирования), выполните от имени суперпользователя
(root
) следующую команду:
#
cd /usr/src/sys/
i386
/conf && make LINT
Это пример конфигурационного файла ядра
GENERIC
с различными дополнительными комментариями,
которые могут понадобиться для ясности. Этот пример должен совпадать с вашей
копией в
/usr/src/sys/
практически полностью.i386
/conf/GENERIC
machine i386
Это архитектура машины. Она должна быть одной из
следующих:
amd64
,
i386
, ia64
,
pc98
, powerpc
, или
sparc64
.
cpu I486_CPU cpu I586_CPU cpu I686_CPU
Эта опция указывает тип процессора, который используется в вашей
системе. В конфигурационном файле может быть несколько вхождений этой
опции (например, если вы не уверены, какой из типов процессора необходимо
использовать - I586_CPU
или
I686_CPU
), но для собственного ядра лучше указывать
только тот тип процессора, который установлен в вашей системе. Если вы
не уверены, какой тип необходимо использовать вам, вы можете
воспользоваться файлом /var/run/dmesg.boot
, чтобы
увидеть протокол загрузки системы.
ident GENERIC
Этот параметр определяет <<метку>> ядра. Необходимо,
чтобы она соответствовала названию файла конфигурации ядра, например
, если вы следовали инструкциям в предыдущих
примерах. Значение, которое вы присвоите параметру
MYKERNEL
ident
будет выводиться в процессе загрузки, поэтому
полезно давать новым ядрам другие имена для того, чтобы отличать их от
обычного ядра (например, если вы хотите собрать экспериментальное
ядро).
#To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices.
device.hints(5) используются для
настройки параметров драйверов устройств. Путь по умолчанию, который
loader(8) будет проверять при загрузке -
/boot/device.hints
. Используя опцию
hints
вы можете вкомпилировать эти параметры
статически в ваше ядро. В этом случае не требуется создавать файл
device.hints
в каталоге
/boot
.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
При обычном построении ядра в сборку включается отладочная
информация: опция -g
передается компилятору
gcc(1).
options SCHED_ULE # ULE scheduler
Планировщик по умолчанию во FreeBSD. Оставьте эту опцию.
options PREEMPTION # Enable kernel thread preemption
Позволяет высокоприоритетным нитям ядра вытеснять конкурентов, находящихся в режиме выполнения. Эта опция может помочь повысить реактивность системы по отношению к внешним воздействиям, например, за счет снижения латентности нитей, обрабатывающих прерывания.
options INET # InterNETworking
Поддержка сетевых возможностей. Оставьте эту опцию включенной, даже если вы не планируете подключаться к сети. Большинство программ требуют, чтобы работал хотя бы интерфейс обратной связи (loopback) (т.е. создание сетевых соединений внутри вашего ПК), так что эта опция в принципе является обязательной.
options INET6 # IPv6 communications protocols
Включает поддержку коммуникационных протоколов IPv6.
options FFS # Berkeley Fast Filesystem
Включает поддержку основной файловой системы. Не удаляйте эту опцию, если вы планируете загружаться с жесткого диска.
options SOFTUPDATES # Enable FFS Soft Updates support
Этот параметр включает в ядре технологию Soft Updates, которая
повышает скорость записи на диски. Несмотря на то, что эта технология
включена в ядре, она должна быть включена для отдельных дисков.
Просмотрите вывод команды mount(8) чтобы определить, включены ли
Soft Updates для дисков вашей системы. Если вы не увидите параметр
soft-updates
, вам будет необходимо активировать его
при помощи команды tunefs(8) (для существующих файловых систем) или
команды newfs(8) (для новых файловых систем).
options UFS_ACL # Support for access control lists
Этот параметр включает в ядре поддержку списков управления доступом (ACL). Основывается на использовании расширенных атрибутов и UFS2, детальное описание вы сможете найти в Раздел 14.12, <<Списки контроля доступа файловой системы (ACL)>>. ACL включены по умолчанию и не должны выключаться в случае, если они ранее использовались на файловой системе, так как это удалит списки управления доступом и изменит то, как защищены файлы, непредсказуемым образом.
options UFS_DIRHASH # Improve performance on big directories
Эта опция включает функциональность, которая повышает скорость дисковых операций на больших каталогах в обмен на использование дополнительной памяти. Для большого сервера или рабочей станции рекомендуется оставить ее включенной, и выключить для системы, для которой более приоритетна память, чем скорость доступа к дискам, например для брандмауэра.
options MD_ROOT # MD is a potential root device
Этот параметр включает поддержку использования дисков в памяти для корневой файловой системы.
options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT
Сетевая файловая система. Если вы не планируете монтировать разделы с файлового сервера UNIX(R) через TCP/IP, вы можете исключить этот параметр из конфигурационного файла ядра.
options MSDOSFS # MSDOS Filesystem
Файловая система MS-DOS(R). Если вы не собираетесь монтировать
форматированный в DOS раздел жесткого диска в момент загрузки, вы можете
безопасно закомментировать этот параметр. Необходимый модуль будет
автоматически загружен, когда вы в первый раз смонтируете раздел DOS, так,
как это описано ниже. Кроме того, замечательный пакет
emulators/mtools позволяет получить
доступ к DOS дискетам без необходимости монтировать и размонтировать их
(и не требует наличия MSDOSFS
).
options CD9660 # ISO 9660 Filesystem
Файловая система ISO 9660 для компакт-дисков. Если у вас нет привода CDROM или вы будете лишь изредка монтировать компакт-диски с данными, закомментируйте эту строку, так как необходимый модуль будет загружен автоматически при первом монтировании компакт-диска с данными. Для использования звуковых компакт-дисков эта файловая система не потребуется.
options PROCFS # Process filesystem (requires PSEUDOFS)
Файловая система процессов. Это <<виртуальная>> файловая
система монтируемая в /proc
, которая позволяет таким
приложениям, как ps(1) выдавать вам больше информации о запущенных
процессах. Использование PROCFS
не
требуется, так как большинство мониторинговых и отладочных инструментов
было адаптировано для работы без PROCFS
:
система по умолчанию не монтирует файловую
систему процессов.
options PSEUDOFS # Pseudo-filesystem framework
Ядра, которые используют PROCFS
, должны
также включать поддержку PSEUDOFS
,
options GEOM_PART_GPT # GUID Partition Tables.
Добавляет поддержку Таблиц Разделов GUID. Этот параметр делает возможным наличие большого количества разделов на одном диске, до 128 в стандартной конфигурации.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
Совместимость с 4.3BSD. Не выключайте эту опцию; некоторые приложения будут вести себя странно, если этой опции не будет в ядре.
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
Эта опция требуется для поддержки приложений, собранных на более старых версиях FreeBSD, которые используют старые интерфейсы вызовов. Рекомендуется использовать данную опцию на всех системах на платформах i386TM, на которых могут запускаться старые приложения; платформы, поддержка которых появилась только в FreeBSD 5.X, например ia64 и Sparc64(R), не требуют этой опции.
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
Эта опция необходима для поддержки приложений, скомпилированных на FreeBSD 5.X и использующих интерфейс системных вызовов FreeBSD 5.X.
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
Эта опция требуется для поддержки приложений, собранных на FreeBSD версий 6.X, которые используют интерфейсы системных вызовов FreeBSD 6.X.
options COMPAT_FREEBSD7 # Compatible with FreeBSD7
Эта опция требуется на системах FreeBSD версий 8 и более поздних для поддержки приложений, собранных для FreeBSD 7.X и использующих интерфейсы системных вызовов FreeBSD 7.X.
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
Этот параметр заставляет ядро приостановиться на 5 секунд перед тем, как идентифицировать каждое устройство SCSI в вашей системе. Если у вас установлены только жесткие диски IDE, вы можете игнорировать эту опцию, в противном случае, возможно, вы захотите уменьшить это число, для того чтобы ускорить загрузку. Естественно, если вы сделаете это, а у FreeBSD появятся проблемы с распознанием ваших устройств SCSI, необходимо будет увеличить этот параметр.
options KTRACE # ktrace(1) support
Включает поддержку трассировки процессов, что удобно при отладке.
options SYSVSHM # SYSV-style shared memory
Этот параметр предоставляет поддержку разделяемой памяти System V. Наиболее распространенное применение этого - расширение XSHM в X, которое многие приложения, интенсивно работающие с графикой, будут автоматически использовать для повышения скорости работы. Если вы используете X, эта опция будет необходима.
options SYSVMSG # SYSV-style message queues
Поддержка сообщений System V. Этот параметр добавляет в ядро всего лишь несколько сотен байт.
options SYSVSEM # SYSV-style semaphores
Поддержка семафоров System V. Не настолько часто используемая возможность, но в ядро добавляет всего несколько сотен байт.
Команда ipcs(1) с параметром -p
покажет
все процессы, которые используют любую из этих возможностей
System V.
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
Расширения реального времени, добавленные 1993 POSIX(R). Определенные приложения из коллекции используют их, например StarOfficeTM.
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
Этот параметр разрешает формирование файлов устройств в
/dev
для клавиатур.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
Giant - имя механизма защиты (<<спящего>>
мьютекса) для крупных наборов ресурсов ядра. На нынешний момент
Giant представляется фактически непригодным для использования в связи
с серьезными потерями в производительности, и активно заменяется
на механизмы, защищающие отдельные ресурсы ядра. Параметр
ADAPTIVE_GIANT
включает Giant в число адаптивных
мьютексов: в случае, когда нить ядра нуждается в Giant, а он уже
захвачен нитью, выполняющейся на другом процессоре, первая нить
будет продолжать выполнение и ждать освобождения Giant. В норме
нить должна была бы уснуть, пока не настанет очередной момент ее
выполнения. Если вы не уверены, оставьте этот параметр в покое.
Для FreeBSD 8.0-RELEASE и более поздних версий, все мьютексы
являются адаптивными по умолчанию, если обратное не указано специально
опцией NO_ADAPTIVE_MUTEXES
. Следовательно,
Giant также адаптивен по умолчанию, и поэтому опция
ADAPTIVE_GIANT
была удалена из файла
конфигурации ядра.
device apic # I/O APIC
Устройство apic разрешает использование набора I/O APIC для
распределения прерываний. Оно может быть использовано как с
однопроцессорными, так и с многопроцессорными ядрами (для последних
наличие apic является обязательным). Для поддержки многопроцессорности
добавьте строку options SMP
.
Устройство apic существует только на архитектурах i386. На других архитектурах этот конфигурационный параметр использовать не следует.
device eisa
Включите эту опцию если у вас материнская плата EISA. Это включает автоопределение и конфигурирование поддержки всех устройств на шине EISA.
device pci
Включите этот параметр, если у вас материнская плата с поддержкой PCI. Это включит автоопределение карт PCI и проксирование из шины PCI в шину ISA.
# Floppy drives device fdc
Контроллер флоппи-диска.
# ATA and ATAPI devices device ata
Этот драйвер поддерживает все устройства ATA и ATAPI. Вам необходима
только одна строка device ata
в ядре для того, чтобы
обнаружить все PCI устройства ATA/ATAPI в современных машинах.
device atadisk # ATA disk drives
Эта строка необходима вместе с device ata
для
поддержки дисков ATA.
device ataraid # ATA RAID drives
Эта строка необходима вместе с device ata
для поддержки дисков ATA RAID.
device atapicd # ATAPI CDROM drives
Поддержка приводов ATAPI CDROM. Используется вместе с
device ata
.
device atapifd # ATAPI floppy drives
Поддержка флоппи-приводов ATAPI. Используется вместе с
device ata
.
device atapist # ATAPI tape drives
Поддержка ленточных приводов ATAPI (стримеров). Используется вместе с
device ata
.
options ATA_STATIC_ID # Static device numbering
Заставляет драйвер нумеровать устройства статически; в противном случае происходит динамическая нумерация.
# SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50
Контроллеры SCSI. Закомментируйте те, которых у вас в системе нет.
Если у вас в системе исключительно IDE устройства, вы можете удалить все
эти строки. Строки вида *_REG_PRETTY_PRINT
включают
режим отладки для соответствующих драйверов.
# SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE)
Периферийные устройства SCSI. Опять-таки, закомментируйте те, которых у вас в системе нет, или, если у вас в наличии исключительно IDE, можете удалить все.
USB umass(4) драйвер (и некоторые другие драйверы) используют подсистему SCSI, хотя и не являются настоящими SCSI устройствами. Следовательно, вам необходимо сохранить поддержку SCSI, если какой-либо из этих драйверов включен в конфигурацию ядра.
# RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID device aacp # SCSI passthrough for aac (requires CAM) device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID
Поддерживаемые RAID-контроллеры. Если у вас нет таковых, можете их закомментировать или удалить эти строки.
# atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller
Контроллер клавиатуры (atkbdc
) предоставляет
средства ввода/вывода для клавиатуры AT и PS/2 устройств. Этот
контроллер необходим драйверу клавиатуры (atkbd
) и
PS/2 устройств (psm
).
device atkbd # AT keyboard
Драйвер atkbd
вместе с контроллером
atkbdc
предоставляет доступ к клавиатуре AT 84 или
улучшенной клавиатуре AT, которая подключена к контроллеру AT
клавиатуры.
device psm # PS/2 mouse
Используйте это устройство, если ваша мышь включается в порт PS/2.
device kbdmux # keyboard multiplexer
Поддержка мультиплексора клавиатур. Если использование двух и более клавиатур не планируется, можете смело исключать этот параметр.
device vga # VGA video card driver
Драйвер видеокарты.
device splash # Splash screen and screen saver support
Заставка при загрузке. Хранители экрана также требуют этого устройства.
# syscons is the default console driver, resembling an SCO console device sc
sc
- это драйвер консоли по умолчанию, который
имитирует консоль SCO. Так как большая часть консольных полноэкранных
приложений обращаются к консоли через терминальную библиотеку
termcap
, вас не должно волновать, будете ли вы
использовать этот драйвер, либо драйвер vt
, который
является VT220
-совместимым драйвером консоли. Если у
вас возникнут какие-либо проблемы с приложениями, работающими с этим
драйвером консоли, установите переменную окружения TERM
в
значение scoansi
.
# Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor
VT220-совместимый драйвер консоли, обратно совместимый с VT100/102.
Он работает лучше на некоторых лэптопах, у которых возникают проблемы
несовместимости с sc
. Также, установите переменную
окружения TERM
в значение vt100
или
vt220
. Этот драйвер также может быть полезен в
случаях подключения к большому количеству различных машин через сеть, на
которых параметры для устройства sc
для
termcap
или terminfo
могут
отсутствовать - vt100
присутствует практически
на любой платформе.
device agp
Включите эту опцию, если у вас есть AGP карта в системе. Это включит поддержку AGP и AGP GART для тех карт, которые поддерживают эту возможность.
# Power management support (see NOTES for more options) #device apm
Поддержка Advanced Power Management. Чаще всего используется в лэптопах, хотя и отключена по умолчанию.
# Add suspend/resume support for the i8254. device pmtimer
Устройство таймера для управления энергопотреблением, APM и ACPI.
# PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus
Поддержка PCMCIA. Включите ее, если вы используете лэптоп.
# Serial (COM) ports device sio # 8250, 16[45]50 based serial ports
Четыре последовательных порта, которые известны как
COM
порты
в мире MS-DOS(R)/Windows(R)
Если у вас есть внутренний модем на COM4
и последовательный порт
COM2
, вам понадобится поменять IRQ модема на 2 (по непонятным
техническим причинам IRQ2 = IRQ9) для того, чтобы получить к нему
доступ из FreeBSD. Если у вас есть многопортовая карта с
последовательными портами, ознакомьтесь с sio(4) чтобы узнать
корректные значения для добавления в
/boot/device.hints
. Некоторые видеокарты (в частности
те, что используют чипы S3) используют адреса ввода/вывода в форме
0x*2e8
и, так как многие дешевые последовательные
карты не полностью раскодируют шестнадцатибитное пространство адресов
ввода/вывода, они конфликтуют с этими картами, в итоге COM4
оказывается
практически недоступным.
Каждый последовательный порт требует уникального IRQ (кроме тех
случаев, когда вы используете мультипортовую карту, которая
поддерживает совместное использование прерываний), поэтому значения
IRQ по умолчанию для COM3
и
COM4
не могут быть использованы.
# Parallel port device ppc
Интерфейс параллельного порта на шине ISA.
device ppbus # Parallel port bus (required)
Поддержка шины параллельного порта.
device lpt # Printer
Поддержка принтеров на параллельном порту.
Все три последних устройства необходимы для поддержка принтеров на параллельном порту.
device plip # TCP/IP over parallel
Драйвер TCP/IP через параллельный порт.
device ppi # Parallel port interface device
Поддержка ввода/вывода общего назначения (<<geek port>>) + IEEE1284 ввода/вывода.
#device vpo # Requires scbus and da
Драйвер привода Iomega Zip. Требует наличия scbus
и da
. Наилучшая производительность достигается с
портами в режиме EPP 1.9.
#device puc
Раскомментируйте это устройство, если у вас есть <<простая>> последовательная или параллельная PCI карта, поддерживаемая драйвером puc(4).
# PCI Ethernet NICs. device de # DEC/Intel DC21x4x (<<Tulip>>) device em # Intel PRO/1000 adapter Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card device txp # 3Com 3cR990 (<<Typhoon>>) device vx # 3Com 3c590, 3c595 (<<Vortex>>)
Драйвера сетевых карт PCI. Закомментируйте или удалите драйвера тех карт, которые отсутствуют в вашей системе.
# PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support
Поддержка шины MII требуется для некоторых PCI 10/100 Ethernet карт,
которые используют MII-совместимые передатчики или реализуют
интерфейс управления передатчиком, который имитирует MII. Добавление
device miibus
в конфигурационный файл ядра включает
поддержку стандартного API miibus и всех драйверов PHY, включая стандартный
для тех PHY, которые не обрабатываются специфическим образом конкретным
драйвером.
device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (<<Starfire>>) device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x > SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) device stge # Sundance/Tamarack TC9021 gigabit Ethernet device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 <<EPIC>>) device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (<<Boomerang>>, <<Cyclone>>)
Драйвера, которые используют контроллер шины MII.
# ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' requires 'device miibus' device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # SMC's 9000 series of Ethernet chips device xe # Xircom pccard Ethernet # ISA devices that use the old ISA shims #device le
Драйвера сетевых карт ISA. Ознакомьтесь с файлом
/usr/src/sys/
,
чтобы узнать, какие
сетевые карты каким драйвером поддерживаются.i386
/conf/NOTES
# Wireless NIC cards device wlan # 802.11 support
Generic 802.11 support. This line is required for wireless networking.
device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support
Crypto support for 802.11 devices. These lines are needed if you intend to use encryption and 802.11i security protocols.
device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) device ath_rate_sample # SampleRate tx rate control for ath device awi # BayStack 660 and others device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC.
Поддержка различных беспроводных карт.
# Pseudo devices device loop # Network loopback
Стандартное устройство обратной связи для TCP/IP. Если вы запускаете
telnet или FTP по отношению localhost
(он же 127.0.0.1
), то соединение пройдёт через это
устройство. Этот параметр обязателен.
device random # Entropy device
Генератор случайных чисел для криптографической защиты.
device ether # Ethernet support
ether
необходим лишь в случае, если у вас есть
сетевая карта. Он включает поддержку стандартного кода протокола
Ethernet.
device sl # Kernel SLIP
sl
- это поддержка SLIP. SLIP был практически
вытеснен PPP, который легче настраивается, лучше подходит для соединений
модем-модем и имеет больше возможностей.
device ppp # Kernel PPP
Поддержка PPP в ядре для соединений dial-up. Также существует версия
PPP, реализованного как приложение, использующее tun
, и
предлагающее большую гибкость и большее количество возможностей, как,
например, соединение при необходимости (наличии обращения к сети).
device tun # Packet tunnel.
Используется пользовательским программным обеспечением PPP. Обратитесь к разделу PPP этой книги за дальнейшей информацией.
device pty # Pseudo-ttys (telnet etc)
<<псевдо-терминал>> или имитированный порт для входа.
Используется входящими telnet
и
rlogin
-сессиями, приложением
xterm и некоторыми другими приложениями,
такими как Emacs.
device md # Memory <<disks>>
Псевдо-устройства дисков в памяти.
device gif # IPv6 and IPv4 tunneling
Поддержка туннелирования IPv6 через IPv4, IPv4 через IPv6, IPv4 через
IPv4 и IPv6 через IPv6. Устройство
gif
является <<автоклонируемым>>, и будет
срздавать файлы устройств по мере необходимости.
device faith # IPv6-to-IPv4 relaying (translation)
Это псевдо-устройство захватывает пакеты, которые были посланы ему и перенаправляет их даемону трансляции IPv4/IPv6.
# The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter
Фильтр пакетов Berkeley. Это псевдо-устройство позволяет переводить сетевые интерфейсы в <<неразборчивый>> (promiscuous) режим, в котором перехватывается любой пакет в широковещательной сети (например ethernet). Эти пакеты могут быть сохранены на диск и/или исследованы при помощи tcpdump(1).
Устройство bpf(4) также используется программой dhclient(8) для того, чтобы получить адрес шлюза по умолчанию и т.п. Если вы используете DCHP, не удаляйте эту опцию.
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # <<Human Interface Devices>>
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device ural # Ralink Technology RT2500USB wireless NICs
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet
Поддержка различных USB устройств.
# FireWire support device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard!)
Поддержка различных устройств Firewire.
За дальнейшей информацией о дополнительных устройствах,
поддерживаемых FreeBSD, обратитесь к файлу
/usr/src/sys/
.i386
/conf/NOTES
Машины с большим количеством оперативной памяти, в которых требуется более 4 гигабайт в пользовательском адресном пространстве и адресном пространстве ядра (User+Kernel Virtual Address, KVA) в обычном случае не смогут использовать более 4 гигабайт. Для решения этой проблемы Intel добавили поддержку 36-битной адресации в Pentium(R) Pro и более поздних моделях процессоров.
Расширение физического адресного пространства
(PAE) в процессорах Intel(R) Pentium(R) Pro и более
поздних позволяет использовать до 64 гигабайт оперативной памяти. FreeBSD
имеет поддержку этой возможности посредством опции ядра
PAE
, доступной во всех текущих версиях FreeBSD.
В связи с ограничениями архитектуры Intel, не делается
никакого различия между памятью ниже или выше 4 гигабайт. Память,
размещенная выше 4 гигабайт, просто добавляется к доступной памяти.
Для того, чтобы включить PAE в ядре, просто добавьте приведенную строку в конфигурационный файл ядра:
options PAE
Поддержка PAE в FreeBSD существует только для процессоров Intel(R) IA-32. Также следует заметить, что PAE в FreeBSD не было полностью протестировано и должно считаться находящимся в состоянии бета-тестирования по сравнению с другими, стабильными возможностями FreeBSD.
Поддержка PAE в FreeBSD имеет следующие ограничения:
Процесс не может получить доступ к более, чем 4 гигабайтам пространства VM.
Драйверы устройств, которые не используют интерфейс
bus_dma(9), приведут к повреждению информации в ядре с включенным
PAE. Не рекомендуется использовать такие драйверы.
По этой причине в FreeBSD включен конфигурационный файл ядра
PAE
, из которого удалены все драйверы, о которых
известно, что они не работают при включенной поддержке
PAE.
Некоторые системные переменные определяют использование ресурсов
памяти по количеству доступной физической памяти. Такие переменные
могут привести к ненужному чрезмерному выделению памяти из-за
особенностей работы системы PAE. Один из таких
примеров - переменная kern.maxvnodes
, которая
управляет максимальным количеством vnode, разрешенных в ядре.
Рекомендуется установить эту и подобные ей переменные вручную в
адекватные значения.
Возможно, понадобится увеличить пространство виртуальных адресов
ядра (KVA) или уменьшить какую-либо переменную (см.
выше), значение которой было неоправданно велико и могло привести к
исчерпанию KVA. Для этого может быть использована
опция ядра KVA_PAGES
.
В случае сомнений относительно производительности и стабильности рекомендуется обратиться к странице руководства tuning(7). Страница руководства pae(4) содержит свежую информацию о поддержке PAE в FreeBSD.
Существует четыре категории проблем, которые могут возникнуть при сборке собственного ядра. Вот они:
config
:Если команда config(8) не может отработать, то, скорее всего, вы допустили где-нибудь маленькую ошибку. К счастью, config(8) выведет номер проблемной строки, поэтому вы можете быстро найти строку, содержащую ошибку. Например, если вы видите:
config: line 17: syntax error
Убедитесь, что опция введена верно путём сравнения с файлом
GENERIC
или другим источником.
make
:Если не удаётся отработать команде make
, обычно
это означает ошибку в описании конфигурации ядра, которая не достаточно
тривиальна для того, чтобы config(8) мог обнаружить её.
Опять-таки, просмотрите файл конфигурации, и, если вы все еще не можете
решить проблему, напишите письмо в Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD, включив в письмо файл
конфигурации ядра. Скорее всего проблема будет решена быстро.
Если ваше новое ядро не загружается или ему не удаётся обнаружить
ваши устройства - не паникуйте! К счастью, в FreeBSD существует отличный
механизм для восстановления после установки несовместимого ядра.
Просто выберите ядро, которое хотите загрузить, в загрузчике FreeBSD.
Доступ к нему вы можете получить, когда система находится в стартовом меню.
Выберите шестой пункт (<<Escape to a loader prompt>>),
введите команду
boot
,
или используйте любое
другое ядро, которое загрузится без проблем. Во время
переконфигурирования ядра всегда полезно оставлять копию ядра, о
котором известно, что оно рабочее.kernel.old
После загрузки с рабочим ядром вы можете проверить ваш файл
конфигурации и попробовать собрать ядро опять. Очень полезным в данном
случае окажется файл /var/log/messages
, в котором,
среди других записей, имеются сообщения ядра от каждой успешной загрузки.
Также, команда dmesg(8) выведет сообщения ядра от текущей
загрузки.
Если у вас возникли проблемы со сборкой ядра, убедитесь, что вы
сохранили ядро GENERIC
или другое рабочее ядро
под другим именем, чтобы оно не было удалено при следующей сборке. Вы
не можете использовать kernel.old
, потому что
при установке нового ядра kernel.old
перезаписывается последним установленным ядром, которое может
оказаться нерабочим. Также, как можно скорее переместите рабочее
ядро в /boot/kernel
,
так как некоторые команды, такие как ps(1) будут работать
некорректно. Для этого просто переместите каталог, содержащий
работоспособное ядро:
#
mv /boot/kernel
/boot/kernel.bad
#
mv
/boot/kernel.good
/boot/kernel
Если вы установили версию ядра отличную от той, с которой были собраны ваши системные утилиты, например, ядро от -CURRENT на системе -RELEASE, большая часть системных команд, таких как ps(1) и vmstat(8) не будут больше работать. Вам потребуется перекомпилировать и установить систему той же версии исходных текстов, что и ядро. Это одна из причин, по которой не следует использовать версию ядра, отличную от версии всей остальной системы.
FreeBSD можно использовать для печати на широком спектре принтеров, от старых матричных до новейших лазерных, без исключений, что позволяет создавать высококачественные распечатки из используемых приложений.
FreeBSD можно также сконфигурировать для работы в качестве сервера печати в сети; в этом качестве FreeBSD может получать задания печати от множества других компьютеров, включая другие компьютеры под управлением ОС FreeBSD, хосты Windows(R) и Mac OS(R). FreeBSD будет гарантировать печать заданий по одному и может сохранять информацию о том, какие пользователи и машины выполняют основную часть печати, выдавать страницы-<<баннеры>>, показывающие, кому принадлежит распечатка, и многое другое.
При прочтении этой главы вы узнаете:
Как конфигурировать спулер печати FreeBSD.
Как устанавливать фильтры печати для специфической обработки определенных заданий печати, включая преобразование поступающих на печать документов в форматы, которые понимает принтер.
Как включить при печати колонтитулы или выдачу страниц-баннеров.
Как печатать на принтеры, подключенные к другим компьютерам.
Как печатать на принтеры, подключенные непосредственно к сети.
Как задавать ограничения для принтера, включая ограничение размера заданий печати и запрет печати для отдельных пользователей.
Как сохранять статистическую информацию о печати и учитывать использование принтера.
Как решать проблемы печати.
Прежде чем читать эту главу, вы должны:
Знать, как сконфигурировать и установить новое ядро (Глава 9, Настройка ядра FreeBSD).
Для использования принтеров в ОС FreeBSD вы можете настроить их для работы с системой спулинга печати Беркли (Berkeley line printer spooling system), также известной как система спулинга LPD. Это - стандартная система управления принтером во FreeBSD. В этой главе представлена система спулинга LPD и описано ее конфигурирование.
Если вы уже знакомы с LPD или другой системой спулинга печати, вы можете сразу перейти к разделу Базовая настройка.
LPD управляет всеми аспектами работы принтеров хоста. Она отвечает за несколько вещей:
Она управляет доступом к непосредственно подключенным принтерам и принтерам, подключенным к другим хостам в сети.
Она позволяет пользователям посылать файлы на печать; эти данные называют заданиями.
Она предотвращает одновременный доступ к принтеру нескольких пользователей путем поддержки очереди для каждого принтера.
Она позволяет печатать страницы заголовка (их также называют баннерными или начальными страницами), чтобы пользователи могли легко находить распечатанные задания в пачке распечаток.
Она обеспечивает установку параметров взаимодействия для принтеров, подключенных к последовательным портам.
Она может отправлять задания по сети спулеру LPD на другом хосте.
Она может применять специальные фильтры для форматирования заданий для печати на разных языках описания страниц или задействования специфических возможностей принтера.
Она учитывает использование принтера.
С помощью файла конфигурации
(/etc/printcap
) и за счет предоставления специальных
программ фильтрования, можно потребовать от системы LPD
выполнять все или некоторые из перечисленных выше функций на широком
спектре принтерного оборудования.
Если вы - единственный пользователь системы, вы можете спросить, зачем возиться со спулером, если управление доступом, страницы заголовка или учет использования принтера вам не нужны. Хотя можно обеспечить непосредственный доступ к принтеру, в любом случае следует использовать спулер, поскольку:
LPD печатает задания в фоновом режиме; вам не придется ждать, пока данные будут скопированы на принтер.
LPD позволяет легко пропустить задание печати через фильтры для добавления заголовков с датой/временем или преобразования специального формата файлов (такого как TeX DVI) в формат, который понимает принтер. Вам не придется выполнять эти шаги вручную.
Многие свободно распространяемые и коммерческие программы, обеспечивающие возможность печати, обычно предполагают взаимодействие со спулером системы. Путем настройки системы спулинга вы упростите поддержку другого программного обеспечения, которое может быть добавлено в дальнейшем или уже установлено.
Для использования принтеров с системой спулинга LPD, необходимо настроить как сам принтер, так и программное обеспечение LPD. Этот документ описывает два уровня настройки:
См. раздел Простая настройка принтера, чтобы узнать, как подключить принтер, объяснить LPD, как с ним взаимодействовать, и отправлять на принтер простые текстовые файлы.
См. раздел Расширенная настройка принтера, чтобы узнать, как печатать файлы множества специальных форматов, как печатать страницы заголовка, печатать по сети, управлять доступом к принтерам и учитывать использование принтера.
В этом разделе описано, как сконфигурировать принтер и программное обеспечение LPD для использования принтера. Здесь рассматриваются следующие вопросы:
В разделе Настройка оборудования представлены советы по подключению принтера к порту компьютера.
В разделе Настройка
программного обеспечения показано, как настроить
файл конфигурации спулера LPD
(/etc/printcap
).
Если вы настраиваете принтер, использующий для принятия заданий печати сетевой протокол, вместо локальных интерфейсов компьютера, см. раздел Принтеры с сетевыми интерфейсами.
Хотя этот раздел и назван <<Простая настройка принтера>>, это, на самом деле, достаточно сложно. Заставить принтер работать с компьютером и спулером LPD - самая сложная часть. Расширенные опции, вроде выдачи страниц заголовков и учета использования, установить несложно, как только принтер заработает.
В этом разделе описаны различные способы подключения принтера к ПК. Рассматриваются различные порты и кабели, а также параметры конфигурации ядра, которые может потребоваться установить, чтобы ОС FreeBSD могла взаимодействовать с принтером.
Если вы уже подключили ваш принтер и успешно печатали на него в другой операционной системе, можете перейти к разделу Настройка программного обеспечения.
Принтеры, которые продаются сегодня для использования на ПК, обычно поддерживают один или несколько из следующих интерфейсов:
Последовательные интерфейсы, также известные как RS-232, или COM-порты, используют для посылки данных на принтер последовательный порт компьютера. Последовательные интерфейсы широко распространены в компьютерной индустрии, кабели для них легко найти и просто сделать. Для последовательных интерфейсов иногда нужны специальные кабели, и для их использования может потребоваться настраивать достаточно сложные опции взаимодействия. Большинство последовательных портов ПК имеют максимальную скорость передачи 115200 бит/сек, поэтому печатать через них большие графические задания неудобно.
Параллельные интерфейсы используют параллельный порт компьютера для посылки данных на принтер. Параллельные интерфейсы широко распространены на рынке ПК и работают быстрее, чем последовательные RS-232. Кабели легко найти, но сделать самостоятельно сложнее. При использовании параллельных интерфейсов опции взаимодействия обычно задавать не надо, что делает их конфигурирование существенно проще.
Параллельные интерфейсы иногда называют интерфейсами <<Centronics>>, по названию типа разъема на принтере.
Интерфейсы USB (сокращение от Universal Serial Bus - универсальная последовательная шина), могут работать на еще больших скоростях, чем параллельные или последовательные интерфейсы RS-232. Кабели для них - простые и дешевые. USB превосходит последовательный RS-232 и параллельный интерфейсы для печати, но не слишком хорошо поддерживается в UNIX(R)-системах. Обойти эту проблему можно, купив принтер с двумя интерфейсами, USB и параллельным, как у многих принтеров.
В общем случае, параллельные интерфейсы обычно обеспечивают только одностороннюю передачу (с компьютера на принтер), тогда как последовательные и USB поддерживают двустороннюю. Более новые параллельные порты (EPP и ECP) и принтеры могут взаимодействовать в обоих направлениях под FreeBSD, если используется кабель, соответствующий стандарту IEEE-1284.
Двустороннее взаимодействие с принтером через параллельный порт обычно выполняется одним из двух способов. Первый метод опирается на использование специально созданного драйвера принтера для FreeBSD, который поддерживает специфический язык данного принтера. Этот метод типичен для струйных принтеров и может использоваться для получения информации об уровне чернил и другой информации о состоянии. Второй метод используется, когда принтер поддерживает PostScript(R).
Фактически, задания PostScript(R) являются программами, посылаемыми для выполнения принтеру; они вообще могут не выдавать результат на бумагу и возвращать его непосредственно компьютеру. PostScript(R) также использует двустороннее взаимодействие для сообщения компьютеру о проблемах, таких как ошибки в PostScript(R)-программе или замятие бумаги. Такая информация может пригодиться пользователям. Более того, лучший способ эффективного учета использования PostScript(R)-принтера требует двустороннего взаимодействия: вы запрашиваете у принтера значение счетчика страниц (сколько страниц напечатал принтер за все время существования), затем посылаете задание пользователя, затем снова запрашиваете значение его счетчика страниц. Вычитаем одно значение из другого, и узнаем, сколько бумаги потратил пользователь.
Для подключения принтера через параллельный интерфейс, соедините принтер и компьютер кабелем Centronics. Инструкции для принтера, для компьютера или обе должны полностью описывать эту процедуру.
Помните, какой параллельный порт компьютера вы использовали.
Первый параллельный порт в ОС FreeBSD -
ppc0
; второй -
ppc1
, и так далее. Имена устройств для
принтеров используют ту же схему: /dev/lpt0
для принтера на первом параллельном порту и т.д.
Для подключения принтера через последовательный интерфейс, соедините принтер с компьютером подходящим последовательным кабелем. Инструкции для принтера, для компьютера или обе должны полностью описывать эту процедуру.
Если вы не знаете, что такое <<подходящий последовательный кабель>>, можете попробовать использовать один из следующих:
Модемный кабель соединяет каждый штырёк на одном конце кабеля напрямую с соответствующим штырьком на другом конце. Кабель такого типа также называют кабелем <<DTE-to-DCE>>.
Нуль-модемный кабель соединяет часть штырьков напрямую, другие - меняет (пересылку данных на приём данных, например), а некоторые - закорачивает на каждом разъеме. Кабель такого типа также называют кабелем <<DTE-to-DTE>> cable.
Кабель последовательного принтера, необходимый для некоторых редко используемых принтеров, похож на нуль-модемный кабель, но посылает часть сигналов на соответствующие штырьки, а не закорачивает их.
Вам надо также настроить эти параметры взаимодействия с принтером,
обычно - через элементы управления на лицевой панели или переключатели
(DIP switches) на принтере. Выберите максимальную скорость передачи
bps
(бит в секунду, иногда -
baud rate), которую могут поддерживать как
компьютер, так и принтер. Выберите 7 или 8 битов данных; четность none,
even или odd; и 1 или 2 стоп-бита. Также надо выбрать протокол управления
передачей: none или XON/XOFF (также известный как
<<внутриполосный>> или <<программный>>).
Запомните выбранные установки для последующего конфигурирования
программного обеспечения.
В этом разделе описана настройка программного обеспечения, необходимая для печати с помощью системы спулинга LPD в ОС FreeBSD.
Вот план действий, которые необходимо выполнить:
При необходимости, сконфигурировать в ядре поддержку порта, к которому подключен принтер; в разделе Конфигурирование ядра описано, что надо сделать.
Установить режим взаимодействия для параллельного порта, если используется параллельный порт; детали представлены в разделе Настройка режима взаимодействия для параллельного порта.
Проверить, может ли операционная система посылать данные на принтер. В разделе Проверка взаимодействия с принтером даны советы, как это сделать.
Настроить LPD для принтера,
изменяя файл /etc/printcap
. Как это
сделать описано далее в этой главе.
Ядро операционной системы компилируется для работы с конкретным набором устройств. Последовательный или параллельный интерфейс для принтера входит в этот набор. Поэтому может понадобиться добавить поддержку для дополнительного последовательного или параллельного порта, если он еще не сконфигурирован в ядре.
Чтобы узнать, поддерживает ли используемое в настоящий момент ядро последовательный интерфейс, наберите:
#
grep sio
N
/var/run/dmesg.boot
Где N
- номер последовательного
порта, начиная с нуля. Если вы получаете результат, подобный
следующему:
sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A
значит, ядро поддерживает порт.
Чтобы узнать, поддерживает ли ядро параллельный интерфейс, наберите:
#
grep ppc
N
/var/run/dmesg.boot
Где N
номер параллельного порта,
начиная с нуля. Если вы получаете результат, подобный
следующему:
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold
значит, ядро поддерживает порт.
Может потребоваться переконфигурировать ядро, чтобы операционная система распознала и использовала параллельный или последовательный порт, используемый для подключения принтера.
Чтобы добавить поддержку последовательного порта, обратитесь к разделу, посвященному конфигурированию ядра. Чтобы добавить поддержку параллельного порта, почитайте этот же раздел и следующий раздел.
При использовании параллельного интерфейса можно выбрать, должна ли ОС FreeBSD взаимодействовать с принтером на основе прерываний или путем опроса. Универсальный драйвер принтера (lpt(4)) во FreeBSD использует систему ppbus(4), которая управляет чипсетом порта с помощью драйвера ppc(4).
Метод взаимодействия на основе прерываний является стандартным для ядра GENERIC. По этому методу, операционная система использует линию запроса прерывания (IRQ line) для определения готовности принтера к приему данных.
Метод взаимодействия путем опроса требует от операционной системы постоянно запрашивать принтер, готов ли он к приему данных. Когда он отвечает, что готов, ядро посылает дополнительные данные.
Метод взаимодействия на основе прерываний обычно работает несколько быстрее, но использует ценную линию запроса прерывания. Про некоторые новые принтеры HP утверждают, что они работают некорректно в режиме взаимодействия на основе прерываний, вероятно, из-за некоторой (еще не вполне понятной) проблемы синхронизации. Для этих принтеров необходимо устанавливать режим опроса. Используйте тот режим, который работает. Некоторые принтеры будут работать в обоих режимах, но оказываются крайне медленными в режиме на основе прерываний.
Режим взаимодействия можно установить двумя способами: конфигурируя ядро или с помощью программы lptcontrol(8).
Для установки режима взаимодействия путем конфигурирования ядра:
Отредактируйте файл конфигурации ядра. Найдите запись
ppc0
. Если вы настраиваете второй
параллельный порт, ищите запись ppc1
.
Используйте запись ppc2
для третьего порта,
и так далее.
Если необходимо установить режим на основе прерываний, отредактируйте следующую строку:
hint.ppc.0.irq="N
"
в файле /boot/device.hints
, заменив
N
соответствующим номером IRQ.
Файл конфигурации ядра также должен содержать драйвер
ppc(4):
device ppc
Если необходимо установить режим опроса,
удалите из файла
/boot/device.hints
следующую
строку:
hint.ppc.0.irq="N
"
В некоторых случаях, этого недостаточно для перевода порта в режим опроса под FreeBSD. Чаще всего, проблема связана с драйвером acpi(4), который может опрашивать и подключать устройства и, тем самым, управлять режимом доступа к порту принтера. Чтобы решить эту проблему, проверьте конфигурацию acpi(4).
Сохраните файл. Затем сконфигурируйте, соберите и установите ядро и перезагрузите систему. Подробнее см. в разделе конфигурирование ядра.
Для настройки режима взаимодействия с помощью утилиты lptcontrol(8):
Введите команду:
#
lptcontrol -i -d /dev/lpt
N
для установки режима взаимодействия на основе прерываний
для lpt
.N
Введите команду:
#
lptcontrol -p -d /dev/lpt
N
для установки режима взаимодействия по опросу для
lpt
.N
Вы можете поместить эти команды в файл
/etc/rc.local
для установки требуемого режима
при каждой загрузке системы. Дополнительную информацию об этом
ищите на странице справочного руководства lptcontrol(8).
Прежде чем переходить к конфигурированию системы спулинга, надо убедиться, что операционная система может успешно посылать данные на принтер. Намного проще отлаживать взаимодействие с принтером и систему спулинга отдельно.
Для тестирования принтера мы пошлем на него текст. Для принтеров, которые могут непосредственно печатать посланные на них символы, идеально подходит программа lptest(1): она генерирует все 96 печатных символов ASCII в 96 строках.
Для PostScript(R)- (или основанного на другом языке) принтера, необходим более сложный тест. Подойдет небольшая PostScript(R)-программа, вроде следующей:
%!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage
Представленный выше PostScript(R)-код можно поместить в в файл и использовать, как показано в примерах в следующих разделах.
Когда в этом документе речь идет о языке принтера, подразумевается язык типа PostScript(R), а не PCL компании Hewlett Packard. Хотя PCL имеет прекрасные функциональные возможности, в нем можно смешивать обычный текст с его управляющими последовательностями. PostScript(R) не позволяет непосредственно печатать обычный текст, и это язык принтера именно того рода, для которого надо выполнять специальные настройки.
В этом разделе описано, как проверить, может ли ОС FreeBSD взаимодействовать с принтером, подключенным к параллельному порту.
Для тестирования принтера на параллельном порту:
Станьте пользователем root
с помощью
команды su(1).
Пошлите данные на принтер.
Если принтер может печатать обычный текст, используйте утилиту lptest(1). Введите команду:
#
lptest > /dev/lpt
N
Где N
- номер параллельного порта,
начиная с нуля.
Если принтер понимает PostScript(R) или другой язык принтера, пошлите на принтер небольшую программу. Введите команду:
#
cat > /dev/lpt
N
Затем, построчно, внимательно введите
программу, поскольку вы не сможете отредактировать строку
после нажатия клавиши RETURN
или ENTER
. По окончании ввода программы,
нажмите CONTROL+D
или другую комбинацию клавиш,
используемую для ввода символа конца файла.
Можно также поместить программу в файл и выполнить команду:
#
cat
file
> /dev/lptN
Где file
- имя файла, содержащего
программу, которую вы хотите послать принтеру.
Вы должны увидеть распечатку. Не переживайте, если текст выглядит не так, как предполагалось; этими проблемами мы займемся позже.
В этом разделе описано, как проверить, может ли ОС FreeBSD взаимодействовать с принтером, подключенным к последовательному порту.
Для тестирования принтера на последовательном порту:
Станьте пользователем root
с помощью
команды su(1).
Отредактируйте файл /etc/remote
.
Добавьте следующую запись:
printer:dv=/dev/port
:br#bps-rate
:pa=parity
Где port
- специальный файл
устройства для последовательного порта (ttyd0
,
ttyd1
и т.д.), bps-rate
-
скорость обработки данных принтером, в битах в секунду,
а parity
- требуемая принтером четность
(значение even
, odd
,
none
или zero
).
Вот пример записи для принтера, подключенного к третьему последовательному порту на скорости 19200 bps без четности:
printer:dv=/dev/ttyd2:br#19200:pa=none
Подключитесь к принтеру с помощью tip(1). Введите команду:
#
tip printer
Если этот шаг не срабатывает, снова отредактируйте
файл /etc/remote
и попробуйте использовать
устройство /dev/cuaa
вместо N
/dev/ttyd
.N
Пошлите данные на принтер.
Если принтер может печатать обычный текст, используйте утилиту lptest(1). Введите команду:
%
$lptest
Если принтер понимает PostScript(R) или другой язык
принтера, пошлите на принтер небольшую программу.
Вводите программу, построчно, очень
внимательно, поскольку нажатие клавиши Backspacе
или других клавиш редактирования может иметь значение
для принтера. Может также понадобиться нажать специальную
комбинацию клавиш, обозначающую конец файла, чтобы принтер
понял, что получена вся программа. Для
PostScript(R)-принтеров нажмите CONTROL+D
.
Можно также поместить программу в файл и ввести команду:
%
>
file
Где file
- имя файла,
содержащего программу. После того, как утилита
tip(1) пошлет файл, нажмите требуемую для
ввода признака конца файла комбинацию клавиш.
Вы должны увидеть распечатку. Не переживайте, если текст выглядит не так, как предполагалось; этими проблемами мы займемся позже.
Сейчас ваш принтер уже должен быть подключен, ядро (при необходимости) - сконфигурировано для взаимодействия с ним, и вы смогли послать на принтер простые данные. Теперь мы готовы к конфигурированию системы LPD для управления доступом к принтеру.
Система LPD конфигурируется путем
редактирования файла /etc/printcap
. Система
спулинга LPD читает этот файл при
каждом использовании спулера, так что, изменения в файле
сразу же учитываются.
Формат файла printcap(5) прост. Используйте
свой любимый текстовый редактор для изменения файла
/etc/printcap
. Формат файла идентичен
формату других файлов, описывающих характеристики, например,
/usr/share/misc/termcap
и
/etc/remote
. Полная информация о формате
представлена на странице справочного руководства cgetent(3).
Простое конфигурирование спулера включает следующие шаги:
Выберите имя (и несколько удобных псевдонимов) для принтера
и поместите их в файл /etc/printcap
; подробнее
об именовании см. в разделе
Именование принтера.
Отключите выдачу начальных страниц (которые по умолчанию выдаются),
вставив характеристику sh
; подробнее об
этом см. в разделе
Подавление выдачи
начальных страниц.
Создайте каталог для спулинга и укажите его местонахождение
с помощью характеристики sd
; подробнее об этом
см. в разделе Создание
каталога спулинга.
Выберите специальный файл устройства /dev
для
использования с принтером и укажите его в файле
/etc/printcap
с помощью характеристики
lp
; подробнее об этом см. в разделе
Выбор устройства для принтера.
Кроме того, если принтер подключен к последовательному порту,
настройте параметры взаимодействия с помощью характеристики
ms#
, которая обсуждается в разделе
Конфигурирование параметров
взаимодействия для спулера.
Установите фильтр для обычного текста; подробнее об этом см. в разделе Установка текстового фильтра.
Проверьте настройку, напечатав что-нибудь с помощью команды lpr(1). Подробнее об этом см. в разделах Проверка и Выявление проблем.
Принтеры, использующие специальные языки, например, PostScript(R)-принтеры, не могут непосредственно печатать обычный текст. Простая настройка, представленная выше и описанная в следующих разделах, предполагает, что, если вы устанавливаете такой принтер, то будете печатать только файлы, которые он может обработать.
Пользователи часто предполагают, что они могут печатать обычный текст на любом из установленных в системе принтеров. Программы, взаимодействующие для обеспечения печати с системой LPD, обычно исходят из этого же предположения. Если вы устанавливаете такой принтер и хотите иметь возможность посылать на печать задания на языке принтера и в виде обычного текста, настоятельно рекомендуется добавить дополнительный шаг к представленной выше простой последовательности настройки: установите программу автоматического преобразования обычного текста в PostScript(R) (или другой язык принтера). В разделе Прием заданий с обычным текстом на PostScript(R)-принтеры рассказано, как это сделать.
Первый (простой) шаг - выбрать имя для принтера. На самом деле, не важно, выберете ли вы функциональное имя или причудливое, поскольку для принтера можно также задать несколько псевдонимов.
По крайней мере, один из принтеров, указанных в файле
/etc/printcap
, должен иметь псевдоним
lp
. Это - стандартное имя принтера.
Если пользователи не установят переменную среды PRINTER
и не укажут имя принтера в командной сроке при вводе любой
команды системы LPD, по умолчанию для
ее выполнения будет использован принтер lp
.
Также широко распространена практика в качестве последнего псевдонима для принтера задавать полное его описание, включая производителя и модель.
После выбора имени и нескольких популярных псевдонимов поместите
их в файл /etc/printcap
. Имя принтера должно начинаться
с крайнего левого столбца. Каждый псевдоним отделяйте вертикальной
чертой, а после последнего псевдонима поместите двоеточие.
В следующем примере мы начнем со скелетного файла
/etc/printcap
, определяющего два принтера
(построчный принтер Diablo 630 и лазерный PostScript(R)-принтер
Panasonic KX-P4455):
# # /etc/printcap для хоста rose # rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
В этом примере первый принтер назван
rattan
и ему заданы псевдонимы
line
, diablo
,
lp
и Diablo 630 Line
Printer
. Поскольку у него есть псевдоним
lp
, он является стандартным принтером. Второму
принтеру дано имя bamboo
и ему заданы псевдонимы
ps
, PS
,
S
, panasonic
и
Panasonic KX-P4455 PostScript v51.4
.
Система спулинга LPD будет по умолчанию печатать заголовочную страницу для каждого задания. Заголовочная страница содержит имя пользователя, отправившего задание, хост, с которого поступило задание, и имя задания, красивыми большими буквами. К сожалению, все эти дополнительные тексты мешают отладке простой настройки принтера, поэтому мы будет отключать выдачу начальных страниц.
Для подавления выдачи начальных страниц добавьте характеристику
sh
к записи принтера в файле
/etc/printcap
. Вот пример файла
/etc/printcap
с добавлением sh
:
# # /etc/printcap для хоста rose - никаких начальных страниц # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:
Обратите внимание, как мы использовали правильный формат: первая строка начинается с самого левого столбца, а последующие строки смещены. Каждая строка в записи, кроме последней, завершается символом обратной косой черты.
Следующий шаг в простой настройке спулера - создать каталог для спулинга, каталог, в котором находятся задания печати, пока не будут напечатаны, и где находятся еще несколько других файлов для поддержки спулера.
Из-за присущих каталогам спулинга постоянных изменений, принято
помещать эти каталоги в каталог /var/spool
.
Кроме того, не нужно создавать резервные копии содержимого каталогов
спулинга. Пересоздать их можно с помощью простой команды
mkdir(1).
Принято также задавать для каталога имя, совпадающее с именем принтера, как показано ниже:
#
mkdir /var/spool/
имя-принтера
Однако при наличии большого количества принтеров в сети
может иметь смысл поместить все каталоги спулинга в один каталог,
который просто резервируется для печати с помощью
LPD. Мы сделаем это для наших двух принтеров,
rattan
и bamboo
:
#
mkdir /var/spool/lpd
#
mkdir /var/spool/lpd/rattan
#
mkdir /var/spool/lpd/bamboo
Если вас интересует конфиденциальность заданий, отправляемых пользователями на печать, можно защитить каталог спулинга, чтобы он не был общедоступным. Каталоги спулинга должны принадлежать и быть доступны на чтение, запись и просмотр содержимого пользователю daemon и группе daemon, и никому больше. Мы установим это для каталогов спулинга принтеров из нашего примера:
#
chown daemon:daemon /var/spool/lpd/rattan
#
chown daemon:daemon /var/spool/lpd/bamboo
#
chmod 770 /var/spool/lpd/rattan
#
chmod 770 /var/spool/lpd/bamboo
Наконец, надо сообщить системе LPD
об этих каталогах с помощью файла /etc/printcap
.
Полное имя каталога спулинга задается с помощью характеристики
sd
:
# # /etc/printcap для хоста rose - добавлены каталоги спулинга # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:
Обратите внимание, что имя принтера начинается с самого первого столбца, а все последующие строки смещены, и каждая строка в записи, кроме последней, завершается символом обратной косой черты.
Если вы не зададите каталог спулинга с помощью характеристики
sd
, система спулинга будет использовать по умолчанию
каталог /var/spool/lpd
.
Мы выяснили, какой специальный
файл устройства в каталоге /dev
FreeBSD будет
использовать для взаимодействия с принтером. Теперь мы сообщаем эту
информацию системе LPD. Когда у системы
спулинга есть задание для печати, она будет открывать указанное устройство
от имени программы-фильтра (которая отвечает за передачу данных
на принтер).
Задайте полное имя устройства /dev
в файле
/etc/printcap
с помощью характеристики
lp
.
В нашем текущем примере давайте предположим, что принтер
rattan
подключен к первому параллельному порту,
а принтер bamboo
- к шестому последовательному
порту; вот что нужно добавить в файл /etc/printcap
:
# # /etc/printcap для хоста rose - указано, какие устройства использовать # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:
Если вы не укажете характеристику lp
для
принтера в файле /etc/printcap
, система
LPD использует по умолчанию
устройство /dev/lp
. Устройство
/dev/lp
сейчас в ОС FreeBSD не существует.
Если устанавливаемый принтер подключен к параллельному порту, перейдите к разделу Установка текстового фильтра. Иначе выполните сначала инструкции, представленные в следующем разделе.
Для принтеров на последовательных портах система LPD может устанавливать скорость передачи, четность и другие параметры взаимодействия через последовательных порт от имени программы-фильтра, которая посылает данные на принтер. Это полезно потому, что:
Позволяет опробовать различные параметры взаимодействия, просто
редактируя файл /etc/printcap
; программу-фильтр
перекомпилировать не нужно.
Позволяет системе спулинга использовать одну и ту же программу-фильтр для нескольких принтеров, которые могут иметь различные установки для взаимодействия через последовательный порт.
Следующие характеристики в файле /etc/printcap
задают параметры взаимодействия через последовательный порт
для устройства, указанного в качестве значения характеристики
lp
:
br#bps-rate
Устанавливает скорость взаимодействия для устройства в
bps-rate
, где
bps-rate
может иметь значение 50, 75, 110,
134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600,
19200, 38400, 57600 или 115200 бит в секунду.
ms#stty-mode
Устанавливает опции для терминального устройства после открытия устройства. Поддерживаемые опции описаны на странице справочного руководства stty(1).
Когда система LPD открывает устройство,
заданное характеристикой lp
, она устанавливает
опции устройства в соответствии со значением характеристики
ms#
. Наибольший интерес представляют
режимы parenb
, parodd
,
cs5
, cs6
, cs7
,
cs8
, cstopb
,
crtscts
и ixon
, которые
описаны на странице справочного руководства stty(1).
Давайте зададим опции для нашего принтера на шестом последовательном
порту. Мы установим скорость передачи 38400. В качестве режима
установим режим без четности с помощью -parenb
,
8-битовые символы с помощью cs8
,
отсутствие модемного управления с помощью clocal
и
аппаратное управление потоком с помощью опции crtscts
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:
Теперь мы готовы задать системе LPD,
какой текстовый фильтр использовать для посылки заданий на принтер.
Текстовый фильтр, известный также как
входной фильтр, - это программа,
которую система LPD запускает при
получении задания на
печать. Когда система LPD запускает
текстовый фильтр для принтера, она направляет на стандартный
входной поток фильтра задание печати, а его стандартный выходной
поток - на устройство принтера, заданное характеристикой lp
.
Предполагается, что фильтр прочитает задание из стандартного входного
потока, выполнит все необходимые для принтера преобразования и
выдаст результат в стандартный выходной поток, который и будет
напечатан. Подробнее о текстовом фильтре см. в разделе
Фильтры.
Для простой настройки принтера в качестве текстового фильтра можно
задать небольшой скрипт командного интерпретатора, который просто
выполняет /bin/cat
для посылки задания на принтер.
В составе FreeBSD поставляется другой фильтр, lpf
,
обрабатывающий забой и подчеркивание для принтеров, которые не слишком
хорошо справляются с потоком данных, содержащих такие символы. И,
конечно же, вы можете использовать любую другую необходимую
программу-фильтр. Фильтр lpf
детально описан в разделе
lpf: текстовый фильтр.
Сначала давайте создадим скрипт командного интерпретатора
/usr/local/libexec/if-simple
для простого
тестового фильтра. Поместите в этот файл следующий текст с помощью
любимого текстового редактора:
#!/bin/sh # # if-simple - Простой фильтр входного текста для lpd # Установлен в /usr/local/libexec/if-simple # # Просто копирует stdin в stdout. Игнорирует все аргументы фильтра. /bin/cat && exit 0 exit 2
Сделайте этот файл выполняемым:
#
chmod 555 /usr/local/libexec/if-simple
А теперь потребуйте от системы LPD его использовать, указав его в
качестве значения характеристики if
в файле
/etc/printcap
. Мы добавим его для двух принтеров,
имеющихся пока в примере файла /etc/printcap
:
# # /etc/printcap для хоста rose - добавлен текстовый фильтр # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ :if=/usr/local/libexec/if-simple:
Копию скрипта if-simple
можно
найти в каталоге /usr/share/examples/printing
.
Даемон lpd(8) запускается из /etc/rc
,
а необходимость запуска задается переменной lpd_enable
.
Эта переменная по умолчанию имеет значение NO
. Если
вы еще этого не сделали, добавьте строку:
lpd_enable="YES"
в файл /etc/rc.conf
, а затем либо перезапустите
машину, либо просто выполните команду lpd(8).
#
lpd
Вы добрались до конца простой настройки системы LPD. К сожалению, поздравлять вас еще рано, поскольку надо еще проверить настройку и устранить все выявленные проблемы. Для проверки настройки, попытайтесь что-то распечатать. Для печати с помощью системы LPD используется команда lpr(1), которая посылает задание на печать.
Можно скомбинировать lpr(1) с программой lptest(1), представленной в разделе Проверка взаимодействия с принтером, генерирующей тестовый текст.
Для тестирования простой настройки LPD:
Введите команду:
#
lptest 20 5 | lpr -P
printer-name
Где printer-name
- имя
(или псевдоним) принтера, заданное в файле
/etc/printcap
. Для проверки стандартного
принтера, введите команду lpr(1) без аргумента -P
.
Как уже отмечалось, если тестируется принтер, предполагающий использование
PostScript(R), пошлите ему PostScript(R)-программу вместо использования
утилиты lptest(1). Это можно сделать, поместив программу в файл
и выполнив команду lpr
.file
Для PostScript(R)-принтера вы должны получить результаты выполнения программы. Если вы используете lptest(1), ваши результаты должны иметь такой вид:
!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678
Для дальнейшего тестирования принтера, попытайтесь загрузить
программы побольше (для принтеров, поддерживающих определенный язык)
или выполните команду lptest(1) с другими аргументами. Например,
команда lptest 80 60
выдаст 60 строк по 80
символов в каждой.
Если принтер не работает, см. раздел Выявление проблем.
В этом разделе описаны фильтры для печати специально сформатированных файлов, начальных страниц, печати по сети, ограничения и учета использования принтера.
Хотя система LPD поддерживает сетевые протоколы, очереди, контроль доступа и другие аспекты печати, большая часть реальной работы происходит в фильтрах. Фильтры - это программы, взаимодействующие с принтером и обеспечивающие учет особенностей устройства и специальных требований. При простой настройке принтера мы установили фильтр для обычного текста - крайне простой, который должен работать с большинством принтеров (см. раздел Установка текстового фильтра).
Однако, чтобы обеспечить преобразования формата, учет использования принтера и индивидуальных особенностей отдельных принтеров и т.п., надо разобраться, как работают фильтры. В конечном итоге, всеми этими аспектами печати должен заниматься фильтр. А плохая новость состоит в том, что, в большинстве случаев, вы сами должны предоставить соответствующие фильтры. Хорошая новость состоит в том, что многие фильтры общедоступны; а если подходящих нет, их обычно легко написать.
Кроме того, в составе ОС FreeBSD поставляется один фильтр,
/usr/libexec/lpr/lpf
, работающий со многими
принтерами, которые могут печатать обычный текст. (Он обрабатывает
символы забоя и табуляции в файле, выполняет учет использования, но
и не более того.) Есть также ряд фильтров и компонентов фильтров
в наборе портов FreeBSD.
Вот что вы найдете в этом разделе:
В разделе Как работают фильтры сделана попытка дать обзор роли фильтра в процессе печати. Прочтите этот раздел, чтобы понять, что происходит <<за кадром>>, когда система LPD использует фильтры. Это понимание поможет предвидеть и решать проблемы, с которыми вы можете столкнуться при добавлении дополнительных фильтров для каждого из принтеров.
Система LPD предполагает, что каждый принтер, по умолчанию, может печатать обычный текст. Это проблематично для PostScript(R)-принтеров (или принтеров на базе другого языка), поскольку они не могут печатать обычный текст непосредственно. В разделе Прием заданий с обычным текстом на PostScript(R)-принтеры описано, что нужно сделать, чтобы решить эту проблему. Прочтите этот раздел, если используете PostScript(R)-принтер.
PostScript(R) - популярный формат выдачи для многих программ. Некоторые люди даже пишут PostScript(R)-код непосредственно. К сожалению, PostScript(R)-принтеры дороги. В разделе Имитация PostScript(R) на не-PostScript(R) принтерах описано, как можно дополнительно изменить текстовый фильтр принтера для приема и печати данных PostScript(R) не не-PostScript(R) принтере. Прочтите этот раздел, если ваш принтер не поддерживает PostScript(R).
В разделе Фильтры преобразования
описан способ автоматизации преобразования определенных форматов
файлов, например, графики или данных для печатного станка, в форматы,
которые может обработать ваш принтер. После чтения этого раздела
вы сможете настроить свои принтеры так, что пользователи смогут
выполнять команду lpr -t
для печати данных troff,
или lpr -d
для печати данных TeX DVI, или
lpr -v
- для печати растровых изображений, и
так далее. Я рекомендую прочитать этот раздел.
В разделе Выходные фильтры описана не часто используемая возможность задавать выходные фильтры в системе LPD. Если только вы не печатаете начальные страницы (см. Начальные страницы), можно, пожалуй, вообще пропустить этот раздел.
В разделе lpf: текстовый
фильтр описана команда lpf
, - достаточно
полный, хотя и простой текстовый фильтр для строчных принтеров
(и лазерных принтеров, работающих как строчные), поставляемый в
составе ОС FreeBSD. Если надо быстро настроить учет использования
принтера для обычного текста или если используется принтер,
из которого при получении символов забоя идет дым, несомненно,
стоит подумать об использовании lpf
.
Различные скрипты, описанные далее, можно найти в каталоге
/usr/share/examples/printing
.
Как уже упоминалось, фильтр - это выполняемая программа, запускаемая системой LPD для поддержки специфических особенностей устройства при взаимодействии с принтером.
Когда системе LPD надо напечатать
входящий в задание файл, она запускает программу-фильтр. Стандартный
входной поток фильтра связывается с файлом, который надо распечатать,
его стандартный выходной поток - с принтером, а стандартный поток
ошибок перенаправляется в файл регистрации ошибок (задается
характеристикой lf
в файле
/etc/printcap
, или используется стандартное
устройство /dev/console
).
Запускаемый системой LPD фильтр и его
аргументы зависят от того, что указано в файле
/etc/printcap
, и какие аргументы указал
пользователь для задания в команде lpr(1). Например,
если пользователь ввел команду lpr -t
,
система LPD должна запустить фильтр troff,
заданный характеристикой tf
для соответствующего
принтера. Если пользователь хочет печатать обычный текст, система
должна запустить фильтр if
(это верно в большинстве
случаев: подробнее см. в разделе
Выходные фильтры).
В файле /etc/printcap
можно задавать
три вида фильтров:
Текстовый фильтр, который в документации LPD двусмысленно называют входным фильтром, обеспечивает печать обычного текста. Рассматривайте его как стандартный фильтр. Система LPD предполагает, что любой принтер может по умолчанию печатать обычный текст, а на текстовый фильтр возлагается задача обеспечить, чтобы символы забоя, табуляции или другие специальные символы не сбивали принтер с толку. Если вы работаете в среде, где надо учитывать использование принтера, текстовый фильтр должен также учитывать количество напечатанных страниц, обычно, подсчитывая количество напечатанных строк и сравнивая их с количеством строк на страницу, поддерживаемых принтером. Текстовый фильтр запускается со следующим списком аргументов:
имя-фильтра
[-c] -wширина
-lдлина
-iсдвиг
-n имя-пользователя
-h хост
учетный-файл
где
-c
указывается, если задание послано командой
lpr -l
ширина
значение из характеристики pw
(page
width - ширина страницы), указанной в файле
/etc/printcap
, по умолчанию - 132
длина
значение из характеристики pl
(page
length - длина страницы), по умолчанию - 66
сдвиг
сдвиг, заданный командой lpr -i
,
по умолчанию - 0
имя-пользователя
регистрационное имя пользователя, печатающего файл
хост
имя хоста, с которого было послано задание
учетный-файл
имя учетного файла, задаваемое характеристикой
af
.
Фильтр преобразования преобразует специфичный формат файла в то, что принтер может воспроизвести на бумаге. Например, данные системы набора ditroff нельзя печатать непосредственно, но можно установить фильтр преобразования для файлов ditroff, чтобы преобразовывать данные ditroff в тот вид, который принтер может воспринять и напечатать. В разделе Фильтры преобразования написано всё об этих фильтрах. Фильтры преобразования также необходимы для учета, если предполагается учет использования принтера. Фильтры преобразования запускаются со следующими аргументами:
имя-фильтра
-xширина-пиксела
-yвысота-пиксела
-n имя-пользователя
-h хост
учетный-файл
где ширина-пиксела
- значение
характеристики px (по умолчанию - 0),
а высота-пиксела
- значение характеристики
py (по умолчанию - 0).
Выходной фильтр используется только если нет текстового фильтра или если включена выдача начальных страниц. Судя по моему опыту, выходные фильтры используются редко. Они описаны в разделе Выходные фильтры. У выходного фильтра есть всего два аргумента:
имя-фильтра
-wширина
-lдлина
которые идентичны аргументам -w
и
-l
текстового фильтра.
Фильтры также должны завершать работу со следующим статусом выхода:
Если фильтр успешно напечатал файл.
Если фильтр не смог напечатать файл, но хочет, чтобы система LPD попыталась распечатать файл ещё раз. Система LPD перезапустит фильтр, если его работа завершена с этим статусом.
Если фильтр не смог напечатать файл и не хочет, чтобы система LPD пыталась его печатать еще раз. Система LPD удалит файл.
Поставляемый в составе FreeBSD текстовый фильтр
/usr/libexec/lpr/lpf
использует аргументы, задающие
ширину и длину страницы для определения того, когда посылать символ
прогона страницы (form feed) и как учитывать использование принтера.
Он использует переданные в качестве аргументов имя пользователя,
хост и учетный файл для внесения учетных записей.
При поиске фильтров убедитесь, что они совместимы с системой LPD. Если да, они должны поддерживать описанные выше списки аргументов. Если вы планируете создавать фильтры для общего использования, позаботьтесь о поддержке этих списков аргументов и кодов выхода.
Если вы - единственный пользователь компьютера и PostScript(R)-принтера (или принтера на основе другого языка), и вы обещаете никогда не посылать на принтер обычный текст и никогда не использовать возможностей различных программ, требующих посылки на принтер обычного текста, вам можно не заботиться о том, что описано в этом разделе.
Но, если вы хотите посылать на принтер как задания PostScript(R),
так и обычный текст, рекомендуется дополнить настройку принтера. Для
этого надо, чтобы текстовый фильтр определял, является ли поступающее
задание обычным текстом или программой на языке PostScript(R). Все
PostScript(R)-задания должны начинаться с %!
(для
других языков принтеров обратитесь к соответствующей документации).
Если первые два символа в задании - именно эти, речь идет о PostScript(R),
и мы можем остальную часть задания передавать непосредственно. Если же
первые два символа в файле - другие, фильтр будет преобразовывать
текст в PostScript(R) и печатать результат.
Как нам это сделать?
Если вы используете последовательный принтер, хороший способ
достичь поставленной цели состоит в установке lprps
.
lprps
- это фильтр для PostScript(R)-принтера,
выполняющий двустороннее взаимодействие с принтером. Он обновляет файл
состояния принтера, помещая в него подробную информацию, выданную
принтером, так что пользователи и администраторы могут узнать,
в каком именно состоянии (например, toner low
или paper jam) находится принтер. Но еще
важнее, что он включает программу psif
, которая
определяет, является ли входящее задание обычным текстом, и вызывает
textps
(еще одну программу, поставляемую вместе
с lprps
) для преобразования его в PostScript(R).
Затем lprps
посылает преобразованное задание
на принтер.
lprps
входит в набор портов FreeBSD
(см. Набор портов). Вы, конечно, можете
загрузить, собрать и установить его самостоятельно. После установки
lprps
просто укажите путь к программе
psif
, входящей в состав пакета
lprps
. Если вы установили lprps
из Коллекции Портов, используйте следующий текст в записи для
последовательного PostScript(R)-принтера в файле
/etc/printcap
:
:if=/usr/local/libexec/psif:
Надо также задать характеристику rw
;
она требует от системы LPD открывать принтер
в режиме чтения и записи.
При использовании параллельного PostScript(R)-принтера (что не
позволяет обеспечить двустороннее взаимодействие с принтером,
необходимое для системы lprps
), можно
использовать в качестве текстового фильтра следующий скрипт командного
интерпретатора:
#!/bin/sh # # psif - Печать PostScript или обычного текста на PostScript-принтере # Скрипт, а НЕ версия, входящая в состав lprps # Установлен в /usr/local/libexec/psif # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # Задание PostScript, печатать его. # echo "$first_line" && cat && printf "\004" && exit 0 exit 2 else # # Обычный текст, преобразовать его, а затем напечатать. # ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi
В представленном выше скрипте, textps
-
отдельно установленная программа для преобразования обычного текста в
PostScript(R). Можно использовать любую программу преобразования
текста в PostScript(R). Коллекция Портов FreeBSD (см. материал о
Коллекции Портов) включает
полнофункциональную программу преобразования текста в PostScript(R)
под названием a2ps
, которую
тоже можно попробовать использовать.
PostScript(R) является фактическим стандартом для высококачественного набора и печати. PostScript(R), однако, - дорогой стандарт. К счастью, благодаря компании Aladdin Enterprises есть свободный аналог PostScript(R) под названием Ghostscript, который работает с FreeBSD. Ghostscript может читать большинство PostScript(R)-файлов и выдавать соответствующие страницы на множество устройств, включая многие моделей не-PostScript принтеров. Установив Ghostscript и используя специальный текстовый фильтр для принтера, можно заставить ваш не-PostScript(R) принтер работать фактически как PostScript(R)-принтер.
Ghostscript входит в набор портов FreeBSD, если вы хотите устанавливать его оттуда. Вы можете также легко загрузить, собрать и установить его самостоятельно.
Для имитации PostScript(R) надо, чтобы текстовый фильтр определял, печатается ли PostScript(R)-файл. Если нет, фильтр будет передавать файл на принтер непосредственно; в противном случае, он будет использовать Ghostscript, чтобы сначала преобразовать файл в формат, который поймет принтер.
Рассмотрим пример: следующий сценарий представляет собой
текстовый фильтр для принтеров Hewlett Packard DeskJet 500.
Для других принтеров замените аргумент -sDEVICE
в команде gs
(Ghostscript). (Введите
команду gs -h
для получения списка устройств,
поддерживаемых установленной версией Ghostscript.)
#!/bin/sh # # ifhp - Печать Ghostscript-эмулированного PostScript на DeskJet 500 # Установлен в /usr/local/libexec/ifhp # # Обрабатывать LF как CR+LF (чтобы избежать "эффекта ступенек" # на принтерах HP/PCL: # printf "\033&k2G" || exit 2 # # Прочитать первые два символа файла # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # Это PostScript; используем Ghostscript для чтения, преобразования и печати. # /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0 else # # Обычный текст или HP/PCL, поэтому просто печатаем его напрямую; печатаем в # конце символ прогона страницы, чтобы была выдана последняя страница. # echo "$first_line" && cat && printf "\033&l0H" && exit 0 fi exit 2
Наконец, надо указать системе LPD,
какой фильтр использовать, задав характеристику if
:
:if=/usr/local/libexec/ifhp:
Вот и все. Теперь можно выполнять lpr plain.text
и lpr whatever.ps
, и обе команды должны успешно
печатать.
После завершения простой настройки, описанной в разделе Простая настройка принтера, прежде всего, вам может потребоваться установить фильтры преобразования для любимых форматов файлов (кроме обычных текстов ASCII).
Фильтры преобразования упрощают печать различного рода файлов. В качестве примера, предположим, что активно используется издательская система TeX и имеется PostScript(R)-принтер. При каждой генерации DVI-файла из TeX, мы не можем печатать его непосредственно, пока не преобразуем в PostScript(R). Для этого используется такая последовательность команд:
%
dvips seaweed-analysis.dvi
%
lpr seaweed-analysis.ps
Установив фильтр преобразования для файлов DVI, мы можем не конвертировать файл каждый раз вручную, возложив эту задачу на систему LPD. Теперь при каждом получении DVI-файла нас от его распечатки отделяет только один шаг:
%
lpr -d seaweed-analysis.dvi
Мы заставили систему LPD автоматически
преобразовывать DVI-файл, указав опцию -d
. Все
опции преобразования представлены в разделе
Опции форматирования
и преобразования.
Для каждой из опций преобразования, которая должна поддерживаться
принтером, установите фильтр преобразования и
укажите его полное имя в файле /etc/printcap
.
Фильтр преобразования аналогичен текстовому фильтру для простой
настройки принтера (см. раздел
Установка текстового фильтра),
но вместо печати обычного текста он преобразует файл в формат,
который может понять принтер.
Устанавливать надо те фильтры преобразования, которые предполагается использовать. Если вы часто печатаете файлы DVI, значит, фильтр преобразования DVI необходим. Если вам часто приходится печатать результаты работы troff, может потребоваться фильтр troff.
В следующей таблице представлены фильтры, с которыми
работает система LPD, их
соответствующие характеристики для файла
/etc/printcap
, а также способ их вызова
в команде lpr
:
Тип файла | Характеристика /etc/printcap | Опция lpr |
---|---|---|
cifplot | cf | -c |
DVI | df | -d |
plot | gf | -g |
ditroff | nf | -n |
Текст на языке FORTRAN | rf | -f |
troff | tf | -f |
растровое изображение | vf | -v |
обычный текст | if | никакой, -p или
-l |
В нашем примере использование lpr -d
означает,
что для принтера должна быть задана характеристика
df
в записи в файле
/etc/printcap
.
Вопреки мнению многих, форматы вроде текста на языке FORTRAN
и plot, вероятно, устарели. У себя на машине вы можете дать
новые значения этим или любым другим опциям форматирования,
установив соответствующие специализированные фильтры. Например,
пусть необходимо напрямую печатать файлы Printerleaf (файлы
настольной издательской системы Interleaf), но вообще вы не собираетесь
печатать файлы типа plot. Можно установить фильтр преобразования
Printerleaf в качестве значения характеристики gf
и научить своих пользователей, что команда lpr -g
означает <<печатать файлы Printerleaf>>.
Поскольку фильтры преобразования представляют собой программы,
не входящие в базовую поставку FreeBSD, их, видимо, надо помещать
в каталоге /usr/local
. Популярное
местонахождение - каталог /usr/local/libexec
,
поскольку эти фильтры являются специализированными программами для
выполнения системой LPD; обычным
пользователям никогда не понадобится их выполнять.
Для включения фильтра преобразования, укажите его полное
имя в качестве значения соответствующей характеристики для принтера
в файле /etc/printcap
.
В качестве примера, давайте добавим фильтр преобразования DVI
в запись для принтера bamboo
. Вот опять пример
файла /etc/printcap
, с новой характеристикой
df
для принтера bamboo
.
# # /etc/printcap для хоста rose - добавлен фильтр df для bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Фильтр DVI - скрипт командного интерпретатора по имени
/usr/local/libexec/psdf
. Вот его текст:
#!/bin/sh # # psdf - фильтр принтера, преобразующий DVI в PostScript # Установлен в /usr/local/libexec/psdf # # Вызывается системой lpd при выполнении пользователем команды lpr -d # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
Это скрипт выполняет команду dvips
в режиме
фильтрования (аргумент -f
) входного потока,
представляющего собой задание для печати. Затем запускается
фильтр PostScript(R)-принтера lprps
(см. раздел
Прием заданий с
обычным текстом на PostScript(R)-принтеры) с аргументами,
переданными системой LPD этому скрипту.
Команда lprps
будет использовать эти аргументы
для учета распечатанных страниц.
Поскольку нет фиксированного набора шагов для установки фильтров преобразования, я просто представлю дополнительные примеры. Используйте их в качестве руководства при создании собственных фильтров. Используйте их непосредственно, если нужно.
Следующий пример фильтра преобразует растровый файл (точнее, GIF-файл) для печати на принтере Hewlett Packard LaserJet III-Si:
#!/bin/sh # # hpvf - Преобразовать GIF-файлы в HP/PCL и напечатать # Установлен в /usr/local/libexec/hpvf PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ && exit 0 \ || exit 2
Он работает путем преобразования GIF-файла в переносимый формат anymap, его - в переносимый формат graymap, затем - в переносимый bitmap, а уже его - в данные, подходящие для LaserJet/PCL.
Вот файл /etc/printcap
с записью для
принтера, в которой используется представленный выше фильтр:
# # /etc/printcap для хоста orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:\ :vf=/usr/local/libexec/hpvf:
Следующий скрипт является фильтром преобразования для печати
данных troff, получаемых из системы набора groff, на
PostScript(R)-принтере bamboo
:
#!/bin/sh # # pstf - Преобразует выдаваемые groff данные troff в PS и печатает. # Установлен в /usr/local/libexec/pstf # exec grops | /usr/local/libexec/lprps "$@"
Представленный выше скрипт снова использует команду
lprps
для взаимодействия с принтером.
Если принтер подключен к параллельному порту, придется
использовать следующий скрипт:
#!/bin/sh # # pstf - Преобразует выдаваемые groff данные troff в PS и печатает. # Установлен в /usr/local/libexec/pstf # exec grops
Вот и все. Вот какую запись надо добавить в файл
/etc/printcap
, чтобы включить этот фильтр:
:tf=/usr/local/libexec/pstf:
Вот пример, который пригодится старым специалистам по языку FORTRAN.
Это фильтр для печати текста программы на языке FORTRAN на любом принтере,
который может непосредственно печатать обычный текст. Мы установим его
для принтера teak
:
#!/bin/sh # # hprf - Фильтр текста на языке FORTRAN для LaserJet 3si: # Установлен в /usr/local/libexec/hprf # printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2
Надо добавить следующую строку к записи в файле
/etc/printcap
для принтера
teak
, чтобы включить этот фильтр:
:rf=/usr/local/libexec/hprf:
Перейдем к последнему, более сложному примеру. Мы добавим фильтр
DVI для уже использовавшегося принтера LaserJet по имени
teak
. Сначала простая часть: изменить файл
/etc/printcap
, указав местонахождение
фильтра DVI:
:df=/usr/local/libexec/hpdf:
А теперь - часть посложнее: создать фильтр. Для этого нам
понадобится программа преобразования DVI в LaserJet/PCL. Набор
портов FreeBSD (см. Набор портов)
содержит одну: соответствующий пакет называется
dvi2xx
. Установка этого пакета дает нам
необходимую программу, dvilj2p
, которая
преобразует DVI в коды, подходящие для LaserJet IIp,
LaserJet III и LaserJet 2000.
Команда dvilj2p
требует создания
достаточно сложного фильтра hpdf
, поскольку
она не может читать стандартный входной поток. Она хочет работать
с именем файла. Что еще хуже, имя файла должно завершаться
расширением .dvi
, так что использование
стандартного входного потока /dev/fd/0
тоже проблематично. Мы можем обойти эту проблему, создав (символическую)
связь (с именем, завершающимся суффиксом .dvi
) с
устройством /dev/fd/0
, тем самым, заставив
команду dvilj2p
читать из стандартного входного
потока.
Единственная оставшаяся проблема состоит в том, что мы не можем
создавать временную связь в каталоге /tmp
.
Символьные связи принадлежат пользователю и группе bin
.
Фильтр же работает от имени пользователя daemon
. А у
каталога /tmp
установлен sticky bit. Фильтр сможет
создать связь, но не сможет почистить за собой и удалить ее, поскольку
связь будет принадлежать другому пользователю.
Вместо этого, фильтр будет создавать символическую связь в текущем
рабочем каталоге, которым является каталог спулинга (задаваемый
характеристикой sd
в файле
/etc/printcap
). Это отличное место для выполнения
фильтрами своих действий, особенно потому, что (иногда)
в каталоге спулинга места больше, чем в /tmp
.
Вот, наконец, и сам фильтр:
#!/bin/sh # # hpdf - Печать данных DVI на принтере HP/PCL # Установлен в /usr/local/libexec/hpdf PATH=/usr/local/bin:$PATH; export PATH # # Определяем функцию для удаления временных файлов. Они существуют # в текущем каталоге - в каталоге спулинга для принтера. # cleanup() { rm -f hpdf$$.dvi } # # Определяем функцию для обработки критических ошибок: напечатать заданное # сообщение и выйти с кодом 2. Код выхода 2 сообщает системе LPD, что не # надо повторно пытаться печатать задание. # fatal() { echo "$@" 1>&2 cleanup exit 2 } # # Если пользователь удаляет задание, система LPD будет посылать сигнал SIGINT, # поэтому перехватываем SIGINT (и пару других сигналов), чтобы убрать за собой. # trap cleanup 1 2 15 # # Гарантируем, что не конфликтуем с существующими файлами. # cleanup # # Связываем входной файл DVI со стандартным входным потоком (файлом для печати). # ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # # Заменяем LF = CR+LF # printf "\033&k2G" || fatal "Cannot initialize printer" # # Преобразуем и печатаем. Значение, возвращаемое программой dvilj2p, не надежно, # так что мы его игнорируем. # dvilj2p -M1 -q -e- dfhp$$.dvi # # Убираем за собой и завершаем работу # cleanup exit 0
Все эти фильтры преобразования многое дают для среды печати, но требуют от пользователя указывать (в командной строке lpr(1)), какой именно фильтр использовать. Если пользователи не особенно разбираются в компьютерах, необходимость указывать опцию фильтра будет их раздражать. Что еще хуже, однако, при неправильном указании опции фильтрования может быть применен фильтр, не соответствующий типу файла, и принтер испортит несколько сотен страниц бумаги.
Вместо установки фильтров преобразования, можно попытаться
заставить текстовый фильтр (поскольку он применяется по умолчанию)
определять тип файла, который его попросили напечатать, и затем
автоматически вызывать соответствующий фильтр преобразования.
В этом могут помочь утилиты вроде file
. Конечно,
будет сложно различать некоторые типы
файлов - и, конечно же, можно задавать фильтры преобразования
только для них.
В наборе портов FreeBSD есть текстовый фильтр, выполняющий
автоматическое преобразование; это apsfilter
.
Он может выявлять обычный текст, PostScript(R) и файлы DVI,
выполнять соответствующие преобразования и печатать
результат.
Система спулинга LPD поддерживает еще один тип фильтров, который мы еще не рассматривали: выходные фильтры. Выходной фильтр предназначен только для печати обычного текста, как текстовый фильтр, но с множеством упрощений. Если вы используете выходной фильтр, а текстовый фильтр не задан, то:
Система LPD запускает выходной фильтр один раз для всего задания, а не для каждого файла задания.
Система LPD не пытается определить начало или конец файлов в задании для выходного фильтра.
Система LPD не передает выходному фильтру имя пользователя или хоста, так что этот фильтр не предназначен для учета использования принтера. Фактически, он получает всего два аргумента:
имя-фильтра
-wширина
-lдлина
Где ширина
берется из характеристики
pw
, а длина
- из
характеристики pl
для соответствующего
принтера.
Не соблазняйтесь простотой выходного фильтра. Если вы хотите, чтобы каждый файл в задании начинал печататься с новой страницы, выходной фильтр не поможет. Используйте текстовый фильтр (также известный как входной); см. раздел Установка текстового фильтра. Более того, выходной фильтр, фактически, - более сложный, поскольку он должен проверять посылаемый ему поток байтов в поисках специальных символов-флагов и посылать себе сигналы от имени системы LPD.
Однако выходной фильтр необходим, если надо выдавать начальные страницы и требуется посылать управляющие последовательности или другие строки инициализации, чтобы можно было напечатать начальную страницу. (Но он не поможет, если необходимо учитывать начальные страницы для пользователя, поскольку система LPD не передает выходному фильтру никакой информации о пользователе или хосте.)
На одном принтере система LPD
позволяет совместно с выходным использовать текстовый или другие
фильтры. В таких случаях, система LPD будет
запускать выходной фильтр только для печати начальной страницы (см.
раздел Начальные
страницы). Система LPD затем
предполагает, что выходной фильтр остановится,
посылая ему два байта: ASCII 031 и ASCII 001. Когда выходной фильтр
видит эти два байта (031, 001), он должен остановиться, посылая
себе сигнал SIGSTOP
. Когда система
LPD закончит выполнение остальных фильтров,
она перезапускает выходной фильтр, посылая ему сигнал
SIGCONT
.
Если есть выходной фильтр, но нет текстового, и система LPD обрабатывает задания с обычным текстом, LPD использует для выполнения задания выходной фильтр. Как уже было сказано, выходной фильтр будет печатать все файлы задания последовательно, без прогонов страниц или других настроек бумаги, а это вряд ли вас устроит. Почти во всех случаях необходим текстовый фильтр.
Программа lpf
, которую мы представили ранее
как текстовый фильтр, может также работать как выходной фильтр. Если
срочно необходим простой выходной фильтр, но вы не хотите писать
код для выявления байтов и посылки сигнала, попробуйте использовать
lpf
. Можно также поместить lpf
в скрипт командного интерпретатора для обработки любых
кодов инициализации, которые может потребовать принтер.
Программа /usr/libexec/lpr/lpf
,
поставляемая в составе двоичного дистрибутива FreeBSD,
представляет собой текстовый (входной) фильтр, который может
печатать с отступом (если задание послано командой
lpr -i
), пропускать все символы на печать
(если задание послано командой lpr -l
),
настраивать позицию печати при получении в задании символов
забоя и табуляции, а также учитывать количество напечатанных страниц.
Она может также использоваться как выходной фильтр.
Программа lpf
подходит для многих сред печати.
И хотя она не позволяет посылать на принтер инициализационные
последовательности, легко написать скрипт командного интерпретатора,
который будет выполнять необходимую инициализацию, а затем вызывать
lpf
.
Чтобы программа lpf
корректно выполняла учет
страниц, ей необходимо указать корректные значения характеристик
pw
и pl
в файле
/etc/printcap
. Она использует эти значения для
определения того, сколько текста может поместиться на странице и сколько
страниц было в задании пользователя. Подробнее об учете использования
принтера см. в разделе Учет
использования принтера.
При наличии множества пользователей, использующих различные принтеры, вероятно, можно считать начальные страницы неизбежным злом.
Начальные страницы, которые также называют баннерными или разделительными страницами, идентифицируют, кому принадлежат задания после их печати. Обычно информация на них выдается большими, жирными буквами, возможно, с декоративными рамочками, чтобы в пачке распечаток они отличались от реальных документов, образующих задания пользователей. Они позволяют пользователям быстро находить свои задания. Очевидный недостаток выдачи начальных страниц состоит в том, что для каждого задания надо печатать на одну страницу больше, причем, страница эта хоть сколько-нибудь нужна несколько минут, а затем она оказывается в мусорной корзине или сдается в макулатуру. (Учтите, что начальная страница выдается в начале задания, а не перед каждым файлом, так что бумаги может теряться не так уж и много.)
Система LPD может выдавать заголовочные страницы для ваших распечаток автоматически, если ваш принтер может непосредственно печатать обычный текст. Если используется PostScript(R)-принтер, потребуется внешняя программа для генерации начальной страницы; см. Начальные страницы на PostScript(R)-принтерах.
В разделе Простая настройка
принтера мы отключили выдачу начальных страниц, задав характеристику
sh
(что означает <<suppress header>>) в
файле /etc/printcap
. Для включения
выдачи начальных страниц на принтер, просто удалите характеристику
sh
.
Кажется слишком просто, правда?
Вы правы. Может потребоваться задать выходной фильтр для посылки строк инициализации на принтер. Вот пример выходного фильтра для Hewlett Packard PCL-совместимых принтеров:
#!/bin/sh # # hpof - Выходной фильтр для Hewlett Packard PCL-совместимых принтеров # Установлен в /usr/local/libexec/hpof printf "\033&k2G" || exit 2 exec /usr/libexec/lpr/lpf
Задайте полное имя выходного фильтра в качестве значения
характеристики of
. Подробнее об этом см.
в разделе Выходные фильтры.
Вот пример файла /etc/printcap
для принтера
teak
, который мы представили ранее; мы включили
выдачу начальных страниц и добавили показанный выше выходной фильтр:
# # /etc/printcap для хоста orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:\ :vf=/usr/local/libexec/hpvf:\ :of=/usr/local/libexec/hpof:
Теперь, когда пользователи выдают задания на принтер
teak
, они получают начальную страницу с каждым
заданием. Если пользователи хотят тратить время на поиск своих
распечаток, они могут подавить вывод начальных страниц,
посылая задание с опцией lpr -h
;
другие опции lpr(1) см. в разделе
Опции начальных
страниц.
Система LPD выдает символ прогона
страницы (form feed) после начальной страницы. Если ваш принтер
использует другой символ или последовательность символов
для выброса напечатанной страницы, укажите их в
качестве значения характеристики ff
в файле /etc/printcap
.
Включая выдачу начальных страниц, система LPD
будет выдавать длинный длинный заголовок, целую страницу
с большими буквами, идентифицирующими пользователя, хост и задание. Ниже
представлен пример (kelly напечатала задание по имени outline с хоста rose
):
k ll ll k l l k l l k k eeee l l y y k k e e l l y y k k eeeeee l l y y kk k e l l y y k k e e l l y yy k k eeee lll lll yyy y y y y yyyy ll t l i t l oooo u u ttttt l ii n nnn eeee o o u u t l i nn n e e o o u u t l i n n eeeeee o o u u t l i n n e o o u uu t t l i n n e e oooo uuu u tt lll iii n n eeee r rrr oooo ssss eeee rr r o o s s e e r o o ss eeeeee r o o ss e r o o s s e e r oooo ssss eeee Job: outline Date: Sun Sep 17 11:04:58 1995
Система LPD добавляет прогон страницы
после этого текста, чтобы задание начиналось с новой страницы
(если только вы не указали характеристику sf
(suppress
form feeds) в записи соответствующего принтера в файле
/etc/printcap
).
Если вы предпочитаете, чтобы система LPD
создавала короткий заголовок, укажите
характеристику sb
(short banner) в файле
/etc/printcap
. Начальная страница будет
иметь следующий вид:
rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995
Также по умолчанию система LPD печатает
начальную страницу перед заданием. Для изменения порядка на обратный,
укажите характеристику hl
(header last) в файле
/etc/printcap
.
Использование встроенных начальных страниц системы LPD порождает определенную парадигму учета использования принтера: начальные страницы пользователи не должны оплачивать.
Почему?
Поскольку выходной фильтр - единственная внешняя программа,
управляющая выдачей начальных страниц, которая может выполнять учет,
а ей не передают информацию о пользователе или хосте
и учётный файл, так что, она не имеет никакого представления о том,
на чей счет отнести использование принтера. Также недостаточно
просто <<добавлять одну страницу>> в текстовом фильтре
или в любом из фильтров преобразований (которые имеют информацию
о пользователе и хосте), поскольку пользователи могут подавлять
выдачу начальных страниц с помощью опции lpr -h
.
И их заставят оплачивать начальные страницы, которые они не печатали.
Понятно, что опцию lpr -h
будут использовать в большинстве
случаев те, кто озабочен проблемами окружающей среды, но вы никак не
можете стимулировать ее использование.
Также недостаточно, чтобы каждый из фильтров
генерировал собственные начальные страницы (и, тем самым,
мог их учитывать). Если пользователи захотят отказаться от выдачи
начальных страниц и укажут опцию lpr -h
, они все
равно их получат, и будут вынуждены оплатить, поскольку система
LPD не передает информации о наличии опции
-h
ни одному из этих фильтров.
Итак, что же вы можете сделать?
Вы можете:
Принять парадигму системы LPD и сделать начальные страницы бесплатными.
Установить альтернативную систему вместо LPD, такую как LPRng. В разделе Альтернативы стандартному спулеру представлена дополнительная информация о других системах спулинга, которые можно использовать вместо LPD.
Написать умный выходной фильтр. Обычно
выходной фильтр не предназначен для выполнения чего-то кроме
инициализации принтера и простых преобразований символов. Он
подходит для начальных страниц и заданий с обычным текстом
(когда нет текстового (входного) фильтра). Но, если есть текстовый
фильтр для заданий с обычным текстом, то система
LPD будет запускать выходной фильтр только
для начальных страниц. И выходной фильтр может анализировать
текст начальной страницы, которую генерирует система
LPD, чтобы определить, на счет какого
пользователя и хоста отнести начальную страницу. Единственная
проблема этого метода в том, что выходной фильтр все равно не
знает, какой учетный файл использовать (ему не передают
имя файла, заданное в качестве значения характеристики
af
), но при наличии хорошо известного учетного
файла, его имя можно явно указать в выходном фильтре. Для
упрощения этапа анализа задайте характеристику
sh
(short header) в файле
/etc/printcap
. Повторимся, что это может
оказаться слишком сложным, и пользователи, несомненно, больше оценят
великодушного системного администратора, который сделает начальные
страницы бесплатными.
Как было описано выше, система LPD может генерировать начальную страницу в виде обычного текста, что подходит для многих принтеров. Конечно, PostScript(R)-принтеры не могут непосредственно печатать обычный текст, так что, для них возможность выдачи начальных страниц системы LPD бесполезна - или почти бесполезна.
Один очевидный способ получить начальные страницы - заставить
каждый фильтр преобразования и текстовый фильтр генерировать начальную
страницу. Эти фильтры должны использовать аргументы имя пользователя и хост
для генерации соответствующей начальной страницы. Недостаток этого
метода состоит в том, что пользователи будут всегда получать начальные
страницы, даже если будут посылать задания с помощью команды
lpr -h
.
Давайте рассмотрим этот метод детально. Следующий сценарий принимает три аргумента (регистрационное имя пользователя, имя хоста и имя задания) и создает простую начальную страницу на языке PostScript(R):
#!/bin/sh # # make-ps-header - выдать начальную страницу на языке PostScript в stdout # Установлен в /usr/local/libexec/make-ps-header # # # Это единицы измерения PostScript (72 на дюйм). Измените значения для A4 или # другого используемого формата бумаги: # page_width=612 page_height=792 border=72 # # Проверяем аргументы # if [ $# -ne 3 ]; then echo "Usage: `basename $0` <user> <host> <job>" 1>&2 exit 1 fi # # Сохраняем значения в переменных, в основном, для упрощения понимания # последующего PostScript-кода. # user=$1 host=$2 job=$3 date=`date` # # Посылаем PostScript-код в stdout. # exec cat <<EOF %!PS % % Гарантируем, что не будем влиять на следующее далее задание пользователя % save % % Делаем тонкую некрасивую рамку по краям бумаги. % $border $border moveto $page_width $border 2 mul sub 0 rlineto 0 $page_height $border 2 mul sub rlineto currentscreen 3 -1 roll pop 100 3 1 roll setscreen $border 2 mul $page_width sub 0 rlineto closepath 0.8 setgray 10 setlinewidth stroke 0 setgray % % Выдаем регистрационное имя пользователя, красивыми, большими и рельефными буквами % /Helvetica-Bold findfont 64 scalefont setfont $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto ($user) show % % Теперь выдаем всякие детали % /Helvetica findfont 14 scalefont setfont /y 200 def [ (Job:) (Host:) (Date:) ] { 200 y moveto show /y y 18 sub def } forall /Helvetica-Bold findfont 14 scalefont setfont /y 200 def [ ($job) ($host) ($date) ] { 270 y moveto show /y y 18 sub def } forall % % Вот и все % restore showpage EOF
Теперь, каждый из фильтров преобразования и текстовый фильтр может вызвать этот сценарий, чтобы сначала сгенерировать начальную страницу, а затем напечатать задание пользователя. Вот фильтр преобразования DVI, представленный ранее в этом документе, измененный для выдачи начальной страницы:
#!/bin/sh # # psdf - фильтр преобразования DVI в PostScript # Установлен в /usr/local/libexec/psdf # # Вызывается системой lpd при выполнении пользователем команды lpr -d # orig_args="$@" fail() { echo "$@" 1>&2 exit 2 } while getopts "x:y:n:h:" option; do case $option in x|y) ;; # Ignore n) login=$OPTARG ;; h) host=$OPTARG ;; *) echo "LPD started `basename $0` wrong." 1>&2 exit 2 ;; esac done [ "$login" ] || fail "No login name" [ "$host" ] || fail "No host name" ( /usr/local/libexec/make-ps-header $login $host "DVI File" /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
Обратите внимание, как фильтр должен анализировать список аргументов, чтобы определить имя пользователя и имя хоста. Анализ аргументов в других фильтрах аргументов выполняется точно так же. Текстовый фильтр принимает, однако, немного другой набор аргументов (см. раздел Как работают фильтры).
Как уже упоминалось, представленная выше схема хотя и достаточно
проста, но не позволяет учесть опцию <<подавить вывод
начальной страницы>> (опция -h
) команды
lpr
. Если пользователи хотят сберечь деревья
(или несколько копеек, если вы берете деньги и за начальные страницы),
они не смогут этого сделать, поскольку каждый фильтр будет
выдавать начальную страницу для каждого задания.
Чтобы позволить пользователям отключать выдачу начальной страницы для
отдельного задания, надо будет использовать прием, представленный в
разделе Учет
начальных страниц: написать выходной фильтр, который анализирует
сгенерированную системой LPD начальную страницу и выдает ее
PostScript(R)-версию. Если пользователь посылает задание командой
lpr -h
, система LPD
не будет генерировать начальную страницу, как и ваш выходной
фильтр. В противном случае, ваш выходной фильтр будет читать текст,
полученный от системы LPD, и
посылать на принтер соответствующий PostScript(R)-код для начальной
страницы.
Если вы используете PostScript(R)-принтер с последовательным
интерфейсом, можно использовать систему lprps
,
которая включает выходной фильтр, psof
,
делающий то, что описано выше. Помните, что программа
psof
не учитывает напечатанные пользователями
начальные страницы.
FreeBSD поддерживает печать по сети: посылку заданий на удаленные принтеры. Печатью по сети обычно называют две разные ситуации:
Работа с принтером, подключенным к удаленному хосту. Вы устанавливаете принтер с обычным последовательным или параллельным интерфейсом на одном хосте. Затем, вы настраиваете систему LPD для обеспечения доступа к принтеру с других хостов в сети. В разделе Принтеры, установленные на удаленных хостах описано, как это сделать.
Работа с принтером, подключенным непосредственно к сети. Принтер имеет сетевой интерфейс, кроме (или вместо) более традиционного последовательного или параллельного. Такой принтер может работать следующим образом:
Он может понимать протокол LPD и даже поддерживать очереди заданий с удаленных хостов. В этом случае, он работает просто как обычный хост с системой LPD. Для настройки такого принтера следуйте той же процедуре, которая описана в разделе Принтеры, установленные на удаленных хостах.
Он может поддерживать получение потока данных по сети. В этом случае, вы <<подключаете>> принтер к одному из хостов в сети, делая этот хост ответственным за поддержку очередей заданий и их посылку на принтер. В разделе Принтеры с сетевыми интерфейсами представлен ряд советов по установке таких принтеров.
Система спулинга LPD имеет встроенную поддержку посылки заданий на другие хосты, на которых тоже работает система LPD (или совместимая с LPD). Это позволяет установить принтер на одном хосте и сделать его доступным с других хостов. Она также работает с принтерами, имеющими сетевые интерфейсы и понимающими протокол LPD.
Для обеспечения такого рода удаленной печати, сначала установите принтер на одном хосте, хосте принтера, с помощью процедуры, описанной в разделе Простая настройка принтера. Выполните любые необходимые дополнительные настройки, как описано в разделе Расширенная настройка принтера. Не забудьте протестировать принтер и убедиться, обеспечивает ли он заданные возможности системы LPD. Также проверьте, что локальный хост имеет право использовать службу LPD на удаленном хосте (см. раздел Ограничение приема заданий с удаленных хостов).
Если вы используете принтер с сетевым интерфейсом, совместимый с системой LPD, упомянутым в обсуждении выше хостом принтера будет сам принтер, а в качестве имени принтера будет выступать имя, которое вы сконфигурировали для принтера. См. документацию, поставляемую с принтером и/или сетевым интерфейсом принтера.
Если вы используете Hewlett Packard Laserjet, то при задании
принтеру имени text
будет автоматически
выполняться преобразование символа LF в последовательность
CRLF, так что, сценарий hpif
не понадобится.
Затем, на других хостах, для которых вы хотите обеспечить доступ
к принтеру, создайте запись в их файлах /etc/printcap
со следующими компонентами:
Дайте записи любое подходящее имя. Для простоты, однако, имеет смысл задавать такое же имя и псевдонимы, как и на хосте принтера.
Характеристику lp
оставьте пустой, указав
это явно (:lp=:
).
Создайте каталог спулинга и укажите его местонахождение в
характеристике sd
. Система
LPD будет сохранять задания в нем,
прежде чем они будут посланы на хост принтера.
Укажите имя хоста принтера в качестве значения характеристики
rm
.
Укажите имя принтера на хосте принтера
в качестве значения характеристики rp
.
Вот и все. Не нужно перечислять фильтры преобразования, размеры
страницы и вообще ничего больше в файле
/etc/printcap
.
Рассмотрим пример. На хосте rose
есть два принтера,
bamboo
и rattan
.
Мы позволим пользователям хоста orchid
печатать на эти
принтеры. Вот файл /etc/printcap
для хоста
orchid
(из раздела
Включение
выдачи начальных страниц). В нем уже есть запись для принтера
teak
; мы добавили две записи для принтеров на
хосте rose
:
# # /etc/printcap для хоста orchid - добавлены (удаленные) принтеры на rose # # # teak - локальный принтер; он подключен непосредственно к orchid: # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/ifhp:\ :vf=/usr/local/libexec/vfhp:\ :of=/usr/local/libexec/ofhp: # # rattan подключен к rose; посылать задания для rattan на хост rose: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: # # bamboo тоже подключен к rose: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
Затем достаточно только создать каталоги спулинга на
orchid
:
#
mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo
#
chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo
#
chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo
Теперь пользователи хоста orchid
могут печатать на
принтеры rattan
и bamboo
. Если,
например, пользователь на orchid
выполнит команду
%
lpr -P bamboo -d sushi-review.dvi
система LPD на orchid
будет копировать задание в каталог спулинга
/var/spool/lpd/bamboo
и учтет, что печатается
задание DVI. Как только на хосте rose
появится место
в каталоге спулинга принтера bamboo
, две системы
LPD передадут файл на хост rose
.
Файл будет ждать в очереди на rose
пока, наконец, не будет
напечатан. Он будет преобразован из формата DVI в PostScript(R) (поскольку
bamboo
является PostScript(R)-принтером) на хосте
rose
.
Часто при покупке сетевой карты для принтера можно приобрести две версии: эмулирующую спулер (более дорогая версия) или просто позволяющую принимать на принтер данные так, как если бы использовался последовательный или параллельный порт (более дешевая версия). В этом разделе описано, как использовать более дешёвую версию. Использование более дорогой версии описано в предыдущем разделе Принтеры, установленные на удаленных хостах.
Формат файла /etc/printcap
позволяет
указывать, какой последовательный или параллельный интерфейс
использовать, и (при использовании последовательного интерфейса),
какую установить скорость, использовать ли управление потоком,
размер отступов для табуляций, преобразование символов новой строки
и другие параметры. Но нет способа указать подключение к принтеру,
прослушивающему TCP/IP или другой сетевой порт.
Для посылки данных на подключенный к сети принтер, надо разработать
программу взаимодействия, которую могут вызывать текстовый фильтр и
фильтры преобразований. Вот один из примеров: скрипт
netprint
принимает все данные со стандартного
входного потока и посылает их на принтер, подключенный к сети.
Мы указываем имя хоста принтера в качестве первого аргумента, а
номер порта, к которому надо подключаться - в качестве второго
аргумента команды netprint
. Учтите, что
поддерживается только одностороннее взаимодействие (с ОС FreeBSD
на принтер); многие сетевые принтеры поддерживают двустороннее
взаимодействие, и вы можете захотеть его использовать (для
получения состояния принтера, учета и т.п.).
#!/usr/bin/perl # # netprint - Текстовый фильтр для принтера, подключенного к сети # Установлен в /usr/local/libexec/netprint # $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; $printer_host = $ARGV[0]; $printer_port = $ARGV[1]; require 'sys/socket.ph'; ($ignore, $ignore, $protocol) = getprotobyname('tcp'); ($ignore, $ignore, $ignore, $ignore, $address) = gethostbyname($printer_host); $sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address); socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) || die "Can't create TCP/IP stream socket: $!"; connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!"; while (<STDIN>) { print PRINTER; } exit 0;
Затем можно использовать этот сценарий в различных фильтрах. Пусть у нас есть строчный принтер Diablo 750-N, подключенный к сети. Принтер принимает данные на печать через порт 5100. Имя хоста для принтера - scrivener. Вот текстовый фильтр для этого принтера:
#!/bin/sh # # diablo-if-net - Текстовый фильтр для принтера Diablo `scrivener', # прослушивающего порт 5100. Установлен в /usr/local/libexec/diablo-if-net # exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
В этом разделе представлена информация об ограничении доступа к принтеру. Система LPD позволяет управлять тем, кто может обращаться к принтеру, как локально, так и удаленно, смогут ли они печатать несколько копий, насколько большими могут быть их задания и насколько могут разрастаться очереди печати.
Система LPD позволяет пользователям
легко печатать несколько копий файла. Пользователи могут печатать
задания с помощью команды lpr -#5
(например) и получать пять копий каждого файла в задании. Хорошо это
или нет - решать вам.
Если вы считаете, что многочисленные копии только изнашивают ваши
принтеры, можете отключить опцию -#
команды
lpr(1), добавив характеристику sc
в файл
/etc/printcap
. Когда пользователи пошлют
задания с опцией -#
, они увидят:
lpr: multiple copies are not allowed
Учтите, что если вы настроили удаленный доступ к принтеру (см.
раздел Принтеры,
установленные на удаленных хостах), необходимо задать
характеристику sc
также и в файлах
/etc/printcap
удаленных хостов, иначе
пользователи все равно смогут посылать задания с несколькими
копиями с других хостов.
Рассмотрим пример. Вот файл /etc/printcap
для хоста rose
. Принтер rattan
вполне надежен, поэтому мы разрешим печатать на него несколько
копий, но лазерный принтер bamboo
несколько
более изношен, поэтому мы отключим для него печать нескольких
копий, добавив характеристику sc
:
# # /etc/printcap для хоста rose - запрещает печать нескольких копий на bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Теперь нам также нужно добавить характеристику sc
в файле /etc/printcap
на хосте orchid
(и раз уж мы его меняем, давайте отключим печать нескольких копий для
принтера teak
):
# # /etc/printcap для хоста orchid - отключена печать нескольких копий на # локальном принтере teak и на удаленном принтере bamboo teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ :if=/usr/local/libexec/ifhp:\ :vf=/usr/local/libexec/vfhp:\ :of=/usr/local/libexec/ofhp: rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
С помощью характеристики sc
мы предотвращаем
использование команды lpr -#
, но это не мешает
пользователям просто выполнить команду lpr(1) несколько раз
или просто послать один и тот же файл несколько раз в одном задании
следующим образом:
%
lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
Есть много способов предотвратить такое некорректное использование (включая его игнорирование), которые вы можете разработать самостоятельно.
Вы можете управлять тем, кто и на какие принтеры может печатать,
с помощью механизма групп UNIX(R) и характеристики
rg
в файле /etc/printcap
.
Просто поместите пользователей, которым необходимо предоставить
доступ к принтеру, в определенную группу, a затем укажите эту
группу в качестве значения характеристики rg
.
Пользователи, не входящие в эту группу (включая root
)
будут получать уведомление
lpr: Not a member of the restricted group
при попытке печатать на контролируемый принтер.
Как и в случае с характеристикой sc
(подавить
выдачу нескольких копий), при необходимости, надо указывать
характеристику rg
и на удаленных хостах, имеющих
доступ к вашим принтерам (см. раздел
Принтеры, установленные
на удаленных хостах).
Например, давайте разрешим всем обращаться к принтеру
rattan
, но только пользователи группы
artists
смогут использовать принтер
bamboo
. Вот знакомый уже файл
/etc/printcap
для хоста rose
:
# # /etc/printcap для хоста rose - ограничение группы для bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Давайте не будем менять другой рассматриваемый файл
/etc/printcap
(для хоста
orchid
). Конечно, в результате, любой пользователь
orchid
может печатать на bamboo
.
Возможно, на хосте orchid
учетных записей и так
немного, и вы хотите, чтобы все они имели доступ к принтеру. Или нет.
Для принтера может быть только одна ограниченная группа.
Если к принтеру обращается несколько пользователей, вам, возможно, понадобиться установить ограничение на максимальный размер файлов, которые пользователи могут посылать на печать. В конечном итоге, размер файловой системы, в которой находятся каталоги спулинга, ограничен, и надо гарантировать, что в нем останется место для заданий других пользователей.
Система LPD ограничить максимально
допустимый размер файла в задании с помощью характеристики
mx
. Размер задается в блоках, размер которых,
BUFSIZ
, составляет 1024 байта.
Если задать этой характеристике значение ноль, размер файла
ограничиваться не будет; однако, если характеристика
mx
вообще не задана, то будет использоваться
стандартное ограничение - 1000 блоков.
Ограничение применяется к файлам в задании, а не к общему размеру задания.
Система LPD не откажется печатать файл больше максимально допустимого для принтера размера. Вместо этого, она поставит в очередь часть файла до заданного предела, и она будет напечатана. Остальное не будет напечатано. Правильность такого поведения не бесспорна.
Давайте установим ограничения для принтеров из наших примеров,
rattan
и bamboo
. Поскольку
PostScript(R)-файлы этих художников обычно бывают весьма
большими, мы ограничим их размер пятью мегабайтами. Мы не
будем ограничивать использование обычного текстового строчного
принтера:
# # /etc/printcap для хоста rose # # # Без ограничения на размер задания: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:mx#0:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: # # Размер файла - не более пяти мегабайт: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Опять таки, ограничения применяются только для локальных
пользователей. Если вы настроили удаленный доступ к принтерам,
для удаленных пользователей эти ограничения не действуют.
Надо задать характеристику mx
и в файлах
/etc/printcap
удаленных хостов. Более
детальную информацию по удаленной печати см. в разделе
Принтеры,
установленные на удаленных хостах.
Есть еще один специализированный способ ограничить размер заданий печати с удаленных принтеров; см. раздел Ограничение печати заданий с удаленных хостов.
Система спулинга LPD обеспечивает несколько способов ограничить посылку заданий с удаленных хостов:
Вы можете управлять тем, с каких удаленных хостов
локальная система LPD принимает
запросы, с помощью файлов /etc/hosts.equiv
и
/etc/hosts.lpd
. Система
LPD проверяет, поступает ли
входящий запрос с хоста, указанного в одном из этих файлов.
Если нет, система LPD отвергает
запрос.
Формат этих файлов простой: по одному имени хоста в строке.
Учтите, что файл /etc/hosts.equiv
также
используется протоколом ruserok(3) и влияет на
программы rsh(1) и rcp(1), так что, будьте
внимательны.
Например, вот файл /etc/hosts.lpd
для хоста rose
:
orchid violet madrigal.fishbaum.de
Это означает, что хост rose
будет
принимать запросы с хостов orchid
,
violet
и
madrigal.fishbaum.de
. Если любой
другой хост попытается обратиться к системе
LPD хоста rose
,
его задание будет отвергнуто.
Вы можете управлять тем, сколько свободного места должно
оставаться в файловой системе, в которой находится каталог
спулинга. Создайте файл с именем minfree
в каталоге спулинга для локального принтера. Вставьте в этот
файл число, задающее, сколько блоков диска (по 512 байтов)
должно быть свободными, чтобы удаленное задание было принято.
Это позволяет гарантировать, что удаленные пользователи не
заполнят вашу файловую систему. Можно также использовать этот
механизм для предоставления определенного преимущества
локальным пользователям: они смогут ставить задания в очередь
еще долго после того, как свободного места на диске станет
меньше, чем указано в файле minfree
.
Например, давайте добавим файл minfree
для принтера bamboo
. Найдем в файле
/etc/printcap
каталог спулинга для этого
принтера; вот запись для принтера bamboo
:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Каталог спулинга задается характеристикой
sd
. Укажем, что в файловой системе
должно быть три мегабайта (что составляет 6144 блоков диска)
свободного места, чтобы система LPD
принимала удаленные задания:
#
echo 6144 > /var/spool/lpd/bamboo/minfree
Вы можете управлять тем, какие удаленные пользователи
смогут печатать на локальные принтеры, задавая характеристику
rs
в файле /etc/printcap
.
Когда характеристика rs
указана в записи
для локально подключенного принтера, система
LPD будет принимать задания с
удаленных хостов, если пользователь,
посылающий задание, также имеет учетную запись с тем же
именем на локальном хосте. В противном случае,
система LPD отвергает задание.
Эта возможность особенно полезна в среде, где есть,
например, несколько отделов, совместно использующих сеть,
и некоторые пользователи могут переходить из отдела в отдел.
Если дать им учетные записи в системах, они смогут использовать
принтеры из систем в своих отделах. Если вы хотели бы
позволить им использовать только
принтеры, но не остальные ресурсы вашего компьютера,
можно дать им <<формальные>> учетные записи,
без начального каталога и с бесполезным начальным
командным интерпретатором вроде /usr/bin/false
.
Итак, вам надо брать деньги за распечатки. А почему нет? Бумага и чернила стоят денег. А есть еще и затраты на поддержку в работоспособном состоянии - принтеры имеют множество движущихся частей и склонны к поломкам. Вы проанализировали состояние принтеров, объемы использования и затраты на их эксплуатацию, и получили определенную стоимость страницы (или фута, метра или чего угодно). Теперь, как же начать реально учитывать распечатки?
Итак, плохая новость состоит в том, что система спулинга LPD в этом не сильно поможет. Учет сильно зависит от типа используемого принтера, форматов распечаток и ваших требований к оплате использования принтеров.
Для реализации учета надо изменить текстовый фильтр принтера (чтобы учитывать обычные текстовые задания) и фильтры преобразования (чтобы учитывать другие форматы файлов), для подсчета страниц или запроса количества напечатанных страниц у принтера. Не получится обойтись использованием простого выходного фильтра, поскольку он не может выполнять учет. См. раздел Фильтры.
Обычно есть два способа выполнения учета:
Периодический учет - более распространенный способ, возможно, потому, что он проще. Когда кто-то печатает задание, фильтр регистрирует пользователя, хост и количество страниц в учетном файле. Каждый месяц, семестр, год или раз в любой желаемый период времени, вы собираете учетные файлы для различных принтеров, суммируете напечатанные каждым пользователем страницы и выставляете суммы за использование. Затем вы очищаете все регистрационные файлы, начиная с чистого листа новый отчетный период.
Постоянный учет используется реже, вероятно, потому, что сложнее в реализации. Этот метод требует от фильтров выставлять пользователям суммы за распечатки сразу после использования принтеров. Как и проверка дисковых квот, этот учет выполняется немедленно. Вы можете не давать пользователям печатать, если баланс на их счету стал отрицательным, а также предоставить им способ проверить и изменить свои <<квоты печати>>. Но этот метод требует поддержки базы данных для отслеживания пользователей и квот.
Система спулинга LPD легко поддерживает оба метода: поскольку вы (в большинстве случаев) должны предоставить фильтры, вам придется предоставить и код для учета. Но есть и положительный момент: методы учета могут быть сколько угодно гибкими. Например, можно выбрать периодический или постоянный учет. Можно выбрать, какую именно информацию регистрировать: имена пользователей, имена хостов, типы заданий, количество напечатанных страниц, квадратные метры использованной бумаги, продолжительность печати заданий, и т.д. Это делается путем изменения фильтров так, чтобы они сохраняли соответствующую информацию.
В составе FreeBSD поставляется две программы, которые можно сразу
использовать для организации простой системы периодического учета.
Речь идет о текстовом фильтре lpf
, описанном в
разделе lpf: текстовый фильтр,
и о программе pac(8), обеспечивающей сбор и суммирование
записей из учетных файлов принтеров.
Как уже упоминалось в разделе, посвященном фильтрам
(Фильтры), система
LPD при запуске текстового фильтра и
фильтров преобразований передает им имя учетного файла в командной
строке. Фильтры могут использовать соответствующий аргумент, чтобы
определить, куда записывать учетную информацию. Имя этого файла
берется из значения характеристики af
в файле
/etc/printcap
и, если не заданно как абсолютное,
интерпретируется относительно каталога спулинга.
Система LPD запускает lpf
с аргументами ширины и длины страницы (которые берутся из
характеристик pw
и pl
).
Программа lpf
использует эти аргументы для
определения количества бумаги, которая будет использована. После
посылки файла на принтер она вносит запись в учетный файл. Эти
записи имеют следующий вид:
2.00 rose:andy 3.00 rose:kelly 3.00 orchid:mary 5.00 orchid:mary 2.00 orchid:zhang
Следует использовать отдельный учетный файл для каждого принтера,
поскольку программа lpf
не реализует механизм
блокирования файлов, и два экземпляра lpf
могут
повредить записи друг друга, если записывают одновременно в один
и тот же файл. Простой способ выделить отдельный учетный файл для
каждого принтера - использовать характеристику
af=acct
в файле /etc/printcap
.
Тогда каждый учетный файл окажется в каталоге спулинга соответствующего
принтера и будет назван acct
.
Когда вы будете готовы выставить пользователям счет за
распечатки, запустите программу pac(8). Просто перейдите в
каталог спулинга принтера, учетную информацию которого вы хотите
обработать, и введите команду pac
. Вы
получите итоговые суммы в долларах, как показано ниже:
Login pages/feet runs price orchid:kelly 5.00 1 $ 0.10 orchid:mary 31.00 3 $ 0.62 orchid:zhang 9.00 1 $ 0.18 rose:andy 2.00 1 $ 0.04 rose:kelly 177.00 104 $ 3.54 rose:mary 87.00 32 $ 1.74 rose:root 26.00 12 $ 0.52 total 337.00 154 $ 6.74
Команда pac(8) принимает следующие аргументы:
-Pпринтер
По какому принтеру
подсчитывать
итоговые суммы. Эта опция работает, только если в качестве
значения характеристики af
в файле
/etc/printcap
указано абсолютное имя.
-c
Сортировать отчет по сумме, а не по имени пользователя в алфавитном порядке.
-m
Игнорировать имя хоста в учетных файлах. При указании этой
опции, пользователь smith
на хосте
alpha
считается тем же, что и пользователь
smith
на хосте gamma
.
Обычно эти пользователи считаются разными.
-pстоимость
Вычислять суммы из расчета стоимость
долларов за страницу или за фут, вместо использования
значения характеристики pc
в файле
/etc/printcap
, или двух центов (как принято по
умолчанию). Можно задавать стоимость
как число с плавающей запятой.
-r
Изменить порядок сортировки.
-s
Создать итоговый учетный файл и очистить учетный файл.
имя
...
Выдать учетную информацию только для пользователей с
заданными именами
.
В стандартном отчете, который создает команда pac(8),
выдается количество страниц, напечатанное каждым из пользователей с
различных хостов. Если для вас хосты не имеют значения (поскольку
пользователи могут работать на любом хосте), выполните команду
pac -m
для получения следующих итогов:
Login pages/feet runs price andy 2.00 1 $ 0.04 kelly 182.00 105 $ 3.64 mary 118.00 35 $ 2.36 root 26.00 12 $ 0.52 zhang 9.00 1 $ 0.18 total 337.00 154 $ 6.74
Для получения сумм в долларах программа pac(8) использует
значение характеристики pc
в файле
/etc/printcap
(по умолчанию - 200, или 2 цента
за страницу). Укажите в качестве значения этой характеристики, в
сотых долях цента, стоимость страницы или фута, исходя из которой
вы хотите брать деньги за распечатки. Это значение можно
переопределить при вызове команды pac(8) с помощью опции
-p
. Но при использовании опции -p
стоимость надо указывать в долларах, а не в сотых долях цента.
Например, команда
#
pac -p1.50
приводит к тому, что страница будет стоить один доллар пятьдесят центов. Используя эту опцию, можно фактически начинать грести деньги лопатой.
Наконец, при выполнении команды pac -s
итоговая
информация будет сохранена в итоговом учетном файле, имя которого
строится как имя учетного файла принтера с суффиксом
_sum
. Затем учетный файл принтера очищается.
Когда команда pac(8) выполняется повторно, она перечитывает
итоговый файл для получения начальных сумм, а затем добавляет
информацию из обычного учетного файла.
Для выполнения хоть отдаленно точного учета надо уметь определять, сколько бумаги использовано для печати задания. Это - основная проблема учета использования принтеров.
Для обычных текстовых заданий решить эту проблему не сложно: надо считать, сколько строк входит в задание, и сравнивать с количеством строк на страницу, которые поддерживает принтер. Не забывайте учитывать символы забоя в файлах, которые приводят к перепечатке строк поверх, а также длинные логические строки, которые переносятся на несколько физических.
Текстовый фильтр lpf
(представленный в разделе
lpf: текстовый фильтр)
учитывает эти вещи при выполнении учета. Если вы пишете текстовый
фильтр, который должен осуществлять учет, может иметь смысл
просмотреть исходный код программы lpf
.
Но как обрабатывать файлы других форматов?
Ну, для преобразования из DVI в формат LaserJet или из DVI в
PostScript(R), можно в фильтре анализировать диагностические
результаты команды dvilj
или dvips
,
чтобы определить, сколько страниц было преобразовано. Может оказаться
возможным применить этот прием и для других форматов файлов и
программ преобразования.
Но эти методы несовершенны из-за того, что принтер мог фактически и не напечатать все эти страницы. Например, он мог замять бумагу, в нем мог закончиться тонер или он мог вообще взорваться - и пользователю все равно пришлось бы платить.
Так что же делать?
Есть только один надежный способ точного учета. Купите принтер, который может сообщать, сколько бумаги он использовал, и подключите его через последовательный порт или по сети. Практически все PostScript(R)-принтеры поддерживают такую возможность. Другие модели - тоже (сетевые лазерные принтеры Imagen, например). Измените фильтры для этих принтеров так, чтобы получать количество использованных страниц после печати каждого задания, и пусть они записывают учетную информацию только на основе этого значения. Не надо ни считать строки, ни выполнять чреватую ошибками обработку файла.
Конечно, всегда можно поступить великодушно и не брать денег за распечатки.
В этом разделе описано, как использовать настроенные принтеры в ОС FreeBSD. Вот сводка команд пользовательского уровня:
Есть также административная команда, lpc(8), описанная в разделе Администрирование принтеров, используемая для управления принтерами и их очередями.
Все три команды, lpr(1), lprm(1) и lpq(1),
поддерживают опцию -P
,
позволяющую указать, с каким принтером/очередью из указанных в
файле имя-принтера
/etc/printcap
работать. Это позволяет
посылать, удалять и проверять задания на разных принтерах. Если вы
не используете опцию -P
, эти команды используют
принтер, указанный в качестве значения переменной среды
PRINTER
. Наконец, если переменная среды
PRINTER
не задана, эти команды по умолчанию
направляются на принтер по имени lp
.
Далее термин стандартный принтер
означает принтер, указанный переменной среды PRINTER
или принтер по имени lp
, если переменная
среды PRINTER
не задана.
Для печати файлов, выполните команду:
%
lpr
имя-файла
...
Эта команда печатает каждый из перечисленных файлов на стандартный принтер. Если файлы не указаны, команда lpr(1) читает данные для печати со стандартного входного потока. Например, следующая команда печатает некоторые важные системные файлы:
%
lpr /etc/host.conf /etc/hosts.equiv
Для выбора конкретного принтера, введите:
%
lpr -P
имя-принтера
имя-файла
...
Следующая команда печатает подробный листинг текущего каталога
на принтере rattan
:
%
ls -l | lpr -P rattan
Поскольку для команды lpr(1) файлы не указаны,
команда lpr
читает данные для печати из стандартного
входного потока, который содержит результат выполнения команды
ls -l
.
Команда lpr(1) может также принимать множество опций для управления форматированием, применения преобразований, печати нескольких копий и т.д. Дополнительную информацию см. в разделе Опции печати.
При печати с помощью команды lpr(1), данные, которые надо напечатать, помещаются вместе в пакет, который называют <<заданием печати>>, и посылаются системе спулинга LPD. Каждый принтер имеет очередь заданий, и ваше задание ждет в этой очереди вместе с другими вашими заданиями и заданиями других пользователей. Принтер печатает эти задания по принципу первым пришло, первым выполнено.
Для получения очереди стандартного принтера, введите команду
lpq(1). Чтобы указать конкретный принтер, используйте
опцию -P
. Например, команда
%
lpq -P bamboo
показывает очередь для принтера по имени bamboo
.
Вот пример результатов выполнения команды lpq
:
bamboo is ready and printing Rank Owner Job Files Total Size active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes 2nd kelly 10 (standard input) 1635 bytes 3rd mary 11 ... 78519 bytes
Показано, что в очереди bamboo
есть три
задания. Первое задание, посланное пользователем kelly, получило
<<номер задания>> 9. Каждое задание для принтера получает
уникальный номер задания. В большинстве случаев номер задания можно
игнорировать, но он потребуется, если надо будет отменить задание;
подробнее об этом см. в разделе Удаление
заданий.
Задание номер 9 состоит из двух файлов; несколько файлов,
указанных в командной строке lpr(1), считаются частью одного
задания. Это задание является текущим активным (обратите внимание на
слово active
в столбце <<Rank>>),
т.е. принтер должен сейчас печатать это задание. Второе задание
состоит из данных, передаваемых в качестве стандартного входного
потока команде lpr(1). Третье задание послано пользователем
mary
; оно намного больше по объему.
Полное имя файла, который печатается, слишком длинное и не помещается,
поэтому команда lpq(1) просто выдает три точки.
Самая первая строка результатов команды lpq(1) тоже полезна: она говорит о том, что сейчас делает принтер (или, по крайней мере, что он делает по мнению системы LPD).
Команда lpq(1) также поддерживает опцию -l
для генерации подробного длинного листинга. Вот пример результатов
выполнения команды lpq -l
:
waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes /etc/hosts.equiv 15 bytes kelly: 2nd [job 010rose] (standard input) 1635 bytes mary: 3rd [job 011rose] /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
Если вы передумали печатать задание, можно удалить его из очереди заданий с помощью команды lprm(1). Часто можно использовать lprm(1) для удаления активного задания, но часть задания или даже все задание все равно может быть напечатано.
Для удаления задания со стандартного принтера сначала используйте команду lpq(1) для поиска номера задания. Затем введите команду:
%
lprm
номер-задания
Для удаления задания с указанного принтера, задайте опцию
-P
option. Следующая команда удаляет задание номер
10 из очереди заданий принтера bamboo
:
%
lprm -P bamboo 10
Для команды lprm(1) есть ряд сокращений:
Удаляет все задания (со стандартного принтера), принадлежащие пользователю, который выполнил команду.
пользователь
Удаляет все задания (для стандартного принтера), принадлежащие
указанному пользователю
. Суперпользователь
может удалять задания других пользователей; обычный пользователь
может удалять только собственные задания.
Если в командной строке не указаны номер задания, имя
пользователя, или указана опция -
,
команда lprm(1) удаляет текущее активное задание на стандартном
принтере, если оно принадлежит вам. Суперпользователь может удалять
любое активное задание.
Добавьте опцию -P
для любого из перечисленных выше
сокращений, чтобы работать с любым необходимым принтером вместо
стандартного. Например, следующая команда удаляет все задания текущего
пользователя из очереди принтера по имени rattan
:
%
lprm -P rattan -
Если вы работаете в сетевой среде, команда lprm(1) позволит вам удалять задания только с хоста, с которого они были посланы, даже если тот же принтер доступен и с других хостов. Следующая последовательность команд демонстрирует это:
%
lpr -P rattan myfile
%
rlogin orchid
%
lpq -P rattan
Rank Owner Job Files Total Size active seeyan 12 ... 49123 bytes 2nd kelly 13 myfile 12 bytes%
lprm -P rattan 13
rose: Permission denied%
logout
%
lprm -P rattan 13
dfA013rose dequeued cfA013rose dequeued
Команда lpr(1) поддерживает несколько опций, управляющих форматированием текста, преобразованием графики и других форматов файлов, выдачей нескольких копий, обработкой задания и др. В этом разделе описаны эти опции.
Следующие опции команды lpr(1) управляют форматированием файлов в задании. Используйте эти опции, если задание содержит не простой текст или если вы хотите сформатировать простой текст с помощью утилиты pr(1).
Например, следующая команда печатает файл DVI (из системы
верстки TeX) по имени fish-report.dvi
на принтере bamboo
:
%
lpr -P bamboo -d fish-report.dvi
Эти опции применяются для каждого файла в задании, так что нельзя смешивать (например) файлы DVI и ditroff в одном задании. Вместо этого посылайте однотипные файлы отдельными заданиями, используя для каждого задания соответствующие опции преобразования.
Все эти опции, кроме -p
и -T
,
требуют наличия установленных для целевого принтера фильтров
преобразования. Например, опция -d
требует фильтра
преобразования DVI. Подробнее см. в разделе
Фильтры преобразования.
-c
Печать файлов cifplot.
-d
Печать файлов DVI.
-f
Печать текстовых файлов на языке FORTRAN.
-g
Печать графиков.
-iчисло
Сдвинуть результат вправо на число
столбцов; если число
не указано,
сдвиг выполняется на 8 столбцов. Эта опция работает только с
определенными фильтрами преобразования.
Не помещайте пробелы между -i
и числом.
-l
Печать текстовых данных буквально, включая управляющие символы.
-n
Печать данных ditroff (device independent troff).
Форматировать обычный текст перед печатью утилитой pr(1). Подробнее см. pr(1).
-T заголовок
Использовать указанный заголовок
в колонтитуле pr(1) вместо имени файла. Эта опция учитывается
только при использовании вместе с опцией -p
.
-t
Печать данных troff.
-v
Печать растровых данных.
Вот пример: следующая команда печатает красиво сформатированную версию справочного руководства по команде ls(1) на стандартный принтер:
%
zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
Команда zcat(1) распаковывает исходный код страницы справочного
руководства ls(1) и передает его команде troff(1), которая
форматирует его и выдает результат в формате GNU troff, передаваемый
команде lpr(1), посылающей задание спулеру LPD.
Поскольку мы использовали опцию -t
команды lpr(1),
спулер при печати задания будет преобразовывать результат GNU troff в
формат, понятный стандартному принтеру.
Следующие опции команды lpr(1) требуют от системы LPD специальной обработки задания:
копий
Выдавать указанное количество копий
каждого файла в задании вместо одной. Администратор может отключить
эту опцию для уменьшения износа принтера и поощрения использования
ксерокса. См. раздел
Ограничение
количества копий.
В следующем примере на стандартный принтер печатается три
копии файла parser.c
, а затем - три копии
parser.h
:
%
lpr -#3 parser.c parser.h
Посылать почту после завершения задания печати. При указании этой опции, система LPD будет посылать почту на ваше имя после завершения обработки вашего задания. В сообщении будет сказано, выполнено ли задание успешно или по ходу была ошибка, и (часто) - в чем она состояла.
Не копировать файлы в каталог спулинга, а сделать там на них символические связи.
Эту опцию имеет смысл использовать при печати больших заданий. Она экономит место в каталоге спулинга (ваше задание может занять все свободное место в файловой системе, в которой находится каталог спулинга). Она также экономит время, поскольку системе LPD не придется копировать каждый байт задания в каталог спулинга.
Есть, однако, и недостаток: поскольку система LPD будет ссылаться на исходные файлы непосредственно, вы не сможете изменять или удалять их, пока они не будут распечатаны.
Если вы печатаете на удаленный принтер, система LPD
будет вынуждена, так или иначе, скопировать файлы с локального хоста
на удаленный, поэтому опция -s
сэкономит место только
в локальном каталоге спулинга, но не в удаленном. Но, она все равно
полезна.
Удалять файлы в задании после копирования в каталог спулинга
или после печати, если указана опция -s
. Будьте
внимательны при использовании этой опции!
Эти опции команды lpr(1) изменяют текст, который обычно выдается на начальной странице задания. Если выдача начальных страниц для целевого принтера отключена, эти опции не действуют. Информацию по настройке начальных страниц см. в разделе Начальные страницы.
текст
Заменить имя хоста на начальной странице
текстом
. Обычно на ней выдается имя хоста,
с которого было послано задание.
текст
Заменить имя задания на начальной странице
текстом
. Имя задания обычно совпадает с
именем первого файла в задании или имеет значение stdin
,
если печатается стандартный входной поток.
Не выдавать начальной страницы.
В некоторых организациях эта опция может не действовать, что определяется способом генерации начальных страниц. Подробнее см. в разделе Начальные страницы.
Как администратор принтеров, вы должны их установить, настроить и протестировать. С помощью команды lpc(8) вы можете взаимодействовать с принтерами и другими способами. С помощью lpc(8) вы можете:
Запускать и останавливать принтеры
Включать и отключать их очереди
Изменять порядок заданий в каждой очереди.
Начнем с замечания по терминологии: если принтер остановлен, он не будет печатать ничего из своей очереди. Пользователи могут продолжать посылать задания, которые будут ждать в очереди, пока принтер не будет запущен или пока очередь не будет очищена.
Если очередь отключена, ни один пользователь
(кроме root
) не может посылать задания на
принтер. Во включенную очередь можно посылать
задания. Принтер для отключенной очереди может быть
запущен; при этом он будет продолжать печатать
находящиеся в очереди задания, пока очередь не станет пустой.
В общем случае, для использования команды lpc(8) необходимо
иметь привилегии root
. Обычные пользователи
могут использовать команду lpc(8) только для получения состояния
принтера и перезапуска зависшего принтера.
Далее представлена сводка команд lpc(8). Большинство команд
принимает аргумент имя-принтера
, задающий,
с каким принтером работать. Можно использовать значение all
вместо имени-принтера
, означающее все
принтеры, перечисленные в файле /etc/printcap
.
abort
имя-принтера
Снять текущее задание и остановить принтер. Пользователи могут продолжать посылать задания, если очередь включена.
clean
имя-принтера
Удалить старые файлы из каталога спулинга принтера. Иногда файлы, составляющие задание, не удаляются как положено системой LPD, особенно если в ходе печати были ошибки и выполнялось много административных действий. Эта команда находит файлы, не принадлежащие каталогу спулинга, и удаляет их.
disable
имя-принтера
Отключить постановку новых заданий в очередь. Если принтер
работает, он продолжит печатать задания, остающиеся в очереди.
Суперпользователь (root
) всегда может посылать
задания, даже в отключенную очередь.
Эта команда полезна при тестировании вновь установленного
принтера или фильтра: отключаем очередь и посылаем задания как
root
. Другие пользователи не смогут посылать
задания, пока вы не закончите тестирование и не включите очередь
повторно командой enable
.
down имя-принтера
сообщение
Отключить принтер. Аналогична последовательности команд
disable
и stop
.
Указанное сообщение
выдается как
состояние принтера при проверке пользователем очереди принтера
с помощью lpq(1) или запросе его состояния командой
lpc status
.
enable
имя-принтера
Включить очередь для принтера. Пользователи могут посылать задания, но принтер не будет их печатать, пока не будет запущен.
help
имя-команды
Выдать справочную информацию по команде
имя-команды
. Если
имя-команды
не указано,
выдает сводку по имеющимся командам.
restart
имя-принтера
Перезапустить принтер. Обычные пользователи могут использовать эту
команду, если в результате неких чрезвычайных обстоятельств система
LPD зависла, но они не могут запустить
принтер, остановленный командами stop
или
down
. Команда restart
эквивалентна последовательности команд abort
и start
.
start
имя-принтера
Запустить принтер. Принтер будет печатать задания, находящиеся в его очереди.
stop
имя-принтера
Остановить принтер. Принтер закончит печать текущего задания и больше ничего из очереди печатать не будет. Хотя принтер и остановлен, пользователи могут посылать задания во включенную очередь.
topq имя-принтера
задание-или-имя-пользователя
Переупорядочить очередь для указанного принтера, помещая
указанные по номеру задания
или
задания указанного по имени пользователя
в начало очереди. Для этой команды нельзя использовать
all
в качестве имени-принтера
.
up
имя-принтера
Включить принтер; команда по действию противоположна команде
down
. Эквивалентна последовательности команд
start
и enable
.
Утилита lpc(8) принимает перечисленные выше команды в
командной строке. Если команда не указана, утилита lpc(8)
входит в интерактивный режим, в котором можно вводить команды,
пока не будет введена команда exit
,
quit
или символ конца файла.
Если вы прочитали все это руководство, к этому моменту вы знаете практически все, что надо знать о системе спулинга LPD, входящей в состав ОС FreeBSD. Вы, возможно, уже осознали многие из ее недостатков, что, естественно, приводит к вопросу: <<Какие еще системы спулинга существуют (и работают с ОС FreeBSD)>>?
Система LPRng, имя которой означает
<<LPR: the Next Generation>> (LPR: следующее поколение) -
это полностью переписанная система PLP. Патрик Пауэл (Patrick Powell)
и Джастин Мейсон (Justin Mason) (основной специалист, занимающийся
поддержкой PLP) объединили усилия для создания системы
LPRng. Основной сайт по системе
LPRng -
http://www.lprng.org/
.
Система CUPS (сокращение от Common UNIX Printing System) предоставляет переносимый механизм печати для операционных систем, основанных на UNIX(R). Она была разработана компанией Easy Software Products в качестве стандартного механизма печати для всех производителей и пользователей UNIX(R).
Система CUPS использует протокол Internet Printing Protocol (IPP) для управления заданиями и очередями. Протоколы Line Printer Daemon (LPD), Server Message Block (SMB) и AppSocket (известный также как JetDirect) также поддерживаются, но с меньшими возможностями. Система CUPS добавляет поиск сетевых принтеров и опции печати на основе PostScript Printer Description (PPD), для поддержки практической печати в UNIX(R).
Основной сайт по системе CUPS -
http://www.cups.org/
.
После выполнения простого тестирования с помощью команды lptest(1) вы можете получить один из следующих результатов вместо корректной распечатки:
Принтер напечатал все, что нужно, но он на некоторое время задумывался и ничего не делал. Фактически, могло потребоваться нажать кнопку PRINT REMAINING или FORM FEED на принтере, чтобы результаты были выданы.
Если это произошло, вероятно, принтер ждал, нет ли в задании еще данных, прежде чем что бы то ни было печатать. Для решения этой проблемы можно посылать в текстовом фильтре на принтер символ FORM FEED (или любую необходимую последовательность символов). Этого обычно достаточно, чтобы принтер немедленно распечатал любой остающийся в его внутреннем буфере текст. Также полезно убедиться, что каждое задание печати заканчивается полной страницей, чтобы следующее задание не начиналось где-то с середины последней страницы предыдущего задания.
Следующий измененный скрипт командного интерпретатора
/usr/local/libexec/if-simple
выдает символ
прогона страницы после посылки задания на принтер:
#!/bin/sh # # if-simple - Простой текстовый входной фильтр для lpd # Установлен в /usr/local/libexec/if-simple # # Просто копирует stdin в stdout. Игнорирует все аргументы фильтра. # Выдает символ прогона страницы (\f) после печати задания. /bin/cat && printf "\f" && exit 0 exit 2
Вы получаете на бумаге следующее:
!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456
Вы стали очередной жертвой эффекта лесенки, вызванного различными интерпретациями того, какие символы должны обозначать новую строку. Операционные системы UNIX(R)-стиля используют один символ: ASCII-код 10, перевод строки (line feed - LF). MS-DOS(R), OS/2(R) и другие используют пару символов, ASCII-код 10 и ASCII-код 13 (возврат каретки, carriage return или CR). Многие принтеры используют соглашение MS-DOS(R) для представления новых строк.
При печати из FreeBSD в тексте используется только символ перевода строки. Принтер, встретив символ перевода строки, переходит на следующую строку, но оставляет ту же горизонтальную позицию на строке для следующего печатаемого символа. Вот зачем нужен символ возврата каретки: чтобы перенести следующий печатаемый символ на левый край бумаги.
Вот что ОС FreeBSD хочет от принтера:
Принтер получает CR | Принтер печатает CR |
Принтер получает LF | Принтер печатает CR + LF |
Вот несколько способов этого добиться:
Использовать переключатели конфигурации принтера или панель управления, чтобы изменить его интерпретацию этих символов. Поищите как это сделать в руководстве по своему принтеру.
Если вы загружаете другие операционные системы, кроме FreeBSD, может иметь смысл переконфигурировать принтер для использования такой интерпретации символов CR и LF, которая принята в этих операционных системах. Затем можно использовать одно из представленных далее решений.
Заставить драйвер последовательного порта FreeBSD автоматически
преобразовывать LF в CR+LF. Конечно, это подойдет
только для принтеров, подключенных к
последовательным портам. Для включения этой возможности используйте
характеристику ms#
и установите режим
onlcr
для принтера в файле
/etc/printcap
.
Послать управляющий код на принтер, заставляющий его временно обрабатывать символы LF по-другому. Управляющие коды, которые может поддерживать ваш принтер, поищите в руководстве своего принтера. Когда найдете соответствующий управляющий код, измените текстовый фильтр для посылки сначала этого кода, а затем - задания печати.
Вот пример текстового фильтра для принтеров, понимающих управляющие последовательности языка Hewlett-Packard PCL. Этот фильтр заставляет принтер обрабатывать символы LF как LF и CR; затем он посылает задание; наконец, он посылает символ прогона страницы для выдачи последней страницы задания. Он должен работать практически со всеми принтерами Hewlett Packard.
#!/bin/sh # # hpif - Простой текстовый входной фильтр для lpd для принтеров на базе HP-PCL # Установлен в /usr/local/libexec/hpif # # Просто копирует stdin в stdout. Игнорирует все аргументы фильтра. # Требует от принтера обрабатывать LF как CR+LF. Выдает страницу по окончании. printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2
Вот пример файла /etc/printcap
с хоста
orchid
. К нему через первый параллельный порт
подключен один принтер, Hewlett Packard LaserJet 3Si, по имени
teak
. Для него в качестве текстового фильтра
используется представленный выше скрипт:
# # /etc/printcap для хоста orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:
Принтер так и не перешел на следующую строку. Все строки текста были напечатаны одна поверх другой, на одной строке.
Эта проблема <<обратна>> эффекту лесенки, описанному выше, и встречается намного реже. Каким-то образом, символы LF, которые ОС FreeBSD использует для завершения строк, обрабатывались как символы CR и вызывали перевод позиции печати на левый край бумаги, но не переход на следующую строку.
Используйте переключатели конфигурации принтера или панель управления для обеспечения следующей интерпретации символов LF и CR:
Принтер получает | Принтер печатает |
---|---|
CR | CR |
LF | CR + LF |
По ходу печати принтер не печатает несколько символов в каждой строке. Проблема со временем может становиться все хуже, так что теряется все больше символов.
Проблема состоит в том, что принтер не справляется с той скоростью, с которой компьютер посылает данные по последовательной линии (эта проблема не должна возникать на принтерах, подключенных к параллельным портам). Есть два способа решить проблему:
Если принтер поддерживает управление потоком XON/XOFF,
заставить FreeBSD использовать его, указав режим
ixon
в характеристике ms#
.
Если принтер поддерживает управление несущим потоком
(carrier flow control), укажите режим crtscts
в характеристике ms#
. Убедитесь, что кабель,
соединяющий принтер с компьютером, правильно распаян для управления
несущим потоком.
Принтер напечатал нечто похожее на случайный мусор, а не требуемый текст.
Это, обычно, - еще один симптом неправильных параметров
взаимодействия с последовательным принтером. Перепроверьте
скорость взаимодействия в характеристике br
и установку четности в характеристике ms#
;
проверьте, что принтер использует те же установки, которые
заданы в файле /etc/printcap
.
Если ничего не произошло, проблема, вероятно, связана с FreeBSD, а
не с оборудованием. Добавьте характеристику журнального файла
(lf
) в файл /etc/printcap
для
принтера, работу с которым отлаживаете. Например, вот запись для
принтера rattan
с характеристикой
lf
:
rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple:\ :lf=/var/log/rattan.log
Затем попытайтесь напечатать снова. Поищите в журнальном файле
(в нашем примере - /var/log/rattan.log
)
возможные сообщения об ошибках. На основе полученных сообщений
попытайтесь решить проблему.
Если вы не зададите характеристику lf
,
система LPD использует по умолчанию
/dev/console
.
FreeBSD предоставляет двоичную совместимость с несколькими другими UNIX(R)-подобными операционными системами, включая Linux. Возможно, вы спрашиваете себя, зачем FreeBSD нужно уметь работать с приложениями, написанными для Linux? Ответ на этот вопрос достаточно прост: многие компании и разработчики производят программное обеспечение только для Linux, так как эта операционная система очень быстро завоевала огромную популярность в компьютерном мире. Пользователям же FreeBSD приходится обращаться к этим компаниям и разработчикам с просьбами выпустить версии своих программ специально для FreeBSD. Проблема в том, что большинство производителей программного обеспечения не осознают, насколько бы увеличился их рынок сбыта, выпускай они также FreeBSD-версии, и продолжают разрабатывать только под Linux. Что же делать пользователям FreeBSD? В этой ситуации на помощь приходит двоичная совместимость FreeBSD с Linux.
Вкратце, эта совместимость позволяет пользователям FreeBSD работать с 90% приложений для Linux без каких-либо модификаций последних. Среди этих приложений: StarOfficeTM, Linux-версия Netscape(R), Adobe(R) Acrobat(R), RealPlayer, VMware, Oracle(R), WordPerfect, Doom, Quake, и многие другие. Есть сведения, что в некоторых ситуациях эти Linux-программы показывали более высокую производительность при работе под FreeBSD, чем под Linux.
Конечно, существуют некоторые особенности Linux, которые не поддерживаются в полной мере под FreeBSD. Например, не будут работать приложения Linux, использующие специфичные вызовы i386TM, такие как переключение в виртуальный режим 8086.
При чтении этой главы вы узнаете:
Как включить двоичную совместимость с Linux в вашей системе.
Как установить дополнительные совместно используемые (shared) библиотеки Linux.
Как установить приложения Linux в систему FreeBSD.
Детали реализации совместимости с Linux в ОС FreeBSD.
Перед прочтением этой главы вам потребуется:
Узнать как устанавливать дополнительное программное обеспечение сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
Двоичная совместимость с Linux не включена по умолчанию.
Простейший способ включения этой функциональности заключается
в загрузке KLD-объекта linux
(<<Kernel
LoaDable object>>). Вы можете загрузить этот модуль,
набрав следующее, как пользователь root
:
#
kldload linux
Если вы хотите, чтобы совместимость с Linux была включена
постоянно, необходимо добавить в /etc/rc.conf
следующую строку:
linux_enable="YES"
Для проверки того, загружен ли модуль, может быть использована команда kldstat(8):
%
kldstat
Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko
Если по какой-либо причине вы не хотите или не можете загрузить
KLD, вы можете статически включить поддержку Linux в ядро,
добавив опцию options COMPAT_LINUX
в файл
конфигурации ядра. Затем соберите и установите новое ядро,
следуя описанию в Глава 9, Настройка ядра FreeBSD.
Установить все требуемые библиотеки можно двумя путями: либо используя порт linux_base, либо установив их вручную.
Этот метод является самым простым, и мы рекомендуем воспользоваться именно им. Процесс аналогичен установке любого другого порта из Коллекции Портов. Просто выполните следующие команды:
#
cd /usr/ports/emulators/linux_base-fc4
#
make install distclean
Теперь вы можете работать с приложениями для Linux. Некоторые программы, возможно, будут сообщать о несоответствии подверсий некоторых системных библиотек. Однако обычно это не вызывает каких-либо неудобств.
Возможно наличие нескольких версий порта emulators/linux_base, соответствующих различным версиям разных дистрибутивов Linux. Вы должны установить порт, наиболее близко соответствующий требованиям приложений Linux, которые будут установлены.
Если у вас не установлена коллекция портов, можно
установить требуемые библиотеки вручную. Вам понадобятся
совместно используемые библиотеки для Linux, которые нужны программам, и
runtime-компоновщик. Вам также потребуется создать <<теневой
корневой каталог>>, /compat/linux
, где
будут расположены Linux-библиотеки. Если Linux-программе нужно
загрузить какую-либо совместно используемую библиотеку, FreeBSD сперва будет
пытаться найти ее в этом дереве. Так, если программа загружает,
например, /lib/libc.so
, FreeBSD попытается
открыть /compat/linux/lib/libc.so
, и если
такого файла не существует, будет пытаться открыть
/lib/libc.so
. Разделяемые библиотеки должны
находиться в теневом дереве, а не в каталогах, выдаваемых
загрузчиком Linux ld.so
.
Обычно вам придется добавлять совместно используемые библиотеки, от которых зависят Linux-программы, только при нескольких первых установках приложений Linux на вашу систему FreeBSD. По мере работы, у вас в системе накопится достаточный набор совместно используемых библиотек Linux для запуска новых Linux-программ без дополнительных действий.
Что, если при установленном linux_base
порте ваше приложение все равно сообщает об отсутствии необходимой
библиотеки? Как узнать, какая именно нужна библиотека и где ее
взять? В принципе, есть два способа. Вам необходимо иметь
привилегии пользователя root
для их
осуществления.
Если у вас есть доступ к машине, на которой установлен Linux, узнайте, какие библиотеки использует Linux-приложение, и просто скопируйте из на свою машину. Рассмотрим следующий пример:
Допустим, вы скачали по FTP Linux-версию
Doom и установили ее на Linux-машине.
Вы можете узнать, какие совместно используемые библиотеки нужны
Doom, с помощью команды
ldd linuxdoom
:
%
ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
Вам потребуются все файлы, перечисленные в последнем
столбце. Скопируйте их в дерево /compat/linux
на вашей системе, а также создайте символические ссылки на эти
файлы с именами из первого столбца, соответственно. В итоге,
у вас в системе FreeBSD должны быть следующие файлы:
/compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Примечание:
Учтите, что если у вас уже есть совместно используемая библиотека Linux с соответствующим первому столбцу результатов
ldd
основным номером версии, вам не обязательно копировать файл, указанный в последнем столбце, в вашу систему. Уже существующий файл должен подойти. Рекомендуется, однако, все равно скопировать совместно используемую библиотеку, если ее версия новее. Предыдущую версию библиотеки можно удалить, если вы создали символическую ссылку на новую. Итак, если у вас в системе есть следующие библиотеки:/compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27и какое-либо приложение требует библиотеку более поздней версии, судя по результатам команды
ldd
:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Если версии немного отличаются в последней цифре, копировать
/lib/libc.so.4.6.29
необязательно, так как программа, скорее всего, будет нормально работать и с немного устаревшей версией. Тем не менее, вы можете заменитьlibc.so
:/compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Примечание:
Символические ссылки важны только для Linux-программ. Runtime-компоновщик FreeBSD самостоятельно подберет правильные номера версий библиотек, и вам не нужно об этом беспокоиться.
Для ELF-файлов иногда требуется сделать так называемый <<branding>> (маркировать его). Если попытаться запустить не маркированный ELF-файл, вы получите следующее сообщение об ошибке:
%
./моя-linux-elf-программа
ELF binary type not known Abort
Чтобы помочь ядру FreeBSD отличить ELF-файл FreeBSD от двоичного файла Linux, используется утилита brandelf(1):
%
brandelf -t Linux моя-linux-elf-программа
В настоящее время набор инструментальных средств GNU (GNU toolchain) помещает необходимую маркировочную информацию в двоичные ELF-файлы автоматически, поэтому необходимость в этом действии возникает всё реже.
Если DNS не работает или вы получаете это сообщение:
resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword
то вам нужно создать (изменить) файл
/compat/linux/etc/host.conf
, содержащий:
order hosts, bind multi on
Таким образом, вы указываете, то сначала производится поиск в
файле /etc/hosts
, а только затем запрашивается
DNS. Когда файл /compat/linux/etc/host.conf
отсутствует, Linux-приложения находят файл
/etc/host.conf
для FreeBSD и сообщают о
несовместимом синтаксисе. Если вы не настраивали сервер имен
с помощью файла /etc/resolv.conf
, уберите
bind
из файла
/compat/linux/etc/host.conf
.
Ниже описано, как установить Linux-версию пакета Mathematica(R) 5.X на систему FreeBSD.
Linux версия Mathematica(R)
или Mathematica(R) for Students
можно заказать непосредственно в компании Wolfram по адресу
http://www.wolfram.com/
.
Сначала вы должны указать FreeBSD, что Linux бинарники от Mathematica(R) используют Linux ABI. Самый простой путь сделать это-установить марку ELF Linux по умолчанию для всех немаркированных двоичных файлов с помощью команды:
#
sysctl kern.fallback_elf_brand=3
FreeBSD будет считать, что все немаркированные двоичные ELF-файлы используют Linux ABI, и вы сможете запустить MathInstaller прямо с CDROM.
Теперь, скопируйте файл MathInstaller
на
ваш жёсткий диск:
#
mount /cdrom
#
cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/
и в этом файле замените /bin/sh
в
в первой строке на /compat/linux/bin/sh
.
Этим мы убедимся, что установщик будет выполняться Linux
версией sh(1). Дальше, замените все вхождения
Linux)
на FreeBSD)
с
помощью текстового редактора или с помощью скрипта,
представленного ниже, в следующей главе. Это укажет
установщику Mathematica(R),
вызывающему uname -s
для определения
операционной системы, относиться к FreeBSD, как к Linux
подобной операционной системе. Теперь, запуск
MathInstaller
установит
Mathematica(R).
Скрипты командной оболочки, которые
Mathematica(R) создала во
время установки, должны быть изменены перед тем, как
вы сможете использовать их. Если вы выбрали
/usr/local/bin
в
качестве директории для помещения исполняемых файлов
Mathematica(R), то вы обнаружите
в этом каталоге ссылки на файлы math
,
mathematica
, Mathematica
, и
MathKernel
. В каждом из них замените
Linux)
на FreeBSD)
с
помощью текстового редактора или с помощью следующего скрипта
командной оболочки:
#!/bin/sh cd /usr/local/bin for i in math mathematica Mathematica MathKernel do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i rm $i.tmp chmod a+x $i done
Когда вы запустите Mathematica(R)
в первый раз, у вас будет запрошен пароль. Если вы еще не получили
пароль от Wolfram, запустите программу mathinfo
в директории установки для получения вашего <<machine ID>>.
Этот machine ID основан исключительно на MAC адресе вашей первичной
Ethernet карты, так что, вы не сможете использовать вашу копию
Mathematica(R) на разных машинах.
При регистрации по электронной почте, по телефону или по факсу вы сообщаете <<machine ID>>, а в ответ получаете пароль, состоящий из нескольких групп чисел.
Mathematica(R) использует специальные
шрифты для отображения некоторых символов, которые отсутствуют в
стандартных шрифтах (символы интегралов, сумм, греческий алфавит и
другие). Протокол X требует, чтобы эти шрифты были установлены
локально. Это означает, что вы должны
скопировать эти шрифты с компакт-диска или хоста, на котором
установлена Mathematica(R), на вашу
машину. Обычно эти шрифты находятся в каталоге
/cdrom/Unix/Files/SystemFiles/Fonts
компакт-диска или в каталоге
/usr/local/mathematica/SystemFiles/Fonts
на
диске. Собственно файлы со шрифтами находятся в подкаталогах
Type1
и X
. О том, как их
использовать, читайте ниже.
Можно просто скопировать их в один из существующих каталогов
шрифтов в каталоге /usr/X11R6/lib/X11/fonts
.
В этом случае придётся отредактировать файл
fonts.dir
, добавив в него названия шрифтов и
изменив число шрифтов в первой строке. Можно также запустить
программу mkfontdir(1), находясь в том каталоге,
куда вы скопировали шрифты.
Есть альтернативный способ: скопировать каталоги в
/usr/X11R6/lib/X11/fonts
:
#
cd /usr/X11R6/lib/X11/fonts
#
mkdir X
#
mkdir MathType1
#
cd /cdrom/Unix/Files/SystemFiles/Fonts
#
cp X/* /usr/X11R6/lib/X11/fonts/X
#
cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
#
cd /usr/X11R6/lib/X11/fonts/X
#
mkfontdir
#
cd ../MathType1
#
mkfontdir
Теперь добавьте каталоги с новыми шрифтами в путь к шрифтам:
#
xset fp+ /usr/X11R6/lib/X11/fonts/X
#
xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
#
xset fp rehash
Если вы используете сервер Xorg,
то можно просто прописать эти
каталоги в файле xorg.conf
.
Для сервера XFree86TM,
файл конфигурации XF86Config
.
Если на вашем компьютере нет каталога
/usr/X11R6/lib/X11/fonts/Type1
, замените
MathType1
на Type1
в
предыдущем примере.
MapleTM - коммерческая
математическая программа, аналогичная
Mathematica(R). Это программное обеспечение
надо купить у http://www.maplesoft.com/
, а потом
зарегистрироваться там для получения файла лицензии. Для установки
этого программного обеспечения в ОС FreeBSD используется следующая
последовательность простых шагов.
Выполните скрипт командного интерпретатора
INSTALL
из дистрибутива. Выберите
опцию <<RedHat>>, когда будет предложено программой
установки. Обычно установка выполняется в каталог /usr/local/maple
.
Если вы этого ещё не сделали, купите лицензию на
MapleTM в компании Maple Waterloo
Software (http://register.maplesoft.com/
)
и скопируйте ее в файл
/usr/local/maple/license/license.dat
.
Установите диспетчер лицензий
FLEXlm, выполнив скрипт установки
INSTALL_LIC
, входящий в состав
MapleTM. Укажите основное имя хоста
вашей машины для сервера лицензий.
Исправьте файл
/usr/local/maple/bin/maple.system.type
с помощью следующего патча:
----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---- # the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- snip end of patch -----
Учтите, что после "FreeBSD"|\
не должно
быть никаких пробелов.
Этот патч заставляет MapleTM
распознавать <<FreeBSD>> как тип Linux-системы.
Скрипт командного интерпретатора bin/maple
вызывает скрипт bin/maple.system.type
,
который, в свою очередь, вызывает uname -a
для
получения имени операционной системы. В зависимости от имени ОС
он определяет, какие двоичные модули использовать.
Запустите сервер лицензий.
Следующий скрипт, установленный в файл
/usr/local/etc/rc.d/lmgrd.sh
, обеспечивает
удобный способ запуска lmgrd
:
----- snip ------------ #! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) echo "Usage: `basename $0` {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- snip ------------
Выполните тестовый запуск MapleTM:
%
cd /usr/local/maple/bin
%
./xmaple
Программа должна запуститься и работать. Не забудьте написать в Maplesoft и сообщить, что хотели бы видеть версию специально для FreeBSD!
Работать с диспетчером лицензий
FLEXlm может быть непросто.
Дополнительную документацию по нему можно найти на сайте http://www.globetrotter.com/
.
lmgrd
очень требователен к
файлу лицензии и выдает дамп памяти при выявлении любых проблем.
Правильный файл лицензии должен иметь следующий вид:
# ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX
Серийный номер и ключ забиты символами 'X'.
chillig
- имя хоста.
Редактирование файла лицензий возможно, если только не трогать строку <<FEATURE>> (которая защищена лицензионным ключом).
Этот документ описывает процесс установки Linux-версии MATLAB(R) версии 6.5 на систему FreeBSD. Эта программа работает вполне нормально, за исключением Java Virtual MachineTM (см. Раздел 11.5.3, <<Связь с JavaTM Runtime Environment>>).
Linux-версию MATLAB(R) можно приобрести
непосредственно в компании The MathWorks на сайте http://www.mathworks.com
. Не забудьте получить
файл лицензии или инструкции по его созданию. По ходу дела дайте
знать производителю, что хотели бы увидеть версию их ПО специально
для FreeBSD.
Для установки MATLAB(R) выполните следующие шаги:
Вставьте инсталляционный CD и смонтируйте его.
Станьте пользователем root
, как рекомендует
скрипт установки. Для запуска скрипта установки наберите:
#
/compat/linux/bin/sh /cdrom/install
Запускается графический инсталлятор. Если вы получаете
сообщения о невозможности открыть дисплей, наберите
setenv HOME ~
,
где USER
USER
- пользователь, от
имени которого выполнена команда su(1).
При запросе корневого каталога
MATLAB(R), наберите:
/compat/linux/usr/local/matlab
.
Чтобы упростить набор остальных команд в ходе установки,
выполните в командном интерпретаторе следующую команду:
set MATLAB=/compat/linux/usr/local/matlab
Отредактируйте файл лицензии в соответствии с инструкциями в полученной лицензии MATLAB(R).
Этот файл можно подготовить заранее с помощью любого
текстового редактора и скопировать его в
$MATLAB/license.dat
до того, как
инсталлятор попросит его отредактировать.
Завершите процесс установки.
В этот момент ваша установка MATLAB(R) завершена. Следующие шаги позволяют <<связать>> эту программу с вашей системой FreeBSD.
Создайте символические ссылки для скриптов диспетчера лицензий:
#
ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
#
ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
Создайте файл запуска
/usr/local/etc/rc.d/flexlm.sh
.
Представленный ниже пример - измененная версия входящего
в дистрибутив файла $MATLAB/etc/rc.lm.glnx86
.
Изменены местонахождения файлов и диспетчер лицензий запускается
под эмулятором Linux.
#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username
&& echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
Этот файл надо сделать выполняемым:
#
chmod +x /usr/local/etc/rc.d/flexlm.sh
Вы также должны заменить username
именем пользователя в вашей системе (но не
root
).
Запустите диспетчер лицензий с помощью команды:
#
/usr/local/etc/rc.d/flexlm.sh start
Измените ссылку JavaTM Runtime Environment (JRE) так, чтобы он ссылалась на версию, работающую в FreeBSD:
#
cd $MATLAB/sys/java/jre/glnx86/
#
unlink jre; ln -s ./jre1.1.8 ./jre
Поместите следующий скрипт запуска в файл
/usr/local/bin/matlab
:
#!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
Затем выполните команду
chmod +x /usr/local/bin/matlab
.
В зависимости от версии
emulators/linux_base, при
выполнении этого скрипта могут быть выданы сообщения об ошибках.
Чтобы избежать этого, отредактируйте файл
/compat/linux/usr/local/matlab/bin/matlab
и измените строку вида:
if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then
(в версии 13.0.1 это строка 410) на следующую строку:
if test -L $newbase; then
Следующие действия необходимы для решения проблемы с некорректным завершением работы MATLAB(R).
Создайте файл
$MATLAB/toolbox/local/finish.m
и поместите
в него одну строку:
! $MATLAB/bin/finish.sh
$MATLAB
- литерал.
В том же каталоге находятся файлы
finishsav.m
и
finishdlg.m
, которые позволяют
сохранять рабочее пространство перед выходом. Если вы
используете любой из них, вставьте представленную выше
строку сразу после команды save
.
Создайте файл
$MATLAB/bin/finish.sh
, который будет
содержать следующий скрипт:
#!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0
Сделайте этот файл выполняемым:
#
chmod +x $MATLAB/bin/finish.sh
Ниже описан процесс установки Oracle(R) 8.0.5 и Oracle(R) 8.0.5.1 Enterprise Edition для Linux на систему FreeBSD.
Удостоверьтесь, что порты emulators/linux_base и devel/linux_devtools установлены на вашей системе. Если у вас возникнут трудности с этими портами, воспользуйтесь пакетами или более ранними их версиями из Коллекции Портов.
Если вы хотите использовать интеллектуальный агент (intelligent
agent), придется также установить пакет TCL от Red Hat:
tcl-8.0.3-20.i386.rpm
. Универсальная команда
для установки пакетов с помощью официального порта
RPM
(archivers/rpm):
#
rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm
пакет
Установка этого пакета
должна
пройти без каких-либо ошибок.
Прежде чем вы сможете установить Oracle(R), необходимо настроить соответствующую среду. В этом документе описано, что специально нужно сделать, чтобы запустить Oracle(R) для Linux под FreeBSD - это не пересказ официального руководства по установке Oracle(R).
Как описано в руководстве по установке
Oracle(R), необходимо
установить максимальный размер совместно используемой (shared) памяти. Не используйте
SHMMAX
под FreeBSD. SHMMAX
просто вычисляется, исходя из SHMMAXPGS
и
PGSIZE
. Следовательно, нужно задавать
SHMMAXPGS
. За информацией о прочих опциях
обратитесь к официальному руководству. Пример настроек:
options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61
Установите эти опции в зависимости от того, как и для чего вы будете использовать Oracle(R).
Не забудьте добавить следующие строки в файл конфигурации ядра:
options SYSVSHM # совместно используемая память SysV options SYSVSEM # семафоры SysV options SYSVMSG # межпроцессное взаимодействие SysV
Создайте специальную учетную запись
oracle
, как и любую другую учетную запись.
Единственное отличие в том, что для oracle
необходимо указать командный интерпретатор Linux.
Добавьте /compat/linux/bin/bash
в
/etc/shells
и установите для
oracle
командный интерпретатор
/compat/linux/bin/bash
.
Кроме стандартных переменных среды
Oracle(R), таких как
ORACLE_HOME
и ORACLE_SID
, вам нужно
будет установить следующие переменные среды:
Переменная | Значение |
---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/bin |
Желательно устанавливать все переменные среды в файле
.profile
. Вот реальный пример:
ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH
Из-за небольшой несовместимости с Linux-эмулятором, вам нужно
будет создать подкаталог .oracle
в каталоге
/var/tmp
прежде, чем можно будет начать
установку. Сделайте ее владельцем пользователя
oracle
.
Если вы все сделали правильно, то установка
Oracle(R) должна пройти без проблем. Если
какие-либо трудности все же возникли, проверьте еще раз все
конфигурационные файлы и/или целостность дистрибутива
Oracle(R). После окончания установки
Oracle(R) примените патчи,
описанные в следующих двух подразделах.
Одна из часто возникающих проблем - неправильно установленный адаптер TCP-протокола. В результате, невозможно запустить процессы прослушивания TCP. Вот решение проблемы:
#
cd $ORACLE_HOME/network/lib
#
make -f ins_network.mk ntcontab.o
#
cd $ORACLE_HOME/lib
#
ar r libnetwork.a ntcontab.o
#
cd $ORACLE_HOME/network/lib
#
make -f ins_network.mk install
Не забудьте повторно запустить root.sh
!
При установке Oracle(R)
необходимо выполнить некоторые действия от имени
пользователя root
. Они записаны в
скрипте командного интерпретатора root.sh
,
который находится в каталоге orainst
.
Перед запуском, примените к нему следующий патч (исправляет
местонахождение утилиты chown), либо запускайте его в командном
интерпретаторе Linux.
*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script
Если вы устанавливаете Oracle(R)
не с компакт-диска, можно изменить исходный файл
root.sh
. Он называется
rthd.sh
и находится в каталоге
orainst
.
Скрипт genclntsh
используется для того,
чтобы создать единую совместно используемую клиентскую библиотеку,
которая используется для создания демонстраций. Примените
следующий патч, чтобы закомментировать определение переменной
PATH
:
*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst
Инсталляции систем SAP(R) на базе FreeBSD не будут поддерживаться службой поддержки SAP(R) - они предоставляют поддержку только на сертифицированных платформах.
Этот документ описывает возможный способ установки системы SAP(R) R/3(R) с СУБД Oracle(R) Database на машине с ОС FreeBSD, включая установку FreeBSD и Oracle(R). Будут описаны две разные конфигурации:
SAP(R) R/3(R) 4.6B (IDES) с Oracle(R) 8.0.5 на FreeBSD 4.3-STABLE
SAP(R) R/3(R) 4.6C с Oracle(R) 8.1.7 на FreeBSD 4.5-STABLE
Хотя в этом документе мы пытаемся подробно описать все важные шаги, он не заменяет руководства по установке Oracle(R) и SAP(R) R/3(R).
По специфическим вопросам SAP(R) и Oracle(R) обратитесь к документации, поставляемой в составе SAP(R) R/3(R) Linux edition, а также к другим источникам информации об Oracle(R) и SAP(R) OSS.
Для установки SAP(R) были использованы следующие диски CD-ROM:
Имя | Номер | Описание |
---|---|---|
KERNEL | 51009113 | SAP Kernel Oracle / Installation / AIX, Linux, Solaris |
RDBMS | 51007558 | Oracle / RDBMS 8.0.5.X / Linux |
EXPORT1 | 51010208 | IDES / DB-Export / Диск 1 из 6 |
EXPORT2 | 51010209 | IDES / DB-Export / Диск 2 из 6 |
EXPORT3 | 51010210 | IDES / DB-Export / Диск 3 из 6 |
EXPORT4 | 51010211 | IDES / DB-Export / Диск 4 из 6 |
EXPORT5 | 51010212 | IDES / DB-Export / Диск 5 из 6 |
EXPORT6 | 51010213 | IDES / DB-Export / Диск 6 из 6 |
Кроме того, мы использовали CD Oracle(R) 8 Server (Опытная версия 8.0.5 для Linux, ядро версии 2.0.33), который не обязательно понадобится, и FreeBSD 4.3-STABLE (она вышла всего через несколько дней после 4.3 RELEASE).
Имя | Номер | Описание |
---|---|---|
KERNEL | 51014004 | SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC, Linux |
RDBMS | 51012930 | Oracle 8.1.7/ RDBMS / Linux |
EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Диск 1 из 4 |
EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Диск 2 из 4 |
EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Диск 3 bp 4 |
EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Диск 4 из 4 |
LANG1 | 51013954 | Release 4.6C SR2 / Language / DE, EN, FR / Диск 1 из 3 |
В зависимости от языков, которые необходимо установить, могут потребоваться дополнительные CD. Здесь мы использовали только немецкий и английский языки, поэтому потребовался только первый языковой CD. Обратите внимание, что номера всех EXPORT CD идентичны. Все три языковых CD тоже имеют один номер (это отличается от нумерации CD в версии 4.6B IDES). На момент написания этого раздела (20.03.2002) установленное ПО работало на FreeBSD 4.5-STABLE.
Прочитайте следующие документы перед установкой SAP(R) R/3(R) - они пригодятся в ходе установки:
Номер | Название |
---|---|
0171356 | SAP Software on Linux: Essential Comments |
0201147 | INST: 4.6C R/3 Inst. on UNIX - Oracle |
0373203 | Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX |
0072984 | Release of Digital UNIX 4.0B for Oracle |
0130581 | R3SETUP step DIPGNTAB terminates |
0144978 | Your system has not been installed correctly |
0162266 | Questions and tips for R3SETUP on Windows NT / W2K |
Номер | Название |
---|---|
0015023 | Initializing table TCPDB (RSXP0004) (EBCDIC) |
0045619 | R/3 with several languages or typefaces |
0171356 | SAP Software on Linux: Essential Comments |
0195603 | RedHat 6.1 Enterprise version: Known problems |
0212876 | The new archiving tool SAPCAR |
0300900 | Linux: Released DELL Hardware |
0377187 | RedHat 6.2: important remarks |
0387074 | INST: R/3 4.6C SR2 Installation on UNIX |
0387077 | INST: R/3 4.6C SR2 Inst. on UNIX - Oracle |
0387078 | SAP Software on UNIX: OS Dependencies 4.6C SR2 |
Следующего оборудования достаточно для установки SAP(R) R/3(R) System. Для производственного использования необходима более точная оценка параметров:
Компонент | 4.6B | 4.6C |
---|---|---|
Процессор | 2 x 800MHz Pentium(R) III | 2 x 800MHz Pentium(R) III |
Память | 1GB ECC | 2GB ECC |
Объем дисков | 50-60GB (IDES) | 50-60GB (IDES) |
Для производственного использования рекомендуются процессоры XeonTM с большим кешем, высокоскоростной доступ к дискам (SCSI, аппаратный RAID-контроллер), USV и ECC-RAM. Большой объем дискового пространства связан с заранее сконфигурированной системой IDES, которая создает 27 Гбайт файлов базы данных по ходу установки. Этого пространства также достаточно для исходных производственных систем и прикладных данных.
Было использовано следующее стандартное оборудование: двухпроцессорная материнская плата с двумя процессорами Pentium(R) III 800 MHz, SCSI-контроллером Adaptec(R) 29160 Ultra160 (для работы с 40/80 Гбайт стримером DLT и приводом CDROM), Mylex(R) AcceleRAIDTM (2 канала, firmware 6.00-1-00 с 32 Мбайт RAM). К RAID-контроллеру Mylex(R) подключены два диска по 17 Гбайт (зеркалированы) и четыре диска по 36 Гбайт (RAID уровня 5).
Для этой установки был использован DellTM PowerEdgeTM 2500: двухпроцессорная плата с двумя процессорами Pentium(R) III 1000 MHz (256 Кбайт кэш), 2 Гбайта PC133 ECC SDRAM, PERC/3 DC PCI RAID-контроллер со 128 Мбайтами и приводом EIDE DVD-ROM. К RAID-контроллеру подключены два диска по 18 Гбайт (зеркалированы) и четыре диска по 36 Гбайт (RAID уровня 5).
Сначала надо установить FreeBSD. Есть несколько способов сделать это; подробнее см. Раздел 2.13, <<Подготовка собственного источника установки>>.
Для простоты диски при установке
SAP(R) R/3(R) 46B и SAP(R) R/3(R) 46C
SR2 использовались одинаково. Изменились только
имена устройств, поскольку установка выполнялась на разное
оборудование (/dev/da
и
/dev/amr
, соответственно, так что при
использовании AMI MegaRAID(R) будут задействованы устройства
/dev/amr0s1a
вместо /dev/da0s1a
):
Файловая система | Размер (в блока по 1 Кбайту) | Размер (Гбайт) | Смонтирована в |
---|---|---|---|
/dev/da0s1a | 1.016.303 | 1 | / |
/dev/da0s1b | 6 | swap | |
/dev/da0s1e | 2.032.623 | 2 | /var |
/dev/da0s1f | 8.205.339 | 8 | /usr |
/dev/da1s1e | 45.734.361 | 45 | /compat/linux/oracle |
/dev/da1s1f | 2.032.623 | 2 | /compat/linux/sapmnt |
/dev/da1s1g | 2.032.623 | 2 | /compat/linux/usr/sap |
Конфигурируем и инициализируем заранее два логических диска с помощью ПО RAID Mylex(R) или PERC/3. Программы конфигурирования можно запустить в ходе загрузки BIOS.
Обратите внимание, что использованная компоновка дисков немного отличается от рекомендованной SAP(R), поскольку SAP(R) рекомендует монтировать подкаталоги Oracle(R) (и некоторые другие) отдельно - мы решили просто создать подкаталоги.
Загрузите последние исходные коды ветки -STABLE. Пересоздайте систему и ваше специализированное ядро после необходимых изменений в файле конфигурации ядра. В него надо включить параметры ядра, требуемые для SAP(R) R/3(R) и Oracle(R).
Сначала необходимо установить порт
linux_base
(от имени пользователя root
):
#
cd /usr/ports/emulators/linux_base
#
make install distclean
Среда разработки Linux необходима, если вы хотите установить Oracle(R) в ОС FreeBSD, как описано в Раздел 11.6, <<Установка Oracle(R)>>:
#
cd /usr/ports/devel/linux_devtools
#
make install distclean
Среда разработки Linux была установлена только для SAP(R) R/3(R) 46B IDES. Она не нужна, если сервер Oracle(R) не перекомпоновывается в системе FreeBSD. Именно так и происходит, если вы используете tar-архив (tarball) Oracle(R) с Linux-системы.
Для запуска программы R3SETUP
необходима
поддержка модулей PAM. В ходе первой установки
SAP(R) на ОС FreeBSD 4.3-STABLE мы
попытались установить PAM со всеми необходимыми пакетами и,
в конце концов, принудительно установили пакет PAM, что и
сработало. Для SAP(R) R/3(R) 4.6C SR2 мы
сразу принудительно установили PAM RPM, что тоже сработало,
так что похоже, что пакеты, от которых декларирована зависимость,
не нужны:
#
rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.i386.rpm
Чтобы Oracle(R) 8.0.5 мог запустить
интеллектуального агента, нам также пришлось установить пакет
RedHat Tcl tcl-8.0.5-30.i386.rpm
(иначе
перекомпоновка в ходе установки Oracle(R)
не выполнится). Есть и другие проблемы с перекомпоновкой
Oracle(R), но это проблема
Oracle(R) на Linux, не связанная с
особенностями FreeBSD.
Может также иметь смысл добавить linprocfs
в /etc/fstab
; подробнее об этом см. на
странице справочника linprocfs(5). Еще можно установить
параметр kern.fallback_elf_brand=3
в файле
/etc/sysctl.conf
.
Для простой установки достаточно создать следующие файловые системы:
точка монтирования | размер в Гбайтах |
---|---|
/compat/linux/oracle | 45 GB |
/compat/linux/sapmnt | 2 GB |
/compat/linux/usr/sap | 2 GB |
Также необходимо создать несколько ссылок. В противном случае, инсталлятор SAP(R) будет выдавать сообщения об ошибках, поскольку он проверяет созданные ссылки:
#
ln -s /compat/linux/oracle /oracle
#
ln -s /compat/linux/sapmnt /sapmnt
#
ln -s /compat/linux/usr/sap /usr/sap
Возможные сообщения об ошибках в ходе установки (в данном случае, для установки System PRD и SAP(R) R/3(R) 4.6C SR2):
INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location. ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content '/sapmnt/PRD/exe'
Для системы SAP(R) R/3(R) необходимы два
пользователя и три группы. Имена пользователей зависят от
идентификатора системы SAP(R) (SID),
который состоит из трех букв. Некоторые из этих идентификаторов
зарезервированы SAP(R) (например,
SAP
и NIX
. Полный
список см. в документации SAP(R)).
Для установки IDES мы использовали IDS
,
а для установки 4.6C SR2 - PRD
, поскольку
эта система предназначалась для промышленного использования.
Поэтому нам понадобились следующие группы (идентификаторы групп
могут отличаться, мы просто указали наши значения, использованные
при установке):
идентификатор группы | имя группы | описание |
---|---|---|
100 | dba | Администратор базы данных |
101 | sapsys | Система SAP(R) |
102 | oper | Оператор базы данных |
Для стандартной установки
Oracle(R) используется только группа
dba
. В качестве группы
oper
используется та же группа
dba
(подробнее об этом см. в
документации Oracle(R) и
SAP(R)).
Нам также нужны следующие пользователи:
идентификатор пользователя | имя пользователя | общий вид имени | группа | дополнительные группы | описание |
---|---|---|---|---|---|
1000 | idsadm/prdadm | sid adm | sapsys | oper | Администратор SAP(R) |
1002 | oraids/oraprd | orasid | dba | oper | Администратор Oracle(R) |
Добавление пользователей с помощью adduser(8) требует следующих параметров для <<Администратора SAP(R)>> (обратите внимание на командный интерпретатор и начальный каталог):
Name:sid
adm Password: ****** Fullname: SAP AdministratorSID
Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sid
adm Shell: bash (/compat/linux/bin/bash)
а для <<Администратора Oracle(R)>>:
Name: orasid
Password: ****** Fullname: Oracle AdministratorSID
Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)
Для него также надо указать группу
oper
, если вы используете обе группы,
dba
и oper
.
Эти каталоги обычно создаются в отдельных файловых системах. Впрочем, все зависит от ваших требований. Мы решили создавать их как обычные каталоги, поскольку в любом случае они находятся на одном массиве RAID 5:
Сначала мы установим владельцев и права для ряда каталогов (от
имени пользователя root
):
#
chmod 775 /oracle
#
chmod 777 /sapmnt
#
chown root:dba /oracle
#
chown
sid
adm:sapsys /compat/linux/usr/sap#
chmod 775 /compat/linux/usr/sap
Затем, мы создадим каталоги от имени пользователя
ora
. Все они
будут размещены в каталоге
sid
/oracle/
:SID
#
su - ora
sid
#
cd /oracle/
SID
#
mkdir mirrlogA mirrlogB origlogA origlogB
#
mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
#
mkdir saparch sapreorg
#
exit
Для установки Oracle(R) 8.1.7 потребуется несколько дополнительных каталогов:
#
su - ora
sid
#
cd /oracle
#
mkdir 805_32
#
mkdir client stage
#
mkdir client/80x_32
#
mkdir stage/817_32
#
cd /oracle/
SID
#
mkdir 817_32
Каталог client/80x_32
должен иметь
точно такое имя. Не заменяйте x числом или
другим символом.
На третьем шаге мы создаем каталоги от имени пользователя
:sid
adm
#
su -
sid
adm#
cd /usr/sap
#
mkdir
SID
#
mkdir trans
#
exit
Для системы SAP(R) R/3(R) необходим ряд
записей в файле /etc/services
, которые не
будут правильно созданы при установке под FreeBSD. Пожалуйста,
добавьте следующие записи (потребуются, по крайней мере, записи,
соответствующие номеру экземпляра - в данном случае,
00
. Не повредит добавить все записи, от
00
до 99
, для
dp
, gw
, sp
и ms
). Если вы собираетесь использовать
SAProuter или вам необходим доступ к
SAP(R) OSS, потребуется также запись для
99
, поскольку порт 3299 обычно используется
для процесса SAProuter в целевой
системе:
sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID
3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number
Системе SAP(R) нужны, по крайней мере, две локали, не входящие в стандартную установку RedHat. SAP(R) предлагает необходимые пакеты RPM для загрузки со своего FTP-сервера (который доступен только для клиентов с доступом к OSS). См. список необходимых пакетов RPM в заметке 0171356.
Можно также просто создать соответствующие ссылки (например, с de_DE и en_US), но мы не рекомендуем это для производственной системы (хотя это и сработало для системы IDES безо всяких проблем). Необходимы следующие локали:
de_DE.ISO-8859-1 en_US.ISO-8859-1
Создайте ссылки следующим образом:
#
cd /compat/linux/usr/share/locale
#
ln -s de_DE de_DE.ISO-8859-1
#
ln -s en_US en_US.ISO-8859-1
Если их не будет, в ходе установки возникнет ряд проблем.
Если их просто проигнорировать (установив STATUS
для соответствующих шагов равным OK
в файле
CENTRDB.R3S
), нельзя будет зарегистрироваться
в системе SAP(R) без дополнительных
усилий.
Системам SAP(R) R/3(R) надо много ресурсов. Поэтому мы добавили следующие параметры в файл конфигурации ядра:
# Для пожирателей памяти (SAP и Oracle): options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" # Необходимые опции System V. options SYSVSHM #совместно используемая память в стиле SYSV options SHMMAXPGS=262144 #макс. количество страниц совместно используемой #options SHMMAXPGS=393216 #use this for the 46C inst.parameters options SHMMNI=256 #макс. количество идентификаторов совместно используемой options SHMSEG=100 #макс. количество сегментов разд. памяти на процесс options SYSVMSG #очереди сообщений в стиле SYSV options MSGSEG=32767 #макс. количество сегментов сообщений в системе options MSGSSZ=32 #размер сегмента сообщений. ДОЛЖЕН быть степенью 2 options MSGMNB=65535 #макс. символов на очередь сообщений options MSGTQL=2046 #макс. количество сообщений в системе options SYSVSEM #семафоры в стиле SYSV options SEMMNU=256 #количество структур UNDO семафоров options SEMMNS=1024 #количество семафоров в системе options SEMMNI=520 #количество идентификаторов семафоров options SEMUME=100 #количество ключей UNDO
Минимальные значения указаны в документации, поставляемой вместе с SAP(R). Поскольку описания для Linux нет, дополнительную информацию см. в разделе HP-UX (32-bit). Поскольку в системе, на которую устанавливалась версия 4.6C SR2, оперативной памяти больше, сегменты совместно используемой можно сделать больше как для SAP(R), так и для Oracle(R), поэтому задайте большее количество страниц совместно используемой памяти.
При стандартной установке FreeBSD на i386TM,
задайте значения MAXDSIZ
и DFLDSIZ
не более 1 Гбайта. В противном
случае могут выдаваться странные ошибки вроде
ORA-27102: out of memory и
Linux Error: 12: Cannot allocate
memory.
В ходе установки придется монтировать и демонтировать много дисков CDROM. При наличии достаточного количества приводов CDROM, можно смонтировать их все. Мы же решили скопировать содержимое дисков CDROM в соответствующие каталоги:
/oracle/SID
/sapreorg/имя_cd
где имя_cd
- одно из следующих
KERNEL
,
RDBMS
, EXPORT1
,
EXPORT2
, EXPORT3
,
EXPORT4
, EXPORT5
и
EXPORT6
для установки 4.6B/IDES, и
KERNEL
, RDBMS
,
DISK1
, DISK2
,
DISK3
, DISK4
и
LANG
для установки 4.6C SR2. Все имена
файлов на смонтированных дисках должны быть в верхнем регистре,
в противном случае, используйте при монтировании опцию
-g
. Поэтому используйте следующие команды:
#
mount_cd9660 -g /dev/cd0a /mnt
#
cp -R /mnt/* /oracle/
SID
/sapreorg/имя_cd#
umount /mnt
Сначала надо подготовить каталог install
:
#
cd /oracle/
SID
/sapreorg#
mkdir install
#
cd install
Затем запускается скрипт установки, который скопирует почти
все необходимые файлы в каталог
install
:
#
/oracle/
SID
/sapreorg/KERNEL/UNIX/INSTTOOL.SH
Дистрибутив IDES (4.6B) включает полностью настроенную
демонстрационную систему SAP(R) R/3(R), поэтому он включает шесть
дисков EXPORT CD, а не три. В этот момент шаблон установки
CENTRDB.R3S
предназначен для установки
стандартного центрального экземпляра
(R/3(R) и базы данных), а не для
установки центрального экземпляра IDES, поэтому необходимо
скопировать соответствующий файл CENTRDB.R3S
из каталога EXPORT1
, иначе
команда R3SETUP
запросит только три диска
EXPORT CDs.
Более новый релиз SAP(R) 4.6C SR2
включает четыре диска EXPORT CD. Шаги установки определяет файл
параметров CENTRAL.R3S
. В отличие от
прежних релизов, больше нет отдельных шаблонов установки для
центрального экземпляра с базой данных или без нее.
SAP(R) использует отдельный шаблон для
установки базы данных. Для перезапуска установки в дальнейшем,
однако, достаточно перезапустить исходный файл.
В ходе установки и после нее SAP(R)
требует, чтобы команда hostname
возвращала
только имя компьютера, не уточнённое именем домена. Поэтому либо
задайте имя хоста в соответствии с этим требованием, либо
настройте псевдоним с помощью команды
alias hostname='hostname -s'
для пользователей
ora
и
sid
(и для
пользователя sid
admroot
, про крайней мере,
в ходе шагов по установке, выполняемых от имени
root
). Можно также изменить
файлы .profile
и .login
для обоих пользователей, которые создаются в ходе установки
SAP(R).
Проверьте, что переменная среды LD_LIBRARY_PATH
установлена правильно:
#
export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib
Выполните команду R3SETUP
от имени
пользователя root
из каталога установки:
#
cd /oracle/IDS/sapreorg/install
#
./R3SETUP -f CENTRDB.R3S
Скрипт затем задает ряд вопросов (стандартные ответы даны в скобках, а затем представлены реальные ответы):
Вопрос | Стандартное значение | Ответ |
---|---|---|
Enter SAP System ID | [C11] | IDSEnter |
Enter SAP Instance Number | [00] | Enter |
Enter SAPMOUNT Directory | [/sapmnt] | Enter |
Enter name of SAP central host | [troubadix.domain.de] | Enter |
Enter name of SAP db host | [troubadix] | Enter |
Select character set | [1] (WE8DEC) | Enter |
Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 | 1Enter | |
Extract Oracle Client archive | [1] (Yes, extract) | Enter |
Enter path to KERNEL CD | [/sapcd] | /oracle/IDS/sapreorg/KERNEL |
Enter path to RDBMS CD | [/sapcd] | /oracle/IDS/sapreorg/RDBMS |
Enter path to EXPORT1 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT1 |
Directory to copy EXPORT1 CD | [/oracle/IDS/sapreorg/CD4_DIR] | Enter |
Enter path to EXPORT2 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT2 |
Directory to copy EXPORT2 CD | [/oracle/IDS/sapreorg/CD5_DIR] | Enter |
Enter path to EXPORT3 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT3 |
Directory to copy EXPORT3 CD | [/oracle/IDS/sapreorg/CD6_DIR] | Enter |
Enter path to EXPORT4 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT4 |
Directory to copy EXPORT4 CD | [/oracle/IDS/sapreorg/CD7_DIR] | Enter |
Enter path to EXPORT5 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT5 |
Directory to copy EXPORT5 CD | [/oracle/IDS/sapreorg/CD8_DIR] | Enter |
Enter path to EXPORT6 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT6 |
Directory to copy EXPORT6 CD | [/oracle/IDS/sapreorg/CD9_DIR] | Enter |
Enter amount of RAM for SAP + DB | 850Enter (in Megabytes) | |
Service Entry Message Server | [3600] | Enter |
Enter Group-ID of sapsys | [101] | Enter |
Enter Group-ID of oper | [102] | Enter |
Enter Group-ID of dba | [100] | Enter |
Enter User-ID of sid adm | [1000] | Enter |
Enter User-ID of orasid | [1002] | Enter |
Number of parallel procs | [2] | Enter |
Если вы не скопировали диски в разные каталоги,
инсталлятор SAP(R) не сможет найти
необходимые CD (идентифицируемые файлом
LABEL.ASC
на диске) и попросит затем
вставить и смонтировать CD, и подтвердить или ввести точку
его монтирования.
Файл CENTRDB.R3S
может содержать
ошибки. В нашем случае, он снова запросил EXPORT4 CD, но
указал корректный ключ (6_LOCATION, затем 7_LOCATION и т.д.),
так что, можно просто продолжать вводить корректные
значения.
За исключением нескольких упомянутых ниже проблем, все должно идти нормально до момента, когда придется устанавливать программное обеспечение для работы с базой данных Oracle(R).
Проверьте, что переменная среды LD_LIBRARY_PATH
установлена правильно. Это значение отличается от использованного
при установке версии 4.6B с
Oracle(R) 8.0.5:
#
export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib
Выполните команду R3SETUP
от имени
пользователя root
из каталога установки:
#
cd /oracle/PRD/sapreorg/install
#
./R3SETUP -f CENTRAL.R3S
Скрипт затем задаст ряд вопросов (стандартные значения даны в скобках, а затем идут реальные ответы):
Вопрос | Стандартное значение | Ответ |
---|---|---|
Enter SAP System ID | [C11] | PRDEnter |
Enter SAP Instance Number | [00] | Enter |
Enter SAPMOUNT Directory | [/sapmnt] | Enter |
Enter name of SAP central host | [majestix] | Enter |
Enter Database System ID | [PRD] | PRDEnter |
Enter name of SAP db host | [majestix] | Enter |
Select character set | [1] (WE8DEC) | Enter |
Enter Oracle server version (2) Oracle 8.1.7 | 2Enter | |
Extract Oracle Client archive | [1] (Yes, extract) | Enter |
Enter path to KERNEL CD | [/sapcd] | /oracle/PRD/sapreorg/KERNEL |
Enter amount of RAM for SAP + DB | 2044 | 1800Enter (in Megabytes) |
Service Entry Message Server | [3600] | Enter |
Enter Group-ID of sapsys | [100] | Enter |
Enter Group-ID of oper | [101] | Enter |
Enter Group-ID of dba | [102] | Enter |
Enter User-ID of oraprd | [1002] | Enter |
Enter User-ID of prdadm | [1000] | Enter |
LDAP support | 3Enter (no support) | |
Installation step completed | [1] (continue) | Enter |
Choose installation service | [1] (DB inst,file) | Enter |
Пока создание пользователей дает сообщение об ошибке при
установке на стадиях OSUSERDBSID_IND_ORA (создание пользователя
ora
) и
OSUSERSIDADM_IND_ORA (создание пользователя
sid
).sid
adm
За исключением некоторых упомянутых далее проблем, все должно идти нормально до момента, когда придется устанавливать программное обеспечение для работы с базой данных Oracle(R).
Описания возможных проблем с Linux и Сервером
Oracle(R) см. в соответствующих файлах
SAP(R) Notes и Oracle(R) Readme
. Большинство,
если не все проблемы, связаны с несовместимыми библиотеками.
Подробнее об установке Oracle(R) см. в разделе Установка Oracle(R).
Если надо использовать Oracle(R) 8.0.5, для успешной перекомпоновки понадобится несколько дополнительных библиотек, поскольку Oracle(R) 8.0.5 был скомпонован со старой версией glibc (RedHat 6.0), но уже RedHat 6.1 использует новую библиотеку glibc. Так что, для успешной перекомпоновки нужно установить следующие дополнительные пакеты:
compat-libs-5.2-2.i386.rpm
compat-glibc-5.2-2.0.7.2.i386.rpm
compat-egcs-5.2-1.0.3a.1.i386.rpm
compat-egcs-c++-5.2-1.0.3a.1.i386.rpm
compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
Дополнительную информацию см. в файлах SAP(R) Notes или Oracle(R)
Readme
. Если установить эти пакеты не
представляется возможным (на момент установки у нас не было
времени, чтобы это проверить), можно использовать исходные двоичные
модули или перекомпонованные двоичные модули с исходной системы
RedHat.
Для компиляции интеллектуального агента должен быть
установлен пакет RedHat Tcl. Если вы не можете найти пакет
tcl-8.0.3-20.i386.rpm
, подойдет и более
новый, вроде tcl-8.0.5-30.i386.rpm
для
RedHat 6.1.
За исключением перекомпоновки, установка выполняется просто:
#
su - oraids
#
export TERM=xterm
#
export ORACLE_TERM=xterm
#
export ORACLE_HOME=/oracle/IDS
#
cd $ORACLE_HOME/orainst_sap
#
./orainst
Нажимайте на всех экранах клавишу Enter,
пока программное обеспечение не будет установлено, убрав только
пометку выбора с Oracle(R) On-Line Text Viewer,
поскольку этого компонента для Linux сейчас нет.
Oracle(R) затем захочет
перекомпоновать модули с помощью
i386-glibc20-linux-gcc
вместо имеющихся gcc
, egcs
или i386-redhat-linux-gcc
.
Из-за нехватки времени мы решили использовать двоичные модули из версии Oracle(R) 8.0.5 PreProduction после того, как первая попытка заставить работать версию с RDBMS CD провалилась, - попытки найти и загрузить требуемые пакеты RPM нам показались настоящим кошмаром.
Эту установку выполнить очень легко. Монтируем CD, запускаем инсталлятор. Затем он запрашивает местонахождение начального каталога Oracle(R) и копирует туда двоичные модули. Мы, однако, не удаляли остатки прежних попыток установить RDBMS.
В конечном итоге, базу данных Oracle(R) удалось запустить без проблем.
Создайте tar-архив oracle81732.tgz
каталога установки на Linux-системе и разархивируйте его в
каталог /oracle/
.SID
/817_32/
Сначала проверьте настройку среды для пользователей
idsamd
(sid
adm) и
oraids
(orasid
). У
них обоих должны теперь быть файлы .profile
,
.login
и .cshrc
,
использующие hostname
. Если имя хоста в системе
полностью уточнено, надо заменить hostname
командой hostname -s
во всех трех файлах.
Потом команду R3SETUP
можно либо
перезапустить, либо продолжить (в зависимости от того, была
ли завершена ее работа). R3SETUP
затем
создает табличные пространства и загружает данные (для 46B
IDES - с дисков от EXPORT1 до EXPORT6, для 46C -
с дисков от DISK1 до DISK4) в базу данных с помощью утилиты
R3load
.
После завершения загрузки базы данных (это может занять несколько часов), будет запрошено несколько паролей. Для тестовых установок можно использовать хорошо известные стандартные пароли (но если защита важна - используйте другие!):
Вопрос | Ответ |
---|---|
Enter Password for sapr3 | sapEnter |
Confirum Password for sapr3 | sapEnter |
Enter Password for sys | change_on_installEnter |
Confirm Password for sys | change_on_installEnter |
Enter Password for system | managerEnter |
Confirm Password for system | managerEnter |
Мы столкнулись с несколькими проблемами с
dipgntab
при установке 4.6B.
Запустите процесс прослушивания
(Oracle(R) Listener) от имени
пользователя ora
следующим образом:sid
%
umask 0; lsnrctl start
В противном случае, вы можете получить сообщение об ошибке ORA-12546, поскольку у сокетов будут неправильные права доступа. См. SAP(R) Note 072984.
Если вы планируете использовать в системе SAP(R) языки, для которых не подходит кодировка Latin-1, придется изменить таблицы Multi National Language Support. Эта процедура описана в SAP(R) OSS Notes 15023 и 45619. Если же нет, можете пропустить этот вопрос в ходе установки SAP(R).
Если вам не нужна поддержка MNLS, все равно необходимо проверить таблицу TCPDB и инициализировать ее, если это еще не было сделано. Дополнительную информацию см. в SAP(R) Note 0015023 и 0045619.
Вы должны запросить ваш лицензионный ключ
SAP(R) R/3(R). Это необходимо, поскольку
временная лицензия, использованная в ходе установки, действительна
только четыре недели. Сначала получите ключ оборудования.
Зарегистрируйтесь как пользователь idsadm
и вызовите команду saplicense
:
#
/sapmnt/IDS/exe/saplicense -get
При вызове команды saplicense
без
параметров будет выдан список опций. После получения
лицензионного ключа, его можно установить с помощью
команды:
#
/sapmnt/IDS/exe/saplicense -install
Затем вас попросят ввести следующие значения:
SAP SYSTEM ID =SID, 3 символа
CUSTOMER KEY =ключ оборудования, 11 символов
INSTALLATION NO =установка, 10 цифр
EXPIRATION DATE =yyyymmdd, обычно - "99991231"
LICENSE KEY =лицензионный ключ, 24 символа
Создайте пользователя в клиенте 000 (некоторые задачи
обязательно надо выполнять из клиента 000, от имени пользователя,
отличающегося от sap*
и
ddic
). В качестве имени пользователя мы
обычно выбираем wartung
(или
service
, по английски). Требуются профили
sap_new
и sap_all
. Для
дополнительной защиты надо изменить пароли стандартных
пользователей на всех клиентах (в том числе, пользователей
sap*
и ddic
).
В клиенте 000, от имени пользователя, отличающегося от
ddic
и sap*
,
выполните, как минимум, следующее:
Задача | Транзакция |
---|---|
Сконфигурируйте систему передачи, например, как Stand-Alone Transport Domain Entity | STMS |
Создайте/Отредактируйте профиль для системы | RZ10 |
Сконфигурируйте режимы работы и экземпляры | RZ04 |
Эти и другие шаги, которые надо выполнить после установки, подробно описаны в руководствах по установке SAP(R).
Файл /oracle/IDS/dbs/initIDS.sap
содержит профиль резервного копирования
SAP(R). Здесь надо задать размер
используемой ленты, тип сжатия и т.д. Чтобы можно было
использовать sapdba
/
brbackup
, мы изменили следующие значения:
compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0
Объяснения:
compress
: мы использовали ленту HP DLT1,
которая поддерживает аппаратное сжатие.
archive_function
: этот параметр задает
стандартное поведение для сохранения архивных журналов Oracle(R):
новые журнальные файлы сохраняются на ленту, уже сохраненные
файлы журнала сохраняются еще раз, а затем удаляются. Это
предотвращает многочисленные проблемы, если потребуется
восстановить базу данных, а одна из архивных лент окажется
сбойной.
cpio_flags
: по умолчанию используется
-B
, что устанавливает размер блока 5120 байт.
Для лент DLT компания HP рекомендует размер блока не меньше
32 Кбайт, поэтому мы использовали значение
--block-size=128
для задания размера блока
64 Кбайта. Опция --format=newc
необходима,
поскольку у нас есть индексные дескрипторы (inodes) с номерами
больше 65535. Последняя опция, --quiet
необходима
потому, что иначе команда brbackup
выдает
сообщение об ошибке, как только команда cpio
выдаст количество сохраненных блоков.
cpio_in_flags
: флаги, необходимые для
загрузки данных с ленты. Формат распознается автоматически.
tape_size
: обычно этот параметр задает
реальную ёмкость ленты. Из соображений надежности (мы используем
аппаратное сжатие), задано значение несколько меньше
фактического.
tape_address
: устройство без перемотки
для использования в команде cpio
.
tape_address_rew
: устройство с
перемоткой для использования в команде
cpio
.
Следующие параметры SAP(R) надо настроить после установки (примеры для IDES 46B, 1 Гбайт памяти):
Имя | Значение |
---|---|
ztta/roll_extension | 250000000 |
abap/heap_area_dia | 300000000 |
abap/heap_area_nondia | 400000000 |
em/initial_size_MB | 256 |
em/blocksize_kB | 1024 |
ipc/shm_psize_40 | 70000000 |
SAP(R) Note 0013026:
Имя | Значение |
---|---|
ztta/dynpro_area | 2500000 |
SAP(R) Note 0157246:
Имя | Значение |
---|---|
rdisp/ROLL_MAXFS | 16000 |
rdisp/PG_MAXFS | 30000 |
При указанных выше параметрах в системе с 1 Гбайт памяти можно обнаружить примерно следующее использование памяти:
Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free
R3SETUP
останавливается при выявлении
ошибки. Если вы просмотрели соответствующие журнальные файлы и
исправили ошибку, придется запускать R3SETUP
снова, обычно выбирая REPEAT как опцию для последнего шага,
на котором команда R3SETUP
выдала сообщение
об ошибке.
Для перезапуска команды R3SETUP
просто
запустите её с соответствующим файлом
R3S
:
#
./R3SETUP -f CENTRDB.R3S
для 4.6B или с файлом
#
./R3SETUP -f CENTRAL.R3S
для 4.6C, независимо от того, произошла ли ошибка
при работе с файлом CENTRAL.R3S
или
DATABASE.R3S
.
На некоторых стадиях команда R3SETUP
предполагает, что запущены и работают процессы как сервера
базы данных, так и SAP(R) (поскольку
эти шаги уже выполнены). Если возникнут ошибки и, например,
запустить сервер базы данных не получится, придется вручную
запускать сервер базы данных и SAP(R)
после исправления ошибок и до повторного запуска
R3SETUP
.
Не забудьте также снова запустить процесс прослушивания
Oracle(R) (как пользователь
ora
с помощью
команды sid
umask 0; lsnrctl start
), если он тоже
был остановлен (например, из-за необходимой перезагрузки
системы).
Если R3SETUP
выдает сообщения об
ошибках на этом этапе, отредактируйте используемый при этом
файл шаблона R3SETUP
(CENTRDB.R3S
(4.6B), либо
CENTRAL.R3S
или
DATABASE.R3S
(4.6C)).
Найдите раздел [OSUSERSIDADM_IND_ORA]
или
поищите единственную запись STATUS=ERROR
и
отредактируйте следующие значения:
HOME=/home/sid
adm (было пусто)
STATUS=OK (был статус ERROR)
Затем надо снова перезапустить
R3SETUP
.
Возможно, команда R3SETUP
также выдаст
сообщения об ошибке на этой стадии. Ошибка здесь аналогична
возникающей на стадии OSUSERSIDADM_IND_ORA. Просто отредактируйте
используемый файл шаблона R3SETUP
(CENTRDB.R3S
(4.6B), либо
CENTRAL.R3S
или
DATABASE.R3S
(4.6C)).
Найдите раздел [OSUSERDBSID_IND_ORA]
или поищите
единственную запись STATUS=ERROR
и
отредактируйте следующее значение в этом разделе:
STATUS=OK
Затем перезапустите R3SETUP
.
Вы не сняли выбор с Oracle(R) On-Line Text Viewer перед началом установки. Он помечен для установки, хотя этот продукт и не доступен сейчас для Linux. Снимите пометку с этого продукта в меню установки Oracle(R) и перезапустите установку.
Если возникает эта ошибка, не найдена нужная локаль.
SAP(R) Note 0171356 перечисляет необходимые пакеты RPM, которые
надо установить (например, saplocales-1.0-3
,
saposcheck-1.0-1
для RedHat 6.1). Если
игнорировать все ошибки и менять STATUS
соответствующих шагов с ERROR
на
OK
(в файле CENTRDB.R3S
)
каждый раз, когда R3SETUP
сообщает об
ошибке и просто перезапуск ать R3SETUP
, система
SAP(R) не будет правильно
сконфигурирована, и вы затем не сможете подключиться к системе
с помощью SAPgui, хотя запустить
систему и получится. Попытка подключения с помощью старой
Linux-версии SAPgui приведет к выдаче
следующих сообщений:
Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler
Это связано с тем, что система
SAP(R) R/3(R) не может корректно назначить
локаль и сама не была надлежащим образом сконфигурирована
(не хватает записей в некоторых таблицах базы данных). Чтобы
можно было подключиться к SAP(R),
добавьте следующие записи в файл DEFAULT.PFL
(см. Note 0043288):
abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B
Перезапустите систему SAP(R). Теперь
вы можете подключиться к системе, хотя специфические для страны
языковые установки могут работать не так, как предполагалось.
После исправления настроек страны (и добавления соответствующих
локалей) эти записи можно удалить из файла
DEFAULT.PFL
и перезапустить систему SAP(R).
Эта ошибка возникает только с Oracle(R) 8.1.7 на FreeBSD. Причина в том, что сервер Oracle(R) не может правильно проинициализироваться и аварийно завершает работу, оставляя не освобожденными в системе семафоры и совместно используемую память. При следующей попытке запустить сервер базы данных выдается ошибка ORA-00001.
Найдите оставшиеся семафоры и сегменты памяти с помощью
команды ipcs -a
и удалите с помощью
ipcrm
.
Эта ошибка произошла с Oracle(R) 8.1.7.
Она выдается, если сервер был запущен с помощью обычного
скрипта startsap
(например,
startsap_majestix_00
) от имени пользователя
prdadm
.
Возможный способ обхода - запускать сервер базы данных
от имени пользователя oraprd
с помощью
svrmgrl
:
%
svrmgrl
SVRMGR>connect internal;
SVRMGR>startup
; SVRMGR>exit
Запускайте процесс прослушивания
Oracle(R) от имени пользователя
oraids
следующими командами:
#
umask 0; lsnrctl start
В противном случае, вы можете получить сообщение об ошибке ORA-12546, поскольку сокеты не будут иметь нужных прав доступа. См. SAP(R) Note 0072984.
Эта ошибка произошла при попытке использовать значения
MAXDSIZ
и DFLDSIZ
больше
1 Гбайта (1024x1024x1024). Кроме того, мы получили
Linux Error 12: Cannot allocate memory.
В общем случае, см. SAP(R) Note 0130581
(прекращается работа R3SETUP
на шаге
DIPGNTAB
). В ходе установки
IDES-версии по каким-то причинам процесс установки использовал
вместо правильного имени системы SAP(R),
<<IDS>>, пустую строку, ""
. Это
приводит к небольшим проблемам при доступе к каталогам, поскольку пути
генерируются динамически на базе SID
(в данном случае, IDS). Поэтому вместо обращения к:
/usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00
используются следующие пути:
/usr/sap//SYS/... /usr/sap/D00
Чтобы продолжить установку мы создали ссылку и дополнительный каталог:
#
pwd
/compat/linux/usr/sap#
ls -l
total 4 drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans
Мы также нашли документы SAP(R) Notes (0029227 и 0008401), описывающие это поведение. Мы не столкнулись с подобными проблемами при установке SAP(R) 4.6C.
В ходе установки SAP(R) 4.6C, эта ошибка возникла в результате другой ошибки, произошедшей ранее по ходу установки. В данном случае придется просмотреть соответствующие журнальные файлы и устранить исходную проблему.
Если после просмотра журнальных файлов выявлена только эта
ошибка (проверьте SAP(R) Notes), можно поменять
STATUS
соответствующего шага с ERROR
на OK
(в файле
CENTRDB.R3S
) и перезапустить
R3SETUP
. После установки надо
выполнить отчет RSWBOINS
из транзакции SE38.
Дополнительную информацию о стадиях RFCRSWBOINI
и RFCRADDBDIF
см. в SAP(R) Note 0162266.
Здесь применяются те же ограничения: проверьте путем просмотра журнальных файлов, что эта ошибка не вызвана какими-то предыдущими проблемами.
Если подтверждается, что применим документ SAP(R) Note 0162266,
просто поменяйте STATUS
соответствующего
шага с ERROR
на OK
(в
файле CENTRDB.R3S
) и перезапустите R3SETUP
. После установки надо выполнить
отчет RADDBDIF
из транзакции SE38.
Это сообщение об ошибке выдается в ходе запуска процессов
SAP(R) disp+work.
Если SAP(R) запускается скриптом
startsap
, запускаются отдельные подпроцессы,
выполняющие грязную работу по запуску всех остальных процессов
SAP(R). В результате, сам скрипт
не получит уведомления, если что-то пойдет не так.
Чтобы проверить, нормально ли запустились процессы
SAP(R), посмотрите на состояние
процессов с помощью команды ps ax |
grep
, которая выдаст
список всех процессов Oracle(R) и
SAP(R). Если похоже, что некоторых
процессов не хватает или вы не можете подключиться к системе
SAP(R), просмотрите соответствующие
журнальные файлы, которые можно найти в каталоге
SID
/usr/sap/
.
Надо просматривать файлы SID
/DVEBMGSnr
/work/dev_ms
и
dev_disp
.
Сигнал 31 выдается, если объем памяти, совместно используемой Oracle(R) и SAP(R), превосходит заданный в файле конфигурации ядра, и от него можно избавиться, указав большее значение:
# большее значение для производственных систем 46C: options SHMMAXPGS=393216 # меньшее значение, достаточное для 46B: #options SHMMAXPGS=262144
Есть ряд проблем с программой saposcol
(версии 4.6D). Система SAP(R) использует
saposcol
для сбора данных о производительности
системы. Эта программа не нужна для использования системы
SAP(R), так что проблему можно отнести
к несерьезным. Более старые версии (4.6B) работают, но собирают
не все данные (многие вызовы просто возвращают 0, например,
для использования процессора).
Если вы интересуетесь, как обеспечивается двоичная совместимость
с Linux, этот раздел для вас. Большинство материала взято из
электронного письма, адресованного Terry Lambert
<tlambert@primenet.com>
в Список рассылки, посвящённый неформальным беседам о FreeBSD (ID письма:
<199906020108.SAA07001@usr09.primenet.com>
).
FreeBSD поддерживает абстракцию, называемую <<загрузчик выполняемых классов>>. Фактически, он является первой стадией системного вызова execve(2).
На самом деле, FreeBSD имеет список загрузчиков вместо
одного, завершающийся загрузчиком #!
для
запуска любых командных интерпретаторов и скриптов.
Исторически сложилось, что единственный загрузчик в UNIX(R) системах проверял <<магическое число>> (чаще всего первые 4 или 8 байт файла), чтобы определить, известен ли формат двоичного файла системе, и если да, то вызвал соответствующий загрузчик.
Если файл не опознавался системой как двоичный, системный вызов execve(2) возвращал ошибку, и текущий командный интерпретатор начинал выполнять файл как скрипт.
По умолчанию скрипт выполнялся <<текущим командным интерпретатором>>.
Позднее, sh(1) был модифицирован, так, чтобы проверять
первые два символа в файле, и если они оказывались
:\n
, то файл выполнялся как сценарий для
csh(1) (утверждается, что SCO были первыми, кто сделал
эту модификацию).
FreeBSD сейчас ведет себя по-другому: пробегает по списку
загрузчиков,включающему специальный загрузчик #!
,
который вызывает нужный интерпретатор, указанный после этих символов
до следующего пробела, или /bin/sh
, если
не нашел подходящего.
Для поддержки Linux ABI FreeBSD ищет магическое число, соответствующее двоичному файлу ELF (на этой стадии не различаются FreeBSD, SolarisTM, Linux или любая другая ОС поддерживающая формат ELF).
Далее, ELF-загрузчик определяет <<марку>> (brand) двоичного файла ELF (специальный комментарий в ELF-файле, отсутствующий в двоичных файлах ELF SVR4/SolarisTM).
Соответственно, Linux программы должны быть
<<маркированы>> для Linux
(например, с
помощью утилиты brandelf(1)):
#
brandelf -t Linux file
Когда это сделано, загрузчик ELF выявит марку
Linux
в файле.
Когда ELF-загрузчик находит <<марку>>
Linux
, он заменяет соответствующий указатель в
структуре proc
. Все системные вызовы
индексируются через этот указатель (в традиционной UNIX(R) системе это
массив структур sysent[]
, содержащий системные
вызовы). Кроме того, процесс помечается для специальной обработки
вектора обработчиков сигналов, а также ряда других (небольших)
исправлений, которые осуществляются специальным модулем ядра для
поддержки Linux.
Вектор системных вызовов Linux содержит, среди прочего, список
записей sysent[]
, адреса которых находятся в
модуле ядра.
При выполнении системного вызова из двоичного файла Linux,
код обработчика разыменовывает указатель на функцию системного вызова
из структуры proc
, и получает точки входа
системных вызовов Linux, а не FreeBSD.
Плюс ко всему, в Linux-режиме динамически <<изменяется
корень>> файловой системы при поиске файлов; фактически
так же, как и параметр union
при монтировании
файловых систем (не путать с unionfs
!).
Сперва, файл ищется в каталоге
/compat/linux/
и только затем, в случае неудачи, в
исходное_полное_имя
/
.
Это гарантирует, что программы, которым требуются другие программы,
смогут работать (например, весь набор инструментальных средств Linux
сможет работать в среде поддержки Linux ABI). Это также дает
возможность Linux программам выполнять FreeBSD команды, если не
найдется соответствующих Linux команд. Например, можно скопировать
FreeBSD uname(1) в дерево каталогов
исходное_полное_имя
/compat/linux
, и Linux-программы не смогут
разобраться, что они работают не в Linux.
Фактически, имеется ядро Linux в ядре FreeBSD; различные
базовые функции, реализующие все услуги ядра, идентичны как
в записях таблицы системных вызовов FreeBSD, так и в записях
таблицы системных вызовов Linux: операции с файловой системой,
виртуальная память, средства доставки сигналов,
System V IPC ... Единственное отличие в том, что
FreeBSD-программы получают интерфейсные функции
FreeBSD, а Linux-программы получают интерфейсные
функции Linux (в большинстве более старых ОС есть только их
собственные интерфейсные функции: функции берутся из статического
глобального массива структур sysent[]
, а не
из массива, полученного разыменованием динамически
проинициализированного указателя в структуре
proc
процесса, выполняющего вызов).
Какая же реализация ABI для FreeBSD <<родная>>? Это не имеет значения. Единственное различие (на данный момент, в будущем все может и, вероятно, изменится), пожалуй, в том, что функции системных вызовов FreeBSD зашиты в ядро, а для Linux они могут быть либо статически скомпонованы в ядро, либо получаться через модуль ядра.
Да, но можно ли назвать это эмуляцией? Нет. Это реализация ABI, а не эмуляция. Как таковой, эмулятор (или симулятор) отсутствует.
В таком случае, почему же иногда говорят об <<эмуляции Linux>>? Чтобы <<насолить>> FreeBSD! Фактически, причина в том, что на момент первой реализации не существовало слова, которое бы точнее описывало этот процесс. Нельзя было сказать, что FreeBSD запускает приложения Linux (без перекомпиляции или загрузки соответствующего модуля ядра это невозможно). Но надо было как-то описать, что загружается - отсюда и <<эмулятор Linux>>.
Оставшиеся главы Руководства охватывают все аспекты администрирования FreeBSD системы. Каждая глава начинается с описания того, что вы сможете изучить в результате прочтения этой главы.
Эти главы спланированы так, что вы можете прочитать их когда вам нужно узнать какую-либо информацию. Вам не нужно читать их в определенном порядке, и не нужно прочитать их все перед тем, как начать пользоваться FreeBSD.
cron
cron
Один из важных аспектов FreeBSD это настройка системы. Правильная настройка системы поможет избежать головной боли при последующих обновлениях. Эта глава описывает большую часть процесса настройки FreeBSD, включая некоторые параметры, которые можно установить для оптимизации системы FreeBSD.
После прочтения этой главы вы узнаете:
Как эффективно работать с файловыми системами и разделами подкачки.
Основы настройки rc.conf
и системы запуска
приложений /usr/local/etc/rc.d
.
Как настроить и протестировать сетевую карту.
Как настроить виртуальные хосты на сетевых устройствах.
Как использовать различные файлы конфигурации в
/etc
.
Как оптимизировать FreeBSD, используя переменные
sysctl
.
Как увеличить скорость работы дисков и изменить ограничения, накладываемые ядром.
Перед прочтением этой главы вам следует:
Понять основы UNIX(R) и FreeBSD (Глава 4, Основы UNIX).
Ознакомиться с основами конфигурации/компиляции ядра (Глава 9, Настройка ядра FreeBSD).
Во время разметки жёсткого диска с помощью bsdlabel(8)
или sysinstall(8), важно помнить, что скорость чтения и записи
данных уменьшается от внешних к внутренним трекам
диска. Самые маленькие и самые
часто используемые файловые системы (корневая и раздел подкачки)
должны быть расположены в начале
диска, в то время как самые большие, такие, как
/usr
, в конце. Самым оптимальным считается
следующий порядок расположения файловых систем: root, swap,
/var
, /usr
.
Размер файловой системы /var
определяется
предназначением машины. /var
используется для хранения почтовых ящиков, очередей печати и
лог файлов. Размер почтовых ящиков и лог файлов может расти
неограниченно в зависимости от количества пользователей
системы и от того, как долго хранятся лог-файлы. Большинству
пользователей никогда не потребуется гигабайт, но помните, что
/var/tmp
должен быть достаточно большим для
пакетов.
В разделе /usr
содержит большинство
файлов, необходимых для поддержки системы, порты
(ports(7), рекомендуется) и исходные тексты (опционально).
Оба эти каталога опциональны при установке. Для этого
раздела рекомендуется как минимум 2 гигабайта.
При установке размера разделов, не забудьте принять во внимание рост размера требуемого системе дискового пространства. Переполнение одного раздела даже при наличии свободного места на другом может вызвать затруднения.
Многие пользователи обнаружили, что размер разделов,
предлагаемый sysinstall(8)'ом по умолчанию, иногда
меньше подходящего для разделов /var
и
/
. Тщательно планируйте размер разделов и
не жалейте места.
Как правило, размер раздела подкачки должен быть равен удвоенному размеру оперативной памяти. Например, если на машине установлено 128 мегабайт памяти, раздел подкачки должен быть 256 мегабайт. Системы с меньшим количеством памяти могут работать лучше с большим объёмом раздела подкачки. Не рекомендуется устанавливать размер раздела подкачки меньше 256 мегабайт, необходимо также принять во внимание возможное наращивание объема установленной на машине памяти. Алгоритмы кэширования VM настроены на максимальное быстродействие, когда размер раздела подкачки равен как минимум удвоенному размеру памяти. Заниженный размер раздела подкачки может привести к неэффективной работе постраничного сканирования VM и вызвать проблемы при увеличении объёма памяти.
На больших системах с несколькими SCSI дисками (или несколькими IDE дисками, находящимися на разных контроллерах), рекомендуется создавать раздел подкачки на каждом диске (до четырёх дисков). Разделы подкачки должны быть примерно одного размера. Ядро не накладывает ограничений на размер раздела подкачки, но внутренние структуры позволяют иметь общий размер разделов подкачки, равный наибольшему, умноженному на четыре. Выделение под разделы подкачки примерно одинакового места позволить ядру оптимально расположить разделы подкачки. Установка размера подкачки больше требуемого нормальна, даже если этот объем не используется. В этих условиях может быть проще восстановиться после зависания программы перед тем, как возникнет необходимость перезагрузки.
Некоторые пользователи считают, что лучше использовать
один большой раздел, но есть несколько причин, по которым этого
лучше не делать. Во-первых, у
каждого раздела свои характеристики, и отделяя их, можно
выполнить соответствующие настройки. Например, корневая и
файловая система и /usr
в основном
предназначены для чтения, без большого объема записи.
В то же время множество операций чтения и записи
выполняется в /var
и /var/tmp
.
При правильном размещении и выборе размера разделов
системы, фрагментация в более маленьких разделах, куда часто
записываются данные, не перенесётся на остальные разделы.
Размещение самых часто используемых разделов ближе к началу диска
увеличит скорость ввода/вывода там, где она нужна больше всего.
Хотя производительность важна и для больших дисков,
передвижение их ближе к концу диска не повлечёт
значительного уменьшения быстродействия по сравнению с перемещением
ближе к концу диска /var
.
И, наконец, разделы существуют и из соображений
безопасности. Наличие маленького аккуратного корневого раздела,
доступного только для чтения даёт значительные шансы на "выживание"
после краха системы.
Основные настройки системы располагаются в
/etc/rc.conf
. Этот файл вмещает широкий спектр
конфигурационной информации, используемой при загрузке системы.
Имя этого файла прямо отражает его назначение, это файл настройки
для файлов rc*
.
Администратор должен сделать записи в
rc.conf
, чтобы переопределить строки по умолчанию из
/etc/defaults/rc.conf
. Файлы по умолчанию нельзя
копировать в /etc
- они вмещают значения по
умолчанию, а не примеры значений. Все специфичные для данной системы
изменения должны быть сделаны в файле
rc.conf
.
Существует несколько методов для отделения общей конфигурации для
группы систем от конкретной для данной системы в целях уменьшения объема
работы администратора. Рекомендуемый метод
- прописать общую конфигурацию в отдельный файл, например, в
/etc/rc.conf.site
, и включить его название в
/etc/rc.conf
, который вмещает только специфичную
для данной системы информацию.
Поскольку rc.conf
читается
sh(1), есть тривиальный способ сделать это. Например:
rc.conf:
. /etc/rc.conf.site hostname="node15.example.com" network_interfaces="fxp0 lo0" ifconfig_fxp0="inet 10.1.1.1"
rc.conf.site:
defaultrouter="10.1.1.254" saver="daemon" blanktime="100"
Файл rc.conf.site
может быть распространён
на все системы, используя rsync
или подобную ей
программу, в то время, как rc.conf
должен остаться
только на одной машине.
Обновление системы с помощью sysinstall(8)
или make world
не повлекут за собой перезапись
rc.conf
. Вся информация в этом файле
сохранится.
Обычно, установленные приложения имеют свои конфигурационные файлы, со своим собственным синтаксисом. Важно хранить эти файлы отдельно от файлов основной системы, чтобы их можно было легко администрировать с помощью средств управления пакетами.
Обычно эти файлы устанавливаются в
/usr/local/etc
. В случае, если приложению нужно
большое количество конфигурационных файлов, для их хранения будет
создан подкаталог.
Обычно, вместе с установкой портов и пакетов, устанавливаются и
примеры конфигурационных файлов. Обычно они имеют расширение
.default
. Если не существует конфигурационных файлов
для этого приложения, они будут созданы путём копирования
.default
файлов.
Например, /usr/local/etc/apache
:
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default -rw-r--r-- 1 root wheel 12205 May 20 1998 magic -rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default -rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf -rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default
Размеры файлов показывают, что только файл
srm.conf
был изменён. При следующем обновлении
Apache этот файл уже не будет
перезаписан.
Многие пользователи предпочитают устанавливать программы сторонних производителей в FreeBSD из набора портов. В подобных случаях может потребоваться сконфигурировать программы так, чтобы они запускались при инициализации системы. Сервисы, такие как mail/postfix или www/apache13, - это лишь два примера множества программных пакетов, которые можно запускать при инициализации системы. В этом разделе описывается процедура, предназначенная для запуска программ сторонних разработчиков.
Большинство входящих в FreeBSD сервисов, таких как cron(8), запускается с помощью стартовых скриптов системы. Эти скрипты могут различаться в зависимости от версии FreeBSD или ее производителя; однако важнее всего учитывать, что их начальную конфигурацию можно задать с помощью простых стартовых скриптов.
До появления rc.d
приложения должны были помещать
простой стартовый скрипт в
каталог /usr/local/etc/rc.d
,
который затем читался скриптами инициализации системы. Эти скрипты
затем выполнялись в ходе последующих стадий запуска системы.
Хотя много разработчиков потратили часы на попытки внедрить
старый стиль конфигурирования в новую систему, остаётся фактом,
что для некоторых утилит сторонних производителей по-прежнему
необходим скрипт, помещённый в указанный выше каталог. Незначительные
различия в скриптах зависят от того, используется ли rc.d
. До
версии FreeBSD 5.1 использовались скрипты в старом стиле,
и почти во всех случаях скрипты в новом стиле должны подойти так же
хорошо.
Хотя каждый скрипт должен соответствовать некоторым минимальным
требованиям, в большинстве случаев эти требования не зависят от версии
FreeBSD. Каждый скрипт должен иметь в конце расширение
.sh
и каждый скрипт должен быть выполняемым.
Последнее требование может быть выполнено путем установки командой
chmod
уникальных прав доступа
755
. Также, как минимум, должна быть опция
start
для запуска приложения и опция
stop
для его остановки.
Простейший стартовый скрипт, пожалуй, будет похож на следующий:
#!/bin/sh echo -n ' utility' case "$1" in start) /usr/local/bin/utility ;; stop) kill -9 `cat /var/run/utility.pid` ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0
Этот скрипт поддерживает опции stop
и
start
для приложения, которое мы здесь называем
просто - utility
.
А можно запускать его и вручную, с помощью команды:
#
/usr/local/etc/rc.d/utility.sh start
Хотя и не все программы сторонних производителей требуют
добавления строки в файл rc.conf
, практически
каждый день очередной новый порт меняется так, чтобы поддерживать
подобную конфигурацию. Поищите в результатах, выдаваемых после
установки более детальную информацию по конкретному приложению.
Некоторые программы сторонних производителей будут включать стартовые
скрипты, позволяющие использовать приложение с rc.d
; но это мы еще
обсудим в следующем разделе.
Теперь, когда FreeBSD включает rc.d
, конфигурирование запуска
приложений стало более оптимальным; фактически, оно стало более
тщательным. С помощью ключевых слов, рассмотренных в разделе
rc.d, приложения теперь
можно настроить для запуска после других заданных сервисов,
например, DNS; можно разрешить передачу
дополнительных флагов через rc.conf
вместо
жесткого задания флагов в стартовых скриптах, и т.д. Простой
скрипт может иметь следующий вид:
#!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown . /etc/rc.subr name=utility rcvar=utility_pidfile command="/usr/local/sbin/utility" load_rc_config $name # # НЕ МЕНЯЙТЕ ЗДЕСЬ ЭТИ СТАНДАРТНЫЕ ЗНАЧЕНИЯ # ЗАДАВАЙТЕ ИХ В ФАЙЛЕ /etc/rc.conf # utility_enable=${utility_enable-"NO"} pidfile=${utility_pidfile-"/var/run/utility.pid"} run_rc_command "$1"
Этот скрипт будет гарантировать, что указанное приложение
utility будет запущено после сервиса
daemon
. Он также предоставляет метод
для создания и отслеживания файла идентификатора процесса,
PID.
Для этого приложения затем можно поместить следующую
строку в файл /etc/rc.conf
:
utility_enable="YES"
Этот новый метод также позволяет легко работать с аргументами
командной строки, включать стандартные функции из файла
/etc/rc.subr
, обеспечивает совместимость
с утилитой rcorder(8) и упрощает конфигурирование с помощью
файла rc.conf
.
Другие сервисы, такие как даемоны сервера
POP3, IMAP, и т.п. могут
быть запущены с помощью inetd(8). Для этого необходимо
установить сервисную утилиту из набора портов и добавить
соответствующую строчку конфигурации в файл
/etc/inetd.conf
или раскомментировать
подходящую строку конфигурации из уже имеющихся. Работа с даемоном
inetd и его конфигурирование подробно описаны
в разделе inetd.
В некоторых случаях использование для запуска системных
служб даемона cron(8) может оказаться более приемлемым. Этот
подход имеет несколько преимуществ, поскольку даемон
cron
запускает эти процессы от имени
владельца файла crontab
. Это позволяет
обычным пользователям запускать и поддерживать некоторые
приложения.
Утилита cron
поддерживает уникальную
возможность, @reboot
, - это значение
можно использовать вместо спецификации времени. В результате,
задание будет выполнено при запуске cron(8), обычно -
в ходе инициализации системы.
Одна из наиболее полезных утилит FreeBSD это cron(8). Утилита
cron
работает в фоновом режиме и постоянно проверяет
файл /etc/crontab
. Утилита cron
проверяет также каталог /var/cron/tabs
в поиске
новых файлов crontab
. Файлы
crontab
содержат информацию об определенных
функциях, которые cron
выполняет в указанное
время.
Утилита cron
использует два разных типа
конфигурационных файлов, системный и пользовательский.
Все различие между этими двумя форматами заключается в
шестом поле. В системном файле шестое поля это имя пользователя,
с правами которого будет запущена команда. Это позволяет запускать
команды из системного crontab от любого пользователя. В
пользовательском файле шестое поле указывает запускаемую команду, и
все команды запускаются от пользователя, который создал crontab;
это важно для безопасности.
Пользовательские crontab позволяют индивидуальным пользователям
планировать задачи без привилегий суперпользователя
(root
). Команды из
crontab пользователя запускаются с привилегиями этого
пользователя.
Пользователь root
может использовать
собственный crontab, как и любой другой пользователь. Он будет
отличаться от системного crontab /etc/crontab
.
Поскольку существует системный crontab, обычно не требуется
создавать пользовательский crontab для
root
.
Давайте заглянем в файл /etc/crontab
(системный crontab):
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ ## SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log # # #minute hour mday month wday who command
# # */5 * * * * root /usr/libexec/atrun
![]()
Как и в большинстве файлов настройки FreeBSD, символы <<#>> означают комментарии. Комментарии нужны для напоминания о том, что означает строка и зачем она добавлена. Комментарии не могут находиться на той же строке, что и команда, или они будут восприняты как часть команды; располагайте их на новой строке. Пустые строки игнорируются. | |
Сначала должны быть заданы переменные окружения. Знак равно
( | |
В строке всего семь полей. Их значения
| |
Последняя строка определяет параметры, описанные выше. Здесь
задано значение Команды могут принимать любое количество параметров; однако команды, состоящие из нескольких строк, должны быть объединены символом <<\>>. |
Этот формат одинаков для каждого файла crontab
,
за исключением одной детали. Шестое поле, где указано имя пользователя,
присутствует только в файле /etc/crontab
. Это
поле должно быть исключено из crontab
файлов
пользователей.
Вы не должны использовать процедуру, описанную здесь, для
установки системного crontab. Просто используйте свой
любимый текстовый редактор: утилита cron
узнает о том, что файл изменился и сразу начнет использовать
обновленную версию. Обратитесь к этой
части FAQ за дальнейшей информацией.
Для установки готового crontab
пользователя,
сначала создайте в вашем любимом редакторе файл соответствующего
формата, а затем воспользуйтесь утилитой
crontab
. Обычно она запускается
так:
%
crontab crontab-file
В этом примере, crontab-file
это имя файла
crontab, который только что был создан.
Существует также параметр для просмотра установленных файлов
crontab
: задайте crontab
параметр -l
.
Для пользователей, составляющих crontab вручную, без временного
файла, существует параметр crontab -e
.
Она вызовет редактор с пустым файлом. Когда файл будет сохранен,
crontab
автоматически установит его.
Если позднее вы захотите полностью удалить свой
crontab
, используйте
crontab
с параметром -r
.
Во FreeBSD недавно была интегрирована из NetBSD система
rc.d
, используемая для старта системы.
Многие из файлов в каталоге /etc/rc.d
предназначены для основных сервисов, они могут управляться
параметрами start
,
stop
, и
restart
. Например, sshd(8) может быть
перезапущен следующей командой:
#
/etc/rc.d/sshd restart
Эта процедура похожа для других сервисов. Конечно, сервисы
обычно запускаются автоматически при загрузке системы, как указано в rc.conf(5).
Например, включение даемона Network Address Translation
при запуске выполняется простым добавлением следующей строки
в /etc/rc.conf
:
natd_enable="YES"
Если natd_enable="NO"
уже присутствует,
просто измените NO
на YES
.
Скрипты rc автоматически загрузят все другие зависимые
сервисы, как описано ниже.
Поскольку система rc.d
в основном предназначена
для запуска/отключения сервисов во время запуска/отключения
системы, стандартные параметры start
,
stop
и restart
будут работать
только если установлена соответствующая переменная в
/etc/rc.conf
. Например, команда выше
sshd restart
будет работать только если
переменная sshd_enable
в файле
/etc/rc.conf
установлена в YES
.
Для выполнения скриптов независимо от установок в
/etc/rc.conf
, параметры start
,
stop
или restart
необходимо
задавать с префиксом <<force>>. Например, для
перезапуска sshd
независимо от установок в
/etc/rc.conf
, выполните следующую
команду:
#
/etc/rc.d/sshd forcerestart
Проверить состояние переменной в файле
/etc/rc.conf
легко: запустите соответствующий
скрипт из rc.d
с параметром
rcvar
. Проверка переменной для
sshd
выполняется следующей командой:
#
/etc/rc.d/sshd rcvar
# sshd $sshd_enable=YES
Вторая строка (# sshd
) это вывод
команды sshd
, а не консоль
root
.
Чтобы определить, запущен ли сервис, существует параметр
status
. Например для проверки того, запущен ли
sshd
, выполните:
#
/etc/rc.d/sshd status
sshd is running as pid 433.
В некоторых случаях возможна также перегрузка (reload
) сервиса.
Скрипт, запущенный с этим параметром, попытается отправить сервису
сигнал, вызывающий перезагрузку файлов настройки. В большинстве
случаев это означает отправку сервису сигнала
SIGHUP
. Следует помнить, что эту функцию
поддерживают не все сервисы.
Система rc.d
используется не только для
сетевых серверов, она отвечает также за большую часть инициализации
системы.
Рассмотрим, к примеру, файл bgfsck
. Во время
выполнения этот скрипт выводит следующее сообщение:
Starting background file system checks in 60 seconds.
Следовательно, этот файл используется для фоновой проверки файловых систем, которая выполняется только в процессе инициализации системы.
Функционирование многих сервисов системы зависит от корректной
работы других сервисов. Например, NIS и другие основанные на
RPC сервисы могут не запуститься, пока не загрузится
rpcbind
(portmapper). Для разрешения этой
проблемы, в начале каждого скрипта в комментарии включаются
информация о зависимостях и другие метаданные. Программа
rcorder(8) используется для разбора этих комментариев во время старта
системы для определения порядка, в котором должны вызываться
системные сервисы в соответствии с зависимостями. В начало
каждого стартового файла должны быть включены следующие
строки:
PROVIDE
: Задает имя сервиса, предоставляемого этим файлом.
REQUIRE
: Список сервисов, необходимых этому сервису. Этот
файл будет запущен после указанных
сервисов.
BEFORE
: Список сервисов, зависящих от этого сервиса. Этот
файл будет запущен до указанных
сервисов.
Используя этот метод, администратор может легко контролировать системные сервисы без использования <<уровней запуска>>, как в некоторых других операционных системах UNIX(R).
Дополнительную информацию о системе rc.d
можно найти на страницах справочника rc(8) и
rc.subr(8).
В наши дни мы не представляем себе компьютера без сетевого подключения. Добавление и настройка сетевой карты это обычная задача любого администратора FreeBSD.
В первую очередь определите тип используемой карты (PCI или ISA), модель карты и используемый в ней чип. FreeBSD поддерживает многие PCI и ISA карты. Обратитесь к Списку поддерживаемого оборудования вашего релиза чтобы узнать, поддерживается ли карта.
Как только вы убедились, что карта поддерживается, потребуется
определить подходящий драйвер. В файлах
/usr/src/sys/conf/NOTES
и
/usr/src/sys/
находится список
драйверов сетевых интерфейсов с информацией о поддерживаемых
чипсетах/картах. Если вы сомневаетесь в том, какой драйвер
подойдет, прочтите страницу справочника к драйверу.
Страница справочника содержит больше информации о поддерживаемом
оборудовании и даже о проблемах, которые могут возникнуть.arch
/conf/NOTES
Если ваша карта широко распространена, вам скорее всего
не потребуется долго искать драйвер. Драйверы для
широко распространенных карт представлены в ядре
GENERIC
, так что ваша карта должна определиться
при загрузке, примерно так:
dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 dc0: Ethernet address: 00:a0:cc:da:da:da miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 000ff irq 11 at device 12.0 on pci0 dc1: Ethernet address: 00:a0:cc:da:da:db miibus1: <MII bus> on dc1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
В этом примере две карты используют имеющийся в системе драйвер dc(4).
Если драйвер вашей сетевой карты отсутствует в
GENERIC
, для ее использования потребуется
загрузить подходящий драйвер. Это может быть сделано одним
из двух способов:
Простейший способ - просто загрузить модуль ядра сетевой карты с помощью kldload(8). Не все драйверы доступны в виде модулей; например, модули отсутствуют для ISA карт.
Вместо этого, вы можете статически включить поддержку карты,
скомпилировав собственное ядро. Информацию о том, какие
параметры нужно включать в ядро, можно получить из
/usr/src/sys/conf/NOTES
,
/usr/src/sys/
и страницы справочника драйвера сетевой карты.
За более подробной информацией о сборке собственного ядра
обращайтесь к Глава 9, Настройка ядра FreeBSD. Если карта
была обнаружена вашим ядром (arch
/conf/NOTESGENERIC
)
во время загрузки, собирать ядро не потребуется.
Как только для сетевой карты загружен подходящий драйвер, ее потребуется настроить. Как и многое другое, сетевая карта может быть настроена во время установки с помощью sysinstall.
Для вывода информации о настройке сетевых интерфейсов системы, введите следующую команду:
%
ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:a0:cc:da:da:da media: Ethernet autoselect (100baseTX <full-duplex>) status: active dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:a0:cc:da:da:db media: Ethernet 10baseT/UTP status: no carrier lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
Старые версии FreeBSD могут потребовать запуска
ifconfig(8) с параметром -a
, за
более подробным описанием синтаксиса ifconfig(8)
обращайтесь к странице справочника. Учтите также, что
строки, относящиеся к IPv6 (inet6
и т.п.)
убраны из этого примера.
В этом примере были показаны следующие устройства:
dc0
: первый Ethernet
интерфейс
dc1
: второй Ethernet
интерфейс
lp0
: интерфейс параллельного
порта
lo0
: устройство loopback
tun0
: туннельное устройство,
используемое ppp
Для присвоения имени сетевой карте FreeBSD использует имя
драйвера и порядковый номер, в котором карта обнаруживается
при инициализации устройств. Например, sis2
это третья сетевая карта, использующая драйвер sis(4).
В этом примере, устройство dc0
включено
и работает. Ключевые признаки таковы:
UP
означает, что карта настроена и
готова.
У карты есть интернет (inet
)
адрес (в данном случае
192.168.1.3
).
Установлена маска подсети (netmask
;
0xffffff00
, то же, что и
255.255.255.0
).
Широковещательный адрес (в данном случае,
192.168.1.255
).
Значение MAC адреса карты (ether
)
00:a0:cc:da:da:da
Выбор физической среды передачи данных в режиме автовыбора
(media: Ethernet autoselect (100baseTX
<full-duplex>)
). Мы видим, что
dc1
была настроена для работы с
10baseT/UTP
. За более подробной
информацией о доступных драйверу типах среды обращайтесь
к странице справочника.
Статус соединения (status
)
active
, т.е. несущая обнаружена.
Для dc1
, мы видим
status: no carrier
. Это нормально, когда
Ethernet кабель не подключен к карте.
Если ifconfig(8) показывает примерно следующее:
dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 ether 00:a0:cc:da:da:da
это означает, что карта не была настроена.
Для настройки карты вам потребуются привилегии пользователя
root
. Настройка сетевой карты может быть
выполнена из командной строки с помощью ifconfig(8), но
вам потребуется делать это после каждой перезагрузки системы.
Подходящее место для настройки сетевых карт это файл
/etc/rc.conf
.
Откройте /etc/rc.conf
в текстовом
редакторе. Вам потребуется добавить строку для каждой сетевой
карты, имеющейся в системе, например, в нашем случае, было
добавлено две строки:
ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Замените dc0
,
dc1
, и так далее на соответствующие
имена ваших карт, подставьте соответствующие адреса.
Обратитесь к страницам справочника сетевой карты и
ifconfig(8), за подробной информацией о доступных
опциях и к странице справочника rc.conf(5) за дополнительной
информацией о синтаксисе /etc/rc.conf
.
Если вы настроили сетевую карту в процессе установки системы,
некоторые строки, касающиеся сетевой карты, могут уже присутствовать.
Внимательно проверьте /etc/rc.conf
перед
добавлением каких-либо строк.
Отредактируйте также файл /etc/hosts
для добавления имен и IP адресов различных компьютеров сети,
если их еще там нет. За дополнительной информацией обращайтесь
к man.hosts.5;
и к /usr/share/examples/etc/hosts
.
Как только вы внесете необходимые изменения в
/etc/rc.conf
, перегрузите компьютер.
Изменения настроек интерфейсов будут применены, кроме того
будет проверена правильность настроек.
Как только система перезагрузится, проверьте сетевые интерфейсы.
Для проверки правильности настройки сетевой карты, попробуйте выполнить ping для самого интерфейса, а затем для другой машины в локальной сети.
Сначала проверьте локальный интерфейс:
%
ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes 64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms --- 192.168.1.3 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Затем проверьте другую машину в локальной сети:
%
ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
Вы можете также использовать имя машины вместо
192.168.1.2
, если настроен файл
/etc/hosts
.
Решение проблем с аппаратным и программным обеспечением всегда вызывает сложности, которые можно уменьшить, проверив сначала самые простые варианты. Подключен ли сетевой кабель? Правильно ли настроены сетевые сервисы? Правильно ли настроен брандмауэр? Поддерживается ли используемая карта в FreeBSD? Всегда проверяйте информацию об оборудовании перед отправкой сообщения об ошибке. Обновите FreeBSD до последней версии STABLE. Просмотрите архивы списков рассылки, или поищите информацию в интернет.
Если карта работает, но производительность низка, может помочь чтение страницы справочника tuning(7). Проверьте также настройки сети, поскольку неправильные настройки могут стать причиной низкой скорости соединения.
Некоторые пользователи встречаются с несколькими device timeouts, что нормально для некоторых сетевых карт. Если это продолжается и надоедает, убедитесь, что устройство не конфликтует с другим устройством. Внимательно проверьте подключение кабеля. Возможно также, что вам просто надо установить другую карту.
Время от времени, пользователи видят несколько ошибок watchdog timeout. Первое, что требуется сделать, это проверить сетевой кабель. Многие карты требуют поддержки Bus Mastering слотом PCI. На некоторых старых материнских платах, только один PCI слот имеет такую поддержку (обычно слот 0). Сверьтесь с документацией на сетевую карту и материнскую плату, чтобы определить, может ли это быть проблемой.
Сообщение No route to host появляются, если
система не в состоянии доставить пакеты к хосту назначения.
Это может случиться, если не определен маршрут по умолчанию,
или кабель не подключен. Проверьте вывод команды netstat
-rn
и убедитесь, что к соответствующему хосту
есть работающий маршрут. Если это не так, прочтите Глава 27, Сложные вопросы работы в сети.
Сообщения ping: sendto: Permission denied
зачастую появляются при неправильно настроенном брандмауэре.
Если ipfw
включен в ядре, но правила не
определены, правило по умолчанию блокирует весь трафик,
даже запросы ping! Прочтите Глава 26, Межсетевые экраны с более подробной информацией.
Иногда скорость карты недостаточна, или ниже среднего. В этих случаях
лучше всего изменить режим выбора типа подключения с
autoselect
на правильный тип.
Обычно это работает для большинства оборудования, но не может
решить проблему во всех случаях. Проверьте еще раз настройки сети
и прочтите страницу справочника tuning(7).
Очень часто FreeBSD используется для размещения сайтов, когда один сервер работает в сети как несколько серверов. Это достигается присвоением нескольких сетевых адресов одному интерфейсу.
У сетевого интерфейса всегда есть один <<настоящий>>
адрес, хотя он может иметь любое количество <<синонимов>>
(alias). Эти синонимы обычно добавляются путём помещения
соответствующих записей в /etc/rc.conf
.
Синоним для интерфейса fxp0
выглядит
следующим образом:
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
Заметьте, что записи синонимов должны начинаться с
alias0
и идти далее в определенном порядке
(например, _alias1
, _alias2
,
и т.д.). Конфигурационный процесс остановится на первом по порядку
отсутствующем числе.
Определение маски подсети для синонима очень важно, но к счастью,
так же просто. Для каждого интерфейса должен быть один адрес с
истинной маской подсети. Любой другой адрес в сети должен иметь
маску подсети, состоящую из всех единичек (что выражается как
255.255.255.255
или как
0xffffffff
).
Например, рассмотрим случай, когда интерфейс
fxp0
подключён к двум сетям, к сети
10.1.1.0
с маской подсети
255.255.255.0
и к сети
202.0.75.16
с маской
255.255.255.240
. Мы хотим,
чтобы система была видна по IP, начиная с
10.1.1.1
по
10.1.1.5
и с
202.0.75.17
по
202.0.75.20
. Как было сказано выше,
только первый адрес в заданном диапазоне (в данном случае,
10.0.1.1
и
202.0.75.17
) должен иметь реальную
маску сети; все остальные (с 10.1.1.2
по 10.1.1.5
и с
202.0.75.18
по
202.0.75.20
) должны быть
сконфигурированы с маской сети
255.255.255.255
.
Для этого в файл /etc/rc.conf
должны быть внесены следующие записи:
ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"
Во FreeBSD определён ряд каталогов, предназначенных для хранения конфигурационных файлов. Это:
/etc | Основные файлы конфигурации системы. Тут размещены системно-зависимые данные. |
/etc/defaults | Версии системных конфигурационных файлов по умолчанию. |
/etc/mail | Дополнительные конфигурационные файлы sendmail(8), другие конфигурационные файлы MTA. |
/etc/ppp | Настройка для user- и kernel-ppp программ. |
/etc/namedb | Основное место расположения данных named(8).
Обычно named.conf и файлы зон
расположены здесь. |
/usr/local/etc | Конфигурационные файлы установленных приложений. Могут содержать подкаталоги приложений. |
/usr/local/etc/rc.d | Скрипты запуска/остановки установленных приложений. |
/var/db | Автоматически генерируемые системно-специфичные файлы баз данных, такие как база данных пакетов, и так далее |
/etc/resolv.conf
определяет, как
резолвер (resolver) FreeBSD получает доступ к Системе Доменных
Имён (DNS).
Основные записи resolv.conf
:
nameserver | IP адрес сервера имён. Сервера опрашиваются в порядке описания. Максимальное количество адресов - три. |
search | Список доменов для поиска с помощью hostname lookup. Обычно определяется доменом, в котором находится компьютер. |
domain | Домен, в котором находится компьютер. |
Типичный вид resolv.conf
:
search example.com nameserver 147.11.1.11 nameserver 147.11.100.30
Опции search
и
domain
нельзя использовать
совместно.
Если вы используете DHCP, dhclient(8) обычно перезаписывает
resolv.conf
информацией, полученной от серверов
DHCP.
/etc/hosts
- простая текстовая база
данных, напоминающая старый Интернет. Она работает совместно с
DNS и NIS, сопоставляя доменные имена IP адресу.
Отдельные компьютеры, соединённые с помощью локальной сети, могут
быть записаны тут вместо named(8) сервера с целью упрощения.
Кроме того, /etc/hosts
используется для
записи IP адресов и соответствующих им доменов, избавляя от
внешнего трафика, используемого для запросов к DNS серверам.
# $FreeBSD$ # # Host Database # This file should contain the addresses and aliases # for local hosts that share this file. # In the presence of the domain name service or NIS, this file may # not be consulted at all; see /etc/nsswitch.conf for the resolution order. # # ::1 localhost localhost.my.domain myname.my.domain 127.0.0.1 localhost localhost.my.domain myname.my.domain # # Imaginary network. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend # # According to RFC 1918, you can use the following IP networks for # private nets which will never be connected to the Internet: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # In case you want to be able to connect to the Internet, you need # real official assigned numbers. PLEASE PLEASE PLEASE do not try # to invent your own network numbers but instead get one from your # network provider (if any) or from the Internet Registry (ftp to # rs.internic.net, directory `/templates'). #
Формат /etc/hosts
:
[IP адрес в Интернете] [имя компьютера] [alias1] [alias2] ...
Например:
10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
За дополнительной информацией обращайтесь к hosts(5).
syslog.conf
is является файлом конфигурации
для syslogd(8). В нём указываются, типы сообщений
генерируемые syslog
, и лог файлы, в которые они
записываются.
# $FreeBSD$ # # Spaces ARE valid field separators in this file. However, # other *nix-like systems still insist on using tabs as field # separators. If you are sharing this file between systems, you # may want to use only tabs as field separators here. # Consult the syslog.conf(5) manual page. *.err;kern.debug;auth.notice;mail.crit /dev/console *.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages security.* /var/log/security mail.info /var/log/maillog lpr.info /var/log/lpd-errs cron.* /var/log/cron *.err root *.notice;news.err root *.alert root *.emerg * # uncomment this to log all writes to /dev/console to /var/log/console.log #console.info /var/log/console.log # uncomment this to enable logging of all log messages to /var/log/all.log #*.* /var/log/all.log # uncomment this to enable logging to a remote log host named loghost #*.* @loghost # uncomment these if you're running inn # news.crit /var/log/news/news.crit # news.err /var/log/news/news.err # news.notice /var/log/news/news.notice !startslip *.* /var/log/slip.log !ppp *.* /var/log/ppp.log
За более полной информацией обратитесь к syslog.conf(5).
newsyslog.conf
- конфигурационный файл
newsyslog(8), программы, обычно контролируемой cron(8).
newsyslog(8) определяет, когда лог-файлы нуждаются в
архивировании и перегруппировке.
logfile
перемещается в
logfile.0
, logfile.0
перемещается в logfile.1
, и так далее.
Другое именование получится при архивировании с помощью
gzip(1): logfile.0.gz
,
logfile.1.gz
, и т.д.
newsyslog.conf
показывает, какие лог файлы
должны быть проинспектированы, сколько их должно быть сохранено, и когда
они должны быть пересмотрены. Лог файлы могут быть перегруппированы
и/или заархивированы, когда они либо достигнут определённого
размера, либо при достижении определённых даты/времени.
# configuration file for newsyslog # $FreeBSD$ # # filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num] /var/log/cron 600 3 100 * Z /var/log/amd.log 644 7 100 * Z /var/log/kerberos.log 644 7 100 * Z /var/log/lpd-errs 644 7 100 * Z /var/log/maillog 644 7 * @T00 Z /var/log/sendmail.st 644 10 * 168 B /var/log/messages 644 5 100 * Z /var/log/all.log 600 7 * @T00 Z /var/log/slip.log 600 3 100 * Z /var/log/ppp.log 600 3 100 * Z /var/log/security 600 10 100 * Z /var/log/wtmp 644 3 * @01T05 B /var/log/daily.log 640 7 * @T00 Z /var/log/weekly.log 640 5 1 $W6D0 Z /var/log/monthly.log 640 12 * $M1D0 Z /var/log/console.log 640 5 100 * Z
За дополнительной информацией обращайтесь к newsyslog(8).
sysctl.conf
очень похож на
rc.conf
. Значения устанавливаются в виде
variable=value
. Указанные значения устанавливаются
после перевода системы в многопользовательский режим. Однако не все
переменные могут быть установлены в этом режиме.
Пример sysctl.conf
, настроенного для выключения
протоколирования фатальных ошибок программ и разрешения
Linux-программам определять, что они запускаются под FreeBSD:
kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) compat.linux.osname=FreeBSD compat.linux.osrelease=4.3-STABLE
sysctl(8) - это интерфейс, позволяющий вам вносить изменения в работающую систему FreeBSD. Эти изменения касаются многих опций стека TCP/IP и виртуальной памяти; опытный системный администратор может использовать их для существенного увеличения производительности. Более пяти тысяч системных переменных могут быть прочитаны и записаны с помощью sysctl(8).
По своей сути, sysctl(8) выполняет две функции: чтение и изменение настроек системы.
Для просмотра всех доступных для чтения переменных:
%
sysctl -a
Чтобы прочитать определённую переменную, например,
kern.maxproc
, введите:
%
sysctl kern.maxproc
kern.maxproc: 1044
Для присвоения значения переменной, используйте выражение вида
переменная
=значение
:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
Изменяемые с помощью sysctl переменные обычно принимают значения
либо строкового, либо целого, либо булевого типа. Переменные булевого
типа могут принимать два значения (1
(истина) и
0
(ложь)).
Если вы хотите устанавливать некоторые переменные автоматически
при каждой загрузке компьютера, добавьте их в файл
/etc/sysctl.conf
. За дополнительной
информацией обращайтесь к странице справочника sysctl.conf(5)
и к Раздел 12.10.4, <<sysctl.conf
>>.
В некоторых случаях желательно изменить переменные sysctl(8) только для чтения. Иногда другого способа решить проблему нет; при этом, результат может быть достигнут только на этапе начальной загрузки.
Например, на некоторых моделях лэптопов диапазон памяти устройства cardbus(4) не определяется и выдается приблизительно такая ошибка:
cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
Ситуации, похожие на эту, требуют изменения некоторых значений
sysctl(8), модификация которых запрещена. Для разрешения этой
ситуации пользователь может поместить sysctl(8) <<OID>>
в файл /boot/loader.conf
. Значения по
умолчанию хранятся в файле
/boot/defaults/loader.conf
.
Решение проблемы, приведенной выше, потребует помещения строки
hw.pci.allow_unsupported_io_range=1
в вышеупомянутый
файл. Теперь cardbus(4) будет работать нормально.
Значением переменной vfs.vmiodirenable
может быть установлено в 0 (выключено) или 1 (включено); по
умолчанию 1. Эта переменная отвечает за метод кэширования
каталогов. Размер большинства каталогов невелик. Они могут
поместиться в одном фрагменте (обычно 1K), и могут занимать
ещё меньше места (обычно 512 байт) в кэше буфера.
При отключении этой переменной (при установке значения 0)
буфер прокэширует только заданное число
каталогов даже если у вас много памяти. При включении (при
установке значения 1) эта переменная
sysctl позволит использовать страничное кэширование VM,
делая доступным для кэширования каталогов
весь объём памяти. Однако,
минимальный объём памяти, используемой для
кэширования каталогов стал равен объёму страницы (обычно 4 K)
вместо 512 байт. Мы рекомендуем оставлять эту опцию включенной,
если ваш компьютер исполняет программы, манипулирующие значительным
количеством файлов. Примером таких программ могут быть кэширующие
прокси-серверы, большие почтовые серверы и серверы новостей. Обычно
включение этой опции не понижает производительности, однако лучше
поэкспериментировать, чтобы узнать оптимальное значение для вашей
машины.
Переменная sysctl vfs.write_behind
по
умолчанию установлена в 1
(включено). Она
указывает системе выполнять запись на носитель по кластерам,
что обычно делается для больших файлов. Идея в том, чтобы
избежать заполнения кэша неполными буферами, когда это не
увеличивает производительность. Однако, это может заблокировать
процессы и в некоторых случаях вам может понадобиться отключить
этот параметр.
Переменная sysctl vfs.hirunningspace
определяет число запросов записи на диск, которые могут
быть поставлены в очередь. Значение по умолчанию обычно подходит,
но на компьютерах с большим количеством дисков вы можете
увеличить его до четырех или пяти мегабайт.
Учтите, что установка слишком большого значения (превышающего
размер буфера записи) может привести к очень значительному
падению общей производительности. Не делайте это значение
произвольно большим! Большие значения могут привести к
задержкам чтения, выполняемого в то же время
Есть много других переменных sysctl, относящихся к кэшированию в буфер и страничному кэшированию VM. Мы не рекомендуем изменять эти значения, поскольку система VM делает отличную работу по автоматической самонастройке.
Переменная sysctl vm.swap_idle_enabled
полезна в больших многопользовательских системах, где есть
много пользователей, входящих и выходящих из системы, и
множество ожидающих процессов. Такие системы обычно генерируют
большое количество запросов на выделение памяти. Включение этой
переменной и настройка задержки выгрузки (swapout hysteresis,
в секундах) установкой переменных
vm.swap_idle_threshold1
и
vm.swap_idle_threshold2
позволит освобождать
страницы памяти, занятые ожидающими процессами, более быстро,
чем при нормальном алгоритме выгрузки. Это помогает даемону
выгрузки страниц. Не включайте этот параметр, пока он на самом
деле вам не понадобится, поскольку его действие в сущности
заключается в более ранней выгрузке страниц из памяти; это
повышает нагрузку на подкачку и диск. В малых системах
эффект от включения этого параметра предсказуем, но в больших
системах нагруженной на подкачкой этот параметр позволяет
системе VM проще загружать и выгружать процессы из памяти.
Во FreeBSD 4.3 кэширование записи на IDE диски было отключено.
Это понижало производительность IDE дисков в тестах, но было
необходимо для лучшей сохранности данных. Проблема состоит в том,
что IDE диски неправильно указывают время завершения записи на диск.
При включенном кэшировании IDE диски могут не только записать данные
в неправильном порядке - при большой нагрузке на диск некоторые
блоки могут задержаться до бесконечности. Сбой, или отключение
питания могут могут стать причиной серьёзных повреждений в файловой
системе. Поэтому для безопасности системы значение по умолчанию
этого параметра было изменено. К сожалению, результатом этого стало
столь значительная потеря производительности, что после выхода
релиза значение этого параметра было возвращено в первоначальное
состояние. Вам следует проверить значение переменной sysctl
hw.ata.wc
на вашей машине. Если кэширование
выключено - вы можете включить его, установив значение переменной
ядра, равное 1. Это должно быть сделано при помощи загрузчика при
загрузке. Если вы сделаете это позже - изменения не будут иметь
силы.
За более подробной информацией обращайтесь к ata(4).
Параметр настройки ядра SCSI_DELAY
может
использоваться для уменьшения времени загрузки системы.
Значение по умолчанию велико и может составлять более
15
секунд в процессе загрузки. Уменьшение
его до 5
секунд обычно работает (особенно
с современными дисками). В новых версиях FreeBSD (5.0 и выше) должен
использоваться параметр kern.cam.scsi_delay
,
настраиваемый во время загрузки. Этот параметр и параметр
настройки ядра принимают значения в
миллисекундах, а не в
секундах.
Программа tunefs(8) используется для настройки файловой системы. Эта программа может принимать большое количество параметров, но мы рассмотрим лишь один из них - включение и выключение Soft Updates, что может быть достигнуто следующим образом:
#
tunefs -n enable /filesystem
#
tunefs -n disable /filesystem
Нельзя изменять файловую систему с помощью tunefs(8) когда она смонтирована. Самое подходящее время для включения "Soft Updates" - перед монтированием разделов, в однопользовательском режиме.
Soft Updates существенно увеличивают скорость создания и удаления
файлов путём использования кэширования. Мы рекомендуем использовать Soft
Updates на всех ваших файловых системах. Однако у Soft Updates есть
и обратные стороны: во-первых, Soft Updates гарантирует целостность
файловой системы в случае сбоя, но может наблюдаться задержка в
несколько секунд (или даже минуту!) перед записью на жесткий диск.
Если система зависнет - вы можете потерять
больше, чем, если бы вы не включили Soft Updates. Во-вторых,
Soft Updates задерживает освобождение блоков файловой системы.
Если ваша файловая система заполнена, выполнение значительного
обновления, например,
make installworld
, может вызвать
переполнение.
Есть два традиционных способа записи метаданных файловых систем на диск (пример метаданных: индексные дескрипторы и каталоги).
Исторически, поведение по умолчанию заключается в синхронном
обновлении метаданных. Если каталог был изменен, система
ждет, пока изменение не будет физически записано на диск.
Содержимое файлов проходит через кэш и записывается на
диск асинхронно. Преимущество этого способа в его
надежности. При сбое во время обновления метаданные
остаются в нормальном состоянии. Файл либо создается целиком,
либо вообще не создается. Если блоки данных не были записаны
в файл из буфера во время сбоя, fsck(8) сможет определить
это и восстановить файловую систему, установив длину файла в 0.
Кроме того, реализация этого способа проста и понятна.
Недостаток в том, что обновление метаданных занимает много
времени. Команда rm -r
, например,
последовательно удаляет все файлы в каталоге, и каждое изменение
в каталоге (удаление файла) будет синхронно записано на диск.
Сюда включаются обновления самого каталога, таблицы индексных
дескрипторов, и возможно блоков, занятых файлом. Те же
соглашения работают при распаковке больших иерархий
(tar -x
).
Другой вариант это асинхронное обновление метаданных. Это
поведение по умолчанию для Linux/ext2fs и *BSD ufs с параметром
mount -o async
. Все обновления метаданных
просто пропускаются через кэш буфера, как и содержимое файлов.
Преимущество этой реализации в том, что нет необходимости ждать
каждый раз, пока метаданные будут записаны на диск, поэтому
все операции с большим объемом обновления метаданных будут
происходить гораздо быстрее, чем при синхронном обновлении.
Кроме того, реализация все еще проста и понятна, поэтому
риск появления ошибок в коде невелик. Недостаток в том,
что нет никаких гарантий исправности файловой системы. Если
во время обновления большого объема метаданных произойдет
сбой (например, отключение питания, или нажатие кнопки reset),
файловая система останется в непредсказуемом состоянии.
Нет возможности определить состояние файловой системы после
такого сбоя; блоки данных файла могут быть уже записаны на диск,
а обновления таблицы индексных дескрипторов нет. Невозможно
реализовать fsck
, которая могла бы
исправить получившийся хаос (поскольку необходимой информации
нет на диске). Если файловая система была уничтожена во
время восстановления, единственный способ восстановления
- запустить newfs(8) и воспользоваться
резервной копией.
Обычное решение этой проблемы состояло в реализации протоколировании проблемной области (dirty region logging), известном как журналирование, хотя этот термин использовался неправильно и порой также применялся к другим формам протоколирования транзакций. Обновление метаданных как и прежде происходит синхронно, но в отдельную область диска. Позже они перемещаются туда, где должны быть. Поскольку область протоколирования это небольшая, последовательная область диска, головкам жесткого диска не приходится перемещаться на большие расстояния даже во время значительных обновлений, поэтому такой способ быстрее, чем синхронные обновления. Кроме того, сложность реализации довольно ограничена, поэтому риск внесения ошибок невелик. Недостаток в том, что все обновления метаданных записываются дважды (один раз в область протоколирования и один раз окончательно), поэтому при обычной работе производительность может понизиться. С другой стороны, в случае сбоя все незаконченные действия с метаданными могут быть быстро отменены, или завершены после загрузки системы, поэтому система после сбоя загружается быстрее.
Kirk McKusick, разработчик Berkeley FFS, решил эту проблему
с помощью Soft Updates: все незавершенные обновления метаданных
находятся в памяти и записываются на диск в упорядоченном
виде (<<упорядоченное обновления метаданных>>).
При значительных обновлениях метаданных более поздние обновления
<<присоединяются>> к предыдущим, если они все еще
находятся в памяти и еще не записаны на диск. Поэтому все
операции, скажем, над каталогом, обычно выполняются в памяти
перед записью обновления на диск (блоки данных сортируются
в соответствии с их положением, так что они не будут записаны
на диск до метаданных. При крахе операционной системы выполняется
<<откат>>: считается, что все операции, не записанные на
диск, никогда не происходили. Файловая система находится в
том состоянии, в котором она была за 30-60 секунд до сбоя.
Используемый алгоритм гарантирует, что все используемые ресурсы
маркированы соответствующим образом в своих областях: блоки и
индексные дескрипторы. После сбоя могут остаться только ошибки
выделения ресурсов, они помечаются как <<используемые>>,
хотя на самом деле <<свободны>>. fsck(8)
разбирается в ситуации и освобождает более не используемые
ресурсы. После сбоя система может быть безопасно смонтирована
с опцией mount -f
. Для освобождения ресурсов,
которые могут не использоваться, в дальнейшем потребуется
запустить fsck(8). Эта идея лежит в основе
background (фоновая) fsck: во время запуска системы
записывается только снимок файловой системы.
Все системы могут быть смонтированы в <<грязном>>
состоянии, и система загружается в многопользовательский режим.
Затем, фоновые fsck
ставятся в очередь для
всех систем, где это требуется, чтобы освободить неиспользуемые
ресурсы. (Файловые системы, где не используются Soft Updates,
все еще требуют запуска fsck
в обычном
режиме).
Преимущество этого способа в том, что обновления метаданных
происходят почти так же быстро, как при асинхронных обновлениях
(т.е. быстрее, чем при журналировании,
когда метаданные записываются дважды). Недостаток в сложности
кода (подразумевающим больший риск появления ошибок в области,
где вероятность потери данных пользователя особенно высока) и
в более высоких требованиях к объему памяти. К тому же могут
возникнуть некоторые странные на первый взгляд ситуации.
После сбоя состояние файловой системы несколько более
<<старое>>. В ситуации, когда стандартный способ
синхронизации оставит несколько файлов нулевой длины после
выполнения fsck
, в файловой системе с
Soft Updates их не останется вовсе, поскольку ни метаданные,
ни содержимое файлов не были записаны на диск. Дисковое
пространство не будет освобождено пока обновления не будут
записаны на диск, что может занять некоторое время после
выполнения rm
. Это может повлечь проблемы
при установке большого количества файлов на файловую
систему, где не хватает места для помещения всех файлов
дважды.
Значение kern.maxfiles
может быть увеличено
или уменьшено в зависимости от потребностей вашей системы. Эта
переменная определяет максимальное число дескрипторов файлов. Когда
таблица дескрипторов файлов полна, в очереди системных сообщений
появится сообщение file: table is full. Это
сообщение может быть прочитано с помощью команды
dmesg
.
Каждый открытый файл, сокет или буфер использует дескриптор файла. Широкомасштабному серверу может понадобиться много тысяч дескрипторов файлов, в зависимости от количества программ, одновременно выполняемых на сервере.
Стандартное значение kern.maxfile
определяется
переменной maxusers
в вашем файле конфигурации
ядра. Значение kern.maxfiles
увеличивается
пропорционально значению maxusers
. При
компилировании ядра, нужно установить эту переменную согласно
потребностям вашей системы. Исходя из значения этой переменной,
ядро устанавливает значения большинства предопределённых
переменных. Даже если предполагается, что к компьютеру не будут
одновременно подсоединяться 256 пользователей, требуемые ресурсы
могут быть такими же, как у крупномасштабного сервера.
Система автоматически настроит
maxusers
, если вы явно установите его в
0
[5].
Если вы желаете выставить
значение самостоятельно, то задайте maxusers
по
меньшей мере равным 4, особенно если вы используйте X Window System или
компилируйте программное обеспечение. Причина в том, что самая
значимая таблица, устанавливаемая maxusers
-
это максимальное количество процессов, которая устанавливается
равным 20 + 16 * maxusers
, и поэтому, если
вы установите maxusers
в 1, то вы сможете
иметь только 36 одновременных процессов, включая 18 или около того,
что система запустит во время загрузки и 15 или около того, что
вы создадите при запуске X Window System. Даже простая задача, как
чтение страницы справочника породит 9 процессов для фильтрации,
декомпрессии и её просмотра. Установка maxusers
в 64 позволит иметь вам до 1044 одновременных процессов, чего
должно быть достаточно примерно для всех использований. Если,
тем не менее, вы увидите пугающую ошибку proc table
full при попытке запуска другой программы, или
вы используйте сервер с большим количеством одновременных пользователей
(как ftp.FreeBSD.org
), то вы всегда
можете увеличить значение и пересобрать систему.
maxusers
не
ограничивает количество пользователей, которые могут заходить на
вашу машину. Оно просто устанавливает различные размеры таблиц
в разумные значения, учитывая максимальное количество пользователей,
вы вероятно будете иметь на вашей системе и как много процессов
каждый из них сможет запускать. Ключевое слово, которое ограничивает
количество одновременных удаленных входов и терминальных X окон -
это pseudo-device pty
16
. С FreeBSD 5.X вам не надо беспокоиться
об этом значении, так как pty(4) драйвер является
<<автоматически клонирующим>>; вы просто используйте
device pty
в вашем конфигурационном файле.
Переменная sysctl kern.ipc.somaxconn
ограничивает размер очереди для приема новых TCP соединений.
Значение по умолчанию 128
слишком мало для
надежной обработки новых соединений для нагруженного web
сервера. Для такого сервера рекомендуется увеличить это значение
до 1024
или выше. Даемон сервиса может
сам ограничивать очередь приема новых соединений (например,
sendmail(8), или Apache), но
обычно в файле настройки даемона есть директива для настройки
длины очереди. Более длинная очередь также помогает избежать
атак Denial of Service (DoS).
Опция ядра NMBCLUSTERS
обуславливает
количество Mbuf, доступных на машине. На сервере с большим трафиком
и маленьким Mbuf производительность будет пониженной. Каждый кластер
представлен двумя килобайтами памяти, поэтому значение 1024 означает
2 мегабайта памяти ядра, зарезервированной для сетевых буферов.
Для определения оптимального значения необходимо провести простые
вычисления. Если у вас веб сервер, который может обслуживать 1000
одновременных соединений, и каждое соединение <<съедает>> 16 K буфера
приема и 16 K буфера отправки, вам потребуется 32 MB памяти
под буферы. Хорошее правило - умножение этого значения на 2,
2x32 MB / 2 KB = 64 MB / 2 kB = 32768.
Мы рекомендуем значения между 4096 и 32768 для машин с большим объемом
памяти. Не указывайте произвольно большое значение параметра, это
может привести к падению системы при загрузке. Используйте
netstat(1) с опцией -m
для определения количества
используемых сетевых кластеров.
Для настройки в процессе загрузки используйте в loader переменную
kern.ipc.nmbclusters
. Только в старых версиях
FreeBSD потребуется пересобрать ядро (config(8)) с измененным
параметром NMBCLUSTERS
.
Для нагруженных серверов, интенсивно использующих системный
вызов sendfile(2), может потребоваться увеличения буферов
sendfile(2) с помощью параметра конфигурации ядра
NSFBUFS
, или изменения значения путем установки
переменной в /boot/loader.conf
(обратитесь к loader(8) за подробностями). Общий
признак того, что параметр требуется изменить -
состояние процессов sfbufa
.
Переменная sysctl kern.ipc.nsfbufs
установлена только для чтения. Этот параметр увеличивается
вместе с kern.maxusers
, хотя может
потребоваться увеличить его отдельно.
Даже если сокет помечен как неблокирующий, вызов
sendfile(2) на неблокирующем сокете может вызвать блокирование
sendfile(2), пока не станет доступным достаточное количество
struct sf_buf
.
Переменные sysctl net.inet.ip.portrange.*
контролируют диапазоны номеров портов, автоматически привязываемых
к TCP и UDP сокетам. Есть три диапазона: нижний диапазон,
диапазон по умолчанию и верхний диапазон. Большинство сетевых
программ используют диапазон по умолчанию, контролируемый
net.inet.ip.portrange.first
и
net.inet.ip.portrange.last
, установленными
соответственно в 1024 и 5000. Диапазоны портов привязки
используются для исходящих соединений и при некоторых условиях
портов может не хватить. Это чаще всего происходит на
сильно загруженном прокси сервере. Диапазон портов не
становится проблемой при работе серверов, которые обрабатывают
в основном входящие соединения, или с небольшим количеством
исходящих соединений, например mail relay. Для ситуаций,
когда возможен недостаток портов, рекомендуется немного
увеличить net.inet.ip.portrange.last
.
Может подойти значение 10000
,
20000
, или 30000
.
Учтите также возможное влияние брандмауэра при
изменении диапазона портов. Некоторые могут блокировать
большие диапазоны портов (обычно с небольшими номерами)
и вынуждают использовать более высокие диапазоны для
исходящих соединений. По этой причине не рекомендуется
уменьшать значение
net.inet.ip.portrange.first
.
TCP Bandwidth Delay Product Limiting похоже на
TCP/Vegas в NetBSD. Оно может быть
включено установкой переменной sysctl
net.inet.tcp.inflight.enable
в
1
. Система попытается вычислить задержку
пакетов для каждого соединения и ограничить объем данных в
очереди сети до значения, требуемого для поддержания оптимальной
пропускной способности.
Эта возможность полезна при передаче данных через модемы,
Gigabit Ethernet, или даже через высокоскоростные WAN соединения
(или любые другие соединения с большой задержкой передачи),
особенно если вы также используете изменение размера окна или
настроили большое окно передачи. Если вы включили этот параметр,
убедитесь также, что переменная
net.inet.tcp.inflight.debug
установлена в
0
(отладка выключена), а для использования в
реальных задачах может понадобиться установка переменной
net.inet.tcp.inflight.min
к значению
как минимум 6144
. Но учтите, что установка
большого значения этой переменной может фактически отключить
ограничение в зависимости от вида соединения. Ограничение
уменьшает количество данных на определенном маршруте и
управляет очередью пакетов, как и уменьшает общее количество
данных в очереди локального интерфейса хоста. С меньшим
количеством пакетов в очереди двусторонние интерактивные
соединения, особенно на медленных линиях, могут проходить
быстрее. Но имейте ввиду, что эта функция работает только
при передаче данных (передача данных / сторона сервера).
Она не работает при получении данных (загрузке).
Изменение значения переменной
net.inet.tcp.inflight.stab
не рекомендуется. Этот параметр по умолчанию
равен 20, что означает добавление 2 пакетов к вычислению задержки
передачи. Дополнительное окно требуется для стабилизации
алгоритма и улучшения ответной реакции на изменение условий,
но также приводит к большему времени ping на медленных соединениях
(задержка все же гораздо меньше, чем без алгоритма inflight).
Вы можете попробовать уменьшить этот параметр до 15, 10 или 5;
а также уменьшить net.inet.tcp.inflight.min
(например, до 3500) для получения желаемого эффекта. Уменьшение
значений этих параметров может использоваться только как
крайняя мера.
Файлы и каталоги в ядре представлены при помощи vnode (виртуальных узлов). Увеличение их числа может помочь уменьшить нагрузку на дисковую подсистему. Как правило, специальной настройки это значение не требует, однако, в некоторых случаях дисковая активность является узким местом, и система исчерпывает таблицу vnode, значение этой переменной следует увеличить. При этом необходимо оценить объем неактивной и свободной памяти.
Текущее количество использованных vnode можно посмотреть при помощи команды:
#
sysctl vfs.numvnodes
vfs.numvnodes: 91349
Максимальное количество vnode, доступных системе:
#
sysctl kern.maxvnodes
kern.maxvnodes: 100000
Если количество использованных vnode близко к максимуму,
значение переменной kern.maxvnodes
следует
увеличить на 1000. Следите за динамикой изменения
vfs.numvnodes
. Если оно увеличивается,
приближаясь к вновь установленному максимуму, процесс следует
повторить. Изменение в распределении памяти должно быть видно в
выводе утилиты top(1): больше памяти перейдет в разряд
активной.
Вне зависимости от того, что вы планировали, иногда система ведет себя неожиданно. Если вам потребовался дополнительный объем подкачки, его довольно просто добавить. Есть три способа увеличения объема подкачки: добавить новый жесткий диск, включить подкачку по NFS, или создать файл подкачки на существующем разделе.
За информацией о криптовании раздела подкачки обращайтесь к Раздел 17.17, <<Шифрование области подкачки>> данного Руководства.
Лучший способ добавить подкачку, конечно, использовать еще один жесткий диск. Вы можете сделать это в любой момент. Если такой способ подходит, прочтите еще раз информацию по пространству подкачки в Раздел 12.2, <<Начальное конфигурирование>> Руководства, где рассказывается о наилучшем способе организации раздела подкачки.
Подкачка через NFS рекомендуется только в том случае, если в системе отсутствует жесткий диск; подкачка через NFS ограничена скоростью сетевого подключения и к тому же дополнительно нагружает NFS сервер.
Вы можете создать файл определенного размера и использовать
его как файл подкачки. В нашем примере будет использован файл
/usr/swap0
размером 64MB. Конечно, вы
можете использовать любое имя.
Убедитесь, что в файле настройки ядра присутствует драйвер
виртуального диска (md(4)). Он есть в ядре
GENERIC
.
device md # Memory "disks"
Создайте файл подкачки (/usr/swap0
):
#
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
Установите подходящие права на (/usr/swap0
):
#
chmod 0600 /usr/swap0
Включите файл подкачки в /etc/rc.conf
:
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
Перегрузите компьютер или для включения подкачки прямо сейчас введите:
#
mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
Очень важно использовать аппаратные ресурсы эффективно. До того, как появился ACPI, управление потреблением питания и температурными характеристиками системы было очень сложной для операционной системы задачей. Аппаратное обеспечение контролировалось одним из видов встроенного интерфейса BIOS, таким как: Plug and Play BIOS (PNPBIOS), Advanced Power Management (APM) и так далее. Управление питанием и ресурсами это один из ключевых компонентов современной операционной системы. Например, вам может потребоваться, чтобы операционная система следила за температурными ограничениями и возможно, предупреждала при неожиданном росте температуры.
В этом разделе Руководства FreeBSD, мы предоставим исчерпывающую информацию о ACPI. В конце раздела есть ссылки для дальнейшего чтения.
Advanced Configuration and Power Interface (ACPI) это стандарт, написанный объединением поставщиков в целях предоставления стандартного интерфейса для аппаратных ресурсов и управления питанием (отсюда и название). Это ключевой элемент Operating System-directed configuration and Power Management, т.е.: он предоставляет операционной системе (OS) больше контроля и более универсален. Современные системы вышли за пределы ограничений существующих Plug and Play интерфейсов до появления ACPI. ACPI это прямой наследник APM (Advanced Power Management).
Средства Advanced Power Management (APM) управляют энергопотреблением системы в зависимости от нагрузки. APM BIOS предоставляется поставщиком системы и специфичен для данной аппаратной платформы. Драйвер APM в OS обеспечивает доступ к APM Software Interface, который позволяет управлять уровнями потребления питания.
В APM имеется четыре основных проблемы. Во-первых, управление энергопотреблением осуществляется через зависимый от поставщика BIOS, и OS ничего не знает нем. Один пример: когда пользователь устанавливает время ожидания для жесткого диска в APM BIOS, и это время истекает, BIOS останавливает жесткий диск без согласования с OS. Во-вторых, алгоритм APM встроен в BIOS, и все действия происходят вне контроля OS. Это означает, что пользователи могут решить проблемы с APM BIOS только путем перепрошивки его ROM; это очень опасная процедура, и если она завершится неудачно, система может оказаться в невосстановимом состоянии. В-третьих, реализация технологии APM зависит от поставщика, что означает дублирование усилий и если в BIOS одного из поставщиков будет найдена и исправлена ошибка, ее могли не исправить другие поставщики. Наконец, объем APM BIOS недостаточно велик для реализации сложной политики управления питанием, или такой политики, которая может хорошо адаптироваться к потребностям компьютера.
Plug and Play BIOS (PNPBIOS) был неудобен во многих ситуациях. PNPBIOS это 16-битная технология, поэтому OS требовалось использовать 16-битную эмуляцию для <<взаимодействия>> с методами PNPBIOS.
FreeBSD драйвер APM документирован в странице справочника apm(4).
loader(8) загружает драйвер acpi.ko
по
умолчанию, его не надо встраивать в ядро.
Причина в том, что с модулями проще работать, например переключиться
на другой acpi.ko
без пересборки ядра.
Преимущество в упрощении тестирования. Другая причина в том, что
запуск ACPI после старта системы не очень полезен
и при некоторых условиях может приводить к краху. Если вы
сомневаетесь, отключите ACPI совсем. Драйвер не
должен и не может быть выгружен, поскольку системная шина используется
для различных взаимодействий оборудования. ACPI
может быть выключен с помощью утилиты acpiconf(8). Фактически
большинство взаимодействий с ACPI может быть
выполнено через acpiconf(8). В основном это означает, что если в
выводе dmesg(8) есть что-то об ACPI, он скорее
всего работает.
ACPI и APM не могут сосуществовать и должны использоваться раздельно. Каждый из них прервет загрузку, если обнаружит загруженный драйвер другого.
В простейшей форме, ACPI может использоваться
для перевода системы в спящий режим с помощью acpiconf(8), с
флагом -s
и параметром 1-5
.
Большинству пользователей нужен только параметр 1
.
Параметр 5
сделает <<мягкое>>
завершение работы, так же как и:
#
halt -p
Доступны и другие параметры. Обратитесь к странице справочника acpiconf(8) за дополнительной информацией.
ACPI это фундаментально новый способ обнаружения устройств, управления энергопотреблением и предоставления стандартизированного доступа к различному оборудованию, ранее управлявшемуся BIOS. Был достигнут определенный прогресс в приспособлении ACPI к работе со всеми системами, но все еще встречаются ошибки в байткоде ACPI Machine Language (AML) некоторых материнских плат, незавершенные участки кода в подсистемах ядра FreeBSD и ошибки в интерпретаторе Intel(R) ACPI-CA.
Этот раздел предназначен для того, чтобы упростить ваше содействие разработчикам FreeBSD ACPI в определении причин наблюдаемых вами проблем, выполнении отладки и выработке решения. Спасибо за помощь и надеемся, что мы сможем помочь в решении проблем вашей системы.
Перед отправкой сообщения об ошибке убедитесь, что у вас последняя версия BIOS, и, если доступна, последняя версия firmware встроенного контроллера.
Те из вас, кто желает составить сообщение о проблеме прямо сейчас, могут воспользоваться адресом freebsd-acpi@FreeBSD.org, отправив на него следующую информацию:
Описание неправильного поведения, включая тип системы, модель и все, что приводит к появлению ошибки. Кроме того, сообщите настолько точно, насколько возможно, когда появилась ошибка, если ранее вы ее не видели.
Вывод dmesg(8) после <<boot
-v
>>, включая все сообщения, появившиеся
при изучении ошибки.
Вывод dmesg(8) после <<boot
-v
>> с выключенным ACPI,
если его отключение помогает решить проблему.
Вывод sysctl hw.acpi
. Это также хороший
способ получения списка возможностей системы.
URL где можно найти ваш ACPI Source Language (ASL). Не отправляйте ASL непосредственно в список рассылки, поскольку он может быть очень большим. Копия ASL может быть создана командой:
#
acpidump -t -d >
name
-system
.asl
(Замените вашим логином
name
и производителем/моделью
system
. Пример:
njl-FooCo6000.asl
)
Большинство разработчиков читают Список рассылки, посвящённый обсуждению FreeBSD-CURRENT, но для уверенности, что проблему увидят, отправьте ее в freebsd-acpi. Будьте терпеливы, все мы заняты полный рабочий день где-то еще. Если ваше сообщение не заметили сразу, мы возможно попросим вас отправить PR (сообщение о проблеме) через send-pr(1). При вводе PR, включайте ту же информацию, что запрошена выше. Это поможет нам отследить проблему и решить ее. Не отправляйте PR без предварительной отправки письма в freebsd-acpi, поскольку мы используем PR в качестве напоминаний о существующих проблемах, а не как механизм сообщений об ошибках. Вероятно, о вашей проблеме кто-то уже сообщал ранее.
ACPI представлен во всех современных компьютерах, соответствующих архитектурам ia32 (x86), ia64 (Itanium) и amd64 (AMD). Полный стандарт включает множество возможностей, в том числе управление производительностью CPU, уровнем питания, температурой, различными системами аккумуляторов, встроенными контроллерами и опросом шины. В большинстве систем стандарт реализован не полностью. Например, настольные системы обычно реализуют только опрос шины, а портативные компьютеры кроме того могут поддерживать управление охлаждением и энергопотреблением. Они также поддерживают приостановку и последующий запуск системы различного уровня сложности.
ACPI-совместимые системы состоят из различных компонентов. Производители BIOS и чипсетов предоставляют различные жестко заданные таблицы, (например, FADT), которые определяют функции вроде карты APIC (используется для SMP), регистры настройки и простые значения параметров. Кроме того, предоставляется таблица байткода (Differentiated System Description Table, DSDT), определяющая древоподобное пространство имен устройств и методов.
Драйвер ACPI должен прочесть заданные
таблицы, реализовать интерпретатор для байткода, модифицировать
драйвера устройств и ядро для приема информации от подсистемы
ACPI. Для FreeBSD Intel(R) предоставила
интерпретатор (ACPI-CA), тот же что для
Linux и NetBSD. Исходный код ACPI-CA
находится в каталоге
src/sys/contrib/dev/acpica
.
Код для приспособления ACPI-CA к работе в
FreeBSD, находится в src/sys/dev/acpica/Osd
.
Наконец, драйвера, реализующие различные ACPI
устройства, находятся в
src/sys/dev/acpica
.
Для правильной работы ACPI все ее части должны работать правильно. Вот некоторые часто встречающиеся проблемы, в порядке частоты появления, и некоторые обходные пути или исправления.
В некоторых случаях при возобновлении работы после приостановки
перестает работать мышь. Известным решением проблемы является
добавление строки hint.psm.0.flags="0x3000"
в файл /boot/loader.conf
. Если это не помогло,
стоит сообщить о проблеме, как описано выше.
ACPI поддерживает три состояния приостановки в
RAM (STR),
S1
-S3
, и одно состояние
приостановки на диск (STD
), называемое
S4
. S5
это
<<мягкое выключение>> и это нормальное состояние системы,
когда она подключена к сети, но не включена. S4
может быть реализован двумя различными путями.
S4
BIOS это
BIOS-поддерживаемая приостановка на диск.
S4
OS реализуется полностью
операционной системой.
Начните с проверки переменных sysctl
hw.acpi
,
относящихся к приостановке (suspend).
Вот результат для Thinkpad:
hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.s4bios: 0
Это означает, что мы можем использовать acpiconf
-s
для тестирования S3
,
S4
OS, и
S5
. Если s4bios
был единицей
(1
), это означает поддержку
S4
BIOS вместо
S4
OS.
При тестировании приостановки/возобновления работы, начните
с S1
, если этот режим поддерживается.
Это состояние скорее всего поддерживается, поскольку не требует
слишком серьезной поддержки со стороны драйвера. Никто не
реализовал S2
, который похож на
S1
. Следующий режим для тестирования это
S3
. Это наиболее глубокое STR
состояние, оно требует существенной поддержки со стороны
драйвера, чтобы правильно реинициализировать оборудование.
Если у вас возникли проблемы при выходе из этого состояния,
отправьте письмо в рассылку freebsd-acpi, но не ждите, что
проблема будет обязательно решена, поскольку существует
множество драйверов/оборудования, нуждающихся в дальнейшем
тестировании и разработке.
Для изоляции проблемы удалите из ядра столько драйверов,
сколько возможно. Если это работает, вы можете выяснить,
какой драйвер вызывает проблему путем загрузки драйверов
до тех пор, пока опять не произойдет сбой. Обычно бинарные
драйвера, такие как nvidia.ko
,
драйвера дисплея X11 и
USB вызывают большинство проблем, а драйвера
Ethernet интерфейсов как правило работают отлично. Если вы
можете нормально загрузить/выгрузить драйвера, автоматизируйте
этот процесс, поместив соответствующие команды в
/etc/rc.suspend
и
/etc/rc.resume
. Это закомментированные
примеры выгрузки и загрузки драйверов. Попробуйте
установить параметр hw.acpi.reset_video
в нуль (0
), если ваш дисплей не включается
после возобновления
работы. Попробуйте установить большие или меньшие значения
для hw.acpi.sleep_delay
, чтобы проверить,
поможет ли это.
Другой способ, который можно попробовать, это запуск последнего дистрибутива Linux с поддержкой ACPI и тестирование поддержки остановки/возобновления работы на том же оборудовании. Если она работает на Linux, проблема скорее всего в драйверах FreeBSD и поиск драйвера, вызывающего проблему, поможет разрешить ситуацию. Имейте ввиду, что разработчики ACPI обычно не поддерживают другие драйверы (звук, ATA, и т.п.), так что все результаты работы по поиску проблемы возможно необходимо отправить в список рассылки freebsd-current и человеку, поддерживающему драйвер. Если вы решитесь заняться отладкой, поместите соответствующий код (printf(3)) в вызывающий проблему драйвер для обнаружения места, где прерывается функция восстановления.
Наконец, попробуйте отключить ACPI и включить APM. Если приостановка/возобновление работает с APM, вам возможно лучше подойдет APM, особенно на старом оборудовании (до 2000). Включение корректной поддержки ACPI поставщиками оборудования требует времени и вероятно в старом оборудовании поддержка ACPI в BIOS была некорректна.
Большинство систем останавливаются в результате потери прерываний или <<шторма>> прерываний. В чипсетах существует много проблем, связанных с тем, как BIOS настраивает прерывания перед загрузкой, правильностью таблицы APIC (MADT), и маршрутизации System Control Interrupt (SCI).
<<Шторм>> прерываний может быть обнаружен по
потерянным прерываниям путем проверки вывода строки с
acpi0
команды vmstat -i
.
Если счетчик увеличивается более, чем
несколько раз в секунду, это <<шторм>> прерываний.
Если система останавливается, попробуйте войти в
DDB
(CTRL+ALT+ESC на
консоли) и ввести show interrupts
.
Наиболее надежный способ избавиться от проблемы с прерываниями,
это отключение поддержки APIC с помощью
параметра loader.conf
hint.apic.0.disabled="1"
.
Паника, связанная с ACPI, случается довольно
редко и имеет наибольший приоритет исправления. Первый шаг
это изоляция действий, приводящих к панике (если это возможно)
и получение отладки. Следуйте инструкции по включению
options DDB
и настройке последовательной консоли
(смотрите Раздел 22.6.5.3, <<Вход в отладчик DDB с последовательной линии>>)
или настройке раздела dump(8). Вы можете получить отладочную
информацию DDB с помощью tr
.
Если вы записываете отладку вручную, убедитесь, что переписали
как минимум пять (5) строк снизу и пять (5) строк сверху.
Затем попробуйте изолировать проблему, загрузившись с
выключенным ACPI. Если это работает, вы можете
изолировать подсистему ACPI, используя
различные параметры debug.acpi.disable
.
Обратитесь к странице справочника acpi(4) за примерами.
Во-первых, попробуйте установить в loader.conf(5) параметр
hw.acpi.disable_on_poweroff="0"
.
Это предотвращает отключение различных событий в
ACPI во время завершения работы.
В некоторых системах этот параметр необходимо установить
в 1
(по умолчанию) по тем же причинам. Обычно это
решает проблему, если система неожиданно включается после
приостановки или отключения питания.
Если вы наблюдаете другие проблемы с ACPI (работа с внешним оборудованием, проблемы с обнаружением устройств, и т.д.), отправьте описание проблемы в список рассылки; однако, некоторые из этих проблем могут относиться к незавершенным частям подсистемы ACPI, поэтому может потребоваться время на их реализацию. Будьте терпеливы, и подготовьтесь к тестированию исправлений, которые мы можем вам выслать.
Наиболее часто встречается проблема, связанная с предоставлением поставщиками BIOS некорректного (или полностью ошибочного!) байткода. Это обычно проявляется появлением консольных сообщений ядра, подобных этому:
ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND
Зачастую вы можете разрешить эти проблемы путем обновления
BIOS до последней ревизии. Большинство консольных
сообщений безвредны, но если существуют другие проблемы, такие как
не работающий статус батареи, возможно существуют проблемы в
AML. Байткод, известный как
AML, компилируется из исходного текста на
языке ASL. AML находится
в таблице, известной как DSDT. Для получения
копии ASL, используйте acpidump(8).
Вы можете использовать оба параметра -t
(показывать содержимое постоянных таблиц) и -d
(дизассемблировать AML в ASL).
Обратитесь к разделу Отправка
отладочной информации за примером синтаксиса.
Простейшая первая проверка, которую вы можете провести, это перекомпиляция ASL для поиска ошибок. Предупреждения обычно могут быть проигнорированы, но ошибки обычно не позволяют ACPI работать правильно. Для перекомпиляции ASL, выполните следующую команду:
#
iasl your.asl
В дальней перспективе, наша задача состоит в том, чтобы
обеспечить поддержку ACPI практически для
каждой системы без вмешательства пользователя. Однако, на данный
момент мы все еще разрабатываем обходные пути для ошибок,
которые часто делают поставщики BIOS.
Интерпретатор Microsoft(R) (acpi.sys
и
acpiec.sys
) не занимается проверкой
четкости соблюдения стандартов, поэтому многие поставщики
BIOS, проверяющие ACPI
только под Windows(R), никогда не исправляют ASL.
Мы надеемся продолжать обнаружение и документацию нестандартных
поведений, позволяемых интерпретатором Microsoft(R), и воспроизводить
их, чтобы FreeBSD могла работать без необходимости исправления
ASL пользователями. В качестве обходного пути
для обнаружения неправильного поведения, вы можете исправить
ASL вручную. Если исправления будут работать,
пожалуйста отправьте diff(1) между старым и новым
ASL, чтобы мы могли реализовать обходной
путь для неправильного поведения ACPI-CA,
чтобы исправление вручную больше не требовалось.
Вот список наиболее часто встречающихся проблем, их причин и способы исправления:
Некоторые AML предполагают, что мир состоит
из различных версий Windows(R). Вы можете настроить FreeBSD, чтобы
она сообщала любое другое имя OS и посмотреть,
исправит ли это имеющуюся проблему. Простой способ указания
другого имени системы это установка переменной
/boot/loader.conf
hw.acpi.osname="Windows 2001"
или в другое подобное значение, имеющееся в
ASL.
Некоторые методы не возвращают значение явно, как того
требует стандарт. Хотя ACPI-CA не обрабатывает
эту ситуацию, в FreeBSD существует обходной путь, позволяющей ей
явно возвращать значение. Вы можете также добавить явные операторы
Return (возврат) там, где требуется, если знаете, что значение
должно быть возвращено. Для принудительного компилирования
ASL командой iasl
, используйте
флаг -f
.
После настройки your.asl
для
компиляции запустите:
#
iasl your.asl
Вы можете добавить флаг -f
для создания
AML даже при наличии ошибок компиляции.
Помните, что некоторые ошибки (например, отсутствующие операторы
Return), автоматически обходятся интерпретатором.
Файл DSDT.aml
используется
iasl
по умолчанию. Вы можете загрузить его
вместо ошибочной копии BIOS (которая
остается в постоянной памяти) путем редактирования
/boot/loader.conf
:
acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml"
Убедитесь, что скопировали DSDT.aml
в
каталог /boot
.
Возможности отладки драйвера ACPI очень гибкие. Они позволяют вам указывать набор подсистем, а также уровень отладки. Подсистемы, которые вы хотите отлаживать, указываются как <<слои>>, и подразделяются на компоненты ACPI-CA (ACPI_ALL_COMPONENTS) и поддержку оборудования ACPI (ACPI_ALL_DRIVERS). Уровень отладки варьируется от ACPI_LV_ERROR (только сообщать об ошибках) до ACPI_LV_VERBOSE (все сообщения). Уровень отладки представляет собой битовую маску, поэтому возможна одновременная установка нескольких параметров, разделенных пробелами. На практике, при использовании для получения отладочной информации последовательной консоли, слишком большое количество информации может переполнить буфер консоли. Полный список отдельных слоев и уровней можно найти на странице справочника acpi(4).
Вывод отладочной информации по умолчанию не включен.
Для его включения добавьте параметр
options ACPI_DEBUG
к файлу настройки ядра, если
ACPI встроен в ядро. Вы можете добавить параметр
ACPI_DEBUG=1
в файл
/etc/make.conf
для глобального включения
этого параметра. Если вы используете модуль
acpi.ko
, его можно пересобрать
индивидуально:
#
cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1
Установите acpi.ko
в
/boot/kernel
и добавьте
предпочитаемый уровень и слой к loader.conf
.
Этот пример включает отладочные сообщения для всех компонентов
ACPI-CA и всех драйверов оборудования
ACPI (CPU,
LID и т.д.). Будут выводиться только сообщения
об ошибках, наименьший уровень отладки.
debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" debug.acpi.level="ACPI_LV_ERROR"
Если требуемая информация получается в результате определенного
события (скажем, приостановка и восстановление), вы можете
не изменять loader.conf
и использовать
для указания слоя и уровня sysctl
после загрузки и подготовки системы к определенному событию.
Имена переменных sysctl
те же, что и имена
параметров настройки в loader.conf
.
Дальнейшую информацию о ACPI можно найти по следующим ссылкам:
Архивы списка рассылки ACPI
http://lists.freebsd.org/pipermail/freebsd-acpi/
Старые архивы списка рассылки ACPI
http://home.jp.FreeBSD.org/mail-list/acpi-jp/
Спецификация ACPI 2.0
http://acpi.info/spec.htm
Страницы справочника FreeBSD: acpi(4), acpi_thermal(4), acpidump(8), iasl(8), acpidb(8)
Ресурс по отладке DSDT. (Использует в качестве примера Compaq, но обычно полезен.)
[5] Алгоритм автоматической настройки установит
maxusers
равным количеству памяти в системе,
где минимум 32, а максимум 384.
Процесс включения компьютера и загрузки операционной системы называется <<процессом первоначальной загрузки>>, или просто <<загрузкой>>. Процесс загрузки FreeBSD предоставляет большие возможности по гибкой настройке того, что происходит при запуске системы, позволяя вам выбирать из различных операционных систем, установленных на одном и том же компьютере, или даже из различных версий той же самой операционной системы или установленного ядра.
Эта глава подробно описывает параметры, которые вы можете изменить для настройки процесса загрузки FreeBSD. Под этим подразумевается все, что происходит до начала работы ядра FreeBSD, обнаружения устройств и запуска init(8). Если вы не совсем уверены, то это происходит, когда выводимый текст меняет цвет с ярко-белого на серый.
После чтения этой главы вы будете знать:
Из каких частей состоит система начальной загрузки FreeBSD, и как эти части взаимодействуют.
Параметры, которые вы можете передать компонентам начальной загрузки FreeBSD для управления этим процессом.
Основы работы device.hints(5)
Эта глава описывает процесс загрузки FreeBSD только для систем на основе архитектуры Intel x86.
Включение компьютера и запуск операционной системы приводят к интересной дилемме. По определению до запуска операционной системы компьютер не умеет ничего. В том числе и не знает, как запускать программы с диска. Так что компьютер не может запустить программу с диска без операционной системы, но программы операционной системы находятся на диске, но как запустить операционную систему?
Эта проблема имеет параллели с одной проблемой из книги Приключения барона Мюнхгаузена. Герой провалился в болото, и вытащил сам себя, ухватив за волосы и потянув. В эпоху начала компьютеризации термин начальная загрузка применялся к механизму, используемому для загрузки операционной системы, и затем был сокращен до просто <<загрузки>>.
На оборудовании архитектуры x86 за загрузку операционной системы отвечает BIOS (Basic Input/Output System). Для этого BIOS ищет на жестком диске MBR (Master Boot Record), которая должна располагаться в определенном месте на диске. BIOS может загрузить и запустить MBR, и предполагается, что MBR может взять на себя остальную работу, связанную с загрузкой операционной системы.
Выполняемую часть MBR обычно называют менеджером загрузки (boot manager), в особенности если она взаимодействует с пользователем. В этом случае менеджер загрузки, как правило, занимает большее пространство на первом треке диска или внутри файловой системы ОС. (Менеджер загрузки иногда называют загрузчиком (boot loader), но во FreeBSD этот термин используется для описания более поздней фазы загрузки). Среди популярных менеджеров загрузки стоит отметить boot0 (он же Boot Easy, стандартный менеджер загрузки FreeBSD), Grub, GAG и LILO. Из перечисленных менеджеров загрузки в MBR помещается только boot0.
Если на вашем диске установлена только одна операционная система, то
стандартной MBR будет достаточно. Такая MBR выполняет поиск на диске
первого загрузочного (активного) слайса, после чего запускает с этого слайса код
загрузки оставшейся части операционной системы. Утилита fdisk(8)
по умолчанию устанавливает именно такую MBR, на основе файла
/boot/mbr
.
Если на ваших дисках установлено несколько операционных систем, то вы можете установить другой менеджер загрузки, который может выдать список различных операционных систем и позволит вам выбрать одну из них для загрузки. Два варианта менеджеров загрузки будут описаны чуть ниже.
Оставшаяся часть системы начальной загрузки FreeBSD разделяется на три этапа. Первый этап запускается из MBR, и он знает достаточно для перевода компьютера в особое состояние и загрузки второго этапа. Второй этап может делать несколько больше до запуска третьего этапа. Третий этап заканчивает работу по загрузке операционной системы. Работа разделена на эти три этапа, потому что стандарты ПК ограничивают размеры программ, которые могут быть запущены на первом и втором этапах. Последовательное выполнение работ позволяет FreeBSD получить более гибкий загрузчик.
Затем стартует ядро, которое начинает опознавать устройства и выполняет их инициализацию. После завершения процесса своей загрузки, ядро передает управление пользовательскому процессу с именем init(8), который выполняет проверку дисков на возможность использования. Затем init(8) запускает пользовательский процесс настройки ресурсов, который монтирует файловые системы, выполняет настройку сетевых адаптеров для работы в сети и вообще осуществляет запуск всех процессов, обычно выполняемых в системе FreeBSD при загрузке.
Код MBR или менеджера загрузки время от времени называют нулевой стадией процесса загрузки. В этом разделе мы обсудим два из упомянутых ранее менеджеров загрузки: boot0 и LILO.
MBR для FreeBSD находится в /boot/boot0
. Это
копия MBR, так как настоящая MBR должна
располагаться в специальном месте диска, вне области FreeBSD.
boot0
очень прост, так как программа
в MBR может иметь размер, не превышающий 512
байт. Если вы установили MBR FreeBSD и несколько операционных
систем на ваш жесткий диск, то во время загрузки вы увидите нечто
похожее на следующее:
Менеджер загрузки boot0: MBR, устанавливаемый программой установки FreeBSD или утилитой
boot0cfg(8), основан на /boot/boot0
.
(boot0
очень прост, так как программа
в MBR может иметь размер, не превышающий 446
байт, так как часть первого сектора диска занята таблицей слайсов
и сигнатурой 0x55AA
).
Если вы установили boot0 и несколько операционных
систем на ваш жесткий диск, то во время загрузки вы увидите нечто
похожее на следующее:
Известно, что другие операционные системы, в частности, Windows(R) 95, записывают поверх существующей MBR свою собственную. Если так случилось в вашем случае, или же вы хотите заменить существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей командой:
#
fdisk -B -b /boot/boot0
device
Здесь device
является устройством, с
которого вы загружаетесь, таким, как ad0
в
случае первого диска IDE, ad2
в случае первого
диска IDE на втором контроллере IDE, da0
для
первого диска SCSI и так далее. Если вы используете MBR
нестандартного вида, воспользуйтесь boot0cfg(8).
Менеджер загрузки LILO: Для того, чтобы этот менеджер загрузки мог загружать FreeBSD,
загрузите Linux и добавьте к существующему файлу конфигурации
/etc/lilo.conf
такие строки:
other=/dev/hdXY table=/dev/hdb loader=/boot/chain.b label=FreeBSD
Укажите диск с основным разделом FreeBSD в терминах Linux,
заменив X
буквой диска, используемой в
Linux, а Y
- номером основного
раздела. Если вы используете диски SCSI,
замените /dev/hd
на
/dev/sd
. Строка
loader=/boot/chain.b
может быть опущена, если
обе операционные системы находятся на одном диске. Теперь
запустите /sbin/lilo -v
для того, чтобы ваши
изменения были восприняты системой, что должно быть подтверждено
сообщениями на экране.
Концептуально первый и второй этапы загрузки являются частями одной
и той же программы, в одной области диска. Из-за ограничений на
объем дискового пространства они были разделены на две, но вы всегда
должны устанавливать их вместе. Они копируются инсталлятором или
утилитой bsdlabel (см. ниже) из общего
файла /boot/boot
.
Они располагаются вне файловых систем, на первом треке загрузочного слайса,
то есть там, где boot0 или
любой другой менеджер загрузки ожидает найти
программу, которую следует запустить для продолжение процесса загрузки.
Количество используемых секторов легко может быть вычислено из
размера файла /boot/boot
.
boot1
очень прост, так как он не может иметь
размер, превышающий 512 байт, и знает лишь о метке
диска FreeBSD, хранящей информацию о слайсе, для того,
чтобы найти и запустить boot2
.
boot2
устроен несколько более сложно, и умеет
работать с файловой системой FreeBSD в объёме, достаточном для
нахождения в ней файлов, и может предоставлять простой интерфейс для
выбора и передачи управления ядру или загрузчику.
Так как загрузчик устроен
гораздо более сложно, и дает удобный и простой способ настройки
процесса загрузки, boot2
обычно запускает его,
однако раньше его задачей был запуск непосредственно самого
ядра.
Если вам когда-либо понадобится заменить установленные
boot1
и boot2
, то используйте
утилиту bsdlabel(8):
#
bsdlabel -B
diskslice
Здесь diskslice
являются диском и
слайсом, с которых вы загружаетесь, например,
ad0s1
в случае первого слайса на первом диске
IDE.
Если вы используете только имя диска, к примеру,
ad0
, в команде bsdlabel(8) вы
создадите диск в режиме эксклюзивного использования, без слайсов.
Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды
проверьте параметры команды bsdlabel(8), прежде, чем нажать
Return.
Передача управления загрузчику является последним, третьим этапом в
процессе начальной загрузки, а сам загрузчик находится в файловой
системе, обычно как /boot/loader
.
Загрузчик являет собой удобный в использовании инструмент для настройки при помощи простого набора команд, управляемого более мощным интерпретатором с более сложным набором команд.
Во время инициализации загрузчик пытается произвести поиск консоли, дисков и определить, с какого диска он был запущен. Соответствующим образом он задаёт значения переменных и запускает интерпретатор, которому могут передаваться пользовательские команды как из скрипта, так и в интерактивном режиме.
Затем загрузчик читает файл
/boot/loader.rc
, который по умолчанию использует
файл /boot/defaults/loader.conf
, устанавливающий
подходящие значения по умолчанию для переменных и читает файл
/boot/loader.conf
для изменения в этих
переменных. Затем с этими переменными работает
loader.rc
, загружающий выбранные модули и
ядро.
И наконец, по умолчанию загрузчик выдерживает 10-секундную паузу, ожидая нажатия клавиши, и загружает ядро, если этого не произошло. Если ожидание было прервано, пользователю выдается приглашение, которое воспринимает простой набор команд, с помощью которых пользователь может изменить значения переменных, выгрузить все модули, загрузить модули и окончательно продолжить процесс загрузки или перезагрузить машину.
Далее следуют наиболее часто используемые команды загрузчика. Полное описание всех имеющихся команд можно найти на странице справки о команде loader(8).
секунды
Продолжает загрузку ядра, если не будет прерван в течение указанного в секундах промежутка времени. Он выводит счетчик, и по умолчанию выдерживается интервал в 10 секунд.
-параметры
]
[имя ядра
]Продолжить процесс загрузки указанного ядра, если оно было указано, и с указанными параметрами, если они были указаны. Загрузка и использование указанного ядра возможны лишь после выгрузки текущего ядра, а выгрузка текущего ядра производится командой unload.
Повторно провести тот же самый процесс автоматической
настройки модулей на основе переменных, что был произведен при
загрузке. Это имеет смысл, если до этого вы выполнили команду
unload
, изменили некоторые переменные,
например, наиболее часто меняемую kernel
.
тема
]Вывод сообщений подсказки из файла
/boot/loader.help
. Если в качестве темы
указано слово index
, то выводится список
имеющихся тем.
имя файла
...Выполнить файл с указанным именем. Файл считывается и его содержимое интерпретируется строчка за строчкой. Ошибка приводит к немедленному прекращению выполнения команды include.
тип
]
имя файла
Загружает ядро, модуль ядра или файл указанного типа с указанным именем. Все аргументы после имени файла передаются в файл.
маршрут
]Выводит список файлов по указанному маршруту или в корневом
каталоге, если маршрут не был указан. Если указан параметр
-l
, будут выводиться и размеры файлов.
Выводится список всех устройств, с которых могут быть
загружены модули. Если указан параметр -v
,
выводится дополнительная информация.
Выводит список загруженных модулей. Если указан параметр
-v
, то выводится дополнительная
информация.
имя файла
Вывод указанного файла с паузой при выводе каждой строки
LINES
.
Выполнить немедленную перезагрузку машины.
переменная
, set
переменная
=значение
Задает значения переменных окружения загрузчика.
Удаление из памяти всех загруженных модулей.
Вот несколько примеров практического использования загрузчика:
Чтобы просто загрузить ваше ядро обычным образом, но в однопользовательском режиме:
boot -s
Для выгрузки обычных ядра и модулей, а потом просто загрузить ваше старое (или другое) ядро:
unload
load
kernel.old
Вы можете использовать kernel.GENERIC
для обозначения стандартного ядра, поставляемого на установочном
диске, или kernel.old
для обращения к ранее
установленному ядру (после того, как, например, вы обновили или
отконфигурировали новое ядро).
Для загрузки ваших обычных модулей с другим ядром используйте такие команды:
unload
set kernel="
kernel.old
"boot-conf
Для загрузки скрипта конфигурации ядра (автоматизированный скрипт, который выполняет то, что вы обычно делаете в конфигураторе ядра во время загрузки):
load -t userconfig_script /boot/kernel.conf
Заставка создает более привлекательный вид процесса загрузки по сравнению с традиционными сообщениями загрузки. Изображение заставки будет отображаться до тех пор, пока не придет очередь приглашения ввода логина на консоли или в менеджере дисплеев.
Есть два базовых окружения во FreeBSD. Первое - это
окружение командной строки текстовой виртуальной консоли.
По завершении загрузки системы вам предоставляется консольное
приглашение ввода логина. Второе окружение - это
графическое окружение рабочего стола X11. После установки X11 и одной из графических оболочек,
таких как GNOME,
KDE или XFce,
становится возможным запуск рабочего стола Х11 командой
startx
.
Некоторые пользователи предпочитают графический интерфейс входа традиционному текстовому приглашению ввода логина. Менеджеры экранов, наподобие XDM для Xorg, gdm для GNOME, kdm для KDE (а также другие, доступные из коллекции портов), изначально предоставляют графический интерфейс входа. После успешного входа в систему они запускают соответствующий оконный менеджер.
В текстовом окружении экранная заставка скрывает все подробности процесса загрузки и сообщения стартовых скриптов до момента выдачи приглашения ввода логина. Если используется экранная заставка перед входом в графическое окружение, то пользователи получают визуально более чистый старт системы, чем-то напоминающий опыт работы с Microsoft(R) Windows(R) или с иной не unix-подобной системой.
В качестве заставки можно использовать лишь содержащие
256 цветов изображения формата BMP
(.bmp
) или изображения формата
PCX (.pcx
) от ZSoft.
К тому же, для вывода на стандартный VGA адаптер, файл
изображения заставки должен иметь разрешение не более
320 на 200 пикселей.
Чтобы можно было использовать изображения большего размера,
вплоть до максимального 1024 на 768, активируйте поддержку
VESA. Активация может быть осуществлена либо
подключением модуля VESA во время загрузки
системы, либо сборкой специализированного ядра с добавленной
опцией VESA
(смотрите Глава 9, Настройка ядра FreeBSD). Поддержка режима VESA
дает пользователям возможность отображать заставку, перекрывающую
всю видимую область экрана.
Отображаемая во время загрузки заставка может быть убрана нажатием любой клавиши на клавиатуре.
С настройками по умолчанию заставка также становится
хранителем экрана в консольном окружении. После некоторого
бездействия экран сменится заставкой, яркость которой
будет периодически изменяться от её максимального значения
к минимальному и обратно. Подобное поведение заставки может
быть переопределено добавлением строки saver=
в /etc/rc.conf
. В качестве значения опции
saver=
можно выбрать одно из встроенных
имен хранителей экранов, а с полным перечнем можно ознакомиться
на странице справочника splash(4). Хранитель экрана,
используемый по умолчанию, называется <<warp>>.
Заметьте, что установка опции saver=
в
/etc/rc.conf
воздействует исключительно
на текстовые виртуальные консоли. Она не влияет на менеджеры
экранов X11.
Несколько сообщений загрузчика, включая меню загрузки и счетчик, отображаются во время загрузки, даже если экран-заставка активирован.
Файлы-примеры с изображениями для заставок могут быть скачаны из галереи по адресу http://artwork.freebsdgr.org. Установив порт sysutils/bsd-splash-changer, между загрузками вы получите автоматическую смену случайно выбираемых изображений заставок.
Файл изображения для заставки (.bmp
или .pcx
) следует разместить в корневой
файловой системе, например в каталоге /boot
.
Для работы заставки с разрешением, доступным при загрузке
(256 цветов и не более 320х200 точек), отредактируйте
/boot/loader.conf
, добавив в него
следующие строки:
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp
"
Для получения больших разрешений видео режима (вплоть до
максимального 1024x768), внесите в
/boot/loader.conf
следующие записи:
vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bmp
"
Вышеприведённый пример подразумевает, что файл
содержит изображение заставки. Если же требуется выводить файл
формата PCX, то используйте следующие строки
(в зависимости от необходимого разрешения может также
потребоваться строка /boot/splash.bmp
vesa_load="YES"
):
splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx
"
Возможное имя файла не ограничено одним лишь словом
<<splash>>. Оно может выбираться произвольно, например:
или splash_640x400.bmp
.
Важен лишь тип файла: он должен быть либо BMP,
либо PCX.blue_wave.pcx
Далее приведены еще две полезные опции
loader.conf
:
beastie_disable="YES"
Эта опция отключит меню загрузчика, но приглашение с обратным отсчетом останется. Даже при не отображаемом меню во время отсчета возможен выбор номера варианта загрузки.
loader_logo="beastie"
Эта установка заменит слова <<FreeBSD>>, которые отображаются справа от меню загрузчика, цветным логотипом демона, который занимал это место в предыдущих релизах FreeBSD.
За более детальной информацией обратитесь к следующим страницам справочника: splash(4), loader.conf(5) и vga(4).
Как только ядро окажется загруженным при помощи загрузчика (обычный способ) или boot2 (минуя загрузчик), оно проверяет флаги загрузки, если они есть, и действует соответствующим образом.
Вот наиболее часто используемые флаги загрузки:
-a
во время инициализации ядра запрашивать устройство для его монтирования в качестве корневой файловой системы.
-C
загрузка с компакт-диска.
-c
запустить UserConfig для конфигурации ядра во время загрузки
-s
после загрузки перейти в однопользовательский режим
-v
во время запуска ядра выводить более подробную информацию
Есть и другие флаги загрузки, обратитесь к странице справочника по boot(8) для выяснения подробной информации по ним.
Во время начального запуска системы загрузчик loader(8) производит чтение файла device.hints(5). В этом файле хранится необходимая для загрузки ядра информация, задаваемая в виде переменных, которую иногда называют хинтами для устройств (<<device hints>>). Эти <<хинты устройств>> используются драйверами устройств для их конфигурации.
Хинты для устройств могут быть также заданы в приглашении начального загрузчика Стадии 3. Переменные
могут быть добавлены при помощи команды set
, удалены
посредством unset
и просмотрены командой
show
. В этот момент могут быть также переопределены
переменные, заданные в файле /boot/device.hints
.
Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и
при следующей перезагрузке будут утеряны.
После загрузки системы для выдачи значений всех переменных можно воспользоваться командой kenv(1).
Синтаксически в файле /boot/device.hints
в
каждой строке определяется по
одной переменной, в качестве метки начала комментария используется
стандартный символ <<#>>. Строки строятся следующим
образом:
hint.driver.unit.keyword="value
"
Синтаксис для начального загрузчика Стадии 3 таков:
set hint.driver.unit.keyword=value
driver
определяет имя драйвера устройства,
unit
соответствует порядковому номеру модуля
устройства, а keyword
является ключевым словом хинта.
В качестве ключевых слов могут применяться следующие опции:
at
: задаёт шину, к которой подключено
устройство.
port
: задаёт начальный адрес используемого
диапазона ввода/вывода (I/O).
irq
: задаёт используемый номер запроса на
прерывание.
drq
: задаёт номер канала DMA.
maddr
: задаёт физический адрес памяти,
занимаемый устройством.
flags
: устанавливает различные битовые флаги
для устройства.
disabled
: если установлено в значение
<<1>>, то устройство не используется.
Драйверы устройств могут поддерживать (и даже требовать) другие хинты, здесь не перечисленные, поэтому рекомендуется просматривать справочные страницы по этим драйверам. Для получения дополнительной информации обратитесь к страницам справки по device.hints(5), kenv(1), loader.conf(5) и loader(8).
После того, как ядро завершит загрузку, оно передает управление
пользовательскому процессу init(8), который расположен
в файле /sbin/init
или в файле, маршрут к которому
указан в переменной init_path
загрузчика
.
Процесс автоматической перезагрузки проверяет целостность имеющихся файловых систем. Если это не так, и утилита fsck(8) не может исправить положение, то init(8) переводит систему в однопользовательский режим для того, чтобы системный администратор сам разобрался с возникающими проблемами.
В этот режим можно перейти во время процесса автоматической перезагрузки,
при ручной загрузке с параметром -s
или заданием переменной boot_single
для программы
loader
.
Этот режим может быть также вызван запуском программы
shutdown(8) без параметров перезагрузки
(-r
) или останова (-h
) из
многопользовательского
режима.
Если режим доступа к системной консоли console
установлен в файле /etc/ttys
в
insecure
, то система выведет запрос на ввод пароля
пользователя root
перед переходом в
однопользовательский режим.
/etc/ttys
# name getty type status comments # # Если консоль помечена как "insecure", то init будет запрашивать пароль # пользователя root при переходе в однопользовательский режим. console none unknown off insecure
Обозначение консоли как insecure
означает,
что вы считаете физический доступ к консоли незащищённым, и хотите,
чтобы только тот, кто знает пароль пользователя
root
, мог воспользоваться однопользовательским
режимом, но это не значит, что вы хотите работать с консолью
небезопасным способом. Таким образом, если вы хотите добиться
защищённости, указывайте insecure
, а
не secure
.
Если init(8) определит, что ваши файловые системы находятся в полном порядке, или после того, как пользователь выйдет из однопользовательского режима, система перейдет в многопользовательский режим, работа в котором начинается с настройки ресурсов системы.
Система настройки ресурсов считывает настройки, применяемые по
умолчанию, из файла /etc/defaults/rc.conf
, а
настройки, специфичные для конкретной системы, из
/etc/rc.conf
, после чего осуществляется
монтирование файловых систем, перечисленных в файле
/etc/fstab
, запуск сетевых служб, различных
системных даемонов и, наконец, выполнение скриптов запуска
дополнительно установленных пакетов.
Страница справочника по rc(8) является хорошим источником информации о системе настройки ресурсов, так же, как и самостоятельное изучение скриптов.
Во время контролируемого процесса остановки системы через утилиту
shutdown(8) программа init(8) будет
пытаться запустить скрипт /etc/rc.shutdown
, после
чего будет посылать всем процессам сигнал TERM
, а
затем и KILL
тем процессам, которые ещё не завершили
свою работу.
Для выключения машины с FreeBSD на аппаратных платформах и системах,
которые поддерживают управление электропитанием, просто воспользуйтесь
командой shutdown -p now
для немедленного отключения
электропитания. Чтобы просто перезагрузить систему FreeBSD,
воспользуйтесь командой shutdown -r now
. Для запуска
команды shutdown(8) вам необходимо быть пользователем
root
или членом группы
operator
. Кроме того, можно также
воспользоваться командами halt(8) и reboot(8), пожалуйста,
обратитесь к соответствующим страницам справки и справочной странице по
команде shutdown(8) для получения дополнительной информации.
Для управления электропитанием требуется наличие поддержки acpi(4) в ядре или в виде загруженного модуля.
Эта глава представляет введение в основные концепции безопасности системы, некоторые эмпирические правила и более подробно обращается к отдельным темам, касающимся FreeBSD. Большая часть затрагиваемых тем может быть применена к безопасности системы и безопасности в интернет вообще. Интернет больше не то <<дружественное>> место, где каждый хочет быть вам добрым соседом. Защита системы необходима для сохранения ваших данных, интеллектуальной собственности, времени и всего остального от хакеров и им подобных.
FreeBSD предоставляет массу утилит и механизмов для обеспечения целостности и безопасности системы и сети.
После прочтения этой главы вы узнаете:
Основные концепции безопасности системы, специфику FreeBSD.
О различных механизмах шифрования в FreeBSD, таких как DES и MD5.
Как настроить аутентификацию с использованием одноразовых паролей.
Как настроить TCP Wrappers для
использования с inetd
.
Как настроить KerberosIV в релизах FreeBSD до 5.0.
Как настроить Kerberos5 в FreeBSD.
Как настроить IPsec и создать VPN между компьютерами на FreeBSD/Windows(R).
Как настроить и использовать OpenSSH, реализацию SSH в FreeBSD.
Что такое ACL и как их использовать.
Как использовать утилиту Portaudit для проверки пакетов сторонних разработчиков, установленных из Коллекции Портов.
Как работать с сообщениями безопасности FreeBSD.
Что такое Process Accounting и как активировать его во FreeBSD.
Перед чтением этой главы вам потребуется:
Понимание основных концепций FreeBSD и интернет.
В этой книге рассмотрены и другие вопросы безопасности. Например, принудительный контроль доступа (Mandatory Access Control) рассматривается в Глава 15, Принудительный контроль доступа (MAC), а брандмауэры в Глава 26, Межсетевые экраны.
Безопасность это первая и основная функция системного администратора. Хотя все многопользовательские системы BSD UNIX(R) уже снабжены некоторой защитой, работа по созданию и поддержке дополнительных механизмов безопасности, обеспечивающих защищенную работу пользователей, это одна из самых серьезных задач системного администратора. Компьютеры безопасны настолько, насколько вы сделаете их безопасными и требования безопасности всегда находятся в противоречии с удобством работы пользователей. Системы UNIX(R) способны одновременно работать с огромным количеством процессов и многие из этих процессов серверные - это означает, что с ними могут взаимодействовать внешние программы. Сегодня десктопы заменили мини-компьютеры и мэйнфрэймы, и поскольку компьютеры в наши дни подключены к сети интернет, безопасность важна как никогда.
Наилучшая реализация системы безопасности представима в виде
<<послойной>> системы. Вообще говоря все, что нужно сделать,
это создать столько слоев безопасности, сколько необходимо и затем
внимательно следить за вторжениями в систему. Не переусердствуйте в
настройке системы безопасности, иначе она сделает невозможной
обнаружение вторжений, являющееся одним из наиболее важных аспектов
механизма безопасности. Например, нет большого смысла в установке
флага schg
(chflags(1)) на каждый исполняемый
файл системы, поскольку хотя таким способом можно временно защитить
исполняемые файлы, это помешает обнаружению факта взлома
системы.
Безопасность системы также относится к различным формам атак,
имеющих своей целью вызвать крах системы, или сделать систему
недоступной другим способом, но не пытающихся получить доступ к учётной
записи root
(<<break root>>).
Угрозы безопасности могут быть поделены на несколько категорий:
Отказ в обслуживании (Denial of service, DoS).
Взлом пользовательских учётных записей.
Взлом учётной записи root через доступные сервисы.
Взлом учётной записи root через учётные записи пользователей.
Создание backdoor.
Атака <<отказ в обслуживании>> отбирает у машины необходимые ресурсы. Обычно DoS атаки используют грубую силу, чтобы попытаться обрушить систему или сделать ее недоступной другим способом, превысив лимиты ее сервисов или сетевого стека. Некоторые DoS атаки пытаются использовать ошибки в сетевом стеке для обрушения системы одним пакетом. Эту проблему можно решить только исправив ядро системы. Атаки зачастую можно предотвратить правильной установкой параметров, ограничивающих нагрузку на систему в неблагоприятных условиях. С атаками, использующими грубую силу, бороться сложно. Например, атака с использованием пакетов с поддельными адресами, которую почти невозможно остановить, может быстро отключить вашу систему от интернет. Возможно, она не приведет к отказу системы, но сможет переполнить соединение с интернет.
Взлом учётной записи пользователя обычно встречается чаще, чем DoS атаки. Многие системные администраторы все еще используют стандартные сервисы telnetd, rlogind и ftpd на своих серверах. Эти сервисы по умолчанию не работают с зашифрованными соединениям. В результате при среднем количестве пользователей пароль одного или нескольких пользователей, входящих в систему через внешнее соединение (это обычный и наиболее удобный способ входа в систему), будет перехвачен. Внимательный системный администратор должен анализировать логи удаленного доступа на предмет подозрительных адресов пользователей даже в случае успешного входа.
Кто-то может предположить, что атакующий при наличии доступа к
учётной записи пользователя может взломать учётную запись
root
. Однако, реальность такова, что в хорошо
защищенной и поддерживаемой системе доступ к учётной записи пользователя
не обязательно даст атакующему доступ к root
.
Разница между доступом к обычной учётной записи и к
root
важна, поскольку без доступа к
root
атакующий обычно не способен скрыть свои
действия, и в худшем случае сможет лишь испортить файлы пользователя или
вызвать крах системы. Взлом пользовательских учётных записей
встречается очень часто, поскольку пользователи заботятся о безопасности
так, как системные администраторы.
Системные администраторы должны помнить, что существует множество
потенциальных способов взлома учётной записи root
.
Атакующий может узнать пароль root
, найти ошибку в
сервисе, работающем с привилегиями и взломать учётную запись
root
через сетевое соединение с этим сервисом, или
узнать об ошибке в suid-root программе, позволяющей атакующему взлом
root
с помощью взломанной учётной записи
пользователя. Если атакующий нашел способ взлома
root
, ему может не понадобиться установка backdoor.
Многие из обнаруженных и закрытых на сегодняшний день брешей
в системе, позволяющие взлом root
, требуют от
атакующего серьезной работы по заметанию следов, поэтому большинство
атакующих устанавливают backdoor. Backdoor предоставляет атакующему
простой способ восстановления доступа к системе с привилегиями
root
, но также дает системному администратору
удобный способ обнаружения вторжения. Устранение возможности установки
backdoor возможно повредит безопасности системы, поскольку это
не устранит брешь, позволившую проникнуть в
систему.
Меры безопасности всегда должны реализовываться на нескольких уровнях, которые могут быть классифицированы следующим образом:
Защита root
и служебных учётных
записей.
Защита работающих под root
сервисов и suid/sgid исполняемых файлов.
Защита учётных записей пользователей.
Защита файла паролей.
Защита ядра, raw устройств и файловых систем.
Быстрое обнаружение несанкционированных изменений в системе.
Паранойя.
В следующем разделе этой главы эти темы изложены более подробно.
В этом документе мы будет использовать
выделенный текст, упоминая приложение,
и моноширинный
шрифт, упоминая определенные
команды. Для протоколов используется обычный шрифт. Это
типографическое отличие полезно для таких случаев, как ssh, поскольку
это и команда и протокол.
В последующем разделе будут рассмотрены методы защиты системы FreeBSD, упомянутые в предыдущем разделе этой главы.
Во-первых, не беспокойтесь о защите служебных учётных записей,
если не защищена учётная запись root
. В
большинстве систем у учётной записи root
есть
пароль. Использование пароля root
опасно всегда. Это не означает, что вы должны
удалить пароль. Пароль почти всегда необходим для доступа
по консоли. Но это означает, что вы должны сделать невозможным
использование пароля не из консоли или может быть даже с помощью
команды su(1). Например, убедитесь, что псевдо-терминалы
в файле /etc/ttys
перечислены с параметром
insecure
, что делает невозможным вход на них
под root
напрямую с помощью
telnet
или rlogin
. При
использовании других средств входа, таких как
sshd, убедитесь что вход под
root
напрямую отключен и в них. Сделайте
это, открыв файл /etc/ssh/sshd_config
, и
убедившись, что параметр PermitRootLogin
установлен в NO
. Проверьте каждый метод доступа
- сервис FTP и ему подобные часто подвержены взлому. Прямой
вход под root
должен быть разрешен только с
системной консоли.
Конечно, как системный администратор вы должны иметь доступ
root
, поэтому потребуется открыть несколько
<<лазеек>>. Но убедитесь, что для доступа к ним необходим
дополнительный пароль. Одним из способов доступа к
root
является добавление соответствующих учётных
записей к группе wheel
(в файле
/etc/group
). Это позволяет использовать
su
для доступа к root
.
Вы никогда не должны давать таким учётным записям доступ
к wheel
непосредственно, помещая их в группу
wheel
в файле паролей. Служебные учётные
записи должны помещаться в группу staff
,
а затем добавляться к группе wheel
в файле
/etc/group
. Только те члены группы staff,
которым действительно нужен доступ к root
,
должны быть помещены в группу wheel
.
При работе с такими методами аутентификации как Kerberos, возможно также
использование файла .k5login
в каталоге
пользователя root
для доступа к учётной записи
root
с помощью ksu(1) без помещения
кого-либо в группу wheel
. Это решение возможно
лучше, поскольку механизм wheel
все еще
позволяет взлом root
, если злоумышленник
получил копию файла паролей и смог взломать служебную учётную запись.
Хотя использование механизма wheel
лучше,
чем работа через root
напрямую, это не
обязательно самый безопасный способ.
Непрямой способ защиты служебных учётных записей и конечно
root
это использование альтернативных методов
доступа и замена зашифрованных паролей на символ
<<*
>>. Используя команду
vipw(8), замените каждый зашифрованный пароль служебных учётных
записей на этот символ для запрета входа с аутентификацией по паролю.
Эта команда обновит файл /etc/master.passwd
и
базу данных пользователей/паролей.
Служебная учётная запись вроде этой:
foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Должна быть заменена на такую:
foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Это изменение предотвратит обычный вход, поскольку зашифрованный
пароль никогда не совпадет с <<*
>>.
После этого члены группы staff должны использовать другой механизм
аутентификации, например kerberos(1) или ssh(1) с парой
ключей: публичным и приватным. При использовании такой системы как
Kerberos, потребуется защитить сервер Kerberos и рабочую станцию.
При использовании пары публичного/приватного ключей с ssh,
потребуется защитить компьютер, с которого
происходит вход (обычно это рабочая станция). Дополнительных слой
защиты может быть добавлен путем защиты пары ключей при создании их
с помощью ssh-keygen(1). Возможность заменить пароли служебных
учётных записей на <<*
>> гарантирует
также, что вход может быть осуществлен только через защищенные методы
доступа, которые вы настроили. Это принуждает всех членов staff
использовать защищенные, шифрованные соединения для всех входов,
что закрывает большую брешь, используемую многими нарушителями:
перехват паролей с другого, слабо защищенного компьютера.
Более непрямой механизм безопасности предполагает, что вы входите с более защищенного сервера на менее защищенный. Например, если главный сервер работает со всеми сервисами, рабочая станция не должна работать ни с одним. Для поднятия уровня безопасности до приемлемого уровня, число запущенных на ней сервисов необходимо сократить до минимума, вплоть до отключения их всех, кроме того необходимо использовать защищенный паролем хранитель экрана. Конечно, при наличии физического доступа к рабочей станции атакующий может взломать любую систему безопасности. Это определенно проблема, которую вы должны учитывать, но учтите также тот факт, что большинство взломов совершаются удаленно, через сеть, людьми, которые не имеют физического доступа к вашим рабочим станциям или серверам.
Использование такой системы как Kerberos дает возможность заблокировать или изменить пароль в одном месте, что сразу отразиться на всех компьютерах, где существует служебная учётная запись. Если эта учётная запись будет взломана, возможность немедленно изменить пароль на всех компьютерах нельзя недооценивать. Без этой возможности изменение паролей на N машинах может стать проблемой. Вы можете также наложить ограничения на смену паролей с помощью Kerberos: не только установить значения timeout в Kerberos, но и добавить требование смены пароля пользователем после определенного периода времени (скажем, раз в месяц).
Предусмотрительный системный администратор запускает только те
сервисы, в которых нуждается, ни больше ни меньше. Учитывайте, что
сервисы сторонних разработчиков наиболее подвержены ошибкам. К примеру,
работа со старыми версиями imapd или
popper это все равно что раздача доступа
root
всему миру. Никогда не запускайте
сервисы, которые вы не проверили достаточно внимательно. Многим
сервисам не требуется работа под root
.
Например, даемоны ntalk,
comsat, и
finger могут быть запущены в так
называемых песочницах
(sandboxes). Песочница это не идеальное
решение, поскольку вызывает много проблем, но она подходит под
модель послойной безопасности: если кто-то сможет взломать сервис,
работающий в песочнице, ему потребуется взломать еще и саму
песочницу. Чем больше уровней (<<слоев>>) потребуется
пройти атакующему, тем меньше вероятность его успеха. Ошибки,
позволяющие получать root доступ, находили фактически во всех
сервисах, запускаемых под root
, включая
основные системные сервисы. Если вы обслуживаете машину, на которую
входят только через sshd и никогда не
входят через telnetd,
rshd или
rlogind, отключите эти сервисы!
В FreeBSD сервисы
ntalkd,
comsat и
finger теперь по умолчанию работают в
<<песочнице>>. Другая программа, которая может быть
кандидатом на запуск в <<песочнице>> это
named(8). /etc/defaults/rc.conf
включает
необходимые для запуска named
в <<песочнице>> аргументы в закомментированой форме.
В зависимости от того, устанавливаете ли вы новую систему, или
обновляете старую, учётные записи пользователей, используемые
этими <<песочницами>> могут не быть созданы.
Предусмотрительный системный администратор должен узнать о
<<песочницах>> для сервисов и установить их если есть
возможность.
Есть множество других сервисов, которые обычно не работают в
<<песочницах>>: sendmail,
popper,
imapd, ftpd,
и другие. Некоторым из этих сервисов есть альтернативы,
но их установка может потребовать больше работы, чем вы готовы
выполнить (фактор удобства). Вы можете запустить эти сервисы под
root
и положиться на другие механизмы обнаружения
вторжений, которые могут пройти через них.
Другая большая потенциальная root
брешь
в системе это suid-root и sgid исполняемые файлы. Большинство
этих исполняемых файлов, таких как rlogin,
установлены в /bin
, /sbin
,
/usr/bin
, или /usr/sbin
.
Хотя ничто не может быть безопасно на 100%, находящиеся по умолчанию
в системе suid и sgid исполняемые файлы могут быть признаны
достаточно безопасными. Но root
бреши все еще
обнаруживаются в этих исполняемых файлах. root
брешь, обнаруженная в Xlib
в 1998 делала
xterm (который обычно suid) подверженным
взлому. Лучше сразу принять меры предосторожности, чем сожалеть
потом. Предусмотрительный системный администратор ограничит права
запуска suid исполняемых файлов, которые должны запускаться
пользователями группы staff, только этой группой, а также запретит
доступ (chmod 000
) к тем исполняемым файлам
suid, которые никем не используются. Серверу без монитора обычно
не требуется исполняемый файл xterm.
Исполняемые sgid исполняемые файлы могут быть почти так же опасны.
Если нарушитель сможет взломать sgid-kmem исполняемый файл, он
возможно сможет прочесть /dev/kmem
и
таким образом получить файл зашифрованных паролей, что потенциально
делает возможным взлом любой защищённой паролем учётной записи.
Аналогично нарушитель, проникший в группу kmem
,
может отслеживать последовательности клавиш, отправляемые через
псевдо-терминалы, включая те, что используют защищённые соединения.
Нарушитель, вошедший в группу
tty
может сделать вывод почти на любой
пользовательский терминал. Если пользователь работает с
терминальной программой или эмулятором с возможностью эмуляции
клавиатуры, взломщик может потенциально сгенерировать поток данных,
который заставит терминал пользователя ввести команду, и она будет
запущена с правами этого пользователя.
Учетные записи пользователей обычно сложнее всего защитить.
Вы можете ввести драконовские ограничения доступа к служебным учётным
записям, заменив их пароли на символ
<<*
>>, но возможно не сможете сделать
то же с обычными учётными записями пользователей. Если есть
такая возможность, вы возможно сможете защитить учётные записи
пользователей соответствующим образом. Если нет, просто
более бдительно отслеживайте эти учётные записи. Использование
ssh и Kerberos для учётных записей пользователей более
проблематично, поскольку требует дополнительной административной
работы и технической поддержки, но все же это решение лучше,
чем файл с шифрованными паролями.
Единственный абсолютно надежный способ это замена на
*
максимально возможного количества паролей и
использование ssh или Kerberos для доступа к таким учётным записям.
Хотя файл с шифрованными паролями (/etc/spwd.db
)
доступен для чтения только root
, возможно, что
нарушитель сможет получить доступ на чтение к этому файлу, даже если
не получит права root
на запись.
Ваши скрипты безопасности должны всегда проверять и составлять отчет об изменениях файла паролей (обратитесь к разделу Проверка целостности файлов ниже по тексту).
Если атакующий взломает root
, он сможет
сделать практически все, но есть способы усложнить его задачу.
Например, в большинстве современных ядер встроено устройство
перехвата пакетов. В FreeBSD оно называется
bpf
. Нарушитель обычно пытается запустить
перехват пакетов на взломанной машине. Вы не должны предоставлять
ему такой возможности, на большинстве систем устройство
bpf
не должно быть встроено в ядро.
Но даже если вы выключите устройство bpf
,
все еще остаются проблемы, связанные с устройствами
/dev/mem
и
/dev/kmem
.
Нарушитель все еще может писать на дисковые raw устройства.
Есть также другая возможность ядра, загрузка модулей, kldload(8).
Активный нарушитель может использовать KLD модуль для установки
собственного устройства bpf
или другого
перехватывающего устройства на работающее ядро. Для решения этих
проблем запускайте ядро с большим уровнем безопасности, как минимум 1.
Уровень безопасности может быть установлен с помощью
sysctl
через переменную
kern.securelevel
. После установки уровня
безопасности в 1 доступ на запись в raw устройства будет запрещена и
полностью заработают специальные флаги chflags
,
такие как schg
. Убедитесь также, что
флаг schg
установлен на критически важных
загрузочных исполняемых файлах, каталогах и файлах скриптов -
на всем, что запускается до установке уровня безопасности.
Это требует большого объема работы, и обновление системы на более
высоком уровне безопасности может стать гораздо сложнее. Вы можете
пойти на компромисс и запускать систему на высоком уровне безопасности,
но не устанавливать флаг schg
для каждого
существующего системного файла и каталога. Другая возможность
состоит в монтировании /
и
/usr
только для чтения. Необходимо заметить,
что такие правила слишком жесткие и могут помешать обнаружению
вторжения.
Вы можете защищать только ядро, файлы настройки и управления
системой только до тех пор, пока эта защита не вступит в конфликт
с удобством работы в системе. Например, использование
chflags
для установки бита
schg
на большинство файлов в /
вероятно может только навредить, поскольку хотя и может защитить
файлы, препятствует обнаружению. Последний слой системы безопасности,
возможно, наиболее важный - обнаружение. Остальные меры
безопасности практически бесполезны (или, что еще хуже, могут дать
вам ложное ощущение безопасности) если вы не обнаружите потенциальное
вторжение. Половина функций системы безопасности направлена на
замедление атакующего, а не на его остановку, для того, чтобы дать
системе обнаружения возможность поймать нарушителя на месте
преступления.
Лучший способ обнаружения вторжения - отслеживание измененных, отсутствующих, или неожиданно появившихся файлов. Для наблюдения за измененными файлами лучше всего использовать другую (зачастую централизованную) систему с ограниченным доступом. Добавление написанных вами скриптов к этой дополнительно защищенной системе с ограниченным доступом делает ее практически невидимой для потенциальных взломщиков, и это важно. В целях достижения максимального эффекта вам может потребоваться предоставить этой системе доступ к другим машинам в сети, обычно с помощью NFS экспорта только для чтения или сгенерировав пары ключей ssh для доступа к другим машинам по ssh. Помимо большого объема сетевого трафика, NFS более скрытый метод - он позволяет контролировать файловые системы на каждом клиентском компьютере практически незаметно. Если ваш сервер с ограниченным доступом подключен к клиентским компьютерам через коммутатор, NFS метод это зачастую лучший выбор. При соединении через концентратор, или через несколько маршрутизаторов, NFS метод может стать слишком небезопасным и использование ssh может стать лучшим выбором даже несмотря на то, что ssh оставляет следы своей работы.
Как только у вас появился сервер с ограниченным доступом,
и как минимум доступ на чтение в клиентских системах, потребуется
написать скрипты для выполнения мониторинга. При наличии доступа
по NFS вы можете написать скрипты с помощью простых системных утилит,
таких как find(1) и md5(1). Лучше всего подсчитывать
md5 файлов на клиентском компьютере как минимум один раз в день,
а файлы, контролирующие запуск из /etc
и
/usr/local/etc
даже более часто. При
обнаружении расхождений в md5, контролирующий компьютер должен
просигналить системному администратору проверить изменившиеся
файлы. Хороший скрипт безопасности проверит также наличие
несоответствующих исполняемых suid файлов и новых или измененных
файлов в системных разделах /
и
/usr
.
При использовании ssh вместо NFS, написать скрипты безопасности
гораздо сложнее. Вам обязательно потребуется скопировать
(scp
) скрипты на клиентский компьютер,
сделать из невидимыми, и для безопасности потребуется также
скопировать исполняемые файлы (такие как find), которые будут
использоваться скриптом. Приложение ssh
на клиентском компьютере может быть уже взломано. В конечном итоге,
без ssh не обойтись при работе через небезопасные соединения,
но его гораздо сложнее использовать.
Хороший скрипт безопасности проверит также изменения в файлах
настройки, работающих при подключении пользователей и служебных учётных
записей:
.rhosts
, .shosts
,
.ssh/authorized_keys
и так далее...
файлы, которые могли не попасть в область проверки
MD5
.
Если для пользователей выделен большой объем дискового
пространства, проверка каждого файла на таких разделах может занять
слишком много времени. В таком случае установка флагов монтирования
для запрета suid исполняемых файлов и устройств на таких разделах
это хорошая идея. Примените параметры mount(8)
nodev
и nosuid
. Проверяйте
эти разделы в любом случае, хотя бы раз в неделю, поскольку
необходимо обнаруживать попытки взлома, независимо от того,
эффективны они или нет.
Учет процессов (accton(8)) это относительно несложная возможность операционной системы, которая может помочь как механизм обнаружения состоявшихся вторжений. Она особенно полезна для обнаружения пути проникновения нарушителя в систему, если файл не был затронут проникновением.
Наконец, скрипты безопасности должны обработать лог файлы, которые необходимо создавать настолько защищенным способом, насколько это возможно - подключение syslog удаленно может быть очень полезным. Злоумышленник попытается уничтожить следы взлома, и лог файлы критически важны для системного администратора, пытающегося отследить время и метод первого проникновения. Один из надежных способов получения лог файлов является подключение системной консоли к последовательному порту и постоянный сбор информации через защищенную машину, отслеживающую консоли.
Немного паранойи никогда не повредит. Как правило, системный администратор может добавлять элементы безопасности в любом количестве, пока это не влияет на удобство, а также некоторое количество элементов безопасности, влияющих на удобство. Что даже более важно, системный администратор должен немного изменить их - если вы используете рекомендации, например те, что даны в этом документе, они становятся известны атакующему, который также имеет доступ к этому документу.
Этот раздел охватывает DoS атаки. DoS атаки это обычно пакетные атаки. Хотя против современной атаки с подделкой пакетов, которая перегружает сеть, мало что можно сделать, вы можете ограничить повреждения, убедившись, что атака не может обрушить ваши сервера.
Ограничение количества порождаемых процессов.
Уменьшение последствий springboard атак (ICMP ответ, широковещательный ping и т.д.).
Кэш маршрутизации ядра.
Обычная DoS атака против порождающего процессы сервера пытается
исчерпать ресурсы сервера по процессам, файловым дескрипторам и
памяти до тех пор, пока машина не <<повиснет>>. У
inetd (обратитесь к inetd(8))
есть несколько параметров, позволяющих ограничить такие атаки.
Необходимо учесть, что хотя можно предотвратить падение системы, в
общем случае невозможно предотвратить прекращение работы сервиса.
Внимательно прочтите страницу справочника и обратите особое внимание
на параметры -c
, -C
, и
-R
. Учтите, что параметр -C
не
работает в случае атак с использованием поддельных IP пакетов,
поэтому как правило необходимо использование комбинации параметров.
Некоторые standalone сервисы используют собственные параметры,
ограничивающие порождение процессов.
У Sendmail есть собственный параметр
-OMaxDaemonChildren
, которая работает гораздо лучше,
чем параметр sendmail, ограничивающий нагрузку. Вам необходимо задать
параметр запуска sendmail
MaxDaemonChildren
достаточно большим, чтобы
обслуживать ожидаемую нагрузку, но так, чтобы компьютер мог обслужить
такое количество приложений sendmail без
падения системы. Хорошей мерой является запуск sendmail в режиме
очереди (-ODeliveryMode=queued
) и запуск даемона
(sendmail -bd
) отдельно от очереди
(sendmail -q15m
). Если вы все же хотите
организовать доставку в режиме реального времени, запускайте
очередь с меньшим интервалом -q1m
, но убедитесь
в правильной установке параметра sendmail
MaxDaemonChildren
для предотвращения
ошибок.
Syslogd может быть атакован
непосредственно, настоятельно рекомендуется использовать параметр
-s
если это возможно и параметр -a
в остальных случаях.
Вы также должны быть очень осторожны с сервисами, совершающими обратное подключение, например, с TCP Wrapper и его обратным identd-запросом, который может быть атакован напрямую. По этой причине возможность TCP Wrapper генерировать обратный ident обычно не следует использовать.
Правильным будет запрет доступа к внутренним сервисам из внешней
сети путем соответствующей настройки брандмауэра на внешнем
маршрутизаторе. Идея в том, чтобы предотвратить перегрузку сервисов
атаками из внешней сети, а кроме того защитить
root
от взлома через сеть. Всегда настраивайте
исключающий брандмауэр, т.е. <<закрыть все
кроме портов A, B, C, D, и M-Z>>.
Этим способом вы можете закрыть все порты нижнего диапазона,
кроме явно указанных, таких как named
(если вы поддерживаете интернет-зону),
ntalkd,
sendmail, и других сервисов, доступных
из интернет. Если вы попробуете настроить брандмауэр другим
способом - включающий, или разрешающий брандмауэр, есть
большой шанс забыть <<закрыть>> пару сервисов, или
добавить новый внутрисетевой сервис и забыть обновить брандмауэр.
Вы можете открыть диапазон портов с большими номерами
для обычных приложений без угрозы портам нижнего диапазона.
Учтите также, что FreeBSD позволяет вам контролировать диапазоны
портов, используемые для динамической привязки через различные
переменные sysctl
net.inet.ip.portrange
(sysctl -a | fgrep
portrange
), что позволяет упростить настройку
брандмауэра. Например, вы можете использовать обычный
диапазон портов со значениями от 4000 до 5000, и диапазон портов с
большими номерами от 49152 до 65535, а затем заблокировать все до
4000 порта (конечно оставив доступ из интернет к определенным
портам.
Другой распространенный тип DoS атак называется springboard
- сервер атакуется таким образом, что генерируемые ответы
перегружают его, локальную сеть или какие-то другие компьютеры.
Наиболее распространенная атака этого вида это
широковещательная ICMP ping атака.
Атакующий подделывает пакеты ping, подставляя IP адрес машины, которую
он намеревается атаковать, и отправляет их на широковещательный
адрес вашей локальной сети. Если ваш внешний маршрутизатор не
настроен на отбрасывание пакетов ping на широковещательные адреса,
ваша сеть начинает генерировать соответствующие ответы на
поддельный адрес, что приводит к перегрузке хоста-жертвы, особенно
если атакующий использует этот же трюк с множеством
широковещательных адресов в множестве сетей одновременно.
Были зарегистрированы широковещательные атаки свыше ста двадцати
мегабит. Другая распространенная springboard атака направлена на
ICMP систему сообщения об ошибках. Конструируя пакеты, вызывающие
ICMP сообщения об ошибках, атакующий может нагрузить входящее
соединение сервера и вынудить сервер нагрузить исходящее соединение
ICMP ответами. Этот тип атаки может также обрушить сервер, когда
тот исчерпает mbuf, обычно если сервер не может ограничить число
ответов ICMP, когда они генерируются слишком быстро.
Используйте переменную sysctl
net.inet.icmp.icmplim
. Последний
основной класс springboard атак относится к определенным
внутренним сервисам inetd, таким как
сервис udp echo. Атакующий просто подделывает адрес источника
и адрес назначения UDP пакетов, устанавливая в их качестве
соответственно echo порт сервера A и B, оба этих сервера принадлежат
вашей локальной сети. Эти два сервера начинают перебрасываться
этим пакетом друг с другом. Атакующий может вызвать перегрузку
обеих серверов и их сетей, просто отправив несколько пакетов таким
способом. Аналогичные проблемы существуют с портом
chargen. Компетентный системный
администратор должен отключить эти тестовые сервисы inetd.
Атаки с поддельными пакетами могут также использоваться для
переполнения кэша маршрутизации ядра. Обратитесь к параметрам
sysctl
net.inet.ip.rtexpire
,
rtminexpire
, и rtmaxcache
.
Атака с поддельными пакетами, использующая произвольный IP адрес
источника, заставит ядро сгенерировать временный кэшированный
маршрут в таблице маршрутизации, который можно увидеть с помощью
netstat -rna | fgrep W3
. Эти маршруты обычно
удаляются через 1600 секунд или около того. Если ядро определит,
что кэшированная маршрутная таблица стала слишком большой, оно
динамически уменьшит rtexpire
, но никогда не
станет делать его меньше чем rtminexpire
.
С этим связаны две проблемы:
Ядро не отреагирует достаточно быстро, когда легко нагруженный сервер будет внезапно атакован.
Значение rtminexpire
недостаточно мало
для поддержки работоспособности в условиях продолжительной
атаки.
Если ваши серверы подключены к интернет через линию T3 или
более быструю, предусмотрительно будет изменить оба значения
rtexpire
и rtminexpire
с помощью sysctl(8). Никогда не устанавливайте ни один из этих
параметров в нуль (если только вы не хотите обрушить систему).
Установка обеих параметров в значение 2 секунды должна предотвратить
таблицу маршрутизации от атак.
При использовании Kerberos и ssh необходимо учесть несколько
возможных проблем. Kerberos V это отличный протокол
аутентификации, но в адаптированных к нему приложениях
telnet и
rlogin есть несколько ошибок, которые
могут сделать их непригодными к работе с бинарными потоками.
К тому же, по умолчанию Kerberos не шифрует сессию, если вы не
используете параметр -x
.
ssh шифрует все по умолчанию.
ssh работает очень хорошо во всех ситуациях, но пересылает
ключи по умолчанию. Это означает, что если вы работаете с
защищенной рабочей станции, ключи на которой дают доступ к
остальной сети, и заходите по ssh на незащищенный компьютер,
эти ключи могут быть использованы для взлома. Атакующему
не удастся получить сами ключи, но поскольку ssh открывает порт
во время входа в систему, то если на незащищенной машине
взломан root
, эти ключи могут быть использованы
для доступа к другим компьютерам, на которых они действуют.
Мы рекомендуем использовать ssh в комбинации с Kerberos
для служебных учётных записей если это возможно.
ssh может быть собран с поддержкой
Kerberos. Это уменьшает зависимость от потенциально подверженных
взлому ssh ключей, и в то же время защищает пароли через
Kerberos. Ключи ssh должны использоваться только для работы
скриптов на защищенных компьютерах (там, где Kerberos использовать
не получится). Мы также рекомендуем или выключить передачу ключей
в настройках ssh, или использовать параметр
from=IP/DOMAIN
, поддерживаемый ssh в файле
authorized_keys
, который позволяет использовать
ключи только с определенных компьютеров.
У каждого пользователя UNIX(R) системы есть пароль, связанный с его учётной записью. Очевидно, что эти пароли должны быть известны только пользователю и соответствующей операционной системе. Для защиты паролей они шифруются способом, известным как <<односторонний хэш>>, то есть их можно легко зашифровать, но нельзя расшифровать. Другими словами, то, что мы сказали чуть раньше было очевидно, но не совсем верно: операционной системе сам пароль неизвестен. Ей известен только пароль в зашифрованной форме. Единственный способ получить <<обычный>> пароль это простой перебор всех возможных паролей.
К сожалению, единственный способ шифрования пароля при появлении UNIX(R) был основан на DES, Data Encryption Standard. Это не было проблемой для пользователей, живущих в США, но поскольку исходный код DES нельзя было экспортировать из США, FreeBSD нашла способ одновременно не нарушать законов США и сохранить совместимость со всеми другими вариантами UNIX(R), где все еще использовался DES.
Решение было в разделении библиотек шифрования, чтобы пользователи в США могли устанавливать и использовать библиотеки DES, а у остальных пользователей был метод шифрования, разрешенный к экспорту. Так FreeBSD пришла к использованию MD5 в качестве метода шифрования по умолчанию. MD5 считается более безопасным, чем DES, поэтому установка DES рекомендуется в основном из соображений совместимости.
На данный момент библиотека поддерживает хэши DES, MD5 и Blowfish. По умолчанию FreeBSD использует для шифрования паролей MD5.
Довольно легко определить какой метод шифрования используется
в FreeBSD. Один из способов это проверка файла
/etc/master.passwd
. Пароли, зашифрованные в
хэш MD5 длиннее, чем те, что зашифрованы с помощью DES и начинаются
с символов $1$
. Пароли, начинающиеся
с символов $2a$
зашифрованы с помощью
Blowfish. Пароли, зашифрованные DES не содержат каких-то определенных
идентифицирующих символов, но они короче, чем пароли MD5 и
закодированы в 64-символьном алфавите, не содержащем символа
$
, поэтому относительно короткая строка,
не начинающаяся с этого символа это скорее всего DES пароль.
Формат паролей, используемых для новых паролей, определяется
параметром passwd_format
в
/etc/login.conf
, которое может принимать значения
des
, md5
или
blf
. Обратитесь к странице справочника
login.conf(5) за дополнительной информацией о параметрах
login.
FreeBSD использует для одноразовых паролей OPIE (One-time Passwords In Everything). OPIE по умолчанию использует MD5.
Есть три различных вида паролей, о которых мы поговорим ниже.
Первый вид это ваш обычный пароль UNIX(R) или пароль Kerberos; мы
будем называть его <<пароль UNIX(R)>>. Второй вид это
одноразовый пароль, сгенерированный программой
OPIE opiekey(1) и принимаемый
командой opiepasswd(1)
и в приглашении login; мы будем называть их <<одноразовыми
паролями>>. Последний вид паролей это защищенные пароли, которые
вы передаете программам opiekey
(и иногда
opiepasswd
),
и которые эти программы используют для создания одноразовых паролей;
мы будем называть его <<защищенными паролями>> или просто
<<паролями>>.
Защищенный пароль не имеет никакого отношения к вашему паролю UNIX(R); они могут быть одинаковыми, но это не рекомендуется. Защищенные пароли OPIE не ограничены 8-ю символами, как старые UNIX(R) пароли[6], они могут быть настолько длинными, насколько вы захотите. Очень часто используются пароли длиной в шесть или семь символов. По большей части система OPIE работает полностью независимо от системы паролей UNIX(R).
Помимо паролей, есть два других вида данных, важных для OPIE. Первый, известный как <<seed>> или <<ключ>>, состоит из двух букв и пяти цифр. Другой, называемый <<счетчиком цикла>>, это номер от 1 до 100. OPIE создает одноразовый пароль, соединяя ключ и защищенный пароль, а затем применяя MD4 столько раз, сколько указано счетчиком цикла и выдает результат в виде шести коротких слов на английском. Эти шесть слов на английском и есть ваш одноразовый пароль. Система аутентификации (как правило PAM) хранит последний использованный одноразовый пароль, и пользователь аутентифицируется если хэш вводимого пользователем пароля совпадает с предыдущим паролем. Поскольку используется односторонний хэш, невозможно сгенерировать следующий одноразовый пароль если получен предыдущий; счетчик цикла уменьшается после каждого успешного входа для поддержки синхронизации пользователя с программой login. Когда счетчик цикла уменьшается до 1, набор OPIE должен быть переинициализирован.
В каждой из обсуждаемых ниже систем задействованы три программы.
Программа opiekey
получает счетчик цикла, ключ и защищенный пароль и создает одноразовый
пароль или последовательный список одноразовых паролей. Программа
opiepasswd
используется для инициализации OPIE соответственно,
и для смены паролей, счетчиков цикла, или ключей; она принимает
защищенный пароль или счетчик цикла, ключ и одноразовый пароль.
Программа opieinfo
проверяет соответствующий файл (/etc/opiekeys
)
и печатает текущий счетчик
цикла и ключ вызывающего пользователя.
Мы рассмотрим четыре вида операций. Первая это использование
opiepasswd
через
защищенное соединение для первоначальной настройки системы одноразовых
паролей, или для изменения пароля или ключа. Вторая операция это
использование в тех же целях
opiepasswd
через незащищенное соединение, в сочетании
с opiekey
через защищенное
соединение. Третья это использование
opiekey
для входа через
незащищенное соединение. Четвертая это использование
opiekey
для генерации
набора ключей, которые могут быть записаны или распечатаны для
соединения из места, где защищенное соединение недоступно.
Для первоначальной настройки OPIE используется команда
opiepasswd
:
%
opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c Adding unfurl: Only use this method from the console; NEVER from remote. If you are using telnet, xterm, or a dial-in, type ^C now or exit with no password. Then run opiepasswd without the -c parameter. Using MD5 to compute responses. Enter new secret pass phrase: Again new secret pass phrase: ID unfurl OTP key is 499 to4268 MOS MALL GOAT ARM AVID COED
В приглашениях Enter new secret pass phrase:
или
Enter secret password:
, введите пароль или фразу.
Запомните, это не тот пароль, с которым вы будете входить, он
используется для генерации одноразовых паролей. Строка
<<ID>> содержит информацию для вашего конкретного случая:
имя пользователя, счетчик цикла и ключ. При входе система запомнит
эти параметры и отправит их вам, поэтому их не надо запоминать. В
последней строке находится одноразовый пароль, соответствующий
этим параметрам и секретному паролю; если вы войдете в систему сразу,
используйте этот одноразовый пароль.
Для инициализации или изменения защищенного пароля через
незащищенное соединение, вам потребуется существующее защищенное
соединение куда-то, где вы сможете запустить
opiekey
; это может быть
shell на компьютере, которому вы доверяете.
Вам потребуется также установить значение счетчика цикла (100
возможно подойдет), и задать ключ или использовать сгенерированный.
Через незащищенное соединение (к компьютеру, на котором производится
настройка), используйте команду opiepasswd
:
%
opiepasswd
Updating unfurl: You need the response from an OTP generator. Old secret pass phrase: otp-md5 498 to4268 ext Response: GAME GAG WELT OUT DOWN CHAT New secret pass phrase: otp-md5 499 to4269 Response: LINE PAP MILK NELL BUOY TROY ID mark OTP key is 499 gr4269 LINE PAP MILK NELL BUOY TROY
Чтобы принять ключ по умолчанию нажмите Enter. Затем, перед вводом пароля доступа введите те же параметры в вашем защищенном соединении или средстве доступа OPIE:
%
opiekey 498 to4268
Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
Теперь переключитесь на незащищенное соединение и скопируйте одноразовый пароль, сгенерированный соответствующей программой.
Как только вы настроите OPIE, во время входа появится приглашение вроде этого:
%
telnet example.com
Trying 10.0.0.1... Connected to example.com Escape character is '^]'. FreeBSD/i386 (example.com) (ttypa) login:<username>
otp-md5 498 gr4269 ext Password:
Кроме того, у OPIE есть полезная особенность (не показанная здесь): если вы нажмете Enter в приглашении на ввод пароля, включится эхо, и вы сможете увидеть то, что вводите. Это может быть очень полезно, если вы пытаетесь ввести пароль вручную, например с распечатки.
В этот момент вам потребуется сгенерировать одноразовый пароль,
чтобы ввести его в приглашение. Это должно быть выполнено на
защищенной системе, в которой вы можете запустить
opiekey
(есть версии
для DOS, Windows(R) и Mac OS(R)). Им требуются значения счетчика цикла
и ключ в качестве параметров командной строки. Вы можете скопировать
и вставить их прямо из приглашения login компьютера, на который
входите.
В защищенной системе:
%
opiekey 498 to4268
Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
Теперь, когда у вас есть одноразовый пароль, можете продолжить вход в систему.
Иногда вы отправляетесь туда, где нет доступа к защищенному
компьютеру или защищенному соединению. В этом случае, можно
использовать команду
opiekey
для создания нескольких одноразовых
паролей, которые вы сможете распечатать и забрать с собой.
Например:
%
opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase:<secret password>
26: JOAN BORE FOSS DES NAY QUIT 27: LATE BIAS SLAY FOLK MUCH TRIG 28: SALT TIN ANTI LOON NEAL USE 29: RIO ODIN GO BYE FURY TIC 30: GREW JIVE SAN GIRD BOIL PHI
Параметр -n 5
запрашивает пять паролей,
30
указывает значение последнего счетчика цикла.
Обратите внимание, что пароли печатаются в
обратном по сравнению с обычным использованием
порядке. Если вы действительно параноик, перепишите результат
вручную; иначе скопируйте и передайте его lpr
.
Обратите внимание, что каждая линия содержит как счетчик цикла, так
и одноразовый пароль; вам может показаться удобным отрывать пароль
после использования.
OPIE может ограничивать использование паролей UNIX(R) на основе IP
адреса. Соответствующий файл называется
/etc/opieaccess
, он существует по умолчанию.
Обратитесь к
opieaccess(5) за более подробной информацией об этом файле и о
предосторожностях, которые вы должны предпринять при использовании
этого файла.
Вот пример файла opieaccess
:
permit 192.168.0.0 255.255.0.0
Эта строка позволяет пользователям, чей IP адрес (который подвержен подделке) соответствует указанному значению и маске, входить с паролем UNIX(R).
Если ни одно из правил в opieaccess
не
сработало, поведением по умолчанию является запрет всех не-OPIE
входов.
Каждый, кто знаком с inetd(8), возможно когда-то слышал о TCP Wrappers. Но немногие полностью понимают их полезность в сетевой среде: большинство используют брандмауэр. Хотя его применимость очень широка, есть вещи, с которыми брандмауэр не может работать, такие как отправка текста обратно вызывающей стороне. Программное обеспечение уровня TCP может делать это и многое другое. В следующих нескольких разделах обсуждаются многие возможности TCP Wrappers, и, когда это необходимо, даются примеры настроек.
Программное обеспечение TCP Wrappers
расширяет возможность inetd
по поддержке
каждого даемона. С ним становится возможным протоколирование,
возврат сообщений вызывающей стороне, ограничение подключений
внутренней сетью и т.п. Хотя некоторые из этих возможностей
могут быть реализованы брандмауэром, TCP
Wrappers не только предоставляют дополнительный уровень защиты,
но и дают больше контроля над системой, чем это возможно
с брандмауэром.
Расширенная функциональность обработчиков TCP не может заменить хороший сетевой экран. Тем не менее, обработчики TCP могут использоваться совместно с сетевым экраном и другими средствами обеспечения информационной безопасности, обеспечивая тем самым дополнительный уровень защиты системы.
Поскольку рассматривается расширение к настройкам
inetd
, предполагается, что читатель ознакомился
с разделом о настройке
inetd.
Хотя программы, запускаемые из inetd(8), на самом деле не соответствуют термину <<даемоны>>, существует традиция называть их именно так. Этот термин и используется в данном разделе.
Единственное требование для использования TCP
Wrappers в FreeBSD это наличие в rc.conf
параметров запуска inetd
-Ww
;
это настройки по умолчанию. Конечно, ожидается также наличие
правильной настройки /etc/hosts.allow
,
но syslogd(8) отправит сообщения в системный протокол если
что-то не так.
В отличие от других реализаций TCP
Wrappers, использование hosts.deny
не
поддерживается. Все параметры настройки должны быть помещены
в /etc/hosts.allow
.
В простейшей конфигурации, политика подключения сводится к
разрешению или блокированию в зависимости от параметров в
/etc/hosts.allow
. Настройка в FreeBSD
по умолчанию заключается в разрешении подключения к любому
даемону, запущенному из inetd
. Изменение
этого поведения будет обсуждаться только после рассмотрения
базовой настройки.
Базовая настройка обычно принимает форму
daemon : address : action
, где
daemon
это имя даемона, который запускается
inetd
. В поле address
может находиться имя хоста, IP адрес, или
IPv6 адрес, заключенный в квадратные скобки ([ ]).
Поле action может принимать значения allow или deny,
чтобы соответственно разрешать или запрещать доступ.
Помните, что поиск правил производится до первого совпадения.
При обнаружении совпадения применяется соответствующее правило
и поиск прерывается.
Существуют и другие параметры, но они будут описаны в следующих
разделах. Простая конфигурация может быть, например, такой:
для разрешения соединений по протоколу POP3
к даемону mail/qpopper,
в hosts.allow
необходимо добавить следующие
строки:
# This line is required for POP3 connections: qpopper : ALL : allow
После добавления этой строки, inetd
необходимо перезапустить. Это можно выполнить командой
kill(1) или скриптом /etc/rc.d/inetd
с параметром restart
.
У TCP Wrappers имеются дополнительные параметры; они дают дополнительные возможности контроля над соединениями. Иногда бывает полезно возвращать комментарий определенным хостам или при подключении к определенным даемонам. В других случаях может быть необходимо добавить запись в лог файл, или отправить письмо администратору. В определенных ситуациях сервис должен использоваться только для локальных соединений. Все это возможно с использованием параметров c шаблонами, символами подстановки и путем выполнения внешних команд. Следующие два раздела посвящены этим типам настроек.
Предположим ситуацию, в которой соединение должно
быть запрещено, а о причине необходимо сообщить вызывающей
стороне. Как это можно сделать? Соответствующую
возможность предоставляет параметр twist
.
При попытке подключения выполняется команда или скрипт,
заданный этим параметром. Пример дан в файле
hosts.allow
:
# The rest of the daemons are protected. ALL : ALL \ : severity auth.info \ : twist /bin/echo "You are not welcome to use %d from %h."
В этом примере сообщение,
<<You are not allowed to use daemon
from hostname
.>> будет возвращено
от всех даемонов, которые не были предварительно настроены
в файле доступа. Обратите внимание, что возвращаемое
сообщение должно быть заключено в
кавычки; из этого правила нет исключений.
Возможна реализация DoS атаки, когда группа атакующих производит множество запросов на подключение.
Возможно также использование параметра spawn
.
Как и параметр twist
, параметр
spawn
подразумевает запрет соединения
и может использоваться для запуска команд или скриптов.
В отличие от twist
, spawn
не
отправляет ответ вызывающей стороне. Например, следующая
конфигурация:
# We do not allow connections from example.com: ALL : .example.com \ : spawn (/bin/echo %a from %h attempted to access %d >> \ /var/log/connections.log) \ : deny
отклонит все попытки соединения из домена
*.example.com
; имя хоста,
IP адрес и даемон протоколируются в файл
/var/log/connections.log
.
Помимо приведенных выше символов подстановки, например %a, существует еще несколько символов. Обратитесь к странице hosts_access(5) справочной системы за полным списком.
До этого момента в примерах использовался шаблон
ALL
. Существуют и другие параметры,
функциональность которых в дальнейшем может быть расширена.
ALL
соответствует любому даемону,
домену или IP адресу. Другой доступный
шаблон это PARANOID
, который соответствует
хосту, IP адрес которого может быть
подделан. Другими словами, paranoid
может быть использован для определения действия с хостами,
IP адрес которых не соответствует имени
хоста. Вот пример применения этого параметра:
# Block possibly spoofed requests to sendmail: sendmail : PARANOID : deny
В этом примере все запросы на подключения к
sendmail
от хостов, IP
адрес которых не соответствует имени хоста, будут
отклонены.
Использование PARANOID
невозможно,
если у клиента или сервера неправильно настроен
DNS. В таких случаях необходимо
вмешательство администратора.
Более подробная информация о шаблонах и их возможностях дана на странице hosts_access(5) справочной системы.
Для того, чтобы любая выбранная конфигурация заработала,
в hosts.allow
необходимо закомментировать
первую строку настройки. В начале раздела об этом не
упоминалось.
Kerberos это сетевая дополнительная система/протокол, которая делает возможной аутентификацию пользователей через сервисы на защищенном сервере. Такие сервисы, как удаленный вход, удаленное копирование, защищенное копирование файлов между системами и другие задачи с высоким риском становятся допустимо безопасными и более контролируемыми.
Последующие инструкции могут использоваться в качестве руководства по настройке поставляемого с FreeBSD Kerberos. Тем не менее, вам могут потребоваться страницы справочника полного дистрибутива.
Kerberos это опциональный компонент FreeBSD. Простейший способ
установки этой программы это выбор krb4
или
krb5
из sysinstall
во время первой установки FreeBSD. Будет установлен
<<eBones>> (KerberosIV) или <<Heimdal>>
(Kerberos5) вариант Kerberos. Включение этих реализаций объясняется
тем, что они разработаны вне США/Канады и доступны вне этих стран,
поскольку на них не влияют ограничения на экспорт криптографического
кода из США.
Кроме того, реализация MIT Kerberos доступна из Коллекции Портов в виде пакета security/krb5.
Это необходимо сделать только на сервере Kerberos. Во-первых,
убедитесь что не осталось старой базы данных Kerberos. Войдите
в каталог /etc/kerberosIV
и убедитесь, что в нем
находятся только эти файлы:
#
cd /etc/kerberosIV
#
ls
README krb.conf krb.realms
Если присутствуют еще какие-то файлы (такие как
principal.*
или master_key
),
используйте команду kdb_destroy
для удаления старой
базы данных Kerberos, или, если Kerberos не запущен, просто удалите
эти файлы.
Затем отредактируйте файлы krb.conf
и
krb.realms
, введя ваши данные. В этом примере
уникальный идентификатор EXAMPLE.COM
, сервер
grunt.example.com
. Отредактируем или
создадим файл krb.conf
:
#
cat krb.conf
EXAMPLE.COM EXAMPLE.COM grunt.example.com admin server CS.BERKELEY.EDU okeeffe.berkeley.edu ATHENA.MIT.EDU kerberos.mit.edu ATHENA.MIT.EDU kerberos-1.mit.edu ATHENA.MIT.EDU kerberos-2.mit.edu ATHENA.MIT.EDU kerberos-3.mit.edu LCS.MIT.EDU kerberos.lcs.mit.edu TELECOM.MIT.EDU bitsy.mit.edu ARC.NASA.GOV trident.arc.nasa.gov
В этом примере другие идентификаторы введены для иллюстрации настройки c несколькими хостами. С целью упрощения настройки вы можете не включать их.
Первая строка содержит идентификатор, под которым работает эта
система. Остальные строки связывают идентификаторы с именами хостов.
Сначала указывается идентификатор, затем хост под этим
идентификатором, работающий как <<центр распространения
ключей>>. Слова admin server
с последующим
именем хоста означают, что этот хост также является сервером
администрирования базы данных. За дальнейшей информацией об этих
терминах обратитесь к страницам справочника по Kerberos.
Мы добавили grunt.example.com
к идентификатору EXAMPLE.COM
и кроме того
сопоставили всем хостам в домене
.example.com
идентификатор
EXAMPLE.COM
. Файл
krb.realms
будет выглядеть так:
#
cat krb.realms
grunt.example.com EXAMPLE.COM .example.com EXAMPLE.COM .berkeley.edu CS.BERKELEY.EDU .MIT.EDU ATHENA.MIT.EDU .mit.edu ATHENA.MIT.EDU
Как и в предыдущем примере, другие идентификаторы добавлены только для примера. С целью упрощения настройки вы можете не включать их.
В первой строке определенная система сопоставляется с идентификатором. В остальных строках показано, сопоставить идентификатору остальные системы определенного поддомена.
Теперь мы готовы к созданию базы данных. Потребуется всего лишь
запустить сервер Kerberos (или центр распространения ключей).
Используйте для этого kdb_init
:
#
kdb_init
Realm name [default ATHENA.MIT.EDU ]:
EXAMPLE.COM
You will be prompted for the database Master Password. It is important that you NOT FORGET this password.Введите главный ключ Kerberos:
Теперь мы должны сохранить ключ, чтобы сервера на локальных
компьютерах могли его взять. Используйте для этого команду
kstash
:
#
kstash
Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE!
Этой командой зашифрованный главный пароль сохранен в
/etc/kerberosIV/master_key
.
Для каждой системы, защищаемой Kerberos, в базу данных должны
быть добавлены две записи. Это kpasswd
и
rcmd
. Они добавляются вместе с именем
системы.
Эти даемоны, kpasswd и rcmd позволяют другим системам изменять пароли Kerberos и запускать такие команды как rcp(1), rlogin(1), rsh(1).
Теперь добавим эти записи:
#
kdb_edit
Opening database...Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value.Principal name:
passwd
Instance:
grunt
<Not found>,Create [y] ?
y
Principal: passwd, Instance: grunt, kdc_key_ver: 1New Password:
<---- enter RANDOM here Verifying passwordNew Password:
<---- enter RANDOM hereRandom password [y] ?
y
Principal's new key version = 1Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.Principal name:
rcmd
Instance:
grunt
<Not found>,Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1New Password:
<---- enter RANDOM here Verifying passwordNew Password:
<---- enter RANDOM hereRandom password [y] ?
Principal's new key version = 1Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.Principal name:
<---- null entry here will cause an exit
Теперь необходимо создать все записи сервисов, которые были
определены для каждого компьютера. Используем для этого команду
ext_srvtab
. Будет создан файл, который должен
быть скопирован или перемещен безопасным способом
в каталог /etc/kerberosIV
каждого Kerberos
клиента. Этот файл должен присутствовать на каждом сервере и
клиенте, он необходим для работы Kerberos.
#
ext_srvtab grunt
Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Generating 'grunt-new-srvtab'....
Эта команда создаст временный файл, который должен быть
переименован в srvtab
, чтобы серверы смогли
обратиться к нему. Используйте команду mv(1) для перемещения
его в исходной системе:
#
mv grunt-new-srvtab srvtab
Если файл предназначен для клиентской системы, и сеть не
безопасна, скопируйте
на съемный носитель и перенесите файл с его помощью. Убедитесь, что
переименовали его в client
-new-srvtabsrvtab
в каталоге
/etc/kerberosIV
клиента, и что режим доступа к
нему 600:
#
mv grumble-new-srvtab srvtab
#
chmod 600 srvtab
Теперь необходимо добавить в базу данных пользователей.
Во-первых, создадим запись для пользователя jane
.
Используйте команду kdb_edit
:
#
kdb_edit
Opening database...Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value.Principal name:
jane
Instance:
<Not found>,Create [y] ?
y
Principal: jane, Instance: , kdc_key_ver: 1New Password:
<---- enter a secure password here Verifying passwordNew Password:
<---- re-enter the password here Principal's new key version = 1Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.Principal name:
<---- null entry here will cause an exit
Во-первых, запустите даемоны Kerberos. При правильном
редактировании файла /etc/rc.conf
они запустятся
автоматически при перезагрузке. Это необходимо только на сервере
Kerberos. Клиенты Kerberos получат все необходимые данные из
каталога /etc/kerberosIV
.
#
kerberos &
Kerberos server starting Sleep forever on error Log file is /var/log/kerberos.log Current Kerberos master key version is 1. Master key entered. BEWARE! Current Kerberos master key version is 1 Local realm: EXAMPLE.COM#
kadmind -n &
KADM Server KADM0.0A initializing Please do not use 'kill -9' to kill this job, use a regular kill instead Current Kerberos master key version is 1. Master key entered. BEWARE!
Теперь для получения доступа через созданного пользователя
jane
используйте kinit
:
%
kinit jane
MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane"Password:
Попробуйте просмотреть имеющиеся данные с помощью
klist
:
%
klist
Ticket file: /tmp/tkt245 Principal: jane@EXAMPLE.COM Issued Expires Principal Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM
Теперь попробуйте изменить пароль с помощью passwd(1), чтобы убедиться, что даемон kpasswd может получить информацию из базы данных Kerberos:
%
passwd
realm EXAMPLE.COMOld password for jane:
New Password for jane:
Verifying passwordNew Password for jane:
Password changed.
Kerberos позволяет назначить каждому
пользователю, который нуждается в привилегиях
root
, свой собственный
пароль su(1). Необходимо добавить учётную запись, которой
разрешено получать root
доступ через su(1).
Это делается путем связывания учётной записи root
с пользовательской учётной записью. Создадим в базе данных Kerberos
запись jane.root
с помощью
kdb_edit
:
#
kdb_edit
Opening database...Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value.Principal name:
jane
Instance:
root
<Not found>, Create [y] ? y Principal: jane, Instance: root, kdc_key_ver: 1New Password:
<---- enter a SECURE password here Verifying passwordNew Password:
<---- re-enter the password here Principal's new key version = 1Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
12
<--- Keep this short!Attributes [ 0 ] ?
Edit O.K.Principal name:
<---- null entry here will cause an exit
Теперь проверим работоспособность этой записи:
#
kinit jane.root
MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane.root"Password:
Необходимо добавить пользователя к root
файлу .klogin
:
#
cat /root/.klogin
jane.root@EXAMPLE.COM
Теперь попробуйте выполнить su(1):
%
su
Password:
и посмотрите на имеющиеся данные:
#
klist
Ticket file: /tmp/tkt_root_245 Principal: jane.root@EXAMPLE.COM Issued Expires Principal May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM
В примере выше мы создали запись (principal)
jane
с доступом к root
(instance). Она основана на пользователе с таким же именем, как
и идентификатор, что принято Kerberos по умолчанию;
<principal>.<instance>
в форме
<username>.
root
позволяет использовать su(1) для доступа к
root
, если соответствующие записи находятся
в файле .klogin
домашнего каталога
root
:
#
cat /root/.klogin
jane.root@EXAMPLE.COM
Подобно этому, если в файле .klogin
из домашнего каталога пользователя есть строки в форме:
%
cat ~/.klogin
jane@EXAMPLE.COM jack@EXAMPLE.COM
это позволит любому с идентификатором
EXAMPLE.COM
, кто аутентифицировался как
jane
или jack
(с помощью команды kinit
, см. выше)
получить доступ к учётной записи пользователя jane
или файлам этой системы (grunt
) через
rlogin(1), rsh(1) или rcp(1).
Например, jane
может входить в другую систему
используя Kerberos:
%
kinit
MIT Project Athena (grunt.example.com)Password:
%
rlogin grunt
Last login: Mon May 1 21:14:47 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Или jack
входит в учётную запись
jane
's на этом же компьютере
(файл .klogin
jane
настроен как показано выше, и в Kerberos настроена учётная
запись jack):
%
kinit
%
rlogin grunt -l jane
MIT Project Athena (grunt.example.com)Password:
Last login: Mon May 1 21:16:55 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Все релизы FreeBSD после FreeBSD-5.1 включают поддержку только Kerberos5. Таким образом, Kerberos5 это единственная включаемая в поставку версия и его конфигурация похожа на KerberosIV во многих аспектах. Эта информация применима только к Kerberos5 из релизов после FreeBSD-5.0. Пользователи, желающие использовать пакет KerberosIV, могут установить его из порта security/krb4.
Kerberos это дополнительная сетевая система/протокол, позволяющая пользователям авторизоваться через защищенные сервисы на защищенном сервере. Такие сервисы как удаленный вход, удаленное копирование, защищенное копирование файлов между системами и другие задачи с высоким риском становятся допустимо безопасными и более контролируемыми.
Kerberos может быть описана как прокси система идентификации-проверки. Она также может быть описана как защищенная внешняя система аутентификации. Kerberos предоставляет только одну функцию - защищенную аутентификацию пользователей сети. Он не предоставляет функций авторизации (что разрешено делать пользователям) или функций аудита (какой пользователь что делает). После того, как клиент и сервер использовали Kerberos для идентификации, они могут зашифровать все соединения для гарантирования собственной безопасности и целостности данных.
Следовательно крайне рекомендуется использовать Kerberos с другими методами безопасности, предоставляющими сервисы авторизации и аудита.
Последующие инструкции могут использоваться в качестве руководства по настройке Kerberos, поставляемого с FreeBSD. Тем не менее, вам потребуется обратиться к соответствующим страницам справочника за полным описанием.
В целях демонстрации установки Kerberos, будут применены следующие обозначения:
DNS домен (<<зона>>) example.org.
Уникальный идентификатор Kerberos EXAMPLE.ORG.
Используйте действующие имена доменов при настройке Kerberos даже если вы будете использовать его во внутренней сети. Это позволит избежать проблем с DNS и гарантирует возможность связи с Kerberos под другими идентификаторами.
Kerberos был создан MIT в качестве решения проблем с безопасностью сети. Протокол Kerberos использует стойкую криптографию, так что клиент может идентифицироваться на сервере (и обратно) через незащищенное сетевое соединение.
Kerberos это и имя сетевого протокола аутентификации и общий термин для описания программ, где он реализован (например, Kerberos telnet). Текущая версия протокола 5 описана в RFC 1510.
Доступно несколько свободных реализаций этого протокола, работающих на множестве операционных систем. Massachusetts Institute of Technology (MIT), где Kerberos был первоначально разработан, продолжает разрабатывать собственный пакет Kerberos. Он обычно использовался в США как криптографический продукт, и в этом качестве попадал под действие ограничений на экспорт. MIT Kerberos доступен в виде порта (security/krb5). Heimdal Kerberos это другая реализация версии 5, которая разрабатывалась исключительно вне США для обхода экспортных ограничений (и поэтому часто включалась в некоммерческие реализации UNIX(R)). Heimdal Kerberos доступен в виде порта (security/heimdal), его минимальный комплект включен в базовую установку FreeBSD.
В целях получения наибольшей аудитории, в этих инструкциях предполагается использование Heimdal включаемого в FreeBSD.
Центр распространения ключей (Key Distribution Center, KDC) это централизованный сервис аутентификации, предоставляемый Kerberos - это компьютер, который предоставляет доступ через Kerberos. KDC считается доверяемым всеми другими компьютерами с определенным идентификатором Kerberos и поэтому к нему предъявляются высокие требования безопасности.
Имейте ввиду, что хотя работа сервера Kerberos требует очень немного вычислительных ресурсов, из соображений безопасности для него рекомендуется отдельный компьютер, работающий только в качестве KDC.
Перед началом настройки KDC, убедитесь что в
файле /etc/rc.conf
содержатся правильные
настройки для работы в качестве KDC (вам может
потребоваться изменить пути в соответствии с собственной
системой):
kerberos5_server_enable="YES" kadmind5_server_enable="YES"
Затем приступим к редактированию файла настройки
Kerberos,
/etc/krb5.conf
:
[libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG
Обратите внимание что в файле /etc/krb5.conf
подразумевается наличие у KDC полного имени
kerberos.example.org
. Вам потребуется
добавить CNAME (синоним) к файлу зоны, если у
KDC другое имя.
Для больших сетей с правильно настроенным сервером BIND DNS пример выше может быть урезан до:
[libdefaults] default_realm = EXAMPLE.ORG
Со следующими строками, добавленными в файл зоны
example.org
:
_kerberos._udp IN SRV 01 00 88 kerberos.example.org. _kerberos._tcp IN SRV 01 00 88 kerberos.example.org. _kpasswd._udp IN SRV 01 00 464 kerberos.example.org. _kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. _kerberos IN TXT EXAMPLE.ORG
Чтобы клиенты могли найти сервисы
Kerberos,
необходимо наличие или полностью
настроенного /etc/krb5.conf
или минимально
настроенного /etc/krb5.conf
и правильно настроенного DNS
сервера.
Создадим теперь базу данных Kerberos.
Эта база данных содержит ключи всех основных хостов, зашифрованных
с помощью главного пароля. Вам не требуется помнить этот пароль,
он хранится в файле (/var/heimdal/m-key
).
Для создания главного ключа запустите kstash
и введите пароль.
Как только будет создан главный ключ, вы можете инициализировать
базу данных с помощью программы kadmin
с ключом
-l
(означающим <<local>>). Этот
ключ сообщает kadmin
обращаться к файлам базы
данных непосредственно вместо использования сетевого сервиса
kadmind
. Это помогает решить <<проблему
курицы и яйца>>, когда обращение идет к еще не созданной базе
данных. Как только вы увидите приглашение kadmin
,
используйте команду init
для создания базы
данных идентификаторов.
Наконец, оставаясь в приглашении kadmin
,
создайте первую запись с помощью команды add
.
Оставьте неизменными параметры по умолчанию, вы всегда сможете
изменить их позже с помощью команды modify
.
Обратите внимание, что вы всегда можете использовать команду
?
для просмотра доступных параметров.
Пример создания базы данных показан ниже:
#
kstash
Master key:xxxxxxxx
Verifying password - Master key:xxxxxxxx
#
kadmin -l
kadmin>init EXAMPLE.ORG
Realm max ticket life [unlimited]: kadmin>add tillman
Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: Password:xxxxxxxx
Verifying password - Password:xxxxxxxx
Теперь пришло время запустить сервисы KDC.
Выполните команды /etc/rc.d/kerberos start
и
/etc/rc.d/kadmind start
для запуска сервисов.
Заметьте, что ни один из поддерживающих
Kerberos
даемонов на этот момент запущен не будет, но у вас должна быть
возможность убедиться в том, что KDC функционирует
путем получения списка доступа для пользователя, которого вы только
что самостоятельно создали из командной строки самого
KDC:
%
k5init
tillman@EXAMPLE.ORG's Password:tillman
%
k5list
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG Issued Expires Principal Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG
Для начала нам потребуется копия файла настройки
Kerberos,
/etc/krb5.conf
.
Просто скопируйте его с KDC на клиентский
компьютер безопасным способом (используя сетевые утилиты, такие
как scp(1), или физически, с помощью дискеты).
Затем вам понадобится файл /etc/krb5.keytab
.
Это основное различие между сервером, поддерживающим
Kerberos и рабочими станциями -
на сервере должен быть файл keytab
.
В этом файле находится центральный ключ сервера, который позволяет
KDC проверять все другие идентификаторы. Он
должен быть помещен на сервер безопасным способом, поскольку
безопасность сервера может быть нарушена, если ключ станет
общедоступен. Это означает, что его передача через прозрачный
канал, такой как FTP - очень плохая
идея.
Обычно перенос файла keytab
на сервер
производится с помощью программы kadmin
.
Это удобно, поскольку вам потребуется также создать запись хоста
(KDC часть krb5.keytab
)
с помощью kadmin
.
Обратите внимание, что должны быть уже зарегистрированы в
системе и необходимо наличие прав на использование интерфейса
kadmin
в файле kadmind.acl
.
Обратитесь к разделу <<Remote administration>> в info
страницах Heimdal (info heimdal
) за деталями по
составлению списка доступа. Если вы не хотите включать удаленный
доступ kadmin
, можете просто подключиться к
KDC через защищенное соединение (локальную
консоль, ssh(1) или Kerberos
telnet(1)) и выполнять администрирование локально с помощью
kadmin -l
.
После добавления файла /etc/krb5.conf
,
вы можете использовать kadmin
с сервера
Kerberos. Команда
add --random-key
позволит вам добавить запись
для сервера, а команда ext
позволит перенести
эту запись в собственный keytab файл сервера. Например:
#
kadmin
kadmin>add --random-key host/myserver.example.org
Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: kadmin>ext host/myserver.example.org
kadmin>exit
Обратите внимание, что команда ext
(сокращение от <<extract>>) сохраняет полученный ключ в
файле /etc/krb5.keytab
по умолчанию.
Если на KDC не запущен
kadmind
(возможно по соображениям безопасности)
и вы не можете получить доступ к kadmin
удаленно, возможно добавление записи хоста
(host/myserver.EXAMPLE.ORG
) непосредственно
на KDC с последующим извлечением ее во временный
файл (и перезаписью /etc/krb5.keytab
на
KDC) примерно так:
#
kadmin
kadmin>ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin>exit
Затем вы можете скопировать keytab на сервер защищенным способом
(например, используя scp
или дискету).
Убедитесь, что используемое имя keytab не совпадает с именем
по умолчанию во избежание перезаписывания keytab на
KDC.
Теперь ваш сервер может связываться с KDC
(добавлен файл krb5.conf
) и идентифицировать
себя (добавлен файл krb5.keytab
). Теперь вы
готовы к включению некоторых сервисов
Kerberos. В этом примере мы включим
сервис telnet
, поместив в
/etc/inetd.conf
нижеприведенную строку и
перезапустив сервис inetd(8) командой
/etc/rc.d/inetd restart
:
telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user
Очень важно установить ключ -a
(тип
аутентификации) в user. Обратитесь к странице справочника
telnetd(8) за подробной информацией.
Настройка клиентского компьютера почти тривиально проста.
Как только настройка Kerberos закончена,
вам потребуется только файл настройки
Kerberos,
/etc/krb5.conf
. Просто скопируйте его
безопасным способом на клиентский компьютер с
KDC.
Протестируйте клиентский компьютер, попытавшись использовать
kinit
, klist
, и
kdestroy
для получения, отображения и удаления
списка доступа. Соединитесь с Kerberos
севером используя клиент Kerberos, если
соединение не работает и получение доступа является проблемой,
это скорее всего проблема сервера, а не клиента или
KDC.
При тестировании приложения вроде telnet
,
попробуйте использовать программу перехвата пакетов (такую
как tcpdump(1)), чтобы убедиться, что ваш пароль не передается
незашифрованным. Попробуйте использовать telnet
с параметром -x
, чтобы зашифровать весь поток
данных (подобно ssh
).
Основные клиентские приложения
Kerberos (традиционно называющиеся
kinit
, klist
,
kdestroy
, и
kpasswd
) находятся в базовой установке FreeBSD.
Обратите внимание, что в FreeBSD версий до 5.0 они были переименованы
в k5init
, k5list
,
k5destroy
, k5passwd
, и
k5stash
(хотя их обычно использовали лишь
однократно).
Различные неосновные клиентские приложения
Kerberos также устанавливаются по
умолчанию. Здесь проявляется <<минимальность>>
базовой установки Heimdal: telnet
это
единственное приложение, поддерживающее
Kerberos.
Порт Heimdal добавляет некоторые отсутствующие клиентские
приложения: поддерживающие
Kerberos версии
ftp
, rsh
,
rcp
, rlogin
, и некоторые
другие реже используемые программы. Порт MIT
также содержит полный пакет клиентских приложений
Kerberos.
Учётные записи пользователя в
Kerberos (например
tillman@EXAMPLE.ORG
) обычно связаны с
локальными учётными записями (например с локальной учётной записью6
tillman
). Клиентские приложения, такие как
telnet
, обычно не требуют указания имени
пользователя или учётной записи.
Тем не менее, время от времени вам может потребоваться дать
доступ к локальной учётной записи кому-то, у кого нет
соответствующей учётной записи Kerberos.
Например, пользователю tillman@EXAMPLE.ORG
может потребоваться доступ к локальной учётной записи
webdevelopers
. Другим учётным записям
также может потребоваться доступ к этой локальной учётной
записи.
Файлы .k5login
и
.k5users
, помещенные в домашний каталог
пользователя, могут быть использованы подобно действенной
комбинации .hosts
и
.rhosts
для решения этой проблемы.
Например, файл .k5login
со следующим содержанием:
tillman@example.org jdoe@example.org
помещен в домашний каталог локального пользователя
webdevelopers
, то обе упомянутые учётные
записи получат доступ к этой учётной записи без необходимости
наличия общего пароля.
Рекомендуется прочитать страницу справочника по этим командам.
Обратите внимание, что страница справочника о
ksu
содержит информацию по
.k5users
.
При использовании портов как Heimdal так и
MIT Kerberos
убедитесь, что в PATH
версии
Kerberos клиентов указаны перед
их версиями в базовой системе.
Все ли компьютеры в пределах данного realm синхронизированы по времени? Если нет, аутентификация может завершиться неудачно. Раздел 25.10, <<Синхронизация часов через NTP>> описывает как синхронизировать часы с использованием NTP.
MIT и Heimdal успешно взаимодействуют.
За исключением kadmin
, протокол для которого
не стандартизован.
Если вы изменяете hostname, потребуется также изменить
учётную запись host/
и обновить keytab.
Это также необходимо для специальных записей в keytab, таких
как www/
запись модуля Apache
www/mod_auth_kerb.
Все хосты под общим идентификатором должны разрешаться
DNS (прямое и обратное разрешение), или
как минимум через /etc/hosts
. Записи
CNAME будут работать, но записи A и PTR должны быть корректны
и находиться на своем месте. Сообщение об ошибке не всегда
интуитивно понятно:
Kerberos5 refuses authentication because Read req
failed: Key table entry not found.
Некоторые операционные системы, способные работать в качестве
клиентов KDC не устанавливают права
для ksu
в setuid root
.
Это означает, что ksu
не работает, что хорошо
является хорошей идеей для безопасности, но неудобно. Это не
ошибка KDC.
С MIT
Kerberos, если вы хотите продлить
действие доступа до значения большего, чем десять часов по
умолчанию, используйте команду
modify_principal
в
kadmin
для изменения maxlife доступа к самой
учётной записи и к учётной записи krbtgt
.
Затем возможно использование kinit
с параметром -l
для запроса доступа с большим
временем действия.
Если вы запускаете перехватчик пакетов на
KDC для разрешения проблем, а затем
запускаете kinit
с рабочей станции, то
увидите, что TGT посылается непосредственно
при запуске kinit
- даже до того, как
вы введете пароль! Объяснение в том, что сервер
Kerberos свободно распространяет
TGT (Ticket Granting Ticket) на каждый
неавторизованный запрос; однако, каждый TGT
зашифрован ключом, полученным из пароля пользователя.
Следовательно, когда пользователь вводит свой пароль, он не
отправляется на KDC, а используется для
расшифровка TGT, который уже получен
kinit
. Если в процессе расшифровки
получается правильный билет с правильным значением времени,
у пользователя есть действующее <<удостоверение>>.
Это удостоверение содержит ключ сессии для установления
безопасного соединения с сервером
Kerberos, как и действующий
TGT, зашифрованный ключом сервера
Kerberos. Второй уровень шифрования
недоступен пользователю, но позволяет серверу
Kerberos проверять правильность
каждого TGT.
Если вы хотите установить большое время жизни доступа
(например, неделю), и используете
OpenSSH для соединения с компьютером,
где хранится <<билет>>, убедитесь, что параметр
Kerberos
TicketCleanup
установлен в
no
в файле sshd_config
,
или билеты будут уничтожены при выходе из сеанса.
Запомните, что время жизни билетов хостов больше. Если время жизни билета для учётной записи пользователя составляет неделю, а время жизни учётной записи хоста, к которому вы подсоединяетесь девять часов, учётная запись хоста в кэше устареет и кэш билетов будет работать не так, как ожидается.
При настройке файла krb5.dict
на
предотвращение использования определенных плохих паролей
(страница справочника для kadmind
кратко
рассказывает об этом), запомните, что это применимо только
к учётным записям, для которых действует политика паролей.
Формат файла krb5.dict
прост: одно слово
на строку. Может помочь создание символической ссылки на
/usr/share/dict/words
.
Основное различие между установками MIT и
Heimdal относится к программе kadmin
,
которая имеет другой (но эквивалентный) набор команд и
использует другой протокол. Если ваш KDC
работает на MIT, вы не сможете использовать
kadmin
для удаленного администрирования
KDC (и наоборот, по этой же причине).
Опции командной строки клиентов также могут немного отличаться
для одинаковых задач. Рекомендуется следование инструкциям
на MIT Kerberos
Web-сайте (http://web.mit.edu/Kerberos/www/
).
Будьте внимательны при определении PATH
:
порт MIT устанавливается по умолчанию в
/usr/local/
, и если в PATH
вначале указаны системные каталоги, вместо приложений
MIT могут быть запущены системные
приложения.
С портом MIT
security/krb5, предоставляемым
FreeBSD, убедитесь что файл
/usr/local/share/doc/krb5/README.FreeBSD
установлен портом, если вы хотите понять почему вход через
telnetd
и klogind
иногда происходит так странно. Наиболее важно, исправление
<<incorrect permissions on cache file>> требует
использования бинарного файла login.krb5
для аутентификации, чтобы права на переданное удостоверение
передавались правильно.
Каждый сервис, работающий в сети, должен быть модифицирован
для работы с Kerberos (или другим
способом защищен от атак по сети) или удостоверения пользователей
могут быть украдены или использованы повторно. В качестве примера
может быть приведено использование
Kerberos версий
оболочек для удаленной работы (например через
rsh
и telnet
), при
наличии POP3 сервера, получающего пароли в
незашифрованном виде.
В многопользовательской среде
Kerberos менее безопасен.
Это потому, что он хранит билеты в каталоге
/tmp
, которая доступна для чтения всем.
Если пользователь работает с несколькими другими пользователями
одновременно на одном компьютере (т.е. в многопользовательской
среде), возможна кража (копирование) билета другим
пользователем.
Решить проблему можно с помощью параметра командной
строки -c
или (предпочтительно) с помощью
переменной окружения KRB5CCNAME
, но это делается
редко. Для преодоления ограничения достаточно сохранять билет
в домашнем каталоге пользователя и использовать простые
ограничения на доступ к файлам.
Архитектура системы такова, что KDC должен быть максимально защищен, поскольку главный пароль базы данных содержится в нем. На KDC не должно быть запущено никаких других сервисов и он должен быть защищен физически. Опасность велика, поскольку Kerberos хранит все пароли зашифрованными одним ключом (<<главным>> ключом), который хранится в файле на KDC.
Хорошей новостью является то, что кража главного ключа не станет такой проблемой, как может показаться. Главный ключ используется только для шифрования базы данных Kerberos и в качестве seed для генератора случайных чисел. Поскольку доступ к KDC защищен, атакующий мало что сможет сделать с главным ключом.
Кроме того, если KDC станет недоступен (возможно по причине атак DoS или проблем в сети) сетевые сервисы будет невозможно использовать, поскольку аутентификация не может быть выполнена. Уменьшить последствия можно при наличии нескольких KDC (один главный и один или несколько резервных) и с аккуратно реализованной резервной аутентификацией (отлично подойдет PAM).
Kerberos позволяет пользователям,
хостам и сервисам производить аутентификацию друг друга.
В нем нет механизма аутентификации KDC
для пользователей, хостов или сервисов. Это означает, что
поддельный kinit
(например) может записывать
все имена пользователей и паролей. Помочь решить проблему может
security/tripwire или
другой инструмент проверки целостности файловой системы.
Одной из программ, требующих особого внимания пользователей, является набор программ OpenSSL, включенный в FreeBSD. OpenSSL предоставляет уровень шифрования поверх обычных уровней соединения; следовательно, он может быть использован многими сетевыми приложениями и сервисами.
OpenSSL может использоваться для шифрования соединений почтовых клиентов, транзакций через интернет, например для кредитных карт, и многого другого. Многие порты, такие как www/apache13-ssl и mail/sylpheed-claws собираются с OpenSSL.
В большинстве случаев в Коллекции Портов будет сделана попытка
построения порта security/openssl,
если только переменная WITH_OPENSSL_BASE
не установлена явно в <<yes>>.
Версия OpenSSL, включаемая в FreeBSD, поддерживает сетевые протоколы безопасности Secure Sockets Layer v2/v3 (SSLv2/SSLv3), Transport Layer Security v1 (TLSv1) и может быть использована в качестве основной криптографической библиотеки.
Хотя OpenSSL поддерживает алгоритм
IDEA, по умолчанию он отключен из-за патентных
ограничений Соединенных Штатов. Для его использования необходимо
ознакомиться с лицензией, и, если ограничения приемлемы,
установить в make.conf
переменную
MAKE_IDEA
.
Наиболее часто OpenSSL используется для создания сертификатов, используемых программными пакетами. Эти сертификаты подтверждают, что данные компании или частного лица верны и не подделаны. Если рассматриваемый сертификат не был проверен одним из нескольких сертификационных центров (<<Certificate Authorities>> - CA), обычно выводится предупреждение. Центр сертификации представляет собой компанию, такую, как VeriSign, которая подписывает сертификаты для подтверждения данных частных лиц или компаний. Эта процедура не бесплатна и не является абсолютно необходимой для использования сертификатов; однако может успокоить некоторых особо осторожных пользователей.
Для генерирования сертификатов доступна следующая команда:
#
openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key ................++++++ .......................................++++++ writing new private key to 'cert.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:
US
Locality Name (eg, city) []:
PA
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Pittsburgh
Organizational Unit Name (eg, section) []:
My Company
Common Name (eg, YOUR name) []:
Systems Administrator
Email Address []:
localhost.example.org
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:
trhodes@FreeBSD.org
An optional company name []:
SOME PASSWORD
Another Name
Ввод после приглашения <<Common Name>> содержит имя домена. Здесь вводится имя сервера для верификации; помещение в это поле чего-либо кроме этого имени приведет к созданию бесполезного сертификата. Доступны и другие параметры, например срок действия, альтернативные алгоритмы шифрования и т.д. Полный список находится на странице справочного руководства openssl(1).
В текущем каталоге, из которого была вызвана вышеуказанная
команда, должны появиться два файла. Файл
req.pem
с запросом на сертификацию может быть
послан в центр выдачи сертификатов, который проверит введённые вами
подтверждающие данные, подпишет запрос и возвратит сертификат вам.
Второй созданный файл будет иметь название
cert.pem
и содержать приватный сертификационный
ключ, который необходимо тщательно защищать; если он попадёт в руки
посторонних лиц, то может быть использован для имитации лично вас (или
вашего сервера).
Когда подпись CA не требуется, может быть создан самоподписанный сертификат. Сначала создайте ключ RSA:
#
openssl dsaparam -rand -genkey -out myRSA.key 1024
Теперь создайте ключ CA:
#
openssl gendsa -des3 -out myca.key myRSA.key
Используйте этот ключ при создании сертификата:
#
openssl req -new -x509 -days 365 -key myca.key -out new.crt
В каталоге должно появиться два новых файла: подпись сертификата,
myca.key
и сам сертификат,
new.crt
. Они должны быть помещены в каталог,
доступный для чтения только root
,
желательно внутри /etc
.
Права на каталог можно изменить chmod
с параметрами
0700.
Итак, что могут сделать эти файлы? Хорошим применением может стать шифрование соединений для Sendmail MTA. Это сделает ненужным использование простой текстовой аутентификации для тех, кто отправляет почту через локальный MTA.
Это не лучшее из возможных использований, поскольку некоторые MUA выдадут ошибку, если сертификат не установлен локально. Обратитесь к поставляемой с программой документации за информацией по установке сертификата.
Следующие строки должны быть помещены в локальный файл
.mc
:
dnl SSL Options define(`confCACERT_PATH',`/etc/certs')dnl define(`confCACERT',`/etc/certs/new.crt')dnl define(`confSERVER_CERT',`/etc/certs/new.crt')dnl define(`confSERVER_KEY',`/etc/certs/myca.key')dnl define(`confTLS_SRV_OPTIONS', `V')dnl
Где /etc/certs/
это каталог для локального хранения сертификата и
ключей. После настройки необходимо собрать локальный
файл .cf
. Это легко сделать,
набрав make
install
в каталоге /etc/mail
.
Затем выполните команду make
restart
, которая должна запустить
даемон Sendmail.
Если все пройдет нормально, в файле
/var/log/maillog
не появятся сообщения
об ошибках и запустится процесс
Sendmail.
Для проведения простого теста подключитесь к почтовому серверу программой telnet(1):
#
telnet
Trying 192.0.34.166... Connected toexample.com
25example.com
. Escape character is '^]'. 220example.com
ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)ehlo
250-example.com Hello example.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELPexample.com
quit
221 2.0.0example.com
closing connection Connection closed by foreign host.
Если в выводе появилась строка <<STARTTLS>>, все работает правильно.
Создание VPN между двумя сетями, соединенными через интернет, с использованием шлюзов FreeBSD.
Этот раздел послужит вам руководством по настройке IPsec и его использованию в среде FreeBSD и Microsoft(R) Windows(R) 2000/XP, соединяемых безопасным способом. Для настройки IPsec необходимо ознакомиться с процессом сборки ядра (Глава 9, Настройка ядра FreeBSD).
IPsec это протокол, расположенный поверх слоя Internet Protocol (IP). Он позволяет двум или более хостам связываться защищенным способом (отсюда и название протокола). <<Сетевой стек>> FreeBSD IPsec основан на реализации KAME, поддерживающей оба семейства протоколов, IPv4 и IPv6.
FreeBSD содержит <<аппаратно поддерживаемый>> стек IPsec, известный как <<Fast IPsec>>, заимствованный из OpenBSD. Для оптимизации производительности IPsec он задействует криптографическое оборудование (когда оно доступно) через подсистему crypto(4). Это новая подсистема и она не поддерживает всех возможностей, доступных в KAME версии IPsec. Для включения IPsec с аппаратной поддержкой необходимо добавить в файл настройки ядра следующий параметр:
options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
Обратите внимание, что на данный момент невозможно использовать подсистему <<Fast IPsec>> вместе с KAME реализацией IPsec. Обратитесь к странице справочника fast_ipsec(4) за дальнейшей информацией.
Для того, чтобы применять к туннелям gif(4)
межсетевые экраны, вам потребуется включить в ядро опцию
IPSEC_FILTERGIF
:
options IPSEC_FILTERGIF #filter ipsec packets from a tunnel
IPsec состоит из двух подпротоколов:
Encapsulated Security Payload (ESP), защищающей данные IP пакета от вмешательства третьей стороны путем шифрования содержимого с помощью симметричных криптографических алгоритмов (таких как Blowfish,3DES).
Authentication Header (AH), защищающий заголовок IP пакета от вмешательства третьей стороны и подделки путем вычисления криптографической контрольной суммы и хеширования полей заголовка IP пакета защищенной функцией хеширования. К пакету добавляется дополнительный заголовок с хэшем, позволяющий аутентификацию информации пакета.
ESP и AH могут быть использованы вместе или по отдельности, в зависимости от обстоятельств.
IPsec может быть использован или для непосредственного шифрования трафика между двумя хостами (транспортный режим); или для построения <<виртуальных туннелей>> между двумя подсетями, которые могут быть использованы для защиты соединений между двумя корпоративными сетями (туннельный режим). Последний обычно называют виртуальной частной сетью (Virtual Private Network, VPN). За детальной информацией о подсистеме IPsec в FreeBSD обратитесь к странице справочника ipsec(4).
Для включения поддержки IPsec в ядре, добавьте следующие параметры к файлу настройки ядра:
options IPSEC #IP security options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
Если желательна поддержка отладки IPsec, должна быть также добавлена следующая строка:
options IPSEC_DEBUG #debug for IP security
Не существует стандарта VPN. Они могут быть реализованы множеством различных технологий, каждая из которых имеет свои сильные и слабые стороны. Этот раздел представляет сценарий и стратегию реализации VPN для этого сценария.
Исходные условия таковы:
Существует как минимум две сети
Внутри обеих сетей используется IP
Обе сети соединены через интернет через шлюз, работающий на FreeBSD.
У шлюза каждой из сетей есть как минимум один публичный IP адрес.
Внутренние IP адреса двух сетей могут быть публичными или приватными, не имеет значения. На шлюзе может работать NAT, если это необходимо.
Внутренние IP адреса двух сетей не должны пересекаться. Хотя вероятно теоретически возможно использование комбинации VPN технологии и NAT для настройки такой конфигурации, эта конфигурация будет кошмарна.
Если две сети, которые вы пытаетесь соединить, используют один
и тот же диапазон приватных адресов (например, обе используют
192.168.1.x
), номера в одной из
сетей необходимо изменить.
Топология сети может выглядеть примерно так:
Заметьте, что здесь присутствуют два публичных IP-адреса. В
дальнейшем для их обозначения
будут использоваться буквы. Если вы увидите эти буквы, замените
их на свои публичные IP адреса. Также обратите внимание, что
у обеих шлюзов внутренний адрес заканчивается на .1 и диапазоны
приватных адресов двух сетей различны (192.168.1.x
и 192.168.2.x
соответственно). Все компьютеры
локальных сетей настроены на использование в качестве шлюза по
умолчанию компьютера с адресом, оканчивающимся на
.1
.
С сетевой точки зрения замысел в том, чтобы каждая сеть видела компьютеры из другой сети так, как если бы они были непосредственно подключены к тому же самому маршрутизатору - хотя и немного медленному маршрутизатору, иногда теряющему пакеты.
Это означает, что (например) компьютер 192.168.1.20
может запустить
ping 192.168.2.34
и это будет прозрачно работать. Компьютеры с Windows(R) должны видеть компьютеры в другой сети, просматривать сетевые ресурсы, и так далее, точно так же, как и для компьютеров в локальной сети.
И все это безопасным способом. Это означает, что трафик между сетями зашифрован.
Создание VPN между этими двумя сетями это многошаговый процесс. Этапы создания VPN таковы:
Создание <<виртуального>> сетевого подключения между двумя сетями через интернет. Тестирование подключения с помощью таких инструментов как ping(8), чтобы убедиться, что оно работает.
Применение политики безопасности чтобы убедиться, что трафик между двумя сетями прозрачно шифруется и расшифровывается если необходимо. Тестирование с помощью таких инструментов как tcpdump(1), чтобы убедиться, что трафик шифруется.
Настройка дополнительных программ на шлюзах FreeBSD, чтобы компьютеры Windows(R) из одной сети видели компьютеры в другой через VPN.
Предположим, что вы работаете на шлюзе сети #1 (с публичным
адресом A.B.C.D
, приватным
адресом 192.168.1.1
) и запускаете
ping 192.168.2.1
, т.е. на приватный адрес
машины с IP адресом W.X.Y.Z
.
Что должно произойти, чтобы это сработало?
Шлюз должен знать, как достичь 192.168.2.1
. Другими словами, у него
должен быть маршрут к 192.168.2.1
.
Приватные IP адреса, такие как диапазон 192.168.x
не адресуются в
интернет. Каждый пакет, отправляемый на
192.168.2.1
должен быть
<<завернут>> в другой пакет. Исходным адресом пакета
должен быть A.B.C.D
,
а адресом назначения W.X.Y.Z
.
Этот процесс называется
инкапсуляцией.
Как только этот пакет достигнет W.X.Y.Z
, необходимо будет
<<декапсулировать>> его и доставить к 192.168.2.1
.
Как вы можете увидеть, это требует <<туннеля>>
между двумя сетями. Два конца <<туннеля>>
это IP адреса A.B.C.D
и
W.X.Y.Z
. Туннель используется для
передачи трафика с приватными IP адресами через интернет.
В FreeBSD этот туннель создается с помощью устройства generic
interface, или gif
. Как вы можете
догадаться, интерфейс gif
на каждом хосте
должен быть настроен с четырьмя IP адресами; два для публичных
IP адресов и два для приватных IP адресов.
В ядро обеих компьютеров FreeBSD должна быть встроена поддержка устройства gif. Вы можете сделать это, добавив строку:
device gif
к файлу настройки ядра на обеих компьютерах, с последующей компиляцией, установкой и перезагрузкой.
Настройка туннеля это двухшаговый процесс. Во-первых, необходимо задать сведения о внешнем (или публичном) IP адресе с помощью ifconfig(8). Затем о приватном IP адресе, также с помощью ifconfig(8).
На шлюзе сети #1 для настройки туннеля вам потребуется запустить следующие две команды.
ifconfig gif0 A.B.C.D W.X.Y.Z ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
На другом шлюзе подобные команды, но с IP адресами в обратном порядке.
ifconfig gif0 W.X.Y.Z A.B.C.D ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
Затем вы можете запустить:
ifconfig gif0
для просмотра настройки. Например, на шлюзе сети #1 вы увидите:
#
ifconfig gif0
gif0: flags=8011<UP,POINTTOPOINT,MULTICAST> mtu 1280 inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff physical address inet A.B.C.D --> W.X.Y.Z
Как вы можете видеть, был создан туннель между физическими
адресами A.B.C.D
и
W.X.Y.Z
, для туннелирования разрешен
трафик между 192.168.1.1
и 192.168.2.1
.
Это также добавляет запись к таблице маршрутизации на обеих
машинах, вы можете проверить запись командой netstat
-rn
. Вот вывод этой команды на шлюзе сети #1.
#
netstat -rn
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire ... 192.168.2.1 192.168.1.1 UH 0 0 gif0 ...
Как показывает значение поля <<Flags>>, это маршрут к хосту, что означает, что каждый шлюз знает, как достичь другого шлюза, но не знает как достичь остальной части соответствующей сети. Эта проблема будет быстро решена.
Вероятно, на обеих машинах запущен брандмауэр. VPN должен обходить его. Вы можете разрешить весь трафик между двумя сетями, или включить правила, защищающие каждый конец соединения от другого.
Это сильно упрощает тестирование настройки брандмауэра, если вы разрешаете весь трафик через VPN. Вы всегда можете Вы всегда можете усилить защиту позже. Если вы используете на шлюзах ipfw(8), команда вроде этой
ipfw add 1 allow ip from any to any via gif0
разрешит весь трафик между двумя концами VPN без влияния на другие правила брандмауэра. Очевидно, вам потребуется запустить эту команду на обеих шлюзах.
Этого достаточно для включения ping с одного шлюза на другой.
На 192.168.1.1
, вы сможете
запустить
ping 192.168.2.1
и получить ответ, и аналогично на другом шлюзе.
Однако, машины в другой сети пока недоступны. Это из-за маршрутизации - хотя шлюзы знают, как связаться друг с другом, они не знают, как связаться с сетью за другим шлюзом.
Для решения этой проблемы вы должны добавить статический маршрут на каждом шлюзе. Команда на первом шлюзе будет выглядеть так:
route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
Она говорит <<Для достижения хостов в сети
192.168.2.0
, отправляйте пакеты
хосту 192.168.2.1
>>. Вам
потребуется запустить похожую команду на другом шлюзе, но с
адресами 192.168.1.x
.
IP трафик с хостов в одной сети теперь может достичь хосты в другой сети.
Теперь создано две трети VPN между двумя сетями, поскольку это <<виртуальная (virtual)>> <<сеть (network)>>. Она еще не приватная (private). Вы можете протестировать ее с помощью ping(8) и tcpdump(1). Войдите на шлюз и запустите
tcpdump dst host 192.168.2.1
В другой сессии на этом же хосте запустите
ping 192.168.2.1
Вы увидите примерно такие строки:
16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply 16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply 16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply
Как вы видите, ICMP сообщения пересылаются вперед и назад
незашифрованными. Если вы использовали с tcpdump(1) параметр
-s
для получения большего объема данных пакета,
то увидите больше информации.
Конечно же это неприемлемо. В следующем разделе мы обсудим защиту соединения между двумя сетями, так что весь трафик будет автоматически шифроваться.
Настройте оба ядра с <<device gif>>.
Отредактируйте /etc/rc.conf
на шлюзе
#1 и добавьте следующие строки (подставляя IP адреса где
необходимо).
gifconfig_gif0="A.B.C.D W.X.Y.Z" ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff" static_routes="vpn" route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
Отредактируйте скрипт брандмауэра
(/etc/rc.firewall
, или подобный) на обеих
хостах и добавьте
ipfw add 1 allow ip from any to any via gif0
Выполните соответствующие изменения в
/etc/rc.conf
на шлюзе #2,
меняя порядок IP адресов.
Для защиты соединения мы будем использовать IPsec. IPsec предоставляет хостам механизм определения ключа для шифрования и для последующего использования этого ключа для шифрования данных между двумя хостами.
Здесь будут рассмотрены два аспекта настройки.
У хостов должен быть способ согласования используемого алгоритма шифрования. Как только хосты договорятся об этом, можно говорить об установленном между ними <<безопасном соединении>>.
Должен быть механизм определения, какой трафик необходимо шифровать. Конечно, вам не требуется шифровать весь исходящий трафик - достаточно шифровать только трафик, идущий через VPN. Правила, определяющие то, какой трафик необходимо шифровать, называются <<политикой безопасности>>.
Безопасное соединение и политика безопасности поддерживаются ядром, и могут быть изменены программами пользователя. Однако перед тем, как вы сможете сделать это, необходимо настроить поддержку протоколов IPsec и Encapsulated Security Payload (ESP) в ядре. Это делается добавлением в настройку ядра параметров:
options IPSEC options IPSEC_ESP
с последующим перекомпилированием, переустановкой и перезагрузкой. Как и прежде вам потребуется сделать это с ядрами на обеих шлюзах.
При настройке параметров безопасности (security associations) у вас есть два варианта. Вы можете настроить их вручную для обеих хостов, задав алгоритм шифрования, ключи для шифрования и так далее, или использовать даемоны, реализующие Internet Key Exchange protocol (IKE), который сделает это за вас.
Рекомендуется последнее. Помимо прочего, этот способ более прост.
Редактирование и отображение политики безопасности выполняется
с помощью setkey(8). По аналогии, setkey
используется для настройки таблиц политики безопасности ядра так же,
как route(8) используется для настройки таблиц маршрутизации
ядра. setkey
также может отображать текущие
параметры безопасности, и продолжая аналогию дальше, это
соответствует netstat -r
.
Существует множество даемонов для управления параметрами безопасности в FreeBSD. Здесь будет описано использование одного из них, racoon - он доступен в составе порта security/ipsec-tools в Коллекции Портов FreeBSD.
Даемон racoon должен работать на обеих шлюзах. На каждом из хостов он настраивается с IP адресом другого конца VPN, и секретным ключом (по вашему выбору, должен быть одним и тем же на обеих шлюзах).
Эти два даемона подключаются друг к другу, подтверждают, что они именно те, за кого себя выдают (используя секретный ключ, заданный вами). Затем даемоны генерируют новый секретный ключ и используют его для шифрования трафика через VPN. Они периодически изменяют этот ключ, так что даже если атакующий сломает один из ключей (что теоретически почти невозможно) это не даст ему слишком много - он сломал ключ, который два даемона уже сменили на другой.
Настройки racoon сохраняются в файле
${PREFIX}/etc/racoon
. Этот файл не требует
слишком больших изменений. Другим компонентом настройки
racoon, который потребуется изменить, является <<предварительный
ключ>>.
В настройке по умолчанию racoon ищет его в файле
${PREFIX}/etc/racoon/psk.txt
. Необходимо
отметить, что предварительный ключ не
используется для шифрования трафика через VPN соединение
это просто маркер, позволяющий управляющим ключами даемонам
доверять друг другу.
psk.txt
содержит строку для каждого
удаленного сервера, с которым происходит соединение. В этом примере
два сервера, каждый файл psk.txt
будет
содержать одну строку (каждый конец VPN общается только с другим
концом.
На шлюзе #1 эта строка будет выглядеть примерно так:
W.X.Y.Z secret
То есть публичный IP-адрес противоположной стороны, пробел и текстовая строка c секретной фразой. Конечно, вам не стоит использовать в качестве ключевой фразы слово <<secret>> -- здесь применяются обычные правила выбора паролей.
На шлюзе #2 строка будет выглядеть примерно так:
A.B.C.D secret
То есть публичный IP адрес удаленной стороны и та же
секретная фраза. Перед запуском racoon режим доступа к файлу
psk.txt
должен быть установлен в
0600
(т.е. запись и чтение только для
root
).
Вы должны запустить racoon на обоих шлюзах. Вам также потребуется добавить правила для включения IKE трафика, передающегося по UDP через порт ISAKMP (Internet Security Association Key Management Protocol). Опять же, они должны быть расположены насколько возможно ближе к началу набора правил.
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
Как только racoon будет запущен, вы можете попробовать выполнить ping с одного шлюза на другой. Соединение все еще не зашифровано, но racoon установит параметры безопасности между двумя хостами - это может занять время и вы можете заметить небольшую задержку перед началом ответа команды ping.
Как только параметры безопасности установлены, вы можете просмотреть их используя setkey(8). Запустите
setkey -D
на любом из хостов для просмотра информации о параметрах безопасности.
Это одна сторона проблемы. Другая сторона это настройка политики безопасности.
Для создания разумной политики безопасности давайте вспомним, что уже было настроено. Это рассмотрение относится к обеим концам соединения.
Каждый отправляемый IP пакет имеет заголовок, содержащий информацию
о пакете. Заголовок включает IP адреса источника и назначения.
Как мы уже знаем, приватные IP адреса, такие как 192.168.x.y
, не могут появиться в
интернет. Они должны быть сначала включены внутрь другого
пакета. В этом пакете приватные IP адреса источника и назначения
заменяются публичными IP адресами.
То есть исходящий пакет, который выглядит примерно так:
будет инкапсулирован в другой пакет, выглядящий примерно так:
Этой инкапсуляцией занимается устройство
gif
. Как вы можете видеть, теперь
у пакета есть реальный IP адрес, исходный пакет был включен
в этот пакет в виде данных, которые передаются через
интернет.
Конечно, мы хотим зашифровать весь трафик между VPN. Вы можете сформулировать это на словах так:
<<Если пакет отправляется с A.B.C.D
, и предназначен для W.X.Y.Z
, расшифровать его, используя
необходимые параметры безопасности.>>
<<Если пакет отправляется с W.X.Y.Z
, и предназначен для A.B.C.D
, расшифровать его, используя
необходимые параметры безопасности.>>
Это похоже на желаемое, но не совсем то. Если вы сделаете
это, весь трафик от и к W.X.Y.Z
,
даже если он не является частью VPN, будет зашифрован. Правильная
политика такова:
<<Если пакет отправляется с A.B.C.D
, в нем инкапсулирован другой пакет
и адрес назначения W.X.Y.Z
,
зашифровать его, используя необходимые параметры
безопасности.>>
<<Если пакет отправляется с W.X.Y.Z
, в нем инкапсулирован другой пакет
и адрес назначения A.B.C.D
,
зашифровать его, используя необходимые параметры
безопасности.>>
Тонкое, но необходимое различие.
Политика безопасности также устанавливается с использованием
setkey(8). В setkey(8) предусмотрен язык определения
политики setkey(8). Вы можете или ввести инструкции
по настройке со стандартного ввода, или использовать параметр
-f
для задания файла, содержащего эти
инструкции.
Настройка на шлюзе #1 (где есть публичный IP адрес
A.B.C.D
) для включения шифрования
всего предназначенного W.X.Y.Z
трафика:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Поместите эти команды в файл (например,
/etc/ipsec.conf
) и запустите
#
setkey -f /etc/ipsec.conf
spdadd
указывает setkey(8) добавить
правило к базе данных политики безопасности. Остальная часть
строки указывает какие пакеты будут соответствовать политике.
A.B.C.D/32
и W.X.Y.Z/32
это IP адреса и сетевые маски,
определяющие сети или хосты, к которым будет применяться данная
политика. В данном случае мы хотим применить их к трафику между
этими двумя хостами. Параметр ipencap
сообщает
ядру, что эта политика должна применяться только к пакетам,
инкапсулирующим другие пакеты. Параметр -P out
сообщает, что эта политика применяется к исходящим пакетам, и
ipsec
- то, что пакеты будут
зашифрованы.
Оставшаяся часть строки определяет, как эти пакеты будут
зашифрованы. Будет использоваться протокол esp
,
а параметр tunnel
показывает, что пакет в дальнейшем
будет инкапсулирован в IPsec пакет. Повторное использование
A.B.C.D
и W.X.Y.Z
предназначено для выбора
используемых параметров безопасности, и наконец параметр
require
разрешает шифрование пакетов, попадающих
под это правило.
Это правило соответствует только исходящим пакетам. Вам потребуется похожее правило, соответствующее входящим пакетам.
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
Обратите внимание, что вместо in
используется
out
и IP адреса переставлены.
Другому шлюзу (с публичным IP адресом
W.X.Y.Z
) потребуются похожие
правила.
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Наконец, вам потребуется добавить правила к брандмауэру для включения прохождения пакетов ESP и IPENCAP в обе стороны. На обеих хостах потребуется добавить следующие правила:
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Поскольку правила симметричны, можно использовать их без изменения на обеих хостах
Исходящие пакеты теперь будут выглядеть примерно так:
Когда эти пакеты будут получены на удаленном конце VPN
соединения, они будут расшифрованы (используя параметры
безопасности, о которых договорился racoon). Затем они будут
переданы интерфейсу gif
, который
<<развернет>> второй слой, оставив пакет с внутренними
адресами, который сможет попасть во внутреннюю сеть.
Вы можете проверить безопасность тем же ping(8), который
использовался ранее. Сначала войдите на шлюз A.B.C.D
и запустите:
tcpdump dst host 192.168.2.1
В другой сессии на том же хосте запустите
ping 192.168.2.1
В этот момент вы должны увидеть примерно это:
XXX tcpdump output
Теперь, как видите, tcpdump(1) показывает ESP пакеты. Если
вы попытаетесь просмотреть их с параметром -s
,
то вероятно увидите нечто непонятное, поскольку применяется
шифрование.
Поздравляем. Вы только что настроили VPN между двумя удаленными сетями.
Настройте оба ядра с:
options IPSEC options IPSEC_ESP
Установите security/ipsec-tools. Отредактируйте
${PREFIX}/etc/racoon/psk.txt
на обеих
шлюзах, добавив запись для каждого IP адреса удаленного хоста
и секретный ключ, который будет известен им обеим. Убедитесь,
что режим доступа к файлу 0600.
Добавьте к
/etc/rc.conf
на каждом хосте следующие
строки:
ipsec_enable="YES" ipsec_file="/etc/ipsec.conf"
Создайте /etc/ipsec.conf
на каждом
хосте с необходимыми строками spdadd. На шлюзе #1 он будет
таким:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
А на шлюзе #2 таким:
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Добавьте правила к брандмауэрам обеих хостов для включения IKE, ESP и IPENCAP трафика:
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Двух приведенных шагов должно быть достаточно для настройки и включения VPN. Машины в каждой сети смогут обращаться друг к другу по IP адресам, и весь трафик через соединение будет автоматически надежно зашифрован.
OpenSSH это набор сетевых инструментов,
используемых для защищенного доступа к удаленным компьютерам.
Он может быть использован в качестве непосредственной замены
rlogin
, rsh
,
rcp
и telnet
.
Кроме того, через SSH могут быть безопасно туннелированы и/или
перенаправлены произвольные TCP/IP соединения.
OpenSSH шифрует весь трафик, эффективно
предотвращая кражу данных, перехват соединения и другие сетевые
атаки.
OpenSSH поддерживается проектом OpenBSD, он основан на SSH v1.2.12 со всеми последними исправлениями и обновлениями, совместим с протоколами SSH версий 1 и 2.
Обычно при использовании telnet(1) или rlogin(1) данные пересылаются по сети в незашифрованной форме. Перехватчик пакетов в любой точке сети между клиентом и сервером может похитить информацию о пользователе/пароле или данные, передаваемые через соединение. Для предотвращения этого OpenSSH предлагает различные методы шифрования.
В FreeBSD даемон sshd должен
быть разрешен в процессе инсталляции. За запуск ответственна
следующая строка в файле rc.conf
:
sshd_enable="YES"
При следующей загрузке системы будет запущен sshd(8), даемон для
OpenSSH. Вы можете также воспользоваться
скриптом /etc/rc.d/sshd
системы rc(8)
для запуска OpenSSH:
/etc/rc.d/sshd start
Утилита ssh(1) работает подобно rlogin(1).
#
ssh
Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)?user@example.com
yes
Host 'example.com' added to the list of known hosts. user@example.com's password:*******
Вход продолжится так же, как если бы сессия была инициирована
с использованием rlogin
или
telnet
. SSH использует систему опознавательных
ключей для проверки подлинности сервера при подключении клиента.
Пользователю предлагается yes
только при первом
подключении. Дальнейшие попытки входа предваряются проверкой
сохраненного ключа сервера. SSH клиент сообщит вам, если сохраненный
ключ будет отличаться от только что полученного. Ключи серверов
сохраняются в ~/.ssh/known_hosts
, или в
~/.ssh/known_hosts2
для SSH v2.
По умолчанию современные серверы OpenSSH
настроены на приём только соединений SSH v2. Клиент будет
использовать версию 2 там, где это возможно, а затем версию 1.
Также, клиент можно заставить использовать конкретную версию при помощи
опций -1
и -2
для указания
соответствующей версии протокола. Версия 1 поддерживается ради
совместимости со старыми серверами.
Команда scp(1) работает подобно rcp(1); она копирует файл с удаленного компьютера, но делает это безопасным способом.
#
scp
user@example.com's password:user@example.com:/COPYRIGHT COPYRIGHT
*******
COPYRIGHT 100% |*****************************| 4735 00:00#
Поскольку в предыдущем примере ключ сервера уже был сохранен, в этом примере он проверяется при использовании scp(1).
Параметры, передаваемые scp(1), похожи на параметры
cp(1), с файлом или файлами в качестве первого аргумента и
приемником копирования во втором. Поскольку файлы файлы передаются
по сети через SSH, один или более аргументов принимают форму
user@host:<path_to_remote_file>
.
Системные файлы настройки для даемона и клиента
OpenSSH расположены в каталоге
/etc/ssh
.
Файл ssh_config
используется для настройки
клиента, а sshd_config
для даемона.
Кроме того, параметры sshd_program
(по умолчанию /usr/sbin/sshd
), и
sshd_flags
rc.conf
дают дополнительные возможности настройки.
Вместо использования паролей, с помощью ssh-keygen(1) можно создать ключи DSA или RSA, которыми пользователи могут аутентифицироваться:
%
ssh-keygen -t
Generating public/private dsa key pair. Enter file in which to save the key (/home/user/.ssh/id_dsa): Created directory '/home/user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_dsa. Your public key has been saved in /home/user/.ssh/id_dsa.pub. The key fingerprint is: bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.comdsa
ssh-keygen(1) создаст пару публичного и приватного
ключей, используемых для аутентификации. Приватный ключ сохраняется
в ~/.ssh/id_dsa
или
~/.ssh/id_rsa
, а публичный в
~/.ssh/id_dsa.pub
или
~/.ssh/id_rsa.pub
(для ключей DSA и RSA
соответственно). Для включения
аутентификации по ключам публичный ключ должен
быть помещен в файл ~/.ssh/authorized_keys
на удаленном компьютере.
Это позволяет соединяться с удаленным компьютером с помощью SSH-ключей вместо паролей.
Если при генерации ключей был использован пароль, каждый раз для при использовании приватного ключа он будет запрашиваться у пользователя. Для того, чтобы избежать непрерывного набора кодовой фразы, можно использовать утилиту ssh-agent(1), как описано в разделе Раздел 14.11.7, <<Утилиты ssh-agent и ssh-add>> ниже.
Параметры и имена файлов могут различаться для разных версий OpenSSH, установленных в системе, для решения проблем обратитесь к странице справочника ssh-keygen(1).
Утилиты ssh-agent(1) и ssh-add(1) позволяют сохранять ключи SSH в памяти, чтобы не набирать кодовые фразы при каждом использовании ключа.
Утилита ssh-agent(1) обеспечивает процесс аутентификации загруженными в нее секретными ключами; для этого утилита ssh-agent(1) должна запустить внешний процесс. В самом простом случае это может быть шелл-процесс; в чуть более продвинутом - оконный менеджер.
Для использования ssh-agent(1) совместно с шеллом, ssh-agent(1) должен быть запущен с именем этого шелла в качестве аргумента. После этого в его память при помощи утилиты ssh-add(1) могут быть добавлены необходимые ключи; при этом будут запрошены соответствующие кодовые фразы. Добавленные ключи могут затем использоваться для ssh(1) на машины, на которых установлены соответствующие публичные ключи:
%
ssh-agentcsh
%
ssh-add Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)%
Для того чтобы использовать ssh-agent(1) в X11,
вызов ssh-agent(1)должен быть помещен в файл
~/.xinitrc
. Это обеспечит поддержкой
ssh-agent(1) все программы, запущенные в X11. Файл
~/.xinitrc
может выглядеть, например,
так:
exec ssh-agent startxfce4
При этом будет запущен ssh-agent(1), который, в свою очередь, вызовет запуск XFCE, при каждом старте X11. После запуска X11, выполните команду ssh-add(1) для добавления ваших SSH-ключей.
OpenSSH поддерживает возможность создания туннеля для пропуска соединения по другому протоколу через защищенную сессию.
Следующая команда указывает ssh(1) создать туннель для telnet:
%
ssh -2 -N -f -L
5023:localhost:23 user@foo.example.com
%
Команда ssh
используется со следующими
параметрами:
-2
Указывает ssh
использовать версию
2 протокола (не используйте этот параметр, если работаете
со старыми SSH серверами).
-N
Означает использование в не-командном режиме, только для
туннелирования. Если этот параметр опущен,
ssh
запустит обычную сессию.
-f
Указывает ssh
запускаться в фоновом
режиме.
-L
Означает локальный туннель в стиле
localport:remotehost:remoteport
.
user@foo.example.com
Удаленный сервер SSH.
Туннель SSH создается путем создания прослушивающего сокета
на определенном порту localhost
. Затем все
принятые на локальном хосту/порту соединения переправляются на
через SSH на определенный удаленный хост и порт.
В этом примере, порт 5023
на
localhost
перенаправляется на порт
23
на localhost
удаленного компьютера. Поскольку 23
это порт telnet, будет создано защищенное
соединение telnet через туннель
SSH.
Этот метод можно использовать для любого числа небезопасных протоколов, таких как SMTP, POP3, FTP, и так далее.
%
ssh -2 -N -f -L
user@mailserver.example.com's password:5025:localhost:25 user@mailserver.example.com
*****
%
telnet localhost 5025
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailserver.example.com ESMTP
Этот метод можно использовать вместе с ssh-keygen(1) и дополнительными пользовательскими учётными записями для создания более удобного автоматического SSH туннелирования. Ключи могут быть использованы вместо паролей, и туннели могут запускаться от отдельных пользователей.
На работе находится SSH сервер, принимающий соединения снаружи. В этой же офисной сети находится почтовый сервер, поддерживающий протокол POP3. Сеть или сетевое соединение между вашим домом и офисом могут быть или не быть полностью доверяемыми. По этой причине вам потребуется проверять почту через защищенное соединение. Решение состоит в создании SSH соединения к офисному серверу SSH и туннелирование через него к почтовому серверу.
%
ssh -2 -N -f -L
user@ssh-server.example.com's password:2110:mail.example.com:110 user@ssh-server.example.com
******
Когда туннель включен и работает, вы можете настроить
почтовый клиент для отправки запросов POP3 на
localhost
, порт 2110. Соединение будет
безопасно переправлено через туннель на
mail.example.com
.
Некоторые сетевые администраторы устанавливают на брандмауэрах драконовские правила, фильтруя не только входящие соединения, но и исходящие. Вам может быть разрешен доступ к удаленным компьютерам только по портам 22 и 80, для SSH и просмотра сайтов.
Вам может потребоваться доступ к другому (возможно, не относящемуся к работе) сервису, такому как Ogg Vorbis для прослушивания музыки. Если этот сервер Ogg Vorbis выдает поток не с портов 22 или 80, вы не сможете получить к нему доступ.
Решение состоит в создании SSH соединения с компьютером вне брандмауэра и использование его для туннелирования сервера Ogg Vorbis.
%
ssh -2 -N -f -L
user@unfirewalled-system.example.org's password:8888:music.example.com:8000 user@unfirewalled-system.example.org
*******
Клиентскую программу теперь можно настроить на
localhost
порт 8888, который будет перенаправлен
на music.example.com
порт 8000, успешно
обойдя брандмауэр.
Зачастую хорошие результаты даёт ограничение того, какие
именно пользователи и откуда могут регистрироваться в системе.
Задание параметра AllowUsers
является хорошим
способом добиться этого. К примеру, для разрешения регистрации только
пользователю root
с машины 192.168.1.32
, в файле
/etc/ssh/sshd_config
нужно указать нечто вроде
следующего:
AllowUsers root@192.168.1.32
Для разрешения регистрации пользователя admin
из любой точки, просто укажите имя пользователя:
AllowUsers admin
Несколько пользователей должны перечислять в одной строке, как здесь:
AllowUsers root@192.168.1.32 admin
Важно, чтобы бы перечислили всех пользователей, которые должны регистрироваться на этой машине; в противном случае они будут заблокированы.
После внесения изменений в
/etc/ssh/sshd_config
вы должны указать
sshd(8) на повторную загрузку конфигурационных файлов, выполнив
следующую команду:
#
/etc/rc.d/sshd reload
В дополнение к другим расширениям файловой системы, таким как снимки (snapshots), FreeBSD 5.0 и более поздние версии системы предлагают защиту с помощью списков контроля доступа файловой системы (File System Access Control Lists, ACLs).
Списки контроля доступа расширяют стандартную модель прав UNIX(R) высоко совместимым (POSIX(R).1e) способом. Эта возможность позволяет администратору получить преимущество от использования более интеллектуальной модели безопасности.
Для включения поддержки ACL в файловой системе UFS, следующая строка:
options UFS_ACL
должна быть добавлена в файл настройки ядра. Если параметр не
добавлен, при попытке монтирования систем, поддерживающих
ACL, появится предупреждающее сообщение.
Этот параметр включен в ядро GENERIC
.
ACL основывается на дополнительных атрибутах,
встроенных в файловую систему. Дополнительные атрибуты
поддерживаются по умолчанию следующим поколением файловых систем
UNIX(R), UFS2.
Для включения дополнительных атрибутов в UFS1 требуется больше усилий по сравнению с UFS2. Производительность дополнительных атрибутов в UFS2 также существенно выше. По этим причинам для работы с списками контроля доступа предпочтительно использование UFS2
ACL включаются во время монтирования флагом
acls
, который добавляется к
/etc/fstab
. Этот флаг также можно сделать
постоянным с помощью tunefs(8), изменив флаг
ACL в заголовке файловой системы. Вообще говоря,
использование флага в суперблоке предпочтительно по нескольким
причинам:
Постоянный ACL флаг не может быть изменен
путем перемонтирования системы (mount(8) -u
),
а только через umount(8) и mount(8). Это означает,
что ACL нельзя включить на корневой файловой
системе после загрузки. Это также означает, что вы не можете
изменить флаг на используемой файловой системе.
Установка флага в суперблоке приводит к постоянному монтированию
файловой системы с включенным ACL, даже если
нет записи в fstab
или при смене порядка
устройств. Это предотвращает случайное монтирование файловой
системы без ACL, которое может повлечь за
собой проблемы с безопасностью.
Мы можем изменить поведение ACL для включения флага без полного перемонтирования, но считаем, что желательно исключить случайное монтирование без ACL, поскольку вы можете попасть в неприятную ситуацию, если включите ACL, затем выключите их, затем опять включите без сброса расширенных атрибутов. Обычно, как только вы включили ACL в файловой системе, они не должны быть выключены, поскольку получающаяся защита файлов может быть не совместима с той, что применяется пользователями системы, и повторное включение ACL может подключить предыдущие списки контроля доступа к файлам, права на которые изменены, что приведет к непредсказуемому поведению.
Файловые системы с включенными ACLs показывают
знак +
при просмотре прав на файлы.
Например:
drwx------ 2 robert robert 512 Dec 27 11:54 private drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1 drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2 drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3 drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html
Здесь мы видим, что каталоги directory1
,
directory2
, и directory3
используют преимущества ACL. Каталог
public_html
их не использует.
ACL файловой системы можно просмотреть
с помощью утилиты getfacl(1). Например, для просмотра
настроек ACL файла
test
, может использоваться команда:
%
getfacl test
#file:test #owner:1001 #group:1001 user::rw- group::r-- other::r--
Для изменения ACL этого файла, вызовите утилиту setfacl(1). Выполните:
%
setfacl -k test
Параметр -k
удалит все установленные
на данный момент ACL из файла или файловой
системы. Более предпочтительный метод это использование
параметра -b
, который оставит необходимые
для работы ACL поля.
%
setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
В вышеприведенной команде параметр -m
использован для изменения записей ACL
по умолчанию. Поскольку предустановленных записей не было (они были
удалены предыдущей командой), эта команда восстановит параметры
по умолчанию и задаст приведенные параметры. Имейте ввиду,
при добавлении пользователя или группы, которых нет в системе,
на stdout
будет выведена ошибка
Invalid argument.
В последние годы в области информационной безопасности произошло много улучшений, касающихся выработки оценки уязвимости. Угроза проникновения в систему увеличивается вместе с установкой и настройкой утилит сторонних разработчиков, какой бы современной операционной системы это ни касалось.
Оценка уязвимости является ключевым фактором обеспечения защиты, и хотя для базового комплекта FreeBSD выпускаются бюллетени безопасности, но делать это для каждой сторонней утилиты выше возможностей участников Проекта FreeBSD. Существует способ смягчения уязвимостей программного обеспечения сторонних разработчиков и предупреждения администраторов об известных проблемах с безопасностью. Во FreeBSD существует утилита под названием Portaudit, которая служит исключительно этой цели.
Порт security/portaudit обращается к базе данных, обновляемой и поддерживаемой Группой информационной безопасности FreeBSD и разработчиками портов, для получения информации об известных проблемах с защитой.
Для того, чтобы приступить к использованию Portaudit, необходимо установить его из Коллекции Портов:
#
cd /usr/ports/security/portaudit && make install clean
В процессе установки будут обновлены конфигурационные файлы для
periodic(8), в которые будет добавлена выдача
Portaudit при ежедневном её запуске.
Проверьте, что ежедневные сообщения электронной почты, касающиеся
безопасности, которые посылаются на адрес root
,
прочитываются. Другой дополнительной настройки больше не
понадобится.
После установки администратор может обновить базу данных и посмотреть список известных уязвимостей в установленных пакетах при помощи команды
#
portaudit -Fda
База данных будет автоматически обновлена при запуске periodic(8); таким образом, предыдущая команду можно полностью опустить. Она требуется только для следующих примеров.
Для аудита утилит сторонних разработчиков, установленных как часть Коллекции Портов, администратору достаточно запускать только следующую команду:
#
portaudit -a
Утилита portaudit выдаст примерно следующее:
Affected package: cups-base-1.1.22.0_1 Type of problem: cups-base -- HPGL buffer overflow vulnerability. Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html> 1 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.
Перейдя в Web-браузере по показанному URL, администратор может получить более подробную информацию о показанной уязвимости. В неё войдёт перечисление версий, затронутых соответствующей версией порта FreeBSD, а также другие Web-сайты, которые могут содержать бюллетени безопасности.
Если описывать вкратце, то Portaudit является мощной и, при использовании вместе с портом Portupgrade, чрезвычайно полезной утилитой.
Как многие и высококачественные операционные системы, FreeBSD публикует <<Сообщения безопасности>> (<<Security Advisories>>). Эти сообщения обычно отправляются по почте в списки рассылки, посвященные безопасности и публикуются в списке проблем только после выхода исправлений к соответствующим релизам. В этом разделе разъясняется, что такое сообщения безопасности, как их читать и какие меры принимать для исправления системы.
Сообщение безопасности FreeBSD выглядит подобно сообщению ниже, взятому из списка рассылки freebsd-security-notifications.
============================================================================= FreeBSD-SA-XX:XX.UTIL Security Advisory The FreeBSD Project Topic: denial of service due to some problemCategory: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of FreeBSD
FreeBSD 4-STABLE prior to the correction date Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE) 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6) 2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15) 2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8) 2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18) 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21) 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33) 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43) 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
CVE Name: CVE-XXXX-XXXX
For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit http://www.FreeBSD.org/security/. I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. References
Поле | |
Поле | |
Поле | |
Поле | |
Поле | |
Поле | |
Поле | |
Зарезервировано для идентификации уязвимости в общей базе данных CVD (Common Vulnerabilities Database). | |
Поле | |
Поле | |
Поле | |
Поле | |
Поле | |
Поле | |
Поле |
Учёт используемых процессами ресурсов представляет собой метод защиты, при котором администратор может отслеживать использование системных ресурсов и их распределение между пользователями для нужд системного мониторинга и минимального отслеживания команд пользователей.
На самом деле здесь есть свои положительный и отрицательные моменты. Положительной стороной является то, что проникновение может быть отслежено до первоначальной точки входа. Отрицательной стороной является объём протоколов, который генерируется при мониторинге, и соответствующие требования к дисковому пространству. В этом разделе администратору даются основы учёта ресурсов процессов.
Прежде чем использовать систему учёта ресурсов, её необходимо активировать. Для этого выполните следующие команды:
#
touch /var/account/acct
#
accton /var/account/acct
#
echo 'accounting_enable="YES"' >> /etc/rc.conf
После активации система учёта ресурсов начнёт отслеживать
статистику CPU, команд и так далее. Все протоколы
учёта ведутся в формате, недоступном для чтения человеком, и могут
просматриваться при помощи утилиты sa(8). Запущенная без
параметров, sa
выдаст информацию, относящуюся к
количеству вызовов в расчёте на каждого пользователя, общее
затраченное время в минутах, общее время CPU и
пользователя в минутах, среднее количество операций ввода/вывода и
так далее.
Для просмотра информации о запущенных командах, необходимо
воспользоваться утилитой lastcomm(1). Команду
lastcomm
можно использовать, например, для выдачи
списка директив, выданных пользователями определённого терминала
ttys(5):
#
lastcomm ls trhodes ttyp1
Эта команда выдаст все зафиксированные использования команды
ls
пользователем trhodes
на
терминале ttyp1.
Существует многие другие полезные параметры, которые описаны на соответствующих справочных страницах lastcomm(1), acct(5) и sa(8).
FreeBSD 5.X представляет новые расширения системы безопасности от проекта TrustedBSD, основанные на документах POSIX(R).1e. Два из наиболее важных нововведений в механизмах безопасности это списки контроля доступа файловой системы (Access Control Lists, ACLs) и принудительный контроль доступа Mandatory Access Control, MAC). Инфраструктура позволяет загружать новые модули контроля доступа, реализуя новые политики безопасности. Некоторые из них предоставляют защиту ключевых подсистем, защищая определенный сервис, в то время как другие предоставляют исчерпывающую систему безопасности с метками на всех субъектах и объектах. Контроль называется принудительным, поскольку применение контроля производится администраторами и системой, и не зависит от решения пользователей, как это происходит при обычном контроле доступа (Discretionary Access Control, DAC, стандартные файловые и System V IPC права в FreeBSD).
Вся эта глава фокусируется на инфраструктуре принудительного контроля доступа и настройке подключаемых модулей, реализующих различные политики безопасности.
После прочтения этой главы вы узнаете:
Какие модули MAC включены в настоящее время в FreeBSD, какие политики с ними связаны.
Что способны реализовать политики MAC, различие между политиками с метками (label) и без меток.
Как эффективно настроить систему для использования инфраструктуры MAC.
Как настроить различные политики, используемые модулями MAC.
Как реализовать более защищенную среду, используя инфраструктуру MAC и приведенные примеры.
Как протестировать настройку MAC, чтобы убедиться, что инфраструктура была реализована правильно.
Перед прочтением этой главы вам потребуется:
Понимание основ UNIX(R) и FreeBSD (Глава 4, Основы UNIX).
Ознакомиться с основами настройки/компилирования ядра (Глава 9, Настройка ядра FreeBSD).
Иметь некоторые понятия о безопасности и как она относится к FreeBSD (Глава 14, Безопасность).
Неправильное использование информации этой главы может вызвать потерю доступа к системе, проблемы у пользователей, или невозможность запуска XFree86TM. Что более важно, MAC не должен восприниматься как полная защита системы. Инфраструктура MAC лишь усиливает имеющуюся систему безопасности: без применения методов защиты и регулярных проверок, система никогда не станет полностью защищенной.
Необходимо также учесть, что примеры, приведенные в этой главе, это всего лишь примеры. Не рекомендуется дублирование этих настроек для реальных задач. Реализация политик безопасности требует вдумчивого планирования. Тот, кто не понял полностью как все это на самом деле работает, может столкнуться с необходимостью повторной полной перенастройки системы безопасности для многих файлов и каталогов.
В этой главе охвачен широкий спектр вопросов безопасности, относящихся к инфраструктуре MAC. однако разработка политик MAC не будет затронута. Несколько модулей, включенных в инфраструктуру MAC, имеют особые характеристики, которые предназначены для тестирования и разработки новых модулей. Это относится к модулям/политикам mac_test(4), mac_stub(4) и mac_none(4). За дальнейшей информацией по этим модулям и различным предоставляемым ими механизмам, обратитесь к соответствующим страницам справочника.
Перед чтением этой главы необходимо ознакомиться с некоторыми ключевыми терминами. Это возможно разрешит возникающие вопросы и предотвратит перегрузку материала новыми терминами и информацией.
отдел (compartment): Отдел это набор программ и данных, которые необходимо отделить, и где пользователи получают явный доступ к отдельным компонентам системы. Отдел представляет группирование, например рабочую группу, департамент, проект или тему. С использованием отделов возможна реализация политики с явно определенным доступом.
целостность (integrity): Целостность, как ключевая концепция, это уровень доверия, который может быть присвоен данным. Поскольку целостность данных повышается, это дает возможность доверять данным.
метка (label): Метка является инструментом безопасности, она может быть применена к файлам, каталогам и другим сущностям системы. Ее можно представить как штамп конфиденциальности; метка, помещенная на файл, описывает уровень секретности данного файла и разрешит доступ только файлам, пользователям, ресурсам и т.д. с теми же или меньшими установками безопасности. Некоторые из политик могут обрабатывать метки различными способами; это будет обсуждаться в разделе политик ниже.
multilabel (множественные метки):
свойство multilabel
это параметр файловой системы, который может быть установлен
в однопользовательском режиме с помощью утилиты
tunefs(8), во время загрузки через файл fstab(5),
или при создании новой файловой системы. Этот параметр
позволяет администратору помещать различные метки
MAC на различные объекты.
разрешает помещение множественных MAC меток
на файлы и каталоги файловой системы. Этот параметр
применим только к политикам с метками.
объект (object): Объект или системный объект это сущность, через которую информация проходит к субъекту. Это могут быть каталоги, файлы, поля, экраны, клавиатуры, память, магнитные накопители, принтеры или любые другие устройства хранения/перемещения данных. В сущности это контейнер данных или ресурс системы; доступ к объекту фактически означает доступ к данным.
политика (policy): Набор правил, определяющих как достичь объекта. Политика обычно документирует обращение с определенными элементами. В этой главе политика будет означать политику безопасности; т.е. коллекцию правил, которые будут контролировать поток данных и определять кто будет иметь доступ к этим данным.
чувствительность (sensitivity): Обычно используется при обсуждении MLS. Уровень чувствительности это термин, используемый для описания того, насколько важны или секретны данные. Увеличение уровня чувствительности означает важность данных.
одиночная метка (single label): означает,
что вся файловая система использует одну метку для
определения доступа всего потока данных. Когда файловая система
использует эту установку, что происходит всегда, если не
установлен параметр multilabel
, ко всем
файлам будет применяться одна и та же установка метки.
субъект (subject): субъект это любая активная сущность, вызывающая перемещение информации между объектами; т.е. пользователь, пользовательский обработчик, системный процесс и т.д. В FreeBSD это почти всегда поток, работающий в процессе или представляющий пользователя.
Усвоив все эти термины, рассмотрим как MAC повышает безопасность системы в целом. Различные политики, предоставляемые инфраструктурой MAC, могут быть использованы для защиты сети и файловых систем, блокирования доступа пользователей к определенным портам и сокетам, и так далее. Возможно, наилучшее использование политик это сочетание их вместе путем загрузки нескольких модулей одновременно, для создания многослойной защищенной среды. В многослойной среде безопасности несколько политик обеспечивают контролируемость защиты. Это отличается от усиления защиты, когда обычно усиливаются элементы системы, используемой в определенных целях. Единственным недостатком является дополнительная административная нагрузка в случае множественных меток файловой системы, установки сетевого доступа по пользователям, и т.д.
Эти недостатки минимальны по сравнению с длительным эффектом функционирования инфраструктуры; например, возможность выбора политик, необходимых для определенных конфигураций, уменьшает потерю производительности. Возможность удаления поддержки не используемых политик может увеличить общую производительность системы, а также дает гибкость выбора. Хорошая реализация удовлетворит общие требования безопасности и будет эффективно использовать различные политики, предоставляемые инфраструктурой.
Система, использующая возможности MAC, должна как минимум гарантировать, что пользователю не разрешается самостоятельно изменять атрибуты безопасности; все утилиты пользователя, программы и скрипты должны работать с ограничениями доступа, налагаемыми выбранной политикой; весь контроль правил доступа MAC находится в руках системного администратора.
Право выбора правильных политик безопасности принадлежит только системному администратору. В некоторых случаях может потребоваться ограничение доступа через сеть; для этого могут пригодиться mac_portacl(4), mac_ifoff(4) и даже mac_biba(4). В других случаях может быть необходима строгая конфиденциальность объектов в файловой системе. Для этого существуют политики mac_bsdextended(4) и mac_mls(4).
Выбор политики может быть сделан на основе конфигурации сети. Возможно только определенным пользователям можно разрешить доступ через ssh(1) к сети или интернет. В таких ситуациях подойдет политика mac_portacl(4). Но что необходимо сделать для файловых систем? Должен ли доступ к определенным каталогам быть запрещен для других групп или определенных пользователей? Или мы должны ограничить доступ пользователей или утилит к определенным файлам путем классификации определенных объектов?
В случае файловой системы, доступ может считаться конфиденциальным для отдельных пользователей, но не для всех. Например, большая команда разработчиков может быть разбита на небольшие группы. Разработчикам проекта A может быть не разрешен доступ к объектам, написанным разработчиками из проекта B. Хотя им может понадобиться доступ к объектам, созданным разработчиками проекта C; это реально встречающаяся ситуация. С помощью различных политик, предоставляемых инфраструктурой MAC, пользователи могут быть разделены на эти три группы и затем получить доступ к соответствующим областям без опасности утечки информации.
Таким образом, каждая политика имеет уникальный способ взаимодействия с общей безопасностью системы. Выбор политики должен быть основан на хорошо продуманной политике безопасности. Во многих случаях политика должна быть полностью пересмотрена и реализована заново для всей системы. Понимание различных политик, предоставляемых инфраструктурой MAC, поможет администраторам выбрать лучшую политику в своей ситуации.
Стандартное ядро FreeBSD не включает параметр MAC; необходимо добавить следующий параметр ядра перед тем, как пробовать какие-либо из примеров или применять информацию этой главы:
options MAC
Затем необходимо пересобрать и переустановить ядро.
Хотя различные страницы справочника для модулей MAC сообщают, что они могут быть встроены в ядро, возможна блокировка доступа системы к сети и другие побочные эффекты. Включение MAC очень похоже на включение брандмауэра, но необходимо быть внимательным, чтобы полностью не заблокировать систему. Необходимо предусмотреть возможность возврата к предыдущей конфигурации, а реализация MAC удаленно должна производиться с особой осторожностью.
Метка MAC это атрибут безопасности, который может быть применен к субъектам и объектам всей системы.
При установке метки пользователь должен в точности понимать, что именно она делает. Атрибуты, доступные для объекта, зависят от загруженной политики, а политики интерпретируют свои атрибуты совершенно различным образом. Результатом недостаточного понимания настроек может стать их неправильная реализация, что может привести к неожиданному, и возможно нежелательному поведению системы.
Метка безопасности на объекте используется политикой для определения правил доступа. Для некоторых политик метка сама по себе содержит всю необходимую для этого информацию, в других моделях метки могут обрабатываться как часть большого набора правил, и т.д.
Например, установка метки в biba/low
на файле присвоит этому файлу метку, обрабатываемую политикой
Biba со значением <<low>>.
Несколько политик, поддерживающих метки в FreeBSD, предоставляют три определенные предустановленные метки. Это низкая, высокая и равная метки. Хотя они устанавливают контроль различными способами для каждой политики, вы можете быть уверены, что низкая метка задаст минимальные установки, равная метка означает отмену или недействительность, а высокая метка установит максимально возможные настройки в политиках Biba и MLS.
При применении в файловой системе одиночной метки, только одна
метка может быть использована для объектов. Это вызовет установку
одних и тех же прав доступа для всей системы, и во многих случаях
это все, что необходимо. Тем не менее, существует несколько ситуаций,
в которых на объекты и субъекты файловой системы могут быть установлены
множественные метки. В этих ситуациях необходимо с помощью
tunefs(8) установить параметр multilabel
.
В случае Biba и MLS может быть установлена числовая метка для указания точного уровня иерархического контроля. Этот числовой уровень используется для разделения или сортировки информации по различным группам классификации, разрешающей доступ только к этой группе или группе с более высоким уровнем.
В большинстве случаев системный администратор использует только одну метку на всю файловую систему.
Постойте, но это же похоже на DAC!
Я думал, что MAC дает контроль только
администратору. Это утверждение все еще верно,
только root
контролирует и настраивает
политики, так что пользователи помещаются в соответствующие
категории/уровни доступа. Многие политики могут ограничить также
и пользователя root
.
Базовый контроль над объектами затем
передается группе, но пользователь root
может отменить или изменить эти настройки в любое время.
Данная иерархическая модель соответствует
таким политикам как Biba и MLS.
Практически все действия по настройке политики с метками могут быть выполнены с использованием утилит базовой системы. Эти команды обеспечивают простой интерфейс для настройки объектов или субъектов, или для изменения и проверки настроек.
Все настройки могут быть выполнены с использованием утилит
setfmac(8) и setpmac(8). Команда
setfmac
используется для установки меток
MAC на системные объекты, а команда
setpmac
используется для установки меток на
системные субъекты. Выполните:
#
setfmac biba/high test
Если не произойдет ошибок, будет возвращено приглашение командной строки, как и после команд chmod(1) и chown(8). В некоторых случаях может появиться ошибка Permission denied, и она обычно появляется при установке или изменении метки на объект с ограничениями. [7] Системный администратор для обхода этой проблемы может использовать следующие команды:
#
setfmac biba/high test
Permission denied#
setpmac biba/low setfmac biba/high test
#
getfmac test
test: biba/high
Как видно из примера выше, команда setpmac
может быть
использована для изменения установок политики путем присвоения
иной метки вызывающему процессу. Утилита getpmac
обычно используется с существующим на данный момент процессом,
таким как sendmail, хотя она принимает
PID вместо команды, ее действие аналогично. Если пользователи
попытаются манипулировать файлами, к которым у них нет доступа
в соответствии с правилами загруженных политик,
функцией mac_set_link
будет
выдано сообщение об ошибке Operation not
permitted.
Пользователям необходимо иметь метки, чтобы их файлы и
процессы могли правильно взаимодействовать с определенной
в системе политикой безопасности. Это настраивается
через файл login.conf
путем использования
классов. Каждая политика, использующая метки, реализует установку
класса пользователя.
Пример записи, содержащей все политики, приведенные ниже:
default:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\ :manpath=/usr/share/man /usr/local/man:\ :nologin=/usr/sbin/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :vmemoryuse=100M:\ :stacksize=2M:\ :memorylocked=4M:\ :memoryuse=8M:\ :filesize=8M:\ :coredumpsize=8M:\ :openfiles=24:\ :maxproc=32:\ :priority=0:\ :requirehome:\ :passwordtime=91d:\ :umask=022:\ :ignoretime@:\ :label=partition/13,mls/5,biba/10(5-15),lomac10[2]:
Параметр label
используется для установки
метки MAC по умолчанию для класса пользователя.
Пользователи не смогут изменять это значение, поэтому его
можно признать не опциональным. В реальной ситуации администратору
никогда не потребуется включать каждую политику.
Рекомендуется прочесть главу полностью перед реализацией любой
из этих настроек.
Пользователи могут изменить свою метку после входа; однако политика накладывает ограничение на это изменение. В примере выше политике Biba указано, что минимальная целостность процесса 5, максимальная 15, а эффективная целостность по умолчанию 10. Процесс будет работать на уровне 10, пока метка не будет изменена, например если пользователь использует команду setpmac, которую Biba ограничит диапазоном, установленным при входе.
Во всех случаях после изменения
login.conf
, база данных
<<login class capability>> должна быть пересобрана
с использованием команды cap_mkdb
и это будет отражено в каждом последующем примере главы.
Полезно отметить, что количество пользователей, которым требуются различные классы, во многих сетях может быть велико. Необходимо тщательное планирование, поскольку управление такой сетью может серьезно усложниться.
В будущих версиях FreeBSD появится новый способ связывания пользователей с метками; однако, он будет доступен только через некоторое время после выхода FreeBSD 5.3.
Метки также могут быть установлены на сетевые интерфейсы,
для контроля потока данных в сети. Во всех случаях они
функционируют аналогично тому, как политики по отношению к
объектам. Пользователи с высокими установками, например,
biba
, не смогут получить доступ к сетевым
интерфейсам с низкими установками.
Для установки MAC меток на сетевых
интерфейсах параметр maclabel
может быть передан
ifconfig
. Например:
#
ifconfig bge0 maclabel biba/equal
установит MAC метку
biba/equal
на интерфейс bge(4).
При использовании метки, подобной
biba/high(low-high)
вся метка должна быть
взята в кавычки, иначе будет выдано сообщение об ошибке.
Каждая политика, использующая метки, снабжена переменной
sysctl
, которая может быть использована для
отключения MAC меток на сетевых интерфейсах.
Установка метки в equal
будет иметь подобный
эффект. Просмотрите вывод команды sysctl
,
страницы справочника для политик, или дальнейшую информацию из
этой главы по этим переменным.
По умолчанию система будет использовать параметр
singlelabel
. Но что это означает для
администратора? Существуют несколько различий между политиками,
каждая из которых правильна сама по себе, но имеет свои доводы
за и против относительно гибкости модели безопасности
системы.
singlelabel
(одиночная метка) разрешает
использование только одной метки, например
biba/high
, для каждого объекта или субъекта.
Ее преимущество в меньшей нагрузке на системного администратора,
а недостаток в малой гибкости политик, поддерживающих метки.
Многие администраторы в своих политиках безопасности могут
предпочесть использование параметра
multilabel
.
С параметром multilabel
каждый субъект или
объект может иметь собственную метку MAC,
в то время как со стандартным параметром singlelabel
возможна только одна метка на весь раздел.
Параметры multilabel
и singlelabel
требуются только для политик, реализующих метки, включая
Biba, Lomac, MLS и
SEBSD.
Во многих случаях multilabel
может вообще не
потребоваться. Предположим следующую ситуацию и модель
безопасности:
FreeBSD веб-сервер, использующий инфраструктуру MAC и набор различных политик.
Этому компьютеру потребуется лишь одна метка,
biba/high
, для всей системы.
Файловой системе не нужен параметр multilabel
,
поскольку по умолчанию работает одиночная метка.
Но поскольку этот компьютер будет веб сервером, процесс
веб сервера должен быть запущен с biba/low
для предотвращения записи. Политика Biba и то, как она
работает, будет обсуждаться позже, поэтому предыдущий комментарий
сложно интерпретировать; просто продолжайте чтение.
Сервер может использовать дисковый раздел с установленной
меткой biba/low
для большинства, если
не для всех своих операций. В этом примере отсутствуют многие
детали, такие как ограничения на данные, конфигурация системы
и установки пользователей; однако, это лишь предварительный
пример.
Если используется любая из политик, не поддерживающих метки,
параметр multilabel
не требуется. Сюда включаются
политики seeotheruids
, portacl
и partition
.
Необходимо также отметить, что использование параметра
multilabel
на разделе и установление модели
безопасности, основанной на функциональности
multilabel
, может повлечь за собой
множество дополнительной административной работы, поскольку всему в
файловой системе должны быть присвоены метки. Это включает каталоги,
файлы, и даже файлы устройств.
Следующая команда установит параметр multilabel
на файловых системах. Это может быть сделано только в
однопользовательском режиме:
#
tunefs -l enable /
Это не требуется для файловой системы подкачки.
Некоторые пользователи сталкиваются с проблемами при
установке флага multilabel
на корневой раздел.
В данном случае обратитесь к
Раздел 15.16, <<Решение проблем с инфраструктурой MAC>>.
Независимо от загрузки модулей, существует несколько частей
MAC, которые могут быть настроены с
использованием интерфейса sysctl
. Эти
переменные описаны ниже и во всех случаях значение 1
означает включение, а 0 - отключение:
security.mac.enforce_fs
по умолчанию
установлена в 1 и включает политики
MAC на файловых системах.
security.mac.enforce_kld
по умолчанию
1 и включает линкование политик MAC в
ядре (см. kld(4)).
security.mac.enforce_network
по умолчанию
1 и включает сетевые политики MAC.
security.mac.enforce_pipe
по умолчанию
1 и включает политики MAC для каналов
(pipe).
security.mac.enforce_process
по умолчанию
1 и включает политики MAC для процессов,
использующих средства межпроцессного взаимодействия.
security.mac.enforce_socket
по умолчанию
1 и включает политики MAC на сокетах
(см. страницу справочника socket(2)).
security.mac.enforce_system
по умолчанию
1 и включает политики MAC для действий системы,
таких как учет (accounting) и перезагрузка.
security.mac.enforce_vm
по умолчанию
1 и включает политики MAC для системы
виртуальной памяти.
Каждая политика MAC поддерживает
переменные sysctl
. Они обычно попадают в дерево
security.mac.<policyname>
.
Для просмотра всех переменных MAC,
используйте следующую команду:
#
sysctl -da | grep mac
Это должно быть интерпретировано так, что все основные
политики MAC включены по умолчанию.
Если модули встроены в ядро, система будет заблокирована, и скорее
всего не сможет связаться с локальной сетью или с интернет, и т.д.
Поэтому встраивание модулей в ядро не рекомендуется. Не потому,
что это ограничит возможность отключения командой
sysctl
, а потому, что включение политик в
виде модулей позволит администратору переключать политики системы
без необходимости пересборки и переустановки новой системы.
Каждый модуль, включенный в инфраструктуру MAC,
может быть или встроен в ядро, как упоминалось выше, или загружен
в виде модуля ядра. Рекомендуется добавление имени модуля в
файл /boot/loader.conf
, этот модуль будет
активирован в самом начале загрузки.
В последующих разделах будут обсуждаться различные модули
MAC и их возможности. Реализация этих
возможностей в определенных ситуациях также будет обсуждаться
в этой главе. Некоторые модули поддерживают использование
меток, которые контролируют доступ путем применения правил
вида <<это разрешено, а это нет>>. Настройка меток может
контролировать доступ к файлам, сетевым коммуникациям и т.д.
В предыдущем разделе было показано как флаг multilabel
может быть установлен на файловые системы для включения контроля
доступа по файлам или по разделам.
Конфигурация с одной меткой не допускает применение нескольких
меток в системе, поэтому параметр tunefs
называется multilabel
.
Имя модуля: mac_seeotheruids.ko
Строка в конфигурации ядра:
options MAC_SEEOTHERUIDS
Параметр загрузки:
mac_seeotheruids_load="YES"
Модуль mac_seeotheruids(4) копирует и расширяет
переменные sysctl
security.bsd.see_other_uids
и
security.bsd.see_other_gids
. Он
не требует установки меток и может прозрачно работать с
другими модулями.
После загрузки модуля, для управления им могут быть
использованы следующие переменные sysctl
:
security.mac.seeotheruids.enabled
включит модуль с настройками по умолчанию. Эти настройки
запрещают пользователям просмотр процессов и сокетов,
принадлежащих другим пользователям.
security.mac.seeotheruids.specificgid_enabled
позволит исключить определенные группы из этой политики.
Для исключения определенной группы, используйте переменную
sysctl
security.mac.seeotheruids.specificgid=
.
В примере выше необходимо заменить XXX
XXX
на числовой ID группы.
security.mac.seeotheruids.primarygroup_enabled
используется для исключения определенной основной группы
из этой политики. При использовании этой переменной
security.mac.seeotheruids.specificgid_enabled
может быть не установлена.
Необходимо отметить, что пользователь root
не является исключением из этой политики. Это одно из самых
существенных различий между MAC версией
и обычными переменными, существующими по умолчанию:
security.bsd.seeotheruids
.
Имя модуля: mac_bsdextended.ko
Строка конфигурации ядра:
options MAC_BSDEXTENDED
Параметр загрузки:
mac_bsdextended_load="YES"
Модуль mac_bsdextended(4) включает брандмауэр файловой системы. Политика этого модуля является расширением стандартной модели разрешений файловой системы, позволяя администратору создавать набор правил для защиты файлов, утилит и каталогов иерархии файловой системы в стиле брандмауэра.
Политика может быть создана с помощью утилиты, ugidfw(8), синтаксис которой похож на синтаксис ipfw(8). Другие инструменты могут быть написаны с использованием функций библиотеки libugidfw(3).
При работе с этим модулем необходимо соблюдать особую осторожность; некорректное его использование может заблокировать доступ к отдельным частям файловой системы.
После загрузки модуля mac_bsdextended(4) для просмотра текущей настройки правил может быть использована следующая команда:
#
ugidfw list
0 slots, 0 rules
Как и можно было ожидать, правила не определены. Это
означает, что доступ полностью открыт. Для создания правила,
которое заблокирует доступ всех пользователей, но не повлияет
на root
, просто запустите следующую
команду:
#
ugidfw add subject not uid root new object not uid root mode n
В релизах FreeBSD до 5.3, параметр add
не существует. Вместо него необходимо использовать
set
. Пример дан ниже.
Это очень плохая идея, поскольку такое правило запретит
пользователям использовать даже самые простые команды, такие
как ls
. Более патриотический список правил
может быть таким:
#
ugidfw set 2 subject uid
user1
object uiduser2
mode n#
ugidfw set 3 subject uid
user1
object giduser2
mode n
Эти команды запретят весь и любой доступ пользователя
user1
, включая просмотр подкаталогов, к
домашнему каталогу пользователя
.user2
Вместо user1
может быть задано
not uid
.
Это включит те ограничения,
о которых говорилось выше, для всех пользователей кроме
одного.user2
На пользователя root
эти изменения не
повлияют.
Материал выше должен дать общую идею как модуль mac_bsdextended(4) может быть использован в качестве средства защиты файловой системы. За дальнейшей информацией обращайтесь к страницам справочника mac_bsdextended(4) и ugidfw(8).
Имя модуля: mac_ifoff.ko
Строка конфигурации ядра:
options MAC_IFOFF
Параметр загрузки: mac_ifoff_load="YES"
Модуль mac_ifoff(4) существует только для отключения сетевых интерфейсов в работающей системе и удержания их от отправки пакетов во время начальной загрузки. Это не требует установления в системе каких-либо меток, нет и зависимости от других модулей MAC.
Большая часть управления может быть выполнена через
переменные sysctl
.
Одно из наиболее частых использований mac_ifoff(4) это сетевой мониторинг в среде, где сетевой трафик не должен быть разрешен во время загрузки. Другое предлагаемое применение это написание скрипта, использующего security/aide для автоматического блокирования сетевого трафика, если будут обнаружены новые или измененные файлы в защищаемых каталогах.
Имя модуля: mac_portacl.ko
Строка конфигурации ядра:
MAC_PORTACL
Параметр загрузки: mac_portacl_load="YES"
Модуль mac_portacl(4) используется для ограничения привязки
(binding) к локальным портам TCP и
UDP, используя различные переменные
sysctl
. По сути mac_portacl(4)
делает возможной привязку к привилегированным портам, т.е. к портам
с номерами меньше 1024 для не-root
пользователей.
После загрузки этот модуль включит политику MAC
на всех сокетах. Доступны следующие переменные
sysctl
:
security.mac.portacl.enabled
включает/отключает политику целиком.
[8]
security.mac.portacl.port_high
установит наибольший номер порта, для которого
mac_portacl(4) включает защиту.
security.mac.portacl.suser_exempt
,
если установлена в ненулевое значение, исключает пользователя
root
из этой политики.
security.mac.portacl.rules
задает действующую политику mac_portacl: см. ниже.
Действующая политика mac_portacl
,
указанная в security.mac.portacl.rules
,
это текстовая строка в форме rule[,rule,...]
с таким количеством правил, которое требуется. Каждое правило
задается в формате:
idtype:id:protocol:port
. Параметр
idtype
может принимать значения
uid
или gid
и используется
для интерпретации параметра id
,
в качестве id пользователя или группы соответственно.
Параметр protocol
используется для
определения применимости этого правила к протоколу
TCP или UDP, он может
принимать значения tcp
или
udp
. Последний параметр,
port
, задает номер порта, к которому
разрешается привязка указанного пользователя или группы.
Поскольку набор правил интерпретируется непосредственно ядром, для ID пользователя, группы и номера порта могут быть использованы только числовые значения. Т.е. имена пользователей, групп и сервисов портов не могут быть использованы.
По умолчанию в UNIX(R)-подобных системах порты с номерами
менее чем 1024 могут быть использованы только привилегированными
процессами, т.е. теми, что запущены от root
.
С mac_portacl(4) для разрешения привязки непривилегированных
процессов к портам с номерами ниже 1024 эти стандартные ограничения
UNIX(R) должны быть отменены. Это может быть выполнено путем
установки переменных sysctl(8)
net.inet.ip.portrange.reservedlow
и
net.inet.ip.portrange.reservedhigh
в ноль.
Обратитесь к примерам ниже или к странице справочника mac_portacl(4) за дальнейшей информацией.
Следующие примеры должны осветить обсуждение выше чуть лучше:
#
sysctl security.mac.portacl.port_high=1023
#
sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0
Сначала мы настраиваем mac_portacl(4) для работы со стандартными привилегированными портами и отмены обычных ограничений UNIX(R) на привязку.
#
sysctl security.mac.portacl.suser_exempt=1
Пользователь root
должен быть исключен
из этой политики, для этого переменная
security.mac.portacl.suser_exempt
установлена в ненулевое значение. Модуль mac_portacl(4)
теперь настроен на то поведение UNIX(R)-подобных систем по
умолчанию.
#
sysctl security.mac.portacl.rules=uid:80:tcp:80
Разрешает пользователю с UID 80 (обычно
это пользователь www
) привязку к порту 80.
Теперь пользователь www
сможет запустить
веб сервер даже без привилегии root
.
#
sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995
Разрешит пользователю с UID 1001 привязку к TCP портам 110 (<<pop3>>) и 995 (<<pop3s>>). Это позволит данному пользователю запустить сервер, принимающий соединения на портах 110 и 995.
В следующих нескольких разделах будут обсуждаться политики MAC, использующие метки.
С этого момента обсуждение будет сфокусировано на возможностях mac_biba(4), mac_lomac(4), mac_partition(4), и mac_mls(4).
Это лишь примерные настройки, они не должны использоваться непосредственно в реальных задачах. Цель изложения в том, чтобы документировать и показать синтаксис, а также примеры реализации и тестирования.
Для правильной работы этих политик необходимо выполнить некоторые приготовления.
В файл login.conf
необходимо
внести следующие изменения:
Должен быть добавлен класс insecure
,
или другой подобный класс. Наличие класса
insecure
не обязательно, он приводится
здесь в качестве примера; другие конфигурации могут использовать
другое имя класса.
Класс insecure
должен использовать
приведенные ниже настройки и определения. Некоторые из них
могут быть изменены, но строка, определяющая метку по
умолчанию, необходима и должна быть оставлена.
insecure:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\ :manpath=/usr/share/man /usr/local/man:\ :nologin=/usr/sbin/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :vmemoryuse=100M:\ :stacksize=2M:\ :memorylocked=4M:\ :memoryuse=8M:\ :filesize=8M:\ :coredumpsize=8M:\ :openfiles=24:\ :maxproc=32:\ :priority=0:\ :requirehome:\ :passwordtime=91d:\ :umask=022:\ :ignoretime@:\ :label=partition/13,mls/5,biba/low:
Перед тем, как переключать пользователей на новый класс, необходимо запустить команду cap_mkdb(1) на login.conf(5).
Пользователю root
также необходимо
присвоить класс; иначе, почти любой команде, выполняемой
от root
, потребуется использование
setpmac
.
Убедитесь, что все разделы, на которых будут установлены
метки MAC, поддерживают параметр
multilabel
. Нам необходимо сделать это,
поскольку многие из примеров здесь содержат различные
метки в целях тестирования. Просмотрите вывод команды
mount
в качестве необходимой
предосторожности.
Переключите всех пользователей, которые будут использовать новые механизмы безопасности, на этот класс. Информация по этой процедуре находится в pw(8) или vipw(8).
Имя модуля: mac_partition.ko
Строка настройки ядра:
options MAC_PARTITION
Параметр загрузки:
mac_partition_load="YES"
Политика mac_partition(4) распределяет процессы по <<разделам>> на основе их MAC меток. Это может быть представлено как особый тип jail(8), хотя такое сравнение едва ли подходит.
Этот модуль должен быть добавлен в loader.conf(5), чтобы политика была загружена и включена при загрузке системы.
Большая часть настройки этой политики выполняется с помощью
утилиты setpmac(8), которая будет описана ниже. Для
данной политики имеется также следующая переменная
sysctl
:
security.mac.partition.enabled
включит MAC разделение процессов.
Когда эта политика включена, пользователям разрешено
просматривать только собственные процессы, но не разрешено
пользоваться определенными утилитами. Например, пользователю
из класса insecure
выше не будет разрешено
использование команды top
, а также многих
других команд, которые должны порождать процесс.
Для присвоения утилитам меток partition используйте
утилиту setpmac
:
#
setpmac partition/13 top
Команда top
будет добавлена к метке,
установленной для пользователей класса insecure
.
Обратите внимание, что все процессы, порожденные пользователями
класса insecure
, останутся с меткой
partition/13
.
Следующая команда покажет вашу метку раздела и список процессов:
#
ps Zax
Следующей командой можно просмотреть метку раздела процессов других пользователей и их запущенные процессы:
#
ps -ZU trhodes
Пользователи могут могут увидеть процессы
root
, если не загружена политика
mac_seeotheruids(4).
Действительно <<продвинутая>> реализация
должна отключать все сервисы через
/etc/rc.conf
и запускать их через
скрипт, который установит правильный набор меток.
Следующие политики поддерживают целочисленные установки вместо трех меток по умолчанию. Эти опции, включая их ограничения, описываются более подробно в страницах справочника модулей.
Имя модуля: mac_mls.ko
Строка конфигурации ядра:
options MAC_MLS
Параметр загрузки: mac_mls_load="YES"
Политика mac_mls(4) контролирует взаимодействие субъектов и объектов системы путем применения строгой политики к потоку информации.
В среде MLS, для каждого субъекта или объекта внутри отдела (compartment) устанавливается <<уровень допуска>>. Поскольку количество уровней допуска может превышать шесть тысяч, для любого системного администратора задача настройки каждого субъекта или объекта может быть слишком сложной. К счастью, существуют <<постоянные>> метки, которые уже включены в эту политику.
Эти метки mls/low
,
mls/equal
и mls/high
.
Поскольку эти метки подробно описываются в справочнике,
здесь мы дадим только краткое описание:
Метка mls/low
содержит минимальную
настройку, что позволяет доминирование над ней всех других
объектов. Все, что помечено с mls/low
,
находится на низком уровне доступа и доступ к более высоким
уровням будет запрещен. Кроме того, эта метка предотвратит
запись или передачу информации объектам с более высоким
уровнем доступа.
Метка mls/equal
должна быть помещена
на объекты, являющиеся исключением из политики.
Метка mls/high
это наибольший возможный
уровень доступа. Объекты с этой меткой будут доминировать
над всеми другими объектами системы; однако, утечка информации
от них к объектам более низкого класса невозможна.
MLS представляет собой:
Иерархические уровни безопасности с набором не иерархических категорий;
Фиксированные правила: нет чтения сверху, нет записи вниз (субъект может иметь доступ на чтение объектов собственного уровня или ниже, но не выше. Аналогично, субъект может иметь доступ на запись в объекты своего уровня или выше, но не наоборот.);
Секретность (предотвращение неавторизованного раскрытия данных);
Основа для разработки систем, одновременно работающих с данными на нескольких уровнях секретности (без утечки информации).
Для настройки специальных сервисов и интерфейсов доступны
следующие переменные sysctl
:
security.mac.mls.enabled
используется
для включения/отключения политики MLS.
security.mac.mls.ptys_equal
пометит
все устройства pty(4) как mls/equal
во время создания.
security.mac.mls.revocation_enabled
используется для запрета доступа к объектам после того,
как их метка изменится в меньшую сторону.
security.mac.mls.max_compartments
используется для установки максимального количества
уровней отделов на объекты; обычно это максимальное
количество отделов, разрешенных в системе.
Для управления метками MLS существует команда setfmac(8). Для присвоения метки объекту, выполните следующую команду:
#
setfmac mls/5 test
Для получения метки MLS файла
test
, выполните следующую команду:
#
getfmac test
Выше представлен краткий обзор возможностей политики
MLS. Существует метод, связанный с созданием
основного файла политики в каталоге /etc
, где будет определена
необходимая для политики MLS информация, которая
будет передана команде setfmac
. Этот метод будет
описан после рассмотрения всех политик.
Итоги: объект с низким уровнем доступа не может
прочесть данные объекта с высоким уровнем доступа. Базовая политика
должна устанавливать mls/high
на всем, что не должно
быть прочитано, даже если туда необходимо записывать. На всем, куда
нельзя писать, должна быть установлена метка
mls/low
, даже если это необходимо читать.
Наконец, на всем остальном установите mls/equal
.
Все пользователи, помеченные как insecure
, должны
иметь метку mls/low
.
Имя модуля: mac_biba.ko
Строка конфигурации ядра: options MAC_BIBA
Параметр загрузки: mac_biba_load="YES"
Модуль mac_biba(4) загружает MAC политику Biba. Эта политика работает в основном так же, как и MLS, за исключением того, что правила потока информации изменены на противоположные. Они предназначены для предотвращения передачи потока секретной информации вверх, в то время как политика MLS предотвращает передачу потока секретной информации вниз; таким образом, большая часть этого раздела применима к обеим политикам.
В среде Biba, каждому субъекту или объекту присваивается метка <<целостности>>. Эти метки состоят из иерархических уровней и не-иерархических компонентов. При возрастании уровня объекта или субъекта это повышает его целостность.
Поддерживаемые метки biba/low
,
biba/equal
, и biba/high
;
описаны ниже:
Метка biba/low
обеспечивает наименьшую
целостность объекта или субъекта. Установка ее на объект
или субъект заблокирует их доступ к объектам или субъектам,
имеющим более высокую метку. Тем не менее, у них остается
доступ на чтение.
Метка biba/equal
должна помещаться только
на объекты, исключающиеся из политики.
Метка biba/high
разрешит запись в объекты
с более низкой меткой, но не разрешит чтение из этих
объектов. Рекомендуется помещать такую метку на объекты,
влияющие на целостность всей системы.
Biba представляет собой:
Иерархические уровни целостности с набором не иерархических категорий;
Фиксированные правила: нет записи наверх, нет чтения снизу (обратно MLS). Субъект может иметь доступ на запись к объектам своего уровня или ниже, но не выше. Аналогично, субъект может иметь доступ на чтение к объектам своего уровня или выше, но не ниже;
Целостность (предотвращение неавторизованного изменения данных);
Уровни целостности (вместо уровней секретности MLS).
Для управления политикой Biba могут быть использованы
следующие переменные sysctl
:
security.mac.biba.enabled
может использоваться для включения/выключения политики
Biba.
security.mac.biba.ptys_equal
может использоваться для отключения политики Biba
на устройствах pty(4).
security.mac.biba.revocation_enabled
включит отмену доступа к объектам, если метка изменена
на более высокую, чем у субъекта.
Для выполнения настроек политики Biba на системных
объектах, применяются команды setfmac
и
getfmac
:
#
setfmac biba/low test
#
getfmac test
test: biba/low
Итоги: субъект с низким уровнем целостности не может писать в субъект с высоким уровнем целостности; субъект с высоким уровнем целостности не может читать из субъекта с низким уровнем целостности.
Имя модуля: mac_lomac.ko
Строка конфигурации ядра: options MAC_LOMAC
Параметр загрузки: mac_lomac_load="YES"
В отличие от политики MAC Biba, политика mac_lomac(4) разрешает доступ к объектам с более низким уровнем целостности только после уменьшения уровня целостности, чтобы не нарушать каких-либо правил целостности.
MAC версия политики целостности Low-watermark,
чтобы не пересекаться со старой реализацией lomac(4),
работает почти так же, как и Biba, за исключением использования
плавающих меток для поддержки понижения метки субъекта через
отдел для вспомогательной градации (auxiliary grade compartment).
Этот вспомогательный отдел принимает вид [auxgrade]
.
При включении политики lomac с вспомогательной градацией
метка должна выглядеть приблизительно так:
lomac/10[2]
, где номер 2 это вспомогательная
градация.
Политика MAC LOMAC основана на тотальной
пометке всех системных объектов метками целостности, разрешая
субъектам читать из объектов с более низкой степенью целостности
и с уменьшением метки субъекта для предотвращения последующей
записи в объекты с более высокой степенью целостности.
Параметр [auxgrade]
обсуждался выше, таким
образом политика может быть более совместимой и требовать
меньшей первоначальной настройки, чем Biba.
Как и для политик Biba и MLS, для
установки меток на системные объекты и субъекты могут
быть использованы утилиты setfmac
и
setpmac
:
#
setfmac /usr/home/trhodes lomac/high[low]
#
getfmac /usr/home/trhodes
lomac/high[low]
Обратите внимание, что вспомогательная градация здесь
low
, эта возможность предоставляется только
политикой MAC LOMAC policy.
Нижеследующая демонстрация реализует защищенную среду с использованием различных MAC модулей с соответственно настроенными политиками. Используйте этот пример только для тестирования, он не предназначен для удовлетворения всех требований к защите. Реализация этих политик без понимания принципа их работы неприменима в реальных задачах.
Перед началом процесса настройки, на каждую файловую
систему необходимо установить параметр multilabel
,
который упоминался в начале этой главы. Невыполнение
этого требования приведет к ошибкам.
Начните процедуру добавлением следующего класса
пользователя к файлу
/etc/login.conf
:
insecure:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin :manpath=/usr/share/man /usr/local/man:\ :nologin=/usr/sbin/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :vmemoryuse=100M:\ :stacksize=2M:\ :memorylocked=4M:\ :memoryuse=8M:\ :filesize=8M:\ :coredumpsize=8M:\ :openfiles=24:\ :maxproc=32:\ :priority=0:\ :requirehome:\ :passwordtime=91d:\ :umask=022:\ :ignoretime@:\ :label=partition/13,mls/5:
и добавлением следующей строки к default классу пользователя:
:label=mls/equal,biba/equal,partition/equal:
После завершения этих действий, для пересборки базы данных должна быть выполнена следующая команда:
#
cap_mkdb /etc/login.conf
Добавьте к
/boot/loader.conf
следующие строки,
чтобы необходимые модули были загружены при старте
системы:
mac_biba_load="YES" mac_mls_load="YES" mac_seeotheruids_load="YES" mac_partition_load="YES"
Всем учетным записям, кроме root
или системных пользователей теперь потребуется присвоить
класс (login class). При отсутствии класса пользователи
не смогут получить доступа к обычным командам, таким как
vi(1). Следующий скрипт sh
сделает все необходимое:
#
for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \
/etc/passwd`; do pw usermod $x -L insecure; done;
После этого изменения необходимо запустить команду
cap_mkdb
на файле
/etc/master.passwd
.
Должен быть создан файл контекста; следующий пример
взят из примера политики от Robert Watson, он может быть
помещен в /etc/policy.contexts
:
# This is the default BIBA/MLS policy for this system. .* biba/high,mls/high /sbin/dhclient biba/high(low),mls/high(low) /dev(/.*)? biba/equal,mls/equal # This is not an exhaustive list of all "privileged" devices. /dev/mdctl biba/high,mls/high /dev/pci biba/high,mls/high /dev/k?mem biba/high,mls/high /dev/io biba/high,mls/high /dev/agp.* biba/high,mls/high (/var)?/tmp(/.*)? biba/equal,mls/equal /tmp/\.X11-unix biba/high(equal),mls/high(equal) /tmp/\.X11-unix/.* biba/equal,mls/equal /proc(/.*)? biba/equal,mls/equal /mnt.* biba/low,mls/low (/usr)?/home biba/high(low),mls/high(low) (/usr)?/home/.* biba/low,mls/low /var/mail(/.*)? biba/low,mls/low /var/spool/mqueue(/.*)? biba/low,mls/low (/mnt)?/cdrom(/.*)? biba/high,mls/high (/usr)?/home/(ftp|samba)(/.*)? biba/high,mls/high /var/log/sendmail\.st biba/low,mls/low /var/run/utmp biba/equal,mls/equal /var/log/(lastlog|wtmp) biba/equal,mls/equal
Эта политика обеспечит безопасность путем применения ограничений на нисходящий и восходящий потоки информации в применении к каталогам и утилитам, приведенным в левой части файла.
Он может быть внесен в систему следующими командами:
#
setfsmac -ef /etc/policy.contexts /
#
setfsmac -ef /etc/policy.contexts /usr
Раскладка вышеприведенной файловой системы может быть различной для разных систем.
Файл /etc/mac.conf
требует
следующих изменений в основном разделе:
default_labels file ?biba,?mls default_labels ifnet ?biba,?mls default_labels process ?biba,?mls,?partition default_labels socket ?biba,?mls
Добавьте пользователя с помощью команды
adduser
и поместите его в класс
insecure
для этих тестов.
В примерах ниже тестирование root
и обычных пользователей будет смешиваться; форма
приглашения поможет различить этих пользователей.
%
getpmac
biba/15(15-15),mls/15(15-15),partition/15#
setpmac partition/15,mls/equal top
Процесс top будет уничтожен перед тем, как мы запустим другой процесс top.
%
ps Zax
biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.03 -su (bash) biba/15(15-15),mls/15(15-15),partition/15 1101 #C: R+ 0:00.01 ps Zax
Просмотр процессов всех других пользователей должен быть запрещен.
Отключите политику MAC
seeotheruids
для остальных тестов:
#
sysctl security.mac.seeotheruids.enabled=0
%
ps Zax
LABEL PID TT STAT TIME COMMAND biba/equal(low-high),mls/equal(low-high),partition/15 1122 #C: S+ 0:00.02 top biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.05 -su (bash) biba/15(15-15),mls/15(15-15),partition/15 1123 #C: R+ 0:00.01 ps Zax
Все пользователи должны видеть каждый процесс в своем разделе (partition).
#
setpmac partition/15,mls/equal,biba/high\(high-high\) top
%
ps Zax
LABEL PID TT STAT TIME COMMAND biba/high(high-high),mls/equal(low-high),partition/15 1251 #C: S+ 0:00.02 top biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.06 -su (bash) biba/15(15-15),mls/15(15-15),partition/15 1157 #C: R+ 0:00.00 ps Zax
Политика Biba позволяет чтение объектов с более высокими метками.
#
setpmac partition/15,mls/equal,biba/low top
%
ps Zax
LABEL PID TT STAT TIME COMMAND biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.07 -su (bash) biba/15(15-15),mls/15(15-15),partition/15 1226 #C: R+ 0:00.01 ps Zax
Политика Biba не позволяет чтение объектов с более низкими метками; тем не менее, MLS разрешает это.
%
ifconfig bge0 | grep maclabel
maclabel biba/low(low-low),mls/low(low-low)%
ping -c 1 192.0.34.166
PING 192.0.34.166 (192.0.34.166): 56 data bytes ping: sendto: Permission denied
Пользователи не могут выполнить ping на
example.com
, или на любой
домен по этой причине.
Для устранения этой ошибки, запустите следующую команду:
#
sysctl security.mac.biba.trust_all_interfaces=1
Она устанавливает метку интерфейса по умолчанию в незащищенный режим, так что политика Biba по умолчанию не будет применена.
#
ifconfig bge0 maclabel biba/equal\(low-high\),mls/equal\(low-high\)
%
ping -c 1 192.0.34.166
PING 192.0.34.166 (192.0.34.166): 56 data bytes 64 bytes from 192.0.34.166: icmp_seq=0 ttl=50 time=204.455 ms --- 192.0.34.166 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 204.455/204.455/204.455/0.000 ms
Установив более корректную метку, мы можем использовать
ping
.
Теперь создадим файлы для процедуры тестирования чтения и записи:
#
touch test1 test2 test3 test4 test5
#
getfmac test1
test1: biba/equal,mls/equal#
setfmac biba/low test1 test2; setfmac biba/high test4 test5; \ setfmac mls/low test1 test3; setfmac mls/high test2 test4
#
setfmac mls/equal,biba/equal test3 && getfmac test?
test1: biba/low,mls/low test2: biba/low,mls/high test3: biba/equal,mls/equal test4: biba/high,mls/high test5: biba/high,mls/equal#
chown testuser:testuser test?
Все эти файлы должны принадлежать пользователю
testuser
. Тесты на чтение:
%
ls
test1 test2 test3 test4 test5%
ls test?
ls: test1: Permission denied ls: test2: Permission denied ls: test4: Permission denied test3 test5
Доступ на чтение не должен быть разрешен для пар:
(biba/low,mls/low)
,
(biba/low,mls/high)
и
(biba/high,mls/high)
.
Теперь несколько тестов на запись:
%
for i in `echo test*`; do echo 1 > $i; done
-su: test1: Permission denied -su: test4: Permission denied -su: test5: Permission denied
Подобно тестам на чтение, доступ на запись должен быть
запрещен для пар:
(biba/low,mls/high)
и
(biba/equal,mls/equal)
.
%
cat test?
cat: test1: Permission denied cat: test2: Permission denied 1 cat: test4: Permission denied
А теперь от root
:
#
cat test2
1
Будет создано отдельное хранилище для веб данных,
к которому пользователи должны иметь доступ. Это позволит
biba/high
управлять доступом к веб
данным.
Начните с создания каталога для хранения веб данных:
#
mkdir /usr/home/cvs
Теперь инициализируйте его командой
cvs
:
#
cvs -d /usr/home/cvs init
Для начала необходимо включить политику biba
,
добавив mac_biba_enable="YES"
в
/boot/loader.conf
. Предполагается, что
ядро скомпилировано с поддержкой MAC.
Далее установите метку biba/high
для всей
системы по умолчанию.
В файл login.conf
, класс default,
необходимо внести следующие изменения:
:ignoretime@:\ :umask=022:\ :label=biba/high:
Каждого пользователя необходимо поместить в класс по умолчанию; такая команда:
#
for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \
/etc/passwd`; do pw usermod $x -L default; done;
быстро решит эту задачу.
Теперь создадим другой класс, web, копию класса default
с меткой, установленной в biba/low
.
Создайте пользователя для работы с основными веб данными,
хранящимися в репозитории cvs.
Этого пользователя необходимо поместить в новый класс,
web
.
Поскольку метка по умолчанию biba/high
,
на репозитории она будет той же. Веб данные должны иметь
ту же метку, чтобы у пользователей был доступ к ним на
чтение/запись. Веб сервер должен иметь доступ к тем же
данным, к которым есть доступ у пользователей с меткой
biba/high
, для этого необходимо понизить
метку данных.
Все, что потребуется, это следующий sh(1) скрипт, который может быть запущен из cron(8):
PATH=/bin:/usr/bin:/usr/local/bin; export PATH; CVSROOT=/home/repo; export CVSROOT; cd /home/web; cvs -qR checkout -P htdocs; exit;
Во многих случаях в веб файлы cvs
необходимо поместить теги Id.
Этот скрипт теперь может быть помещен в домашний каталог
каталог пользователя web
, необходимо
также добавить следующую запись crontab(1):
# Выполнять checkout web данных под меткой biba/low каждые 12 часов: 0 */12 * * * web /home/web/checkout.sh
Эта запись будет извлекать HTML страницы каждые двенадцать часов.
Метод запуска веб сервера по умолчанию также должен быть
изменен для запуска процесса с меткой biba/low
.
Это может быть сделано путем следующего изменения в скрипте
/usr/local/etc/rc.d/apache.sh
:
command="setpmac biba/low /usr/local/sbin/httpd"
Настройки Apache должны быть изменены
для работы с политикой biba/low
. В этом
случае необходимо указать для хранения лог файлов каталог с
меткой biba/low
, иначе будут возвращены
ошибки access denied.
В этом примере необходимо указать в директиве
docroot
каталог
/home/web/htdocs
; или,
Apache не сможет
найти каталог с документами.
Необходимо также изменить другие параметры конфигурации,
включая PID файл,
Scoreboardfile
,
DocumentRoot
, или любые другие
настройки для каталогов, где необходим доступ на запись.
При использовании biba
будет запрещен
доступ на запись во все каталоги сервера, на которых
нет метки biba/low
.
На стадии разработки несколько пользователей сообщали о проблемах при обычных настройках. Некоторые из этих проблем приведены ниже:
Параметр multilabel
не включается на
моем корневом (/
) разделе!
Похоже, что каждый пятидесятый пользователь сталкивается с этой проблемой; на самом деле, и у нас была эта проблема в первых настройках. Дальнейшие наблюдения за этой так называемой <<ошибкой>> привели меня к мнению, что это результат или некорректной документации, или неправильной интерпретации этой документации. Независимо от того, почему это случилось, для решения этой проблемы могут быть предприняты следующие шаги:
Отредактируйте /etc/fstab
и установите
для корневого раздела параметр только для чтения
(ro
).
Перегрузитесь в однопользовательский режим.
Запустите команду tunefs
-l enable
на /
.
Перегрузите систему в нормальный режим.
Запустите mount
-urw
/
и измените параметр ro
обратно на rw
в /etc/fstab
;
перегрузите систему опять.
Дважды проверьте вывод
mount
, чтобы убедиться, что параметр
multilabel
был установлен на корневой
файловой системе.
После настройки системы безопасности MAC, я больше не могу запускать XFree86TM!
Это может быть вызвано политикой MAC
partition
или путем неправильной установки
меток одной из политик MAC. Для отладки
попробуйте следующее:
Просмотрите сообщение об ошибке; если пользователь
находится в классе insecure
, проблема
может быть в политике partition
.
Попробуйте установить класс пользователя обратно в
default
и пересобрать базу данных
командой cap_mkdb
. Если это не
решит проблемы, попробуйте шаг два.
Дважды проверьте политики с метками. Убедитесь, что
политики настроены правильно для рассматриваемого пользователя,
приложения XFree86TM, и устройств в /dev
.
Если проблема не решена, отправьте сообщение об ошибке и описание вашей системы в список рассылки TrustedBSD, находящийся на веб сайте TrustedBSD или в Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD.
.login_conf
При попытке переключения от root
на другого
пользователя системы, появляется сообщение об ошибке
_secure_path: unable to state .login_conf.
Это сообщение обычно показывается, когда у пользователя более
высокая метка, чем у пользователя, которым он пытается стать.
Например, у пользователя системы joe
метка по
умолчанию biba/low
. Пользователь
root
, метка которого biba/high
,
не может просматривать домашний каталог пользователя
joe
. Это не зависит от того, использует ли
пользователь root
команду su
joe
или нет. В этом сценарии модель
целостности Biba не позволит root
просматривать
объекты с низким уровнем целостности.
В нормальном или даже однопользовательском режиме
root
не обнаруживается. Команда
whoami
возвращает 0 (нуль) и
su
возвращает who are you?.
Что можно сделать?
Это может произойти, если политика с метками была отключена,
или через sysctl(8), или путем выгрузки модуля политики.
Если политика была постоянно или временно отключена, базу данных
login необходимо перенастроить. Дважды проверьте
login.conf
, чтобы убедиться, что
все параметры label
были удалены и пересоберите
базу данных командой cap_mkdb
.
[7] Есть и другие ситуации, в которых могут возникать различные ошибки. Например, файл может не находиться во владении пользователя, пытающегося изменить метку на объекте, объект может не существовать или существовать только для чтения. Политика может не позволить процессу изменить метку на файл, возможно в связи со свойствами файла, процесса, или нового значения метки. Например: пользователь с низким уровнем доверия пытается изменить метку на файле с высоким уровнем доверия. Или пользователь с низким уровнем доверия пытается изменить метку файла с низким уровнем доверия на метку высокого уровня.
[8] Вследствие ошибки
переменная sysctl
security.mac.portacl.enabled
не будет работать
в FreeBSD 5.2.1 или более ранних релизах.
Операционная система FreeBSD включает в себя поддержку аудита событий безопасности. Аудит позволяет выполнять надежное, детальное и гибко настраиваемое протоколирование различных событий, связанных с безопасностью, включая входы в систему, изменения конфигурации, доступ к файлам и сети. Эти записи могут быть незаменимы для мониторинга функционирующей системы, обнаружения вторжений и для анализа событий, приведших к краху системы. В FreeBSD реализован опубликованный SunTM интерфейс прикладного программирования (Application Programming Interface, API), называемый Basic Security Module (BSM), и формат файла, который совместим с реализациями аудита в SolarisTM и Mac OS(R) X.
В этой главе описывается процесс установки и конфигурирования системы аудита. В том числе, приводится разъяснение политик аудита, а также даются примеры конфигурационных файлов.
После прочтения этой главы вы будете знать:
Что такое система аудита и как она работает.
Как настроить аудит во FreeBSD для мониторинга пользователей и процессов.
Как просматривать журнал аудита при помощи инструментов просмотра и фильтрации (reduction).
Перед прочтением этой главы вы должны:
Понимать основы UNIX(R) и FreeBSD (Глава 4, Основы UNIX).
Уметь конфигурировать и компилировать ядро (Глава 9, Настройка ядра FreeBSD).
Понимать основные принципы безопасности в применении к операционной системе FreeBSD (Глава 14, Безопасность).
Реализация аудита имеет известные ограничения. Не все события в настоящий момент протоколируемые. Также, некоторые механизмы входа в систему, такие как оконные менеджеры X11 или демоны от сторонних производителей, не настраивают аудит пользовательских сессий должным образом.
Использование системы аудита может привести к
генерированию изобилующих подробностями журнальных файлов.
Их размер на загруженных серверах в некоторых конфигурациях
может превышать несколько гигабайт в неделю. Администраторы
должны принимать во внимание требования к дисковому
пространству для нагруженных конфигураций системы аудита.
Например, желательно выделить отдельный раздел для файловой
системы аудита /var/audit
, чтобы
заполнение раздела аудита не влияло на другие файловые
системы.
Следующие термины относятся к аудиту событий безопасности:
событие (event): событие, которое может быть занесено в журнал. Примерами событий, относящихся к безопасности системы, являются: создание файла, инициализацию сетевого соединения, вход пользователя в систему. События разделяются на <<приписываемые>> (attributable) - те, которые могут быть отнесены к конкретному пользователю - и <<неприписываемые>> (non-attributable). Пример неприписываемого события - любое событие, произошедшее до аутентификации пользователя, например, неверно набранный пароль.
класс (class): именованные наборы однотипных событий, которые используются в выражениях выбора. Часто используемые классы событий включают <<создание файла>> (fc), <<выполнение файла>> (ex) и <<события входа в систему и выхода из нее>> (lo).
запись (record): единичная запись в журнале, описывающая то или иное событие. Записи содержат информацию о типе события, информацию о субъекте события (пользователе), который выполнил некоторое действие, дату и время события, информацию об объектах и аргументах события, а также информацию об успешности или неуспешности выполнения операции.
журнал (trail): файл, содержащий последовательность записей аудита, описывающих события безопасности (security events). Журнал содержит записи в ориентировочно хронологическом порядке по времени завершения события. Только авторизованные процессы могут добавлять записи в журнал.
выражение выбора (selection expression): строка, содержащая список префиксов и имен классов, используемая для выбора группы событий.
предварительный выбор (preselection): процесс, с помощью которого система определяет, какие события имеют важность для администратора. Предварительный выбор использует ряд выражений выбора, задающих какие именно классы событий и для какого пользователя необходимо вносить в журнал, а также - глобальные настройки, которые будут применяться как для авторизованных, так и для неавторизованных процессов.
фильтрация (reduction): процесс, в результате которого записи из существующего журнала выделяются для хранения, распечатки или анализа. Также, это процесс, в результате которого нежелательные записи удаляются из журнала аудита. Используя фильтрацию, администраторы могут реализовывать различные политики хранения данных аудита. Например, детализированный журнал может храниться месяц, но после этого он может быть сокращен чтобы хранить только информацию о входе в систему и выходе из нее.
Пользовательская часть системы аудита входит в базовую
систему FreeBSD, системная часть включена в ядро
GENERIC
, старт демона auditd(8)
активируется включением следующей записи в
/etc/rc.conf
:
auditd_enable="YES"
Затем нужно запустить демон аудита:
#
service auditd start
Пользователям, предпочитающим строить специализированное ядро, необходимо включить следующую запись в файл конфигурации ядра:
options AUDIT
Выражения выбора используются в нескольких местах конфигурации для отбора событий, подлежащих аудиту. Выражения содержат перечень классов событий, с которым сравнивается происшедшее событие. Выражения выбора рассматриваются слева направо, и два выражения объединяются добавлением первого выражения ко второму.
Таблица 16.1, <<Классы событий системы аудита>> перечисляет имеющиеся по умолчанию записи:
Имя класса | Расшифровка | Действие |
---|---|---|
all | all | Соответствует всем классам событий. |
aa | authentication and authorization | |
ad | administrative | Аудит административных действий, произошедших в системе. |
ap | application | События, определяемые каким-либо приложением. |
cl | file close | Аудит вызовов системной функции
close . |
ex | exec | Аудит запуска приложения. Аудит аргументов
командной строки и переменных окружения контролируется
через audit_control(5) используя параметры
argv и envv
в опции policy . |
fa | file attribute access | Аудит доступа к атрибутам объектов, например таких как stat(1), pathconf(2). |
fc | file create | Аудит событий, в результате которых создаются файлы. |
fd | file delete | Аудит событий, в результате которых удаляются файлы. |
fm | file attribute modify | Аудит событий, в результате которых изменяются атрибуты файлов, например, chown(8), chflags(1), flock(2). |
fr | file read | Аудит событий, в результате которых происходит чтение данных или открываются файлы на чтение. |
fw | file write | Аудит событий, в результате которых происходит запись данных, запись или изменение файлов. |
io | ioctl | Аудит вызовов системной функции ioctl(2). |
ip | ipc | Аудит различных видов взаимодействия процессов, включая создание неименованных каналов (POSIX pipe) и взаимодействие процессов в стиле System V IPC. |
lo | login_logout | Аудит событий login(1) и logout(1). |
na | non attributable | Аудит неприписываемых событий. |
no | invalid class | Не соответствует никаким событиям аудита. |
nt | network | Аудит событий, связанных с сетевыми подключениями, например connect(2) и accept(2). |
ot | other | Аудит различных событий. |
pc | process | Аудит действий процессов, таких как exec(3) и exit(3). |
Эти классы событий могут быть настроены изменением
конфигурационных файлов audit_class
и
audit_event
.
Каждый класс аудита можно скомбинировать с префиксом, показывающим, какие операции будут учитываться - удачные или неудачные, а также то, включает ли данная запись аудит для данного класса и типа, либо отключает его. Таблица 16.2, <<Префиксы классов аудита событий>> обобщает доступные префиксы:
Префикс | Действие |
---|---|
+ | Аудит успешных событий в данном классе. |
- | Аудит ошибочных событий в данном классе. |
^ | Отключение аудита как успешных, так и ошибочных событий в данном классе. |
^+ | Отключение аудита успешных событий в данном классе. |
^- | Отключение аудита ошибочных событий в данном классе. |
Если префикс не указан, то аудиту подлежат как успешные, так и неуспешные события.
Следующий пример выбирает успешные и неуспешные события входа в систему и выхода из нее, и только успешные события выполнения приложения:
lo,+ex
В каталоге /etc/security
находятся
следующие конфигурационные файлы системы аудита:
audit_class
: содержит определения
классов аудита.
audit_control
: контроллирует
некоторые аспекты системы аудита, такие как классы по
умолчанию, минимальное дисковое пространство, которое
должно оставаться на разделе журнала аудита, максимальный
размер журнала аудита.
audit_event
: связывает
идентификаторы событий (eventnum) с их текстовыми
именами, описаниями и классами событий.
audit_user
: уточняет настройки
аудита для конкретных пользователей; они комбинируются
с глобальными настройками при входе пользователя
в систему.
audit_warn
: настраиваемый скрипт
командного интерпретатора, который вызывается
auditd(8) для генерации предупреждений в
исключительных ситуациях, таких как исчерпание дискового
пространства записями аудита или при ротации журнала
аудита.
Файлы конфигурации аудита должны редактироваться и изменяться с осторожностью, так как ошибки в конфигурации могут привести к сохранению бесполезных записей.
В большинстве случаев администратору придется вносить
изменения только в два конфигурационных файла системы аудита:
audit_control
и
audit_user
. Первый из них содержит
общие настройки системы аудита, второй может использоваться
для уточнения настроек аудита для конкретных
пользователей.
Ниже приведен перечень настроек по умолчанию,
содержащихся в audit_control
:
dir:/var/audit dist:off flags:lo,aa minfree:5 naflags:lo,aa policy:cnt,argv filesz:2M expire-after:10M
Запись dir
используется для установки
одного или более каталогов, в которых будет сохраняться
журнал системы аудита. Если указан более чем один каталог,
то указанные каталоги будут использоваться по очереди, по
мере заполнения. Как правило, система аудита настраивается
на хранение журнала аудита на отдельном разделе, чтобы
предотвратить взаимное влияние подсистемы аудита и
остальных подсистем в случае исчерпания свободного
места на разделе.
Если опция dist
имеет значение
on
или yes
, то для
всех журналов аудита будут создаваться жесткие ссылки,
сохраняемые в /var/audit/dist
.
Запись flags
используется для
установки глобальной маски предварительного выбора для
приписываемых событий. В примере выше аудиту будут
подвергаться как успешные, так и неудачные попытки входа в
систему и выхода из нее, а также - аутентификация
и авторизация для всех пользователей.
Запись minfree
определяет минимальное
количество свободного дискового пространства на разделе, в
который сохраняются файлы журналов аудита.
Запись naflags
определяет классы
аудита для неприписываемых событий, например, процессов
входа в систему и системных демонов.
Запись policy
определяет разделяемый
запятыми список флагов политики, определяющей различные
аспекты поведения аудита. Флаг cnt
указывает, что система должна продолжать работать, несмотря
на ошибки аудита (данный флаг настоятельно рекомендуется).
Второй флаг, argv
, заставляет подвергать
аудиту аргументы командной строки при вызове системного
вызова execve(2).
Запись filesz
определяет максимальный
размер журнала событий аудита, по достижении которого
журнал будет автоматически закончен и подвергнут ротации.
Значение 0
запрещает автоматическую
ротацию логов. Если указанный размер ниже минимального
значения 512К, то он будет проигнорирован, и будет
сгенерировано предупреждающее сообщение в логах.
Поле expire-after
определяет момент
времени, при достижении которого журнальные файлы считаются
неактуальными и удаляются.
Администратор может определить дополнительные
требования к аудиту для конкретных пользователей в файле
audit_user
. Каждая строка позволяет
уточнить настройки аудита для пользователя при помощи двух
полей: alwaysaudit
- определяющее
набор событий, которые должны всегда подвергаться аудиту
для данного пользователя, и neveraudit
- перечисляющее набор событий, которые никогда не
должны подвергаться аудиту для пользователя.
Нижеследующий пример настраивает аудит всех событий
входа в систему, выхода из системы, а также аудит всех
успешных выполнений команд для пользователя root
, а также - аудит
всех событий, связанных с созданием файлов и успешным
выполнением команд пользователем www
. С настройками по
умолчанию в audit_control
запись
lo
для root
является избыточной,
кроме того, события входа в систему и выхода из системы
будут подвергаться аудиту и для пользователя www
.
root:lo,+ex:no www:fc,+ex:no
Так как журнал аудита хранится в бинарном формате
BSM, то для его изменения или перевода в
текстовый формат предоставляются встроенные утилиты. Утилита
praudit
преобразует журнал аудита в
текстовый формат. Утилита auditreduce
применяется для фильтрации журнальных записей с целью анализа,
архивирования или распечатки. Последняя утилита поддерживает
разнообразие параметров, позволяющих выбирать записи по типу
события, по классу события, по пользователю, по дате или
времени события, по пути к файлу или по объекту, над которым
производилось действие.
Например, для отображения всего содержимого журнала аудита в текстовом формате выполните:
#
praudit /var/audit/
AUDITFILE
В данном примере AUDITFILE
- журнал, который будет выведен в текстовом
формате.
Журнал аудита состоит из серии записей, которые, в свою
очередь состоят из элементов, которые команда
praudit
выводит последовательно - по одному
на строку. Каждый элемент имеет определенный тип, например
header
(содержит заголовок записи) или
path
(полный путь к файлу). Следующий
пример показывает запись для события
execve
:
header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec exec arg,finger,doug path,/usr/bin/finger attribute,555,root,wheel,90,24918,104944 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 return,success,0 trailer,133
Эта запись отражает результат успешного выполнения
системного вызова execve
, который стал
результатом выполнения команды finger doug
.
В элементе записи exec arg
есть командная
строка, которую оболочка передала ядру. Элемент
path
содержит путь к исполняемому файлу в
представлении ядра. Элемент attribute
описывает исполняемый файл, а также права доступа файла.
Элемент subject
описывает ID аудируемого
пользователя, исполняющие (effective) UID и GID, реальные ID
пользователя и группы, идентификатор процесса, идентификатор
сессии, порт и адрес, с которого был осуществлен вход в
систему. Обратите внимание: идентификатор аудируемого
пользователя и реальный идентификатор пользователя отличаются,
так как пользователь robert
повысил привилегии до
пользователя root
перед выполнением команды, но система аудита занесла его
действия в журнал используя изначальный идентификатор. Элемент
return
описывает успешное выполнение
операции, а элемент trailer
завершает
запись.
Указав аргумент -x
можно получить вывод в
формате XML.
Поскольку логи системы аудита могут иметь огромный размер,
возможно выделить только часть записей при помощи
auditreduce
. В следующем примере из
AUDITFILE
выбираются все записи,
касающиеся пользователя trhodes
:
#
auditreduce -u
trhodes
/var/audit/AUDITFILE
| praudit
Члены группы audit
имеют доступ на чтение к
журналу аудита, находящемуся в /var/audit
.
По умолчанию эта группа пуста, и только root
имеет к ним доступ. Для
того, чтобы дать пользователю права на чтение журнала, его
необходимо добавить в группу audit
. Право на чтение журнала
аудита позволяет получить множество информации о поведении
пользователей и процессов, поэтому рекомендуется делегировать
права на чтение журнала аудита с большой осторожностью.
Потоки системы аудита - клонирующиеся псевдоустройства, позволяющие приложениям просматривать в реальном времени поток событий аудита. В первую очередь, это должно заинтересовать авторов программ определения вторжений и мониторинга системы. Тем не менее, для администратора поток системы аудита предоставляет возможность организовать наблюдение за системой, избежав проблем с правами доступа на журнал аудита или с прерыванием потока событий из-за ротации журнала. Для отслеживания потока событий аудита в реальном времени, выполните:
#
praudit /dev/auditpipe
По умолчанию, потоки доступны только пользователю
root
. Чтобы
сделать их доступными членам группы audit
, добавьте правило
devfs
в файл
/etc/devfs.rules
:
add path 'auditpipe*' mode 0440 group audit
Обратитесь к devfs.rules(5) за более полной
информацией о настройке файловой системы
devfs
.
Довольно легко создать зацикленный поток событий
аудита, в котором просмотр каждого события порождает
несколько событий аудита. Например, если аудиту
подвергаются все операции сетевого ввода-вывода, и команда
praudit
запущена во время
SSH-сессии, то будет сгенерирован
интенсивный поток сообщений аудита, так как каждое
печатаемое событие вызовет еще одно событие. По этой
причине рекомендуется запускать praudit
на устройстве потока только из сессий, для которых нет
детального аудита ввода-вывода.
Журнал аудита пишется ядром и управляется демоном аудита
auditd(8). Администраторам не следует пытаться
использовать newsyslog.conf(5) или другие инструменты
для прямой ротации логов. Вместо этого, для прекращения
аудита, реконфигурации и ротации журнальных файлов должна
использоваться команда audit
. Следующая
команда приведет к созданию нового журнального файла и даст
указание ядру переключиться на запись в этот файл.
Протоколирование в старый файл будет прекращено, а сам файл
- переименован, в результате чего с ним можно будет
работать администратору:
#
audit -n
Если auditd(8) не запущен, то эта команда окончится неудачей, и будет выведено сообщение об ошибке.
Добавление следующей строки в файл
/etc/crontab
приведет к ротации каждые
двенадцать часов:
0 */12 * * * root /usr/sbin/audit -n
Изменения вступят в силу после сохранения файла
/etc/crontab
.
Автоматическая ротация журнальных файлов на основании
их размера возможна при использовании опции
filesz
в файле
audit_control
, которая описана в
Раздел 16.3.2.1, <<Файл audit_control
>>.
Поскольку журнальные файлы могут достигать очень больших
размеров, может возникнуть необходимость сжимать их в целях
хранения сразу же после закрытия их демоном аудита. Для
выполнения определенных пользователем действий,
соответствующих разнообразным событиям системы аудита,
включая нормальное завершение журналов аудита при их ротации,
может быть использован скрипт audit_warn
.
Например, добавление следующих строк в файл
/etc/security/audit_warn
приведет к
сжатию файла аудита после его закрытия:
# # Compress audit trail files on close. # if [ "$1" = closefile ]; then gzip -9 $2 fi
Примерами других действий могут быть копирование файлов аудита на централизованный сервер, удаление старых журнальных файлов, фильтрация журнальных файлов для удаления ненужных записей. Скрипт будет запущен только при корректном закрытии журнала системой аудита и не запустится для журнальных файлов, запись в которые была прекращена в результате некорректного завершения.
В этой главе описывается использование дисков во FreeBSD. К ним относятся диски в памяти, диски, подключенные по сети, обычные устройства хранения SCSI/IDE и устройства, использующие интерфейс USB.
После чтения этой главы вы будете знать:
Терминологию, используемую во FreeBSD для описания организации данных на физическом диске (разделы и слайсы).
Как добавить дополнительные винчестеры к вашей системе.
Как настроить FreeBSD для использования дисковых устройств USB.
Как настроить виртуальные файловые системы, такие, как диски в оперативной памяти.
Как использовать квоты для ограничения использования дискового пространства.
Как зашифровать диски, чтобы защитить их от взлома.
Как создавать и записывать CD и DVD во FreeBSD.
Различные варианты использования устройств хранения для резервных копий.
Как использовать программы резервного копирования, имеющиеся для FreeBSD.
Как выполнять резервное копирование на дискеты.
Что такое мгновенные копии файловых систем и как их эффективно использовать
Перед прочтением этой главы вам потребуется:
Узнать как настраивать и устанавливать новое ядро FreeBSD (Глава 9, Настройка ядра FreeBSD).
Далее приводится список физических устройств хранения информации, которые поддерживаются во FreeBSD, и имена устройств, которые им соответствуют.
Тип диска | Имя дискового устройства |
---|---|
Винчестеры IDE | ad |
Приводы IDE CDROM | acd |
Винчестеры SCSI и дисковые устройства USB | da |
Приводы SCSI CDROM | cd |
Различные нестандартные приводы CDROM | mcd для Mitsumi CD-ROM,
scd для Sony CD-ROM
|
Дискеты | fd |
Ленточные приводы SCSI | sa |
Ленточные приводы IDE | ast |
Флэш-диски | fla для флэш-устройств
DiskOnChip(R) |
Диски RAID | aacd для Adaptec(R) AdvancedRAID,
mlxd и mlyd для Mylex(R),
amrd для AMI MegaRAID(R),
idad для Compaq Smart RAID,
twed для 3ware(R) RAID. |
В этом разделе будет описан процесс добавления нового SCSI диска на машину, имеющую в данный момент только один диск. Сначала выключим компьютер и установим диск в компьютер согласно инструкциям к компьютеру, контроллеру и от производителя диска. Из-за большого разнообразия этих процедур их рассмотрение выходит за рамки этого документа..
Войдите в систему как пользователь root
.
После того, как вы установили диск, просмотрите файл
/var/run/dmesg.boot
, чтобы убедиться, что новый
диск был найден. Продолжая наш пример, только что добавленный диск
будет называться da1
и мы хотим смонтировать его
в каталог /1
(если вы добавляете диск IDE, то
устройство будет называться ad1
).
FreeBSD работает на IBM-PC совместимых компьютерах, поэтому она
должна уметь работать с разделами PC BIOS. Однако они отличаются от
традиционных разделов BSD. Диск ПК может иметь до четырёх
записей разделов BIOS. Если диск на самом деле будет использоваться
исключительно под FreeBSD, вы можете использовать режим
dedicated. В противном случае FreeBSD будет
располагаться в одном из разделов PC BIOS. Во FreeBSD разделы PC BIOS
называются слайсами, чтобы не путать их с
традиционными разделами BSD. Вы также можете использовать слайсы и с
диском, предназначенным исключительно для FreeBSD, однако используемым
в компьютере, на котором имеется дополнительная операционная система.
Это является хорошим способом избежать путаницы в утилите
fdisk
других операционных систем, не связанных с
FreeBSD.
В случае слайсов диск будет добавлен как
/dev/da1s1e
. Это интерпретируется следующим
образом: диск SCSI, устройство номер 1 (второй диск SCSI), слайс 1
(раздел PC BIOS 1), и раздел BSD e
. В случае
использования в выделенном режиме диск будет добавлен просто как
/dev/da1e
.
Вследствие использования 32-разрядных целых чисел для адресации секторов, bsdlabel(8) ограничен 2^32-1 секторами на диск, или 2TB в большинстве случаев. Формат fdisk(8) позволяет наличие первого сектора со смещением не более 2^32-1 и длину не более 2^32-1, что ограничивает размер раздела до 2TB, а размер диска до 4TB в большинстве случаев. Формат sunlabel(8) ограничен 2^32-1 секторами на раздел и 8 разделами, что составляет 16TB. Для дисков большего раздела могут быть использованы разделы gpt(8).
Использование Sysinstall
Вы можете использовать простые меню утилиты
sysinstall
для разбиения на разделы и
разметки нового диска. Войдите как пользователь
root
или воспользуйтесь командой
su
. Запустите команду
sysinstall
и войдите в меню
Configure
. Внутри FreeBSD
Configuration Menu
, пролистайте и выберите пункт
Fdisk
.
Редактор разделов fdisk
При работе с утилитой fdisk нажатие
A используется для выделения под
FreeBSD полностью всего диска. Когда будет задан вопрос о том,
хотите ли вы <<сохранить совместимость с другими возможными
операционными системами в будущем>>, ответьте
YES
. Запишите изменения на диск при помощи
команды W. А теперь выйдите из редактора
FDISK, нажав Q. В этот момент вам будет
задан вопрос о <<Master Boot Record>> (главной
загрузочной записи). Так как вы добавляете диск к уже работающей
системе, выберите None
.
Редактор метки диска
Теперь вам нужно выйти из sysinstall
и запустить эту утилиту снова. Следуйте указаниям выше, но на этот
раз выберите пункт Label
. Вы перейдёте к
меню Disk Label Editor
.
Здесь вы создадите традиционные разделы BSD. На диске может быть
до восьми разделов, имеющих метки a-h
.
Некоторые из меток разделов
имеют особый смысл. Раздел a
используется для
размещения корневого раздела (/
). По этой
причине только ваш системный диск (например, тот, с которого
происходит загрузка), должен иметь раздел a
.
Раздел b
используется под раздел подкачки, и вы
можете иметь много дисков с разделами подкачки. Раздел
c
используется для доступа ко всему диску в
режиме эксклюзивного использования или ко всему слайсу FreeBSD при
работе в режиме с использованием слайсов. Остальные разделы имеют
обычное предназначение.
Редактор метки диска программы
sysinstall использует раздел
e
для некорневого раздела и не для раздела
подкачки. Внутри редактора метки диска создайте отдельную файловую
систему, нажав C. Когда будет задан
вопрос о том, будет ли это раздел с файловой системой (FS) или это
будет раздел подкачки, выберите FS
и наберите
точку монтирования (например, /mnt
). При
добавлении диска после установки системы, программа
sysinstall не
будет автоматически создавать записи в файле
/etc/fstab
, поэтому точка монтирования не так
уж и важна.
Теперь вы готовы записать новую метку на диск и создать на нем файловую систему. Сделайте это, нажав W. Проигнорируйте сообщения об ошибках от sysinstall о невозможности смонтировать новый раздел. Полностью выйдите из редактора метки диска и из программы sysinstall.
Завершение
Последний шаг заключается в редактировании файла
/etc/fstab
и добавлении записи для вашего
нового диска.
Следующая настройка позволит вашему диску корректно работать с
другими операционными системами, которые могут быть установлены на
вашем компьютере, и не вызовет конфликта с утилитами
fdisk
других операционных систем. Этот способ
рекомендуется использовать для установок новых дисков. Используйте
эксклюзивный
режим, только если у вас есть
реальные причины делать это!
#
dd if=/dev/zero of=/dev/da1 bs=1k count=1
#
fdisk -BI da1
# Инициализируем новый диск.#
bsdlabel -B -w da1s1 auto
# Размечаем его.#
bsdlabel -e da1s1
# Редактируем только что созданную метку диска и добавляем разделы.#
mkdir -p /1
#
newfs /dev/da1s1e
# Повторяем этот шаг для всех созданных разделов.#
mount /dev/da1s1e /1
# Монтируем раздел(ы)#
vi /etc/fstab
# Добавляем соответствующую запись/записи в файл/etc/fstab
.
Если у вас установлен диск IDE, подставьте
ad
вместо da
.
Если вы не будете использовать новый диск совместно с другой
операционной системой, то вы можете использовать режим
эксклюзивного
использования. Отметьте, что этот
режим может ввести в заблуждение операционные системы от Microsoft;
однако информацию они не разрушат. А вот OS/2(R) компании IBM будет
<<забирать себе>> любой раздел, который она найдет и не
сможет распознать.
#
dd if=/dev/zero of=/dev/da1 bs=1k count=1
#
bsdlabel -Bw da1 auto
#
bsdlabel -e da1
# create the `e' partition#
newfs /dev/da1e
#
mkdir -p /1
#
vi /etc/fstab
# add an entry for /dev/da1e#
mount /1
Альтернативный метод заключается в следующем:
#
dd if=/dev/zero of=/dev/da1 count=2
#
bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin
#
newfs /dev/da1e
#
mkdir -p /1
#
vi /etc/fstab
# add an entry for /dev/da1e#
mount /1
При выборе решения для организации хранилища самыми важными характеристиками являются скорость, надежность и стоимость. Редко все эти характеристики наличествуют одновременно; обычно быстрое и надёжное устройство хранения стоит дорого, а при уменьшении стоимости в жертву приносятся скорость работы или надёжность.
При проектировании описываемой далее системы в качестве самого важного фактора была выбрана её стоимость, затем быстродействие и надёжность. Скорость передачи данных для этой системы ограничивалась только пропускной способностью сети. И, хотя надёжность очень важна, CCD-диск, описываемый ниже, обслуживал работу с данными, полные копии которых уже хранились на дисках CD-R, так они могли быть с лёгкостью обновлены.
При выборе решения для массового хранения данных первым шагом является определение ваших требований к нему. Если в ваших требованиях главными являются скорость или надёжность, а не стоимость, то ваш выбор будет отличаться от описываемой в этом разделе системы.
Кроме системного IDE-диска, основу описываемого далее CCD-диска общим объёмом примерно в 90 Гбайт составили три IDE-диска Western Digital 30GB, 5400 RPM. В идеальном случае каждый диск IDE имеет собственный контроллер и кабель, но для минимизации стоимости дополнительные контроллеры IDE не использовались. Вместо этого диски были настроены при помощи переключателей так, что на каждом IDE-контроллере находилось по одному ведущему и одному ведомому диску.
До перезагрузки BIOS системы была настроена на автоматическое распознавание подключенных дисков. Более важно то, что при перезагрузке их распознала FreeBSD:
ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33
Если FreeBSD не распознала все диски, проверьте корректность положения переключателей на них. На большинстве IDE-дисков имеется также переключатель <<Cable Select>>. Он не имеет отношения к выбору ведущего и ведомого устройств. Для получения помощи по правильному положению переключателей обратитесь к документации по устройствам.
Драйвер ccd(4) позволяет вам взять несколько идентичных дисков и объединить их в одну логическую файловую систему. Для использования ccd(4) нужно ядро со встроенной поддержкой ccd(4). Добавьте такую строку в файл конфигурации ядра, перестройте и установите новое ядро:
device ccd
Поддержка ccd(4) также может быть обеспечена загрузкой подгружаемого модуля ядра.
Для настройки ccd(4) сначала вам нужно воспользоваться утилитой bsdlabel(8) для разметки дисков:
bsdlabel -w ad1 auto bsdlabel -w ad2 auto bsdlabel -w ad3 auto
При этом создаются метки для ad1c
,
ad2c
и ad3c
,
которые занимают диск полностью.
Следующим шагом является изменение типа метки диска. Для редактирования дисков можно использовать утилиту bsdlabel(8):
bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3
При этом в редакторе, задаваемом переменной окружения
EDITOR
(обычно это vi(1)),
открывается текущая метка каждого диска.
Не модифицированная метка диска будет выглядеть примерно следующим образом:
8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
Добавьте новый раздел e
для использования
драйвером ccd(4). Как правило, он может быть скопирован с
раздела c
, но поле fstype
должно иметь значение
4.2BSD
. Теперь метка диска должна выглядеть
примерно так:
8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
Теперь, когда все диски размечены, вы должны построить ccd(4). Для этого используйте утилиту ccdconfig(8) с параметрами, подобными следующим:
ccdconfig ccd032
0
/dev/ad1e
/dev/ad2e /dev/ad3e
Использование и значение каждого параметра описывается ниже:
Первым аргументом является конфигурируемое устройство,
в нашем случае | |
Чередование для файловой системы. Оно определяет размер единицы блока данных в количестве дисковых блоков, каждый из которых обычно имеет объём в 512 байт. Таким образом, при чередовании в 32 это будет составлять 16384 байт. | |
Опции для ccdconfig(8). Если вы хотите включить зеркалирование диска, то можете задать это здесь. В нашей конфигурации зеркалирование для ccd(4) не предусмотрено, поэтому здесь задан 0 (ноль). | |
Последним параметром для ccdconfig(8) является список устройств для объединения в массив. Для каждого устройства нужно задавать полное имя. |
После запуска ccdconfig(8) устройство ccd(4) будет отконфигурировано. Может будет построить файловую систему. Обратитесь к справке по команде newfs(8) для выяснения требуемых параметров, или просто запустите:
newfs /dev/ccd0c
Вообще говоря, вам потребуется монтировать
ccd(4) при каждой перезагрузке. Для этого
сначала вы должны отконфигурировать это устройство. Запишите
вашу текущую конфигурацию в файл /etc/ccd.conf
при помощи такой команды:
ccdconfig -g > /etc/ccd.conf
При перезагрузке скрипт /etc/rc
запускает
команду ccdconfig -C
, если существует файл
/etc/ccd.conf
. При этом
ccd(4) автоматически конфигурируется так,
чтобы он мог быть смонтирован.
Если при загрузке вы входите в однопользовательский режим, то перед тем, как выполнять монтирование ccd(4) по команде mount(8), вам нужно для конфигурации массива запустить следующую команду:
ccdconfig -C
Для автоматического монтирования ccd(4)
поместите запись о ccd(4) в файл
/etc/fstab
, чтобы он мог быть
смонтирован во время загрузки системы:
/dev/ccd0c /media ufs rw 2 2
FreeBSD поддерживает также целый ряд аппаратных контроллеров RAID. Эти устройства самостоятельно управляют RAID-подсистемой, без необходимости иметь специфичное для FreeBSD программное обеспечения управления массивом.
При помощи встроенной в адаптер BIOS, он сам управляет большинством дисковых операций. Далее следует краткое описание установки при помощи контроллера Promise IDE RAID. После установки адаптера и запуска системы, выдаётся запрос на ввод. Следуйте указаниям для входа в настройку адаптера. Отсюда вы можете объединить все подключенные диски. После этого во FreeBSD диск(и) будут выглядеть как один диск. Аналогично могут быть настроены и другие уровни RAID.
FreeBSD позволяет вам выполнять горячую замену вышедшего из строя диска. При этом требуется, чтобы вы заметили это до перезагрузки.
Вероятно, в файле /var/log/messages
или в
выдаче команды dmesg(8) вы увидите примерно следующее:
ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost
При помощи atacontrol(8) получите дополнительную информацию:
#
atacontrol list
ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present#
atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
Сначала вам нужно отключить канал контроллера ATA, содержащий отказавший диск, чтобы его можно было без последствий извлечь:
#
atacontrol detach ata3
Замените диск.
Повторно подключите канал дискового контроллера:
#
atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present
Добавьте новый диск к массиву в качестве резервного:
#
atacontrol addspare ar0 ad6
Перестройте массив:
#
atacontrol rebuild ar0
Проверить состояние дел можно при помощи следующей команды:
#
dmesg | tail -10
[выдача удалена] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare#
atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed
Дождитесь завершения этой операции.
Множество современных устройств хранения используют Universal Serial Bus (USB): жесткие диски, брелоки USB, CD-R приводы, и т.д. FreeBSD предоставляет поддержку этих устройств.
Драйвер umass(4) предоставляет поддержку устройств
хранения USB. Если вы используете GENERIC
ядро, изменять что-либо в настройках не потребуется. Если вы
используете настроенное ядро, убедитесь, что в файле настройки
присутствуют следующие строки:
device scbus device da device pass device uhci device ohci device ehci device usb device umass
Для доступа к устройствам хранения USB драйвер umass(4)
использует подсистему SCSI, ваши устройства USB будут видны
системе как SCSI устройства. В зависимости от чипсета USB
на материнской плате, для включения поддержки USB 1.X вам потребуется только один из параметров
device uhci
или device ohci
.
Однако, наличие обоих этих параметров не помешает. Поддержка
контроллеров USB 2.0 предоставляется драйвером ehci(4) (строка
device ehci
). Не забудьте
скомпилировать и установить новое ядро после добавления каких-либо
строк.
Если ваше USB устройство это пишущий привод CD-R или DVD, необходимо добавить в ядро SCSI CD-ROM драйвер, cd(4), следующей строкой:
device cd
Поскольку устройство записи видно как SCSI диск, драйвер atapicam(4) не должен использоваться в файле настройки.
Конфигурация готова к тестированию, подключите устройство USB, и в буфере системных сообщений (dmesg(8)), диск должен отобразиться примерно так:
umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
Конечно, производитель, имя устройства
(da0
) и другие детали могут
отличаться в зависимости от конфигурации.
Поскольку устройство USB видится как SCSI, команда
camcontrol
может быть использована для
вывода списка устройств хранения USB, подключенных к системе:
#
camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
Если на диске есть файловая система, у вас должна быть возможность смонтировать ее. Раздел 17.3, <<Добавление дисков>> поможет вам создать и отформатировать разделы на диске USB если потребуется.
Ниже описанный механизм (vfs.usermount
),
допускающий монтирование случайных носителей пользователями,
не являющимися доверенными, считается небезопасным. Большинство
файловых систем во FreeBSD никак не ограждено от возможности
несанкционированного монтирования
устройств.
Чтобы это устройство мог смонтировать обычный пользователь,
необходимо выполнить определенные действия. Для начала, необходимо
дать обычным пользователям доступ к устройствам, создаваемым при
подключении USB устройства. Решение состоит во включении всех
пользователей данных устройств в группу operator
.
Это делается утилитой pw(8). Затем, когда устройства созданы,
у группы operator
должен быть доступ на
чтение и запись для этих устройств. Это выполняется путем добавления
следующих строк в /etc/devfs.rules
:
[localrules=5] add path 'da*' mode 0660 group operator
Если к системе подключены SCSI диски, это должно быть сделано
немного иначе. Так, если в системе уже есть диски с
da0
по da2
,
вторая строка должна выглядеть так:
add path 'da[3-9]*' mode 0660 group operator
Это исключит уже существующие диски из группы
operator
.
Вам также потребуется включить набор правил devfs.rules(5)
в файл /etc/rc.conf
:
devfs_system_ruleset="localrules"
Затем, ядро необходимо настроить так, чтобы оно позволяло обычным
пользователям монтировать файловые системы. Простейший способ сделать
это - добавить в файл /etc/sysctl.conf
следующую строку:
vfs.usermount=1
Этот параметр установится только после последующей перезагрузки. Для установки этой переменной можно также использовать sysctl(8).
Последний шаг - создание каталога, куда будет монтироваться
файловая система. Каталог должен принадлежать пользователю,
монтирующему файловую систему. Один из способов сделать это
под пользователем root
- создать каталог
/mnt/
(замените username
username
именем
пользователя, а usergroup
- именем
главной группы пользователя):
#
mkdir /mnt/
username
#
chown
username
:usergroup
/mnt/username
Предположим, что USB брелок подключен, и появилось устройство
/dev/da0s1
. Поскольку эти устройства обычно поставляются
форматированными с файловой системой FAT, их можно смонтировать так:
%
mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/
username
Если вы отключите устройство (диск должен быть сначала размонтирован), вы должны увидеть в буфере системных сообщений что-то подобное:
umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached
Помимо разделов Добавление дисков и Монтирование и размонтирование файловых систем, также может быть полезно чтение различных страниц справочника: umass(4), camcontrol(8), и usbconfig(8) для FreeBSD 8.X или usbdevs(8) для более ранних версий FreeBSD.
Компакт-диски (CD) имеют несколько особенностей, отличающих их от обычных дисков. Во-первых, на них невозможно производить запись. Они спроектированы с расчетом на то, что их можно читать последовательно без задержек на перемещение головки между дорожками. К тому же их гораздо проще переносить от системы к системе, чем носители близкого объема.
У CD имеются дорожки, но они представляют собой последовательность данных, читаемую последовательно, и не являются физической характеристикой диска. Для записи CD во FreeBSD вы готовите файлы данных, которые будут формировать дорожки на компакт-диске, а затем записываете дорожки на CD.
Файловая система ISO 9660 была разработана с учетом этих отличий, К сожалению, она унаследовала ограничения файловых систем, которые были тогда. К счастью, она дает механизм расширений, которые позволяют правильно записанным дискам обходить эти ограничения и при этом продолжать работать с системами, которые не поддерживают эти расширения.
Для создания файла данных, содержащего файловую систему ISO 9660, используется программа mkisofs(8), которая включена в порт sysutils/cdrtools. Она имеет опции, поддерживающие различные расширения, и описана ниже.
Какой инструмент использовать для записи CD, зависит от того,
является ли
ваше устройство для записи CD устройством ATAPI или каким-либо другим.
С устройствами для записи стандарта ATAPI используется программа
burncd
, которая
является частью комплекта поставки системы. С устройствами SCSI и USB
нужно использовать cdrecord
из порта
sysutils/cdrtools.
Утилиту cdrecord
и
другие инструменты для SCSI-приводов также можно использовать при
работе с ATAPI-оборудованием через модуль
ATAPI/CAM.
Если для записи CD вам нужна программа с графическим интерфейсом пользователя, взгляните на X-CD-Roast или K3b. Они доступны в виде пакетов или из портов sysutils/xcdroast и sysutils/k3b. Программам X-CD-Roast и K3b для работы с оборудованием ATAPI требуется модуль ATAPI/CAM.
Программа mkisofs(8), поставляемая с портом sysutils/cdrtools создаёт файловую систему ISO 9660, которая является образом дерева каталогов в пространстве имён файловой системы UNIX(R). В самом простом случае она используется так:
#
mkisofs -o
imagefile.iso
/path/to/tree
Эта команда создаст файл imagefile.iso
,
содержащий файловую систему ISO 9660, которая является копией дерева
каталогов /path/to/tree
. Во время работы
она будет преобразовывать имена файлов в имена, которые удовлетворяют
ограничениям файловой системы ISO 9660, и исключит файлы, которые носят
имена, неподходящие для файловой системы ISO.
Для того, чтобы обойти эти ограничения, имеется несколько опций. В
частности, -R
включает использование расширений
Rock Ridge, распространенных в UNIX(R)-системах, с -J
будут применены расширения Joliet, используемые в системах от
Microsoft, а -hfs
может использоваться для создания
файловых систем HFS, используемых в Mac OS(R).
Для CD, которые будут использоваться только с системами FreeBSD,
может использоваться опция -U
, отменяющая все
ограничения на имена файлов. При использовании с опцией
-R
генерируется образ файловой системы, идентичный начальному дереву
FreeBSD, хотя при этом стандарт ISO 9660 может нарушаться в нескольких
местах.
Последней часто используемой опцией является -b
.
Она используется для указания загрузочного образа для использования при
создании загрузочного CD в стандарте <<El Torito>>. Этой
опции указывается аргумент, который является маршрутом к загрузочному
образу из корня дерева, записываемого на CD.
По умолчанию, mkisofs(8) создает образ ISO в так называемом режиме
<<эмуляции флоппи-диска>>, и потому ожидает загрузочный
образ размера строго 1200, 1440 или 2880 KB. Некоторые
загрузчики, в том числе и тот, что используется на дистрибутивных
дисках FreeBSD, не используют режим эмуляции; в этом случае должна
использоваться опция -no-emul-boot
. Так что, если
/tmp/myboot
содержит загрузочную систему FreeBSD с
загрузочным образом в /tmp/myboot/boot/cdboot
, вы
можете создать образ файловой системы ISO 9660 в
/tmp/bootable.iso
следующим образом:
#
mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
Сделав это, и имея в ядре отконфигурированное устройство
md
, вы
можете смонтировать файловую систему, выполнив:
#
mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
#
mount -t cd9660 /dev/md0 /mnt
В этот момент вы можете проверить, что /mnt
и
/tmp/myboot
идентичны.
Имеется много других опций, которые можно использовать с программой mkisofs(8) для тонкой настройки её поведения. В частности: модификации в размещении ISO 9660 и создание дисков в форматах Joliet и HFS. Обратитесь к справочным страницам по mkisofs(8) для получения более подробной информации.
Если ваше устройство для записи CD соответствует стандарту ATAPI,
то для записи ISO-образа на компакт-диск вы можете воспользоваться
командой burncd
. burncd
входит
в базовый комплект операционной системы и установлена как
/usr/sbin/burncd
. Использовать её очень просто,
так как параметров у ней немного:
#
burncd -f
cddevice
dataimagefile.iso
fixate
По этой команде файл imagefile.iso
будет
скопирован на cddevice
. По умолчанию
используется устройство /dev/acd0
. Для получения
информации о параметрах, задающих скорость записи, выброс диска после
записи и запись звуковых данных, обратитесь к burncd(8).
Если ваше устройство для записи CD не соответствует стандарту
ATAPI, то для записи компакт-дисков вам нужно пользоваться программой
cdrecord
. cdrecord
не входит в
комплект поставки системы; вы должны установить её из порта
sysutils/cdrtools или из
соответствующего пакета. Изменения в системе могут приводить к тому,
что откомпилированные версии этой программы работать не будут, или
приводить к порче дисков. Поэтому вы должны при обновлении системы
либо обновить порт, либо, если вы следуете
-STABLE, обновить порт при появлении его новой версии.
Хотя cdrecord
имеет много опций, в основном
использовать её ещё проще, чем burncd
. Запись образа
ISO 9660 делается такой командой:
#
cdrecord dev=
device
imagefile.iso
Тонким моментом при использовании cdrecord
является определение правильного устройства dev
. Чтобы
задать параметр правильно, воспользуйтесь флагом
-scanbus
команды cdrecord
, в
результате чего может получиться примерно такой результат:
#
cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 J"org Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) *
Здесь приведены соответствующие значения параметров
dev
для имеющихся устройств. Найдите здесь ваше
устройство для записи CD, а в качестве параметров для
dev
задавайте три числа через запятые. В нашем случае
CRW-устройству соответствуют числа 1,5,0, так что правильным параметром
будет dev=1,5,0
. Имеется более
простой способ задать эти значения; обратитесь к справочной информации
о cdrecord(1) для выяснения подробностей. Там же находится
информация о записи звуковых дорожек, управлении скоростью и другим
вещам.
Вы можете копировать музыкальные CD, извлекая данные аудио с CD в набор файлов, а затем записывая эти файлы на чистый CD. Процесс несколько различен в случаях использования устройств ATAPI и SCSI.
Используйте cdda2wav
для извлечения
данных аудио.
%
cdda2wav -vall -D2,0 -B -Owav
Воспользуйтесь cdrecord
для записи файлов
.wav
.
%
cdrecord -v dev=
2,0
-dao -useinfo *.wav
Значение, соответствующее 2,0
,
должно быть установлено правильно, как это описано в Раздел 17.6.4, <
На приводах ATAPI также можно использовать утилиту
cdda2wav
. Для её функционирования потребуется
драйвер ATAPI/CAM. Следует
отметить, что данная утилита предназначена для корректного
извлечения и обработки аудио данных, в отличие от утилиты,
приведенной в нижеследующем примере.
Драйвер устройств ATAPI CD делает каждую дорожку доступной как
/dev/acd
,
где d
tnn
d
является номером привода, а
nn
соответствует номеру дорожки, который
записывается двумя десятичными цифрами с нулём в начале, если это
нужно. Таким образом, первая дорожка на первом диске будет носить
имя /dev/acd0t01
, вторая будет именоваться
/dev/acd0t02
, третья будет носить имя
/dev/acd0t03
и так далее.
Удостоверьтесь, что соответствующий файл имеется в каталоге
/dev
. При его отсутствии следует
принудительно перечитать оглавление диска:
#
dd if=/dev/acd0 of=/dev/null count=1
Извлеките каждую дорожку при помощи команды dd(1). При извлечении файлов вы должны также использовать специфическое значение для размера блока.
#
dd if=/dev/acd0t01 of=track1.cdr bs=2352
#
dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Запишите извлечённые файлы на диск при помощи утилиты
burncd
. Вы должны указать, что это файлы с
аудио, и что burncd
должна зафиксировать диск
по окончании работы.
#
burncd -f
/dev/acd0
audio track1.cdr track2.cdr...
fixate
Вы можете скопировать CD с данными в файл образа, который
функционально эквивалентен файлу образа, созданному командой
mkisofs(8), и вы можете
использовать его для копирования любого CD с данными. В приводимом
здесь примере предполагается, что ваш привод CDROM называется
acd0
. Подставьте название вашего привода
CDROM.
#
dd if=/dev/acd0 of=file.iso bs=2048
Теперь, когда вы имеете образ, вы можете записать его на CD так, как это описано выше.
Теперь, после того, как вы создали стандартный CDROM с данными, вы,
наверное, захотите смонтировать его и считать с него данные. По
умолчанию mount(8) предполагает, что файловая система имеет тип
ufs
. Если вы попытаетесь выполнить что-то
вроде:
#
mount /dev/cd0 /mnt
вы получите сообщение Incorrect super block,
и диск не смонтируется. CDROM не является файловой системой
UFS
, поэтому попытки смонтировать его таким образом
будут терпеть неудачу. Вам просто нужно указать команде mount(8),
что файловая система имеет тип ISO9660
, и всё должно
заработать. Сделайте это, задав параметр -t cd9660
при вызове mount(8). К примеру, если вы хотите смонтировать
устройство CDROM, /dev/cd0
, в каталог
/mnt
, вы должны выполнить:
#
mount -t cd9660 /dev/cd0 /mnt
Заметьте, что имя вашего устройства
(/dev/cd0
в этом примере) может быть другим,
в зависимости от интерфейса, используемого в CDROM. Кроме того,
параметр -t cd9660
всего лишь задаёт выполнение
утилиты mount_cd9660(8). Пример выше может быть упрощён
до:
#
mount_cd9660 /dev/cd0c /mnt
Таким способом, вообще говоря, вы можете использовать компакт-диски
любого производителя. Диски с некоторыми расширениями ISO 9660 могут,
однако, работать со странностями. К примеру диски Joliet хранят все
имена файлов в виде последовательностей двухбайтовых символов Unicode.
Ядро FreeBSD не может работать с Unicode, но CD9660 драйвер способен
преобразовывать Unicode символы на лету. Если некоторые символы не
английского алфавита выглядят, как знаки вопроса, то вам нужно указать
используемую вами кодировку с помощью опции -C
. За
дополнительной информацией, обращайтесь к странице справочника
mount_cd9660(8).
Чтобы смочь произвести преобразование символов посредством
опции -C
, ядру понадобится загрузить модуль
cd9660_iconv.ko
. Это может быть сделано
либо добавлением ниже представленной строчки в
loader.conf
:
cd9660_iconv_load="YES"
с последующей перезагрузкой машины, либо загрузкой модуля вручную с помощью kldload(8).
Время от времени вы можете получать сообщения Device not configured при попытке смонтировать CDROM. Это обычно означает, что привод CDROM полагает, что в нём нет диска, или что привод не виден на шине. Приводу CDROM может понадобиться несколько секунд, чтобы понять, что он был закрыт, так что будьте терпеливы.
Иногда SCSI CDROM может потеряться из-за того, что у него не было достаточно времени, чтобы ответить на сброс шины. Если у вас имеется SCSI CDROM, то, пожалуйста, добавьте следующий параметр в конфигурацию вашего ядра и перестройте его.
options SCSI_DELAY=15000
Это укажет вашей шине SCSI выдерживать 15-секундную паузу во время загрузки, чтобы дать вашему приводу CDROM шанс ответить на сброс шины.
Вы можете предпочесть запись файла непосредственно на CD без создания файловой системы ISO 9660. Некоторые поступают так при создании резервных копий. Это выполняется гораздо быстрее. чем запись стандартного компакт-диска:
#
burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
Для извлечения данных, записанных так на компакт-диск, вы должны считывать данные из файла непосредственного доступа к устройству:
#
tar xzvf /dev/acd1
Вы не можете монтировать этот диск как обычный CDROM. Такой компакт-диск не может быть прочитан ни в какой другой операционной системе, кроме FreeBSD. Если вы хотите монтировать CD или обменяться данными с другой операционной системой, то вы должны использовать mkisofs(8) так, как это было описано выше.
Этот драйвер позволяет работать с ATAPI-устройствами (приводы CD-ROM, CD-RW, DVD и так далее) через подсистему SCSI, таким образом расширяя использование таких приложений, как sysutils/cdrdao или cdrecord(1).
Для использования этого драйвера вам необходимо добавить в файл
/boot/loader.conf
следующую строку:
atapicam_load="YES"
с последующей перезагрузкой машины.
Если для вас предпочтительнее статически скомпилировать поддержку atapicam(4) в ядро, то добавьте эту строчку в файл конфигурации ядра:
device atapicam
Кроме того, в файле конфигурации ядра должны быть следующие строки:
device ata device scbus device cd device pass
которые уже должны там присутствовать. Затем пересоберите, установите новое ядро и перезагрузите компьютер.
В процессе загрузки ваш пишущий привод должен появиться примерно следующим образом:
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Теперь с ним можно работать через устройство
/dev/cd0
, например, чтобы смонтировать
CD-ROM в каталог /mnt
, просто наберите следующую
команду:
#
mount -t cd9660
/dev/cd0
/mnt
Для получения SCSI-адреса пишущего привода, вы можете, работая как
пользователь root
, запустить такую
команду:
#
camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
Таким образом, 1,0,0
будет SCSI-адресом для
использования с cdrecord(1) и другими приложениями для работы со
SCSI.
Для получения дополнительной информации об ATAPI/CAM и системе SCSI, обратитесь к страницам справочной системы по atapicam(4) и cam(4).
DVD это следующее после CD поколение оптических носителей. DVD может вмещать больше данных чем любой CD и является современным стандартом распространения видео.
Для записываемых DVD существует пять физических форматов записи:
DVD-R: Был первым форматом записываемых DVD. Стандарт DVD-R был создан DVD Forum. Это формат для однократной записи.
DVD-RW: Это перезаписываемая версия стандарта DVD-R. Носители DVD-RW могут быть перезаписаны около 1000 раз.
DVD-RAM: Это также перезаписываемый формат, поддерживаемый DVD Forum. DVD-RAM может быть виден как съемный жесткий диск. Однако, этот носитель не совместим с большинством приводов DVD-ROM и проигрывателями DVD-Video; лишь некоторые пишущие DVD поддерживают формат DVD-RAM. Более подробно о работе с DVD-RAM можно прочитать в разделе Раздел 17.7.9, <<Использование DVD-RAM>>.
DVD+RW: Это перезаписываемый формат, созданный DVD+RW Alliance. Носитель DVD+RW может быть перезаписан около 1000 раз.
DVD+R: Этот формат - однократно записываемая версия формата DVD+RW.
Однослойный записываемый DVD может хранить до 4,700,000,000 байт, что равно 4.38 Гбайт, или 4485 Мбайт (1 килобайт это 1024 байт).
Необходимо различать физический носитель и приложение. Например, DVD-Video это определенная файловая раскладка, которая может быть помещена на записываемый DVD любого физического формата: DVD-R, DVD+R, DVD-RW и т.д. Перед выбором типа носителя вы должны убедиться, что и устройство записи и DVD-Video проигрыватель (отдельный или DVD-ROM привод компьютера) совместимы с данным носителем.
Для записи DVD будет использоваться программа growisofs(1). Эта команда входит в набор утилит dvd+rw-tools (sysutils/dvd+rw-tools), который поддерживает все типы носителей DVD.
Эти утилиты используют подсистему SCSI для доступа к устройствам,
следовательно необходимо добавить в ядро поддержку ATAPI/CAM. Если пишущий
привод использует USB интерфейс, это добавление бесполезно и
необходимо прочесть более подробную информацию по настройке
устройств USB в Раздел 17.5, <
Вам также потребуется включить DMA доступ для устройств ATAPI,
это можно сделать добавив в
/boot/loader.conf
следующую строку:
hw.ata.atapi_dma="1"
Перед использованием dvd+rw-tools вы должны свериться со списком совместимого оборудования dvd+rw-tools с информацией по устройствам для записи DVD.
Если вам нужен графический интерфейс пользователя, взгляните на K3b (sysutils/k3b), который предоставляет дружественный пользователю интерфейс к growisofs(1) и многим другим программам записи.
Команда growisofs(1) является оболочкой для mkisofs, она вызовет mkisofs(8) для создания файловой системы и запишет DVD. Это означает, что вам не потребуется создавать образ с данными перед началом процесса записи.
Для записи данных из каталога /path/to/data
на DVD+R или DVD-R,
используйте следующую команду:
#
growisofs -dvd-compat -Z
/dev/cd0
-J -R/path/to/data
Параметры -J -R
передаются
mkisofs(8) для создания файловой системы (в данном случае:
файловая система ISO 9660 с расширениями Joliet и Rock Ridge),
обратитесь к странице справочника mkisofs(8) за более
подробной информацией.
Параметр -Z
используется для первой сессии
записи в любом случае: для одной или нескольких сессий.
Устройство DVD, /dev/cd0
, должно
быть изменено в соответствии с имеющимися настройками.
Параметр -dvd-compat
закроет диск и дозапись
станет невозможна. Это должно улучшить совместимость с
приводами DVD-ROM.
Возможна также запись предварительного (pre-mastered) образа,
например, для записи
imagefile.iso
запустим:
#
growisofs -dvd-compat -Z
/dev/cd0
=imagefile.iso
Скорость записи должна быть определена и автоматически
установлена в соответствии с носителем и приводом. Если вы хотите
явно указать скорость записи, используйте параметр
-speed=
. За дальнейшей информацией обратитесь к
странице справочника growisofs(1).
Если размер файлов внутри набора превышает 4.38Гб, то необходимо
будет создать гибридную файловую систему UDF/ISO-9660, для чего
потребуется передать параметры -udf -iso-level 3
в mkisofs(8) и в остальные соответствующие программы (например,
growisofs(1)). Указание параметров обязательно лишь во время
создания файла образа или во время непосредственной записи
на диск. Созданный таким способом диск должен монтироваться
утилитой mount_udf(8). Диск будет доступен лишь тем
операционным системам, которые поддерживают UDF; в противном случае
носитель будет отображаться как поврежденный.
Для того, чтобы создать такой образ, выполните:
%
mkisofs -R -J -udf -iso-level 3 -o
imagefile.iso
/path/to/data
Для того, чтобы записать файлы прямо на диск, наберите:
#
growisofs -dvd-compat -udf -iso-level 3 -Z
/dev/cd0
-J -R/path/to/data
Если у вас в распоряжении уже имеется образ, содержащий в себе файлы большого размера, то для записи образа на диск никаких дополнительных опций для growisofs(1) не потребуется.
Также удостоверьтесь, что у вас установлена последняя версия sysutils/cdrtools (mkisofs(8) принадлежит к этому порту), поскольку предыдущие версии утилит не поддерживают работу с большими файлами. Если с этим портом возникают проблемы, то установите sysutils/cdrtools-devel и прочитайте страницу справочника mkisofs(8).
DVD-Video это особая файловая система, базирующаяся на ISO 9660 и спецификациях micro-UDF (M-UDF). DVD-Video также представляет определенную иерархию структуры данных, поэтому для создания DVD потребуется особая программа, такая как multimedia/dvdauthor.
Если у вас уже есть образ файловой системы DVD-Video,
просто запишите его как любой другой образ, примеры находятся
в предыдущем разделе. Если вы создали DVD и результат находится
в каталоге /path/to/video
,
для записи DVD-Video должна быть использована следующая
команда:
#
growisofs -Z
/dev/cd0
-dvd-video/path/to/video
Параметр -dvd-video
будет передан
mkisofs(8) и укажет создать файловую систему DVD-Video.
Помимо этого, параметр -dvd-video
подразумевает
параметр growisofs(1) -dvd-compat
.
В отличие от CD-RW, новый DVD+RW необходимо отформатировать перед
первым использованием. Программа growisofs(1) позаботится об
этом сама при необходимости, и это
рекомендованный способ. Тем не менее,
для форматирования DVD+RW вы можете использовать команду
dvd+rw-format
:
#
dvd+rw-format
/dev/cd0
Эту операцию необходимо выполнить лишь однажды, помните, что только новые носители DVD+RW необходимо форматировать. Затем запишите DVD+RW тем способом, который описан в предыдущем разделе.
Если вы хотите записать новые данные (полностью новую файловую систему, а не дописать данные) на DVD+RW, его не нужно очищать, просто запишите поверх предыдущей записи (создав новую начальную сессию) примерно так :
#
growisofs -Z
/dev/cd0
-J -R/path/to/newdata
Формат DVD+RW делает возможным легко дописать данные к предыдущей записи. Операция состоит в присоединении предыдущей сессии к существующей, это не мультисессионная запись, growisofs(1) расширит (grow) файловую систему ISO 9660, существующую на носителе.
Например, для дозаписи данных к предыдущей сессии на DVD+RW, используется следующая команда:
#
growisofs -M
/dev/cd0
-J -R/path/to/nextdata
При последующих записях mkisofs(8) необходимо передавать те же параметры, что и при первой записи.
Вы можете использовать параметр -dvd-compat
для улучшения совместимости с приводами DVD-ROM. В случае
DVD+RW это не помешает добавлению данных.
Если по какой-либо причине вам потребуется очистить носитель, используйте следующую команду:
#
growisofs -Z
/dev/cd0
=/dev/zero
Существует два формата дисков DVD-RW: последовательно дополняемый и с ограниченной перезаписью. По умолчанию формат дисков DVD-RW последовательный.
Новый DVD-RW может быть записан непосредственно без необходимости форматирования, однако DVD-RW с данными в последовательном формате необходимо очистить перед созданием новой начальной сессии.
Для очистки DVD-RW в последовательном формате, запустите:
#
dvd+rw-format -blank=full
/dev/cd0
Полная очистка (-blank=full
) займет
около одного часа на скорости 1x. Быструю очистку можно
выполнить с параметром -blank
, если
DVD-RW будет записан в режиме Disk-At-Once (DAO).
Для записи DVD-RW в режиме DAO, используйте команду:
#
growisofs -use-the-force-luke=dao -Z
/dev/cd0
=imagefile.iso
Параметр -use-the-force-luke=dao
не
должен потребоваться, поскольку growisofs(1) попытается
определить был ли носитель быстро очищен и включить
DAO запись.
Фактически, лучше использовать режим с ограниченной перезаписью с любым DVD-RW, этот формат более гибкий, чем формат по умолчанию с последовательной записью.
Для записи данных на последовательный DVD-RW, используйте ту же команду, что и для других форматов DVD:
#
growisofs -Z
/dev/cd0
-J -R/path/to/data
Если вы хотите добавить данные к предыдущей записи,
используйте параметр growisofs(1) -M
.
Однако при добавлении данных на DVD-RW в последовательном
режиме, на диске будет создана новая сессия и в результате
получится мультисессионный диск.
В формате DVD-RW с ограниченной перезаписью не требуется
очищать носитель перед созданием новой начальной сессии,
вам всего лишь нужно переписать диск с параметром
-Z
, подобно DVD+RW. Возможно также увеличение
существующей файловой системы ISO 9660, записанной на диск
тем же способом, как для DVD+RW с параметром -M
.
В результате получится односессионный DVD.
Для перевода DVD-RW в формат с ограниченной перезаписью, необходимо использовать следующую команду:
#
dvd+rw-format
/dev/cd0
Для перевода обратно в последовательный формат, выполните:
#
dvd+rw-format -blank=full
/dev/cd0
Лишь несколько DVD-ROM и проигрывателей поддерживают мультисессионные DVD, в основном они в лучшем случае прочтут только первую сессию. DVD+R, DVD-R и DVD-RW в последовательном формате могут работать с несколькими сессиями, и это не относится к форматам DVD+RW и DVD-RW в формате ограниченной перезаписи.
Использование следующей команды после первой (не закрытой) сессии для DVD+R, DVD-R, или DVD-RW в последовательном формате, добавит на диск новую сессию:
#
growisofs -M
/dev/cd0
-J -R/path/to/nextdata
Использование этой командной строки с DVD+RW или DVD-RW в режиме ограниченной перезаписи добавит данные, объединив новую сессию с предыдущей. В результате получится односессионный диск. Такой способ используется для добавления данных после первой записи на эти носители.
Некоторый объем носителя используется между сессиями для завершения и начала сессии. Следовательно, для оптимизации объема хранения сессии должны быть большими. Количество сессий ограничено 154 для DVD+R, около 2000 для DVD-R и 127 для DVD+R Double Layer.
Для получения дополнительной информации о DVD, можно запустить
команду dvd+rw-mediainfo
, диск должен
находиться в приводе./dev/cd0
Дополнительная информация о dvd+rw-tools может быть найдена на странице справочника growisofs(1), на Web-сайте dvd+rw-tools и в архивах списка рассылки cdwrite.
Вывод dvd+rw-mediainfo
при записи
или проблемный носитель необходимы для любого сообщения
о проблеме. Без этого вывода будет совершенно невозможно
помочь вам.
Записывающие устройства DVD-RAM поставляются с интерфейсами
SCSI и ATAPI. В последнем случае вы должны убедиться, что для
них включен режим DMA, добавив в файл
/boot/loader.conf
строку
hw.ata.atapi_dma="1"
Как указывалось ранее, DVD-RAM представляется съемным жестким диском. Как и другие дисковые устройства, DVD-RAM должен быть <<подготовлен>> к первому использованию. В нашем примере мы займём все пространство диска одной файловой системой UFS2:
#
dd if=/dev/zero of=
/dev/acd0
bs=2k count=1#
bsdlabel -Bw
acd0
#
newfs
/dev/acd0
Имя устройства DVD device, acd0
, должно
соответствовать вашей конфигурации.
Хранение данных на дискетах иногда бывает полезным, например, когда нет других съёмных носителей или когда необходимо перенести небольшой объём данных на другой компьютер.
В этом разделе будет описано, как использовать дискеты во FreeBSD. В основном речь пойдёт о форматировании и использовании дискет DOS размером 3.5 дюйма, однако общие принципы применимы и для других форматов гибких дисков.
Доступ к гибким дискам, как, впрочем, и к остальным устройствам,
осуществляется через соответствующие файлы в
каталога /dev
. Чтобы обратиться к дискете,
просто используйте
/dev/fd
.N
Перед тем, как дискетой можно будет воспользоваться, её необходимо отформатировать на низком уровне. Обычно это выполняется производителем, однако форматирование является хорошим способом проверить целостность носителя. Большинство гибких дисков предназначены для использования с размером 1440kB, однако возможно задать меньший или больший размер.
Для низкоуровневого форматирования дискет вам нужно использовать fdformat(1). В качестве параметра этой утилите передаётся имя устройства.
Обратите внимание на появление сообщений об ошибках, так как они могут помочь определить, хорошая это дискета или плохая.
После низкоуровневого форматирования диска вам нужно поместить на него метку диска. Эта метка будет потом разрушена, но она будет нужна системе для определения размера диска и его характеристик.
Новая метка диска будет касаться диска в целом, и будет содержать
полную информацию о параметрах дискеты.
Значения геометрии для метки диска перечислены в файле
/etc/disktab
.
Теперь вы можете запустить bsdlabel(8) примерно так:
#
/sbin/bsdlabel -B -w /dev/fd0 fd1440
Теперь ваша дискета готова к высокоуровневому форматированию. При этом на неё будет помещаться новая файловая система, которая позволит FreeBSD читать и записывать информацию на диск. После создания новой файловой системы метка диска уничтожается, так что если вы захотите переформатировать диск, вам придётся создавать метку диска повторно.
Файловой системой для дискеты может служить UFS или FAT. Вообще говоря, FAT для дискет походит лучше.
Для размещения на дискете новой файловой системы, выполните:
#
/sbin/newfs_msdos /dev/fd0
Теперь диск готов к работе.
Для работы с гибким диском смонтируйте его при помощи утилит mount_msdosfs(8). Можно также использовать пакет emulators/mtools из коллекции портов.
К наиболее часто используемым носителям на магнитной ленте следует отнести ленты шириной 4мм и 8мм, а также типа QIC, мини-картриджи и DLT.
Ленты шириной 4мм заменяют QIC в качестве наиболее предпочтительного носителя для создания резервных копий. Эта тенденция значительно усилилась после покупки компанией Conner фирмы Archive, ведущего производителя накопителей QIC и последующего прекращения их выпуска. Накопители 4мм малы по размеру и мало шумят, но у них нет репутации носителя, обладающего надежностью приводов 8мм. Картриджи более дешевы и меньше по размеру (3 x 2 x 0.5 дюймов; 76 x 51 x 12 мм), чем 8мм-картриджи. Накопители для лент шириной 4мм, как и 8мм, имеют сравнительно малый срок службы головок, по причине использования в обоих случаях технологии спирального сканирования (helical scan).
Пропускная способность у таких накопителей начинается с цифры ~150 kB/s, пиковая достигает ~500 kB/s. Ёмкость накопителей начинается с 1.3 GB и может достигать 2.0 GB. Аппаратное сжатие, имеющееся на большинстве таких накопителей, даёт увеличение ёмкости примерно вдвое. Блоки многоприводных ленточных библиотек могут иметь до 6 накопителей в одном модуле с автоматической сменой ленты. Ёмкость библиотек может достигать 240 Гбайт.
Стандарт DDS-3 в настоящее время поддерживает ёмкости лент вплоть до 12 Гбайт (или 24 Гбайт сжатой информации).
В накопителях 4мм, как и в приводах 8мм, используется технология спирального сканирования. Все плюсы и минусы этой технологии относятся как к 4мм, так и 8мм приводам.
Не следует использовать ленты после того, как они были подвергнуты 2000 проходов, или были использованы для создания 100 полных копий.
Ленты шириной 8мм являются самым распространённым типом для ленточных SCSI-накопителей; они же являются наиболее удачным выбором при выборе типа носителей для обмена лентами. Наверное, каждый сервер имеет привод Exabyte шириной 8мм и объёмом 2 Гбайт. Эти приводы удобны, они работают надёжно и тихо. Картриджи дешевы и малы по размеру (4.8 x 3.3 x 0.6 дюймов; 122 x 84 x 15 мм). Одним минусом лент шириной 8мм является сравнительно малое время службы головок и лент из-за высокой скорости движения ленты вдоль головок.
Скорость передачи данных варьируется от ~250 kB/s до ~500 kB/s. Объём хранимых данных начинается с 300 Мбайт и может достигать 7 Гбайт. Аппаратное сжатие, имеющееся практически на всех таких приводах, увеличивает емкость примерно вдвое. Эти приводы существуют как в виде отдельных модулей, так и в виде многоприводных ленточных библиотек с 6 приводами и 120 лентами в одном отсеке. Ленты сменяются автоматически модулем. Емкости библиотек достигают величин, превышающих 840 Гбайт.
Модель Exabyte <<Mammoth>> поддерживает ёмкость ленты в 12 Гбайт (24 Гбайт со сжатием) и стоит примерно вдвое больше, чем обычный ленточный накопитель.
Данные на ленту записываются по технологии спирального сканирования, головки позиционируются под углом к носителю (примерно в 6 градусов). Лента оборачивается на 270 градусов вокруг шпульки, которая держит головки. Во время скольжения ленты вокруг шпульки последняя вращается. В результате достигается высокая плотность записи данных с очень близко лежащими дорожками, расположенными под наклоном по всей ленте.
Ленты и накопители формата QIC-150, наверное, являются наиболее распространенным типом носителей. Приводы лент формата QIC являются самыми дешёвыми <<серьёзными>> накопителями для резервного копирования. Минусом является стоимость носителей. Ленты формата QIC по сравнению с лентами шириной 8мм или 4мм являются дорогими, превосходя их по стоимости хранения одного гигабайта в пять раз. Однако если вам будут достаточно половины ленты, QIC может оказаться правильным выбором. QIC является самым распространенным типом привода. Каждый сайт имеет привод QIC какой-либо емкости. QIC имеет большое количество плотностей на физически похожих (иногда даже идентичных) лентах. Приводы QIC работают вовсе не тихо. Эти накопители громко осуществляют поиск перед тем, как начать запись данных и достаточно шумны в процессе чтения, записи или поиска. Ленты QIC имеют размеры (6 x 4 x 0.7 дюймов; 152 x 102 x 17 мм).
Скорость обмена данными лежит в границах от ~150 kB/s до ~500 kB/s. Ёмкость накопителей варьируется от 40 Мбайт до 15 Гбайт. Аппаратное сжатие присутствует во многих современных накопителях QIC. Приводы QIC устанавливаются менее часто; они вытесняются накопителями DAT.
На ленту данные записываются в виде дорожек. Дорожки располагаются в длину вдоль всей ленты. Количество дорожек, и, в свою очередь, их ширина, меняется вместе с емкостью ленты. Большинство, если не все современные накопители обеспечивают обратную совместимость по крайней мере для чтения (однако зачастую и для режима записи). Формат QIC имеет хорошую репутацию в области надежности хранения данных (механика устроена проще и более надежна, чем в случае накопителей, построенных по технологии спирального сканирования).
Ленты не следует больше использовать после создания 5,000 резервных копий.
Формат DLT обладает самой высокой скоростью передачи данных среди всех перечисленных здесь накопителей. Лента шириной 1/2" (12.5мм) помещена в один картридж с катушкой (4 x 4 x 1 дюймов; 100 x 100 x 25 мм). Вдоль одной из сторон картриджа расположена сдвигающаяся крышечка. Механизм накопителя открывает эту крышку, чтобы вытащить конец ленты. На этом конце имеется овальное отверстие, которое используется для <<захвата>> ленты. Принимающая катушка размещена внутри накопителя. Все другие типы картриджей, перечисленные здесь (за исключением 9-дорожечных лент), имеют как подающий, так и принимающий барабаны внутри самого картриджа.
Скорость передачи данных равна примерно 1.5 MB/s, что в три раза больше скорости передачи данных для накопителей 4мм, 8мм или QIC. Ёмкость картриджей варьируется от 10 Гбайт до 20 Гбайт для одного накопителя. Приводы могут компоноваться как многоленточные роботизированные, так и многоленточные, многоприводные библиотеки лент, вмещающие от 5 до 900 лент и от 1 до 20 приводов, что даёт ёмкость хранилища от 50 Гбайт до 9 Тбайт.
Формат DLT Type IV поддерживает емкость до 70 Гбайт со сжатием.
Данные на ленту записываются в виде дорожек, параллельных направлению движения (точно также, как и для лент QIC). Одновременно записываются две дорожки. Срок жизни головок чтения/записи сравнительно велик; как только лента перестает двигаться, одновременно прекращается трение между головками и лентой.
AIT - это новый формат фирмы Sony, который позволяет хранить до 50 Гбайт (со сжатием) информации на одной ленте. Ленты содержат микросхемы памяти, на которых размещается каталог содержимого ленты. Этот каталог может быть быстро считан накопителем для определения расположения файлов на ленте, вместо того, чтобы тратить несколько минут на поиск, как это происходит с другими форматами. Такое программное обеспечение, как SAMS:Alexandria, может управлять сорока или большим количеством ленточных библиотек AIT, связываясь непосредственно с памятью лент для вывода их содержимого, определения того, какие файлы были скопированы на какую ленту, выбора нужной ленты, её загрузки и восстановления данных с ленты.
Библиотеки с такими функциями стоят в районе $20,000, выводя их из ниши любительского рынка.
Если вы попытаетесь прочитать или записать новую, абсолютно чистую ленту, в первый раз, то вам это не удастся. Выводимые на консоль сообщения будут выглядеть примерно так:
sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready
На ленте отсутствует идентификационный блок (блок номер 0). Со времен принятия стандарта QIC-525 все накопители формата QIC записывают на ленту идентификационный блок (Identifier Block). Здесь имеется два решения:
По команде mt fsf 1
ленточный накопитель
записывает идентификационный блок на ленту.
Воспользуйтесь кнопкой на передней панели для выброса ленты.
Вставьте ленту повторно и по команде dump
сбросьте данные на ленту.
Программа dump
выдаст DUMP: End
of tape detected, а на консоли будет выведено:
HARDWARE FAILURE info:280 asc:80,96.
перемотайте ленту такой командой:
mt rewind
.
Последующие операции с лентой будут успешными.
На самом деле дискеты не подходят для создания резервных копий, потому что:
Носитель ненадёжен, особенно если речь идет о больших сроках хранения.
Создание резервных копий и восстановление данных происходит очень медленно.
Дискеты имеют весьма ограниченную емкость (дни, когда весь винчестер копировался на десяток или около того дискет, давно прошли).
Несмотря на все это, если у вас нет другого способа сделать резервную копию ваших данных, то дискеты все же лучше, чем ничего.
Если вы используете дискеты, то проверьте, что они должны быть хорошего качества. Дискеты, которые валялись по всему офису в течении нескольких лет, не подойдут. Идеально использовать новые от известного производителя.
Самым лучшим методом создания резервной копии на дискете является
использование утилиты tar(1) с опцией
-M
(многотомные архивы), которая позволяет размещать
архивы на нескольких дискетах.
Для копирования всех файлов в текущем каталоге и подкаталогах
выполните следующее (работая как пользователь
root
):
#
tar Mcvf /dev/fd0 *
Когда первая дискета окажется полностью заполненной, программа tar(1) выдаст запрос на следующий том (так как работа утилиты tar(1) не зависит от носителя, она имеет дело с томами; здесь это означает дискету).
Prepare volume #2 for /dev/fd0 and hit return:
Это сообщение будет повторяться (со все увеличивающимся номером тома) до тех пор, пока все указанные файлы не будут заархивированы.
К сожалению, tar(1) при создании многотомных архивов
не позволяет использовать опцию -z
. Вы конечно же,
можете скомпрессировать все файлы утилитой gzip(1),
программой gzip(1) скопировать их на дискеты, а затем
распаковать файлы снова утилитой gunzip(1)!
Для полного восстановления архива воспользуйтесь такой командой:
#
tar Mxvf /dev/fd0
Есть два подхода к восстановлению только нужных вам файлов. В первом вы можете начать с первой дискеты и выдать такую команду:
#
tar Mxvf /dev/fd0
filename
Программа tar(1) будет выдавать запрос на подачу последующих дискет до тех пор, пока не найдет требуемый файл.
Как альтернатива, если вы знаете, на какой дискете расположен файл, то вы можете просто подать ее и дать ту же самую команду, что и выше. Заметьте, что если первый файл на дискете является продолжением предыдущего, то tar(1) выдаст предупреждение о том, что не может его восстановить, хотя вы этого и не просили делать!
При разработке плана резервного копирования первым делом надо продумать методы защиты от следующих проблем:
Отказ жесткого диска
Случайное удаление файлов
Повреждение содержимого файлов
Полное уничтожение компьютера (например, при пожаре), при котором погибнут также резервные копии, физически находящиеся рядом.
Вполне возможно, что для ваших нужд нет единой стратегии, наилучшим образом покрывающей все описанные проблемы; более того, скорее всего, ее и не может быть (разве что для персональных систем, где ценность данных очень низка).
Вот несколько наиболее распространенных технологий, применяемых для резервного копирования:
Архивация системы целиком с копированием на какой-либо надежный внешний носитель и размещение его вдалеке от основной системы. При этом вы защищены от всех перечисленных проблемы, однако этот метод требует много времени и неудобен в процессе восстановления. Вы можете хранить резервные копии рядом или даже смонтированными, однако все равно столкнетесь с неудобствами при восстановлении, в особенности для непривилегированных пользователей.
Снэпшоты файловых систем. Помогают только от случайного удаления файлов, но как раз в этом случае очень полезны и эффективны.
Полные копии файловых систем или дисков (например, периодический запуск программы rsync(1) для машины целиком). Для защиты от отказа жестких дисков этот способ обычно несколько уступает RAID; для восстановления случайно удаленных файлов может быть сравним по удобству со снэпшотами UFS, в зависимости от вашей ситуации.
RAID. Минимизирует или исключает вовсе простои при отказе жестких дисков. При этом средняя частота таких отказов увеличивается (поскольку количество дисков больше), но разбираться с ними становится много спокойнее.
Проверка отпечатков файлов (fingerprints). Для этого весьма полезна утилита mtree(8). Не являясь собственно технологией резервного копирования, этот метод помогает выяснять, когда вам пока обращаться к резервным копиям. В особенности это важно для "оффлайновых" резервных копий.
Довольно легко придумать и другие стратегии резервного копирования; многие из них будут композициями уже упомянутых. Наличие специальных требований, как правило, приводит к специализированным же технологиям (например, резервное копирование базы данных, как правило, требует использования методов, специфичных для соответствующей СУБД). Главным остается знание опасностей потери данных, от которых вы хотите себя оградить, и методов защиты от них.
Тремя основными программами резервного копирования являются dump(8), tar(1) и cpio(1).
Для UNIX(R) традиционными программами резервного копирования
являются dump
и restore
. Они
работают с приводом как с набором дисковых блоков, которые расположены
ниже понятий файлов, связей и каталогов, создаваемых файловыми
системами. В отличие от других программ для резервного копирования,
программа dump
выполняет резервное
копирование всей файловой системы, располагающейся на устройстве.
Невозможно выполнить резервное копирование части файловой системы или
дерева каталогов, которые располагаются более чем в одной файловой
системе. Утилита dump
не записывает на ленту файлы
и каталоги, она записывает блоки данных, из которых строятся файлы и
каталоги. Утилита restore
по умолчанию настроена
так, что в процессе своей работы она сохраняет временные файлы в
каталог /tmp/
. В некоторых ситуациях доступного
в /tmp/
места бывает недостаточно: например, если
вы работаете с диска восстановления (recovery disk). В таких
случаях для успешной работы утилиты необходимо указать в переменной
окружения TMPDIR
путь к каталогу на менее заполненной
файловой системе.
Если вы используете программу dump
для работы
с корневым каталогом, при этом не будет выполняться резервное
копирование
/home
, /usr
и многих других
каталогов, так как они обычно являются точками монтирования других
файловых систем или символическими ссылками на эти файловые
системы.
В программе dump
имеются некоторые неудобства,
оставшиеся
от её ранних дней в составе Version 6 операционной системы AT&T
UNIX (примерно 1975). Параметры, используемые по умолчанию, подходят
для 9-дорожечных лент (6250 bpi), но не для современных носителей с
высокой плотностью записи информации (до 62,182 ftpi). Для
использования ёмкостей нынешних накопителей на магнитной ленте эти
параметры могут быть заданы в командной строке.
При помощи rdump
и rrestore
возможно резервное
копирование данных по сети на накопитель, подключенный к другому
компьютеру. Обе программы используют в работе rcmd(3) и
ruserok(3) для доступа к накопителю на магнитной ленте на
удалённом компьютере. Поэтому пользователь, выполняющий резервное
копирование, должен быть указан в файле .rhosts
на
удалённом компьютере. Аргументы для rdump
и
rrestore
должны подходить для использования на
другом компьютере. При выполнении копирования по команде
rdump
на компьютере с FreeBSD на накопитель Exabyte,
подключенный к машине Sun по имени komodo
, используйте
такую команду:
#
/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
Будьте осторожны: есть проблемы с обеспечением безопасности при
аутентификации посредством .rhosts
. Внимательно
рассмотрите вашу ситуацию.
Программы dump
и restore
можно использовать в более защищённом режиме посредством
ssh
.
dump
через
ssh#
/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
Либо воспользуйтесь встроенной в dump
возможностью, задав переменную окружения RSH
:
dump
при работе через
ssh с заданием RSH
#
RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr
Утилита tar(1) также восходит корнями к Version 6 системы
AT&T UNIX (около 1975). tar
работает с
файловой системой, записывая на ленту файлы и
каталоги. Эта утилита
поддерживает не полный набор опций, имеющихся в cpio(1), однако
не требует необычного перенаправления в командной строке, которое
используется в утилите cpio
.
Чтобы скопировать
данные на накопитель Exabyte, подключенный к машине Sun по имени
komodo
, используйте такую команду:
#
tar cf - . | rsh komodo dd of=
tape-device
obs=20b
Если вы беспокоитесь о безопасности создания резервных копий по
сети, то вместо rsh
вам нужно использовать
ssh
.
cpio(1) является оригинальной программой UNIX(R) для обмена
файлами на магнитных носителях. В утилите cpio
имеются опции (кроме всего прочего), позволяющие выполнять изменение
порядка следования байтов, поддерживающие различные форматы архивов и
выполняющие перенаправление данных другим программам. Последняя
возможность делает cpio
прекрасным выбором для
целей установки. cpio
не знает о том, как
работать с каталогами, список файлов должен даваться через
stdin
.
cpio
не поддерживает создание резервных
копий по сети. Вы можете воспользоваться перенаправлением вывода и
программой rsh
для посылки данных на удалённый
накопитель.
#
for f in
directory_list
; dofind $f >> backup.list
done
#
cpio -v -o --format=newc < backup.list | ssh
user
@host
"cat >backup_device
"
Где directory_list это список директорий, c которых Вы хотите
создать резервные копии,
user
@host
это
комбинация пользователь/хост которая описывает того кто
занимается резервированием, и backup_device
это устройство куда копии должны быть записаны (например,
/dev/nsa0
).
pax(1) является ответом IEEE/POSIX(R) на утилиты
tar
и cpio
. В течение многих лет
различные версии программ tar
и
cpio
получались не совсем совместимыми. Так что
вместо того, чтобы попытаться полностью их стандартизировать, POSIX(R)
создал новую утилиту для работы с архивами. pax
пытается читать и писать различные форматы cpio
и tar
, и, кроме
того, свои собственные новые форматы. Набор команд этой утилиты больше
напоминает cpio
, чем tar
.
Amanda (Advanced Maryland Network Disk Archiver) является целой клиент/серверной системой резервного копирования, а не отдельной программой. Сервер Amanda сможет осуществлять резервное копирование на единственный накопитель любого количества компьютеров, на которых имеется клиент Amanda и которые могут связываться по сети с сервером Amanda. Общей проблемой систем с большим количеством больших дисков является то, что время, требуемое для непосредственной записи данных на ленту, превышает лимит времени, выделенный на эту задачу. Amanda решает эту проблему. Amanda может использовать <<промежуточный диск>> для резервного копирования нескольких файловых систем одновременно. Amanda создаёт <<наборы архивов>>: группа лент, используемых в некоторый период времени для создания полных копий всех файловых систем, перечисленных в конфигурационном файле системы Amanda. <<Архивный набор>> содержит также создаваемый каждую ночь инкрементальные (или дифференциальные) резервные копии всех файловых систем. Восстановление повреждённой файловой системы требует наличия самой последней полной копии и инкрементальных резервных копий.
Конфигурационный файл даёт прекрасный механизм для управления процессом резервного копирования и объёмом трафика, генерируемого системой Amanda. Amanda сможет использовать любую из перечисленных выше программ для записи данных на ленту. Amanda имеется в виде как порта, так и пакета, и по умолчанию она не установлена.
<<Не делать ничего>> - это не программа для компьютера, и в то же время это наиболее широко используемая стратегия резервного копирования. Здесь нет никаких первоначальных затрат. Здесь нет расписания, которому нужно следовать. Просто скажите нет. Если что-то случится с вашими данными, улыбнитесь и забудьте о них!
Если ваше время и данные практически ничего не стоят, то <<не делать ничего>> является самой подходящей программой для вашего компьютера. Но будьте осторожны, POSIX(R) является весьма полезным инструментом, и через полгода вы можете обнаружить, что у вас есть набор файлов, представляющих для вас определенную ценность.
<<Ничего не делать>> является правильным методом
резервного копирования для /usr/obj
и других
деревьев каталогов, которые могут быть в точности перегенерированы
вашим компьютером. Примером являются файлы, представляющие страницы
этого Руководства в форматах HTML или PostScript(R). Они генерируются
из входных файлов в формате SGML. Создавать резервные копии файлов в
форматах HTML и PostScript(R) не нужно. Исходные файлы в формате SGML
копируются регулярно.
dump(8) Точка. Elizabeth D. Zwicky
протестировала все программы резервного копирования, обсуждаемые здесь.
Беспроигрышным вариантом для сохранения всех ваших данных и
особенностей файловых систем UNIX(R) является dump
.
Элизабет создала файловые системы, содержащие большое количество
необычных элементов (и некоторых не так уж необычных) и тестировала
каждую из программ, выполняя резервное копирование и последующее
восстановление этих файловых систем. В число необычных элементов
входили: файлы с дырами, файлы с дырами и блоком пустого места, файлы с
необычными символами в их именах, нечитаемые и незаписываемые файлы,
устройства, меняющие свой размер во время резервного копирования, файлы,
создаваемые и удаляемые во время копирования и тому подобное. Она
представила результаты на конференции LISA V в октябре 1991 года.
Посмотрите ссылку на сайте
torture-testing Backup and Archive Programs.
Вам нужно выполнить всего лишь четыре шага для того, чтобы быть готовым к любому сбою.
Во-первых, распечатайте разметку диска для всех ваших дисков
(к примеру, bsdlabel da0 | lpr
), таблицу файловых
систем (/etc/fstab
) и все сообщения, выводимые
при загрузке, каждого по два экземпляра.
Во-вторых, запишите CD диск с <<livefs>>. Этот диск
позволяет загружаться в режим аварийного восстановления FreeBSD,
давая возможность пользователю выполнять ряд утилит, среди которых
dump(8), restore(8), fdisk(8), bsdlabel(8),
newfs(8), mount(8) и т.д. Образ CD с <<livefs>>
для FreeBSD/i386 10.1-RELEASE находится
по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-i386-livefs.iso
.
В-третьих, регулярно создавайте резервные копии на ленте. Любые изменения, которые вы делали после последнего резервного копирования, могут быть безвозвратно потеряны. На лентах включайте защиту от записи.
В-четвертых, проверяйте работу CD диска
(который вы сделали при выполнении второго шага) и лент
с резервными копиями. Ведите журнал выполняемых действий. Храните
эти записи вместе с загрузочным CD диском, распечатками и лентами.
Вы просто обезумеете при восстановлении данных, если окажется, что
записи помогли бы избежать разрушения ваших резервных копий (Каким
образом? Вместо команды tar xvf /dev/sa0
вы
могли случайно набрать tar cvf /dev/sa0
и тем
самым перезаписать вашу резервную копию).
Для дополнительной страховки, каждый раз создавайте загрузочный CD диск с <<livefs>> и две резервные копии на ленте. Храните одну из копий в каком-то удаленном месте и НЕ в том же здании, где находится ваш офис. Достаточно большое количество компаний во Всемирном Торговом Центре изучило это на своей шкуре. Это удаленное хранилище должно быть физически отделено на большое расстояние от ваших компьютеров и дисковых устройств.
Главный вопрос: выжило ли ваше оборудование? Вы регулярно делали резервные копии, так что нет нужды беспокоиться о программном обеспечении.
Если оборудование было повреждено, должны быть заменены неисправные компоненты.
Если с оборудованием всё в порядке, вставьте CD диск
с <<livefs>> в привод и загрузите
компьютер. На экран будет выведено оригинальное меню установки.
Выберите требуемую страну, потом - пункт меню
, а в нём выберите пункт
. Утилита
restore
и другие
нужные вам программы находятся в каталоге /mnt2/rescue
.
Восстановите по отдельности каждую файловую систему.
Попробуйте выполнить команду mount
(например,
mount /dev/da0a /mnt
) по отношению к корневому
разделу вашего первого диска. Если метка диска была испорчена,
то воспользуйтесь командой bsdlabel
для
переразбиения на
разделы и разметки диска так, чтобы получившаяся метка совпала с той,
которая вами была распечатана и сохранена. Для повторного создания
файловых систем используйте утилиту newfs
. Повторно
смонтируйте корневой раздел диска в режиме чтения-записи
(mount -u -o rw /mnt
). Воспользуйтесь вашей
программой резервного копирования и резервными копиями на лентах для
восстановления данных для этой файловой системы (например.
restore vrf /dev/sa0
). Размонтируйте файловую
систему (например, umount /mnt
). Повторите эту
процедуру для каждой файловой системы, которая была повреждена.
Как только ваша система заработает, сделайте резервную копию на новые ленты. Что бы ни вызвало сбой или потерю данных, это может случиться снова. Ещё один час, потраченный в этот момент, может спасти вас от неприятностей в будущем.
Кроме дисков, которые вы физически устанавливаете в ваш компьютер; дискеты, компакт-диски, винчестеры и так далее, FreeBSD воспринимает и другие типы дисков - виртуальные диски.
Сюда могут быть отнесены сетевые файловые системы, такие, как Network File System и Coda, а также файловые системы с организацией в памяти и создаваемые в файлах.
В зависимости от версии FreeBSD, которую вы используете, для создания и работы с файловыми системами, отображаемыми в оперативную память или файлы, вам нужно будет пользоваться разными инструментами.
Пользователи FreeBSD 4.X для создания требуемых устройств должны использовать MAKEDEV(8). Во FreeBSD 5.0 и более поздних версиях для создания файлов устройств используется devfs(5), которая выполняет это прозрачно для пользователей.
Утилита vnconfig(8) конфигурирует и позволяет использовать дисковые устройства на основе псевдо-устройств vnode. vnode представляет собой файл и отвечает за работу с файлом. Это означает, что vnconfig(8) использует файлы для создания и работы с файловой системой. Одним из возможных способов использования является монтирование образов дискет или образов компакт-дисков, сброшенных в файлы.
Для использования vnconfig(8) в конфигурационном файле ядра вам нужно включить поддержку vn(4):
pseudo-device vn
Чтобы смонтировать имеющийся образ файловой системы:
#
vnconfig vn
0
diskimage
#
mount /dev/vn
0
c/mnt
Для создания нового образа файловой системы с помощью vnconfig(8):
vnconfig
#
dd if=/dev/zero of=
5120+0 records in 5120+0 records outnewimage
bs=1k count=5
k#
vnconfig -s labels -c vn
0
newimage
#
bsdlabel -r -w vn
0
auto#
newfs vn
Warning: 2048 sector(s) in last cylinder unallocated /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g) super-block backups (for fsck -b #) at: 320
c#
mount /dev/vn
0
c/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/vn0c 4927 1 4532 0% /mnt/mnt
Во FreeBSD 5.X и более поздних для конфигурации и подключения дисков md(4), отображаемых в оперативную память, используется утилита mdconfig(8). Для работы с mdconfig(8) вам нужно подгрузить модуль md(4) или добавить поддержку этих устройств в файл конфигурации ядра:
device md
Утилита mdconfig(8) поддерживает три типа виртуальных дисков, отображаемых в память: диски в памяти, которая выделяется запросами malloc(9) и диски в памяти, использующие в качестве устройств хранения файлы или раздел подкачки. Одним из возможных использований таких дисков является монтирование файлов с образами дискет или CD.
Для монтирования образа существующей файловой системы:
mdconfig
для монтирования файла
с образом существующей файловой системы#
mdconfig -a -t vnode -f
diskimage
-u0
#
mount /dev/md
0
/mnt
Для создания образа новой файловой системы при помощи mdconfig(8):
mdconfig
#
dd if=/dev/zero of=
5120+0 records in 5120+0 records outnewimage
bs=1k count=5
k#
mdconfig -a -t vnode -f
newimage
-u0
#
bsdlabel -w md
0
auto#
newfs md
/dev/md0c: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 78400
a#
mount /dev/md
0
a/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt/mnt
Если в параметре -u
вы не задали номер устройства,
то mdconfig(8) для выбора неиспользуемого устройства будет
использовать функцию автоматическое выделения в md(4). Имя
выделенного устройства будет выдано на стандартное устройство выводы в
виде, например, md4
. Для получения более
полной информации о mdconfig(8), пожалуйста, обратитесь к
соответствующей странице справочной системы.
Утилита mdconfig(8) весьма полезна, однако для создания файла с файловой системой требуется произвести много действий. Вместе с FreeBSD 5.0 поставляется утилита под названием mdmfs(8), которая создаёт диск md(4) при помощи mdconfig(8), размещает на нём файловую систему UFS при помощи newfs(8) и монтирует её командой mount(8). Например, если вы хотите создать и смонтировать такой же образ файловой системе, как выше, просто наберите такую команду:
mdmfs
#
dd if=/dev/zero of=
5120+0 records in 5120+0 records outnewimage
bs=1k count=5
k#
mdmfs -F
newimage
-s5
m md0
/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt/mnt
Если вы используете параметр md
без номера
устройства, то mdmfs(8) будет использовать автоматическую
нумерацию md(4) для автоматического выбора неиспользуемого
устройства. Более полную информацию о mdmfs(8) можно найти на
страницах справочной системы.
Драйвер md(4) является простым и эффективным способом создания файловых систем в памяти во FreeBSD 4.X. Для выделения памяти используется malloc(9).
Просто возьмите файловую систему, которую вы приготовили при помощи, скажем, vnconfig(8) и:
#
dd if=
5120+0 records in 5120+0 records outnewimage
of=/dev/md0
#
mount /dev/md
0
c/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4927 1 4532 0% /mnt/mnt
Для получения более полной информации, пожалуйста, обратитесь к страницам справочной системы по md(4).
При работе с файловыми системами, отображаемыми в файл или память, используются одни и те же утилиты: mdconfig(8) или mdmfs(8). Обычно для отображаемых в память файловых систем следует использовать опцию <<хранение на области подкачки>>. Это не означает, что такая файловая система будет сразу сброшена на диск: место под нее будет выделено из общего пула памяти, и при необходимости может перемещаться в область подкачки. Также, возможно выделение места под файловую систему в основной памяти (через malloc(9)); однако, следует помнить, что использование таких файловых систем, в особенности большого размера, может привести к панике системы от исчерпания ядерной памяти.
mdconfig
#
mdconfig -a -t swap -s
5
m -u1
#
newfs -U md
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 79361
#
mount /dev/md
1
/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt/mnt
mdmfs
#
mdmfs -s
5
m md2
/mnt
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt/mnt
Если файловые системы, отображаемые в память или файл, больше не используются, вам нужно высвободить все ресурсы для системы. Первым делом нужно размонтировать файловую систему, затем воспользоваться mdconfig(8) для отключения диска от системы и освободить ресурсы.
К примеру, чтобы отключить и освободить все ресурсы, используемые
/dev/md4
:
#
mdconfig -d -u
4
Для выдачи информации об отконфигурированных устройствах
md(4) используется команда mdconfig -l
.
Во FreeBSD 4.X для отключения устройства используется команда
vnconfig(8). Например, для отключения и освобождения всех
ресурсов, используемых /dev/vn4
:
#
vnconfig -u vn
4
Во FreeBSD 5.0 вместе с технологией Отложенных обновлений представлена новая возможность: генерация мгновенных копий файловых систем.
Мгновенные копии позволяют пользователю создавать образы заданных файловых систем и работать с ними как с файлами. Файлы мгновенных копий должны создаваться в той файловой системе, над которой производится действие, и пользователь может создавать не более 20 мгновенных копий для каждой файловой системы. Активные копии записываются в суперблок, так что они остаются в силе между операциями монтирования и размонтирования в процессе системных перезагрузок. Если мгновенная копия больше не нужна, она может быть удалена стандартной командой rm(1). Мгновенные копии могут удаляться в любом порядке, однако всё использованное пространство не может быть использовано, так как другая мгновенная копия может претендовать на некоторые блоки из освобождённых.
Неизменяемый флаг snapshot
устанавливается на файл
при помощи mksnap_ffs(8) после первоначального создания файла
мгновенной копии. Команда unlink(1) делает исключение для
файлов мгновенных копий, позволяя их удалять.
Мгновенные копии создаются при помощи утилиты mount(8). Чтобы
создать мгновенную копию /var
в файле
/var/snapshot/snap
, воспользуйтесь такой
командой:
#
mount -u -o snapshot /var/snapshot/snap /var
В качестве альтернативного средства создания мгновенных копий вы можете использовать утилиту mksnap_ffs(8):
#
mksnap_ffs /var /var/snapshot/snap
Файлы мгновенных копий файловых систем (к примеру,
/var
) можно найти при помощи команды
find(1):
#
find /var -flags snapshot
После создания мгновенной копии есть несколько способов её использования:
Некоторые администраторы будут использовать файл мгновенной копии для целей создания резервной копии, так как мгновенная копия может быть перенесена на CD или магнитную ленту.
Утилита проверка целостности файловой системы, fsck(8), может быть запущена над мгновенной копией. Полагая, что файловая система была в порядке, когда она была смонтирована, вы всегда должны получать нормальный (и неизменный) результат. Это именно то, что выполняет фоновый процесс fsck(8).
Запустить утилиту dump(8) с мгновенной копией. Будет
создаваться дамп, соответствующий файловой системе на момент
создания мгновенной копии. Утилита dump(8) при использовании
опции -L
тоже может работать с мгновенными копиями,
создавать их дампы, а затем удалять за один проход.
Смонтировать командой mount(8) мгновенную копию как
замороженный образ файловой системы. Чтобы смонтировать командой
mount(8) мгновенную копию
/var/snapshot/snap
, запустите:
#
mdconfig -a -t vnode -f /var/snapshot/snap -u 4
#
mount -r /dev/md4 /mnt
Теперь вы можете пройтись по иерархии вашей зафиксированной файловой
системы /var
, смонтированной в каталог
/mnt
. Первоначально всё будет в том же самом
состоянии, в каком это было во время создания мгновенной копии.
Единственным исключением будет то, что любые ранее сделанные мгновенные
копии будут видны как файлы нулевой длины. Когда использование
мгновенной копии закончено, она может быть удалена командой:
#
umount /mnt
#
mdconfig -d -u 4
Для получения более полной информации о softupdates
и мгновенных копиях файловых систем, включая технической описание, вы
можете посетить сайт Маршалла Кёрка МакКузика (Marshall Kirk McKusick) по
адресу http://www.mckusick.com/
.
Квоты - это опциональная возможность операционной системы, которая позволяет ограничивать объем дискового пространства и/или количество файлов для конкретного пользователя или членов определенной группы в рамках одной файловой системы. Чаще всего эта возможность используется в системах разделения времени, когда желательно ограничить количество ресурсов, которые может использовать один пользователь или группа пользователей. Это позволит не допустить ситуации, когда один пользователь или группа пользователей заполняют всё доступное дисковое пространство.
Перед тем, как попытаться использовать дисковые квоты, необходимо убедиться, что квоты включены в вашем ядре. Это делается добавлением следующей строки в конфигурационный файл вашего ядра:
options QUOTA
В стандартном ядре GENERIC
это по умолчанию
не включено, так что для использования дисковых квот вам нужно будет
настроить, откомпилировать и установить собственное ядро.
Пожалуйста, обратитесь к Глава 9, Настройка ядра FreeBSD за
дополнительной информацией о настройке ядра.
Затем вам потребуется включить квотирование дисков в файле
/etc/rc.conf
. Это делается добавление такой
строчки:
enable_quotas="YES"
Для более полного контроля над запуском квотирования имеется
дополнительная переменная для настройки. Как правило, при загрузке
целостность квот каждой файловой системы проверяется программой
quotacheck(8). При работе программы quotacheck(8)
проверяется точное соответствие данных
в базе данных квот данным в файловой системе. Это весьма долгий
процесс, что отражается на времени загрузки системы. Если вам
захочется пропустить этот шаг, то для этого предназначена специальная
переменная в файле /etc/rc.conf
:
check_quotas="NO"
Наконец, вам потребуется отредактировать файл
/etc/fstab
для включения дисковых квот на
уровне файловых систем. Это то место, где вы можете включить квоты
для пользователей, для групп или для обеих этих категорий для всех
ваших файловых систем.
Для включения пользовательских квот для файловой системы,
добавьте параметр userquota
в поле параметров
файловой системы, на которой вы хотите включить квотирование, в файле
/etc/fstab
. Например:
/dev/da1s2g /home ufs rw,userquota 1 2
Подобным же образом для включения квотирования на уровне групп,
воспользуйтесь параметром groupquota
вместо
userquota
. Чтобы включить
квотирование как для пользователей, так и для групп, измените
строчку следующим образом:
/dev/da1s2g /home ufs rw,userquota,groupquota 2 2
По умолчанию файлы квот хранятся в корневом каталоге файловой
системы в файлах с именами quota.user
и
quota.group
соответственно для пользовательских
и групповых квот. Для получения подробной информации обратитесь к
команде fstab(5). Хотя справочная страница по fstab(5)
утверждает, что вы можете указать другое местоположение файлов с
квотами, этого делать не рекомендуется, потому что различные утилиты
для работы с квотами не могут нормально работать в такой
ситуации.
На этом этапе вы должны перезагрузить вашу систему с новым ядром.
Скрипт /etc/rc
автоматически запустит
соответствующие команды для создания начальных файлов для всех квот,
которые вы создали в файле /etc/fstab
, так что
нет нужды вручную создавать никаких файлов квот нулевой длины.
При нормальной работе вам не потребуется вручную запускать программы quotacheck(8), quotaon(8) или quotaoff(8). Однако вам нужно хотя бы прочесть страницы справочника по этим командам, просто чтобы ознакомиться с их функциями.
Как только вы настроили вашу систему на использование квот, проверьте, что они действительно были задействованы. Простым способом сделать это является запуск такой команды:
#
quota -v
Вы должны увидеть однострочную информацию, отражающую использование диска и текущие ограничения для каждой файловой системы, на которой включено квотирование.
Теперь вы действительно готовы задавать ограничения при помощи команды edquota(8).
У вас есть несколько вариантов того, как приводить в действие ограничения по объему дискового пространства, который могут занимать пользователь или группа, а также по количеству файлов, которые они могут создать. Вы можете ограничивать размещение ресурсов на основе объема дискового пространства (квотирование блоков), количества файлов (квотирование inode) или их комбинации. Каждое из этих ограничений, в свою очередь, делится на две категории: мягкие и жёсткие ограничения.
Жёсткое ограничение не может быть превышено. Как только пользователь достиг своих ограничений, ресурсы соответствующей файловой системы ему больше выделяться не будут. Например, если пользователь имеет жесткое ограничение в 500 Кбайт на файловой системе и в текущий момент использует 490 Кбайт, то пользователь может получить дополнительно ещё 10 Кбайт. Попытка занять ещё 11 Кбайт окончится неудачно.
С другой стороны, мягкие ограничения могут быть превышены в течении некоторого периода времени. Этот период времени также называют периодом отсрочки, который по умолчанию равен одной неделе. Если пользователь превышает своё мягкое ограничение в течение периода времени, превышающего отсрочку, то это мягкое ограничение становится жестким и последующее выделение ресурсов будет запрещено. Когда пользователь вернётся обратно к отметке, меньшей, чем мягкое ограничение, то период отсрочки будет сброшен.
Далее приводится пример того, что вы можете наблюдать при
запуске команды edquota(8). Когда вызывается команда
edquota(8), вы оказываетесь в редакторе, заданном
переменной переменной окружения EDITOR
, или в
редакторе vi, если переменная
EDITOR
не задана, и можете редактировать квоты.
#
edquota -u test
Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60)
Для каждой файловой системы, на которой включено квотирование, вы должны увидеть две строки. В одной строке приведены ограничения на блоки, а в другой на количество inode. Например, чтобы увеличить ограничения на количество блоков для пользователя с мягкого ограничения в 50 и жёсткого ограничения в 75, на мягкое ограничение в 500 и жёсткое ограничение в 600, измените:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
на:
/usr: kbytes in use: 65, limits (soft = 500, hard = 600)
Новые ограничения вступят в силу после выхода из редактора.
Иногда желательно установить ограничения квот на некоторый
диапазон UID (идентификаторов пользователей). Это можно сделать при
помощи параметра -p
в команде
edquota(8). Во-первых, установите желаемое
ограничение для пользователя, а затем запустите команду
edquota -p protouser startuid-enduid
. Например,
если пользователь test
имеет желаемые
ограничения, то для дублирования этих ограничений на пользователей с
UID от 10000 до 19999 может быть использована такая
команда:
#
edquota -p test 10000-19999
Дополнительную информацию можно получить из справочной страницы по команде edquota(8).
Для проверки квот и использования дисков вы можете использовать команды quota(1) или repquota(8). Команда quota(1) может быть использована для проверки квот отдельных пользователей, групп, а также использования дисков. Пользователь может только проверить собственную квоту и квоту той группы, к которой он принадлежит. Только администратор системы может проверить квоты всех пользователей и групп. Команду repquota(8) можно использовать для получения суммарной статистики всех квот и использования дисков для файловых систем с включенными квотами.
Далее приведен пример вывода команды quota -v
для пользователя, который имеет ограничения на двух файловых
системах.
Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60
В этом примере для файловой системы /usr
пользователь превысил свое мягкое ограничение в 50 Кбайт на 15
Кбайт и имеет 5 дней до истечения отсрочки. Отметьте знак
звездочки *
, который указывает на превышение
пользователем своего ограничения.
Как правило, файловые системы, на которых пользователь не
занимает дискового пространства, не показываются в выводе команды
quota(1), даже если ему выделена квота на
этой файловой системе. При использовании параметра
-v
эти файловые системы выводятся, как, например,
файловая система /usr/var
в примере выше.
Квоты определяются подсистемой квот на сервере NFS. Даемон rpc.rquotad(8) предоставляет информацию о квотах для программы quota(1) на клиентах NFS, позволяя пользователям на этих машинах смотреть свою статистику о квотах.
Включите rpc.rquotad
в файле
/etc/inetd.conf
следующим образом:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Теперь перезапустите inetd
:
#
/etc/rc.d/inetd restart
FreeBSD предоставляет прекрасную возможность по защите от несанкционированного доступа к данным. Права на доступ к файлам и технология принудительного контроля доступа MAC (Mandatory Access Control) (смотрите see Глава 15, Принудительный контроль доступа (MAC)) помогают предотвратить несанкционированный доступ посторонних лиц к данным, при условии работы операционной системы и компьютера. Однако права доступа, контролируемые операционной системой, не имеют значения, если нападающий получает физический доступ к компьютеру и может просто перенести жёсткий диск на другую машину для копирования и дальнейшего анализа важных данных.
Вне зависимости от того, как атакующий завладел жёстким диском или
выключенным компьютером, технологии gbde (GEOM
Based Disk Encryption - шифрование диска на уровне GEOM) и
криптографическая подсистема geli
FreeBSD могут защитить
данные файловой системы компьютера даже против очень заинтересованной
атакующей стороны с достаточными ресурсами. В отличие от громоздких
систем шифрования, которые шифруют отдельные файлы,
gbde
и geli
шифруют в прозрачном режиме файловую
систему в целом, при этом данные в открытом виде на диск никогда не
записываются.
Получите права пользователя root
Настройка gbde требует права доступа администратора системы.
%
su -
Password:
Включите поддержку gbde(4) в конфигурационный файл ядра
Добавьте следующую строку в файл конфигурации вашего ядра:
options GEOM_BDE
Перестройте ядро FreeBSD. Этот процесс описан в Глава 9, Настройка ядра FreeBSD.
Перезагрузитесь, запустив новое ядро.
Альтернативой пересборке ядра является использование
kldload
для загрузки модуля
gbde(4):
#
kldload geom_bde
В следующем примере предполагается, что в вашу систему вы
добавляете новый винчестер, на котором будет располагаться единственный
раздел с зашифрованными данными. Этот раздел будет монтироваться в
каталог /private
. gbde
может также использоваться для шифрования /home
и
/var/mail
, но это требует более сложной
последовательности действий, что выходит за рамки этого вводного
материала.
Подключите новый жёсткий диск
Установите новый диск в систему, как это описано в Раздел 17.3, <<Добавление дисков>>. В рамках этого примера раздел,
соответствующий новому жёсткому диску, будет называться
/dev/ad4s1c
. Устройства
/dev/ad0s1
представляют существующие стандартные разделы FreeBSD нашей
тестовой системы.*
#
ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4
Создайте каталог для размещения файлов блокировок GBDE
#
mkdir /etc/gbde
Файл блокировки gbde содержит информацию, которая нужна gbde для доступа к зашифрованному разделу. Не имея доступа к файлу блокировки, gbde не сможет расшифровать данные, хранимые в зашифрованном разделе, без значительного ручного вмешательства, что программно не поддерживается. Каждый зашифрованный раздел использует отдельный файл блокировки.
Инициализируйте раздел gbde
Перед началом работы с разделом gbde его необходимо проинициализировать. Эта инициализация производится только один раз:
#
gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock
gbde(8) запустит редактор, что позволит вам задать в шаблоне различные конфигурационные параметры. При работе с файловыми системами UFS1 и UFS2 задайте значение sector_size равным 2048:
$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...]
gbde(8) дважды запросит ввод пароля, который будет использоваться для защиты данных. Пароль в обоих случаях должен вводиться одинаковый. Возможности gbde по защите ваших данных полностью зависят от качества выбранной вами ключевой фразы. [9]
По команде gbde init
создаётся файл
блокировок для вашего раздела gbde,
который в нашем случае будет иметь имя
/etc/gbde/ad4s1c.lock
.
Для того, чтобы файлы блокировок корректно распознавались
стартовым скриптом /etc/rc.d/gbde
,
их имена должны заканчиваться на <<.lock>>.
Резервные копии файлов блокировок gbde должны храниться вместе с содержимым шифруемых разделов. Хотя удаление только блокировочного файла не сможет противостоять дешифрации атакующим раздела gbde, без этого файла даже легитимный пользователь не сможет получить доступ к данным без определённых и значительных усилий, что не поддерживается gbde(8) и его разработчиком.
Подключите зашифрованный раздел к системе
#
gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Будет выдан запрос на ввод ключевой фразы, которую вы выбирали
во время инициализации зашифрованного раздела. Новое защищённое
устройство будет видно в каталоге /dev
под
названием /dev/device_name.bde
:
#
ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde
Создайте файловую систему на зашифрованном устройстве
Как только защищённое устройство будет подключено к системе,
вы сможете создать на нём файловую систему. Для этого используется
утилита newfs(8). Так как инициализация новой файловой
системы UFS2 происходит быстрее, чем инициализация файловой системы
старого формата UFS1, то рекомендуется использовать newfs(8) с
параметром -O2
.
#
newfs -U -O2 /dev/ad4s1c.bde
Запуск команды newfs(8) должен выполняться над
подключенном разделе gbde, который
идентифицируется по расширению
в имени
устройства.*
.bde
Смонтируйте зашифрованный раздел
Создайте точку монтирования для зашифрованной файловой системы.
#
mkdir /private
Смонтируйте защищённую файловую систему.
#
mount /dev/ad4s1c.bde /private
Проверьте доступность зашифрованной файловой системы
Защищённая файловая система теперь должна быть доступна утилите df(1) и доступной для использования.
%
df -H
Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private
После каждой загрузки для каждой защищённой файловой системы перед
их использованием должны выполняться повторное подключение к системе,
проверка на наличие ошибок и монтирование. Требуемые для этого команды
должны выполняться пользователем root
.
Подключение gbde-раздела к системе
#
gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Будет выдан запрос на ввод ключевой фразы, выбранной на этапе инициализации зашифрованного раздела gbde.
Проверка файловой системы на наличие ошибок
Так как защищаемая файловая система не может пока быть указана
в файле /etc/fstab
для автоматического
монтирования, то она должны проверяться на наличие ошибок
посредством ручного запуска fsck(8) до её монтирования.
#
fsck -p -t ffs /dev/ad4s1c.bde
Монтирование зашифрованной файловой системы
#
mount /dev/ad4s1c.bde /private
Теперь защищённая файловая система доступна для работы.
Для автоматического подключения, проверки и монтирования зашифрованного раздела можно создать скрипт, но по соображениям безопасности в этом скрипте пароля для gbde(8) быть не должно. Поэтому рекомендуется запускать такие скрипты вручную, а пароль задавать с консоли или сеанса ssh(1).
Кроме того, базовая система содержит
скрипт rc.d
для автоматического монтирования шифрованных разделов.
Его аргументы могут быть указаны в файле rc.conf(5):
gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde"
При этом ключевая фраза для gbde должна быть введена на этапе загрузки. После введения ключевой фразы зашифрованный раздел будет смонтирован автоматически. Такой подход может быть очень удобным для использования gbde на ноутбуках.
gbde(8) шифрует содержимое секторов при помощи 128-битного AES в режиме CBC. Каждый сектор диска шифруется различным ключом AES. Более полная информацию о системе шифрования gbde, включая алгоритм генерации ключей для секторов из ключевой фразы, вводимой пользователем, можно найти на страницах справочной системы о gbde(4).
sysinstall(8) несовместим с устройствами, зашифрованными
gbde. Все устройства
перед
запуском sysinstall(8) должны быть отключены от системы, или
эта утилита аварийно завершит работу на этапе обнаружения устройств.
Для отключения защищённого устройства, используемого в нашем примере,
воспользуйтесь такой командой:*
.bde
#
gbde detach /dev/ad4s1c
Во FreeBSD имеется альтернативный криптографический класс GEOM
- geli
. В настоящий момент он поддерживается
Pawel Jakub Dawidek <pjd@FreeBSD.org>
. Утилита geli
отличается от
gbde
; она предоставляет другой комплекс
возможностей и использует иную схему криптования.
Наиболее значимыми особенностями geli(8) являются:
Использование инфраструктуры crypto(9): при наличии
аппаратной криптографической поддержки, geli
автоматически использует ее.
Поддержка разнообразных криптоалгоритмов (в настоящее время AES, Blowfish и 3DES).
Поддержка шифрованного корневого раздела. Для загрузки в такой ситуации потребуется ввести ключевую фразу.
Поддержка двух независимых ключей шифрования (например, <<основного ключа>> и <<ключа компании>>).
Высокая скорость работы geli
за счет
простого криптования сектор-сектор.
Поддержка архивирования основных ключей. При необходимости текущие ключи могут быть уничтожены, а в дальнейшем доступ к данным восстановлен при помощи архивированных ключей.
Поддержка криптования файловых систем случайным одноразовым ключом - например, для разделов подкачки или временных файловых систем.
Другие возможности класса geli
описаны в его
странице справочника: geli(8).
Несколько следующих страниц будут посвящены описанию процесса
конфигурации geli
в ядре FreeBSD, а также объяснят,
как создавать и использовать криптографический провайдер
geli
.
Поскольку в процессе настройки возникнет необходимость внесения изменений в конфигурацию ядра, потребуются также привилегии суперпользователя.
Добавление поддержки geli
в ядро
Добавьте в конфигурационный файл ядра следующие строки:
options GEOM_ELI device crypto
Перестройте ядро, как описано в разделе Глава 9, Настройка ядра FreeBSD.
Помимо этого, поддержка geli
может быть
активирована модулем ядра на этапе загрузки. Для этого добавьте
в файл /boot/loader.conf
строку:
geom_eli_load="YES"
Теперь ядро должно поддерживать geli(8).
Генерация главного ключа
Предлагаемый пример описывает процесс генерации ключевого
файла, который послужит частью главного ключа для шифрованного
провайдера, монтируемого в каталог /private
. При помощи содержимого
ключевого файла создается набор случайных данных, которым
зашифровывается главный ключ. Кроме того, он будет защищен
кодовой фразой. Размер сектора провайдера будет составлять
4kB. Наконец, мы обсудим, как присоединиться к провайдеру
geli
, создать на базе его файловую систему,
как ее смонтировать и работать с ней, и, в заключение, как
корректно завершить работу.
Больший чем обычно размер сектора (как в нашем примере, 4 кБ) рекомендуется для увеличения производительности.
Главный ключ будет защищен кодовой фразой; данные для
ключевого файла берутся из /dev/random
.
Размер сектора создаваемого нами шифрованного провайдера
/dev/da2.eli
- 4кБ.
#
dd if=/dev/random of=/root/da2.key bs=64 count=1
#
geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase: Reenter new passphrase:
Использование одновременно кодовой фразы и ключевого файла не обязательно: любой из этих методов защиты главного ключа может применяться независимо.
Если в качестве имени ключевого файла указан <<->>, используется стандартный ввод. Это позволяет использовать более одного ключевого файла:
#
cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
Свяжите сгенерированный ключ с провайдером
#
geli attach -k /root/da2.key /dev/da2
Enter passphrase:
Созданный при этом файл дискового устройства будет называться
/dev/
.da2
.eli
#
ls /dev/da2*
/dev/da2 /dev/da2.eli
Создайте новую файловую систему
#
dd if=/dev/random of=/dev/da2.eli bs=1m
#
newfs /dev/da2.eli
#
mount /dev/da2.eli /private
Зашифрованная файловая система будет видна в выводе утилиты df(1) и готова к использованию:
#
df -H
Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private
Размонтирование и деактивация провайдера
После завершения работы с шифрованным разделом, когда
содержимое каталога /private
больше не нужно, будет разумным отключить раздел от
системы.
#
umount /private
#
geli detach da2.eli
Дополнительную информацию о geli(8) можно найти на соответствующей странице справочника.
Для удобства использования подсистемы geli
в комплект базовой системы FreeBSD входит стартовый скрипт, работой
которого можно управлять из rc.conf(5):
geli_devices="da2" geli_da2_flags="-p -k /root/da2.key"
При этом дисковый раздел /dev/da2
будет
сконфигурирован как провайдер geli
, связан с
ключевым файлом /root/da2.key
, а кодовая
фраза не будет использоваться (отметим, что это возможно только
в том случае, если при инициализации geli init
был
указан ключ -P
). Шифрованный провайдер geli
будет отсоединен перед выключением системы.
Дополнительную информацию о конфигурации скриптов rc.d
можно
найти в соответствующей
главе Руководства.
Шифрование области подкачки в FreeBSD достаточно легко конфигурируется.
Варианты конфигурации слегка различаются в зависимости от версии системы.
Для шифрования разделов подкачки можно использовать
утилиты gbde(8) или geli(8);. В обоих случаях используется
скрипт rc.d
encswap
.
Предыдущий раздел, Шифрование дисковых разделов, кратко описывает различные методы криптования.
Как и в случае дисковых разделов, шифрование области подкачки применяется для защиты важной информации. Возьмем, к примеру, приложение, которому требуется работать с паролями. До тех пор, пока пароли хранятся в физической памяти, все в порядке. Если же операционная система начинает выгружать отдельные участки памяти в область подкачки, чтобы освободить память для других приложений, пароли могут быть записаны на диск в открытом виде и тем самым оказаться легко доступными злоумышленнику (имеющему физический доступ к диску - прим. пер.). В таких ситуациях решением может стать шифрование раздела подкачки.
В данном разделе мы будем считать, что разделом подкачки
является ad0s1b
.
До настоящего момента раздел подкачки не был зашифрован. Таким образом, на нем могут содержаться пароли или какая-либо иная важная информация в открытом виде. Чтобы избавиться от этого, заполним раздел подкачки случайными данными:
#
dd if=/dev/random of=/dev/ad0s1b bs=1m
В строку файла
/etc/fstab
, описывающую раздел подкачки,
необходимо добавить суффикс .bde
:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0
Процедура при использовании geli(8) для шифрования раздела
подкачки сходна с использованием gbde(8). В строку файла
/etc/fstab
, описывающую раздел подкачки,
нужно добавить суффикс .eli
:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0
По умолчанию, geli(8) использует алгоритм криптования AES с длиной ключа 256 бит.
При необходимости эти параметры могут быть изменены в опции
geli_swap_flags
файла конфигурации
/etc/rc.conf
. Приведенная ниже строка указывает,
что скрипт rc.d encswap
должен использовать для
криптования алгоритм Blowfish с ключом длиной 128 бит, размером сектора
4 килобайта и включенной опцией <<отсоединиться при последнем
закрытии>>:
geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
За списком возможных опций обращайтесь к описанию команды
onetime
в странице справочника geli(8).
После перезагрузки системы правильность работы шифрованного раздела
подкачки может быть проверена при помощи команды
swapinfo
.
В случае использования gbde(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0%
При использовании geli(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
Эта глава описывает использование дисков, управляемых инфраструктурой GEOM во FreeBSD. Среди прочего, здесь описывается большая часть утилит управления RAID, использующих GEOM для настройки. В этой главе мы не будем вдаваться в подробности взаимодействия GEOM с подсистемой ввода/вывода или с программным кодом, эту информацию вы можете получить на странице справочника geom(4). Эта глава также не является подробным руководством по настройке RAID. Мы обсудим только типы RAID, поддерживаемые GEOM.
После прочтения этой главы вы будете знать:
Какие типы RAID поддерживает GEOM.
Как использовать стандартные утилиты для настройки, обслуживания и управления различными уровнями RAID.
Как с помощью GEOM создавать зеркальные, последовательные и шифрованные дисковые последовательности, а так же последовательности из дисков, присоединённых удалённо.
Как решать проблемы с дисками, присоединёнными к инфраструктуре GEOM.
Перед чтением этой главы вы должны:
Понимать, как FreeBSD работает с дисками (Глава 17, Устройства хранения).
Уметь сконфигурировать и установить новое ядро FreeBSD (Глава 9, Настройка ядра FreeBSD).
GEOM позволяет классам -
MBR, BSD labels, и так далее -
получить доступ к устройству и управлять им, используя
поставщиков GEOM (providers) или специальные файлы устройств,
расположенные в каталоге /dev
.
GEOM поддерживает различные программные конфигурации
RAID, и прозрачно предоставляет доступ
к дискам системе и системным приложениям.
Создание дисковой последовательности (Striping) - метод, применяемый, чтобы скомбинировать несколько физических дисков в один логический. Во многих случаях это делается с использованием аппаратных контроллеров. Дисковая подсистема GEOM предоставляет программную поддержку RAID0, иногда называемую дисковой последовательностью (Stripe).
В RAID уровня 0 данные разбиваются на блоки, которые параллельно записываются на все диски массива. Вместо того, чтобы ждать записи 256k на один диск, RAID0 может параллельно записывать по 64k на каждый из четырёх дисков, обеспечивая более высокую производительность ввода/вывода. Производительность также может быть увеличена за счет использования большего числа дисков.
Все диски последовательности RAID0 должны быть одного размера, так как запись и считывание с дисков происходят параллельно.
Загрузите модуль geom_stripe.ko
:
#
kldload geom_stripe
Убедитесь, что существует подходящая точка монтирования.
Если вы планируете сделать логический диск корневым разделом,
используйте временную точку монтирования, например /mnt
:
#
mkdir /mnt
Определите имена устройств, которые будут
объединены в последовательность, и создайте новое устройство для
последовательности. Например, чтобы создать
дисковую последовательность из двух неиспользуемых и неразмеченных
ATA дисков, например /dev/ad2
и
/dev/ad3
:
#
gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2. Metadata value stored on /dev/ad3. Done.
Запишите стандартную метку, также известную как таблица разделов, в новый том, и установите стандартный загрузчик:
#
bsdlabel -wB /dev/stripe/st0
Теперь в /dev/stripe
кроме st0
появились ещё два устройства -
st0a
и st0c
.
Теперь создайте файловую систему на устройстве st0a
,
используя утилиту newfs
:
#
newfs -U /dev/stripe/st0a
На экране промелькнет множество цифр, и через несколько секунд процесс будет завершен. Логический диск создан и готов к монтированию.
Смонтируйте его вручную:
#
mount /dev/stripe/st0a /mnt
Чтобы монтировать созданную дисковую последовательность
автоматически во время загрузки, добавьте информацию о ней в
файл /etc/fstab
. Создайте постоянную точку
монтирования и назовите её, к примеру, stripe
:
#
mkdir /stripe
#
echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
>> /etc/fstab
Чтобы модуль geom_stripe.ko
автоматически загружался во время инициализации
системы, добавьте строку в
/boot/loader.conf
:
#
echo 'geom_stripe_load="YES"' >> /boot/loader.conf
Зеркалирование (Mirroring) - технология, применяемая как в корпоративной среде, так и на домашних компьютерах. Она позволяет создавать резервные копии <<на лету>>. Зеркалирование, по сути, означает, что диск A является копией диска B. Или, возможно, диск C+D является копией диска A+B. Вне зависимости от конфигурации, основной аспект - дублирование информации. Позже, эта информация может быть с легкостью восстановлена или сохранена как резервная копия без остановки системы, или даже физически помещена в хранилище данных.
Перед началом, убедитесь, что у вас есть два физических диска равной емкости. Далее в этом примере подразумевается, что это диски прямого доступа (direct access, da(4)) с интерфейсом SCSI.
В статье предполагается, что FreeBSD установлена на первый жесткий
диск, определяемый системой как da0
.
Это устройство будет целевым для утилиты gmirror(8).
Перед построением зеркала включите дополнительную отладочную
информацию и откройте доступ к устройству. Это достигается
установкой следующего значения переменной sysctl(8)
kern.geom.debugflags
:
#
sysctl kern.geom.debugflags=17
Теперь создайте зеркало. Начните процесс с сохранения метаданных
на первом диске. В результате выполнения следующей команды
будет создано устройство вида /dev/mirror/gm
:
Создание зеркала на диске, с которого произведена загрузка, может повлечь за собой потерю данных в том случае, если данными занят последний сектор диска. Риск повреждения данных меньше, если создание зеркала немедленно следует за свежей установкой FreeBSD.
#
gmirror label -vb round-robin gm0 /dev/da0
Система должна выдать следующее сообщение:
Metadata value stored on /dev/da0. Done.
Инициализируйте GEOM, это повлечет за собой загрузку модуля ядра
/boot/kernel/geom_mirror.ko
:
#
gmirror load
После успешного завершения команды будет создано устройство
gm0
в каталоге
/dev/mirror
.
Включите автоматическую загрузку модуля
geom_mirror.ko
во время старта операционной
системы:
#
echo 'geom_mirror_load="YES"' >> /boot/loader.conf
Отредактируйте файл /etc/fstab
, заменив
в нём упоминания старого имени устройства da0
новым именем устройства зеркала gm0
.
Если vi(1) - ваш любимый текстовый редактор, то эта задача решается просто:
#
vi /etc/fstab
Сделайте резервную копию файла fstab
,
набрав в vi(1) :w /etc/fstab.bak
.
Затем замените все части строк, содержащие имя устройства
da0
, на имя gm0
,
набрав :%s/da/mirror\/gm/g
.
Независимо от аппаратного интерфейса дисков
(SCSI или ATA), устройство
RAID будет именоваться всегда одинаково -
gm
. Содержимое файла
fstab
должно выглядеть подобно следующему:
# Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0s1b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 /dev/mirror/gm0s1d /usr ufs rw 0 0 /dev/mirror/gm0s1f /home ufs rw 2 2 #/dev/mirror/gm0s2d /store ufs rw 2 2 /dev/mirror/gm0s1e /var ufs rw 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0
Перезагрузите систему:
#
shutdown -r now
С этого момента во время каждой загрузки система должна
использовать устройство gm0
вместо устройства
da0
. Удостовериться в этом можно так:
дождитесь загрузки системы, наберите команду mount
и просмотрите её вывод:
#
mount
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/mirror/gm0s1a 1012974 224604 707334 24% / devfs 1 1 0 100% /dev /dev/mirror/gm0s1f 45970182 28596 42263972 0% /home /dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr /dev/mirror/gm0s1e 3045006 2241420 559986 80% /var devfs 1 1 0 100% /var/named/dev
Как и ожидалось, вывод выглядит корректно. И в заключение, чтобы
начать синхронизацию данных, включите в зеркало диск
da1
при помощи следующей команды:
#
gmirror insert gm0 /dev/da1
Во время построения зеркала статус процесса построения может быть проверен следующей командой:
#
gmirror status
Вывод вышеприведённой команды для построенного и синхронизированного зеркала выглядит подобно следующему:
Name Status Components mirror/gm0 COMPLETE da0 da1
Если есть какие-либо неполадки или зеркало находится в процессе
построения, в выводе команды будет обозначен статус
DEGRADED
вместо статуса
COMPLETE
.
Если система прекращает загрузку и выдает строку:
ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot>
Перезагрузите компьютер кнопкой питания или кнопкой <<Reset>>. В загрузочном меню выберите опцию (6). Это приведет к тому, что система выдаст приглашение loader(8). Загрузите модуль ядра вручную:
OK?load geom_mirror
OK?boot
Если это сработало, модуль ядра по какой-либо причине
не загрузился правильно. Проверьте корректность соответствующей
записи в /boot/loader.conf
. Если проблема
осталась, добавьте строку:
options GEOM_MIRROR
в файл конфигурации ядра, пересоберите и переустановите ядро. Это должно устранить проблему.
Примечательной особенностью зеркалирования является то, что если диск вышел из строя, то он, пожалуй, может быть заменён вообще без ущерба для данных.
Принимая во внимание предыдущую конфигурацию
RAID1, предположим, что устройство
da1
вышло из строя, и ему требуется замена.
Перед заменой определите, какой именно диск вышел из строя, а потом
выключите систему. Теперь дефектный диск может быть заменён новым,
после чего необходимо снова загрузить систему. После загрузки системы
для замещения диска в зеркале могут быть использованы следующие
команды:
#
gmirror forget gm0
#
gmirror insert gm0 /dev/da1
Для наблюдения за статусом построения используйте команду
gmirror
status
. Вывод этой команды
достаточно прост и понятен.
GEOM включает в себя поддержку работы с удаленными устройствами по сети, например с дисками, CD-ROM и т.д. путем использования gate утилит. Это подобно работе с NFS.
Для начала необходимо создать файл экспорта. В этом файле
указывается, кому разрешен доступ к экспортируемым ресурсам и
какой уровень доступа предоставляется.
Например для того, чтобы экспортировать четвертый слайс первого
SCSI диска, достаточно следующей записи в
файле /etc/gg.exports
:
192.168.1.0/24 RW /dev/da0s4d
Это позволит всем компьютерам внутри частной сети получить
доступ к разделу da0s4d
.
Чтобы экспортировать устройство, убедитесь, что оно не смонтировано, и запустите сервер ggated(8):
#
ggated
Теперь, чтобы смонтировать устройство на клиентском компьютере выполните следующие команды:
#
ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0#
mount /dev/ggate0 /mnt
С этого момента устройство доступно в точке монтирования
/mnt
.
Необходимо заметить, что попытка смонтировать устройство, уже смонтированное как сетевой или локальный диск, закончится неудачей.
Когда устройство больше не нужно, оно может быть размонтировано командой umount(8), как любое другое дисковое устройство.
Во время загрузки системы, ядро FreeBSD создает файлы
для обнаруженных устройств. Этот метод обнаружения устройств
создает некоторые проблемы, например если новое дисковое
устройство подключается через USB. Может
получиться так, что этому диску будет присвоено имя устройства
da0
, а устройство с прежним именем
da0
получит следующее имя,
da1
. Это приведет к проблемам
монтирования файловых систем, записанных в
/etc/fstab
. На самом деле, это может даже
помешать загрузке системы.
Одно из решений состоит в расположении SCSI
устройств в таком порядке, чтобы новые устройства, добавляемые к
SCSI контроллеру, занимали свободные номера
устройств. Но что делать с USB устройствами,
которые могут занять место основного SCSI диска?
Это случается потому, что USB устройства обычно
тестируются до SCSI контроллера. Решение может
состоять в подключении этих устройств после загрузки системы.
Другое решение - использование ATA диска и
исключение SCSI устройств из
/etc/fstab
.
Есть и лучшее решение. С помощью утилиты
glabel
, администратор или пользователь могут
пометить дисковые устройства и использовать эти метки в
/etc/fstab
. Поскольку
glabel
сохраняет метки в последнем секторе
заданного устройства, они сохраняются и после перезагрузки.
Используя эти метки вместо имени устройств, можно всегда смонтировать
файловую систему независимо от назначенного имени устройства.
Очевидно, что метки должны быть постоянными. Утилита
glabel
может использоваться для создания как
временных, так и постоянных меток. Только постоянные метки
сохраняются после перезагрузок. Прочтите glabel(8)
для получения более подробной информации о различии между
метками.
Существует два типа меток, основной (generic) тип и метки файловой
системы. Метки могут быть постоянными или временными.
Постоянные метки создаются командой tunefs(8) или newfs(8).
В дальнейшем они будут автоматически создаваться в подкаталоге
каталога /dev
,
имя которого определяется
в соответствии с типом файловой системы. Например, метки
файловых систем UFS2 будут расположены в
каталоге /dev/ufs
.
Постоянные метки также можно создать при помощи команды
glabel label
. Эти метки не зависят от типа
файловой системы, поэтому они будут перечисляться в каталоге /dev/label
.
Временные метки не сохраняются после перезагрузки. Эти метки
создаются в каталоге /dev/label
,
они хорошо подходят для экспериментов. Временную метку можно создать
командой glabel create
. За более детальной
информацией обратитесь к странице справочника glabel(8).
Чтобы создать постоянную метку для файловой системы UFS2 не нарушая самих данных, выполните следующую команду:
#
tunefs -L
home
/dev/da3
Если файловая система заполнена, это может привести к повреждению данных; в случае заполненной файловой системы надо или удалить ненужные файлы, или не добавлять метки.
Метка должна появиться в /dev/ufs
и может быть добавлена в
/etc/fstab
:
/dev/ufs/home /home ufs rw 2 2
Во время запуска tunefs
файловая система
не должна быть смонтирована.
Теперь файловую систему можно смонтировать как обычно:
#
mount /home
Если модуль ядра geom_label.ko
указан в
/boot/loader.conf
и загружается вместе с
системой, или в ядре указана опция GEOM_LABEL
,
метку устройства можно изменять без какого-либо негативного
для системы эффекта.
Файловая система может быть создана с меткой по умолчанию путем
использования флага -L
команды
newfs
. Обратитесь к странице справочника
newfs(8) за более подробной информацией.
Для удаления метки можно использовать следующую команду:
#
glabel destroy home
В следующем примере показано, как устанавливаются метки на разделы загрузочного диска.
Установка и задействование постоянных меток на разделах
загрузочного диска предоставит возможность операционной системе
загружаться нормально в том случае, если диск был переключен на
другой контроллер, или даже переставлен на другую машину. В этом
примере был задействован один диск ATA,
определяемый системой как ad0
. Также
в примере подразумевается, что система использует типичную для
FreeBSD схему разделения дискового пространства на слайсы и размещения
на них файловых систем /
,
/var
,
/usr
,
/tmp
и раздела
подкачки.
Перезагрузите систему, дождитесь меню загрузчика. Нажатием клавиши 4 выберите однопользовательский режим. Далее, введите следующие команды:
#
glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs#
glabel label var /dev/ad0s1d
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var#
glabel label usr /dev/ad0s1f
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr#
glabel label tmp /dev/ad0s1e
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp#
glabel label swap /dev/ad0s1b
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap#
exit
Система продолжит загрузку в многопользовательский режим.
По завершении загрузки откройте файл /etc/fstab
и замените в нём традиционные имена файлов устройств
на соответствующие устройствам метки. Результат будет выглядеть
подобно следующему:
# Device Mountpoint FStype Options Dump Pass# /dev/label/swap none swap sw 0 0 /dev/label/rootfs / ufs rw 1 1 /dev/label/tmp /tmp ufs rw 2 2 /dev/label/usr /usr ufs rw 2 2 /dev/label/var /var ufs rw 2 2
Перезагрузите еще раз систему. Если всё прошло успешно,
система загрузится как обычно, а вывод команды
mount
отобразит следующее:
#
mount
/dev/label/rootfs on / (ufs, local) devfs on /dev (devfs, local) /dev/label/tmp on /tmp (ufs, local, soft-updates) /dev/label/usr on /usr (ufs, local, soft-updates) /dev/label/var on /var (ufs, local, soft-updates)
Начиная с FreeBSD 7.2, GEOM класс glabel(8) поддерживает
новый тип меток для файловых систем UFS. Новый
тип меток базируется на уникальных идентификаторах файловых систем,
называемых ufsid
. Во время загрузки системы
они автоматически создаются и помещаются в каталог /dev/ufsid
. Перечисление меток должным
образом в файле /etc/fstab
делает возможным монтирование разделов по значениям
ufsid
. Чтобы получить перечень файловых систем
и соответствующих им меток ufsid
, выполните команду
glabel status
:
%
glabel status
Name Status Components ufsid/486b6fc38d330916 N/A ad4s1d ufsid/486b6fc16926168e N/A ad4s1f
В данном примере ad4s1d
содержит
файловую систему /var
,
а ad4s1f
соответствует файловой системе
/usr
. Эти файловые системы
можно также монтировать, указав значения их ufsid
в файле /etc/fstab
:
/dev/ufsid/486b6fc38d330916 /var ufs rw 2 2 /dev/ufsid/486b6fc16926168e /usr ufs rw 2 2
Таким способом могут быть смонтированы любые разделы с метками
ufsid
, что исключает необходимость создания
постоянных меток вручную и в то же время позволяет воспользоваться
преимуществами монтирования по меткам.
С выходом FreeBSD 7.0 был реализован долгожданный механизм ведения журналов для файловых систем. Сама реализация этого механизма осуществляется средствами системы GEOM, а конфигурирование выполняется утилитой gjournal(8).
Что такое журналирование? Журналирование сохраняет протокол транзакций файловой системы, то есть: изменения, составляющие логически завершенную операцию записи, сперва вносятся в журнал, а модификация метаданных и данных самого файла выполняется позже. В дальнейшем журнал может быть задействован для повторного выполнения транзакций на файловой системе с целью предотвращения нарушения целостности файловой системы.
Журналирование - это еще одним механизм предотвращения утери данных и нарушения целостности файловой системы. В отличие от механизма Soft Updates, который отслеживает и периодически сохраняет обновления метаданных, и механизма снэпшотов, который создает образ файловой системы, сам журнал хранится в специально отведенном для этой задачи пространстве диска, и, в некоторых случаях, может содержаться целиком на отдельном диске.
В отличие от других реализаций журналирования файловых систем,
метод gjournal
работает на блочном уровне, он
не встроен в файловую систему; это лишь надстройка над системой
GEOM.
Чтобы включить поддержку gjournal
,
в файле конфигурации ядра FreeBSD должна присутствовать следующая опция
(включено по умолчанию для FreeBSD 7.0 и более поздних версий
систем):
options UFS_GJOURNAL
Журналируемым устройствам, монтируемым во время загрузки системы,
также потребуется модуль ядра geom_journal.ko
.
Внесите следующую запись в файл
/boot/loader.conf
:
geom_journal_load="YES"
В качестве альтернативы, функции вышеупомянутого модуля можно встроить в специализированное ядро. Для этого добавьте следующую опцию в файл конфигурации ядра:
options GEOM_JOURNAL
Для создания журнала на новой файловой системе выполните
следующие шаги (здесь и далее подразумевается, что
da4
есть новый SCSI
диск):
#
gjournal load
#
gjournal label /dev/da4
На этом этапе в каталоге /dev
должны присутствовать файлы
устройств /dev/da4
и
/dev/da4.journal
. Теперь необходимо
создать файловую систему:
#
newfs -O 2 -J /dev/da4.journal
Предыдущая команда создаст файловую систему UFS2 на журналируемом устройстве.
Смонтируйте устройство в требуемый каталог файловой системы:
#
mount /dev/da4.journal
/mnt
В случае наличия нескольких слайсов, журнал создается для каждого
из них. Например, если есть два слайса, и они называются
ad4s1
и ad4s2
, то
утилитой gjournal
создаются файлы устройств
ad4s1.journal
и
ad4s2.journal
.
Для увеличения производительности может потребоваться хранение
журнала на отдельном диске. В таких случаях необходимо указать имя
поставщика журнала или устройства хранения после имени устройства,
на котором планируется включение журналирования. Журналирование также
может быть активировано утилитой tunefs
на действующих
файловых системах; однако, всегда создавайте резервную копию перед
попытками изменить настройки файловой системы. В большинстве случаев,
выполнение команды gjournal
завершится ошибкой, если
создание журнала невозможно, в то время как некорректное использование
команды tunefs
не защитит против потери данных.
Также возможно журналирование загрузочного диска системы FreeBSD. За детальными инструкциями по этой возможности обратитесь к статье Настройка журналирования UFS для настольного компьютера.
Файловые системы - неотъемлемая часть любой операционной системы. Они позволяют пользователям записывать и хранить файлы, получать доступ к данным, и, конечно-же, пользоваться жесткими дисками. У разных операционных систем есть одна общая черта - их основная файловая система (native filesystem). Для FreeBSD это Fast File System (или FFS), которая произошла от UnixTM File System (сокращенно UFS).
FreeBSD также поддерживает ряд других файловых систем, тем самым предоставляя возможность получать доступ к данным от других операционных систем локально, например: к данным, находящимся на подключенных USB устройствах хранения, флэш-накопителях и жестких дисках. В списке поддерживаемых есть файловые системы, разработанные для других операционных систем, например Linux(R) Extended File System (EXT) и SunTM Z File System (ZFS).
FreeBSD имеет разные уровни поддержки для разных файловых систем. Для некоторых будет достаточно загрузки модуля ядра, другим может потребоваться установка набора утилит (toolset). Цель этого раздела - дать представления пользователям FreeBSD о возможностях использования других файловых систем на их операционных системах. Начнем с SunTM Z file system.
После прочтения этого раздела вы будете знать:
Разницу между основной и поддерживаемой файловой системой.
Какие файловые системы поддерживаются FreeBSD.
Как подключить, сконфигурировать, получить доступ и использовать поддерживаемые файловые системы.
Перед прочтением этого раздела вам необходимо:
Понимать основы UNIX(R) и FreeBSD (Глава 4, Основы UNIX).
Знать азы конфигурирования и компиляции ядра (Глава 9, Настройка ядра FreeBSD).
Уметь устанавливать приложения сторонних разработчиков в FreeBSD (Глава 5, Установка приложений: порты и пакеты).
Быть знакомым с именованием дисков и устройств хранения в FreeBSD (Глава 17, Устройства хранения).
Файловая система ZFS, разработанная компанией SunTM, основана на использовании метода пулов устройств хранения данных. Это значит, что емкость носителя занимается только тогда, когда она становится необходимой для сохранения данных. ZFS также была разработана с упором на максимальную целостность данных, поддерживая снимки (snapshot), множество копий и контрольные суммы данных. Новая модель репликации данных, известная как RAID-Z, подобна RAID-5, но специально разработана для предотвращения повреждений данных при записи.
Подсистема ZFS занимает значительную часть ресурсов системы. Чтобы получить от нее максимум эффективности в повседневном использовании, потребуется выполнить некоторые настройки. ZFS является экспериментальной функциональной возможностью в FreeBSD, но ситуация может измениться в ближайшем будущем; однако на данный момент рекомендуется выполнить следующие шаги.
Общий размер ОЗУ должен быть как минимум равен одному гигабайту, хотя рекомендуется два гигабайта или более. Во всех нижеследующих примерах используется система с 1ГБ памяти совместно с другими специальными настройками.
Известно, что некоторые пользователи преуспели в использовании ZFS на системах, имеющих менее одного гигабайта памяти, но с таким ограниченным объемом ОЗУ и при серьезной загрузке машины очень вероятны паники FreeBSD из-за нехватки памяти.
Рекомендуется исключить из файла конфигурации ядра
неиспользуемые драйвера и опции. Так как большинство драйверов
устройств доступно в виде модулей, то они просто могут быть загружены
с помощью соответствующих записей в файле
/boot/loader.conf
.
Пользователям архитектуры i386TM необходимо добавить следующую опцию в их файл конфигурации ядра, перестроить ядро и перезагрузиться:
options KVA_PAGES=512
Эта опция расширит адресное пространство ядра, тем самым позволяя
переменной vm.kvm_size
быть установленной за
текущий предел в 1 ГБ (2 ГБ для PAE).
Чтобы найти наиболее подходящее значение для этой опции, разделите
имеющийся объем ОЗУ, выраженный в мегабайтах, на 4. Приведенное
выше значение 512
рекомендуется для систем
с 2 ГБ оперативной памяти.
Адресное пространство kmem
должно быть
увеличено на всех FreeBSD архитектурах. На тестовой системе с одним
гигабайтом физической памяти стабильная работа была получена со
следующими параметрами, которые необходимо внести в файл
/boot/loader.conf
и перезагрузить
систему.
vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"
За более детальными рекомендациями по тонкой настройке
системы под ZFS, обратитесь к странице:
http://wiki.freebsd.org/ZFSTuningGuide
.
Существует стартовый механизм, позволяющий монтировать ZFS пулы во время инициализации системы. Чтобы его задействовать, выполните следующие команды:
#
echo 'zfs_enable="YES"' >> /etc/rc.conf
#
/etc/rc.d/zfs start
Здесь и далее в статье подразумевается, что в системе
установлено три SCSI диска с именами
устройств
,
da0
и
da1
.
Использующим IDE диски необходимо
подставить имена устройств
da2
вместо имен устройств SCSI.ad
Для создания простого пула ZFS
без избыточности, задействовав при этом один жесткий диск,
воспользуйтесь командой zpool
:
#
zpool create example /dev/da0
Чтобы увидеть новый пул, просмотрите вывод команды
df
:
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235230 1628718 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032846 48737598 2% /usr example 17547136 0 17547136 0% /example
Этот вывод четко показывает, что пул example
был не только создан, но также и примонтирован.
Он также доступен, как и обычная файловая система, в нем можно
создавать файлы, а пользователи могут просматривать его содержимое,
например:
#
cd /example
#
ls
#
touch testfile
#
ls -al
total 4 drwxr-xr-x 2 root wheel 3 Aug 29 23:15 . drwxr-xr-x 21 root wheel 512 Aug 29 23:12 .. -rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile
Однако в этом примере простого пула не задействованы никакие функциональные возможности ZFS. Создайте файловую систему в этом пуле и активируйте сжатие данных на ней:
#
zfs create example/compressed
#
zfs set compression=gzip example/compressed
С этого момента для файловой системы ZFS
example/compressed
активировано сжатие данных.
Попробуйте поместить на нее несколько больших файлов
копируя их в
/example/compressed
.
А вот как можно отключить сжатие данных:
#
zfs set compression=off example/compressed
Для того чтобы размонтировать файловую систему, выполните
следующую команду и проверьте результат утилитой
df
:
#
zfs umount example/compressed
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235232 1628716 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example
Снова смонтируйте файловую систему и проверьте результат
при помощи df
:
#
zfs mount example/compressed
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235234 1628714 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed
Пул и файловая система также отображается в выводе
команды mount
:
#
mount
/dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) example on /example (zfs, local) example/data on /example/data (zfs, local) example/compressed on /example/compressed (zfs, local)
Как вы уже убедились, файловые системы ZFS
после создания могут использоваться как и обычные файловые
системы; однако доступно множество других возможностей. В следующем
примере мы создадим новую файловую систему data
.
На ней мы будем содержать важные данные, поэтому файловая система
сконфигурирована хранить две копии каждого блока:
#
zfs create example/data
#
zfs set copies=2 example/data
Снова проверьте свободное и использованное место выполнив
команду df
:
#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235234 1628714 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed example/data 17547008 0 17547008 0% /example/data
Заметьте, что каждая файловая система в пуле имеет тот же объем
свободного места. Мы использовали команду df
на протяжении этих примеров, чтобы показать, что файловые системы
занимают только необходимое им пространство, используя ресурс
одного и того же пула. ZFS уходит от привычных
понятий "том (volume)" и "раздел (partition)", позволяя файловым
системам занимать один и тот же пул. Уничтожьте файловые системы,
потом уничтожьте пул, так как в них уже нет нужды:
#
zfs destroy example/compressed
#
zfs destroy example/data
#
zpool destroy example
Жесткие диски со временем выходят из строя, это неизбежно. Когда этот диск выйдет из строя, данные будут утеряны. Одним из способов избежать потери данных из-за вышедшего из строя жесткого диска является построение RAID массивов. ZFS поддерживает эту функциональную возможность в своем дизайне, и это описано в следующем разделе.
Как уже было сказано выше, в этой статье подразумевается,
что в нашей системе в распоряжении есть три SCSI
диска: da0
, da1
и da2
(или ad0
и далее в случае IDE дисков). Для того, чтобы
создать RAID-Z пул, выполните следующую
команду:
#
zpool create storage raidz da0 da1 da2
SunTM рекомендует использовать от трех до девяти жестких дисков в конфигурации RAID-Z. Если есть необходимость в использовании 10 или более дисков, подумайте над тем, чтобы разбить их на меньшие группы RAID-Z. Если у вас есть только два диска и вам всё-таки требуется избыточность, возможно лучшим вариантом будет создание ZFS зеркала. Смотрите страницу справочника zpool(8) для получения более подробных сведений.
По завершении команды должен создаться пул
storage
. Как и прежде, это может быть проверено
при помощи команд mount(8) и df(1). Больше дисковых
устройств может быть задействовано путем добавления их в конец списка
параметров команды, приведенной выше. Создайте в пуле новую файловую
систему, называемую home
, в которой будут
размещаться пользовательские файлы:
#
zfs create storage/home
На данном этапе возможно активировать сжатие данных и организовать автоматическое создание копий пользовательских домашних каталогов и файлов. Это может быть достигнуто так же, как и ранее, при помощи следующих команд:
#
zfs set copies=2 storage/home
#
zfs set compression=gzip storage/home
Чтобы организовать в этой файловой системе хранение домашних каталогов пользователей, скопируйте сюда их содержимое и создайте соответствующие символические ссылки:
#
cp -rp /home/* /storage/home
#
rm -rf /home /usr/home
#
ln -s /storage/home /home
#
ln -s /storage/home /usr/home
С этого момента пользовательские данные сохраняются на новой
файловой системе /storage/home
.
Для проверки создайте учетную запись нового пользователя
и войдите ею в систему.
Попробуйте создать снимок (snapshot), к которому можно будет откатиться при необходимости:
#
zfs snapshot storage/home@08-30-08
Заметьте, что снимок (snapshot) захватит реальную файловую
систему, а не домашний каталог или файл. Символ
@
отделяет имя файловой системы или имя тома
от имени снимка. Когда возникнет необходимость восстановить
пользовательские домашние каталоги, выполните следующую
команду:
#
zfs rollback storage/home@08-30-08
Чтобы получить список имеющихся в наличии снимков, выполните
команду ls
в каталоге
.zfs/snapshot
. Например,
чтобы увидеть сделанный ранее снимок, выполните следующую
команду:
#
ls /storage/home/.zfs/snapshot
Можно написать скрипт, выполняющий снимки пользовательских данных ежемесячно; однако, со временем, они могут занять значительную часть дискового пространства. Предыдущий снимок может быть удален используя следующую команду:
#
zfs destroy storage/home@08-30-08
Нет причины после наших экспериментов далее держать
в текущем состоянии
/storage/home
.
Сделаем ее реальной файловой системой
/home
:
#
zfs set mountpoint=/home storage/home
Выполнение команд df
и
mount
покажет, что с этого момента операционная
система воспринимает нашу файловую систему как обычную
/home
:
#
mount
/dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) storage on /storage (zfs, local) storage/home on /home (zfs, local)#
df
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ad0s1a 2026030 235240 1628708 13% / devfs 1 1 0 100% /dev /dev/ad0s1d 54098308 1032826 48737618 2% /usr storage 26320512 0 26320512 0% /storage storage/home 26320512 0 26320512 0% /home
На этом завершим конфигурацию RAID-Z. Чтобы во время ночных запусков periodic(8) получать информацию о статусе созданных файловых систем, выполните следующую команду:
#
echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
Каждая система программных RAID массивов
предоставляет возможность отображать информацию о своем
состоянии
.
ZFS - не исключение. Статус устройств
RAID-Z может быть просмотрен при помощи
следующей команды:
#
zpool status -x
Если пулы исправны и всё нормально, возвратится следующее сообщение:
all pools are healthy
А если есть какие-то неполадки, например диск выведен из массива, возвращенное состояние пула будет подобным следующему:
pool: storage state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scrub: none requested config: NAME STATE READ WRITE CKSUM storage DEGRADED 0 0 0 raidz1 DEGRADED 0 0 0 da0 ONLINE 0 0 0 da1 OFFLINE 0 0 0 da2 ONLINE 0 0 0 errors: No known data errors
Вывод показывает, что устройство было переведено в автономный режим администратором. Это верно для данного отдельного примера. Чтобы перевести диск в автономный режим, была выполнена команда:
#
zpool offline storage da1
Теперь после останова системы возможно заменить
da1
. Когда система загрузится снова,
выполните следующую команду чтобы заменить диск в массиве:
#
zpool replace storage da1
С этого момента статус может быть проверен опять и на этот раз
без флага -x
:
#
zpool status storage
pool: storage state: ONLINE scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1 ONLINE 0 0 0 da0 ONLINE 0 0 0 da1 ONLINE 0 0 0 da2 ONLINE 0 0 0 errors: No known data errors
В выводе сообщается, что при перестроении массива ошибок обнаружено не было.
Как уже было сказано ранее, ZFS использует
контрольные суммы
для проверки целостности
сохраненных данных. Подсчет и сохранение контрольных сумм включается
автоматически во время создания файловых систем и может быть отключен
при помощи команды:
#
zfs set checksum=off storage/home
Отключение подсчета контрольных сумм - не очень хорошая
идея; особенно ввиду того, что они занимают мало места, а также
при их использовании нет существенных расходов ресурсов системы.
Пока подсчет включен, возможно выполнять проверки целостности данных
ZFS, используя контрольные суммы. Этот процесс
известен как <<очистка (scrubbing)>>. Чтобы проверить
целостность данных пула storage
, выполните
следующую команду:
#
zpool scrub storage
Этот процесс может занять значительное время в зависимости от количества сохранённых данных. Очистка (scrubbing) порождает интенсивный ввод/вывод, поэтому только один экземпляр этой операции может выполняться в один момент времени. После завершения очистки (scrubbing) статус обновится, его можно просмотреть выполнив следующий запрос:
#
zpool status storage
pool: storage state: ONLINE scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008 config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1 ONLINE 0 0 0 da0 ONLINE 0 0 0 da1 ONLINE 0 0 0 da2 ONLINE 0 0 0 errors: No known data errors
Время завершения отображается в простом виде в этом примере. Очистка помогает удостовериться в целостности данных на протяжении длительного времени.
В этом разделе была освещена лишь малая часть возможностей ZFS. За более подробной информацией обратитесь к страницам справочника zfs(8) и zpool(8).
FreeBSD - это очень распределенный проект, пользователи и контрибьюторы которого находятся в самых разных частях света. В этой главе рассказывается о возможностях интернационализации и локализации FreeBSD, которые позволяют не-англоговорящим пользователям делать свою работу. Существует много подходов в i18n реализации - как на системном уровне, так и на уровне приложений, так что, где это возможно, мы будем давать читателю ссылки на более углубленные источники документации.
После прочтения этой главы, вы будете знать:
Как разные языки и региональные настройки кодируются в современных операционных системах.
Как установить региональные настройки для вашей оболочки.
Как настроить вашу консоль для отличных от английского языков.
Как эффективно использовать X Window System с разными языками.
Где найти дополнительную документацию по созданию i18n-совместимых приложений.
Перед чтением этой главы вам следует::
Знать как установить дополнительные приложения сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
Разработчики сократили интернационализацию в термин I18N, по числу символов между первым и последним символом интернационализации. В названии L10N используется тот же принцип от <<локализации>>. Совместно используемые I18N/L10N методы, протоколы и приложения позволяют пользователям использовать языки по своему выбору.
I18N приложения написаны с применением набора I18N посредством библиотек. Это позволяет разработчикам писать простые файлы и переводить отображаемые меню и надписи на разные языки. Мы настоятельно рекомендуем программистам следовать этому соглашению.
I18N/L10N используется всегда, когда вы хотите просмотреть, ввести или обработать данные на отличных от английского языках.
При всем своем величии, I18N не специфична для FreeBSD и является, по сути, соглашением. Следование этому соглашению помогает FreeBSD, и мы это приветствуем.
Настройки локализации базируются на трех основных терминах: код языка, код страны и кодировка. Имена локализаций строятся из этих частей следующим образом:
кодязыка
_кодстраны
.кодировка
Чтобы настроить FreeBSD (или любую другую UNIX(R)-систему, поддерживающую I18N) на использование специфического языка, пользователю нужно выяснить коды этого языка и страны (коды страны сообщают приложению какой именно диалект языка этой страны нужно использовать). К тому же, веб-браузеры, SMTP/POP серверы, веб-серверы и т.п. делают свой выбор в зависимости от этого. Далее показаны примеры кодов языка/страны:
Код языка/страны | Описание |
---|---|
en_US | Английский - Соединенные Штаты |
ru_RU | Русский для России |
zh_TW | Традиционный китайский для Тайваня |
Некоторые языки используют не соответствующие ASCII кодировки, которые используют для кодирования 8 бит, расширенное или многобайтовое представление символов (подробности см. в multibyte(3)). Старые приложения не распознают такие кодировки и ошибочно принимают их за управляющие символы. Новые приложения обычно распознают 8-битные символы. В зависимости от реализации, пользователю может потребоваться компиляция приложения с поддержкой расширенного или многобайтного представления символов, или же просто правильная его настройка. Чтобы иметь возможность вводить и обрабатывать символы с расширенным или многобайтным представлением, Коллекция портов FreeBSD предоставляет поддержку разных языков для различных приложений. Смотрите документацию по I18N в соответствующем порту FreeBSD.
В частности, пользователю необходимо читать прилагаемую к приложению документацию чтобы решить, как правильно его настроить или указать правильные параметры configure/Makefile/компилятору.
Следует помнить следующие вещи:
Наборы символов, использующие один байт для кодирования символа (см. multibyte(3)), например, ISO8859-1, ISO8859-15, KOI8-R, CP437.
Расширенные или многобайтные кодировки, например, EUC, Big5.
Вы можете посмотреть актуальный список наборов символов на сайте IANA Registry.
Вместо этого, FreeBSD используют X11-совместимые кодировки для локализации.
В системе Портов и Пакетов FreeBSD в название приложений,
поддерживающих I18N, включена аббревиатура I18N
для
легкой их идентификации. И, тем не менее, не все приложения поддерживают
требуемый язык.
Обычно достаточно экспортировать значение имени локализации в
переменной LANG
Вашей оболочки. Это можно сделать в
пользовательском ~/.login_conf
файле или в
инициализационном файле пользовательской оболочки
(~/.profile
, ~/.bashrc
,
~/.cshrc
). Нет надобности устанавливать отдельные
параметры локализации такие как LC_CTYPE
,
LC_CTIME
. За дополнительной информацией, пожалуйста,
обращайтесь к документации FreeBSD по нужному вам языку.
Вам следует установить следующие переменные окружения в ваших конфигурационных файлах:
LANG
для семейства функций POSIX(R)
setlocale(3)
MM_CHARSET
набор символов MIME для
приложений
Эти настройки включают конфигурацию оболочки пользователя, конфигурацию конкретных приложений и конфигурацию X11.
Существует два метода настройки локализации и оба описаны ниже. Первый (рекомендуемый) заключается в задании переменных в классе логина, другой метод заключается в задании переменных окружения в инициализационном файле системной оболочки.
Этот метод позволяет установить переменные окружения, необходимые для установки локализации и набора символов MIME, однократно для любых оболочек, вместо того, чтобы добавлять установку этих переменных в инициализационный файл каждой оболочки. Настройка на уровне пользователя может быть сделана самим пользователем, а Настройка на уровне администратора требует привилегий суперпользователя.
Вот минимальный пример файла .login_conf
в домашнем каталоге пользователя, в котором задаются обе переменные
для кодировки Latin-1:
me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:
Это пример .login_conf
, который задает
переменные для Традиционного Китайского языка в кодировке BIG-5.
Обратите внимание, что задается намного больше переменных, потому
что некоторое программы некорректно воспринимают переменные
окружения локализации для Китая, Японии и Кореи.
#Пользователи, которые не хотят использовать денежные единицы #и форматы времени Тайваня, могут вручную изменить каждую переменную me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
За подробностями обращайтесь к разделу Настройка на уровне администратора и login.conf(5).
Проверьте, что класс логина пользователя в
/etc/login.conf
задает нужный язык.
Убедитесь, что эти настройки присутствуют в
/etc/login.conf
:
language_name
:accounts_title
:\ :charset=MIME_charset
:\ :lang=locale_name
:\ :tc=default:
Используя наш предыдущий пример с Latin-1, это должно выглядеть так:
german:German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
После изменения описания классов логинов выполните команду:
#
cap_mkdb /etc/login.conf
для того, чтобы изменения в файле
/etc/login.conf
стали использоваться
системой.
Используйте vipw
для добавления новых
пользователей и отредактируйте запись о пользователе, чтобы она была
похожа на эту:
user:password:1111:11:language
:0:0:User Name:/home/user:/bin/sh
Используйте adduser
для добавления новых
пользователей и сделайте следующее:
Установите defaultclass =
в
язык
/etc/adduser.conf
. Помните, что в этом
случае вы должны задать default
класс для
всех пользователей других языков.
Другой способ заключается в задании класса логина каждый раз, когда adduser(8) попросит об этом:
Enter login class: default []:
Еще один способ - использовать следующее для каждого пользователя другого языка, которого вы хотите добавить:
#
adduser -class
язык
Если для добавления новых пользователей вы используете утилиту pw(8), запускайте ее с такими параметрами:
#
pw useradd
имя_пользователя
-Lязык
Этот метод не рекомендуется, потому что он требует разных настроек для каждой оболочки. Вместо этого используйте Метод класса логина.
Чтобы добавить локализацию и набор символов MIME, просто
установите две переменные окружения, приведенные ниже, в
инициализационные файлы оболочек /etc/profile
и/или /etc/csh.login
. Для примера мы используем
немецкий язык:
В /etc/profile
:
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
Или в /etc/csh.login
:
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
Как вариант, вы можете добавить установки, приведенные выше в
/usr/share/skel/dot.profile
(соответствует
установкам в /etc/profile
выше), или
/usr/share/skel/dot.login
(соответствует
установкам в /etc/csh.login
выше).
Для X11:
В $HOME/.xinitrc
:
LANG=de_DE.ISO8859-1; export LANG
Или:
setenv LANG de_DE.ISO8859-1
В зависимости от вашей оболочки (см. выше).
Для всех однобайтовых кодовых таблиц, укажите подходящие
консольные шрифты в /etc/rc.conf
для
требуемого языка:
font8x16=имя_шрифта
font8x14=имя_шрифта
font8x8=имя_шрифта
The имя_шрифта
берется из каталога
/usr/share/syscons/fonts
,
без указания расширения .fnt
.
Убедитесь также в установке правильных значений keymap и screenmap
для вашей однобайтовой кодовой таблицы через
sysinstall
(/stand/sysinstall
в FreeBSD версий более ранних, чем 5.2).
В sysinstall выберите
, затем
. Или добавьте следующие строки в
/etc/rc.conf
:
scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence
"
screenmap_name
берется из
каталога /usr/share/syscons/scrnmaps
, без
суффикса .scm
.
Screenmap с соответствующим шрифтом обычно используется в качестве
обходного пути для расширения 8 бит до 9 бит в псевдографическую
область VGA адаптера, например для удаления букв из этой области
если используется 8-битный шрифт.
Если даемон мыши moused включен
добавлением в /etc/rc.conf
следующей
строки:
moused_enable="YES"
прочтите информацию о курсоре мыши в следующем параграфе.
По умолчанию драйвер syscons(4) выделяет для курсора мыши
в таблице символов диапазон 0xd0-0xd3. Если в вашем языке
используется этот диапазон, переместите этот диапазон,
включив следующую строку в
/etc/rc.conf
:
mousechar_start=3
keymap_name
берется из каталога
/usr/share/syscons/keymaps
, без расширения
.kbd
. Если вы не знаете какую таблицу
использовать, запустите kbdmap(1) для тестирования таблицы
без перезагрузки.
keychange
обычно требуется для сопоставления
функциональных клавиш выбранному типу терминала, поскольку
последовательности функциональных клавиш не могут быть определены
в раскладке клавиатуры.
Убедитесь также, что для всех записей ttyv*
в /etc/ttys
установлен подходящий тип терминала.
Имеющиеся типы соответствуют следующим кодировкам:
Кодовая таблица | Тип терминала |
---|---|
ISO8859-1 or ISO8859-15 | cons25l1 |
ISO8859-2 | cons25l2 |
ISO8859-7 | cons25l7 |
KOI8-R | cons25r |
KOI8-U | cons25u |
CP437 (VGA default) | cons25 |
US-ASCII | cons25w |
Для расширенных кодировок, а также для многобайтовых кодировок,
используйте порт FreeBSD из каталога
/usr/ports/
.
Некоторые порты выводят информацию на консоль, хотя для системы
выглядят как последовательные псевдотерминалы, следовательно вы
должны зарезервировать достаточное количество псевдотерминалов
и для X11 и для последовательных псевдоконсолей. Вот неполный
список приложений для использования этих кодировок в консоли:language
Язык | Приложение |
---|---|
Традиционный китайский (BIG-5) | chinese/big5con |
Японский | japanese/kon2-16dot или japanese/mule-freewnn |
Корейский | korean/han |
Хотя X11 не является частью проекта FreeBSD, мы включили сюда некоторую информацию для пользователей FreeBSD. За детальной информацией обращайтесь к Веб сайту Xorg или к сайту того сервера X11, который вы используете.
В ~/.Xresources
, вы можете внести
дополнительные I18N настройки приложений (настройки шрифтов,
меню и т.п.).
Установите сервер Xorg (x11-servers/xorg-server) или XFree86TM (x11-servers/XFree86-4-Server), затем TrueType(R) шрифты для используемого языка. После установки корректного значения locale меню, сообщения и т.д. должны появиться на соответствующем языке.
Некоторые однобайтовые кодовые таблицы обычно поддерживаются принтерами на аппаратном уровне. Расширенные, или мультибайтовые кодовые таблицы требуют дополнительной настройки. Мы рекомендуем использование apsfilter. Кроме того, вы можете преобразовать документ в формат PostScript(R) или PDF с помощью поддерживающих соответствующий язык программ.
Файловая система FreeBSD (fast filesystem, FFS) поддерживает 8-битные символы, ее можно использовать с любой односимвольной кодовой таблицей (см. multibyte(3)), но кодовые таблицы не хранятся в файловой системе; т.е. ей ничего не известно о порядке расположения символов в кодовой таблице. Официально FFS пока не поддерживает расширенные или много символьные кодовые таблицы. Однако, для некоторых расширенных или многобайтовых кодировок есть неофициальные патчи, включающие их поддержку в FFS. Это всего лишь временные не переносимые решения или исправления кода и мы решили не включать их в дерево исходных текстов. Обращайтесь к сайтам по соответствующим языкам за дальнейшей информацией и патчами.
Файловая система MS-DOS(R) в FreeBSD может быть настроена для поддержки перекодировки между MS-DOS(R), кодовыми таблицами Unicode и выбранной кодовой таблицей FreeBSD. Обращайтесь к mount_msdosfs(8) за подробностями.
Многие порты FreeBSD были созданы с поддержкой I18N. Некоторые из них помечены символами -I18N в имени порта. Эти и многие другие программы имеют встроенную поддержку I18N и не нуждаются в специальной настройке.
Однако, некоторые приложения, такие как
MySQL, требуют указания кодировки в
Makefile
. Это обычно делается правкой
Makefile
или передачей параметров
configure при сборке из исходных
текстов.
За дополнительной информацией о кодировке KOI8-R, обращайтесь к странице KOI8-R References (Russian Net Character Set).
Поместите в ~/.login_conf
следующие
строки:
me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R:
Обратитесь к вышеизложенному материалу этой главы за соответствующей информацией.
Добавьте следующую строку
в /etc/rc.conf
:
mousechar_start=3
Кроме того, используйте в /etc/rc.conf
такие настройки:
keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8"
Для каждого устройства ttyv*
в файле
/etc/ttys
, используйте
cons25r
в качестве типа терминала.
Обратитесь к вышеизложенному материалу этой главы за примерами настройки консоли.
Большинство принтеров для России поставляются с аппаратной кодовой
страницей CP866, требуется специальный выходной фильтр для
перекодировки из KOI8-R в CP866. Такой фильтр устанавливается по
умолчанию в /usr/libexec/lpr/ru/koi2alt
.
Запись для принтера в /etc/printcap
должна
выглядеть приблизительно так:
lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
Обратитесь к printcap(5) за подробным описанием.
Следующий пример записи в fstab(5) включает поддержку русских имен файлов при монтировании файловых систем MS-DOS(R):
/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0
Параметр -L
выбирает имя используемой
локализации, а параметр -W
задает таблицу
перекодировки. При использовании параметра -W
убедитесь, что раздел /usr
смонтирован перед
разделом MS-DOS(R), поскольку таблицы перекодировки расположены
в каталоге
/usr/libdata/msdosfs
. За более подробной
информацией обращайтесь к странице справочника
mount_msdosfs(8).
Выполните сначала не-X настройку локализации.
Если вы используете Xorg, установите пакет x11-fonts/xorg-fonts-cyrillic.
Проверьте раздел "Files"
в файле
/etc/X11/xorg.conf
. Следующие строки
должны быть добавлены перед всеми
записями FontPath
:
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
Если вы используете видеорежим с высоким разрешением, поменяйте местами строки для 75 dpi и 100 dpi.
Для установки дополнительных кириллических шрифтов используйте порты.
Для настройки ввода на русском языке, добавьте
нижеприведенные строки в раздел
"Keyboard"
файла
xorg.conf
:
Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:toggle"
Убедитесь, что XkbDisable
отключен
(закомментирован) в этом разделе.
Для grp:caps_toggle
переключателем
RUS/LAT служит Right Alt, а для
grp:ctrl_shift_toggle
Ctrl+Shift.
Прежняя функция CapsLock все еще доступна в комбинации
Shift+CapsLock
(только в режиме LAT).
При установке grp:toggle
переключателем
RUS/LAT будет правая клавиша Alt. Режим
grp:caps_toggle
по неустановленным причинам
не работает в Xorg.
Если на вашей клавиатуре есть клавиши <<Windows(R)>>,
и некоторые не-алфавитные клавиши работают неправильно в режиме
RUS, добавьте следующую строку в файл
xorg.conf
:
Option "XkbVariant" ",winkeys"
Ввод на русском языке может может не работать с нелокализованными приложениями.
Минимально локализованные приложения должны вызывать функцию
XtSetLanguageProc (NULL, NULL, NULL);
в начале
программы.
Обратитесь к KOI8-R for X Window за дальнейшими инструкциями по локализации приложений X11.
У проекта FreeBSD-Taiwan есть Chinese HOWTO для
FreeBSD по адресу
http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/
,
в котором используются многие порты на китайском.
На данный момент редактором FreeBSD Chinese HOWTO
является Shen Chuan-Hsing
<statue@freebsd.sinica.edu.tw>
.
Chuan-Hsing Shen <statue@freebsd.sinica.edu.tw>
создал
Chinese FreeBSD Collection (CFC), используя FreeBSD-Taiwan
zh-L10N-tut
. Пакеты и скрипты доступны по адресу
ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/
.
Slaven Rezic <eserte@cs.tu-berlin.de>
написал
учебник по использованию umlauts в FreeBSD. Учебник написан
на немецком и доступен по адресу
http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html
.
За информацией по японской локализации, обратитесь к
http://www.jp.FreeBSD.org/
,
а за информацией о корейской локализацией к
http://www.kr.FreeBSD.org/
.
Отдельные контрибьюторы FreeBSD перевели части документации
FreeBSD на другие языки. Эти переводы доступны на основном сайте или из каталога
/usr/share/doc
.
Между релизами над FreeBSD ведется постоянная работа. Некоторые отдают предпочтение официально выпущенным версиям, в то время как остальные предпочитают использовать последние разработки. Тем не менее, даже для официальных версий часто выходят обновления, связанные с безопасностью и другими критическими исправлениями. Независимо от используемой версии FreeBSD предоставляет все необходимые инструменты для поддержания системы в актуальном состоянии, а также позволяет легко перейти на другую версию. Эта глава поможет вам решить, хотите ли вы отслеживать систему в процессе работы над ней или останетесь верным одному из выпущенных релизов. Также имеются простейшие инструменты для поддержания вашей системы в актуальном состоянии.
После чтения этой главы вы будете знать:
Какие программы можно использовать для обновления системы и Коллекции Портов.
Как поддерживать вашу систему в актуальном состоянии при помощи freebsd-update, CVSup, CVS или CTM.
Как узнать состояние установленной системы по отношению к известной нетронутой копии.
Разницу между двумя ветвями разработки: FreeBSD-STABLE и FreeBSD-CURRENT.
Как перестраивать и переустанавливать базовую систему полностью
при помощи make buildworld
(и других).
Перед чтением этой главы вы должны:
Полностью настроить своё подключение к сети (Глава 27, Сложные вопросы работы в сети).
Знать, как устанавливать дополнительное программное обеспечение других разработчиков (Глава 5, Установка приложений: порты и пакеты).
В этой главе для получения и обновления исходных текстов FreeBSD
используется команда cvsup
. Для этого вам
нужно установить порт или пакет net/cvsup-without-gui. Начиная с версии
FreeBSD 6.2-RELEASE для этих целей можно воспользоваться командой
csup(1), которая входит в состав системы.
Применение обновлений безопасности - важный момент в сопровождении программного обеспечения, особенно такого как операционная система. Для FreeBSD этот процесс не был простым в течение долгого времени. На исходный код нужно было накладывать патчи, перестраивать код в двоичные файлы, а затем эти двоичные файлы требовалось переустановить.
Теперь это давно не так, и FreeBSD включает программу с простым
названием freebsd-update
. Эта программа
предоставляет две различные функции. Во-первых, она позволяет
применить к базовой системе FreeBSD обновления безопасности и критические
исправления в двоичном виде, без необходимости сборки и установки.
Во-вторых, программа поддерживает обновление системы со сменой
старшего или младшего номера версии.
Двоичные обновления доступны для всех архитектур и версий,
поддерживаемых группой безопасности; тем не менее, для работы
некоторых из возможностей, таких как смена версии операционной
системы FreeBSD, требуется последняя версия freebsd-update(8)
и по крайней мере FreeBSD 6.3. Перед обновлением до новой версии
следует ознакомиться с объявлением о выпуске текущей версии, так
как там может содержаться важная информация, применимая к версии,
на которую намечен переход. С соответствующими объявлениями можно
ознакомиться, перейдя по следующей ссылке: http://www.FreeBSD.org/releases/
.
Если имеется задание crontab
, запускающее
freebsd-update
, то перед началом выполнения
следующих действий его обязательно нужно выключить.
Некоторые пользователи могут пожелать изменить конфигурационный файл для лучшего контроля над процессом обновления. Все параметры подробно задокументированы, но для некоторых из них может понадобиться дополнительное разъяснение:
# Components of the base system which should be kept updated. Components src world kernel
Данный параметр определяет, какие части FreeBSD будут обновлены.
По умолчанию обновляется исходный код (src), вся базовая система
(world) и ядро (kernel). Компоненты те же самые, что и во время
установки; в частности, добавление "world/games" позволяет
обновить игры. Использование "src/bin" позволяет обновить
исходный код в src/bin
.
Лучшим вариантом будет оставить всё как есть, поскольку изменение этого перечня с целью добавления особых пунктов потребует от пользователя указания подряд всех пунктов, которые пользователь захочет обновить. Это может привести к негативным последствиям из-за возможной рассинхронизации между исходными текстами и двоичными файлами.
# Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths
Добавьте сюда пути к каталогам (например, /bin
или /sbin
), которые вы хотели бы
оставить нетронутыми в процессе обновления. Этот параметр можно
использовать для предотвращения перезаписывания локальных
изменений программой freebsd-update
.
# Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
Обновлять конфигурационные файлы в указанных каталогах, только
если они не содержат изменений. При наличии каких-либо изменений
со стороны пользователя автоматическое обновление таких файлов
отменяется. Есть другой параметр
KeepModifiedMetadata
, который предписывает
команде freebsd-update
сохранять изменения во
время процесса слияния.
# When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/
Список каталогов с конфигурационными файлами, для которых
freebsd-update
попытается выполнить слияние.
Процесс слияния файла представляет собой набор изменений
в формате diff(1), похож на mergemaster(8), но с
меньшим количеством параметров: результат слияния принимается,
открывается редактор или freebsd-update
прекращает свою работу. В случае сомнений сделайте резервную
копию /etc
и просто
согласитесь со всеми изменениями. Для получения подробной
информации по команде mergemaster
смотрите
Раздел 21.6.11.1, <<mergemaster
>>.
# Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update
Этот каталог предназначен для размещения патчей и временных файлов. В случае, когда пользователь выполняет обновление со сменой версии, в этом месте должен иметь по крайней мере гигабайт дискового пространства.
# When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no
Если выставлено значение yes
, то
freebsd-update
будет исходить из того, что
список Components
является полным, и не будет
пытаться выполнить изменения за пределами этого списка.
В действительности freebsd-update
попытается
обновить все файлы, которые принадлежат списку
Components
.
Обновления безопасности хранятся на удалённой машине и могут быть загружены и установлены с использованием следующей команды:
#
freebsd-update fetch
#
freebsd-update install
Если были установлены обновления ядра, то после этого
нужно перезагрузить систему. Если все пошло хорошо, система
должна быть с установленными исправлениями, и
freebsd-update
можно запускать в качестве ночного
задания cron(8). Для этого достаточно добавить следующую
запись в /etc/crontab
:
@daily root freebsd-update cron
Эта запись означает, что freebsd-update
будет
запускаться ежедневно. В данном случае, в соответствии с аргументом
cron
freebsd-update
ограничится
проверкой доступных обновлений. В случае наличия обновлений они
будут автоматически загружены и сохранены на локальном диске.
Пользователю root
будет отправлено
соответствующее письмо, так что эти обновления можно будет
установить самостоятельно.
На случай, если что-то пошло не так, в
freebsd-update
предусмотрен механизм возврата
последнего набора изменений с использованием следующей команды:
#
freebsd-update rollback
Если после завершения всех действий было изменено ядро или какой-либо из его модулей, система должна быть перезагружена. Это позволит FreeBSD загрузить новые двоичные файлы в память.
Команда freebsd-update
работает только
с ядром GENERIC
. Если в
GENERIC
присутствуют изменения или
используется собственная конфигурация ядра,
freebsd-update
завершится неудачно.
Этот процесс удаляет старые объектные файлы и библиотеки, что может нарушить работу большинства сторонних приложений. Все установленные порты рекомендуется либо удалить и переустановить заново, либо обновить с использованием программы ports-mgmt/portupgrade. Большинство пользователей предпочтут выполнить тестовое построение, запустив для этого следующую команду:
#
portupgrade -af
Это позволит убедиться в том, что всё будет переустановлено
правильно. Обратите внимание, что если переменной окружения
BATCH
присвоить значение yes
,
то на все вопросы в течение этого процесса будет возвращаться
ответ yes
, что позволит исключить необходимость
ручного вмешательства в процесс построения.
Обновления со сменой старшей и младшей версий можно выполнить,
указав значение версии, на которую будет произведен переход, в
качестве аргумента команды freebsd-update
.
Так, например, можно выполнить обновление до версии
FreeBSD 6.3:
#
freebsd-update -r 6.3-RELEASE upgrade
После своего запуска freebsd-update
анализирует содержимое конфигурационного файла и собирает
необходимую для проведения обновления информацию о текущей
установленной системе. На экран будет выдан перечень компонентов,
которые удалось и не удалось обнаружить установленными.
Например:
Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y
Следующим шагом freebsd-update
попытается
загрузить по сети файлы, необходимые для выполнения обновления.
В некоторых случаях может потребоваться ответить на вопросы
относительно того, что и как устанавливать.
После того, как все изменения были загружены, они будут
применены. Этот процесс может занять определённое время, в
зависимости от производительности и текущей загруженности
компьютера. Затем будет выполнено слияние конфигурационных файлов
- эта часть процесса требует от пользователя определённого
вмешательства, так как для файла можно выполнить слияние
автоматически, а можно открыть текстовый редактор для слияния
вручную. Результат успешного слияния будет показан на экране.
Неудачное или пропущенное слияние вызовет преждевременное завершение
программы. Можно подготовить резервную копию каталога /etc
для таких важных файлов как
master.passwd
и group
и
выполнить их слияние вручную позднее.
На данном этапе система еще не модифицирована, и все изменения и слияния происходят в отдельном каталоге. Теперь, когда все изменения успешно применены, все конфигурационные файлы слиты и кажется, что процесс должен пройти плавно, пользователь должен установить изменения.
После завершения этого процесса, изменения могут быть установлены на диск с помощью следующей команды.
#
freebsd-update install
В первую очередь изменения будут применены к ядру и его модулям. После этого компьютер должен быть перезагружен. Следующая команда выполнит перезагрузку компьютера, после чего будет загружено новое ядро:
#
shutdown -r now
После перезагрузки нужно повторно запустить команду
freebsd-update
. Команда прочитает, на каком
этапе она находится, и перейдёт к удалению старых объектных файлов
и совместно используемых библиотек. Чтобы перейти к этому этапу,
выполните следующую команду:
#
freebsd-update install
Количество этапов установки обновлений может быть два вместо трёх и зависит от того, были ли изменены номера версий каких-либо совместно используемых библиотек.
Теперь понадобится пересобрать и переустановить всё стороннее программное обеспечение. Это необходимая операция, так как установленное программное обеспечение может зависеть от библиотек, которые были удалены в процессе смены версии операционной системы. Для автоматизации этого процесса можно воспользоваться командой ports-mgmt/portupgrade. Начать можно со следующих команд:
#
portupgrade -f ruby
#
rm /var/db/pkg/pkgdb.db
#
portupgrade -f ruby18-bdb
#
rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
#
portupgrade -af
После этого завершите процесс обновления последним запуском
freebsd-update
. Выполните следующую команду,
чтобы убедиться, что ничего не забыто в процессе обновления:
#
freebsd-update install
Перезагрузите компьютер с новой версией FreeBSD. На этом процесс завершён.
Утилита freebsd-update
может быть
использована для проверки состояния установленной версии FreeBSD
относительно известной хорошей копии. Оценивается текущая версия
системных утилит, библиотек и конфигурационных файлов. Для того,
чтобы начать сравнение, выполните следующую команду:
#
freebsd-update IDS >> outfile.ids
Не смотря на то, что команда называется
IDS, это ни в коей мере не должно являться
заменой системе обнаружения вторжений, такой как security/snort. Поскольку
freebsd-update
сохраняет свои данные на
диске, возможность подмены становится очевидной. И хотя эта
возможность может быть уменьшена при использовании настройки
kern.securelevel
, а также используя для
записи данных freebsd-update
файловую
систему, которая в остальное время смонтирована только на
чтение, лучшим решением будет сравнить систему относительно
эталона на физически защищенном носителе, таком как
DVD или внешний USB диск
с включённой защитой от записи.
Теперь запустится проверка системы, в результате которой будет
выведен список файлов с их контрольными суммами в sha256(1) с
известным значением для файла из релиза и значением для текущего
в системе. Результат выводится слишком быстро для наглядного
сравнения и вскоре заполняет консольный буфер. По этой причине в
данном примере вывод перенаправлен в файл
outfile.ids
.
Эти строки также очень длинные, но зато такой формат вывода удобен для разбора. Так, для получения списка всех отличающихся от релиза файлов достаточно выполнить такую команду:
#
cat outfile.ids | awk '{ print $1 }' | more
/etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf
Вывод специально обрезан, на самом деле файлов намного больше.
Некоторые из них изменены в ходе нормальной работы: так, файл
/etc/passwd
был изменён после заведения
пользователей в системе. В некоторых случаях могут быть и другие
файлы, такие как модули ядра, которые могли измениться вследствие
обновления через freebsd-update
. Для
исключения из проверки конкретных файлов и каталогов укажите их
в качестве значения параметра IDSIgnorePaths
в /etc/freebsd-update.conf
.
Эта система может использоваться как часть более сложной процедуры обновления, в отличие от описанного выше способа.
Для обновления Коллекции Портов в базовую поставку FreeBSD включена утилита portsnap(8). Во время её выполнения устанавливается соединение с удалённым сервером, проверяется правильность ключа и загружается новая копия Коллекции Портов. Ключ используется для проверки целостности загруженных файлов для исключения возможности подмены на этапе передачи файлов. Для получения последней версии файлов Коллекции Портов выполните следующую команду:
#
portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done.
В данном примере показано, что portsnap(8) обнаружила и верифицировала несколько патчей относительно текущего содержимого портов. Здесь также видно, что утилита уже запускалась ранее, иначе при первом запуске была бы загружена вся коллекция.
После того как portsnap(8) успешно завершила операцию
fetch
, Коллекция Портов и сопутствующие патчи
находятся на локальной системе и прошли проверку целостности.
Обновлённые файлы можно установить командой:
#
portsnap extract
/usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk...
На этом процесс завершён, и теперь приложения можно установить или обновить с использованием Коллекции Портов.
Для последовательного запуска обоих процессов выполните следующую команду:
#
portsnap fetch update
Во FreeBSD имеется две ветки разработки: FreeBSD-CURRENT и FreeBSD-STABLE. Этот раздел описывает каждую из них и объясняет, как синхронизировать вашу систему с любой из веток. Сначала будет обсуждаться ветка FreeBSD-CURRENT, затем FreeBSD-STABLE.
Пока вы читаете этот текст, помните, что FreeBSD-CURRENT является <<передовым краем>> работ над FreeBSD. Предполагается, что пользователи FreeBSD-CURRENT технически более грамотны и могут решать проблемы с системой самостоятельно. Если вы являетесь во FreeBSD новичком, вам лучше сначала дважды подумать, прежде чем её устанавливать.
FreeBSD-CURRENT является последними рабочими версиями исходных текстов FreeBSD. Сюда включаются неоконченные работы, экспериментальные изменения и промежуточные механизмы, которые могут присутствовать, а могут и отсутствовать в следующем официальном релизе программного обеспечения. Хотя многие из разработчиков FreeBSD выполняют компиляцию из исходных текстов FreeBSD-CURRENT ежедневно, случаются периоды, когда исходные тексты заведомо не могут быть откомпилированы. Такие проблемы обычно решаются так быстро, как это возможно, но всё-таки момент, когда вы загрузили исходные тексты FreeBSD-CURRENT, может повлиять на то, содержат они мину замедленного действия или очень нужную функциональность!
FreeBSD-CURRENT предназначается трём основным заинтересованным группам:
Участники проекта FreeBSD, активно работающие над некоторой частью дерева исходных текстов и для кого работа в <<current>> является абсолютной необходимостью.
Участники проект FreeBSD, которые являются активными тестерами. Они тратят свое время на исправление проблем для того, чтобы FreeBSD-CURRENT оставалась, насколько это возможно, нормально работающей системой. Есть также люди, которые вносят важные предложения по изменениям и общему направлению развития FreeBSD и присылают свои патчи, реализующие эти изменения.
Те, кто просто хотят быть в курсе всех изменений или используют текущие исходные тексты для ознакомительных целей (к примеру, для чтения, но не для использования). Такие люди также иногда высказывают замечания или предоставляют код.
Быстрым способом получить предварительную версию, в случае, если вы услышали, что здесь появилась некая крутая возможность, и вы хотите быть первым в вашем микрорайоне, у кого она есть. Здесь быть первым из тех, кто имеет это программное обеспечение означает также быть первым из тех, кто столкнулся с ошибками в нём.
Быстрым способом получения исправлений. Любая версия FreeBSD-CURRENT является в равной мере как источником исправлений существующих ошибок, так и источником появления новых.
<<Официально поддерживаемой>> каким бы то ни было способом. Мы прилагаем все усилия, чтобы помочь тем, кто изначально принадлежит одной из трех <<признанных>> групп пользователей FreeBSD-CURRENT, но у нас просто нет времени на техническую поддержку. Это не потому, что мы гадкие и злые люди, которые ни за что не будут помогать другим (если бы это было так, мы бы не создали FreeBSD). Мы просто не в силах отвечать на сотни сообщений в день и работать над FreeBSD! Если бы стоял выбор между тем, отвечать ли на множество вопросов об экспериментально коде или продолжать работу над совершенствованием FreeBSD, большинство разработчиков проголосовало бы за последнее.
Подпишитесь на списки рассылки freebsd-current и svn-src-head. Это не просто хорошая идея, это необходимость. Если вы не являетесь участником списка рассылки freebsd-current, то вы не увидите замечаний, высказываемых о текущем состоянии системы и в итоге можете столкнуться со множеством проблем, которые уже были найдены и решены другими. Ещё хуже, если вы пропустите важные сообщения, касающиеся жизнеспособности вашей системы.
Список рассылки svn-src-head позволит вам для каждого изменения увидеть соответствующую запись в журнале коммитов, а они порой содержат относящуюся к делу информацию о возможных побочных эффектах.
Чтобы подписаться на эти и другие доступные списки рассылки, перейдите по ссылке http://lists.FreeBSD.org/mailman/listinfo и щёлкните на списке, к которому вы хотите подключиться. Инструкции по дальнейшим действиям размещены там же. Если вы заинтересованы в отслеживании изменений всего дерева исходных текстов, то мы рекомендуем вам подписаться на svn-src-all.
Загрузите исходные тексты с зеркального сайта FreeBSD. Вы можете сделать это одним из следующих двух способов:
При помощи программы cvsup
с sup
-файлом
standard-supfile
, который можно найти в
каталоге /usr/share/examples/cvsup
. Это
наиболее
рекомендуемый метод, так как он позволяет вам загрузить набор
исходных текстов один раз полностью, а затем загружать только
произошедшие изменения. Многие запускают
cvsup
при помощи программы
cron
и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile
выше и отконфигурируйте cvsup для вашего окружения.
Примерный файл standard-supfile
предназначен для отслеживания специальной ветки
безопасности FreeBSD, а не FreeBSD-CURRENT. Вам нужно
открыть этот файл на редактирование и заменить в нём
строку:
*default release=cvs tag=RELENG_X
_Y
на следующую:
*default release=cvs tag=.
Для получения подробной информации по использованию тегов обратитесь к разделу Руководства Теги CVS.
При помощи CTM. Если у вас очень плохое подключение (дорогое или предоставляющее доступ только к электронной почте), то CTM можно рассматривать как вариант. Однако в нем много "подводных камней", и его использование может привести к появлению неправильных файлов. Это привело к тому, что этот способ используется редко, что, в свою очередь, увеличивает шанс появления периодов его неработы. Мы рекомендуем использовать CVSup всем, чья скорость подключения равна 9600 bps и выше.
Если вам нужны исходные тексты для компиляции и запуска, а не просто для ознакомления, то загружайте исходные тексты ветки FreeBSD-CURRENT полностью, а не отдельные ее части. Причиной является то, что многие части исходных текстов зависят от других обновлений где-то еще, и попытка компиляции лишь некоторой части программ в этом случае гарантированно вызовет проблемы.
Перед тем, как компилировать FreeBSD-CURRENT, внимательно
прочтите файл Makefile
в каталоге
/usr/src
. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение списка рассылки freebsd-current и
/usr/src/UPDATING
позволит вам быть в курсе
всех процедур, которые иногда бывают необходимы в процессе
работы над следующим релизом.
Будьте активным подписчиком! Если вы работаете с FreeBSD-CURRENT, мы хотим знать, что вы думаете о ней, особенно если у вас есть соображения по ее улучшению или исправлению ошибок. Пожелания, к которым прилагается код, всегда принимаются с большим энтузиазмом!
FreeBSD-STABLE является нашей веткой разработки, из которой делаются основные релизы. Изменения в этой ветке происходят с разной скоростью, и при этом предполагается, что сначала они были выполнены для FreeBSD-CURRENT в целях тестирования. Однако эта ветка остаётся веткой для разработки, а это значит, что в любой момент времени исходные тексты FreeBSD-STABLE могут оказаться неприменимы для некоторой задачи. Это просто ещё одна ветка при разработке, а не ресурс для конечных пользователей.
Если вы заинтересованы в отслеживании процесса разработки FreeBSD или хотите принять в нём участие, особенно в той мере, насколько это касается выпуска следующего релиза FreeBSD с <<точкой>>, то вам необходимо отслеживать FreeBSD-STABLE.
Хотя правда то, что исправления, касающиеся безопасности, также делаются и в ветке FreeBSD-STABLE, вам не нужно для этого отслеживать FreeBSD-STABLE. Каждый бюллетень по безопасности FreeBSD описывает, как решить проблему для тех релизов, которых он касается [10] , а отслеживание ветки разработки в полном объёме только ради исправлений пробелов в безопасности приводит к появлению большого количества дополнительных ненужных изменений.
Хотя мы прилагаем все усилия, чтобы ветка FreeBSD-STABLE всегда компилировалась и работала, этого нельзя гарантировать. Кроме того, несмотря на то, что перед включением в FreeBSD-STABLE, код разрабатывается в FreeBSD-CURRENT, гораздо большее количество людей работают с FreeBSD-STABLE, чем с FreeBSD-CURRENT. Поэтому неудивительно, что в FreeBSD-STABLE иногда обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не проявляли себя в FreeBSD-CURRENT.
По этим причинам мы не рекомендуем слепо отслеживать FreeBSD-STABLE, и, что особенно важно, вы не должны обновлять какие-либо сервера, находящиеся в активной эксплуатации, до FreeBSD-STABLE без предварительного тщательного тестирования кода в вашей среде разработки.
Если у вас нет возможности сделать это, то мы рекомендуем работать с самой последним релизом FreeBSD и использовать механизм обновления бинарных файлов для перехода от релиза к релизу.
Подпишитесь на список рассылки freebsd-stable. Это позволит вам узнавать о зависимостях процесса компиляции, которые могут появиться в ветке FreeBSD-STABLE или любых других проблемах, требующих особого внимания. В этом списке рассылки разработчики также делают объявления о спорных исправлениях или добавлениях, давая пользователям возможность высказать свое мнение о возможных тонких моментах.
Присоединяйтесь к соответствующему списку рассылки SVN для той ветви, которую вы используете. Например, если вы используете ветвь 7-STABLE, то присоединяйтесь к списку svn-src-stable-7. Это позволит вам просматривать записи в журнале коммитов для каждого изменения, а они порой содержат относящуюся к делу информацию о возможных побочных эффектах.
Чтобы подключиться к этим и другим доступным спискам рассылки, перейдите по ссылке http://lists.FreeBSD.org/mailman/listinfo и щёлкните на списке, к которому вы хотите подключиться. Инструкции по дальнейшим действиям размещены там же. Если вы заинтересованы в отслеживании изменений всего дерева исходных текстов, то мы рекомендуем вам подписаться на svn-src-all.
Если вы собираетесь установить новую систему, и хотите, чтобы она соответствовала ежемесячным стандартным сборкам ветви FreeBSD-STABLE, обратитесь к странице снэпшотов . Либо вы можете установить самый последний релиз FreeBSD-STABLE, загрузив его с зеркалирующих сайтов, а затем следовать инструкциям ниже по обновлению исходных текстов вашей системы до самой последней версии FreeBSD-STABLE.
Если вы уже работаете с предыдущим релизом FreeBSD и хотите обновить его из исходных текстов, то вы можете легко это сделать с зеркального сайта FreeBSD. Это можно сделать одним из двух способов:
При помощи программы cvsup
с sup
-файлом
stable-supfile
из каталога
/usr/share/examples/cvsup
.
Это наиболее рекомендуемый
метод, так как он позволяет вам загрузить набор исходных
текстов один раз полностью, а затем загружать только
произошедшие изменения. Многие запускают
cvsup
при помощи программы
cron
и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile
выше и отконфигурируйте cvsup для вашего окружения.
При помощи CTM. Если у вас нет быстрого и недорогого подключения к Интернет, то это как раз тот метод, которым вы должны воспользоваться.
Итак, если вам нужен быстрый доступ к
исходным текстам и нагрузка на каналы связи для вас не
проблема, то используйте cvsup
или ftp
. В противном случае воспользуйтесь
CTM.
Перед тем, как компилировать FreeBSD-STABLE, внимательно
прочтите файл Makefile
в каталоге
/usr/src
. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение списка рассылки freebsd-stable и
/usr/src/UPDATING
позволит вам быть в курсе всех процедур,
которые иногда бывают необходимы при переходе к следующему
релизу.
Имеются различные способы использования Интернет (или почтового) подключения для того, чтобы иметь самые последние версии исходных текстов любого проекта FreeBSD, в зависимости от того, чем вы интересуетесь. Основной сервис, который мы предлагаем, это Анонимный CVS, CVSup и CTM.
Хотя имеется возможностью обновлять только часть дерева исходных
текстов, процедурой, которую мы настоятельно советуем, является обновление всего
дерева и перекомпиляция пользовательских программ (то есть тех,
которые работают в пространстве имен пользователя, например те, что
находятся в каталогах /bin
и
/sbin
) и ядра. Обновление только части дерева
исходных текстов, только текстов ядра или только текстов
пользовательских программ часто приводит к возникновению проблем. Эти
проблемы могут варьироваться от ошибок компиляции до аварийных
остановов системы или порчи данных.
Анонимный CVS и
CVSup используют модель
pull обновления исходных текстов. В случае
CVSup пользователь (или скрипт программы
cron) вызывают cvsup
, а она
работает с каким-либо сервером cvsupd, чтобы
выполнить обновление ваших
файлов. Обновления, которые вы получаете, актуальны с точностью до
минуты, и вы получаете их тогда и только тогда, когда сами захотите.
Вы можете с легкостью ограничить обновления конкретными файлами
или каталогами, которые представляют для вас интерес. Обновления
создаются на лету сервером согласно тому, что у вас есть и что вы
хотите иметь. Анонимный CVS гораздо проще,
чем CVSup в том смысле, что он представляет
собой всего лишь расширение
CVS, позволяющее загрузить изменения
непосредственно с удаленного хранилища CVS.
CVSup может делать это гораздо более
эффективно, однако анонимным CVS легче
пользоваться.
CTM, с другой стороны, не сравнивает последовательно исходные тексты, имеющиеся у вас, с теми, что находятся в главном архиве и вообще ни коим образом не касается наших серверов. Вместо этого несколько раз в день на главной машине CTM запускается скрипт, находящий изменения в файлах с момента своего предыдущего запуска; все замеченные изменения сжимаются, помечаются последовательным номером и кодируются для передачи по электронной почте (в форме печатаемых символов ASCII). После получения эти <<дельта-файлы CTM>> могут быть переданы утилите ctm_rmail(1), которая осуществит автоматическое декодирование, проверку и применение изменений к пользовательской копии исходных текстов. Этот процесс гораздо более эффективен, чем CVSup, и требует меньше ресурсов нашего сервера, так как он сделан по модели push, а не pull.
Несомненно, есть и минусы. Если вы случайно уничтожили часть вашего архива, то CVSup обнаружит и загрузит поврежденную часть. CTM этого делать не будет, и если вы уничтожили какую-то часть вашего дерева исходных текстов (и у вас нет архивной копии), то вам нужно будет начать с самого начала (с последнего <<базового дельта-файла>>), перестроив всё с помощью CTM, или, используя анонимный CVS, просто удалить повреждённую часть и пересинхронизироваться.
После того, как вы синхронизировали ваше локальное дерево исходных текстов с некоторой версией FreeBSD (FreeBSD-STABLE, FreeBSD-CURRENT и так далее), то можете использовать эти исходные тексты для перестроения системы.
Невозможно переоценить важность создания резервной копии вашей системы до того, как вы будете это делать. Хотя перестроение системы (пока вы следуете этим инструкциям) является простой задачей, вы всегда можете допустить ошибку, или ошибка может оказаться в исходных текстах, что может привести к тому, что система перестанет загружаться.
Обязательно сделайте резервную копию. И держите под рукой аварийную (fixit) дискету или загрузочный компакт диск. Может быть, вам никогда не приходилось ими пользоваться, но, постучав по дереву, всегда лучше подготовиться, чем потом сожалеть.
Ветки FreeBSD-STABLE и FreeBSD-CURRENT кода по природе своей являются изменяющимися. В разработке FreeBSD участвуют люди, и время от времени случаются ошибки.
Иногда эти ошибки достаточно безобидны и приводят к выводу нового диагностического сообщения. Бывает, что изменение оказывается катастрофическим, и система не может загрузиться или разрушаются файловые системы (или что-нибудь ещё хуже).
Если возникают подобные проблемы, в соответствующем списке рассылки публикуется сообщение <<heads up>>, в котором описывается природа проблемы и затрагиваемые системы. Когда проблема решается, публикуется сообщение <<all clear>>.
Если вы пытаетесь отслеживать FreeBSD-STABLE или FreeBSD-CURRENT и не читаете Список рассылки, посвящённый обсуждению FreeBSD-STABLE или Список рассылки, посвящённый обсуждению FreeBSD-CURRENT соответственно, то вы напрашиваетесь на неприятности.
make world
: Множество старой документации рекомендует использование
make world
. При этом пропускаются многие
важные шаги, и использование этой команды возможно лишь в том
случае, если вы точно знаете, что делаете. Почти во всех
обстоятельствах make world
это неправильный
способ, вместо него необходимо использовать описанную здесь
процедуру.
Для обновления вашей системы вы должны прочесть
/usr/src/UPDATING
для выяснения шагов, которые
нужно предпринять перед построением системы из вашей версии исходных
текстов, а затем выполнить следующую последовательность
действий:
#
cd /usr/src
#
make buildworld
#
make buildkernel
#
make installkernel
#
shutdown -r now
Есть несколько редких случаев, когда перед выполнением
buildworld
необходимо дополнительно
запустить mergemaster -p
. Они описаны в файле
UPDATING
. В общем случае вы можете без ущерба
пропустить этот шаг, если не выполняете обновление с одной большой
версии FreeBSD на другую.
После успешного выполнения installkernel
вам необходимо загрузить систему в однопользовательском режиме (то
есть посредством команды boot -s
, заданной в
приглашении загрузчика). После этого выполните:
#
mount -a -t ufs
#
mergemaster -p
#
cd /usr/src
#
make installworld
#
mergemaster
#
reboot
Описанная выше последовательность является только краткой выжимкой для того, чтобы помочь вам начать. Вы должны всё же прочесть последующие разделы для полного понимания каждого шага, особенно если собираетесь использовать собственную конфигурацию ядра.
Перед тем, как делать что-либо, прочтите
/usr/src/UPDATING
(или соответствующий файл
в вашей копии исходных текстов). В этом файле
содержится важная информация о проблемах, с которыми вы можете
столкнуться, или указан порядок, в котором вы должны запускать
определенные команды. Если в файле UPDATING
написано нечто, противоречащее тому, что вы здесь читаете, то
нужно следовать указаниям в UPDATING
.
Чтение UPDATING
не заменит подписки на
соответствующий список рассылки, как это и описано выше. Эти два
условия являются дополняющими, а не взаимоисключающими друг
друга.
Просмотрите файлы /usr/share/examples/etc/make.conf
и /etc/make.conf
. Первый содержит некоторые
предопределенные по умолчанию значения - большинство из них
закомментировано. Чтобы воспользоваться ими при перестроении системы
из исходных текстов, добавьте их в файл
/etc/make.conf
. Имейте в виду, что все,
добавляемое вами в /etc/make.conf
, используется
также каждый раз при запуске команды make
, так что
полезно задать здесь значения, подходящие вашей системе.
Вероятно стоит скопировать строки
CFLAGS
и NO_PROFILE
,
расположенные в
/usr/share/examples/etc/make.conf
, в файл
/etc/make.conf
и раскомментировать их.
Посмотрите на другие определения (COPTFLAGS
,
NOPORTDOCS
и так далее) и решите, нужны ли они
вам.
Каталог /etc
содержит значительную часть
информации о конфигурации вашей системы, а также скрипты, работающие
в начале работы системы. Некоторые из этих скриптов меняются от
версии к версии FreeBSD.
Некоторые конфигурационные файлы также используются в ежедневной
работе системы. В частности, файл
/etc/group
.
Случалось, что установочная часть make installworld
ожидала существования определённых имен пользователей или групп. При
обновлении существует вероятность, что эти пользователи или группы не
существуют. Это вызывает проблемы при обновлении. В некоторых
случаях make buildworld
проверяет наличие этих
пользователей или групп.
Примером этого является добавление пользователя
smmsp
. Пользователи столкнулись с прерыванием
процесса установки, когда mtree(8) пыталась
создать /var/spool/clientmqueue
.
Выходом является запуск утилиты mergemaster(8) в
режиме, предваряющем построение системы, задаваемым опцией
-p
. Она будет сравнивать только те файлы, которые
необходимы для успешного выполнения целей
buildworld
или
installworld
. Если ваша старая версия
утилиты mergemaster
не поддерживает опцию
-p
, воспользуйтесь новой версией из дерева исходных
текстов при первом запуске:
#
cd /usr/src/usr.sbin/mergemaster
#
./mergemaster.sh -p
Если вы параноик, можете поискать файлы, владельцем которых является та группа, которую вы переименовываете или удаляете:
#
find / -group
GID
-print
выдаст список всех файлов, владельцем которых является группа
GID
(задаваемая именем или
численным значением ID).
Вам может понадобиться откомпилировать систему в однопользовательском режиме. Кроме обычного выигрыша в скорости процесса, переустановка системы затрагивает много важных системных файлов, все стандартные выполнимые файлы системы, библиотеки, include-файлы и так далее. Изменение их на работающей системе (в частности, в которой активно работают пользователи) может привести к неприятностям.
Другим способом является компиляция системы в многопользовательском
режиме с последующим переходом в однопользовательский режим для
выполнения установки. Если вы хотите поступить именно так, просто
следуйте инструкциям до момента окончания построения. Вы можете
отложить переход в однопользовательский режим до завершения целей
installkernel
или
installworld
.
Как администратор, вы можете выполнить:
#
shutdown now
на работающей системе, что переведет ее в однопользовательский режим.
Либо вы можете выполнить перезагрузку и в приглашении загрузчика выбрать пункт <<single user>>. После этого система загрузится в однопользовательском режиме. В приглашении командного процессора вы должны запустить:
#
fsck -p
#
mount -u /
#
mount -a -t ufs
#
swapon -a
Эти команды выполняют проверку файловых систем, повторно монтируют
/
в режиме чтения/записи, монтируют все
остальные файловые системы UFS, перечисленные в файле
/etc/fstab
и включат подкачку.
Если часы в вашей CMOS настроены на местное время, а не на GMT (это имеет место, если команда date(1) выдаёт неправильные время и зону), то вам может понадобиться запустить следующую команду:
#
adjkerntz -i
Это обеспечит корректную настройку местного часового пояса - без этого впоследствии вы можете столкнуться с некоторыми проблемами.
При перестроении частей системы они помещаются в каталоги,
которые (по умолчанию) находятся в /usr/obj
.
Структура повторяет структуру /usr/src
.
Вы можете ускорить выполнение процесса make buildworld
и, возможно, избавить себя от некоторой головной боли, связанной с
зависимостями, удалив этот каталог.
На некоторых файлах из /usr/obj
могут быть
установлены специальные флаги (обратитесь к chflags(1) за
дополнительной информацией), которые сначала должны быть
сняты.
#
cd /usr/obj
#
chflags -R noschg *
#
rm -rf *
Неплохо сохранить вывод, получаемый при работе программы make(1), в файл. Если что-то вдруг пойдет не так, вы будете иметь копию сообщения об ошибке и полную картину того, где она произошла. Хотя это может и не помочь в определении причин происходящего, это может помочь другим, если вы опишите вашу проблему в одном из списков рассылки FreeBSD.
Проще всего это сделать при помощи команды script(1) с
параметром, в котором указано имя файла, в который нужно сохранить
вывод. Вы должны сделать это непосредственно перед тем, как
перестроить систему, а по окончании процесса набрать
exit
.
#
script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out#
make world
... compile, compile, compile ...#
exit
Script done, ...
Если вы делаете это, не сохраняйте
вывод в /tmp
. Этот каталог может быть
очищен при следующей перезагрузке. Лучше сохранить его в
/var/tmp
(как в предыдущем примере) или в
домашнем каталоге пользователя root
.
Вы должны находиться в каталоге
/usr/src
:
#
cd /usr/src
(если, конечно, ваш исходный код не находится в другом месте, в случае чего вам нужно перейти в соответствующий каталог).
Для полного перестроения системы используется
команда make(1). Эта команда читает инструкции из файла
Makefile
, описывающего, как должны быть
перестроены программы, которые составляют систему FreeBSD, в каком
порядке они должны быть построены и так далее.
Общий формат командной строки, которую вы будет набирать, таков:
#
make -
x
-DVARIABLE
target
В этом примере -
является параметром, который вы передаете в make(1).
Обратитесь к справочной странице программы make(1), которая
содержит список возможных параметров.x
-D
передает переменную в VARIABLE
Makefile
. Поведение
Makefile
определяется этими переменными. Это
те же самые переменные, которые задаются в
/etc/make.conf
, и это - еще один способ
их задания.
#
make -DNO_PROFILE=true
target
является другим способом указания того, что библиотеки для профилирования строить не нужно, и соответствует строке
NO_PROFILE= true # Обход построения библиотек для профилирования
в файле /etc/make.conf
.
target
указывает программе
make(1) на то, что вы хотите сделать. Каждый файл
Makefile
определяет некоторое количество
различных <<целей>>, и ваш выбор цели определяет то, что
будет делаться.
Некоторые цели, перечисленные в файле
Makefile
, не предназначены для вызова. Просто
они используются в процессе построения для разбиения его на этапы.
В большинстве случаев вам не нужно передавать никаких параметров в make(1), так что ваша команда будет выглядеть примерно так:
#
make
target
Замените target
на одну или более из
опций сборки. Первой из них всегда должна быть опция
buildworld
.
Как указывают на это названия,
buildworld
строит полностью новое дерево
в каталоге /usr/obj
, а
installworld
устанавливает это дерево на
используемой машине.
Разделение этих опций весьма полезно по двум причинам. Во-первых, это позволяет
вам безопасно строить систему, зная, что компоненты вашей рабочей
системы затронуты не будут. Построение
<<самодостаточно>>. По этой причине вы можете спокойно
запустить buildworld
на машине, работающей в
многопользовательском режиме без опаски получить какие-либо проблемы.
Но всё же рекомендуется запускать цель
installworld
в однопользовательском
режиме.
Во-вторых, это позволяет вам использовать монтирование по NFS для
обновления многих машин в сети. Если у вас есть три машины,
A
, B
и C
, которые
вы хотите обновить, запустите make buildworld
и
make installworld
на машине A
.
Хосты B
и C
должны будут
затем смонтировать по NFS каталоги /usr/src
и /usr/obj
с машины A
, и вы
сможете запустить make installworld
для установки
результатов построения на машинах B
и
C
.
Хотя цель world
всё ещё имеется в
наличии, вам настоятельно рекомендуется не пользоваться ею.
Выполните
#
make buildworld
Имеется возможность задавать команде
make
параметр -j
, который
приводит к запуску нескольких одновременно работающих процессов.
Наиболее полезно использовать это на многопроцессорных машинах.
Однако, так как процесс компиляции больше всего требователен к
подсистеме ввода/вывода, а не к производительности процессора, это
можно использовать и на машинах с одним процессором.
На типичной машине с одним CPU вы должны запускать:
#
make -j4 buildworld
make(1) будет иметь до 4 одновременно работающих процессов. Эмпирические замеры, опубликованные как-то в списке рассылки, показывают, что в среднем это дает наибольшее увеличение производительности.
Если у вас многопроцессорная машина и вы используете ядро с настройками для SMP, попробуйте использовать значения между 6 и 10 и посмотрите, как это отразится на скорости работы.
Чтобы получить полную отдачу от вашей новой системы, вы должны перекомпилировать ядро. Это практически необходимость, так как отдельные структуры в памяти могут меняться, и программы типа ps(1) и top(1) не будут работать, пока версии ядра и исходных текстов системы не будут совпадать.
Самым простым и надежным способом сделать это является компиляция и
установка ядра на основе GENERIC
. Хотя в
GENERIC
могут оказаться не все необходимые для
работы вашей системы устройства, в нем имеется все необходимое
для перезагрузки вашей системы обратно в однопользовательский режим.
Это является хорошей проверкой на правильность работы новой системы.
После загрузки с ядром GENERIC
и проверки
работоспособности системы вы можете построить новое ядро на основе
вашего обычного конфигурационного файла ядра.
В FreeBSD важно выполнить buildworld перед сборкой нового ядра.
Если вы хотите построить собственное ядро и уже подготовили файл
конфигурации, просто используйте
KERNCONF=
следующим образом:MYKERNEL
#
cd /usr/src
#
make buildkernel KERNCONF=
MYKERNEL
#
make installkernel KERNCONF=
MYKERNEL
Заметьте, что, если вы установили
kern.securelevel
в значение, превышающее 1,
и установили флаг noschg
или
подобный на бинарный файл ядра, то вы будете вынуждены перейти в
однопользовательский режим для того, чтобы воспользоваться
installkernel
. В противном случае вы
должны выполнять эти команды без проблем. Обратитесь к справочным
страницам об init(8) для получения подробной информации о
kern.securelevel
и chflags(1) для получения
информации о различных флагах файлов.
Для проверки работоспособности ядра вы должны перезагрузить систему и перейти в однопользовательский режим. Сделайте это, следуя указаниям в Раздел 21.6.5, <<Перейдите в однопользовательский режим>>.
Если вы компилировали достаточно свежую версию FreeBSD, в которой
имеется команда make buildworld
, то для установки
новых версий программ вы должны теперь выполнить команду
installworld
.
Запустите
#
cd /usr/src
#
make installworld
Если при выполнении команды make buildworld
вы
задавали значения каких-либо переменных, то при выполнении
make installworld
вы должны задать те же самые
переменные. Это не всегда так для остальных параметров; например,
при выполнении installworld
никогда не
должен использоваться параметр -j
.
Например, если вы выполняли команду:
#
make -DNO_PROFILE buildworld
то результат её выполнения должен устанавливаться командой
#
make -DNO_PROFILE installworld
В противном случае будет делаться попытка установить библиотеки
для профилирования, которые не компилировались на этапе выполнения
команды make buildworld
.
При перестроении системы не будут обновляться некоторые каталоги
(в частности, /etc
, /var
и
/usr
) с конфигурационными
файлами.
Самым простым способом обновить такие файлы является запуск
утилиты mergemaster(8), хотя можно сделать это и вручную, если вам
так больше нравится. Вне зависимости от выбранного вами способа
обязательно сделайте резервную копию каталога /etc
на случай, если произойдёт что-то непредвиденное.
Утилита mergemaster(8) является скриптом для оболочки Боурна,
которая поможет вам в определении разницы между вашими
конфигурационными файлами в каталоге /etc
и
конфигурационными файлами из дерева исходных текстов
/usr/src/etc
. Это является рекомендуемым
способом синхронизации системных конфигурационных файлов с теми, что
размещены в дереве исходных текстов.
Для начала просто наберите mergemaster
в
приглашении командной строки и посмотрите, что происходит.
mergemaster
построит временное окружение для
пользователя root, начиная от /
, а затем
заполнит его различными системными конфигурационными файлами. Эти
файлы затем будут сравниваться с теми, что установлены в вашей
системе. В этот момент файлы, которые имеют отличия, будут выданы в
формате diff(1), где знак +
будет означать
добавленные или изменённые строки, а знак -
будет
означать строки, которые были либо полностью удалены, либо заменены
на новые. Обратитесь к страницам справочной системы по команде
diff(1) для получения более полной информации о синтаксисе
команды diff(1) и формате выдачи отличий в файлах.
Затем mergemaster(8) выдаст вам каждый файл, в котором есть изменения, и в этот момент у вас есть возможность либо удалить новый файл (который будем считать временным), установить временный файл в его неизменённом виде, объединить временный файл с установленным на данный момент, либо просмотреть выдачу diff(1) ещё раз.
Выбор удаления временного файла укажет mergemaster(8) на то, что мы хотим оставить наш текущий файл без изменений и удалить его новую версию. Делать это не рекомендуется, если только у вас нет причин вносить изменения в текущий файл. Вы можете получить помощь в любое время, набрав ? в приглашении mergemaster(8). Если пользователь выбирает пропуск файла, запрос появится снова после того, как будут обработаны все остальные файлы.
Выбор установки немодифицированного временного файла приведёт к замене текущего файла новым. Для большинства немодифицированных файлов это является подходящим вариантом.
Выбор варианта с объединением файла приведёт к вызову текстового редактора, содержащего текст обоих файлов. Теперь вы можете объединить их, просматривая оба файла на экране, и выбирая те части из обоих, что подходят для окончательного варианта. Когда файлы сравниваются на экране, то нажатие l выбирает содержимое слева, а нажатие r выбирает содержимое справа. В окончательном варианте будет файл, состоящий из обеих частей, который и будет установлен. Этот вариант используется для файлов, настройки в которых изменялись пользователем.
Выбор повторного просмотра diff(1)-разниц выдаст вам разницы между файлами, как это делала утилита mergemaster(8) до того, как запросила вас о выборе.
После того, как утилита mergemaster(8) закончит работу с системными файлами, она выдаст запрос относительно других параметров. mergemaster(8) может запросить вас относительно перестроения файла паролей и завершит запросом на удаление оставшихся временных файлов.
Однако если вы хотите произвести обновление вручную, то вы не
можете просто скопировать файлы из /usr/src/etc
в
/etc
и получить работающую систему. Некоторые
из этих файлов сначала нужно <<установить>>. Это нужно
потому, что каталог /usr/src/etc
не является копией того, что должен содержать
ваш каталог /etc
. Кроме того, есть файлы,
которые должны присутствовать в /etc
, но которых
нет в /usr/src/etc
.
Если вы используете mergemaster(8) (как это рекомендуется), то вы можете перейти сразу к следующему разделу.
Вручную проще всего сделать это, установив файлы в новый каталог, а затем пройтись по ним, отмечая разницу.
/etc
: Хотя, в теории, никаких автоматических действий с этим
каталогом не производится,
всегда лучше чувствовать себя уверенным. Так что скопируйте
имеющийся каталог /etc
в какое-нибудь
безопасное место. Запустите что-то вроде:
#
cp -Rp /etc /etc.old
-R
задает выполнение рекурсивного копирования,
а -p
сохраняет даты, владельца файлов и тому
подобное.
Вам нужно создать шаблонную структуру каталогов для установки
нового содержимого /etc
и других файлов.
Подходящим местом является /var/tmp/root
, и в нём
потребуется разместить некоторое количество подкаталогов.
#
mkdir /var/tmp/root
#
cd /usr/src/etc
#
make DESTDIR=/var/tmp/root distrib-dirs distribution
Эти команды приведут к созданию нужной структуры каталогов и
установке файлов. Множество каталогов, созданных в
/var/tmp/root
, будут пустыми и должны быть удалены.
Проще всего сделать это так:
#
cd /var/tmp/root
#
find -d . -type d | xargs rmdir 2>/dev/null
Эти команды удалят все пустые каталоги. (Стандартный поток
диагностических сообщений перенаправляется в
/dev/null
для исключения предупреждений о
непустых каталогах.)
Теперь /var/tmp/root
содержит все файлы,
которые должны быть помещены в соответствующие места в
/
. Теперь пройдитесь по каждому их этих файлов
и определите, чем они отличаются от имеющихся у вас файлов.
Заметьте, что некоторые из файлов, которые были установлены в
каталог /var/tmp/root
, имеют первым символом
<<.>>. На момент написания единственными такими файлами
являлись файлы начальных скриптов командных процессоров в
/var/tmp/root/
и
/var/tmp/root/root/
, хотя могут быть и другие
(зависит от того, когда вы это читаете). Обязательно пользуйтесь
командой ls -a
, чтобы выявить их.
Проще всего сделать это путём сравнения двух файлов при помощи команды diff(1):
#
diff /etc/shells /var/tmp/root/etc/shells
Эта команда покажет разницу между вашим файлом
/etc/shells
и новым файлом
/var/tmp/root/etc/shells
. Используйте это для
определения того, переносить ли сделанные вами изменения или
скопировать поверх вашего старого файла.
/var/tmp/root
) по дате, чтобы вы смогли легко
выявить разницу между версиями: Частое перестроение системы означает также и частое обновление
/etc
, которое может быть несколько
обременительным.
Вы можете ускорить этот процесс, сохраняя копию последнего
набора измененных файлов, которые вы перенесли в
/etc
. Следующая процедура подаст вам одну
идею о том, как это сделать.
Выполните перестроение системы обычным образом. Когда вы
вам потребуется обновить /etc
и другие
каталоги, дайте целевому каталогу имя на основе текущей даты.
Если вы делаете это 14 февраля 1998 года, то вы можете сделать
следующее:
#
mkdir /var/tmp/root-19980214
#
cd /usr/src/etc
#
make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution
Перенесите изменение из этого каталога, как это описано выше.
Не удаляйте каталог
/var/tmp/root-19980214
после окончания
этого процесса.
Когда вы загрузите самую последнюю версию исходного кода и
перестроите систему, выполните шаг 1. Это даст вам новый
каталог, который может называться
/var/tmp/root-19980221
(если вы ждете
неделю между обновлениями).
Теперь вы можете видеть изменения, которые были сделаны за прошедшую неделю, выполнив при помощи команды diff(1) рекурсивное сравнение двух каталогов:
#
cd /var/tmp
#
diff -r root-19980214 root-19980221
Как правило, здесь содержится гораздо меньше отличий, чем
между каталогами
/var/tmp/root-19980221/etc
и
/etc
. Так как отличий меньше, то и легче
перенести эти изменения в ваш каталог
/etc
.
Теперь вы можете удалить более старый из двух каталогов
/var/tmp/root-*
:
#
rm -rf /var/tmp/root-19980214
Повторяйте этот процесс всякий раз, когда вам нужно
перенести изменения в каталог /etc
.
Для автоматической генерации имён каталогов можно использовать команду date(1):
#
mkdir /var/tmp/root-`date "+%Y%m%d"`
Теперь вы сделали всё. После того, как вы проверили, что всё на месте, можете перегрузить систему. Простая команда shutdown(8) должна это сделать:
#
shutdown -r now
Теперь у вас имеется успешно обновлённая система FreeBSD. Поздравляем!
Если что-то работает неправильно, можно с лёгкостью перестроить
конкретную часть системы. Например, если вы случайно удалили файл
/etc/magic
в процессе обновления или переноса
/etc
, то команда file(1) перестанет работать.
В таком случае это можно исправить вот так:
#
cd /usr/src/usr.bin/file
#
make all install
21.6.14.1. | Нужно ли полностью перестраивать систему при каждом изменении? |
Простого ответа на этот вопрос нет, так как это зависит от характера изменения. Например, если вы только что выполнили CVSup, и оказалось, что с момента последнего его запуска были изменены следующие файлы:
то перестраивать всю систему незачем. Вы можете просто
перейти в соответствующий подкаталог и выдать команду
В конце концов, выбор за вами. Может быть вам нравится перестраивать систему, скажем, каждый вечер, а изменения скачивать ночью. Или вы можете захотеть перестраивать только те вещи, которые менялись, но быть уверенным, что отслежены все изменения. И, конечно же, всё это зависит от того, как часто вы хотите делать обновление, и отслеживаете ли вы FreeBSD-STABLE или FreeBSD-CURRENT. | |
21.6.14.2. | Компиляция прерывается с большим количеством ошибок по сигналу 11 (или с другим номером сигнала). Что случилось? |
Как правило, это говорит о проблемах с оборудованием. (Пере)построение системы является эффективным стресс-тестом для вашего оборудования и частенько выявляет проблемы с памятью. Обычно это проявляется в виде неожиданных сбоев компилятора или получения странных программных сигналов. Явным указателем на это является то, что при перезапуске процедуры построения она прекращается в различные моменты времени. В этом случае вы мало что можете сделать, разве что попробовать заменить комплектующие вашей машины для определения сбоящей компоненты. | |
21.6.14.3. | Могу ли я удалить каталог |
Если отвечать коротко, то да. Каталог Однако если вы точно знаете, что делаете, то можете заставить
процедуру | |
21.6.14.4. | Могут ли быть продолжены прерванные процессы построения? |
Это зависит от того, насколько далеко зашел процесс построения перед тем, как вы обнаружили проблему. В общем случае (и это несложное и
быстрое правило) процесс Если вы на последнем шаге, и вы знаете это (потому что просматривали вывод, который сохраняете), то вы можете (достаточно безболезненно) выполнить команду: ... исправление проблемы ... При этом результат предыдущего запуска
Если вы видите сообщение: -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- в выводе команды Если этого сообщения не было, или вы в этом не уверены, то всегда лучше обезопасить себя, и начать построение с самого начала. | |
21.6.14.5. | Как ускорить процесс построения системы? |
| |
21.6.14.6. | Что мне делать, если что-то пошло не так? |
Скрупулезно проверьте, чтобы в вашем окружении не было мешающих остатков от предыдущих построений. Это достаточно просто.
Да, команду После этого повторите весь процесс снова, начиная с
Если у вас все еще есть проблемы, пришлите текст ошибки и
выдачу команды |
Если у вас множество машин, для которых вы хотите отслеживать одно и то же дерево исходных текстов, то загрузка кода и перестроение системы полностью выглядит как ненужная трата ресурсов: дискового пространства, пропускной способности сети и процессорного времени. Так оно и есть, и решением является выделение одной машины, которая выполняет основной объём работы, в то время как остальные используют результаты работы посредством NFS. В этом разделе описывается именно этот метод.
Первым делом определите набор машин, на которых выполняется один
и тот же набор бинарных программ, и мы будем называть его
набором для построения. Каждая машина может иметь
собственное уникальное ядро, но они будут работать с одними и теми же
программами пользователя. Из этого набора выберите машину, которая
будет являться машиной для построения. Она станет
машиной, на которой будут строиться ядро и всё окружение. В идеальном
случае с достаточно незагруженным CPU для выполнения команд
make buildworld
и make
buildkernel
. Вам также потребуется выбрать машину,
которая будет тестовой для проверки обновлений
программного обеспечения прежде, чем оно будет запущено в промышленную
эксплуатацию. Это должна быть машина, которая
может быть в нерабочем состоянии достаточно долго. Это может быть
машина для построения, но не обязательно.
Все машины в этом наборе для построения должны монтировать каталоги
/usr/obj
и
/usr/src
с одной и той же машины и в одну и ту же
точку монтирования. В идеальном случае они располагаются на разных
дисках машины построения, но они могут также монтироваться по NFS на
этой машине. Если у вас имеется несколько наборов для построения, то
каталог /usr/src
должен быть на машине построения,
а по NFS он должен быть смонтирован на остальных.
Наконец, удостоверьтесь в том, что файлы
/etc/make.conf
и
/etc/src.conf
на всех машинах набора для
построения соответствуют машине построения. Это означает, что машина
построения должна строить все части основного системного набора,
которые будут устанавливаться на каждой машине из набора для
построения. Кроме того, у каждой машины построения должно быть задано
имя ядра посредством переменной KERNCONF
в файле
/etc/make.conf
, а машина построения должна
перечислить их все в переменной KERNCONF
, причём
первым должно быть имя её собственного ядра. Машина построения должна
хранить конфигурационные файлы ядра каждой машины в каталоге
/usr/src/sys/
,
если на ней будут строиться соответствующие ядра..arch
/conf
Теперь, когда всё это сделано, вы готовы к построению. Постройте
ядро и всё окружение так, как это описано в Раздел 21.6.7.2, <<Компиляция базовых компонентов системы>> на машине построения, но ничего не
устанавливайте. После того, как процесс построения завершится,
перейдите к тестовой машине и установите только что построенное ядро.
Если эта машина монтирует каталоги /usr/src
и
/usr/obj
посредством NFS, то при перезагрузке в
однопользовательский режим вам потребуется задействовать сеть и
смонтировать их. Самым простым способом сделать это является переход
во многопользовательский режим и запуск команды shutdown
now
для перехода в однопользовательский режим. После этого
вы можете установить новое ядро и всё окружение, а затем выполнить
команду mergemaster
обычным образом. После
выполнения этих действий перезагрузитесь для возвращения к обычному
режиму работы во многопользовательском режиме с этой машиной.
После того, как вы убедитесь в нормальной работе всего на тестовой машине, проведите ту же самую процедуру для установки нового программного обеспечения на каждой из оставшихся машин из набора для построения.
Те же самые идеи могут использоваться и для дерева портов. Первым
критическим шагом является монтирование /usr/ports
с одной и той же машины на всех компьютерах в наборе для построения.
Затем вы можете корректно настроить /etc/make.conf
для использования общего каталога с дистрибутивными файлами. Вы должны
задать переменную DISTDIR
так, чтобы она указывала
на общедоступный каталог, доступный тому пользователю, который
отображается в пользователя root
для ваших точек
монтирования NFS. Каждая машина
должна задавать WRKDIRPREFIX
так, чтобы она
указывала на локальный каталог построения. Наконец, если вы
собираетесь строить и распространять пакеты, то должны задать
переменную PACKAGES
так, чтобы она указывала на
каталог, соответствующий DISTDIR
.
[10] Это не совсем так. Мы не можем поддерживать старые релизы FreeBSD бесконечно долго, хотя мы поддерживаем их многие годы. Полное описание текущей политики безопасности относительно старых релизов FreeBSD можно найти по адресу http://www.FreeBSD.org/ru/security/.
FreeBSD это одна из наиболее широко используемых в высокопроизводительных сетевых серверах операционных систем. Главы этой части книги охватывают:
Последовательные соединения
PPP и PPP через Ethernet
Электронную почту
Запуск сетевых серверов
Брандмауэры
Другую сетевую тематику повышенной сложности
Эти главы предназначены для получения дополнительной информации. Нет необходимости читать их в определенной последовательности, или читать их все перед тем, как начать использовать FreeBSD в сети.
syslogd
В UNIX(R) всегда была поддержка последовательных соединений. Фактически, самые первые UNIX(R) машины использовали последовательные линии для пользовательского ввода/вывода. Многое изменилось с тех пор, когда среднестатистический <<терминал>> состоял из 10-символов-в-секунду последовательного принтера и клавиатуры. Эта глава рассказывает о некоторых способах, которыми FreeBSD использует последовательные соединения.
Прочитав эту главу, вы узнаете:
Как подсоединить терминалы к системе FreeBSD.
Как использовать модем для дозвона на удаленные хосты.
Как разрешить удаленным пользователям входить в вашу систему с помощью модема.
Как загрузить систему с последовательной консоли.
Перед прочтением этой главы вам потребуется:
Узнать как настраивать и устанавливать новое ядро (Глава 9, Настройка ядра FreeBSD).
Понять, что такое права доступа и процессы UNIX(R) (Глава 4, Основы UNIX).
Кроме этого вам потребуется техническое руководство на последовательное оборудование (модем или мультипортовую карту), которую вы хотите использовать с FreeBSD.
При упоминании скорости передачи данных, в этой главе не используется термин <<бод>> (<<baud>>). Бод означает количество электрических импульсов, которые могут быть переданы за период времени, а <<bps>> это корректный термин для использования (он хотя бы не создает столько проблем как предыдущий).
Для подсоединения модема или терминала к системе FreeBSD потребуется последовательный порт и подходящий кабель для последовательного устройства. Если вы уже знаете о аппаратном обеспечении и требуемых кабелях, можете пропустить этот раздел.
Есть несколько различных видов последовательных кабелей. Два наиболее часто используемых в нашей ситуации типа это нуль-модемный и стандартный (<<прямой>>) RS-232 кабель. Документация на оборудование должна описывать тип требуемого кабеля.
Нуль модемный кабель пропускает некоторые сигналы, такие как <<Signal Ground>>, напрямую, а другие <<заворачивает>>. Например, контакт <<Transmitted Data>> на одном конце соединяется с контактом <<Received Data>> на другом.
Вы можете сделать собственный кабель для использования с терминалами. Эта таблица показывает названия сигналов RS-232C и номера контактов на разъеме DB-25. Заметим, что стандарт описывает соединение контактов номер 1 как сигнал Protective Ground, но его часто не делают. Некоторым терминалам достаточно сигналов на контактах 2, 3 и 7; другим требуется большее число сигналов, как показано на примерах ниже:
Сигнал | Контакт | Контакт | Сигнал | |
---|---|---|---|---|
SG | 7 | соединен с | 7 | SG |
TD | 2 | соединен с | 3 | RD |
RD | 3 | соединен с | 2 | TD |
RTS | 4 | соединен с | 5 | CTS |
CTS | 5 | соединен с | 4 | RTS |
DTR | 20 | соединен с | 6 | DSR |
DTR | 20 | соединен с | 8 | DCD |
DSR | 6 | соединен с | 20 | DTR |
DCD | 8 | соединен с | 20 | DTR |
Вот еще две распространенные в настоящее время схемы.
Сигнал | Контакт | Контакт | Сигнал | |
---|---|---|---|---|
RD | 2 | соединен с | 3 | TD |
TD | 3 | соединен с | 2 | RD |
DTR | 4 | соединен с | 6 | DSR |
DTR | 4 | соединен с | 1 | DCD |
SG | 5 | соединен с | 5 | SG |
DSR | 6 | соединен с | 4 | DTR |
DCD | 1 | соединен с | 4 | DTR |
RTS | 7 | соединен с | 8 | CTS |
CTS | 8 | соединен с | 7 | RTS |
Сигнал | Контакт | Контакт | Сигнал | |
---|---|---|---|---|
RD | 2 | соединен с | 2 | TD |
TD | 3 | соединен с | 3 | RD |
DTR | 4 | соединен с | 6 | DSR |
DTR | 4 | соединен с | 8 | DCD |
SG | 5 | соединен с | 7 | SG |
DSR | 6 | соединен с | 20 | DTR |
DCD | 1 | соединен с | 20 | DTR |
RTS | 7 | соединен с | 5 | CTS |
CTS | 8 | соединен с | 4 | RTS |
Для соединения одного контакта с одной стороны с двумя контактами на другой обычно пару контактов на одной стороне соединяют коротким проводом, а затем один из них - длинным с единственным контактом на дальней стороне.
Приведенные диаграммы описывают наиболее популярные схемы распайки. В других вариантах (описанных в книге RS-232 Made Easy) SG соединяется с SG, TD соединяется с RD, RTS и CTS соединяются с DCD, DTR соединяется с DSR, и наоборот.
Последовательные порты это устройства, через которые данные передаются между компьютером с FreeBSD и терминалом. Этот раздел описывает типы существующих портов и их адресацию в FreeBSD.
Существует несколько типов последовательных портов. Перед изготовлением кабеля, вам потребуется убедиться, что он подходит к портам терминала и системы FreeBSD.
Большинство терминалов используют порты DB25. Персональные компьютеры, включая PC под управлением FreeBSD, используют порты DB25 или DB9. Если у вас есть мультипортовая последовательная карта для PC, там могут быть RJ-12 или RJ-45 порты.
Обратитесь к сопровождающей документации на оборудование за информацией об используемых портах. Можно также определить тип используемых портов по их внешнему виду.
В FreeBSD доступ к каждому последовательному порту может быть
получен через файл в каталоге /dev
.
Есть два различных типа файлов:
Порты входящих соединений (dial-in) называются
/dev/ttyd
,
где N
N
это номер порта начиная
с нуля. Обычно, порты входящих соединений используются для
терминалов. Для корректной работы этим портам требуется,
чтобы последовательный кабель передавал сигнал data carrier
detect (DCD).
Порты исходящих соединений (call-out) называются
/dev/cuad
.
Они обычно используются не для терминалов, а только для
модемов. Вы можете использовать эти порты если
последовательный кабель или терминал не поддерживает сигнал
DCD.N
Call-out порты в FreeBSD 5.X и ранее именуются
/dev/cuaa
.
N
Если вы соединили терминал с первым последовательным портом
(COM1
в MS-DOS(R)), используйте
/dev/ttyd0
для доступа к терминалу. Если
терминал соединен со вторым последовательным портом (известным
также как COM2
), используйте
/dev/ttyd1
, и так далее.
FreeBSD c настройками по умолчанию поддерживает
последовательные порты. В мире MS-DOS(R) они известны как
COM1
,
COM2
,
COM3
, и
COM4
. На данный момент в FreeBSD
есть поддержка как <<простых>> мультипортовых
карт с последовательными интерфейсами, таких как
BocaBoard 1008 и 2016, так и более <<умных>>
мультипортовых карт, например карт Digiboard и
Stallion Technologies. Тем не менее, ядро по умолчанию
определяет только стандартные COM порты.
Чтобы увидеть, как ядро определяет последовательные
порты, просмотрите сообщения, выводимые во время загрузки ядра,
или используйте команду /sbin/dmesg
для
вывода сообщений ядра еще раз. В частности, обратите внимание
на сообщения, начинающиеся с символов
sio
.
Для просмотра только тех сообщений, которые содержат
слово sio
, используйте команду:
#
/sbin/dmesg | grep 'sio'
Например, в системе с четырьмя последовательными портами, появятся такие специфичные для последовательных портов сообщения:
sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A sio2 at 0x3e8-0x3ef irq 5 on isa sio2: type 16550A sio3 at 0x2e8-0x2ef irq 9 on isa sio3: type 16550A
Если ядро не распознает все последовательные порты,
вам возможно потребуется настроить ядро FreeBSD, изменив файл
/boot/device.hints
. Вы можете также
закомментировать или вовсе удалить строки, относящиеся к
отсутствующим у вас устройствам.
Обратитесь к странице справочника sio(4) за дополнительной информацией о настройке последовательных портов и мультипортовых карт. Будьте осторожны при использовании настроек, которые работали в предыдущих версиях FreeBSD, поскольку флаги устройств и синтаксис изменились в новых версиях.
port IO_COM1
это синоним для
port 0x3f8
, IO_COM2
для
0x2f8
, IO_COM3
для
0x3e8
, и IO_COM4
для
0x2e8
. Это наиболее часто используемые
для соответствующих последовательных портов адреса.
Наиболее часто используемые прерывания 4, 3, 5, и 9.
Имейте ввиду, что обычные последовательные порты не
могут совместно использовать прерывания на ISA PC
(на мультипортовых картах есть электроника, позволяющая всем
чипам 16550A на плате совместно использовать одно или два
IRQ).
К большинству устройств ядра можно получить доступ через
<<специальные файлы устройств>>, расположенные в
каталоге /dev
. К устройствам
sio
можно получить доступ через
/dev/ttyd
(устройства входящих вызовов, dial-in)
и N
/dev/cuad
(устройства исходящих вызовов, call-out).
FreeBSD предоставляет также устройства инициализации
(N
/dev/ttyd
и
N
.init/dev/cuad
в случае FreeBSD 6.X,
N
.init/dev/ttyid
и
N
/dev/cuaia
для
FreeBSD 5.X),
устройства блокировки
(N
/dev/ttyd
и
N
.lock/dev/cuad
в случае FreeBSD 6.X,
N
.lock/dev/ttyld
и
N
/dev/cuala
для
FreeBSD 5.X).
Первые используются для инициализации параметров порта при
каждом его открытии (таких как N
crtscts
для модемов, использующих сигналы RTS/CTS
для управления потоком). Устройства блокировки используются
для установки флага блокировки на порт и предотвращения
изменения определенных параметров пользователями или
программами; обратитесь к страницам справочника termios(4),
sio(4) и stty(1) соответственно за информацией о
параметрах терминала, блокировании и инициализации устройств и
настройке терминала.
Устройство ttyd
(или
N
cuad
) это обычное
устройство, которое потребуется открыть для приложений. Когда процесс
открывает устройство применяются настройки ввода/вывода терминала по
умолчанию. Вы можете посмотреть эти настройки с помощью командыN
#
stty -a -f /dev/ttyd1
Если вы измените настройки устройства, они будут действовать до его
закрытия. После повторного открытия, оно вернется к настройкам по
умолчанию. Для изменения настроек по умолчанию, вы можете открыть и
изменить установки <<начального состояния>> устройства.
Например, для включения по умолчанию режима CLOCAL
,
8-битного соединения и контроля передачи XON/XOFF
для
ttyd5
, выполните:
#
stty -f /dev/ttyd5.init clocal cs8 ixon ixoff
Инициализация последовательных устройств контролируется
файлом /etc/rc.d/serial
. Этот файл
определяет настройки последовательных устройств по
умолчанию.
Для предотвращения изменения программами отдельных установок,
настройте <<состояние блокировки>> устройства.
Например, для установки значения скорости
ttyd5
в 57600 bps, выполните:
#
stty -f /dev/ttyd5.lock 57600
Теперь приложение, открывающее ttyd5
и
пытающееся изменить скорость порта, получит скорость
57600 bps.
И конечно, сделайте запись начальных значений и состояния
блокировки устройств доступной только учетной записи
root
.
Терминалы предоставляют удобный и дешевый способ доступа к системе FreeBSD, когда вы не сидите за консолью компьютера и не подключены к сети. Этот раздел описывает использование терминалов в FreeBSD.
В первых системах UNIX(R) не было консолей. Вместо этого, пользователи входили и запускали программы через терминалы, которые были подключены к последовательным портам компьютеров. Это очень похоже на использование модема и программного обеспечения терминала для дозвона до удаленной системы и выполнения только-текстовой работы.
Консоли современных PC поддерживают высококачественную графику,
но возможность входа по последовательному порту на сегодняшний
день все еще доступна почти в каждой UNIX(R) подобной операционной
системе; FreeBSD не исключение. Используя терминал, подключенный к
неиспользуемому последовательному порту, вы можете войти и запустить
текстовую программу, которую обычно запускаете в текстовой консоли
или в окне xterm
системы X Window.
Для корпоративных пользователей, вы можете подсоединить множество терминалов к системе FreeBSD и поставить их на столы пользователей. Для домашнего пользователя, устаревший IBM PC или Macintosh(R) может быть подключен в качестве терминала к более мощному компьютеру под управлением FreeBSD. Вы можете превратить однопользовательский компьютер в мощную многопользовательскую систему.
В FreeBSD три вида терминалов:
В оставшейся части раздела описывается каждый вид.
Простые терминалы это специализированное оборудование, позволяющее соединять компьютеры через последовательные линии. Они называются <<простыми>>, поскольку их вычислительных возможностей хватает только для отображения, отправки и получения текста. Вы не сможете запустить на них никаких программ. Компьютер, к которому подсоединяется терминал, предоставляет все возможности для запуска текстовых редакторов, компиляторов, почтовых программ, игр и так далее.
Есть сотни видов простых терминалов, изготовленных различными производителями, включая DEC VT-100 и Wyse WY-75. Почти любой терминал может работать с FreeBSD. Некоторые high-end терминалы даже могут отображать графику, но только отдельные программные пакеты могут получить преимущество от этих расширенных возможностей.
Простые терминалы популярны в рабочей среде, где не требуется доступ к графическим приложениям, например тем, которые предоставляет система X Window.
Если простые терминалы могут только отображать, отправлять и получать текст, возможностей абсолютно любого персонального компьютера хватит для работы в роли простого терминала. Все, что вам потребуется, это подходящий кабель и какая-нибудь программа эмулятора терминала.
Это популярная домашняя конфигурация. Например, когда ваша вторая половина занята работой на системной консоли FreeBSD, вы можете одновременно выполнять только-текстовую работу с менее мощного персонального компьютера, подключенного к системе FreeBSD.
X терминалы это наиболее сложный тип существующих терминалов. Вместо подключения к последовательному порту, они обычно подключаются к сети, например Ethernet. Вместо работы только с текстовыми приложениями, они могут отображать любое X приложение.
Мы представляем X терминалы только ради полноты описания. Тем не менее, эта глава не охватывает установку, настройку или использование X терминалов.
Этот раздел описывает, что нужно сделать для настройки системы FreeBSD и включения входа в систему через терминал. Предполагается, что вы уже подключили терминал и настроили ядро для включения поддержки последовательного порта, к которому он подключен.
Обратитесь к главе Глава 13, Процесс загрузки FreeBSD за информацией о
процессе init
, отвечающем за контроль над
всеми процессами и за инициализацию системы во время загрузки.
Одна из задач, выполняемых init
-
чтение файла /etc/ttys
и запуск процесса
getty
на доступных терминалах. Процесс
getty
отвечает за чтение имени пользователя
и запуск программы login
.
Таким образом, для настройки терминалов в системе FreeBSD
необходимо выполнить следующие действия под
root
:
Добавить строку к /etc/ttys
для файла
из каталога /dev
, представляющего
последовательный порт, если этой строки еще нет.
Настроить запуск команды /usr/libexec/getty
на этом порту и указать соответствующий тип
getty
в файле
/etc/gettytab
.
Указать тип терминала по умолчанию.
Переключить порт в состояние <<on>> (<<включен>>)
Указать, должен ли порт быть <<secure>> (<<безопасным>>)
Заставить init
перечитать файл
/etc/ttys
.
Опционально, вы можете настроить свой тип
getty
для использования на шаге 2,
добавив описание в файл /etc/gettytab
.
За описанием обратитесь к страницам справочника
gettytab(5) и getty(8).
В файле /etc/ttys
находится список всех
портов системы FreeBSD, на которые возможен вход. Например, там
находится первая виртуальная консоль ttyv0
.
Вы можете войти на консоль с помощью этой записи.
Файл содержит записи и для других виртуальных консолей,
последовательных портов, и псевдо-терминалов. Название файла
последовательного порта из каталога /dev
приводится без префикса /dev
(например,
устройство /dev/ttyv0
будет записано
как ttyv0
).
Установка FreeBSD по умолчанию включает файл
/etc/ttys
с поддержкой первых четырех
последовательных портов: от ttyd0
до
ttyd3
. Если вы подключаете терминал
к одному из этих портов, добавлять записи терминалов не
потребуется.
/etc/ttys
Предположим, вы хотите подключить два терминала к
системе: Wyse-50 и старый 286 IBM PC с эмулятором
терминала VT-100. Мы подключаем Wyse к второму
последовательному порту и 286 к шестому последовательному
порту (порт на мультипортовой карте). Соответствующие
строки в /etc/ttys
будут выглядеть
так:
ttyd1"/usr/libexec/getty std.38400"
wy50
on
insecure
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
Первое поле, как правило, указывает имя специального
файла терминала, в соответствии с его именем в
| |
Второе поле - это команда, исполняемая для этого
терминала, обычно getty(8). Программа Файл При установке типа Например, Wyse-50 не использует четность и соединяется на 38400 bps. 286 PC не использует четность и соединяется на 19200 bps. | |
Третье поле определяет тип терминала, обычно
подключаемого к этой линии tty. Для портов входящих
соединений обычно используется значение
Например, Wyse-50 использует реальный тип терминала, а 286 PC, работающий с Procomm, настроен на эмуляцию VT-100. | |
Четвертое поле определяет должен ли порт быть включен.
Размещение здесь | |
Последнее поле используется, чтобы указать, является
ли порт безопасным. Пометка порта безопасным означает,
что вы доверяете ему достаточно для того, чтобы разрешить
учетной записи Настоятельно рекомендуется использовать
<<insecure>> даже для терминалов, находящихся за
закрытыми дверями. Довольно легко использовать
|
После выполнения необходимых изменений в файле
/etc/ttys
, вам потребуется отправить сигнал
SIGHUP (hangup) процессу init
, чтобы заставить
его перечитать его файл настройки. Например:
#
kill -HUP 1
init
это всегда первый из запущенных в
в системе процессов, поэтому его PID всегда 1.
Если все установлено правильно, все кабели на месте и
терминалы включены, процесс getty
должен
быть запущен на каждом терминале и вы увидите приглашение
ко входу на каждом терминале.
Даже при самом внимательном отношении к деталям, при настройке терминала все же могут возникнуть проблемы. В этом разделе приведен список симптомов и предлагается несколько решений.
Убедитесь, что терминал подключен и его питание включено. Убедитесь, что эмулятор терминала запущен на соответствующем порту.
Убедитесь, что кабель хорошо подключен и к терминалу и к компьютеру с FreeBSD. Убедитесь, что правильно выбран тип кабеля.
Убедитесь, что терминал и FreeBSD имеют одинаковые установки значения bps и четности. Если у вас видео терминал, убедитесь, что контраст и яркость включены. Если это принт-терминал, убедитесь, что бумага и чернила в порядке.
Убедитесь, что процесс getty
запущен
и обслуживает терминал. Например, для получения списка запущенных
процессов getty
с помощью ps
,
выполните:
#
ps -axww|grep getty
Вы должны увидеть строку для соответствующего терминала.
Например, если getty
запущена на втором
последовательном порту ttyd1
и использует
запись std.38400
из файла
/etc/gettytab
, отобразится следующее:
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
Если процесс getty
не запущен, убедитесь,
что вы включили порт в /etc/ttys
. Не забудьте
также запустить kill -HUP 1
после
изменения файла ttys
.
Если процесс getty
запущен, но на терминале
по-прежнему не отображается приглашение ко входу, или если
приглашение отображается, но войти невозможно, терминал
или кабель, возможно, не поддерживают квитирование связи.
Попробуйте изменить поле в /etc/ttys
с std.38400
на 3wire.38400
.
Запись 3wire
похожа на
std
, но игнорирует квитирование связи.
Вам может потребоваться уменьшить скорость соединения или
включить программный контроль передачи при использовании
3wire
для предотвращения переполнений
буфера.
Убедитесь, что терминал и FreeBSD имеют одинаковые установки
значения bps и четности. Проверьте процесс
getty
, чтобы убедиться, что используется
подходящий тип getty
. Если это не так,
отредактируйте /etc/ttys
и запустите
kill -HUP 1
.
Настройка системы FreeBSD для поддержки входящих соединений очень похожа на подсоединение терминалов за исключением того, что вы работаете с модемами вместо терминалов.
Внешние модемы более удобны для дозвона, поскольку легко могут быть настроены с помощью параметров, сохраняемых в энергонезависимой памяти. На них обычно есть индикаторы, отображающие состояние основных RS-232 сигналов. Мигающие индикаторы впечатляют, но кроме того они также очень полезны для индикации правильной работы модема.
Внутренние модемы обычно не снабжаются энергонезависимой памятью, поэтому их настройка может ограничиваться установкой DIP переключателей. Если на внутреннем модеме есть индикаторы, их обычно сложно увидеть при закрытой крышке корпуса.
Если вы используете внешний модем, несомненно потребуется подходящий кабель. Стандартный RS-232C кабель должен подойти, если подключены все обычные сигналы:
Сокращение | Наименование | Назначение |
---|---|---|
RD | Received Data | Принимаемые данные |
TD | Transmitted Data | Передаваемые данные |
DTR | Data Terminal Ready | Готовность терминала |
DSR | Data Set Ready | Готовность данных |
DCD | Data Carrier Detect | Наличие несущей |
SG | Signal Ground | Сигнальная земля |
RTS | Request to Send | Запрос на посылку |
CTS | Clear to Send | Готовность к приему |
FreeBSD требуются сигналы RTS и CTS для контроля передачи на скоростях выше 2400 bps, сигнал CD для определения, был ли ответ на сигнал или произошло отключение линии, и сигнал DTR для сброса модема после завершения сессии. Некоторые кабели не поддерживают все необходимые сигналы, поэтому, если вы столкнулись с проблемами, например, если сессия не завершается после отсоединения линии, причиной возможно являются проблемы с кабелем.
Как и другие UNIX(R) подобные операционные системы, FreeBSD использует аппаратные сигналы для определения того, был ли ответ на звонок или линия была отключена и требуется завершить работу модема и сбросить его в начальное состояние. FreeBSD избегает отправлять команды модему или просматривать отчеты о статусе от модема. Если вы знакомы с настройкой BBS, это может показаться неудобным.
FreeBSD поддерживает интерфейсы, основанные на NS8250, NS16450, NS16550, и NS16550A EIA RS-232C (CCITT V.24). Устройства 8250 и 16450 снабжены односимвольным буфером. Устройство 16550 снабжено 16-ти символьным буфером, который повышает производительность системы. (Ошибки в 16550 делают невозможным использование 16-символьного буфера, поэтому используйте 16550A если возможно). Поскольку устройства с односимвольным буфером предъявляют большие требования к операционной системе, чем с 16-ти символьным буфером, предпочтительны устройства на 16550A. Если в системе много активных последовательных портов или нагрузка велика, устройства на 16550A лучше подходят для поддержки соединений с малым количеством ошибок.
Как и с терминалами, init
запускает процесс
getty
на каждом настроенном для входящих
звонков последовательном порту. Например, если модем подключен
к /dev/ttyd0
, команда ps ax
может вывести следующее:
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
Когда пользователь дозванивается на подключенный модем, модем
выдает сигнал CD (Carrier Detect).
Ядро определяет, что несущая обнаружена и завершает открытие порта
командой getty
. getty
отправляет приглашение login:
на указанной скорости.
getty
ожидает в ответ набор символов, и, как
правило, получает неправильный набор (обычно это происходит
из-за того, что скорость соединения модема отличается от скорости
getty
). getty
пробует
подобрать скорость линии до тех пор, пока не получит правильный
набор символов.
После того, как будет введено имя пользователя,
getty
выполняет
/usr/bin/login
, которая завершает вход,
запрашивая пароль пользователя и запуская оболочку.
Есть три файла настройки системы в каталоге
/etc
, которые возможно потребуется
отредактировать для включения удаленного доступа по модему в FreeBSD.
Первый, /etc/gettytab
, содержит информацию по
настройке даемона /usr/libexec/getty
.
Второй, /etc/ttys
, содержит информацию,
указывающую /sbin/init
на каких устройствах
tty
должны быть запущены процессы
getty
. Наконец, вы можете поместить команды
инициализации портов в скрипт /etc/rc.d/serial.
В UNIX(R) есть две школы настройки модемов для входящих соединений. Одна предпочитает настраивать модемы и системы так, что не важно на какой скорости подсоединяется удаленный пользователь. Локальный интерфейс RS-232 компьютер-модем работает на жестко заданной скорости. Преимущество этой настройки в том, что удаленный пользователь всегда сразу видит приглашение ко входу. Обратная сторона в том, что система не знает, какова на самом деле скорость передачи данных, поэтому полноэкранные программы, такие как Emacs, не настраивают свои методы отображения на экране для работы с медленными соединениями.
Другая школа настраивает интерфейс RS-232 для работы с различной
скоростью в зависимости от скорости подсоединения удаленного
пользователя. Например, соединение модемов по протоколу V.32bis
(14.4 Кбит/с) установит скорость порта RS-232 равной
19.2 Кбит/с, а соединение на скорости 2400 бит/с
установит скорость RS-232 равной 2400 бит/с. Поскольку
getty
не понимает сообщений модема о
скорости соединения, getty
выдает
приглашение login:
на установленной по умолчанию
скорости и считывает символы, полученные в ответе. Если пользователь
видит <<мусор>> вместо приглашения ко входу, это означает,
что нужно нажимать Enter до тех пор, пока не
появится приглашение ко входу. Если скорости не совпадают,
getty
получает все, что вводит пользователь, в
виде <<мусора>>, пробует переключиться на другую скорость
и выдает приглашение login:
опять. Эта процедура
может продолжаться до отвращения, но обычно требуется одно или два
нажатия клавиши перед появлением нормально выглядящего приглашения.
Очевидно, эта последовательность входа не так хороша, как метод
с фиксированной скоростью, но при низкой скорости соединения
работать с полноэкранными программами станет проще.
В этом разделе делается попытка дать сбалансированную информацию для настройки, но предпочтение будет отдано установке скорости соединения с модемом в соответствие скорости подключения.
/etc/gettytab
это файл в стиле
termcap(5), содержащей информацию по настройке getty(8).
Пожалуйста, обратитесь к странице справочника gettytab(5)
за полной информацией о формате файла и за списком
возможностей getty
.
Если вы зафиксировали скорость соединения модема на
определенной скорости, редактировать файл
/etc/gettytab
скорее всего не
потребуется.
Вам потребуется сделать запись в
/etc/gettytab
для предоставления
getty
информации о скоростях, которые
предполагается использовать для модема. Если у вас
2400 бит/с модем, возможно, подойдет существующая
запись D2400
.
# # Fast dialup terminals, 2400/1200/300 rotary (can start either way) # D2400|d2400|Fast-Dial-2400:\ :nx=D1200:tc=2400-baud: 3|D1200|Fast-Dial-1200:\ :nx=D300:tc=1200-baud: 5|D300|Fast-Dial-300:\ :nx=D2400:tc=300-baud:
Если у вас более скоростной модем, вам возможно потребуется
добавить запись в /etc/gettytab
; вот запись,
которую вы можете использовать для 14.4 Кбит/с модема с
максимальной скоростью интерфейса 19.2 Кбит/с:
# # Additions for a V.32bis Modem # um|V300|High Speed Modem at 300,8-bit:\ :nx=V19200:tc=std.300: un|V1200|High Speed Modem at 1200,8-bit:\ :nx=V300:tc=std.1200: uo|V2400|High Speed Modem at 2400,8-bit:\ :nx=V1200:tc=std.2400: up|V9600|High Speed Modem at 9600,8-bit:\ :nx=V2400:tc=std.9600: uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200:
Эта настройка включает 8-битные соединения без программного контроля четности.
В примере выше скорость порта будет переключаться в цикле
начиная с 19.2 Кбит/с (для соединения по V.32bis), затем
9600 бит/с (для V.32), 2400 бит/с, 1200 бит/с,
300 бит/с, и обратно на 19.2 Кбит/с.
Переключение скоростей в цикле реализовано с помощью
nx=
(<<next table>>).
Каждая из линий использует tc=
(<<table
continuation>>) для указания <<стандартных>>
(std) настроек на каждой скорости.
Если у вас 28.8 Кбит/с модем и/или вы хотите получить
преимущество от сжатия на скорости 14.4 Кбит/с, потребуются
скорости выше, чем 19.2 Кбит/с. Вот пример записи из
gettytab
для начала соединения на скорости
57.6 Кбит/с:
# # Additions for a V.32bis or V.34 Modem # Starting at 57.6 Kbps # vm|VH300|Very High Speed Modem at 300,8-bit:\ :nx=VH57600:tc=std.300: vn|VH1200|Very High Speed Modem at 1200,8-bit:\ :nx=VH300:tc=std.1200: vo|VH2400|Very High Speed Modem at 2400,8-bit:\ :nx=VH1200:tc=std.2400: vp|VH9600|Very High Speed Modem at 9600,8-bit:\ :nx=VH2400:tc=std.9600: vq|VH57600|Very High Speed Modem at 57600,8-bit:\ :nx=VH9600:tc=std.57600:
Если у вас медленный CPU или сильно загруженная система без последовательных портов на базе 16550A, на скорости 57.6 Кбит/с могут возникнуть ошибки sio <<silo>>.
Настройка файла /etc/ttys
была описана в Пример 22.1, <<Добавление записей терминалов в
/etc/ttys
>>.
Настройка модемов похожа, но потребуется передавать
getty
различные аргументы и
указывать различные типы терминалов. Общий формат
для фиксированной и переменной скорости такой:
ttyd0 "/usr/libexec/getty xxx
" dialup on
Первый пункт в строке выше это специальный файл устройства для
этой записи - ttyd0
означает,
что getty
будет запущена на
/dev/ttyd0
. Второй пункт,
"/usr/libexec/getty
(xxx
"xxx
будет замещено на запись из
gettytab
для начальной скорости), это процесс,
который будет запущен на данном устройстве. Третий пункт,
dialup
, это тип терминала по умолчанию.
Четвертый параметр, on
, указывает
init
, что линия включена. Может быть пятый
параметр, secure
, но он должен использоваться
только для терминалов, которые физически безопасны (таких как
системная консоль).
Тип терминала по умолчанию (dialup
в примере
выше) может зависеть от личных предпочтений.
dialup
это традиционный тип терминала по
умолчанию на линиях для дозвона, который позволяет пользователям,
зная что тип терминала dialup
, автоматически
настраивать свой тип терминала. Однако, автор находит более
легким указание vt102
в качестве типа терминала
по умолчанию, поскольку пользователи работают на своих
удаленных системах с эмулятором терминала VT102.
После внесения изменений в /etc/ttys
,
вы можете отправить процессу init
сигнал
HUP перечитать файл. Используйте команду
#
kill -HUP 1
для отправки сигнала. Если вы настраиваете систему в первый раз,
то возможно захотите подождать, пока модем(ы) правильно
настроятся и соединятся перед отправкой сигнала
init
.
Для настройки соединения с фиксированной скоростью, в файле
ttys
должна быть запись с фиксированной
скоростью для getty
. Для модема, скорость порта
которого фиксирована на значении 19.2 Кбит/с, строка в
ttys
может выглядеть так:
ttyd0 "/usr/libexec/getty std.19200" dialup on
Если скорость модема фиксирована на другом значении,
подставьте соответствующее значение в
std.
вместо speed
std.19200
. Убедитесь, что вы
используете тип, описанный в
/etc/gettytab
.
В настройке с переменной скоростью, запись в
ttys
должна обращаться к соответствующей
<<auto-baud>> (sic) записи в
/etc/gettytab
. Например, если вы добавите
предложенную выше запись для подключения модема с переменной
скоростью, которая начинается с 19.2 Кбит/с (запись в
gettytab
начинается с
V19200
), запись в
ttys
может выглядеть так:
ttyd0 "/usr/libexec/getty V19200" dialup on
Для высокоскоростных модемов, таких как V.32, V.32bis и V.34,
требуется использование аппаратного контроля передачи
(RTS/CTS
). Вы можете добавить команды
stty
к файлу /etc/rc.d/serial
для установки флага аппаратного контроля передачи в ядре
FreeBSD для модемных портов.
Например, для установки флага termios
crtscts
на последовательном порту номер 1
(COM2
) при инициализации устройств
для входящей и исходящей связи, в
/etc/rc.d/serial
должны быть добавлены
следующие строки:
# Serial port initial configuration stty -f /dev/ttyd1.init crtscts stty -f /dev/cuad1.init crtscts
Если параметры вашего модема могут быть сохранены в
энергонезависимой памяти, потребуется использовать
терминальную программу (например, Telix под MS-DOS(R) или
tip
под FreeBSD) для установки
параметров. Подсоединитесь к модему, используя ту же скорость
соединения, которую использует getty
в
качестве начальной скорости, и настройте модем для
соответствия следующим требованиям:
CD включен после соединения
DTR включен во время работы; сброс DTR отключает линию и переводит модем в начальное состояние
CTS контроль переданных данных
Контроль потока XON/XOFF отключен
RTS контроль принятых данных
<<Тихий>> режим (без кодов возврата)
Эхо команд отключено
Прочтите документацию на модем для определения какие команды и/или DIP переключатели требуются чтобы установить эти настройки.
Например, для установки вышеуказанных параметров на внешнем 14,400 модеме U.S. Robotics(R) Sportster(R), требуется отправить модему следующие команды:
ATZ AT&C1&D2&H1&I0&R2&W
Вы, возможно, захотите настроить и другие параметры модема, такие как использование сжатия V.42bis и/или MNP5.
Внешний U.S. Robotics(R) Sportster(R) 14,400 модем также снабжен некоторыми DIP переключателями, которые требуется установить; для других модемов эти настройки могут быть использованы в качестве примера:
Переключатель 1: вверх - нормальный DTR
Переключатель 2: N/A (визуальные коды возврата/числовые коды возврата)
Переключатель 3: вверх - подавление кодов возврата
Переключатель 4: вниз - без эхо, offline команды
Переключатель 5: вверх - авто ответ
Переключатель 6: вверх - нормальный контроль несущей
Переключатель 7: вверх - загрузить установки по умолчанию из NVRAM
Переключатель 8: N/A (Smart/Dumb режимы)
Коды возврата должны быть отключены/подавлены для устранения
проблем, которые могут возникнуть, если getty
ошибочно выдаст приглашение login:
модему в
командном режиме и модем вернет (echo) эту команду или код
возврата. Эта последовательность может привести к дополнительному
и бессмысленному обмену командами между getty
и модемом.
Для настройки фиксированной скорости вам потребуется настроить модем с поддержкой постоянной скорости обмена данными модем-компьютер независимо от скорости соединения. На внешнем модеме U.S. Robotics(R) Sportster(R) 14,400 эти команды зафиксируют скорость передачи модем-компьютер на скорости, которая установлена при выполнении команды:
ATZ AT&B1&W
Для настройки переменной скорости вам потребуется настроить модем с поддержкой изменения скорости передачи данных через последовательный порт в соответствии через скоростью соединения. Следующие команды зафиксируют скорость передачи данных с коррекцией ошибок внешнего модема U.S. Robotics(R) Sportster(R) 14,400 на значении, которое установлено при выполнении команды, но сделают возможным изменение скорости последовательного порта для соединений без коррекции ошибок:
ATZ AT&B2&W
Большинство высокоскоростных модемов предоставляют команды для
просмотра текущих параметров модема в виде, отчасти приспособленном
для чтения. Для внешних модемов U.S. Robotics(R) Sportster(R) 14,400
команда ATI5
отображает установки, сохраненные в
энергонезависимой памяти. Для просмотра действующих параметров
модема (с учетом положения DIP переключателей), используйте
команду ATZ
, а затем ATI4
.
Если ваш модем другого производителя, проверьте руководство к модему для аккуратной проверки параметров настройки модема.
Вот несколько шагов, которые нужно выполнить для проверки настроек.
Подсоедините модем к системе FreeBSD, загрузите систему, и,
если на модеме есть индикаторы, посмотрите, загорелся ли
индикатор DTR при появлении приглашения
login:
на системной консоли - если он
загорелся, это означает, что FreeBSD запустила процесс
getty
на соответствующем коммуникационном
порту и модем ожидает входящего звонка.
Если индикатор DTR не загорелся, войдите
на консоль системы FreeBSD и выполните команду ps
ax
, чтобы увидеть, пытается ли FreeBSD запустить процесс
getty
на соответствующем порту. Вы должны
увидеть строки вроде этих среди показанных процессов:
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
Если вы видите что-то другое, вроде этого:
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
и модем все еще не принимает звонок, это означает, что
getty
завершила открытие коммуникационного
порта. Это может означать проблему с кабелем или неправильную
настройку модема, поскольку getty
не должна
открывать коммуникационный порт, пока модем не установит
CD (обнаружение несущей).
Если вы не видите процессов getty
, ожидающих
открытия соответствующего порта
ttyd
,
внимательно проверьте записи в N
/etc/ttys
и попробуйте найти ошибки, если они есть. Проверьте также лог файл
/var/log/messages
, нет ли там сообщений от
init
или getty
, имеющих
отношение к проблеме. Если сообщения есть, проверьте еще раз
файлы настройки /etc/ttys
и
/etc/gettytab
, как и соответствующие
специальные файлы устройств /dev/ttydN
, чтобы
обнаружить ошибки, отсутствующие записи или отсутствующие
специальные файлы устройств.
Попробуйте дозвониться до системы; убедитесь, что используете
8 бит без четности и 1 стоп бит на удаленной системе. Если
вы не получите приглашение сразу, или получите случайные
данные, попробуйте нажимать Enter примерно
раз в секунду. Если вы все еще не видите приглашения
login:
после нескольких попыток, попробуйте
отправить команду BREAK
. Если вы используете
для дозвона высокоскоростной модем, попробуйте позвонить еще раз
после фиксирования скорости интерфейса дозванивающегося модема
(например, с помощью команды AT&B1
для
модема U.S. Robotics(R) Sportster(R)).
Если вы все еще не можете получить приглашение
login:
, проверьте
/etc/gettytab
еще раз и убедитесь,
что
Имя параметра getty
, указанного в
/etc/ttys
, совпадает с именем параметра в
/etc/gettytab
Каждая запись nx=
соответствует
имени другой записи в gettytab
Каждая запись tc=
соответствует
имени другой записи в gettytab
Если система FreeBSD не отвечает на звонок, убедитесь, что модем настроен для ответа на звонок при включении DTR. Если модем настроен правильно, проверьте, что DTR включается, взглянув на индикаторы модема (если они есть).
Если вы проверили все несколько раз и все еще не добились результата, сделайте перерыв и вернитесь к настройкам позже. Если опять ничего не получилось, возможно вам потребуется отправить письмо в Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD, описав модем и возникшую проблему, участники рассылки попробуют помочь вам.
Текст, приведенный ниже, это советы, позволяющие настроить ваш хост для доступа к другому компьютеру через модем. Они подходят для установления терминальной сессии с удаленным хостом.
Это подходит для входа на BBS.
Этот вид соединения может очень выручить, если требуется получить файл из интернет и есть проблемы с PPP. Если вам требуется зайти куда-то по FTP, а PPP не работает, используйте терминальную сессию для получения файла по FTP. Затем используйте zmodem для сброса его на свой компьютер.
На самом деле, страница руководства для tip
устарела. Встроенная поддержка generic Hayes уже есть. Используйте
at=hayes
в файле
/etc/remote
.
Драйвер Hayes не умеет работать с некоторыми расширенными
возможностями более новых модемов - сообщения вроде
BUSY
, NO DIALTONE
, или
CONNECT 115200
. Вы должны отключить
эти сообщения при использовании tip
(с
помощью ATX0&W
).
Таймаут дозвона для tip
составляет 60 секунд.
Ваш модем должен использовать меньшее значение, или tip
решит, что возникли проблемы со связью. Попробуйте
ATS7=45&W
.
Оригинальная tip
не полностью поддерживает
модемы Hayes. Решить это проблему можно отредактировав файл
tipconf.h
в каталоге
/usr/src/usr.bin/tip/tip
. Конечно, для этого
вам потребуются исходные тексты.
Замените строку #define HAYES 0
на
#define HAYES 1
. Затем выполните
make
и make install
. После
этого все должно работать отлично.
Сделайте то, что называется <<прямой>> записью в
файле /etc/remote
. Например, если модем
подключен к первому последовательному порту,
/dev/cuad0
, добавьте следующую строку:
cuad0:dv=/dev/cuad0:br#19200:pa=none
Используйте для br наибольшее значение bps, поддерживаемое
модемом. Для подключения к модему выполните
tip cuad0
.
Или используйте cu
под
root
так:
#
cu -l
line
-sspeed
line
это последовательный порт
(например /dev/cuad0
), а
speed
это скорость
(например 57600
). После ввода команд AT
наберите ~. для выхода.
Знак @
в телефонном номере указывает
tip
взять телефонный номер из
/etc/phones
. Но знак @
это также специальный символ в таких файлах как
/etc/remote
. Экранируйте его с помощью
обратной косой черты:
pn=\@
Поместите так называемую <<generic>> запись в файл
/etc/remote
. Например:
tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:
Затем вы можете сделать следующее:
#
tip -115200 5551234
Если вы предпочитаете cu
команде
tip
, используйте generic запись для
cu
:
cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:
и выполните:
#
cu 5551234 -s 115200
Создайте запись tip1200
или
cu1200
, но используйте то значение bps, которое
записано в поле br. tip
считает, что хорошее
значение по умолчанию это 1200 bps, поэтому обращается к
записи tip1200
. Тем не менее, значение bps
будет другим.
Вместо ожидания соединения и ввода каждый раз
CONNECT <host>
, используйте возможность
tip
cm
. Вот пример записи в
/etc/remote
:
pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:
Она позволит вам вводить tip pain
или
tip muffin
для соединения с хостами pain или
muffin, и tip deep13
для доступа к терминальному
серверу.
Эта проблема часто возникает в университете, где несколько модемных линий и несколько тысяч студентов, пытающихся их использовать.
Создайте запись для университета в
/etc/remote
и используйте @
для pn
:
big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:
Затем, создайте список телефонов для университета в
/etc/phones
:
big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114
tip
попробует связаться с каждым в указанном
порядке, затем прекратит попытки. Если вы хотите продолжать
соединяться, запустите tip
в цикле.
Ctrl+P
это <<управляющий>> символ по умолчанию, используемый
для указания tip
того, что далее идут символьные
данные. Вы можете сделать любой другой символ управляющим с помощью
экранирования ~s
, которое означает
<<установить переменную>>.
Введите
~sforce=
,
завершив ввод новой строкой. single-char
single-char
это любой одиночный символ. Если вы не введете
single-char
, управляющим символом станет
nul, который можно получить, введя
Ctrl+2
или
Ctrl+Space.
Хорошее значение для single-char
это
Shift+Ctrl+6, которое используется только на некоторых терминальных
серверах.
Вы можете использовать в качестве управляющего символа все, что
захотите, поместив его в файл
$HOME/.tiprc
:
force=<single-char>
Вы нажали
Ctrl+A, <<повышающий символ>> tip
,
который был специально введен для тех, у кого не работает клавиша
caps-lock. Используйте ~s
как в примере выше
для установки переменной raisechar
в подходящее
значение. Фактически, вы можете установить ее в то же значение, что
и управляющий символ, если не собираетесь использовать ни один из
них.
Вот пример .tiprc, отлично подходящий для пользователей Emacs, которым часто требуется вводить Ctrl+2 и Ctrl+A:
force=^^ raisechar=^^
Символ ^^ это Shift+Ctrl+6.
Если вы соединяетесь с другой системой UNIX(R), возможны передача
и прием файлов с помощью команды ~p
(put) и
~t
(take). Эти команды запускают
cat
и echo
в удаленной системе
для приема и передачи файлов. Синтаксис следующий:
~p
local-file [remote-file]
~t
remote-file [local-file]
Коррекции ошибок нет, поэтому возможно лучше использовать другой протокол, например zmodem.
Для получения файла запустите отправляющую программу на удаленной
стороне. Затем, наберите ~C rz
для начала
локального приема файла.
Для отправки файлов запустите принимающую программу на удаленной
стороне. Затем, наберите
~C sz
для
отправки их на удаленную систему.файлы
FreeBSD может загружаться при использовании в качестве консоли текстового терминала на последовательном порту. Такая конфигурация может быть полезна в двух случаях: для системных администраторов, устанавливающих FreeBSD на компьютеры без подключенных клавиатуры или монитора, и для разработчиков, производящих отладку ядра или драйверов устройств.
Как описано в Глава 13, Процесс загрузки FreeBSD, процесс загрузки FreeBSD
состоит из трех стадий. Первые две стадии реализованы в блоке
загрузки, находящемся в начале слайса FreeBSD на загрузочном
диске. На третей стадии загрузочный блок запускает загрузчик
(/boot/loader
).
Для настройки последовательной консоли вам потребуется настроить блок загрузки, загрузчик и ядро.
В этом разделе предполагается, что вы используете настройки по умолчанию и просто хотите увидеть краткий обзор настройки последовательной консоли.
Соедините кабелем последовательный порт COM1 и управляющий терминал.
Для того, чтобы сообщения в процессе загрузки выводились в последовательную консоль, выполните от имени суперпользователя команду
#
echo 'console="comconsole"' >> /boot/loader.conf
Отредактируйте /etc/ttys
и измените
off
на on
и
dialup
на vt100
для записи
ttyd0
. В противном случае для входа с
последовательной консоли не будет требоваться пароль, что
может являться проблемой с точки зрения безопасности.
Перезагрузите систему и убедитесь, что последовательная консоль активировалась.
Если вам требуется иная конфигурация, обратитесь к более подробному описанию в разделе Раздел 22.6.3, <<Настройка последовательной консоли>>.
Подготовьте кабель.
Вам потребуется нуль-модемный или стандартный последовательный кабель и нуль-модемный адаптер. Обратитесь к Раздел 22.2.2, <<Кабели и порты>>, где рассматриваются последовательные кабели.
Отключите клавиатуру.
Большинство систем PC тестируют клавиатуру во время включения (POST) и выдают ошибку если клавиатура не обнаружена. Некоторые системы при отсутствии клавиатуры выдают звуковой сигнал и не загружаются пока клавиатура не будет подключена.
Если компьютер сообщает об ошибке, но все же загружается, вам не потребуется делать что-то еще. (Некоторые компьютеры с Phoenix BIOS просто сообщают Keyboard failed и продолжают загрузку).
Если компьютер не загружается без клавиатуры, вам потребуется настроить BIOS так, чтобы отсутствие клавиатуры игнорировалось (если это возможно). Обратитесь к руководству по материнской плате за деталями о том, как это сделать.
Установите параметр клавиатуры в настройках BIOS в значение <<Not installed>>. При этом вы сможете продолжать использовать клавиатуру. Все, что делает этот параметр - указывает BIOS не тестировать клавиатуру во время загрузки, поэтому ее отсутствие не вызывает ошибки. Вы можете оставить клавиатуру подключенной, даже если с флагом <<Not installed>>, и она все еще будет работать.
Если в к системе подключена PS/2(R) мышь, отключите ее, как и клавиатуру. Мышь PS/2(R) использует часть оборудования совместно с клавиатурой, поэтому если оставить ее подключенной, тестирование клавиатуры может ошибочно выдать наличие последней. Например, система Gateway 2000 Pentium 90 MHz ведет себя именно так. К тому же, это не проблема, поскольку мышь без клавиатуры как правило не нужна.
Подключите текстовый терминал к COM1
(sio0
).
Если у вас нет текстового терминала, используйте старый PC/XT
с модемной программой, или последовательный порт на другом
компьютере UNIX(R). Если порта COM1
(sio0
) нет, подключите его. На данный
момент нет способа использовать другой порт вместо
COM1
без перекомпиляции загрузочных
блоков. Если вы уже используете COM1
для подключения другого устройства, временно удалите это
устройство установите новый загрузочный блок и ядро как только
FreeBSD заработает. (Предполагается, что
COM1
будет доступен на
файловом/вычислительном/терминальном сервере в любом случае;
если вам действительно требуется COM1
для чего-то другого (и вы не можете переключить это на
COM2
(sio1
)),
возможно не стоит беспокоиться об этом сейчас.)
Убедитесь, что в файле настройки ядра установлены
соответствующие флаги для COM1
(sio0
).
Подходящие флаги такие:
0x10
Включает поддержку консоли для этого устройства. Если
установлен этот флаг, другие игнорируются. На данный
момент поддержка консоли может быть включена не более
чем на одном устройстве; предпочтительно на первом (в
соответствии с порядком в конфигурационном файле) с
установкой этого флага. Эта опция сама по себе не сделает
последовательный порт консолью. Установите следующий
флаг или используйте опцию -h
,
описанную ниже, вместе с этим флагом.
0x20
Включает поддержку консоли на устройстве (если нет
другой консоли с более высоким приоритетом), независимо
от наличия описываемой ниже опции -h
.
Флаг 0x20
должен использоваться вместе
с флагом 0x10
.
0x40
Резервирует это устройство (совместно с флагом
0x10
) и делает устройство недоступным
для обычной работы. Вы не должны использовать
этот флаг для устройства последовательного порта,
которое будет использоваться в качестве последовательной
консоли. Используйте этот флаг только если устройство
предназначено для удаленной отладки ядра. Обратитесь
к Руководству
для разработчиков за дополнительной информацией
по удаленной отладке.
Пример:
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Обратитесь к странице справочника sio(4) за подробностями.
Если флаги не были установлены, вам потребуется запустить UserConfig (на другой консоли) или пересобрать ядро.
Создайте boot.config
в корневом каталоге
раздела a
на загрузочном диске.
Этот файл сообщит загрузочному блоку способ загрузки системы. Для активации последовательной консоли вам потребуется одна или несколько следующих опций - несколько опций могут быть указаны на одной строке:
-h
Переключает внутреннюю и последовательную консоль. Вы
можете использовать ее для переключения устройств консоли.
Например, при загрузке с внутренней (видео) консоли, вы
можете использовать -h
для запуска
загрузчика и ядра с использованием последовательного порта
в качестве устройства консоли. При загрузке с
последовательной консоли, вы можете использовать опцию
-h
для указания загрузчику и ядру
использовать в качестве консоли видео дисплей.
-D
Переключает одно- и двухконсольную конфигурации. В
одноконсольной конфигурации консоль может быть либо
внутренней (видео дисплей), либо последовательным портом,
в зависимости от состояния опции -h
.
В двухконсольной конфигурации и видео дисплей и
последовательный порт станут консолями одновременно,
независимо от состояния опции -h
.
Имейте ввиду, что конфигурация с двумя консолями работает
только во время работы загрузочного блока. Как только
управление переходит к загрузчику, остается только одна
консоль, указанная опцией -h
.
-P
Указывает загрузочному блоку протестировать клавиатуру.
Если клавиатура не найдена, автоматически устанавливаются
параметры -D
и
-h
.
По причине ограничений на размер в существующей
версии загрузочного блока, опция -P
может протестировать только расширенные клавиатуры.
Клавиатуры с менее чем 101 клавишами (и без клавиш F11
и F12) могут быть не обнаружены. Клавиатуры некоторых
лэптопов могут быть не найдены из-за этого ограничения.
Если это случилось, вы не сможете использовать опцию
-P
. К сожалению, не существует
обходного пути решения этой проблемы.
Используйте или опцию -P
для автоматического
выбора консоли, или опцию -h
для активации
последовательной консоли.
Вы можете включить также другие опции, описанные в boot(8).
Опции, за исключением -P
, будут переданы
загрузчику (/boot/loader
). Загрузчик
определит будет ли консолью внутреннее видео устройство или
последовательный порт, проверив только состояние опции
-h
. Это означает, что если вы включите в
/boot.config
опцию -D
, но
не -h
, то сможете использовать консоль только
во время работы загрузочного блока; загрузчик будет использовать
внутреннее видео устройство в качестве консоли.
Загрузите компьютер.
Когда вы включите компьютер FreeBSD, загрузочный блок выведет
содержимое /boot.config
на консоль.
Например:
/boot.config: -P Keyboard: no
Вторая строка появится только если вы поместите
-P
в /boot.config
и
отражает наличие/отсутствие клавиатуры. Эти сообщения
выводятся либо на последовательную, либо на внутреннюю
консоль, или на обе, в зависимости от параметров в
/boot.config
.
Опции | Сообщения выводятся на |
---|---|
нет | внутренняя консоль |
-h | последовательная консоль |
-D | последовательная и внутренняя консоли |
-Dh | последовательная и внутренняя консоли |
-P , клавиатура присутствует | внутренняя консоль |
-P , клавиатура отсутствует | последовательная консоль |
После вывода вышеприведенных сообщений, происходит небольшая пауза перед тем, как запускается загрузчик и на консоли появляются следующие сообщения. В нормальной ситуации вам не потребуется прерывать загрузку в этот момент, но это можно сделать, чтобы убедиться, что все настроено правильно.
Нажмите на консоли любую клавишу кроме Enter для прерывания процесса загрузки. Загрузочный блок выдаст приглашение к дальнейшим действиям. Оно выглядит примерно так:
>> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:
Убедитесь, что сообщение выше появилось на последовательной,
внутренней консоли или на обеих, в зависимости от опций в
/boot.config
. Если сообщение появилось там,
где должно было появиться, нажмите Enter для
продолжения процесса загрузки.
Если вам нужна последовательная консоль, но на терминале не
видно приглашения, это означает проблемы с настройками. Введите
-h
и нажмите Enter/Return (если это возможно) для
указания загрузочному блоку (а также загрузчику и ядру) выбрать
последовательный порт в качестве консоли. Когда система
загрузится, проверьте настройки еще раз и определите, что было
сделано неправильно.
После запуска загрузчика и перехода в третью стадию процесса загрузки вы все еще можете переключиться между внутренней консолью и последовательной консолью путем установки соответствующих переменных окружения в загрузчике. Обращайтесь к разделу Раздел 22.6.6, <<Изменение консоли из загрузчика>>.
Здесь приведены краткие итоги по различным настройкам, рассмотренным в этом разделе и выбираемым в соответствии с ними консолям.
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Параметры в /boot.config | Консоль для загрузочного блока | Консоль для загрузчика | Консоль для ядра |
---|---|---|---|
нет | внутренняя | внутренняя | внутренняя |
-h | последовательная | последовательная | последовательная |
-D | последовательная и внутренняя | внутренняя | внутренняя |
-Dh | последовательная и внутренняя | последовательная | последовательная |
-P , клавиатура присутствует | внутренняя | внутренняя | внутренняя |
-P , клавиатура отсутствует | последовательная и внутренняя | последовательная | последовательная |
device sio0 at isa? port IO_COM1 flags 0x30 irq 4
Параметры в /boot.config | Консоль для загрузочного блока | Консоль для загрузчика | Консоль для ядра |
---|---|---|---|
нет | внутренняя | внутренняя | последовательная |
-h | последовательная | последовательная | последовательная |
-D | последовательная и внутренняя | внутренняя | последовательная |
-Dh | последовательная и внутренняя | последовательная | последовательная |
-P , клавиатура присутствует | внутренняя | внутренняя | последовательная |
-P , клавиатура отсутствует | последовательная и внутренняя | последовательная | последовательная |
По умолчанию, последовательный порт настроен так: 9600 бит/с,
8 бит, без четности, 1 стоп бит. Если вам необходимо изменить
скорость, потребуется перекомпиляция как минимум загрузочных
блоков. Добавьте следующую строку к
/etc/make.conf
и скомпилируйте новый
загрузочный блок:
BOOT_COMCONSOLE_SPEED=19200
Обратитесь к Раздел 22.6.5.2, <<Использование для консоли другого последовательного порта
вместо sio0
>> за
подробными инструкциями по сборке и установке новых загрузочных
блоков.
Если последовательная консоль настраивается не путем установки
параметра -h
, или последовательная консоль,
используемая ядром, отличается от той, что используется загрузочным
блоком, потребуется добавить следующие опции к файлу настройки ядра
и собрать новое ядро:
options CONSPEED=19200
Использование другого последовательного порта вместо
sio0
для консоли потребует кое-какой
перекомпиляции. Если вы по каким-либо причинам хотите использовать
другой последовательный порт, перекомпилируйте загрузочный блок,
загрузчик и ядро согласно приведенной ниже инструкции.
Получите исходные тексты ядра (глава Глава 21, Обновление системы и смена версии)
Отредактируйте /etc/make.conf
и
установите BOOT_COMCONSOLE_PORT
в
соответствии с адресом порта, который вы хотите использовать
(0x3F8, 0x2F8, 0x3E8 или 0x2E8). Могут быть использованы
только устройства от sio0
до
sio3
(от COM1
до COM4
); мультипортовые
последовательные карты не будут работать. Установка
прерываний не требуется.
Создайте файл настройки ядра и добавьте соответствующие
флаги для порта, который планируется использовать. Например,
если вы хотите использовать для консоли
sio1
(COM2
):
device sio1 at isa? port IO_COM2 flags 0x10 irq 3
или
device sio1 at isa? port IO_COM2 flags 0x30 irq 3
Флаги для других последовательных устройств не устанавливайте.
Соберите и установите загрузочный блок и загрузчик:
#
cd /sys/boot
#
make clean
#
make
#
make install
Соберите и установите ядро.
Запишите загрузочный блок на загрузочный диск с помощью bsdlabel(8) и загрузитесь с новым ядром.
Если вы хотите войти в отладчик ядра с последовательной консоли (полезно для удаленной диагностики, но опасно если вы введете неправильный BREAK на последовательном порту!), потребуется собрать ядро со следующими параметрами:
options BREAK_TO_DEBUGGER options DDB
Хотя это не обязательно, вам может потребоваться приглашение login по последовательной линии, в дополнение к уже доступным загрузочным сообщениям и отладочной сессии ядра. Здесь описано как сделать это.
Откройте файл /etc/ttys
с помощью
редактора и найдите строки:
ttyd0 "/usr/libexec/getty std.9600" unknown off secure ttyd1 "/usr/libexec/getty std.9600" unknown off secure ttyd2 "/usr/libexec/getty std.9600" unknown off secure ttyd3 "/usr/libexec/getty std.9600" unknown off secure
Строки от ttyd0
до ttyd3
соответствуют портам от COM1
до
COM4
. Измените off
на
on
для требуемого порта. Если вы изменили
скорость последовательного порта, может потребоваться изменить
std.9600
для соответствия текущим настройкам,
например std.19200
.
Возможно, вы захотите заменить тип терминала
unknown
на тип реально используемого
терминала.
После редактирования файла потребуется выполнить
kill -HUP 1
для включения новых настроек.
Предыдущий раздел описывает настройку последовательной консоли изменением параметров загрузочного блока. Этот раздел показывает, как указать консоль, вводя команды и переменные окружения для загрузчика. Поскольку загрузчик загружается после загрузочного блока, на третьей стадии загрузочного процесса, настройки загрузчика превалируют над настройками загрузочного блока.
Вы можете прямо указать загрузчику и ядру использовать
последовательную консоль, записав одну строку в
/boot/loader.rc
:
set console="comconsole"
Это сработает независимо от настроек загрузочного блока, рассмотренных в предыдущем разделе.
Поместите эту строку в самое начало
/boot/loader.rc
, чтобы увидеть на
последовательной консоли все загрузочные сообщения.
Вы можете также указать внутреннюю консоль:
set console="vidconsole"
Если вы не установите переменную загрузчика
console
, загрузчик, а затем и ядро будут
использовать ту консоль, которая установлена параметром
-h
для загрузочного блока.
В версиях 3.2 или выше, вы можете указать консоль в
/boot/loader.conf.local
или
/boot/loader.conf
вместо
/boot/loader.rc
. С этим методом
/boot/loader.rc
должен выглядеть примерно
так:
include /boot/loader.4th start
Затем, создайте /boot/loader.conf.local
и
поместите туда следующую строку.
console=comconsole
или
console=vidconsole
Обращайтесь к loader.conf(5) за дополнительной информацией.
На данный момент у загрузчика нет параметра, эквивалентного
параметру -P
загрузочного блока и нет способа
автоматического выбора внутренней и последовательной консоли
в зависимости от наличия клавиатуры.
Вам потребуется перекомпилировать загрузчик для использования
отличного от sio0
последовательного порта
в качестве консоли. Следуйте процедуре, описанной в разделе
Раздел 22.6.5.2, <<Использование для консоли другого последовательного порта
вместо sio0
>>.
Идея в том, чтобы настроить выделенный сервер, который не требует графического оборудования или подсоединенной клавиатуры. К сожалению, хотя многие системы способны загрузиться без клавиатуры, есть совсем немного систем, способных загрузиться без графического адаптера. Компьютеры с AMI BIOS могут быть настроены для загрузки без графического адаптера простой установкой параметра настройки CMOS <<graphics adapter>> в значение <<Not installed>>.
Однако, многие компьютеры не поддерживают этот параметр и не смогут загрузиться без графического оборудования. Для этих компьютеров вам потребуется оставить подключенной любую графическую карту (даже если это просто старая моно карта), хотя монитор и не подключен.
В FreeBSD существует множество способов соединения одного компьютера с другим. Для установления соединения с отдельной сетью или интернет через обычный модем, или для открытия доступа к собственному компьютеру необходимо использование PPP или SLIP. В этой главе детально описана настройка таких модемных сервисов.
После прочтения этой главы вы будете знать:
Как настроить PPP уровня пользователя (user PPP).
Как настроить PPP уровня ядра (kernel PPP).
Как настроить PPPoE (PPP over Ethernet).
Как настроить PPPoA (PPP over ATM).
Как настроить SLIP клиента и сервер.
Перед прочтением этой главы вам потребуется:
Ознакомиться с основными сетевыми технологиями.
Понимать основы и назначение модемного соединения и PPP и/или SLIP.
Вы возможно захотите узнать, в чем главное различие между PPP
уровня пользователя и ядра. Ответ прост: PPP уровня пользователя
обрабатывает входящие и исходящие данные в пространстве пользователя,
а не в ядре. В терминах копирования данных между ядром и пространством
пользователя это дорогостоящий путь, который однако позволяет значительно
расширить возможности реализации PPP. PPP уровня пользователя
для связи с внешним миром использует устройство
tun
, а PPP уровня ядра - устройство
ppp
.
В дальнейшем в этой главе PPP уровня пользователя будет
обозначаться просто как ppp, пока не
потребуется различать его и любое другое программное обеспечение
PPP, такое как pppd. Если не указано
иначе, все команды, приведенные в этой главе, должны выполняться
под root
.
В этом документе предполагается, что у вас есть следующее:
Учетная запись у провайдера интернет (Internet Service Provider, ISP), к которому вы подсоединяетесь, используя PPP.
Модем или другое подключенное к системе и правильно настроенное устройство, позволяющее подключиться к провайдеру.
Номер модемного пула провайдера.
Имя пользователя (логин) и пароль (обычная UNIX(R) пара логин/пароль, или PAP/CHAP пара логин/пароль).
IP адреса одного или нескольких серверов имен. Обычно
провайдер дает для этих целей два IP адреса. Если нет
ни одного, вы можете использовать команду enable
dns
в ppp.conf
и
ppp настроит список серверов имен.
Эта возможность зависит от наличия поддержки согласования
DNS в реализации PPP провайдера.
Следующая информация может поставляться провайдером, но не является совершенно необходимой:
IP адрес шлюза провайдера. Шлюз это компьютер, к которому вы подключитесь и который будет настроен в качестве маршрута по умолчанию (default route). Если у вас нет этой информации, она может быть получена от PPP сервера после подключения.
Программой ppp этот IP адрес
обозначается как HISADDR
.
Сетевая маска, которую вы должны использовать.
Если провайдер не предоставил ее значение, вы можете
использовать 255.255.255.255
.
Если провайдер предоставил статический IP и имя хоста, используйте их. Иначе позвольте удаленной стороне назначить свободный IP адрес.
Если у вас нет всей необходимой информации, свяжитесь с провайдером.
В этом разделе строки файлов настройки из многих примеров пронумерованы. Эти номера приведены только для обсуждения настроек, они не должны помещаться в действующую настройку. Правильные отступы с табуляцией и пробелами также важны.
В обычной ситуации, большинству пользователей нужно только
одно устройство tun
(/dev/tun0
). Ссылки на
tun0
ниже могут быть заменены на
tun
,
где N
N
это любой номер устройства,
соответствующий вашей системе.
Для систем FreeBSD без devfs(5) (FreeBSD 4.X более
ранние), необходимо проверить устройство
tun0
(это не требуется, если включена
devfs(5), поскольку файлы устройств будут создаваться
автоматически).
Простейший способ убедиться, что устройство
tun0
настроено правильно, это пересоздать
устройство. Для пересоздания устройства выполните следующее:
#
cd /dev
#
sh MAKEDEV tun0
Если вам необходимы 16 туннельных устройств, потребуется их создать. Это можно сделать, выполнив следующие команды:
#
cd /dev
#
sh MAKEDEV tun15
И ppp
и pppd
(реализация PPP уровня ядра) используют файлы настройки,
расположенные в каталоге /etc/ppp
.
Примеры для ppp уровня пользователя можно найти в
/usr/share/examples/ppp/
.
Настройка ppp
требует редактирования
нескольких файлов, в зависимости от ваших потребностей. То,
что вы поместите в эти файлы, зависит в некоторой степени
от того, предоставит ли провайдер статический IP адрес
(т.е. вы получите один определенный IP адрес и будете использовать
его постоянно) или динамический (т.е. ваш IP адрес будет изменяться
при каждом подключении к провайдеру).
Вам потребуется отредактировать файл настройки
/etc/ppp/ppp.conf
. Он похож на приведенный
ниже пример.
Строки, оканчивающиеся на :
,
вводятся без отступа в начале строки, остальные строки
должны быть введены с отступом, как показано в примере.
1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION (built COMPILATIONDATE) 4 set device /dev/cuaa0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddrx.x.x.x
y.y.y.y
255.255.255.255 0.0.0.0 18 add default HISADDR
Начинает настройку по умолчанию (default). Команды этой настройки выполняются автоматически при запуске ppp.
Включает параметры протоколирования. Когда настройка работает удовлетворительно, эта строка должна быть сокращена до следующей формы
set log phase tun
для предотвращения появления слишком больших лог файлов.
Указывает PPP как идентифицировать себя на удаленной стороне. PPP идентифицирует себя на удаленной стороне если возникают проблемы согласования и установки соединения, предоставляя информацию, по которой администратор на удаленной стороне может воспользоваться для решения таких проблем.
Указывает устройство, к которому подключен модем.
COM1
это
/dev/cuaa0
, а
COM2
это
/dev/cuaa1
.
Устанавливает желаемую скорость подключения к модему. Если 115200 не работает (хотя должна работать для любого относительно нового модема) попробуйте 38400.
Строка дозвона. PPP уровня пользователя применяет expect-send синтаксис, похожий на синтаксис chat(8). Обратитесь к странице справочника за информацией о возможностях этого языка.
Обратите внимание, что эта команда продолжается на
следующей строке для улучшения читаемости. Любая команда
в ppp.conf
может быть продолжена
на следующей строке, если последний символ предыдущей
строки <<\
>>.
Устанавливает предельное время ожидания для соединения. Значение 180 секунд используется по умолчанию, так что строка с этим значением чисто косметическая.
Указывает PPP запросить у удаленной стороны сервера имен. Если вы работаете с локальным сервером имен, эта строка должна быть закомментирована или удалена.
Пустая строка для улучшения читаемости. Пустые строки игнорируются PPP.
Определяет настройки для провайдера, называемого
<<provider>>. Это имя может быть изменено
на имя вашего провайдера, чтобы в дальнейшем вы могли
использовать load
для
начала соединения.provider
Определяет телефонный номер для этого провайдера.
Несколько телефонных номеров могут быть указаны с
помощью двоеточия (:
) или
символа канала (|
) в качестве
разделителя. Различия между двумя разделителями описаны
в ppp(8). Главным образом они заключаются в том, что
если вы хотите перебирать номера, используйте двоеточие.
Если вы хотите дозваниваться по первому номеру в первую
очередь, и использовать другие номера только если
дозвон по первому завершится неудачно, используйте символ
канала. Всегда заключайте список номеров в кавычки, как
показано в примере.
Вы должны включить телефонный номер в кавычки
("
) если в нем используются пробелы.
Отсутствие кавычек может вызвать простую, но трудно
обнаруживаемую ошибку.
Задают имя пользователя и пароль. При использовании
приглашения login в стиле UNIX(R), эти значения
используются командой set login
через переменные \U и \P. При соединении с использованием
PAP или CHAP, эти значения используются во время
аутентификации.
Если вы используете PAP или CHAP, приглашение на вход не появится, и эта строка должна быть закомментирована или удалена. Обратитесь к странице аутентификация PAP и CHAP за дальнейшей информацией.
Строка для входа записана в том же chat-подобном синтаксисе, что и строка для дозвона. В этом примере строка работает для сервиса, сессия входа которого выглядит примерно так:
J. Random Provider login:foo
password:bar
protocol: ppp
Вам потребуется изменить эту строку для использования с другим сервисом. При первом составлении скрипта убедитесь, что вы включили <<chat>> протоколирование, чтобы убедиться, что соединение происходит как ожидалось.
Установка максимального времени ожидания по умолчанию
для соединения. В данном случае соединение будет разорвано
автоматически после 300 секунд неактивности. Если вы не
хотите, чтобы соединение разрывалось, установите эту
переменную в нуль, или используйте параметр командной
строки-ddial
.
Устанавливает адрес интерфейса. Строка
x.x.x.x
должна быть
заменена на IP адрес, который выделил вам провайдер.
Строка y.y.y.y
должна быть
заменена на IP адрес шлюза провайдера (компьютер, к
которому вы подключаетесь). Если провайдер не сообщил
адрес шлюза, используйте 10.0.0.2/0
.
Если вам требуется использовать <<вычисленные>>
адреса, убедитесь, что создана запись в
/etc/ppp/ppp.linkup
в соответствии
с инструкциями для PPP
и динамических IP адресов. Если эта строка
опущена, ppp
не может быть запущен в
режиме -auto
.
Добавляет маршрут по умолчанию к шлюзу провайдера.
Специальное слово HISADDR
заменяется
адресом шлюза, указанном в строке 17. Важно, чтобы
эта строка появилась после строки 17, до нее
переменная HISADDR
еще не
инициализирована.
Если вы не будете запускать ppp с параметром
-auto
, эта строка должна быть перемещена
в файл ppp.linkup
.
Нет необходимости добавлять запись в
ppp.linkup
, если у вас статический IP
адрес и ppp работает в режиме -auto
,
поскольку таблица маршрутизации настроена правильно еще
до подключения. Однако, вы возможно захотите создать запись
для запуска программ после соединения. Эта ситуация описана
далее в примере по sendmail.
Примерные файлы настройки находятся в каталоге
/usr/share/examples/ppp/
.
Если провайдер не выделил статический IP адрес,
ppp
может быть настроен для определения
локального и удаленного адреса. Это делается путем
<<вычисления>> IP адреса и настройки его программой
ppp
с использованием IP
Configuration Protocol (IPCP) после установления соединения.
Файл настройки ppp.conf
тот же, что и
в примере PPP и статические
IP адреса, со следующим изменением:
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Как и раньше, не включайте номер строки, он используется только для ссылки на строку в этом примере. Требуется отступ хотя бы в один пробел.
Номер после символа /
это число
бит в адресе, которые будут запрошены ppp. Вы можете
использовать более подходящие вам IP адреса, но пример
выше всегда будет работать.
Если вы не используете режим -auto
,
потребуется создать запись в
/etc/ppp/ppp.linkup
.
Этот файл используется после установки соединения. На этот момент
ppp
уже настроит адреса интерфейсов и
станет возможным добавление записей в таблицу
маршрутизации:
1 provider: 2 add default HISADDR
При установке соединения, ppp
ищет запись в ppp.linkup
по следующим правилам: сначала в соответствии с
меткой, используемой в ppp.conf
.
Если это не сработает, ведется поиск записи для
IP адреса шлюза. Это метка в IP записывается в
виде IP адреса. Если запись все еще не найдена,
используется запись MYADDR
.
Эта строка сообщает ppp
добавить
маршрут по умолчанию, указывающий на
HISADDR
. HISADDR
будет заменен на IP адрес шлюза, определенного
IPCP.
Детальный пример находится в записи
pmdemand
файлов
/usr/share/examples/ppp/ppp.conf.sample
и
/usr/share/examples/ppp/ppp.linkup.sample
.
При настройке ppp для приема
входящих звонков на компьютере, подключенном к локальной сети,
вам необходимо решить, перенаправлять ли пакеты в локальную сеть.
Если вы будете делать это, выделите удаленной стороне IP адрес
из диапазона адресов локальной сети, и используйте команду
enable proxy
в файле
/etc/ppp/ppp.conf
. Вам потребуется также
убедиться, что в файле /etc/rc.conf
присутствует строка:
gateway_enable="YES"
Раздел Настройка FreeBSD для входящих соединений дает хорошее описание включения входящих соединений с использованием getty(8).
Альтернатива getty
это mgetty,
более интеллектуальная версия getty
,
разработанная специально для приема входящих звонков..
Преимущество использование mgetty
в
том, что она активно общается с модемами,
то есть если порт будет выключен в
/etc/ttys
, модем не будет отвечать на
звонок.
Последние версии mgetty
(от
0.99beta и выше) поддерживают также автоматическое определение
потоков PPP, позволяя клиентам безскриптовое подключение
к серверу.
Обратитесь к разделу Mgetty и
AutoPPP за дальнейшей информацией по
mgetty
.
Программа ppp
обычно запускается с
правами пользователя root
.
Если вы хотите разрешить запуск ppp
в режиме сервера с правами обычного пользователя
путем запуска ppp
как описано ниже,
этого пользователя необходимо добавить в группу
network
в файле
/etc/group
.
Вам также потребуется дать ему доступ к одному или более
разделов конфигурации, используя команду
allow
:
allow users fred mary
Если эта команда используется в разделе
default
, она дает пользователю полный
доступ.
Создайте файл, называющийся
/etc/ppp/ppp-shell
и содержащий
следующее:
#!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT
Этот скрипт должен быть исполняемым. Теперь создайте
на этот скрипт символическую ссылку с именем
ppp-dialup
с помощью следующей
команды:
#
ln -s ppp-shell /etc/ppp/ppp-dialup
Используйте этот скрипт в качестве
оболочки для удаленных пользователей.
Ниже приведен пример записи в /etc/password
для удаленных пользователей PPP с именем пользователя
pchilds
(не забывайте использовать
vipw
для редактирования файла паролей).
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Создайте каталог /home/ppp
,
который доступен для чтения и содержит следующие файлы
нулевой длины:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
Это предотвратит отображение
/etc/motd
.
Создайте файл ppp-shell
как в примере
выше, и для каждой учетной записи со статически назначаемым
IP создайте символическую ссылку на
ppp-shell
.
Например, если у вас три пользователя удаленного доступа,
fred
, sam
и
mary
, которые подключаются к вашей
сети класса C, выполните следующее:
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
Оболочка каждого из этих пользователей удаленного доступа
должна быть символической ссылкой, созданной выше
(например, оболочка пользователя mary
должна быть /etc/ppp/ppp-mary
).
Файл /etc/ppp/ppp.conf
должен
содержать примерно такие строки:
default: set debug phase lcp chat set timeout 0 ttyd0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy ttyd1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy
Необходимо соблюдать отступы.
Раздел default:
загружается для
каждого соединения. Для каждой строки, включенной в
/etc/ttys
, создайте запись,
подобную ttyd0:
выше. Каждая строка
должна содержать уникальные IP адреса из вашего пула
IP адресов, выделенных пользователям с динамическими
IP.
Помимо содержимого, описанного в примере файла
/usr/share/examples/ppp/ppp.conf
выше, вам потребуется добавить раздел для каждого из
пользователей со статическими IP. Мы продолжим использовать
имена fred
, sam
и mary
в качестве примера.
fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
Если требуется, файл /etc/ppp/ppp.linkup
должен также содержать информацию о маршрутизации для
каждого пользователя со статическим IP. В строке ниже
через клиентское соединение добавляется маршрут к сети класса
C203.14.101.0
.
fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR
Настройка и компиляция mgetty
с
параметром AUTO_PPP
позволяет
mgetty
определять LCP фазу
PPP соединений и автоматически порождать оболочку ppp.
Однако, поскольку стандартный метод логин/пароль не
используется, необходима аутентификация пользователей
через PAP или CHAP.
В этом разделе предполагается, что пользователь
успешно настроил, скомпилировал и установил версию
mgetty
с параметром
AUTO_PPP
(v0.99beta или
более поздняя).
Убедитесь, что в файле
/usr/local/etc/mgetty+sendfax/login.config
имеется следующая строка:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Это укажет mgetty
запускать скрипт
ppp-pap-dialup
для обнаруженных
соединений PPP.
Создайте файл
/etc/ppp/ppp-pap-dialup
, содержащий
следующее (этот файл должен быть выполняемым):
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Для каждой линии, включенной в
/etc/ttys
, создайте соответствующую запись
в /etc/ppp/ppp.conf
. Она будет отлично
сочетаться с тем, что было создано выше.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Для каждого пользователя, входящего по этому
методу, в файле /etc/ppp/ppp.secret
должна присутствовать запись с логином/паролем,
или, в качестве альтернативы, для аутентификации пользователей
по PAP через /etc/password
, необходимо
использовать следующий параметр.
enable passwdauth
Если вы хотите присвоить некоторым пользователям статический
IP, задайте его в качестве третьего аргумента в
/etc/ppp/ppp.secret
. Обратитесь к
к /usr/share/examples/ppp/ppp.secret.sample
за примерами.
Возможна настройка PPP для выдачи адресов DNS и NetBIOS по запросу.
Для включения этих расширений с PPP версии 1.x, необходимо
добавить к соответствующему разделу
/etc/ppp/ppp.conf
следующие строки.
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Для PPP версии 2 и выше:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Клиентам будут выдаваться адреса первичного и вторичного серверов имен, и адрес хоста NetBIOS.
Если в версии 2 и выше строка set dns
будет опущена, PPP использует значения из
/etc/resolv.conf
.
Некоторые провайдеры настраивают систему так, что
аутентификация производится с использованием либо PAP либо
CHAP. В этом случае, приглашение login:
при соединении не выдается и соединение PPP
начинается сразу.
PAP менее безопасен, чем CHAP, но безопасность в данном случае не страдает, поскольку хотя пароли и передаются открытым текстом, они передаются только по модемной линии. У кракеров не так много возможностей для кражи паролей.
В примерах выше PPP и статические IP адреса или PPP и динамические IP адреса должны быть сделаны следующие изменения:
13 set authnameMyUserName
14 set authkeyMyPassword
15 set login
Эта строка указывает имя пользователя PAP/CHAP. Вам
потребуется заменить MyUserName
на правильное значение.
Эта строка указывает пароль PAP/CHAP. Вам потребуется
заменить MyPassword
на
правильное значение. Вы можете также добавить
дополнительную строку, такую как:
16 accept PAP
или
16 accept CHAP
для явного указания протокола, но и PAP и CHAP поддерживаются по умолчанию.
Ваш провайдер обычно не потребует входа на сервер при использовании PAP или CHAP. Следовательно, вы должны отключить строку <<set login>>.
Возможно изменение настроек ppp
программы во время ее работы в фоновом режиме, но только если
открыт соответствующий диагностический порт. Для его открытия
добавьте в настройку следующую строку:
set server /var/run/ppp-tun%d
DiagnosticPassword 0177
С этой директивой ppp будет прослушивать заданный UNIX(R)
сокет, запрашивая у клиентов пароль перед выдачей доступа.
Символы%d
заменяются на номер используемого
устройства tun
.
Как только сокет открыт, в скриптах, выполняющих настройку работающей программы, можно использовать pppctl(8).
PPP имеет возможность использовать встроенный NAT без
преобразования пакетов в ядре. Эта возможность может быть включена
следующей строкой в /etc/ppp/ppp.conf
:
nat enable yes
Альтернативно, PPP NAT может быть включен параметром командной
строки -nat
. Существует также переменная
/etc/rc.conf
ppp_nat
,
которая включена по умолчанию.
Если вы используете эту возможность, вы также можете
найти полезными параметры /etc/ppp/ppp.conf
для включения пересылки входящих соединений:
nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
или отключить все входящие соединения
nat deny_incoming yes
Теперь, когда программа ppp
настроена,
осталось выполнить еще несколько действий прежде, чем все это
заработает. Они выполняются путем редактирования файла
/etc/rc.conf
.
Просматривая этот файл, убедитесь, что добавлена строка
hostname=
, например:
hostname="foo.example.com"
Если провайдер предоставил вам статический IP адрес и имя, возможно лучше всего использовать это имя в качестве имени хоста.
Проверьте переменную network_interfaces
.
Если вы хотите настроить систему для дозвона по требованию,
убедитесь, что устройство tun0
добавлено
в список, иначе удалите его.
network_interfaces="lo0 tun0" ifconfig_tun0=
Переменная ifconfig_tun0
должна быть пуста,
необходимо также создать файл
/etc/start_if.tun0
. В этом файле должна
находиться строка:
ppp -auto mysystem
Этот скрипт выполняется во время настройки сети, запуская
даемона ppp в автоматическом режиме. Если эта машина является
шлюзом для локальной сети, вы можете также использовать
переключатель -alias
. Обратитесь к странице
справочника за дальнейшей информацией.
Убедитесь, что программа маршрутизации отключена переменной
в файле /etc/rc.conf
:
router_enable="NO"
Важно, чтобы даемон routed
не был запущен,
поскольку он может удалить запись маршрута по умолчанию, создаваемую
ppp
.
Возможно, стоит обратить внимание на переменную
sendmail_flags
и убедиться, что она не включает
параметр -q
, иначе sendmail
попытается сразу же обратиться к сети, и компьютер может начать
дозвон. Вы можете попробовать:
sendmail_flags="-bd"
Обратная сторона этого решения в том, что необходим
запуск очереди sendmail
после поднятия
соединения ppp:
#
/usr/sbin/sendmail -q
Вы можете использовать команду !bg
в файле
ppp.linkup
для автоматического выполнения
этой задачи:
1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Если вам это не нужно, возможна настройка <<dfilter>> для блокирования SMTP трафика. Обратитесь файлам примеров за дальнейшей информацией.
Все, что осталось, это перегрузить компьютер. После перезагрузки вы можете либо выполнить:
#
ppp
и затем набрать dial provider
для запуска
сессии PPP, либо, если вы хотите, чтобы программа
ppp
начинала соединение автоматически при
появлении исходящего трафика (и файл
start_if.tun0
не создан), выполните:
#
ppp -auto provider
Для первоначальной настройки ppp необходимо пройти следующие шаги:
Сторона клиента:
Убедитесь, что устройство tun
встроено в ядро.
Убедитесь, что устройства
tun
находятся в каталоге N
/dev
.
Создайте запись в
/etc/ppp/ppp.conf
. Пример
pmdemand
должен подойти для большинства
провайдеров.
Если у вас динамический IP адрес, создайте запись в
/etc/ppp/ppp.linkup
.
Обновите файл /etc/rc.conf
.
Создайте скрипт start_if.tun0
,
если необходим дозвон по требованию.
Сторона сервера:
Убедитесь, что устройство tun
встроено в ядро.
Убедитесь, что устройства
tun
находятся в каталоге N
/dev
.
Создайте запись в /etc/passwd
(используя программу vipw(8)).
Создайте профиль в домашнем каталоге пользователя,
запускающий ppp -direct direct-server
или подобную команду.
Создайте запись в
/etc/ppp/ppp.conf
. Пример
direct-server
должен подойти.
Создайте запись в
/etc/ppp/ppp.linkup
.
Обновите файл /etc/rc.conf
.
Перед началом настройки PPP на вашем компьютере, убедитесь, что
pppd
находится в /usr/sbin
и каталог /etc/ppp
существует.
pppd
может работать в двух режимах:
В обеих случаях вам потребуется настроить файл параметров
(/etc/ppp/options
или
~/.ppprc
если на вашем компьютере
более одного пользователя работают с PPP).
Вам потребуется также программа для модемных/последовательных линий (предпочтительно comms/kermit) для дозвона и установки соединения с удаленным хостом.
Для подключения к линии PPP терминального сервера Cisco
может использоваться следующий файл
/etc/ppp/options
.
crtscts # enable hardware flow control modem # modem control line noipdefault # remote PPP server must supply your IP address # if the remote host does not send your IP during IPCP # negotiation, remove this option passive # wait for LCP packets domain ppp.foo.com # put your domain name here :<remote_ip> # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to <local_ip>:<remote_ip> defaultroute # put this if you want that PPP server will be your # default router
Для подключения:
Дозвонитесь на удаленный хост, используя kermit (или любую другую модемную программу), и введите ваше имя пользователя и пароль (или те данные, которые требуются для установления PPP соединения с удаленным хостом).
Выйдите из kermit (без обрыва соединения).
Введите следующее:
#
/usr/src/usr.sbin/pppd.new/pppd
/dev/tty01
19200
Убедитесь, что выбраны подходящая скорость и правильное имя устройства.
Теперь ваш компьютер подключен по PPP. Если соединение не
состоялось, вы можете добавить параметр debug
к файлу /etc/ppp/options
, и отследить
проблему по сообщениям на консоли.
Следующий скрипт /etc/ppp/pppup
проведет все
3 стадии в автоматическом режиме:
#!/bin/sh ps ax |grep pppd |grep -v grep pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi ps ax |grep kermit |grep -v grep pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200
/etc/ppp/kermit.dial
это скрипт
kermit, который дозванивается до
удаленного хоста и проходит необходимую авторизацию (пример
такого скрипта находится в конце этого раздела).
Используйте следующий скрипт /etc/ppp/pppdown
для отключения от PPP линии:
#!/bin/sh pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` if [ X${pid} != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill -TERM ${pid} fi ps ax |grep kermit |grep -v grep pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi /sbin/ifconfig ppp0 down /sbin/ifconfig ppp0 delete kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest
Проверьте, запущен ли еще pppd
,
выполнив /usr/etc/ppp/ppptest
, который выглядит
примерно так:
#!/bin/sh pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'` if [ X${pid} != "X" ] ; then echo 'pppd running: PID=' ${pid-NONE} else echo 'No pppd running.' fi set -x netstat -n -I ppp0 ifconfig ppp0
Для обрыва соединения, выполните
/etc/ppp/kermit.hup
, который должен
содержать:
set line /dev/tty01 ; put your modem device here set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 echo \13 exit
Существует альтернативный метод, использующий
chat
вместо kermit
:
Для установления соединения pppd
достаточно
двух файлов.
/etc/ppp/options
:
/dev/cuaa1 115200 crtscts # enable hardware flow control modem # modem control line connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # remote PPP serve must supply your IP address # if the remote host doesn't send your IP during # IPCP negotiation, remove this option passive # wait for LCP packets domain <your.domain> # put your domain name here : # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to <local_ip>:<remote_ip> defaultroute # put this if you want that PPP server will be # your default router
/etc/ppp/login.chat.script
:
Все это может быть расположено на одной строке.
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number> CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id> TIMEOUT 5 sword: <password>
Как только эти файлы будут созданы и отредактированы, необходимо
только запустить pppd
, вот так:
#
pppd
/etc/ppp/options
должен содержать примерно
следующее:
crtscts # Hardware flow control netmask 255.255.255.0 # netmask (not required) 192.114.208.20:192.114.208.165 # IP's of local and remote hosts # local ip must be different from one # you assigned to the Ethernet (or other) # interface on your machine. # remote IP is IP address that will be # assigned to the remote machine domain ppp.foo.com # your domain passive # wait for LCP modem # modem line
Следующий скрипт /etc/ppp/pppserv
укажет pppd работать в качестве
сервера:
#!/bin/sh ps ax |grep pppd |grep -v grep pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi ps ax |grep kermit |grep -v grep pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi # reset ppp interface ifconfig ppp0 down ifconfig ppp0 delete # enable autoanswer mode kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200
Используйте этот скрипт /etc/ppp/pppservdown
для остановки сервера:
#!/bin/sh ps ax |grep pppd |grep -v grep pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi ps ax |grep kermit |grep -v grep pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans
Следующий kermit скрипт
(/etc/ppp/kermit.ans
) включит/отключит
режим ответа модема на входящие звонки. Он должен выглядеть
примерно так:
set line /dev/tty01 set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 inp 5 OK echo \13 out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable ; autoanswer mode inp 5 OK echo \13 exit
Скрипт, называющийся /etc/ppp/kermit.dial
,
используется для дозвона и аутентификации на удаленном хосте.
Вам потребуется приспособить его под собственные нужды. Поместите
ваш логин и пароль в этот скрипт; вам также потребуется изменить
операторы input в зависимости от ответов от модема и удаленного
хоста.
; ; put the com line attached to the modem here: ; set line /dev/tty01 ; ; put the modem speed here: ; set speed 19200 set file type binary ; full 8 bit file xfer set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none set modem hayes set dial hangup off set carrier auto ; Then SET CARRIER if necessary, set dial display on ; Then SET DIAL if necessary, set input echo on set input timeout proceed set input case ignore def \%x 0 ; login prompt counter goto slhup :slcmd ; put the modem in command mode echo Put the modem in command mode. clear ; Clear unread characters from input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wait for OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; if modem doesn't answer OK, try again :slhup ; hang up the phone clear ; Clear unread characters from input buffer pause 1 echo Hanging up the phone. output ath0\13 ; hayes command for on hook input 2 OK\13\10 if fail goto slcmd ; if no OK answer, put modem in command mode :sldial ; dial the number pause 1 echo Dialing. output atdt9,550311\13\10 ; put phone number here assign \%x 0 ; zero the time counter :look clear ; Clear unread characters from input buffer increment \%x ; Count the seconds input 1 {CONNECT } if success goto sllogin reinput 1 {NO CARRIER\13\10} if success goto sldial reinput 1 {NO DIALTONE\13\10} if success goto slnodial reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 60 goto look else goto slhup :sllogin ; login assign \%x 0 ; zero the time counter pause 1 echo Looking for login prompt. :slloop increment \%x ; Count the seconds clear ; Clear unread characters from input buffer output \13 ; ; put your expected login prompt here: ; input 1 {Username: } if success goto sluid reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 10 goto slloop ; try 10 times to get a login prompt else goto slhup ; hang up and start again if 10 failures :sluid ; ; put your userid here: ; output ppp-login\13 input 1 {Password: } ; ; put your password here: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7No dialtone. Check the telephone line!\7 exit 1 ; local variables: ; mode: csh ; comment-start: "; " ; comment-start-skip: "; " ; end:
Этот раздел охватывает несколько вопросов, которые могут
возникнуть при использовании PPP через модемные соединения.
Например, предположим, что вам потребовалось узнать, какое
именно приглашение отображает система, до которой вы дозваниваетесь.
Некоторые провайдеры выдают приглашение ssword
,
другие password
; если ppp
скрипт не обрабатывает такие приглашения, попытка входа
завершится неудачно. Наиболее общий способ отладки
соединений ppp
это подключение вручную.
Ниже дана пошаговая информация по подключению вручную.
Если вы пересобирали ядро, проверьте устройство
sio
. Если вы не перенастраивали ядро,
нет причин для беспокойства. Просто проверьте вывод
dmesg
для модемного устройства следующей
командой:
#
dmesg | grep sio
Вы должны получить информацию о устройствах
sio
. Это COM порты, которые нам
необходимы. Если ваш модем работает как стандартный
последовательный порт, вы увидите его на
sio1
, или COM2
.
Если это так,
вам не требуется пересобирать ядро, необходимо лишь создать
последовательное устройство. Вы можете сделать это, зайдя в
/dev
и запустив скрипт
MAKEDEV
. Создайте последовательные
устройства:
#
sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3
Если модем находится на sio1
,
или COM2
в DOS, модемным устройством
будет /dev/cuaa1
.
Подключение к интернет с контролированием ppp
вручную это быстрый, легкий и действенный способ отладки
соединения или получения информации о обслуживании
провайдером клиентского соединения ppp
.
Запустите PPP из командной строки.
В примерах в качестве имени хоста мы будем использовать
example. Запустите ppp
,
введя команду ppp
:
#
ppp
Теперь программа ppp
запущена.
ppp ON example> set device /dev/cuaa1
Мы указали модемное устройство, в данном случае
cuaa1
.
ppp ON example> set speed 115200
Мы установили скорость подключения к модему, в данном случае 115,200 кбит/с.
ppp ON example> enable dns
Сообщает ppp
настроить разрешение имен,
добавив строки в /etc/resolv.conf
.
Если ppp
не может определить имя хоста,
его можно настроить позже вручную.
ppp ON example> term
Переключение в <<терминальный>> режим для контроля модема вручную.
deflink: Entering terminal mode on /dev/cuaa1
type '~h' for help
at
OKatdt
123456789
Использование команды at
для инициализации
модема, а затем atdt
и номера провайдера
для начала дозвона.
CONNECT
Подтверждение соединения, если есть проблемы с соединением, не вызванные проблемами в оборудовании, здесь мы попытаемся решить их.
ISP Login:myusername
Здесь вам предлагается ввести имя пользователя в приглашение, выводимое сервером провайдера.
ISP Pass:mypassword
Здесь предлагается ввести пароль, предоставленный провайдером. Как и при входе в FreeBSD, пароль не отображается.
Shell or PPP:ppp
В зависимости от вашего провайдера, это приглашение может не
появиться. Здесь задается вопрос, хотите ли вы использовать
оболочку на компьютере провайдера или запустить
ppp
. В этом примере мы выбрали
ppp
, поскольку хотим соединиться с
интернет.
Ppp ON example>
Обратите внимание, что в этом примере первая буква
p
появилась в верхнем регистре. Это означает, что
мы успешно подключились к провайдеру.
PPp ON example>
Мы успешно аутентифицировались у провайдера и ожидаем присвоения IP адреса.
PPP ON example>
Мы завершили согласование IP адресов, соединение успешно установлено.
PPP ON example>add default HISADDR
Это маршрут по умолчанию, его необходимо настроить, чтобы
сделать возможной связь с внешним миром, поскольку на этот
момент установлена связь только с удаленной стороной.
Если маршрут не устанавливается из-за уже существующего маршрута,
добавьте символ !
перед add
.
Альтернативно вы можете сделать настройку перед установкой
соединения.
Если все прошло удачно, на данный момент должно работать
соединение с интернет, которое можно поместить в фоновый режим
клавишами CTRL+z. Переход строки
PPP
в приглашении в нижний регистр
(ppp
) означает, что соединение было разорвано.
Таким образом, символы P в верхнем регистре означают наличие
соединения, а в нижнем - потерю соединения.
Если у вас выделенная линия и нет необходимости устанавливать
соединение, выключите контроль передачи данных
CTS/RTS командой set
ctsrts off
. Это обычно необходимо при подключении к
поддерживающим PPP терминальным
серверам, когда PPP прерывается
при попытке записать данные в ваше соединение, и ожидает сигнала
CTS, или Clear To Send, который не появляется.
Если вы используете этот параметр, используйте также параметр
set accmap
, который может быть необходим для
устранения зависимости от оборудования путем пропускания
определенных символов через соединение, обычно XON/XOFF.
Обратитесь к странице справочника ppp(8) за более подробной
информацией по этому параметру и его использованию.
Если у вас старый модем, может потребоваться использование
set parity even
. Проверка четности по умолчанию
отключена, но она используется для для устранения ошибок
(с серьезным увеличением объема трафика) на старых модемах
и у некоторых провайдеров.
PPP может не вернуться в командный
режим, что обычно вызвано ошибкой согласования, когда провайдер
ждет от вас начала процесса согласования. В этот момент
использование команды ~p
заставит ppp
начать отправку настроечной информации.
Если вы не получаете приглашения на вход, скорее всего вам требуется использование аутентификации PAP или CHAP вместо UNIX(R) стиля как в примерах выше. Для использования PAP или CHAP просто добавьте следующие параметры PPP перед переходом в терминальный режим:
ppp ON example> set authname myusername
Необходимо заменить myusername
на имя пользователя, выданное провайдером.
ppp ON example> set authkey mypassword
Где mypassword
должен быть
заменен на пароль, выданный провайдером.
Если вы подключаетесь, не можете определить ни одно доменное
имя, попробуйте использовать ping(8) с каким-либо
IP адресом и просмотрите выводимую информацию.
Если 100 процентов (100%) пакетов теряются, скорее всего не
назначен маршрут по умолчанию. Дважды проверьте, что параметр
add default HISADDR
установлен во время
соединения. Если вы можете подключиться к удаленному
IP адресу, возможно, что адрес сервера имен не
был добавлен в /etc/resolv.conf
.
Этот файл должен выглядеть примерно так:
domainexample.com
nameserverx.x.x.x
nameservery.y.y.y
Где x.x.x.x
и
y.y.y.y
должны быть заменены на
IP адреса DNS серверов провайдера.
Эта информация может предоставляться провайдером,
вы можете выяснить это в службе поддержки.
Вы можете также настроить syslog(3) для протоколирования PPP соединения. Просто добавьте:
!ppp *.* /var/log/ppp.log
в файл /etc/syslog.conf
. В большинстве
случаев эти строки уже присутствуют.
Этот раздел описывает настройку PPP через Ethernet (PPP over Ethernet, PPPoE).
Для PPPoE более не требуется настройка ядра. Если необходимая поддержка netgraph не встроена в ядро, она будет динамически загружена ppp.
Вот пример работающего
ppp.conf
:
default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:xl1
# replace xl1 with your Ethernet device
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
Добавьте к /etc/rc.conf
следующее:
ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider"
Иногда для установки соединения необходимо использовать тег сервиса. Теги сервисов используются для различения PPPoE серверов, подключенных к одной сети.
В документации, предоставляемой провайдером, должна находиться необходимая информация о теге сервиса. Если вы не можете ее обнаружить, обратитесь в службу поддержки.
В крайнем случае, вы можете попробовать метод, предложенный в программе Roaring Penguin PPPoE, которая находится в коллекции портов. Учтите, что этот метод может сделать ваш модем неработоспособным, так что дважды подумайте перед тем, как воспользоваться им. Просто установите программу, поставляемую с модемом вашим провайдером. Затем, войдите в меню программы. Имя вашего профиля должно находиться здесь. Обычно это ISP.
Имя профиля (тег сервиса) будет использоваться в записи
настройки PPPoE в файле ppp.conf
(часть команды set device
, относящаяся к
провайдеру). Обратитесь к странице справочника ppp(8)
за более подробной информацией. Эта команда должна выглядеть
примерно так:
set device PPPoE:xl1
:ISP
Не забудьте изменить xl1
на имя
устройства вашей Ethernet карты.
Не забудьте изменить ISP
на
профиль, определенный вами ранее.
Дополнительная информация:
Cheaper Broadband with FreeBSD on DSL, опубликовал Renaud Waldura.
Nutzung von T-DSL und T-Online mit FreeBSD by Udo Erdelhoff (на немецком).
Этот модем не поддерживает RFC 2516 (Метод соединения PPP через Ethernet (PPPoE), написанный L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, и R. Wheeler). Вместо этого, для фреймов Ethernet используются различные коды типов пакетов. Сообщите 3Com если считаете, что они должны соблюдать спецификации PPPoE.
Для включения поддержки этого нестандартного устройства, в FreeBSD
необходимо установить переменную sysctl. Это может быть сделано
автоматически, поместите в
/etc/sysctl.conf
следующую переменную:
net.graph.nonstandard_pppoe=1
или, для непосредственного включения, выполните команду
sysctl net.graph.nonstandard_pppoe=1
.
К сожалению, поскольку эта настройка влияет на всю систему, невозможно одновременно взаимодействовать с нормальным PPPoE клиентом или сервером и 3Com(R) HomeConnect(R) ADSL Modem.
Далее описано как настроить PPP через ATM (PPP over ATM, PPPoA). PPPoA популярен у европейских провайдеров DSL.
Поддержка PPPoA для этого устройства в FreeBSD поставляется в виде порта, поскольку встроенное программное обеспечение поставляется под лицензионным соглашением Alcatel и не может свободно распространяться с основной системой FreeBSD.
Для установки этой программы, просто используйте коллекцию портов. Установите порт net/pppoa и следуйте инструкциям.
Как и многие устройства USB, Alcatel SpeedTouchTM USB должен
загрузить встроенное программное обеспечение с компьютера.
Возможна автоматизация этого процесса в FreeBSD, чтобы эта
передача происходила при подключении устройства к порту USB.
Для включения этой автоматической передачи необходимо добавить
в /etc/usbd.conf
нижеприведенную информацию.
Этот файл необходимо отредактировать под пользователем
root
.
device "Alcatel SpeedTouch USB" devname "ugen[0-9]+" vendor 0x06b9 product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"
Для включения даемона USB, usbd,
поместите в /etc/rc.conf
следующую строку:
usbd_enable="YES"
Возможна также настройка
ppp для дозвона при запуске. Для этого
добавьте в /etc/rc.conf
нижеприведенные строки.
Опять же, для этого вам необходимо войти под пользователем
root
.
ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl"
Необходимо также использовать пример файла
ppp.conf
, поставляемый с портом
net/pppoa.
Вы можете использовать mpd для подключения к различным сервисам, в частности к сервисам PPTP. Вы можете найти mpd в коллекции портов, net/mpd. Многие ADSL модемы требуют, чтобы PPTP туннель был создан между модемом и компьютером, один из таких модемов это Alcatel SpeedTouchTM Home.
Сначала установите порт, затем настройте
mpd под собственные нужды и настройки
провайдера. Порт помещает набор примеров настройки в каталог
.
PREFIX
/etc/mpd/PREFIX
означает каталог, в который
устанавливаются порты, по умолчанию это
/usr/local/
. Полное руководство по настройке
mpd доступно в HTML формате после
установки порта. Оно находится в
.
Ниже находится пример настройки mpd
для соединения с ADSL сервисом. Настройка разделена на два
файла, первый это PREFIX
/share/doc/mpd/mpd.conf
:
default: load adsl adsl: new -i ng0 adsl adsl set bundle authnameusername
set bundle password
password
set bundle disable multilink set link no pap acfcomp protocomp set link disable chap set link accept chap set link keep-alive 30 10 set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface route default set iface disable on-demand set iface enable proxy-arp set iface idle 0 open
Имя пользователя, используемое для аутентификации у провайдера. | |
Пароль, используемый для аутентификации у провайдера. |
Файл mpd.links
содержит информацию о соединении
или соединениях, которые вы планируете установить. Пример
mpd.links
, соответствующий приведенному выше
примеру:
adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self10.0.0.1
set pptp peer
10.0.0.138
IP адрес компьютера FreeBSD, с которого вы будете использовать mpd. | |
IP адрес модема ADSL. Для Alcatel
SpeedTouchTM Home этот адрес по умолчанию |
Инициализация соединения возможно простым выполнением следующей
команды под root
:
#
mpd -b
adsl
Вы можете просмотреть статус соединения с помощью следующей команды:
%
ifconfig
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffffng0
Использование mpd это рекомендуемый способ подключения к сервису ADSL из FreeBSD.
Возможно также использование FreeBSD для подключения к сервисам PPPoA с помощью net/pptpclient.
Для подключения к сервису DSL с использованием net/pptpclient, установите порт или
пакет и отредактируйте /etc/ppp/ppp.conf
.
Вам потребуется работать под root
.
Пример настройки ppp.conf
дан ниже.
За дальнейшей информацией по параметрам ppp.conf
обратитесь к странице справочника ppp,
ppp(8).
adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authnameusername
set authkey
password
set ifaddr 0 0 add default HISADDR
Поскольку вам необходимо поместить пароль в незашифрованном виде в
файл ppp.conf
, убедитесь что никто другой не
сможет прочесть содержимое этого файла. Следующая последовательность
команд сделает этот файл доступным для чтения только пользователю
root
. Обратитесь к страницам справочника
chmod(1) и chown(8) за дальнейшей информацией.
#
chown root:wheel /etc/ppp/ppp.conf
#
chmod 600 /etc/ppp/ppp.conf
Следующая команда откроет туннель для PPP сессии к вашему
DSL маршрутизатору. Модемы Ethernet DSL поставляются с настроенным
IP адресом локальной сети, к которому вы подключаетесь. У
Alcatel SpeedTouchTM Home этот адрес 10.0.0.138
. В документации на ваш
маршрутизатор должно быть указано, какой адрес используется.
Для открытия туннеля и начала PPP сессии выполните:
#
pptp
address
adsl
Чтобы вернуться в приглашение командной строки после выполнения этой команды, добавьте символ <<&>> в конец строки.
Устройство виртуального туннеля tun
будет создано для взаимодействия между процессами
pptp и ppp.
Как только вы вернетесь в приглашение, или процесс
pptp выполнит соединение, вы можете
проверить туннель примерно такой командой:
%
ifconfig
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918tun0
Если вы не сможете соединиться, проверьте настройку
маршрутизатора, которая обычно доступна через
telnet или через веб браузер.
Если вы все еще не можете подключиться, проверьте вывод команды
pptp
и содержимое лог файла
ppp,
/var/log/ppp.log
.
Ниже дан один из способов настройки FreeBSD для подключения к SLIP сети со статическим адресом. Для динамического подключения (адрес изменяется при каждом дозвоне) возможно потребуется более сложная настройка.
Сначала определите, к какому последовательному порту подключен
модем. Многие создают символическую ссылку, такую как
/dev/modem
, на настоящий файл устройства,
/dev/cuaaN
. Это позволяет абстрагироваться
от имени файла устройства, например если вы переносите модем
на другой порт. Довольно сложно править множество файлов в
/etc
и .kermrc
во
всей системе!
/dev/cuaa0
это
COM1
, cuaa1
это
COM2
, и т.д.
Убедитесь, что в вашем файле настройки ядра присутствует строка:
pseudo-device sl 1
В FreeBSD 5.X, используйте вместо этой строки следующую:
device sl
Эта строка включена в ядро GENERIC
, так что
если вы ее не удаляли, проблем быть не должно.
Добавьте ваш компьютер, шлюз и сервера имен в файл
/etc/hosts
. Вот пример такого
файла:
127.0.0.1 localhost loghost 136.152.64.181 water.CS.Example.EDU water.CS water 136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway 128.32.136.9 ns1.Example.EDU ns1 128.32.136.12 ns2.Example.EDU ns2
Убедитесь, что в файле /etc/host.conf
hosts
находится перед bind
(для FreeBSD версий до 5.0). Начиная с FreeBSD 5.0,
система использует файл /etc/nsswitch.conf
,
убедитесь, что параметр files
находится перед
dns
в строке hosts
этого
файла. Без этого параметра могут происходить странные
вещи.
Отредактируйте файл /etc/rc.conf
.
Установите имя хоста, настроив переменную hostname:
hostname="myname.my.domain"
Здесь необходимо использовать полное доменное имя вашего компьютера в интернет.
Добавьте sl0
к списку
сетевых интерфейсов, изменив переменную:
network_interfaces="lo0"
на:
network_interfaces="lo0 sl0"
Измените параметры sl0
,
добавив строку:
ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
Назначьте маршрутизатор по умолчанию, изменив строку:
defaultrouter="NO"
на:
defaultrouter="slip-gateway"
Создайте файл /etc/resolv.conf
,
содержащий:
domain CS.Example.EDU nameserver 128.32.136.9 nameserver 128.32.136.12
Как вы видите, здесь указаны адреса серверов имен. Конечно, реальные имена доменов и адреса для вас будут другими.
Перегрузите компьютер и убедитесь, что его имя хоста настроено правильно.
Дозвонитесь на удаленный сервер, введите
slip
в приглашение, имя своего компьютера
и пароль. Все, что требуется ввести в вашем случае.
Если вы используете kermit, попробуйте такой скрипт:
# kermit setup set modem hayes set line /dev/modem set speed 115200 set parity none set flow rts/cts set terminal bytesize 8 set file type binary # The next macro will dial up and login define slip dial 643-9600, input 10 =>, if failure stop, - output slip\x0d, input 10 Username:, if failure stop, - output silvia\x0d, input 10 Password:, if failure stop, - output ***\x0d, echo \x0aCONNECTED\x0a
Конечно, вам потребуется заменить имя хоста и пароль на ваши
собственные. После этого, для подключения просто введите
slip
из приглашения kermit.
Хранение пароля в любом месте файловой системы в незашифрованном виде это обычно плохая идея. Вы делаете это на свой риск.
Выйдите из kermit (вы можете приостановить его, нажав
Ctrl+z) и введите под root
:
#
slattach -h -c -s 115200 /dev/modem
Если вы сможете выполнить ping
для хостов по другую сторону маршрутизатора, вы подключились!
Если это не работает, попробуйте параметр
slattach
-a
вместо
-c
.
Сделайте следующее:
#
kill -INT `cat /var/run/slattach.modem.pid`
для остановки slattach
. Помните, что вы
должны работать под root
для выполнения этой
команды. Затем вернитесь в kermit (запустив fg
,
если он приостановлен) и выйдите из него
(q
).
Страница справочника slattach
сообщает,
что для отключения интерфейса необходимо использовать
ifconfig sl0 down
, но это похоже не
играет никакой роли. (ifconfig sl0
сообщает
о том же.)
Иногда модем может не сбросить соединение (это бывает довольно часто). В этом случае просто запустите kermit и выйдите из него еще раз. При второй попытке соединение обычно разрывается.
Вот наиболее часто встречающиеся ситуации:
Не используются параметры slattach
-c
или -a
(это может
быть не фатально, но иногда вызывает проблемы.)
Используется s10
вместо
sl0
(с некоторыми шрифтами сложно увидеть
разницу).
Попробуйте использовать ifconfig sl0
для просмотра статуса интерфейса. Например, вы можете
получить такую информацию:
#
ifconfig sl0
sl0: flags=10<POINTOPOINT> inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
Если вы получите сообщение
no route to host от команды
ping, возможно это проблема с таблицей маршрутизации.
Используйте команду netstat -r
для
отображения существующих маршрутов:
#
netstat -r
Routing tables Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks: (root node) (root node) Route Tree for Protocol Family inet: (root node) => default inr-3.Example.EDU UG 8 224515 sl0 - - localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438 inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - - water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 (root node)
Предыдущий пример получен на относительно загруженной системе. Числа в вашей системе будут сильно зависеть от загрузки сети.
Этот документ предоставляет решение для настройки SLIP сервера в системе FreeBSD, что обычно означает настройку системы для автоматического запуска соединений при удаленном входе SLIP клиентов.
Информация в этом разделе чисто техническая, поэтому требуются некоторые предварительные знания. Предполагается, что вы знакомы с сетевым протоколом TCP/IP, и в частности, с адресацией сетей и хостов, сетевыми масками, делением на подсети, маршрутизацией и протоколами маршрутизации, такими как RIP. Настройка SLIP сервисов на сервере удаленного доступа требует знания этих концепций, и если вы не знакомы с ними, прочтите или книгу TCP/IP Network Administration от Craig Hunt, опубликованную O'Reilly & Associates, Inc. (ISBN Number 0-937175-82-X), или книги Douglas Comer по протоколу TCP/IP.
В дальнейшем предполагается, что вы уже настроили ваш модем
(модемы) и настроили соответствующие системные файлы для
разрешения входа через них. Если вы еще не подготовили систему
соответствующим образом, обратитесь к руководству по настройке
сервисов удаленного входа; просмотрите список руководств
на http://www.FreeBSD.org/ru/docs.html.
Вы можете также обратиться к странице справочника sio(4)
за информацией о драйвере последовательного порта и к
страницам gettytab(5), getty(8) и init(8)
за информацией по настройке системы для удаленного входа в систему
через модемы, и возможно stty(1) за информацией о настройке
параметров последовательных портов (таких как
clocal
для подключаемых непосредственно
последовательных интерфейсов).
В типичной конфигурации FreeBSD работает в качестве SLIP сервера
так: пользователь SLIP дозванивается на FreeBSD SLIP сервер и
входит в систему со специальным SLIP логином, использующим
/usr/sbin/sliplogin
в качестве оболочки.
Программа sliplogin
просматривает файл
/etc/sliphome/slip.hosts
на предмет строки,
соответствующей специальному пользователю, и если находит совпадение,
подключает последовательную линию к доступному SLIP интерфейсу,
а затем запускает shell скрипт
/etc/sliphome/slip.login
для настройки
SLIP интерфейса.
Например, идентификатор пользователя на SLIP сервере
Shelmerg
. Соответствующая запись
в /etc/master.passwd
будет выглядеть
примерно так:
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
Когда Shelmerg
входит в систему,
sliplogin
ищет строку в
/etc/sliphome/slip.hosts
, в которой
находится соответствующий идентификатор пользователя;
например, строка может быть такой:
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
После обнаружения этой строки sliplogin
подключает последовательную линию к следующему доступному
SLIP интерфейсу, а затем выполняет
/etc/sliphome/slip.login
примерно так:
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
Если все проходит нормально,
/etc/sliphome/slip.login
вызовет
ifconfig
для SLIP интерфейса, к которому
подключилась программа sliplogin
(slip
интерфейс 0 в примере выше, первый параметр в списке,
задаваемом slip.login
) для установки
локального IP адреса ((dc-slip
), удаленного
IP адреса (sl-helmer
), сетевой маски для
SLIP интерфейса (0xfffffc00
),
и любых дополнительных флагов (autocomp
).
Если что-то идет не так, sliplogin
обычно протоколирует соответствующие сообщения в через
уровень daemon
syslog; эти сообщения
как правило попадают в /var/log/messages
(обратитесь к страницам справочника syslogd(8) и
syslog.conf(5), а также проверьте файл
/etc/syslog.conf
, чтобы выяснить, что
протоколирует syslogd
и куда помещается
информация).
Достаточно примеров - давайте начнем настройку системы.
Стандартное ядро FreeBSD обычно поставляется с двумя
SLIP интерфейсами ((sl0
и
sl1
); вы можете использовать команду
netstat -i
, чтобы выяснить, определены ли
эти интерфейсы в вашем ядре.
Пример вывода netstat -i
:
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133 ed0 1500 138.247.224 ivory 291311 0 174209 0 133 lo0 65535 <Link> 79 0 79 0 0 lo0 65535 loop localhost 79 0 79 0 0 sl0* 296 <Link> 0 0 0 0 0 sl1* 296 <Link> 0 0 0 0 0
Наличие в выводе netstat -i
интерфейсов sl0
и
sl1
означает, что SLIP интерфейсы встроены
в ядро (символ *
показывает неактивность
интерфейсов).
Ядро FreeBSD по умолчанию не пересылает пакеты между
интерфейсами (компьютер FreeBSD не работает как маршрутизатор),
вследствие требований RFC (см.
RFCs 1009 [Requirements for Internet Gateways], 1122
[Requirements for Internet Hosts - Communication Layers],
и возможно 1127 [A Perspective on the Host Requirements RFCs]).
Если вы хотите, чтобы FreeBSD SLIP работал в качестве
маршрутизатора, отредактируйте файл
/etc/rc.conf
и присвойте переменной
gateway_enable
значение
YES
.
Для вступления изменений в силу потребуется перезагрузка.
В файле настройки стандартного ядра
(/sys/i386/conf/GENERIC
)
находится строка:
pseudo-device sl 2
Она определяет число доступных устройств SLIP в ядре; Число в конце строки определяет максимально возможное количество одновременных SLIP соединений.
Обратитесь к Глава 9, Настройка ядра FreeBSD за информацией по настройке ядра FreeBSD.
Как упоминалось ранее, в каталоге
/etc/sliphome
находятся три файла,
являющиеся частью настройки для
/usr/sbin/sliplogin
(для
sliplogin
существует страница справочника,
sliplogin(8)): slip.hosts
,
определяющий список пользователей SLIP и связанные с ними
IP адреса; slip.login
, который обычно
всего лишь настраивает SLIP интерфейс;
slip.logout
, который восстанавливает
состояние системы до запуска slip.login
после завершения последовательного соединения.
/etc/sliphome/slip.hosts
содержит
строки, в которых находится как минимум четыре параметра,
разделенных пробелами:
ID пользователя SLIP
Локальный адрес (локальный для SLIP сервера) SLIP соединения
Удаленный адрес SLIP соединения
Сетевая маска
Локальные и удаленные адреса могут быть именами хостов
(разрешаемыми в IP адреса через файл
/etc/hosts
или через службу доменных
имен, в зависимости от настроек в файле
/etc/nsswitch.conf
для FreeBSD 5.X,
или /etc/host.conf
для FreeBSD 4.X),
а сетевая маска может быть именем, разрешаемым через
файл /etc/networks
. В системе,
используемой в качестве примера, файл
/etc/sliphome/slip.hosts
выглядит
так:
# # login local-addr remote-addr mask opt1 opt2 # (normal,compress,noicmp) # Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
В конце строки находятся один или более параметров.
normal
- нет сжатия
заголовков
compress
- сжимать
заголовки
autocomp
- сжимать заголовки,
если удаленная сторона это позволяет
noicmp
- запретить ICMP пакеты
(любые <<ping>> пакеты будут отброшены и не
станут помехой для другого трафика)
Выбор локального и удаленного адреса для SLIP соединений зависит от того, используете ли вы выделенную TCP/IP сеть, или используете на SLIP сервере <<ARP прокси>>. (это не <<настоящий>> ARP прокси, но данная терминология используется в этом разделе). Если вы не уверены, какой метод выбрать, или как присвоить IP адреса, обратитесь к книгам по TCP/IP, упомянутым выше (Раздел 23.7.2.1, <<Предварительные требования>>).
Если вы собираетесь использовать отдельную подсеть для SLIP клиентов, потребуется выделить адреса за пределом адресов вашей сети и присвоить каждому SLIP клиенту IP адрес из данной подсети. Затем вам возможно потребуется настроить статический маршрут в используемую для SLIP подсеть через SLIP сервер на ближайшем IP маршрутизаторе.
Иначе, если вы будете использовать метод
<<proxy ARP>>, потребуется присвоить SLIP
клиентам IP адреса, не входящие в Ethernet подсеть сервера
SLIP, а также настроить скрипты
/etc/sliphome/slip.login
и
/etc/sliphome/slip.logout
, чтобы использовать
arp(8) для управления записями ARP прокси в таблице
ARP сервера SLIP.
Типичный файл /etc/sliphome/slip.login
выглядит примерно так:
#!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6
Этот файл slip.login
всего лишь
запускает ifconfig
для соответствующего
SLIP интерфейса с заданными локальным и удаленным адресом и сетевой
маской.
Если вы решили использовать метод <<ARP прокси>>
(вместо использования отдельной подсети для SLIP клиентов),
ваш файл /etc/sliphome/slip.login
должен выглядеть примерно так:
#!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 # Answer ARP requests for the SLIP client with our Ethernet addr /usr/sbin/arp -s $5 00:11:22:33:44:55 pub
Дополнительная строка в этом
slip.login
, arp -s
$5 00:11:22:33:44:55 pub
, создает ARP запись
в ARP таблице SLIP сервера. При соединении другого узла
в Ethernet с IP адресом SLIP клиента, SLIP сервер выдает
ответ с собственным Ethernet MAC адресом.
При использовании примера выше убедитесь, что заменили
Ethernet MAC адрес (00:11:22:33:44:55
) на MAC адрес
Ethernet карты вашей системы, или ваш <<ARP прокси>>
точно не будет работать! Вы можете определить Ethernet MAC
адрес SLIP сервера, просмотрев вывод команды netstat
-i
выше; информация об адресе находится второй
строке:
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
Это означает, что в данной системе Ethernet MAC адрес
00:02:c1:28:5f:4a
-
точки в MAC адресе, выдаваемые netstat -i
,
должны быть заменены на двоеточия, необходимо также добавить
нуль в начало каждого односимвольного шестнадцатеричного номера
для преобразования этого адреса в форму, пригодную для
arp(8); обратитесь к странице справочника arp(8)
за полной информацией по использованию.
При создании
/etc/sliphome/slip.login
и
/etc/sliphome/slip.logout
, должен быть
установлен бит <<выполнения>> (chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout
),
или sliplogin
не сможет их выполнить.
/etc/sliphome/slip.logout
не является
совершенно необходимым (если только вы не реализуете
<<ARP прокси>>), но если вы решили создать его,
воспользуйтесь следующим примером:
#!/bin/sh - # # slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down
Если вы используете <<ARP прокси>>, потребуется
удаление записи ARP для SLIP клиента через
/etc/sliphome/slip.logout
:
#!/bin/sh - # # @(#)slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down # Quit answering ARP requests for the SLIP client /usr/sbin/arp -d $5
Команда arp -d $5
удаляет запись ARP,
добавленную slip.login
при входе
SLIP клиента.
Повторяем: убедитесь, что на файл
/etc/sliphome/slip.logout
установлен
бит выполнения (chmod 755
/etc/sliphome/slip.logout
).
Если вы не используете <<ARP прокси>> метод для маршрутизации пакетов между SLIP клиентами и остальной сетью (и возможно интернет), вам возможно потребуется статический маршрут (маршруты) до ближайшего шлюза (шлюзов) для маршрутизации подсети SLIP клиентов через SLIP сервер.
Добавление статических маршрутов может стать для кого-то проблемой (это даже невозможно, если у вас нет соответствующих прав). Если в вашей организации сеть с несколькими маршрутизаторами, некоторые маршрутизаторы, например Cisco и Proteon, требуют не только настройки статического маршрута в подсеть SLIP, но и указания, о каких статических маршрутах сообщать другим маршрутизаторам, так что для наладки работоспособности статической маршрутизации может потребоваться некоторое исследование и отладка.
GateD(R) это закрытое программно обеспечение, более недоступное в исходных текстах (дополнительная информация находится на вебсайте GateD(R)). Этот раздел существует лишь в целях обратной совместимости для тех, кто все еще использует старую версию.
Альтернатива головной боли со статическими маршрутами это
установка GateD(R) на FreeBSD SLIP
сервере и настройка его для использования соответствующих
протоколов маршрутизации (RIP/OSPF/BGP/EGP) для сообщения
другим маршрутизаторам о вашей SLIP подсети.
Вам потребуется создать /etc/gated.conf
для настройки gated. Ниже дан пример:
#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy
mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accept routes from RIP via ed Ethernet interfaces
import proto rip interface ed {
all ;
} ;
В примере выше используется широковещательная рассылка
информации о маршрутизации для подсети SLIP
xxx.xxx.yy
протоколом RIP
на сеть Ethernet; если вы используете другой драйвер
Ethernet вместо ed
, потребуется
соответственно изменить запись для ed
.
В этом примере отладочная информация переправляется в
/var/tmp/gated.output
;
вы можете выключить отладку, если
GateD(R) работает. Вам потребуется
заменить xxx.xxx.yy
в сетевом адресе
на вашу подсеть SLIP (убедитесь, что изменение сетевой
маски в proto direct
работает
нормально).
Как только вы установили и настроили
GateD(R), потребуется сообщить
стартовым скриптам FreeBSD запускать его вместо
routed. Простейший способ сделать
это - установить переменные router
и
router_flags
в
/etc/rc.conf
. Обратитесь к странице
справочника GateD(R) за информацией
о параметрах командной строки.
<<Электронная почта>> называемая также email, является на сегодняшний день одним из самых популярных средств связи. Эта глава описывает основы работы с почтовым сервером в FreeBSD, а также введение в процесс отправки и получения почты в FreeBSD; однако, это не полноценный справочник и фактически в главу не вошло много важной информации. Более подробно эта тема рассмотрена во множестве прекрасных книг, список которых приведен в Приложение B, Библиография.
После прочтения этой главы вы узнаете:
Какие программные компоненты задействованы в отправке и получении электронной почты.
Какие основные файлы настройки sendmail имеются в FreeBSD.
Разницу между удаленными и локальными почтовыми ящиками.
Как запретить спамерам использовать ваш почтовый сервер для пересылки почты.
Как установить и настроить альтернативный агент передачи почты (Mail Transfer Agent, MTA), заменив им sendmail.
Как разрешить наиболее часто встречающиеся проблемы с почтовым сервером.
Как настроить систему только для отправки почты.
Как использовать почту с коммутируемым подключением к сети.
Как настроить SMTP аутентификацию для дополнительной защиты.
Как установить и настроить почтовый агент пользователя (Mail User Agent, MUA), например mutt, для отправки и получения почты.
Как загрузить почту с удаленного POP или IMAP сервера.
Как автоматически применять фильтры и правила к входящей почте.
Перед прочтением этой главы вам потребуется:
Правильно настроить сетевое подключение (Глава 27, Сложные вопросы работы в сети).
Правильно настроить DNS для почтового сервера (Глава 25, Сетевые серверы).
Знать как устанавливать дополнительное программное обеспечение сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
В работе почтовой системы задействованы пять основных частей: пользовательский почтовый клиент (Mail User Agent, MUA), почтовый сервис (даемон) (Mail Transfer Agent, MTA), сервер DNS, удаленный или локальный почтовый ящик, и конечно сам почтовый сервер.
Обычно, это программа типа mutt, alpine, elm, mail, а также программы с графическим интерфейсом, такие, как balsa или xfmail, или интегрированные приложения (например, какой-либо WWW браузер типа Netscape). Все эти программы общаются с локальным почтовым сервером, вызывая какой-либо даемон, или напрямую по протоколу TCP.
FreeBSD по умолчанию поставляется с sendmail, но помимо того поддерживает множество других даемонов почтового сервера, вот лишь некоторые из них:
exim;
postfix;
qmail.
Почтовый даемон выполняет только две функции: он отвечает за прием
входящей почты и отправку исходящей. Он не
отвечает за выдачу
почты по протоколам POP или
IMAP, и не обеспечивает подключения к локальным
почтовым ящикам mbox
или Maildir. Для этих целей
вам может потребоваться дополнительный
даемон.
Старые версии sendmail содержат некоторые серьезные ошибки безопасности, которые могут привести к получению атакующим локального и/или удаленного доступа к вашему компьютеру. Убедитесь, что вы работаете с современной версией, свободной от таких ошибок. Или установите альтернативный MTA из Коллекции Портов FreeBSD.
Служба имен доменов (Domain Name System, DNS) и соответствующий
ей даемон named
играют важную роль в доставке
почты. Для доставки почты с вашего сайта другому, даемон почтового
сервера обратится к DNS для определения удаленного хоста, отвечающего
за доставку почты по назначению. Тот же процесс происходит при
доставке почты с удаленного хоста на ваш почтовый сервер.
DNS отвечает за сопоставления имен хостов IP адресам, как и за хранение информации, предназначенной для доставки почты, известной как MX записи. Запись MX (Mail eXchanger) определяет хост или хосты, которые будут получать почту для определенного домена. Если для вашего имени хоста или домена нет записи MX, почта будет доставлена непосредственно на ваш хост, IP адрес которого определен в записи A.
Вы можете просмотреть MX записи для любого домена с помощью команды host(1), как показано в примере ниже:
%
host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
Получение почты для вашего домена выполняет почтовый сервер.
Он сохраняет отправленную в ваш домен почту в формате либо
mbox
(это метод по умолчанию),
либо Maildir, в зависимости от настроек.
После сохранения почты ее можно либо прочитать локально, используя
такие приложения как mail(1), mutt,
или удаленно, по таким протоколам как POP или
IMAP. Это
означает, что для локального чтения почты вам не потребуется
устанавливать сервер POP или
IMAP.
Для удаленного доступа к почтовым ящикам вам потребуется доступ к POP или IMAP серверу. Хотя удаленный доступ обеспечивают оба протокола POP и IMAP, последний предоставляет множество дополнительных возможностей, вот некоторые из них:
IMAP может как хранить сообщения на удаленном сервере, так и забирать их.
IMAP поддерживает одновременные обновления.
IMAP может быть очень полезен для низкоскоростных соединений, поскольку позволяет пользователям получить структуру сообщений без их загрузки; он также может использоваться для выполнения таких задач как поиск на сервере, для минимизации объема передаваемых между клиентом и сервером данных.
Для установки POP или IMAP сервера необходимо выполнить следующие действия:
Выберите IMAP или POP сервер, который подходит вам наилучшим образом. Следующие POP и IMAP серверы хорошо известны и могут быть приведены в качестве примера:
qpopper;
teapop;
imap-uw;
courier-imap;
dovecot;
Установите POP или IMAP даемон, выбранный из Коллекции Портов.
Если потребуется, настройте
/etc/inetd.conf
для запуска POP или
IMAP сервера.
Необходимо отметить, что и POP и
IMAP серверы передают информацию, включая
имя пользователя и пароль, в незашифрованном виде. Это означает,
что если вы хотите защитить передачу информации по этим
протоколам, потребуется использовать туннелирование сессий через
ssh(1) или при помощи SSL. Туннелирование соединений описано
в Раздел 14.11.8, <<Туннелирование SSH>>, а SSL -
в Раздел 14.9, <
Доступ к почтовым ящикам может быть осуществлен непосредственно путем использования MUA на сервере, где эти ящики расположены. Это можно сделать используя приложения вроде mutt или mail(1).
В FreeBSD по умолчанию программой передачи почты (Mail Transfer Agent, MTA) является sendmail(8). Работа sendmail заключается в приеме почты от почтовых программ пользователей (Mail User Agents, MUA) и отправке ее на соответствующий адрес, в соответствии с имеющимися настройками. sendmail может также принимать входящие соединения по сети и доставлять почту в локальные почтовые ящики или перенаправлять их другой программе.
sendmail использует следующие файлы настройки:
Имя файла | Назначение |
---|---|
/etc/mail/access | Файл базы данных доступа sendmail |
/etc/mail/aliases | Синонимы почтовых ящиков |
/etc/mail/local-host-names | Список хостов, для которых sendmail принимает почту |
/etc/mail/mailer.conf | Настройки почтовой программы |
/etc/mail/mailertable | Таблица доставки почтовой программы |
/etc/mail/sendmail.cf | Основной файл настройки sendmail |
/etc/mail/virtusertable | Таблицы виртуальных пользователей и доменов |
База данных доступа определяет список хостов или IP адресов,
имеющих доступ к локальному почтовому серверу, а также тип
предоставляемого доступа. Хосты могут быть перечислены как
OK
, REJECT
, RELAY
или просто переданы процедуре обработки ошибок
sendmail с заданным сообщением об ошибке.
Хостам, перечисленным с параметром по умолчанию OK
,
разрешено отправлять почты на этот хост, если адрес назначения почты
принадлежит локальной машине. Все почтовые соединения от хостов,
перечисленных с параметром REJECT
, отбрасываются.
Для хостов, перечисленных с параметром RELAY
,
разрешена передача через этот сервер почты с любым адресом
назначения.
cyberspammer.com 550 We do not accept mail from spammers FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers another.source.of.spam REJECT okay.cyberspammer.com OK 128.32 RELAY
В этом примере приведены пять записей. К отправителям, чей адрес
соответствует записи в левой части таблицы, применяется правило
записанное в правой части таблицы. В первых двух примерах
код ошибки будет передан процедуре обработке ошибок
sendmail. В этом случае на удаленном хосте
будет получено соответствующее сообщение. В следующем примере почта
отбрасывается почта от определенного хоста,
another.source.of.spam
. В четвертом примере
разрешается прием почты от хоста okay.cyberspammer.com
, имя которого более точно
совпадает с этой записью, чем с cyberspammer.com
в примере выше. При более
точном совпадении правила перезаписываются. В последнем примере
разрешается пересылка почты от хостов с IP адресами, начинающимися
с 128.32
. Эти хосты смогут отправлять почту через
этот почтовый сервер для других почтовых серверов.
После изменения этого файла для обновления базы данных
вам потребуется запустить make
в каталоге
/etc/mail/
.
База данных синонимов содержит список виртуальных почтовых
ящиков, принадлежащих другим пользователям, файлам, программам, или
другим синонимам. Вот несколько примеров, которые могут быть
использованы для /etc/mail/aliases
:
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Формат файла прост; имя почтового ящика слева от двоеточия
сопоставляется назначению(ям) справа. В первом примере
производится сопоставление почтового ящика
root
почтовому ящику
localuser
, для которого затем опять будет
произведен поиск в базе данных синонимов. Если совпадений не
обнаружится, сообщение будет доставлено локальному пользователю
localuser
. В следующем примере приведен
список рассылки. Почта на адрес ftp-bugs
рассылается на три локальных почтовых ящика: joe
,
eric
и paul
. Обратите
внимание, что удалённый почтовый ящик может быть задан в виде
<user@example.com>
. В следующем примере
показана запись почты в файл, в данном случае
/dev/null
. И в последнем примере показано
отправление почты программе, в данном случае почтовое сообщение
переправляется через канал UNIX(R) на стандартный вход
/usr/local/bin/procmail
.
После обновления этого файла вам потребуется запустить
make
в каталоге /etc/mail/
для обновления базы данных.
В этом файле находится список имен хостов, принимаемых
программой sendmail(8) в качестве локальных. Поместите в
этот файл любые домены или хосты, для которых
sendmail должен принимать почту.
Например, если этот почтовый сервер должен принимать почту для
домена example.com
и хоста
mail.example.com
, его файл
local-host-names
может выглядеть примерно
так:
example.com mail.example.com
После обновления этого файла необходимо перезапустить sendmail(8), чтобы он смог перечитать изменения.
Основной файл настройки sendmail,
sendmail.cf
управляет общим поведением
sendmail, включая все, от перезаписи
почтовых адресов до отправки удаленным серверам сообщений об
отказе от пересылки почты. Конечно, файл настройки с таким
многообразием возможностей очень сложен и подробное его описание
выходит за рамки данного раздела. К счастью, для стандартных
почтовых серверов изменять этот файл придется не часто.
Основной файл настройки sendmail
может быть собран из макроса m4(1), определяющего возможности
и поведение sendmail. Подробнее
этот процесс описан в файле
/usr/src/contrib/sendmail/cf/README
.
Для применения изменений после правки файла необходимо перезапустить sendmail.
Файл virtusertable
сопоставляет виртуальные
почтовые домены и почтовые ящики реальным почтовым ящикам. Эти
почтовые ящики могут быть локальными, удаленными, синонимами,
определенными в /etc/mail/aliases
, или
файлами.
root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe
В примере выше мы видим сопоставление адресов для домена
example.com
. Почта
обрабатывается по первому совпадению с записью в этом файле.
Первая запись сопоставляет адрес <root@example.com>
локальному почтовому ящику root
.
Вторая запись сопоставляет <postmaster@example.com>
локальному почтовому ящику postmaster
на хосте noc.example.net
. Наконец,
до этого момента адрес в домене example.com
не совпал ни с одним из
предыдущих, будет применено последнее сопоставление, в которому
соответствует всякое другое почтовое сообщение, отправленное на любой
адрес в example.com
. Это сообщение
будет доставлено в локальный почтовый ящик
joe
.
Как уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent) sendmail. Следовательно, по умолчанию именно эта программа отвечает за вашу исходящую и входящую почту.
Однако, по различным причинам некоторые системные администраторы заменяют системный MTA. Эти причины варьируются от простого желания попробовать другой MTA до потребности в определенных возможностях пакета, основанного на другой почтовой программе. К счастью, вне зависимости от причины, в FreeBSD такая замена выполняется просто.
Вам предоставлен широкий выбор MTA. Начните с поиска в Коллекции Портов FreeBSD, где их немало. Конечно, вы можете использовать любой MTA по желанию, взятый откуда угодно, если только сможете запустить его под FreeBSD.
Начните с установки нового MTA. После установки у вас будет
возможность решить, действительно ли он подходит вашем нуждам,
а также настроить новое программное обеспечение перед тем, как
заменить им sendmail. При установке
новой программы убедитесь, что она не пытается перезаписать
системные файлы, такие как /usr/bin/sendmail
.
Иначе ваша новая почтовая программа фактически начнет работать
до того, как вы ее настроите.
Обратитесь к документации на выбранный MTA за информацией по его настройке.
Если вы отключите сервис исходящей почты sendmail, необходимо заменить его альтернативной системой доставки почты. Если вы не сделаете этого, системные программы, такие как periodic(8), не смогут отправлять сообщения по электронной почте как обычно. Многие программы в вашей системе могут требовать наличия функционирующей sendmail-совместимой системы. Если приложения будут продолжать использовать программу sendmail для отправки почты после того, как вы её отключили, почта может попасть в неактивную очередь sendmail и никогда не будет доставлена.
Для полного отключения sendmail, включая сервис исходящей почты, используйте
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
в /etc/rc.conf
.
Если вы хотите отключить только сервис входящей почты sendmail, установите
sendmail_enable="NO"
в /etc/rc.conf
. Дополнительная информация
о параметрах запуска sendmail
доступна на странице справочника rc.sendmail(8).
Новый МТА можно запускать автоматически при загрузке системы
добавив соответствующую строку в /etc/rc.conf
.
Ниже приведен пример для postfix:
#
echo 'postfix
_enable=<<YES>>' >> /etc/rc.conf
С этого момента МТА будет запускаться автоматически во время загрузки системы.
Программа sendmail настолько распространена в качестве стандартной программы для систем UNIX(R), что многие программы считают, что она уже установлена и настроена. По этой причине многие альтернативные MTA предоставляют собственные совместимые реализации интерфейса командной строки sendmail; это облегчает их использование в качестве <<прозрачной>> замены sendmail.
Поэтому если вы используете альтернативную почтовую программу,
потребуется убедиться, что когда программное обеспечение
пытается выполнить стандартные исполняемые файлы
sendmail, такие как
/usr/bin/sendmail
, на самом деле выполняются
программы вновь установленной почтовой системы. К счастью,
FreeBSD предоставляет систему, называемую mailwrapper(8),
которая выполняет эту работу за вас.
Когда установлен sendmail,
файл /etc/mail/mailer.conf
выглядит
примерно так:
sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail
Это означает, что когда выполняется какая-то из этих стандартных
программ (например сам sendmail
), система на
самом деле вызывает копию mailwrapper, называемую
sendmail
, которая обращается к
mailer.conf
и выполняет вместо этого
/usr/libexec/sendmail/sendmail
.
Такая схема делает простой замену программ, которые на самом деле
выполняются, когда вызываются стандартные функции
sendmail
.
Поэтому если вы хотите выполнять
/usr/local/supermailer/bin/sendmail-compat
вместо sendmail, отредактируйте
/etc/mail/mailer.conf
так:
sendmail /usr/local/supermailer/bin/sendmail-compat send-mail /usr/local/supermailer/bin/sendmail-compat mailq /usr/local/supermailer/bin/mailq-compat newaliases /usr/local/supermailer/bin/newaliases-compat hoststat /usr/local/supermailer/bin/hoststat-compat purgestat /usr/local/supermailer/bin/purgestat-compat
Как только вы все настроили, потребуется или уничтожить процесс sendmail, который уже не нужен и запустить новую почтовую программу, или просто перегрузить систему. Перезагрузка также даст вам возможность проверить, правильно ли настроена система для автоматического запуска MTA при загрузке.
24.5.1. | Почему я должен использовать FQDN для хостов вне моей подсети? |
Вы, видимо, обнаружили, что хост, к которому вы обратились,
оказался на самом деле в другом домене; например, если вы
находитесь в домене Традиционно, программа разрешения имен BSD BIND позволяла это
делать. Однако, текущая версия BIND,
поставляемая с FreeBSD, больше не добавляет имена доменов,
отличающихся от того, в котором вы находитесь, для не полностью
указанных имен хостов. То есть, имя Это отличается от предыдущего поведения, при котором поиск
продолжался в доменах Хорошим решением будет поместить строку search foo.bar.edu bar.edu вместо ранее используемой: domain foo.bar.edu в файл | |
24.5.2. | sendmail выдает ошибку mail loops back to myself |
В FAQ по sendmail дан следующий ответ: Я получаю такие сообщения об ошибке: 553 MX list for domain.net points back to relay.domain.net 554 <user@domain.net>... Local configuration error Как можно решить эту проблему? Согласно записям MX, почта для домена FAQ по sendmail можно найти на
| |
24.5.3. | Как организовать работу почтового сервера при коммутируемом соединении с Интернет? |
Вы хотите подключить к интернет компьютер с FreeBSD, работающий в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом для локальной сети. PPP соединение не выделенное. Существует как минимум два пути, чтобы сделать это. Один способ это использование UUCP. Другой способ это использование постоянно работающего интернет
сервера для обеспечения вторичного MX сервиса вашего домена.
Например, домен вашей компании example.com. MX 10 example.com. MX 20 example.net. Только один хост должен быть указан в качестве последнего
получателя (добавьте запись Когда программа Вы можете воспользоваться следующим сценарием, чтобы забирать почту каждый раз, когда вы входите в систему: #!/bin/sh # Put me in /usr/local/bin/pppmyisp ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppmyisp Если же вы хотите написать отдельный пользовательский скрипт,
лучше воспользоваться командой
Рассмотрим эту ситуацию подробнее: Вот пример сообщения из freebsd-isp. > Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь > с нашим сервером несколько раз в день, чтобы забрать почту для вашего > первичного (главного) MX (мы не соединяемся с ним каждый раз, когда > приходит новая почта для его доменов). Далее, sendmail отправляет > почту, находящуюся в очереди каждые 30 минут, и клиент должен быть > подключен к Интернет в течении 30 минут, чтобы удостовериться, что > вся почта <<ушла>> на основной MX-сервер. > > Может быть, есть какая-либо команда, которая заставит sendmail > немедленно отправить все почту, находящуюся в очереди? Естественно, > пользователи не обладают какими-либо повышенными привилегиями на > нашем сервере. В разделе <<privacy flags>> файла | |
24.5.4. | Почему я продолжаю получать ошибки Relaying Denied при отправки почты через другие хосты? |
В установке FreeBSD по умолчанию, sendmail настроен для отправки почты только от хоста, на котором он работает. Например, если доступен POP сервер, пользователи смогут проверять почту из школы, с работы или других удаленных точек, но не смогут отправлять письма. Обычно, через некоторое время после попытки будет отправлено письмо от MAILER-DAEMON с сообщением об ошибке 5.7 Relaying Denied. Есть несколько путей разрешения этой ситуации. Самый прямой
путь это использование адреса вашего провайдера в файле
relay-domains, расположенном в
После создания или редактирования этого файла вы должны перезапустить sendmail. Это отлично работает, если вы администратор сервера и не хотите отправлять почту локально, или хотите воспользоваться почтовым клиентом/системой на другом компьютере или даже через другого провайдера. Это также очень полезно, если у вас настроены одна или две почтовые записи. Если необходимо добавить несколько адресов, вы можете просто открыть этот файл в текстовом редакторе и добавить домены, по одному на строку: your.isp.example.com other.isp.example.net users-isp.example.org www.example.org Теперь будет отправляться любая почта, посылаемая через вашу систему любым хостом из этого списка (предоставляемого пользователем, имеющим учетную запись в вашей системе). Это отличный способ разрешить пользователям отправлять почту через вашу систему удаленно, одновременно он блокирует отправку спама. |
В следующем разделе рассматриваются более сложные темы, такие как настройка почты и включение почтовой системы для всего домена.
Изначально, вы можете отправлять почту <<во внешний
мир>> если правильно составлен файл
/etc/resolv.conf
или запущен свой сервер
имен. Если вы хотите, чтобы почта, предназначенная для хоста в
вашем домене, доставлялась MTA (например,
sendmail) на вашем хосте FreeBSD, есть два
пути:
Запустите свой собственный сервер DNS, тем самым организовав
собственный домен, например, FreeBSD.org
Получайте почту для вашего хоста непосредственно. Это
работает при доставке почты непосредственно на DNS имя вашей
машины. Например, example.FreeBSD.org
.
Независимо от выбранного из предложенных выше вариантов, для доставки почты непосредственно на ваш хост у него должен быть постоянный IP адрес (а не динамический, как у большинства PPP соединений). Если вы находитесь за брандмауэром, то последний должен пропускать SMTP-пакеты. Если вы хотите, чтобы почта приходила непосредственно на ваш хост, необходимо убедиться в одном из двух:
Выполнение любого из перечисленных условий обеспечит доставку почты для вашего хоста.
Попробуйте это:
#
hostname
example.FreeBSD.org#
host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
Если вы это видите, то можно без проблем посылать почту на
<yourlogin@example.FreeBSD.org>
(предполагается, что sendmail на example.FreeBSD.org
работает правильно).
Однако, если вы видите это:
#
host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
то вся почта, посланная на example.FreeBSD.org
будет собираться на
hub
(для того же пользователя), вместо того, чтобы
быть отосланной непосредственно на ваш хост.
Эта информация обрабатывается вашим DNS сервером. Соответствующая запись DNS, указывающая, через какой хост будет проходить ваша почта, называется MX (Mail eXchanger). Если для хоста отсутствует такая запись, почта будет приходить прямо на этот хост.
Допустим, что запись MX для хоста freefall.FreeBSD.org
в какой-то момент
выглядела так:
freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com
Вы видите, что для хоста freefall
существуют
несколько MX-записей. Запись с наименьшим номером соответствует
хосту, получающему почту непосредственно, если он доступен; если
он недоступен по каким-то причинам, другие сервера (иногда называемые
(<<резервными MX>>) временно получают почту, и хранят ее
пока не станут доступны хосты с меньшими номерами, в конечном итоге
отправляя почту на эти хосты.
Чтобы альтернативные MX-хосты использовались наиболее эффективно, они должны быть независимо подключены к Интернет. Ваш провайдер (или дружественный сайт) скорее всего без проблем сможет оказать подобные услуги.
Для настройки <<почтового хоста>> (почтовый
сервер) вам потребуется, чтобы почта, направляемая различным рабочим
станциям, пересылалась этому хосту. Обычно вам необходима
доставка всей почты для любого хоста вашего домена (в данном случае
*.FreeBSD.org
) на почтовый сервер, чтобы
пользователи могли получать свою почту на с этого сервера.
Чтобы облегчить себе (и другим) жизнь, создайте на обеих машинах учетные записи с одинаковыми именами пользователей, например, с помощью команды adduser(8).
Сервер, который вы будете использовать в качестве почтового, должен быть объявлен таковым для каждой машины в домене. Вот фрагмент примерной конфигурации:
example.FreeBSD.org A 204.216.27.XX ; Рабочая станция MX 10 hub.FreeBSD.org ; Почтовый шлюз
Таким образом, вся корреспонденция, адресованная рабочей станции, будет обрабатываться вашим почтовым сервером, независимо от того, что указано в A-записи.
Все это можно реализовать только в том случае, если вы используете сервер DNS. Если вы по каким-либо причинам не имеете возможности установить свой собственный сервер имен, необходимо договориться с провайдером или теми, кто поддерживает ваш DNS.
Если вы хотите поддерживать несколько виртуальных почтовых
серверов, может пригодиться следующая информация. Допустим, что
ваш клиент зарезервировал домен, например, customer1.org
, и вам требуется, чтобы
почта, предназначенная для customer1.org
приходила на ваш хост,
например, mail.myhost.com
. В таком
случае, DNS должен выглядеть так:
customer1.org MX 10 mail.myhost.com
Заметьте, что если вам требуется только получать почту для домена, соответствующая A-запись не нужна.
Помните, что если вы попытаетесь каким-либо образом обратиться
к хосту customer1.org
, у вас
вряд ли что-либо получится, если нет A-записи для этого
хоста.
Последнее, что вы должны сделать - это сказать программе sendmail, для каких доменов и/или хостов она должна принимать почту. Это можно сделать несколькими способами:
Добавьте названия этих хостов в файл
/etc/mail/local-host-names
, если вы используете
FEATURE(use_cw_file)
. Если у вас
sendmail
версии ниже 8.10, необходимо отредактировать файл
/etc/sendmail.cw
.
Добавьте строку Cwyour.host.com
в файл
/etc/sendmail.cf
или
/etc/mail/sendmail.cf
(если у вас
sendmail
версии 8.10 или более поздней).
Существует множество случаев, когда может потребоваться только отправка почты через почтовый сервер. Вот отдельные примеры:
У вас настольный компьютер, но вы хотите использовать такие программы как send-pr(1). Для пересылки почты вам потребуется использовать почтовый сервер провайдера.
Ваш компьютер является сервером, где почта не хранится локально, необходима только переправка всей почты через внешний почтовый сервер.
Практически любой MTA способен работать и в этих условиях. К сожалению, может быть очень сложно правильно настроить полноценный MTA для работы только с исходящей почтой. Такие программы, как sendmail и postfix слишком избыточны для этих целей.
К тому же, если вы используете обычные средства доступа в интернет, условий для запуска <<почтового сервера>> может быть недостаточно.
Простейшим способом удовлетворить имеющиеся потребности может быть
установка порта mail/ssmtp.
Выполните под root
следующие команды:
#
cd /usr/ports/mail/ssmtp
#
make install replace clean
После установки потребуется настроить
mail/ssmtp с помощью файла из
четырех строк, расположенного в
/usr/local/etc/ssmtp/ssmtp.conf
:
root=yourrealemail@example.com mailhub=mail.example.com rewriteDomain=example.com hostname=_HOSTNAME_
Убедитесь, что используете существующий почтовый адрес для
root
. Введите сервер вашего провайдера для
пересылки исходящей почты вместо mail.example.com
(некоторые провайдеры
называют его <<сервером исходящей почты>> или
<<SMTP сервером>>).
Убедитесь, что вы выключили sendmail, включая сервис исходящей почты. За подробностями обращайтесь к Раздел 24.4.2, <<Отключение sendmail>>.
У пакета mail/ssmtp имеются
и другие параметры. Обратитесь к файлу с примером настройки
в /usr/local/etc/ssmtp
или к странице справочника
ssmtp за примерами и дополнительной
информацией.
Установка ssmtp таким способом позволит правильно работать любым программам на вашем компьютере, которым требуется отправка почты, но не нарушит политику вашего провайдера и не позволит вашему компьютеру быть использованным спамерами.
Если у вас есть статический IP, настройки по умолчанию менять не потребуется. Установите имя хоста в соответствии с присвоенным именем интернет и sendmail будет делать свою работу.
Если у вас динамический IP адрес и используется коммутируемое
PPP соединение с интернет, у вас возможно уже есть почтовый ящик
на сервере провайдера. Предположим, что домен провайдера называется
example.net
, и что ваше
имя пользователя user
, ваш компьютер называется
bsd.home
, и провайдер сообщил вам, что
возможно использование relay.example.net
в качестве сервера для пересылки
почты.
Для получения почты из почтового ящика необходима установка
соответствующей программы. Хорошим выбором является
утилита fetchmail, она поддерживает
множество различных протоколов. Эта программа доступна в виде
пакета или из Коллекции Портов (mail/fetchmail). Обычно провайдер
предоставляет доступ по протоколу POP. Если
вы работаете с пользовательским PPP, то можете
автоматически забирать почту после установления соединения с
интернет с помощью следующей записи в
/etc/ppp/ppp.linkup
:
MYADDR: !bg su user -c fetchmail
Если вы используете sendmail (как
показано ниже) для доставки почты к не-локальным учетным записям,
вам возможно потребуется обработка почтовой очереди
sendmail сразу после установки
соединения с интернет. Для выполнения этой работы поместите
в /etc/ppp/ppp.linkup
следующую команду
сразу после fetchmail
:
!bg su user -c "sendmail -q"
Предполагается, что учетная запись для
user
существует на bsd.home
. В домашнем каталоге
user
на bsd.home
, создайте файл
.fetchmailrc
:
poll example.net protocol pop3 fetchall pass MySecret
Этот файл не должен быть доступен на чтение никому, кроме
user
, поскольку в нем находится пароль
MySecret
.
Для отправки почты с правильным заголовком
from:
, вам потребуется сообщить
sendmail использовать
<user@example.net>
вместо
<user@bsd.home>
. Вы можете также указать
sendmail отправлять почту через relay.example.net
, для более быстрой пересылки
почты.
Должен подойти следующий файл .mc
:
VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`example.net')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(`SMART_HOST', `relay.example.net') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl
Обратитесь к предыдущему разделу за информацией о том, как
преобразовать этот файл .mc
в файл
sendmail.cf
. Не забудьте также перезапустить
sendmail после обновления
sendmail.cf
.
Наличие SMTP аутентификации на почтовом сервере дает множество преимуществ. SMTP аутентификация может добавить дополнительный уровень безопасности к sendmail, и позволяет мобильным пользователям, подключающимся к разным хостам, возможность использовать тот же почтовый сервер без необходимости перенастройки почтового клиента при каждом подключении.
Установите
security/cyrus-sasl2
из портов. Вы можете найти этот порт в
security/cyrus-sasl2.
В пакете security/cyrus-sasl2
есть множество параметров компиляции. Для используемого здесь
метода SMTP аутентификации убедитесь, что параметр
LOGIN
не отключен.
После установки
security/cyrus-sasl2,
отредактируйте /usr/local/lib/sasl2/Sendmail.conf
(или создайте его если он не существует) и добавьте следующую
строку:
pwcheck_method: saslauthd
Затем установите
security/cyrus-sasl2-saslauthd
и добавьте в /etc/rc.conf
следующую
строку:
saslauthd_enable="YES"
а затем запустите saslauthd:
#
service saslauthd start
Этот даемон является посредником для аутентификации
sendmail через базу данных
passwd
FreeBSD. Это позволяет избежать
проблем, связанных с созданием нового набора имен пользователей
и паролей для каждого пользователя, которому необходима
SMTP аутентификация, пароль для входа в систему
и для отправки почты будет одним и тем же.
Теперь отредактируйте /etc/make.conf
и
добавьте следующие строки:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2
Эти параметры необходимы sendmail для подключения cyrus-sasl2 во время компиляции. Убедитесь, что cyrus-sasl2 был установлен до перекомпиляции sendmail.
Перекомпилируйте sendmail, выполнив следующие команды:
#
cd /usr/src/lib/libsmutil
#
make cleandir && make obj && make
#
cd /usr/src/lib/libsm
#
make cleandir && make obj && make
#
cd /usr/src/usr.sbin/sendmail
#
make cleandir && make obj && make && make install
Компиляция sendmail должна пройти
без проблем, если /usr/src
не был сильно
изменен и доступны необходимые разделяемые библиотеки.
После компилирования и переустановки
sendmail, отредактируйте файл
/etc/mail/freebsd.mc
(или тот файл, который
используется в качестве .mc
; многие
администраторы используют в качестве имени этого файла
вывод hostname(1) для обеспечения уникальности).
Добавьте к нему следующие строки:
dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Эти параметры настраивают различные методы, доступные sendmail для аутентификации пользователей. Если вы хотите использовать вместо pwcheck другой метод, обратитесь к прилагаемой документации.
Наконец, запустите make(1) в каталоге
/etc/mail
. Из файла
.mc
будет создан файл
.cf
, называющийся
freebsd.cf
(или с тем именем, которое было
использовано для файла .mc
). Затем
используйте команду make install restart
,
которая скопирует файл в sendmail.cf
,
и правильно перезапустит sendmail.
Дополнительная информация об этом процессе находится в
/etc/mail/Makefile
.
Если все шаги пройдены успешно, введите информацию для
аутентификации в настройки почтового клиента и отправьте тестовое
сообщение. Для определения причин возможных ошибок установите
параметр sendmail
LogLevel
в 13 и просмотрите
/var/log/maillog
.
За дальнейшей информацией обратитесь к странице sendmail, посвященной SMTP аутентификации.
Почтовая программа пользователя (Mail User Agent,
MUA) это приложение, используемое для отправки
и получения почты. Кроме того, поскольку почта
<<эволюционирует>> и становится более сложной,
MUA совершенствуют свои функции по обработке
почты, становятся более удобны в использовании. FreeBSD поддерживает
множество различных пользовательских почтовых программ, каждая
из которых может быть легко установлена из Коллекции Портов FreeBSD. Пользователи могут
выбирать между графическими почтовыми клиентами, такими как
evolution или
balsa, консольными клиентами, такими
как mutt, alpine
или mail
, или Web-интерфейсами, используемыми в
некоторых больших организациях.
В FreeBSD в качестве MUA по умолчанию используется mail(1). Это консольный MUA, предоставляющий все основные функции, необходимые для отправки и получения текстовых сообщений, хотя его возможности по работе с вложениями ограничены и он может работать только с локальными почтовыми ящиками.
Хотя mail
не поддерживает работу с серверами
POP или IMAP, эти почтовые
ящики могут быть загружены в локальный файл mbox
с помощью fetchmail, который будет
обсуждаться далее в этой главе (Раздел 24.11, <<Использование fetchmail>>).
Для отправки и получения почты выполните
mail
:
%
Содержимое почтового ящика в каталоге
/var/mail
будет автоматически
прочитано утилитой mail
. Если почтовый ящик
пуст, утилита завершит работу с сообщением о том, что почта не
была обнаружена. После чтения почтового ящика запустится
интерфейс программы и будет отображен список сообщений. Сообщения
нумеруются автоматически и будут выглядеть как в этом примере:
Mail version 8.1 6/6/93. Type ? for help. "/var/mail/marcs": 3 messages 3 new >N 1 root@localhost Mon Mar 8 14:05 14/510 "test" N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"
Теперь сообщения могут быть прочитаны с помощью команды t, завершаемой номером сообщения, которое должно быть отображено. В этом примере мы прочтем первое сообщение:
& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.
Как видно в примере выше, клавиша t выводит сообщение со всеми заголовками. Для повторного вывода списка сообщений необходимо использовать клавишу h.
Если требуется ответить на сообщение, используйте для
ответа mail
, нажав клавишу R или
r. Клавиша R используется в
mail
для ответа только отправителю,
а r для ответа и отправителю, и другим получателям
сообщения. Вы можете также завершить эти команды номером письма,
на которое хотите составить ответ. После этого необходимо ввести
ответ, конец сообщения должен быть завершен символом
. на новой строке. Пример можно увидеть ниже:
&R 1
To: root@localhost Subject: Re: testThank you, I did get your email. .
EOT
Для отправки нового сообщения используйте клавишу m и введите адрес получателя. Несколько получателей могут быть указаны через запятую. Введите тему сообщения и его содержимое. Конец сообщения отмечается помещением символа . на новой строке.
&mail root@localhost
Subject:I mastered mail Now I can send and receive email using mail ... :) .
EOT
В утилите mail
для вызова справки в любой
момент может быть использована команда ?,
для получения помощи по mail
необходимо также
обратиться к странице справочника mail(1).
Как упоминалось выше, команда mail(1) не была первоначально
предназначена для работы с вложениями, и поэтому их поддержка
довольно слабая. Современные MUA,
такие как mutt, работают с вложениями
гораздо более уверенно. Но если вы все же предпочитаете
использовать mail
,
установите порт converters/mpack.
mutt это небольшая но очень мощная почтовая программа с отличными возможностями, в числе которых:
Возможность сортировки сообщений по дискуссиям;
Поддержка PGP для подписи и шифрования сообщений;
Поддержка MIME;
Поддержка Maildir;
Широкие возможности настройки.
Все эти возможности делают
mutt одним из самых лучших почтовых
клиентов. Обратитесь к http://www.mutt.org
за
дополнительной информацией по mutt.
Стабильная версия mutt может быть установлена из порта mail/mutt. После установки порта, mutt может быть запущен следующей командой:
%
mutt
mutt автоматически прочтет содержимое
пользовательского почтового ящика в каталоге /var/mail
и отобразит почту,
если она имеется в наличии. Если почты в ящике пользователя нет,
mutt будет ожидать команд от пользователя.
В примере ниже показан mutt со
списком сообщений:
Для чтения почты выберите сообщение с помощью клавиш навигации и нажмите Enter. Пример mutt, отображающего сообщение, показан ниже:
Как и команда mail(1), mutt позволяет пользователям отвечать как только отправителю, так и всем получателям. Для ответа только отправителю почты, используйте клавишу r. Для группового ответа и отправителю сообщения и всем получателям используйте клавишу g.
mutt использует vi(1) в качестве
редактора для создания писем и ответа на них. Редактор можно
заменить путем создания или редактирования собственного
.muttrc
в своем домашнем каталоге и установки
переменной editor
, или установкой переменной
окружения EDITOR
. Обратитесь к
http://www.mutt.org/
за более подробной
информацией о настройке mutt.
Для создания нового почтового сообщения нажмите
m. После введения темы
mutt запустит vi(1) для создания
письма. Как только письмо будет завершено, сохраните его и закройте
vi
, mutt продолжит
работу, отобразив окно с сообщением, которое должно быть отправлено.
Для отправки сообщения нажмите y. Пример окна с
сообщением показан ниже:
mutt также содержит исчерпывающий справочник, к которому можно обратиться из большинства меню, нажав клавишу ?. Верхняя строка также показывает клавиатурные сокращения, которые могут быть использованы.
alpine предназначен для начинающих пользователей, но включает некоторые дополнительные возможности.
В программе alpine ранее были обнаружены некоторые уязвимости, позволяющие удаленному взломщику выполнять произвольный код с правами пользователя локальной системы путем отправки специально подготовленного письма. Все эти известные проблемы были исправлены, но код alpine написан в очень небезопасном стиле и офицеры безопасности FreeBSD считают, что возможно наличие других не обнаруженных уязвимостей. Имейте это ввиду при установке alpine.
Текущая версия alpine может быть установлена из порта mail/alpine. Как только порт установлен, alpine можно запустить командой:
%
alpine
При первом запуске alpine отображает страницу приветствия с кратким введением, а также просьбу команды разработчиков alpine отправить анонимное почтовое сообщение, позволяющее им определить количество пользователей, работающих с их почтовым клиентом. Для отправки анонимного сообщения нажмите Enter, или E для выхода из приветствия без отправки анонимного сообщения. Пример приветствия показан ниже:
Затем отображается главное меню, перемещение по которому осуществляется с помощью клавиш навигации. В главном меню находятся ссылки для составления новых писем, просмотра почтовых каталогов, и даже управления адресной книгой. Ниже главного меню показаны клавиатурные сокращения, выполняющие соответствующие задачи.
По умолчанию alpine открывает каталог
inbox
. Для просмотра списка
сообщений нажмите I, или выберите
, как показано ниже:
В списке показаны сообщения в текущем каталоге, они могут быть просмотрены с помощью клавиш навигации. Подсвеченные сообщения можно прочесть нажав Enter.
На снимке экрана ниже показан пример письма, отображаемого alpine. Внизу экрана даны клавиатурные сокращения. Например, r используется для указания MUA ответить на отображаемое в данный момент сообщение.
Ответ на письмо в alpine осуществляется с помощью редактора pico, который устанавливается по умолчанию вместе с alpine. pico упрощает навигацию в сообщении гораздо проще для новых пользователей, чем vi(1) или mail(1). Как только ответ будет готов, сообщение можно отправить нажав Ctrl+X. alpine запросит подтверждение.
Программа alpine может быть настроена
через пункт главного меню.
Обратитесь к странице http://www.washington.edu/alpine/
за дальнейшей информацией.
fetchmail это полноценный IMAP и POP клиент, позволяющий пользователям автоматически загружать почту с удаленных серверов IMAP и POP в локальные почтовые ящики; так доступ к почтовым ящикам упрощается. fetchmail может быть установлен из порта mail/fetchmail и предоставляет различные возможности, в том числе:
Поддержка протоколов POP3, APOP, KPOP, IMAP, ETRN и ODMR.
Возможность пересылки почты через SMTP, что позволяет использовать функции фильтрации, перенаправления и синонимов.
Может быт запущен в режиме даемона для периодической проверки поступающих сообщений.
Может забирать почту с нескольких почтовых ящиков и рассылать ее различным локальным пользователям в зависимости от настроек.
Описание всех возможностей
fetchmail выходит за пределы этой главы,
за дополнительной информацией обратитесь к документации по
fetchmail. Утилита
fetchmail требует наличия
файла настройки .fetchmailrc
. Этот файл
включает информацию о сервере, а также информацию для аутентификации.
Поскольку этот файл содержит важную информацию, правильно будет
сделать его доступным для чтения только владельцем с помощью
следующей команды:
%
chmod 600 .fetchmailrc
В следующем примере файл .fetchmailrc
предназначен для загрузки одного почтового ящика по протоколу
POP. Этот файл указывает
fetchmail соединиться с
example.com
с именем пользователя
joesoap
и паролем XXX
.
В примере подразумевается, что пользователь joesoap
существует также и в локальной системе.
poll example.com protocol pop3 username "joesoap" password "XXX"
В следующем примере производится подключение к нескольким POP и IMAP серверам, при необходимости почта перенаправляется другим локальным пользователям:
poll example.com proto pop3: user "joesoap", with password "XXX", is "jsoap" here; user "andrea", with password "XXXX"; poll example2.net proto imap: user "john", with password "XXXXX", is "myth" here;
Утилита fetchmail может работать
в режиме даемона с флагом -d
, заданным с
интервалом (в секундах), через который
fetchmail должен опрашивать
серверы, перечисленные в .fetchmailrc
.
В следующем примере fetchmail будет
забирать почту каждые 600 секунд:
%
fetchmail -d 600
Дополнительную информацию о fetchmail
можно найти на сайте http://fetchmail.berlios.de/
.
Утилита procmail это невероятно
мощное приложение, используемое для фильтрации входящей почты.
Она позволяет пользователям определять <<правила>>,
которые могут быть сопоставлены входящим письмам для выполнения
определенных действий или для перенаправления почты в
альтернативные почтовые ящики и/или на почтовые адреса.
procmail может быть установлен
с помощью порта mail/procmail.
После установки он может быть непосредственно интегрирован в
большинство MTA; сверьтесь с документацией
на ваш MTA. Другой способ интеграции
procmail - добавление в
файл .forward
, находящийся в домашнем
каталоге пользователя, следующей строки:
"|exec /usr/local/bin/procmail || exit 75"
В этом разделе будут показаны основы настройки правил
procmail, а также краткое описание их
действия. Эти и другие правила должны быть помещены в файл
.procmailrc
, который должен находиться в домашнем
каталоге пользователя.
Большую часть этих правил также можно найти на странице справочника procmailex(5).
Перенаправление всей почты от <user@example.com>
на
внешний адрес <goodmail@example2.com>
:
:0 * ^From.*user@example.com ! goodmail@example2.com
Перенаправление всей почты объемом меньше 1000 байт на внешний адрес
<goodmail@example2.com>
:
:0 * < 1000 ! goodmail@example2.com
Перенаправление всей почты, отправляемой на
<alternate@example.com>
, в почтовый ящик
alternate
:
:0 * ^TOalternate@example.com alternate
Перенаправление всей почты с <<Spam>> в
/dev/null
:
:0 ^Subject:.*Spam /dev/null
Полезный пример, обрабатывающий входящую почту со списков
рассылки FreeBSD.org
и
помещающий каждый список в отдельный почтовый ящик.
:0 * ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG { LISTNAME=${MATCH} :0 * LISTNAME??^\/[^@]+ FreeBSD-${MATCH} }
syslogd
Эта глава посвящена некоторым наиболее часто используемым сетевым службам систем UNIX(R). Мы опишем, как установить, настроить, протестировать и поддерживать многие различные типы сетевых сервисов. Для облегчения вашей работы в главу включены примеры конфигурационных файлов.
После чтения этой главы вы будете знать:
Как управлять даемоном inetd.
Как настроить сетевую файловую систему.
Как настроить сетевой сервер информации для совместного использования учётных записей пользователей.
Как настроить автоматическое конфигурирование сетевых параметров при помощи DHCP.
Как настроить сервер имён.
Как настроить Apache HTTP сервер.
Как настроить файловый и сервер печати для Windows(R) клиентов с использованием Samba.
Как синхронизировать дату и время, а также настроить сервер времени с протоколом NTP.
Как настроить стандартный демон протоколирования,
syslogd
, принимать сообщения от удалённых
хостов.
Перед чтением этой главы вы должны:
Понимать основы работы скриптов
/etc/rc
.
Свободно владеть основными сетевыми терминами.
Знать как устанавливать дополнительные программы сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
inetd(8) иногда называют также <<супер-сервером Интернет>>, потому что он управляет соединениями к многим сервисам. Когда inetd принимает соединение, он определяет, для какой программы предназначено соединение, запускает соответствующий процесс и предоставляет ему сокет, ссылка на который передается процессу в качестве стандартных устройств ввода, вывода и сообщения об ошибках. Для не слишком нагруженных серверов запуск через inetd может уменьшить общую нагрузку на систему по сравнению с запуском каждого даемона индивидуально в выделенном режиме.
В первую очередь inetd используется для вызова других даемонов, но несколько простых протоколов, таких, как chargen, auth и daytime, обслуживаются непосредственно.
Этот раздел посвящен основам настройки
inetd посредством его параметров командной
строки и его конфигурационного файла,
/etc/inetd.conf
.
inetd инициализируется посредством
системы rc(8). Параметр
inetd_enable
по умолчанию установлен в
NO
, однако может быть включен утилитой
sysinstall в процессе установки.
Указание
inetd_enable="YES"
или
inetd_enable="NO"
в файле
/etc/rc.conf
разрешит или запретит запуск
inetd во время загрузки.
Команда
/etc/rc.d/inetd rcvar
покажет текущие установки переменных, относящихся к inetd.
Кроме того, через inetd_flags
даемону
inetd могут быть переданы различные
параметры командной строки.
Как и большинство даемонов, для inetd существует большое количество разнообразных опций, изменяющих его поведение. Полный из список таков:
inetd
[-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address | hostname]
[-p filename] [-R rate] [-s maximum] [configuration file]
Опции могут передаваться inetd
при помощи переменной inetd_flags
файла
/etc/rc.conf
. По умолчанию переменная
inetd_flags
установлена в -wW -C
60
, то есть включает обработку TCP wrapping и запрещает
обращаться с одного IP-адреса к сервису более чем 60 раз в
минуту.
Несмотря на то, что ниже по тексту мы упоминаем опции ограничения частоты обращения к службам (rate-limiting), в большинстве случаев начинающим пользователям нет необходимости менять эти параметры. Эти опции могут стать полезными в том случае, если вы обнаружите, что ваша система принимает чрезмерное количество соединений. Полный список опций можно найти на странице справочника inetd(8).
Определение максимального числа одновременных запусков каждой
службы; по умолчание не ограничено. Может быть переопределено
индивидуально для каждой службы при помощи параметра
max-child
.
Определение по умолчанию максимального количества раз,
которое служба может быть вызвана с одного IP-адреса в минуту; по
умолчанию не ограничено. Может быть переопределено для каждой
службы параметром
max-connections-per-ip-per-minute
.
Определяет максимальное количество раз, которое служба может быть вызвана в минуту; по умолчанию 256. Частота, равная 0, не ограничивает число вызовов.
Задает максимальное количество процессов, одновременно
обслуживающих один сервис для одного IP-адреса; по умолчанию
не ограничено. Может переопределяться для каждой службы
параметром max-child-per-ip
.
Настройка inetd производится через файл
/etc/inetd.conf
.
Если в файле /etc/inetd.conf
делались
изменения, то inetd можно заставить считать
его конфигурационный файл повторно посредством команды
В каждой строке конфигурационного файла описывается отдельный
даемон. Комментариям в файле предшествует знак <<#>>.
Строки в файле
/etc/inetd.conf
имеют такой формат:
service-name socket-type protocol {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] user[:group][/login-class] server-program server-program-arguments
Пример записи для даемона ftpd(8), использующего IPv4:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Это имя сервиса, предоставляемого конкретным даемоном. Оно
должно соответствовать сервису, указанному в файле
/etc/services
. Здесь определяется, какой
порт должен обслуживать inetd. При
создании нового сервиса он должен помещаться сначала в файл
/etc/services
.
stream
, dgram
,
raw
либо seqpacket
.
stream
должен использоваться для
ориентированных на соединение даемонов TCP, когда как
dgram
используется для даемонов, использующих
транспортный протокол UDP.
Одно из следующих:
Протокол | Описание |
---|---|
tcp, tcp4 | TCP IPv4 |
udp, udp4 | UDP IPv4 |
tcp6 | TCP IPv6 |
udp6 | UDP IPv6 |
tcp46 | TCP как для IPv4, так и для v6 |
udp46 | UDP как для IPv4, так и для v6 |
wait|nowait
определяет, может ли даемон,
вызванный из inetd, работать с
собственным сокетом, или нет. Сокеты типа dgram
должны использовать параметр wait
, когда как
даемоны с потоковыми
сокетами, которые обычно многопоточны, должны использовать
nowait
. wait
обычно передает
много сокетов одному даемону, когда как nowait
порождает даемон для каждого нового сокета.
Максимальное число порожденных даемонов, которых может
создать inetd, может быть задано
параметром max-child
. Если нужно ограничение в
десять экземпляров некоторого даемона, то после параметра
nowait
нужно задать
/10
. При задании /0
ограничения на количество экземпляров снимаются.
Кроме max-child
, могут быть задействованы
два других параметра, ограничивающих максимальное число соединений от
одного источника.
max-connections-per-ip-per-minute
ограничивает
количество соединений от одного IP-адреса в течение минуты, так что
значение, равное десяти, будет ограничивать
любой заданный IP-адрес на выполнение десяти попыток подключения
к некоторому сервису в минуту. Параметр
max-child-per-ip
ограничивает количество
дочерних процессов, которые могут быть одновременно
задействованы на обслуживание одного IP-адреса.
Эти опции полезны для предотвращения
намеренного или ненамеренного расходования ресурсов и атак типа
Denial of Service (DoS) на машину.
В этом поле одно из значений wait
или nowait
обязательны. max-child
,
max-connections-per-ip-per-minute
и
max-child-per-ip
опциональны.
Многопоточный даемон типа stream без ограничений
max-child
,
max-connections-per-ip-per-minute
или
max-child-per-ip
будет
определен просто как nowait
.
Тот же самый даемон с ограничением в максимум десять даемонов
будет определен так: nowait/10
.
Та же конфигурация с ограничением в двадцать
соединений на IP-адрес в минуту и общим ограничением в максимум
десять порожденных даемонов выглядит так:
nowait/10/20
.
Эти параметры, используемые все со значениями по умолчанию даемоном fingerd(8), имеют такой вид:
finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s
Наконец, пример, описывающий ограничение на 100 даемонов
в целом, при этом не более чем по 5 на один IP-адрес,
будет выглядеть так:
nowait/100/0/5
.
Это имя пользователя, под которым должен
работать соответствующий даемон. Чаще всего даемоны работают
как пользователь root
. Для обеспечения
безопасности некоторые серверы запускаются как пользователь
daemon
или как пользователь с минимальными
правами nobody
.
Полный маршрут к даемону, который будет выполняться при
установлении соединения. Если даемон является сервисом,
предоставляемым самим inetd, то нужно
задать ключевое слово internal
.
Этот параметр работает вместе с параметром
server-program
, задавая параметры, начиная с
argv[0]
, передаваемые даемону при запуске.
Если в командной
строке задано mydaemon -d
, то
mydaemon -d
будет являться значением для
server-program-arguments
. И снова, если даемон
является внутренней службой, то здесь нужно использовать
internal
.
В зависимости от выбранных при установке параметров,
многие из служб inetd могут оказаться по
умолчанию включенными. Если нет особой нужды в некотором даемоне,
подумайте, не стоит ли его выключить?
Поместите знак <<#>> перед ненужным даемоном
в /etc/inetd.conf
и пошлите сигнал для inetd.
Некоторые даемоны, такие, как fingerd,
вообще нежелательны, потому что они дают информацию, которая
может оказаться полезной атакующему.
Некоторые даемоны не заботятся о безопасности и имеют большие
тайм-ауты для соединений или вообще их не имеют. Это позволяет
атакующему неспешно устанавливать соединения к конкретному даемону,
истощая имеющиеся ресурсы. Может оказаться полезным задать для
некоторых даемонов ограничения
max-connections-per-ip-per-minute
,
max-child
и max-child-per-ip
,
особенно если вы обнаружите слишком большое число соединений.
По умолчанию механизм TCP wrapping включен. Обратитесь к справочной странице по hosts_access(5) для получения более подробной информации о задании ограничений TCP для различных даемонов, запускаемых посредством inetd.
daytime, time, echo, discard, chargen и auth все являются услугами, предоставляемыми самим inetd.
Сервис auth предоставляет идентификационные сетевые услуги и поддается настройке; прочие сервисы ненастраиваемы.
Обратитесь к справочной странице по inetd(8) для получения более подробной информации.
Кроме поддержки многих прочих типов файловых систем, во FreeBSD встроена поддержка сетевой файловой системы (Network File System), известной как NFS. NFS позволяет системе использовать каталоги и файлы совместно с другими машинами, посредством сети. Посредством NFS пользователи и программы могут получать доступ к файлам на удалённых системах точно так же, как если бы это были файлы на собственных дисках.
Вот некоторые из наиболее заметных преимуществ, которые даёт использование NFS:
Отдельно взятые рабочие станции используют меньше собственного дискового пространства, так как совместно используемые данные могут храниться на одной отдельной машине и быть доступными для других машин в сети.
Пользователям не нужно иметь домашние каталоги, отдельные для каждой машины в вашей сети. Домашние каталоги могут располагаться на сервере NFS и их можно сделать доступными отовсюду в сети.
Устройства хранения информации, такие, как дискеты, приводы CD-ROM и устройства Zip(R), могут использоваться другими машинами в сети. Это может привести к уменьшению переносимых устройств хранения информации в сети.
NFS строится по крайней мере из двух основных частей: сервера и одного или большего количества клиентов. Клиент обращается к данным, находящимся на сервере, в режиме удалённого доступа. Для того, чтобы это нормально функционировало, нужно настроить и запустить несколько процессов.
На сервере работают следующие даемоны:
Даемон | Описание |
---|---|
nfsd | Даемон NFS, обслуживающий запросы от клиентов NFS. |
mountd | Даемон монтирования NFS, который выполняет запросы, передаваемые ему от nfsd(8). |
rpcbind | Этот даемон позволяет клиентам NFS определить порт, используемый сервером NFS. |
Клиент может запустить также даемон, называемый nfsiod. nfsiod обслуживает запросы, поступающие от сервера от сервера NFS. Он необязателен, увеличивает производительность, однако для нормальной и правильной работы не требуется. Для получения дополнительной информации обратитесь к разделу справочной системы о nfsiod(8).
Настройка NFS является достаточно незамысловатым
процессом. Все процессы, которые должны быть запущены, могут быть
запущены во время загрузки посредством нескольких модификаций в
вашем файле /etc/rc.conf
.
Проверьте, что на NFS-сервере в файле
/etc/rc.conf
имеются такие строки:
rpcbind_enable="YES" nfs_server_enable="YES" nfs_server_flags="-u -t -n 4" mountd_flags="-r"
mountd запускается автоматически, если включена функция сервера NFS.
На клиенте убедитесь, что в файле /etc/rc.conf
присутствует такой параметр:
nfs_client_enable="YES"
Файл /etc/exports
определяет, какие
файловые системы на вашем сервере NFS будут
экспортироваться (иногда их называют <<совместно
используемыми>>). Каждая строка в
/etc/exports
задаёт файловую систему, которая
будет экспортироваться и какие машины будут иметь к ней доступ. Кроме
машин, имеющих доступ, могут задаваться другие параметры, влияющие на
характеристики доступа. Имеется полный набор параметров,
которые можно использовать, но здесь пойдёт речь лишь о некоторых из
них. Описания остальных параметров можно найти на страницах справочной
системы по exports(5).
Вот несколько примерных строк из файла
/etc/exports
:
В следующих примерах даётся общая идея того, как экспортировать
файловые системы, хотя конкретные параметры могут отличаться в
зависимости от ваших условий и конфигурации сети. К примеру, чтобы
экспортировать каталог /cdrom
для трёх машин,
находящихся в том же самом домене, что и сервер (поэтому отсутствует
доменное имя для каждой машины) или для которых имеются записи в
файле /etc/hosts
. Флаг -ro
указывает на использование экспортируемой файловой
системы в режиме только чтения. С этим флагом удалённая система не
сможет никоим образом изменить экспортируемую файловую систему.
/cdrom -ro host1 host2 host3
В следующей строке экспортируется файловая система
/home
, которая становится доступной трем хостам,
указанным по их IP-адресам. Это полезно, если у вас есть собственная
сеть без настроенного сервера DNS. Как вариант,
файл /etc/hosts
может содержать внутренние имена
хостов; пожалуйста, обратитесь к справочную систему по hosts(5)
для получения дополнительной информации. Флаг
-alldirs
позволяет рассматривать подкаталоги в
качестве точек монтирования. Другими словами, это не монтирование
подкаталогов, но разрешение клиентам монтировать только каталоги,
которые им требуются или нужны.
/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4
В строке, приведённой ниже, файловая система
/a
экспортируется таким образом, что она доступна
двум клиентам из других доменов. Параметр
-maproot=root
позволяет пользователю
root
удалённой системы осуществлять запись на
экспортируемую файловую систему как пользователь
root
. Если параметр
-maproot=root
не задан,
то даже если пользователь имеет права доступа root
на удалённой системе, он не сможет модифицировать
файлы на экспортированной файловой системе.
/a -maproot=root host.example.com box.example.org
Для того, чтобы клиент смог обратиться к экспортированной файловой
системе, он должен иметь права сделать это. Проверьте, что клиент
указан в вашем файле /etc/exports
.
В файле /etc/exports
каждая строка содержит
информацию об экспортировании для отдельной файловой системы для
отдельно взятого хоста. Удалённый хост может быть задан только
один раз для каждой файловой системы, и может иметь
только одну запись, используемую по умолчанию, для каждой локальной
файловой системы. К примеру, предположим, что
/usr
является отдельной файловой системой.
Следующий /etc/exports
будет некорректен:
# Invalid when /usr is one file system /usr/src client /usr/ports client
Одна файловая система, /usr
, имеет две
строки, задающие экспортирование для одного и того же хоста,
client
. Правильный формат в этом случае таков:
/usr/src /usr/ports client
Свойства отдельной файловой системы, экспортируемой некоторому хосту, должны задаваться в одной строке. Строки без указания клиента воспринимаются как отдельный хост. Это ограничивает то, как вы можете экспортировать файловые системы, но для большинства это не проблема.
Ниже приведён пример правильного списка экспортирования, где
/usr
и /exports
являются
локальными файловыми системами:
# Экспортируем src и ports для client01 и client02, но # только client01 имеет права пользователя root на них /usr/src /usr/ports -maproot=root client01 /usr/src /usr/ports client02 # Клиентские машины имеют пользователя root и могут монтировать всё в # каталоге /exports. Кто угодно может монтировать /exports/obj в режиме чтения /exports -alldirs -maproot=root client01 client02 /exports/obj -ro
Даемон mountd должен быть
проинформирован об изменении файла /etc/exports
,
чтобы изменения вступили в силу. Это может быть достигнуто посылкой
сигнала HUP процессу mountd
:
#
kill -HUP `cat /var/run/mountd.pid`
или вызовом скрипта mountd
подсистемы rc(8)
с соответствующим параметром:
#
/etc/rc.d/mountd onereload
За подробной информацией о работе скриптов rc.d обращайтесь к Раздел 12.7, <<Использование rc во FreeBSD 5.X и последующих версиях>>.
Как вариант, при перезагрузке FreeBSD всё настроится правильно.
Хотя выполнять перезагрузку вовсе не обязательно. Выполнение следующих
команд пользователем root
запустит всё, что
нужно.
На сервере NFS:
#
rpcbind
#
nfsd -u -t -n 4
#
mountd -r
На клиенте NFS:
#
nfsiod -n 4
Теперь всё должно быть готово к реальному монтированию удалённой
файловой системы. В приводимых примерах сервер будет носить имя
server
, а клиент будет носить имя
client
. Если вы только хотите
временно смонтировать удалённую файловую систему, или всего лишь
протестировать ваши настройки, то просто запустите команды, подобные
приводимым здесь, работая как пользователь root
на
клиентской машине:
#
mount server:/home /mnt
По этой команде файловая система /home
на
сервере будет смонтирована в каталог /mnt
на
клиенте. Если всё настроено правильно, вы сможете войти в каталог
/mnt
на клиенте и увидеть файлы, находящиеся на
сервере.
Если вы хотите автоматически монтировать удалённую файловую
систему при каждой загрузке компьютера, добавьте файловую систему в
/etc/fstab
. Вот пример:
server:/home /mnt nfs rw 0 0
На страницах справочной системы по fstab(5) перечислены все доступные параметры.
Некоторым приложениям (например, mutt)
для корректной работы необходима возможность блокировки файлов
(file locking). При работе по NFS блокировка
файлов может осуществляться при помощи демона
rpc.lockd. Чтобы его активировать, добавьте
следующие записи в файл /etc/rc.conf
как
на клиенте, так и на сервере NFS (предполагается,
что и клиент, и сервер уже сконфигурированы):
rpc_lockd_enable="YES" rpc_statd_enable="YES"
Запустите демоны, выполнив следующие команды:
#
/etc/rc.d/lockd start
#
/etc/rc.d/statd start
Если нет необходимости в настоящей блокировке файлов между
сервером NFS и клиентами, то клиент
NFS может быть настроен так, чтобы выполнять
блокировки файлов локально, для чего необходимо передать опцию
-L
команде mount_nfs(8). За подробностями
обратитесь к странице справочника mount_nfs(8).
У NFS есть много вариантов практического применения. Ниже приводится несколько наиболее широко распространённых способов её использования:
Настройка несколько машин для совместного использования CDROM или других носителей. Это более дешёвый и зачастую более удобный способ установки программного обеспечения на несколько машин.
В больших сетях может оказаться более удобным настроить центральный сервер NFS, на котором размещаются все домашние каталоги пользователей. Эти домашние каталоги могут затем экспортироваться в сеть так, что пользователи всегда будут иметь один и тот же домашний каталог вне зависимости от того, на какой рабочей станции они работают.
Несколько машин могут иметь общий каталог
/usr/ports/distfiles
. Таким образом, когда
вам нужно будет установить порт на несколько машин, вы сможете быстро
получить доступ к исходным текстам без их загрузки на каждой
машине.
amd(8) (даемон автоматического монтирования) автоматически
монтирует удалённую файловую систему,
как только происходит обращение к файлу или каталогу в этой файловой
системе. Кроме того, файловые системы, которые были неактивны
некоторое время, будут автоматически размонтированы даемоном
amd. Использование
amd является простой альтернативой
статическому монтированию, так как в последнем случае обычно всё должно
быть описано в файле /etc/fstab
.
amd работает, сам выступая как сервер
NFS для каталогов /host
и
/net
. Когда происходит обращение к файлу в одном
из этих каталогов, amd ищет соответствующий
удаленный ресурс для монтирования и автоматически его монтирует.
/net
используется для монтирования экспортируемой
файловой системы по адресу IP, когда как каталог
/host
используется для монтирования ресурса по
удаленному имени хоста.
Обращение к файлу в каталоге
/host/foobar/usr
укажет
amd на выполнение попытки монтирования
ресурса /usr
, который находится на хосте
foobar
.
Вы можете посмотреть доступные для монтирования ресурсы
отдалённого хоста командой showmount
. К примеру,
чтобы посмотреть ресурсы хоста с именем foobar
, вы
можете использовать:
%
showmount -e foobar
Exports list on foobar: /usr 10.10.10.0 /a 10.10.10.0%
cd /host/foobar/usr
Как видно из примера, showmount
показывает
/usr
как экспортируемый ресурс. При переходе в
каталог /host/foobar/usr
даемон
amd пытается разрешить имя хоста
foobar
и автоматически смонтировать требуемый
ресурс.
amd может быть запущен из скриптов
начальной загрузки, если поместить такую строку в файл
/etc/rc.conf
:
amd_enable="YES"
Кроме того, даемону amd могут быть
переданы настроечные флаги через параметр
amd_flags
. По умолчанию
amd_flags
настроен следующим образом:
amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
Файл /etc/amd.map
задает опции, используемые
по умолчанию при монтировании экспортируемых ресурсов. В файле
/etc/amd.conf
заданы настройки некоторых более
сложных возможностей amd.
Обратитесь к справочным страницам по amd(8) и amd.conf(5) для получения более полной информации.
Некоторые сетевые адаптеры для систем PC с шиной ISA имеют ограничения, которые могут привести к серьезным проблемам в сети, в частности, с NFS. Эти проблемы не специфичны для FreeBSD, однако эту систему они затрагивают.
Проблема, которая возникает практически всегда при работе по сети систем PC (FreeBSD) с высокопроизводительными рабочими станциями, выпущенными такими производителями, как Silicon Graphics, Inc. и Sun Microsystems, Inc. Монтирование по протоколу NFS будет работать нормально, и некоторые операции также будут выполняться успешно, но неожиданно сервер окажется недоступным для клиент, хотя запросы к и от других систем будут продолжаться обрабатываться. Такое встречается с клиентскими системами, не зависимо от того, является ли клиент машиной с FreeBSD или рабочей станцией. Во многих системах при возникновении этой проблемы нет способа корректно завершить работу клиента. Единственным выходом зачастую является холодная перезагрузка клиента, потому что ситуация с NFS не может быть разрешена.
Хотя <<правильным>> решением является установка более
производительного и скоростного сетевого адаптера на систему FreeBSD,
имеется простое решение, приводящее к удовлетворительным результатам.
Если система FreeBSD является сервером, укажите
параметр -w=1024
на клиенте при монтировании. Если
система FreeBSD является клиентом, то смонтируйте
файловую систему NFS с параметром -r=1024
. Эти
параметры могут быть заданы в четвертом поле записи в файле
fstab
клиента при автоматическом монтировании,
или при помощи параметра -o
в команде mount(8) при
монтировании вручную.
Нужно отметить, что имеется также другая проблема, ошибочно принимаемая за приведенную выше, когда серверы и клиенты NFS находятся в разных сетях. Если это тот самый случай, проверьте, что ваши маршрутизаторы пропускают нужную информацию UDP, в противном случае вы ничего не получите, что бы вы ни предпринимали.
В следующих примерах fastws
является именем хоста
(интерфейса) высокопроизводительной рабочей станции, а
freebox
является именем хоста (интерфейса) системы
FreeBSD со слабым сетевым адаптером. Кроме того,
/sharedfs
будет являться экспортируемой через NFS
файловой системой (обратитесь к страницам справочной системы по команде
exports(5)), а /project
будет точкой
монтирования экспортируемой файловой системы на клиенте. В любом
случае, отметьте, что для вашего приложения могут понадобиться
дополнительные параметры, такие, как hard
,
soft
или bg
.
Пример системы FreeBSD (freebox
) как клиента
в файле /etc/fstab
на машине
freebox
:
fastws:/sharedfs /project nfs rw,-r=1024 0 0
Команда, выдаваемая вручную на машине
freebox
:
#
mount -t nfs -o -r=1024 fastws:/sharedfs /project
Пример системы FreeBSD в качестве сервера в файле
/etc/fstab
на машине
fastws
:
freebox:/sharedfs /project nfs rw,-w=1024 0 0
Команда, выдаваемая вручную на машине
fastws
:
#
mount -t nfs -o -w=1024 freebox:/sharedfs /project
Практически все 16-разрядные сетевые адаптеры позволят работать без указанных выше ограничений на размер блоков при чтении и записи.
Для тех, кто интересуется, ниже описывается, что же происходит в при появлении этой ошибки, и объясняется, почему ее невозможно устранить. Как правило, NFS работает с <<блоками>> размером 8 килобайт (хотя отдельные фрагменты могут иметь меньшие размеры). Так, пакет Ethernet имеет максимальный размер около 1500 байт, то <<блок>> NFS разбивается на несколько пакетов Ethernet, хотя на более высоком уровне это все тот же единый блок, который должен быть принят, собран и подтвержден как один блок. Высокопроизводительные рабочие станции могут посылать пакеты, которые соответствуют одному блоку NFS, сразу друг за другом, насколько это позволяет делать стандарт. На слабых, низкопроизводительных адаптерах пакеты, пришедшие позже, накладываются поверх ранее пришедших пакетов того же самого блока до того, как они могут быть переданы хосту и блок как единое целое не может быть собран или подтвержден. В результате рабочая станция входит в ситуацию тайм-аута и пытается повторить передачу, но уже с полным блоком в 8 КБ, и процесс будет повторяться снова, до бесконечности.
Задав размер блока меньше размера пакета Ethernet, мы достигаем того, что любой полностью полученный пакет Ethernet может быть подтвержден индивидуально, и избежим тупиковую ситуацию.
Наложение пакетов может все еще проявляться, когда высокопроизводительные рабочие станции сбрасывают данные на PC-систему, однако повторение этой ситуации не обязательно с более скоростными адаптерами с <<блоками>> NFS. Когда происходит наложение, затронутые блоки будут переданы снова, и скорее всего, они будут получены, собраны и подтверждены.
NIS, что является сокращением от Network Information Services (Сетевые Информационные Службы), которые были разработаны компанией Sun Microsystems для централизованного администрирования систем UNIX(R) (изначально SunOSTM). В настоящее время эти службы практически стали промышленным стандартом; все основные UNIX(R)-подобные системы (SolarisTM, HP-UX, AIX(R), Linux, NetBSD, OpenBSD, FreeBSD и так далее) поддерживают NIS.
NIS первоначально назывались Yellow Pages (или yp), но из-за проблем с торговым знаком Sun изменила это название. Старое название (и yp) всё ещё часто употребляется.
Это система клиент/сервер на основе вызовов RPC, которая позволяет группе машин в одном домене NIS совместно использовать общий набор конфигурационных файлов. Системный администратор может настроить клиентскую систему NIS только с минимальной настроечной информацией, а затем добавлять, удалять и модифицировать настроечную информацию из одного места.
Это похоже на систему доменов Windows NT(R); хотя их внутренние реализации не так уж и похожи, основные функции сравнимы.
Существует несколько терминов и некоторое количество пользовательских программ, которые будут нужны, когда вы будете пытаться сделать NIS во FreeBSD, и в случае создания сервера, и в случае работы в качестве клиента NIS:
Термин | Описание |
---|---|
Имя домена NIS | Главный сервер NIS и все его клиенты (включая вторичные серверы), имеют доменное имя NIS. Как и в случае с именем домена Windows NT(R), имя домена NIS не имеет ничего общего с DNS. |
rpcbind | Для обеспечения работы RPC (Remote Procedure Call, Удалённого Вызова Процедур, сетевого протокола, используемого NIS), должен быть запущен даемон rpcbind. Если даемон rpcbind не запущен, невозможно будет запустить сервер NIS, или работать как NIS-клиент. |
ypbind | <<Связывает>> NIS-клиента с его NIS-сервером. Он определяет имя NIS-домена системы, и при помощи RPC подключается к серверу. ypbind является основой клиент-серверного взаимодействия в среде NIS; если на клиентской машине программа ypbind перестанет работать, то эта машина не сможет получить доступ к серверу NIS. |
ypserv | Программа ypserv , которая должна
запускаться только на серверах NIS: это и есть
сервер NIS. Если ypserv(8) перестанет работать, то
сервер не сможет отвечать на запросы NIS (к счастью, на этот
случай предусмотрен вторичный сервер). Есть несколько
реализаций NIS (к FreeBSD это не относится), в которых не
производится попыток подключиться к другому серверу, если ранее
используемый сервер перестал работать. Зачастую единственным
средством, помогающим в этой ситуации, является перезапуск
серверного процесса (или сервера полностью) или процесса
ypbind на клиентской машине. |
rpc.yppasswdd | Программа rpc.yppasswdd , другой
процесс, который запускается только на главных NIS-серверах:
это даемон, позволяющий клиентам NIS изменять свои
пароли NIS. Если этот даемон не запущен, то пользователи
должны будут входить на основной сервер NIS и там менять свои
пароли. |
В системе NIS существует три типа хостов: основные (master) серверы, вторичные (slave) серверы и клиентские машины. Серверы выполняют роль централизованного хранилища информации о конфигурации хостов. Основные серверы хранят оригиналы этой информации, когда как вторичные серверы хранят ее копию для обеспечения избыточности. Клиенты связываются с серверами, чтобы предоставить им эту информацию.
Информация во многих файлах может совместно использоваться
следующим образом. Файлы master.passwd
,
group
и hosts
используются
совместно через NIS. Когда процессу, работающему на клиентской машине,
требуется информация, как правило, находящаяся в этих файлах локально,
то он делает запрос к серверу NIS, с которым связан.
Основной сервер NIS.
Такой сервер, по аналогии с первичным контроллером домена
Windows NT(R), хранит файлы, используемые всеми клиентами NIS. Файлы
passwd
, group
и
различные другие файлы, используемые клиентами NIS, находятся
на основном сервере.
Возможно использование одной машины в качестве сервера для более чем одного домена NIS. Однако, в этом введении такая ситуация не рассматривается, и предполагается менее масштабное использование NIS.
Вторичные серверы NIS. Похожие на вторичные контроллеры доменов Windows NT(R), вторичные серверы NIS содержат копии оригинальных файлов данных NIS. Вторичные серверы NIS обеспечивают избыточность, что нужно в критичных приложениях. Они также помогают распределять нагрузку на основной сервер: клиенты NIS всегда подключаются к тому серверу NIS, который ответил первым, в том числе и к вторичным серверам.
Клиенты NIS. Клиенты NIS, как и большинство рабочих станций Windows NT(R), аутентифицируются на сервере NIS (или на контроллере домена Windows NT(R) для рабочих станций Windows NT(R)) во время входа в систему.
В этом разделе приводится пример настройки NIS.
Давайте предположим, что вы являетесь администратором в маленькой
университетской лаборатории. В настоящий момент в этой лаборатории
с 15 машинами отсутствует единая точка администрирования; на каждой
машине имеются собственные файлы /etc/passwd
и
/etc/master.passwd
. Эти файлы синхронизируются
друг с другом только вручную; сейчас, когда вы добавляете
пользователя в лаборатории, вы должны выполнить команду
adduser
на всех 15 машинах. Понятно, что такое
положение вещей нужно исправлять, так что вы решили перевести
сеть на использование NIS, используя две машины в качестве
серверов.
Итак, конфигурация лаборатории сейчас выглядит примерно так:
Имя машины | IP-адрес | Роль машины |
---|---|---|
ellington | 10.0.0.2 | Основной сервер NIS |
coltrane | 10.0.0.3 | Вторичный сервер NIS |
basie | 10.0.0.4 | Факультетская рабочая станция |
bird | 10.0.0.5 | Клиентская машина |
cli[1-11] | 10.0.0.[6-17] | Другие клиентские машины |
Если вы определяете схему NIS первый раз, ее нужно хорошо обдумать. Вне зависимости от размеров вашей сети, есть несколько ключевых моментов, которые требуют принятия решений.
Это имя не должно быть <<именем домена>>, которое вы использовали. Более точно это имя называется <<именем домена NIS>>. Когда клиент рассылает запросы на получение информации, он включает в них имя домена NIS, частью которого является. Таким способом многие сервера в сети могут указать, какой сервер на какой запрос должен отвечать. Думайте о домене NIS как об имени группы хостов, которые каким-то образом связаны.
Некоторые организации в качестве имени домена NIS используют
свой домен Интернет. Это не рекомендуется, так как может вызвать
проблемы в процессе решения сетевых проблем. Имя домена NIS должно
быть уникальным в пределах вашей сети и хорошо, если оно будет
описывать группу машин, которые представляет. Например,
художественный отдел в компании Acme Inc. может находиться в
домене NIS с именем <<acme-art>>. В нашем примере
положим, что мы выбрали имя test-domain
.
Несмотря на это, некоторые операционные системы (в частности, SunOSTM) используют свое имя домена NIS в качестве имени домена Интернет. Если одна или более машин в вашей сети имеют такие ограничения, вы обязаны использовать имя домена Интернет в качестве имени домена NIS.
Есть несколько вещей, которые нужно иметь в виду при выборе машины для использования в качестве сервера NIS. Одной из обескураживающей вещью, касающейся NIS, является уровень зависимости клиентов от серверов. Если клиент не может подключиться к серверу своего домена NIS, зачастую машину просто становится нельзя использовать. Отсутствие информации о пользователях и группах приводит к временной остановке работы большинства систем. Зная это, вы должны выбрать машину, которая не должна подвергаться частым перезагрузкам и не используется для разработки. Сервер NIS в идеале должен быть отдельно стоящей машиной, единственным целью в жизни которой является быть сервером NIS. Если вы работаете в сети, которая не так уж сильно загружена, то можно поместить сервер NIS на машине, на которой запущены и другие сервисы, просто имейте в виду, что если сервер NIS становится недоступным, то это негативно отражается на всех клиентах NIS.
Оригинальные копии всей информации NIS хранится на единственной
машине, которая называется главным сервером NIS. Базы данных,
которые используются для хранения информации, называются картами NIS.
Во FreeBSD эти карты хранятся в
/var/yp/[domainname]
, где
[domainname]
является именем обслуживаемого
домена NIS. Один сервер NIS может поддерживать одновременно
несколько доменов, так что есть возможность иметь несколько таких
каталогов, по одному на каждый обслуживаемый домен. Каждый домен
будет иметь свой собственный независимый от других набор карт.
Основной и вторичный серверы обслуживают все запросы NIS с
помощью даемона ypserv
. ypserv
отвечает за получение входящих запросов от клиентов NIS,
распознавание запрашиваемого домена и отображение имени в путь к
соответствующему файлы базы данных, а также передаче информации из
базы данных обратно клиенту.
Настройка основного сервера NIS может оказаться сравнительно
простой, в зависимости от ваших потребностей. В поставку FreeBSD
сразу включена поддержка NIS. Все, что вам нужно, это добавить
следующие строки в файл /etc/rc.conf
, а
FreeBSD сделает за вас всё остальное..
nisdomainname="test-domain"
В этой строке задается имя домена NIS, которое будет
test-domain
, еще до настройки сети
(например, после перезагрузки).
nis_server_enable="YES"
Здесь указывается FreeBSD на запуск процессов серверов NIS, когда дело доходит до сетевых настроек.
nis_yppasswdd_enable="YES"
Здесь указывается на запуск даемона
rpc.yppasswdd
, который, как это отмечено
выше, позволит пользователям менять свой пароль NIS с
клиентской машины.
В зависимости от ваших настроек NIS, вам могут понадобиться дополнительные строки. Обратитесь к разделу о серверах NIS, которые являются и клиентами NIS ниже для получения подробной информации.
После добавления вышеприведенных строк, запустите команду
/etc/netstart
, работая как администратор. По
ней произойдет настройка всего, при этом будут использоваться
значения, заданные в файле /etc/rc.conf
.
И наконец, перед инициализацией карт NIS, запустите вручную
демон ypserv:
#
/etc/rc.d/ypserv start
Карты NIS являются файлами баз данных,
которые хранятся в каталоге /var/yp
.
Они генерируются из конфигурационных файлов, находящихся в каталоге
/etc
основного сервера NIS, за одним
исключением: файл /etc/master.passwd
.
На это есть весомая причина, вам не нужно распространять пароли
пользователя root
и других административных
пользователей на все серверы в домене NIS. По этой причине, прежде
чем инициализировать карты NIS, вы должны сделать вот что:
#
cp /etc/master.passwd /var/yp/master.passwd
#
cd /var/yp
#
vi master.passwd
Вы должны удалить все записи, касающиеся системных
пользователей (bin
, tty
,
kmem
, games
и так далее), а
также записи, которые вы не хотите распространять клиентам NIS
(например, root
и другие пользователи с UID,
равным 0 (администраторы)).
Проверьте, чтобы файл
/var/yp/master.passwd
был недоступен для
записи ни для группы, ни для остальных пользователей (режим
доступа 600)! Воспользуйтесь командой chmod
,
если это нужно.
Когда с этим будет покончено, самое время инициализировать
карты NIS! В поставку FreeBSD включен скрипт с именем
ypinit
, который делает это (обратитесь к его
справочной странице за дополнительной информацией). Отметьте, что
этот скрипт имеется в большинстве операционных систем UNIX(R), но не
во всех. В системе Digital Unix/Compaq Tru64 UNIX он называется
ypsetup
. Так как мы генерируем карты для
главного сервера NIS, то при вызове программы
ypinit
мы передаем ей параметр
-m
. Для генерации карт NIS в предположении, что
вы уже сделали шаги, описанные выше, выполните следующее:
ellington#
ypinit -m test-domain
Server Type: MASTER Domain: test-domain Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n]n
Ok, please remember to go back and redo manually whatever fails. If you don't, something might not work. At this point, we have to construct a list of this domains YP servers. rod.darktech.org is already known as master server. Please continue to add any slave servers, one per line. When you are done with the list, type a <control D>. master server : ellington next host to add:coltrane
next host to add:^D
The current list of NIS servers looks like this: ellington coltrane Is this correct? [y/n: y]y
[..вывод при генерации карт..] NIS Map update completed. ellington has been setup as an YP master server without any errors.
Программа ypinit
должна была создать файл
/var/yp/Makefile
из
/var/yp/Makefile.dist
. При создании этого
файла предполагается, что вы работаете в окружении с единственным
сервером NIS и только с машинами FreeBSD. Так как в домене
test-domain
имеется также и вторичный сервер,
то вы должны отредактировать файл
/var/yp/Makefile
:
ellington#
vi /var/yp/Makefile
Вы должны закомментировать строку, в которой указано
NOPUSH = "True"
(она уже не раскомментирована).
Настройка вторичного сервера NIS осуществляется ещё проще,
чем настройка главного сервера. Войдите на вторичный сервер и
отредактируйте файл /etc/rc.conf
точно также,
как вы делали это ранее. Единственным отличием является то, что
при запуске программы ypinit
мы теперь должны
использовать опцию -s
. Применение опции
-s
требует также указание имени главного сервера
NIS, так что наша команда должна выглядеть так:
coltrane#
ypinit -s ellington test-domain
Server Type: SLAVE Domain: test-domain Master: ellington Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n]n
Ok, please remember to go back and redo manually whatever fails. If you don't, something might not work. There will be no further questions. The remainder of the procedure should take a few minutes, to copy the databases from ellington. Transferring netgroup... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byuser... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byhost... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byname... ypxfr: Exiting: Map successfully transferred Transferring group.bygid... ypxfr: Exiting: Map successfully transferred Transferring group.byname... ypxfr: Exiting: Map successfully transferred Transferring services.byname... ypxfr: Exiting: Map successfully transferred Transferring rpc.bynumber... ypxfr: Exiting: Map successfully transferred Transferring rpc.byname... ypxfr: Exiting: Map successfully transferred Transferring protocols.byname... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byaddr... ypxfr: Exiting: Map successfully transferred Transferring netid.byname... ypxfr: Exiting: Map successfully transferred Transferring hosts.byaddr... ypxfr: Exiting: Map successfully transferred Transferring protocols.bynumber... ypxfr: Exiting: Map successfully transferred Transferring ypservers... ypxfr: Exiting: Map successfully transferred Transferring hosts.byname... ypxfr: Exiting: Map successfully transferred coltrane has been setup as an YP slave server without any errors. Don't forget to update map ypservers on ellington.
Теперь у вас должен быть каталог с именем
/var/yp/test-domain
. Копии карт главного
сервера NIS должны быть в этом каталоге. Вы должны удостовериться,
что этот каталог обновляется. Следующие строки в
/etc/crontab
вашего вторичного сервера должны
это делать:
20 * * * * root /usr/libexec/ypxfr passwd.byname 21 * * * * root /usr/libexec/ypxfr passwd.byuid
Эти две строки заставляют вторичный сервер синхронизировать свои карты с картами главного сервера. Эти строки не являются обязательными, так как главный сервер автоматически пытается передать вторичным серверам все изменения в своих картах NIS. Однако, учитывая важность информации о паролях для клиентов, зависящих от вторичного сервера, рекомендуется выполнять частые обновления карт с паролями. Это особенно важно в загруженных сетях, в которых обновления карт могут не всегда завершаться успешно.
А теперь точно также запустите команду
/etc/netstart
на вторичном сервере, по которой
снова выполнится запуск сервера NIS.
Клиент NIS выполняет так называемую привязку к конкретному
серверу NIS при помощи даемона ypbind
.
ypbind
определяет домен, используемый в системе
по умолчанию (тот, который устанавливается по команде
domainname
), и начинает широковещательную рассылку
запросов RPC в локальной сети. В этих запросах указано имя домена,
к серверу которого ypbind
пытается осуществить
привязку. Если сервер, который был настроен для обслуживания
запрашиваемого домена, получит широковещательный запрос, он ответит
ypbind
, который, в свою очередь запомнит адрес
сервера. Если имеется несколько серверов (например, главный и
несколько вторичных), то ypbind
будет использовать
адрес первого ответившего. С этого момента клиентская система будет
направлять все свои запросы NIS на этот сервер. Время от времени
ypbind
будет <<пинать>> сервер для
проверки его работоспособности.
Если на один из тестовых пакетов не удастся получить ответа за
разумное время, то ypbind
пометит этот домен как
домен, с которым связка разорвана, и снова начнет процесс посылки
широковещательных запросов в надежде найти другой сервер.
Настройка машины с FreeBSD в качестве клиента NIS достаточно проста.
Отредактируйте файл /etc/rc.conf
,
добавив туда следующие строки для того, чтобы задать имя домена
NIS и запустить ypbind
во время запуска
сетевых служб:
nisdomainname="test-domain" nis_client_enable="YES"
Для импортирования всех возможных учётных записей от сервера
NIS, удалите все записи пользователей из вашего файла
/etc/master.passwd
и воспользуйтесь
командой vipw
для добавления следующей строки
в конец файла:
+:::::::::
Эта строчка даст всем пользователям с корректной учетной
записью в картах учетных баз пользователей доступ к этой
системе. Есть множество способов настроить ваш клиент NIS,
изменив эту строку. Посмотрите ниже текст, касающийся сетевых групп, чтобы
получить более подробную информацию. Дополнительная информация
для изучения находится в книге издательства O'Reilly под
названием Managing NFS and NIS
.
Вы должны оставить хотя бы одну локальную запись (то есть
не импортировать ее через NIS) в вашем
/etc/master.passwd
и эта запись должна
быть также членом группы wheel
. Если
с NIS что-то случится, эта запись может использоваться для
удаленного входа в систему, перехода в режим администратора и
исправления неисправностей.
Для импортирования всех возможных записей о группах с
сервера NIS, добавьте в ваш файл
/etc/group
такую строчку:
+:*::
Для немедленного запуска клиента NIS выполните следующую
команду с правами пользователя root
:
#
/etc/netstart
#
/etc/rc.d/ypbind start
После завершения выполнения этих шагов у вас должно получиться
запустить команду ypcat passwd
и увидеть
карту учетных записей сервера NIS.
В общем-то любой пользователь, зная имя вашего домена, может
выполнить запрос RPC к ypserv(8) и получить содержимое ваших карт
NIS. Для предотвращения такого неавторизованного обмена ypserv(8)
поддерживает так называемую систему <<securenets>>, которая может
использоваться для ограничения доступа к некоторой группе хостов. При
запуске ypserv(8) будет пытаться загрузить информацию, касающуюся
securenets, из файла /var/yp/securenets
.
Имя каталога зависит от параметра, указанного вместе с опцией
-p
. Этот файл содержит записи, состоящие из
указания сети и сетевой маски, разделенных пробелом. Строчки,
начинающиеся со знака <<#>>, считаются комментариями.
Примерный файл securenets может иметь примерно такой вид:
# allow connections from local host -- mandatory 127.0.0.1 255.255.255.255 # allow connections from any host # on the 192.168.128.0 network 192.168.128.0 255.255.255.0 # allow connections from any host # between 10.0.0.0 to 10.0.15.255 # this includes the machines in the testlab 10.0.0.0 255.255.240.0
Если ypserv(8) получает запрос от адреса, который соответствует
одному из этих правил, он будет отрабатывать запрос обычным образом.
Если же адрес не подпадает ни под одно правило, запрос будет
проигнорирован и в журнал будет записано предупреждающее сообщение. Если
файл /var/yp/securenets
не существует,
ypserv
будет обслуживать соединения от любого
хоста.
Программа ypserv
также поддерживает пакет программ
TCP Wrapper от Wietse Venema. Это позволяет
администратору для ограничения доступа вместо
/var/yp/securenets
использовать конфигурационные
файлы TCP Wrapper.
Хотя оба этих метода управления доступом обеспечивают некоторую безопасность, они, как основанные на проверке привилегированного порта, оба подвержены атакам типа <<IP spoofing>>. Весь сетевой трафик, связанный с работой NIS, должен блокироваться вашим брандмауэром.
Серверы, использующие файл /var/yp/securenets
,
могут быть не в состоянии обслуживать старых клиентов NIS с древней
реализацией протокола TCP/IP. Некоторые из этих реализаций при
рассылке широковещательных запросов устанавливают все биты машинной
части адреса в ноль и/или не в состоянии определить маску подсети при
вычислении адреса широковещательной рассылки. Хотя некоторые из этих
проблем могут быть решены изменением конфигурации клиента, другие
могут привести к отказу от использования
/var/yp/securenets
.
Использование /var/yp/securenets
на сервере
с такой архаичной реализацией TCP/IP является весьма плохой идеей, и
приведёт к потере работоспособности NIS в большой части вашей
сети.
Использование пакета TCP Wrapper увеличит время отклика вашего сервера NIS. Дополнительной задержки может оказаться достаточно для возникновения тайм-аутов в клиентских программах, особенно в загруженных сетях или с медленными серверами NIS. Если одна или более ваших клиентских систем страдают от таких проблем, вы должны преобразовать такие клиентские системы во вторичные серверы NIS и сделать принудительную их привязку к самим себе.
В нашей лаборатории есть машина basie
, о которой
предполагается, что она является исключительно факультетской рабочей
станцией. Мы не хотим исключать эту машину из домена NIS, однако
файл passwd
на главном сервере NIS содержит
учетные записи как для работников факультета, так и студентов. Что мы
можем сделать?
Есть способ ограничить вход некоторых пользователей на этой машине,
даже если они присутствуют в базе данных NIS. Чтобы это сделать, вам
достаточно добавить
-
в конец файла
username
/etc/master.passwd
на клиентской машине, где
username
является именем пользователя,
которому вы хотите запретить вход. Рекомендуется сделать это с помощью
утилиты vipw
, так как vipw
проверит ваши изменения в /etc/master.passwd
, а
также автоматически перестроит базу данных паролей по окончании
редактирования. Например, если мы хотим запретить пользователю
bill
осуществлять вход на машине
basie
, то мы сделаем следующее:
basie#
vipw
[add -bill to the end, exit]
vipw: rebuilding the database... vipw: done basie#
cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin operator:*:2:5::0:0:System &:/:/sbin/nologin bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin news:*:8:8::0:0:News Subsystem:/:/sbin/nologin man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin +::::::::: -bill basie#
Способ, описанный в предыдущем разделе, работает достаточно хорошо, если вам нужны особые правила для очень малой группы пользователей или машин. В более крупных сетях вы забудете о запрете входа определенных пользователей на важные машины или даже будете настраивать каждую машину по отдельности, теряя таким образом главное преимущество использования NIS: централизованное администрирование.
Ответом разработчиков NIS на эту проблему являются сетевые группы. Их назначение и смысл можно сравнить с обычными группами, используемыми в файловых системах UNIX(R). Главное отличие заключается в отсутствии числового идентификатора и возможности задать сетевую группу включением как пользователей, так и других сетевых групп.
Сетевые группы были разработаны для работы с большими, сложными сетями с сотнями пользователей и машин. С одной стороны, хорошо, если вам приходится с такой ситуацией. С другой стороны, эта сложность делает невозможным описание сетевых групп с помощью простых примеров. Пример, используемый в дальнейшем, демонстрирует эту проблему.
Давайте предположим, что успешное внедрение системы NIS в вашей лаборатории заинтересовало ваше руководство. Вашим следующим заданием стало расширение домена NIS для включения в него некоторых других машин студенческого городка. В двух таблицах перечислены имена новых машин и пользователей, а также их краткое описание.
Имена пользователей | Описание |
---|---|
alpha , beta | Обычные служащие IT-департамента |
charlie , delta | Практиканты IT-департамента |
echo , foxtrott , golf , ... | Обычные сотрудники |
able , baker , ... | Проходящие интернатуру |
Имена машин | Описание |
---|---|
war , death , famine , pollution | Ваши самые важные серверы. Только служащим IT позволяется входить на эти машины. |
pride , greed , envy , wrath , lust , sloth | Менее важные серверы. Все сотрудники департамента IT могут входить на эти машины. |
one , two , three , four , ... | Обычные рабочие станции. Только реально нанятым служащим позволяется использовать эти машины. |
trashcan | Очень старая машина без каких-либо критичных данных. Даже проходящим интернатуру разрешено ее использовать. |
Если вы попытаетесь реализовать эти требования, ограничивая
каждого пользователя по отдельности, то вам придется добавить на каждой
машине в файл passwd
по одной строчке
-
для каждого пользователя, которому
запрещено входить на эту систему. Если вы забудете даже одну строчку,
у вас могут начаться проблемы. Гораздо проще делать это правильно во
время начальной установки, однако вы постепенно будете
забывать добавлять строчки для новых пользователей во время
повседневной работы. В конце концов, Мерфи был оптимистом.user
Использование в этой ситуации сетевых групп дает несколько преимуществ. Нет необходимости описывать по отдельности каждого пользователя; вы ставите в соответствие пользователю одну или несколько сетевых групп и разрешаете или запрещаете вход всем членам сетевой группы. Если вы добавляете новую машину, вам достаточно определить ограничения на вход для сетевых групп. Если добавляется новый пользователь, вам достаточно добавить его к одной или большему числу сетевых групп. Эти изменения независимы друг от друга: нет больше комбинаций <<для каждого пользователя и машины>>. Если настройка вашей системы NIS тщательно спланирована, то для разрешения или запрещения доступа к машинам вам нужно будет модифицировать единственный конфигурационный файл.
Первым шагом является инициализация карты NIS по имени netgroup. Программа ypinit(8) во FreeBSD по умолчанию этой карты не создаёт, хотя реализация NIS будет её поддерживает, как только она будет создана. Чтобы создать пустую карту, просто наберите
ellington#
vi /var/yp/netgroup
и начните добавлять содержимое. Например, нам нужно по крайней мере четыре сетевых группы: сотрудники IT, практиканты IT, обычные сотрудники и интернатура.
IT_EMP (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) USERS (,echo,test-domain) (,foxtrott,test-domain) \ (,golf,test-domain) INTERNS (,able,test-domain) (,baker,test-domain)
IT_EMP
, IT_APP
и так далее
являются именами сетевых групп. Несколько слов в скобках служат для
добавления пользователей в группу. Три поля внутри группы обозначают
следующее:
Имя хоста или хостов, к которым применимы последующие записи. Если имя хоста не указано, то запись применяется ко всем хостам. Если же указывается имя хоста, то вы получите мир темноты, ужаса и страшной путаницы.
Имя учетной записи, которая принадлежит этой сетевой группе.
Домен NIS для учетной записи. Вы можете импортировать в вашу сетевую группу учетные записи из других доменов NIS, если вы один из тех несчастных, имеющих более одного домена NIS.
Каждое из этих полей может содержать шаблоны, подробности даны в странице справочника по netgroup(5).
Не нужно использовать имена сетевых групп длиннее 8 символов, особенно если в вашем домене NIS имеются машины, работающие под управлением других операционных систем. Имена чувствительны к регистру; использование заглавных букв для имен сетевых групп облегчает распознавание пользователей, имен машин и сетевых групп.
Некоторые клиенты NIS (отличные от FreeBSD) не могут работать с сетевыми группами, включающими большое количество записей. Например, в некоторых старых версиях SunOSTM возникают проблемы, если сетевая группа содержит более 15 записей. Вы можете обойти это ограничение, создав несколько подгрупп с 15 или меньшим количеством пользователей и настоящую сетевую группу, состоящую из подгрупп:
BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] BIGGRP2 (,joe16,domain) (,joe17,domain) [...] BIGGRP3 (,joe31,domain) (,joe32,domain) BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
Вы можете повторить этот процесс, если вам нужно иметь более 225 пользователей в одной сетевой группе.
Активация и распространение вашей карты NIS проста:
ellington#
cd /var/yp
ellington#
make
Это приведет к созданию трех карт NIS
netgroup
, netgroup.byhost
и
netgroup.byuser
. Воспользуйтесь утилитой
ypcat(1) для проверки доступности ваших новых карт NIS:
ellington%
ypcat -k netgroup
ellington%
ypcat -k netgroup.byhost
ellington%
ypcat -k netgroup.byuser
Вывод первой команды должен соответствовать содержимому файла
/var/yp/netgroup
. Вторая команда не выведет
ничего, если вы не зададите сетевые группы, специфичные для хоста.
Третья команда может использоваться пользователем для получения
списка сетевых групп.
Настройка клиента достаточно проста. Чтобы настроить сервер
war
, вам достаточно запустить vipw(8)
и заменить строку
+:::::::::
на
+@IT_EMP:::::::::
Теперь только данные, касающиеся пользователей, определенных в
сетевой группе IT_EMP
, импортируются в
базу паролей машины war
и только этим
пользователям будет разрешен вход.
К сожалению, это ограничение также касается и функции ~
командного
процессора и всех подпрограмм, выполняющих преобразование между
именами пользователей и их числовыми ID. Другими
словами, команда cd ~
работать не будет, команда user
ls -l
будет выдавать
числовые идентификаторы вместо имён пользователей, а
find . -user joe -print
работать откажется, выдавая
сообщение No such user. Чтобы это исправить,
вам нужно будет выполнить импорт всех записей о пользователях
без разрешения на вход на ваши серверы.
Это можно сделать, добавив еще одну строку в файл
/etc/master.passwd
. Эта строка должна
содержать:
+:::::::::/sbin/nologin
, что означает
<<Произвести импортирование всех записей с заменой командного
процессора на /sbin/nologin
в импортируемых
записях>>. Вы можете заменить любое поле в строке с паролем,
указав значение по умолчанию в вашем
/etc/master.passwd
.
Проверьте, что строка
+:::::::::/sbin/nologin
помещена после
+@IT_EMP:::::::::
. В противном случае все
пользовательские записи, импортированные из NIS, будут иметь
/sbin/nologin
в качестве оболочки.
После этого изменения при появлении нового сотрудника IT вам будет
достаточно изменять только одну карту NIS. Вы можете применить
подобный метод для менее важных серверов, заменяя
старую строку +:::::::::
в их файлах
/etc/master.passwd
на нечто, подобное
следующему:
+@IT_EMP::::::::: +@IT_APP::::::::: +:::::::::/sbin/nologin
Соответствующие строки для обычных рабочих станций могут иметь такой вид:
+@IT_EMP::::::::: +@USERS::::::::: +:::::::::/sbin/nologin
И все было прекрасно до того момента, когда через несколько
недель изменилась политика: Департамент IT начал нанимать интернатуру.
Интернатуре в IT позволили использовать обычные рабочие станции и
менее важные серверы; практикантам позволили входить на главные
серверы. Вы создали новую сетевую группу IT_INTERN
, добавили в нее
новую интернатуру и начали изменять настройки на всех и каждой
машине... Как говорит старая мудрость: <<Ошибки в
централизованном планировании приводят к глобальному
хаосу>>.
Возможность в NIS создавать сетевые группы из других сетевых
групп может использоваться для предотвращения подобных ситуаций. Одним
из вариантов является создание сетевых групп на основе ролей.
Например, вы можете создать сетевую группу с именем
BIGSRV
для задания ограничений на вход на
важные серверы, другую сетевую группу с именем
SMALLSRV
для менее важных серверов и третью
сетевую группу под названием USERBOX
для
обычных рабочих станций. Каждая из этих сетевых групп содержит
сетевые группы, которым позволено входить на эти машины. Новые записи
для вашей карты NIS сетевой группы должны выглядеть таким
образом:
BIGSRV IT_EMP IT_APP SMALLSRV IT_EMP IT_APP ITINTERN USERBOX IT_EMP ITINTERN USERS
Этот метод задания ограничений на вход работает весьма хорошо, если вы можете выделить группы машин с одинаковыми ограничениями. К сожалению, такая ситуация может быть исключением, но не правилом. В большинстве случаев вам нужна возможность определять ограничения на вход индивидуально для каждой машины.
Задание сетевых групп в зависимости от машин является другой
возможностью, которой можно воспользоваться при изменении политики,
описанной выше. При таком развитии событий файл
/etc/master.passwd
на каждой машине содержит две
строки, начинающиеся с <<+>>. Первая из них добавляет
сетевую группу с учётными записями, которым разрешено входить на эту
машину, а вторая добавляет все оставшиеся учетные записи с
/sbin/nologin
в качестве командного процессора.
Хорошей идеей является использование <<ИМЕНИ МАШИНЫ>> заглавными буквами
для имени сетевой группы. Другими словами, строки должны иметь такой
вид:
+@BOXNAME
:::::::::
+:::::::::/sbin/nologin
Как только вы завершите эту работу для всех ваших машин, вам не
нужно будет снова модифицировать локальные версии
/etc/master.passwd
. Все будущие изменения могут
быть выполнены изменением карты NIS. Вот пример возможной карты
сетевой группы для этого случая с некоторыми полезными
дополнениями:
# Сначала определяем группы пользователей IT_EMP (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) DEPT1 (,echo,test-domain) (,foxtrott,test-domain) DEPT2 (,golf,test-domain) (,hotel,test-domain) DEPT3 (,india,test-domain) (,juliet,test-domain) ITINTERN (,kilo,test-domain) (,lima,test-domain) D_INTERNS (,able,test-domain) (,baker,test-domain) # # Теперь задаем несколько групп на основе ролей USERS DEPT1 DEPT2 DEPT3 BIGSRV IT_EMP IT_APP SMALLSRV IT_EMP IT_APP ITINTERN USERBOX IT_EMP ITINTERN USERS # # И группы для специальных задач # Открыть пользователям echo и golf доступ к антивирусной машине SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain) # # Сетевые группы, специфичные для машин # Наши главные серверы WAR BIGSRV FAMINE BIGSRV # Пользователю india необходим доступ к этому серверу POLLUTION BIGSRV (,india,test-domain) # # Этот очень важен и ему требуются большие ограничения доступа DEATH IT_EMP # # Антивирусная машина, упомянутая выше ONE SECURITY # # Ограничить машину единственным пользователем TWO (,hotel,test-domain) # [...далее следуют другие группы]
Если вы используете какие-либо базы данных для управления учетными записями ваших пользователей, вы должны смочь создать первую часть карты с помощью инструментов построения отчетов вашей базы данных. В таком случае новые пользователи автоматически получат доступ к машинам.
И последнее замечание: Не всегда бывает разумно использовать сетевые группы на основе машин. Если в студенческих лабораториях вы используете несколько десятков или даже сотен одинаковых машин, то вам нужно использовать сетевые группы на основе ролей, а не основе машин, для того, чтобы размеры карты NIS оставались в разумных пределах.
Есть некоторые действия, которые нужно будет выполнять по-другому, если вы работаете с NIS.
Каждый раз, когда вы собираетесь добавить пользователя в
лаборатории, вы должны добавить его только на
главном сервере NIS и обязательно перестроить карты
NIS. Если вы забудете сделать это, то новый
пользователь не сможет нигде войти, кроме как на главном сервере
NIS. Например, если в лаборатории нам нужно добавить нового
пользователя jsmith
, мы делаем вот что:
#
pw useradd jsmith
#
cd /var/yp
#
make test-domain
Вместо pw useradd jsmith
вы можете также
запустить команду adduser jsmith
.
Не помещайте административные учетные записи в карты NIS. Вам не нужно распространять административных пользователей и их пароли на машины, которые не должны иметь доступ к таким учётным записям.
Сделайте главный и вторичные серверы NIS безопасными и минимизируйте их время простоя. Если кто-то либо взломает, либо просто отключит эти машины, то люди без права входа в лабораторию с легкостью получат доступ.
Это основное уязвимое место в любой централизованно администрируемой системе. Если вы не защищаете ваши серверы NIS, вы будете иметь дело с толпой разозлённых пользователей!
ypserv из поставки FreeBSD имеет встроенную поддержку для обслуживания клиентов NIS v1. Реализация NIS во FreeBSD использует только протокол NIS v2, хотя другие реализации имеют поддержку протокола v1 для совместимости со старыми системами. Даемоны ypbind, поставляемые с такими системами, будут пытаться осуществить привязку к серверу NIS v1, даже если это им не нужно (и они будут постоянно рассылать широковещательные запросы в поиске такого сервера даже после получения ответа от сервера v2). Отметьте, что хотя имеется поддержка обычных клиентских вызовов, эта версия ypserv не отрабатывает запросы на передачу карт v1; следовательно, она не может использоваться в качестве главного или вторичного серверов вместе с другими серверами NIS, поддерживающими только протокол v1. К счастью, скорее всего, в настоящий момент такие серверы практически не используются.
Особое внимание следует уделить использованию ypserv в домене со многими серверами, когда серверные машины являются также клиентами NIS. Неплохо бы заставить серверы осуществить привязку к самим себе, запретив рассылку запросов на привязку и возможно, перекрестную привязку друг к другу. Если один сервер выйдет из строя, а другие будут зависеть от него, то в результате могут возникнуть странные ситуации. Постепенно все клиенты попадут в тайм-аут и попытаются привязаться к другим серверам, но полученная задержка может быть значительной, а странности останутся, так как серверы снова могут привязаться друг к другу.
Вы можете заставить хост выполнить привязку к конкретному серверу,
запустив команду ypbind
с флагом
-S
. Если вы не хотите делать это вручную каждый
раз при перезагрузке
вашего сервера NIS, то можете добавить в файл
/etc/rc.conf
такие строки:
nis_client_enable="YES" # run client stuff as well nis_client_flags="-SNIS domain
,server
"
Дополнительную информацию можно найти на странице справки по ypbind(8).
Одним из общих вопросов, которые возникают в начале работы с NIS, является вопрос совместимости форматов паролей. Если ваш сервер NIS использует пароли, зашифрованные алгоритмом DES, то он будет поддерживать только тех клиентов, что также используют DES. К примеру, если в вашей сети имеются клиенты NIS, использующие SolarisTM, то вам, скорее всего, необходимо использовать пароли с шифрованием по алгоритму DES.
Чтобы понять, какой формат используют ваши серверы и клиенты,
загляните в файл /etc/login.conf
. Если хост
настроен на использование паролей, зашифрованных по алгоритму DES,
то класс default
будет содержать запись вроде
следующей:
default:\ :passwd_format=des:\ :copyright=/etc/COPYRIGHT:\ [Последующие строки опущены]
Другими возможными значениями для passwd_format
являются blf
и md5
(для паролей,
шифруемых по стандартам Blowfish и MD5 соответственно).
Если вы внесли изменения в файл
/etc/login.conf
, то вам также нужно перестроить
базу данных параметров входа в систему, что достигается запуском
следующей команды пользователем root
:
#
cap_mkdb /etc/login.conf
Формат паролей, которые уже находятся в файле
/etc/master.passwd
, не будет изменён до тех пор,
пока пользователь не сменит свой пароль после
перестроения базы данных параметров входа в систему.
После этого, чтобы удостовериться в том, что пароли зашифрованы
в том формате, который выбран вами, нужно проверить, что строка
crypt_default
в /etc/auth.conf
указывает предпочтение выбранного вами формата паролей. Для этого
поместите выбранный формат первым в списке. Например, при
использовании DES-шифрования паролей строка будет выглядеть так:
crypt_default = des blf md5
Выполнив вышеперечисленные шаги на каждом из серверов и клиентов NIS, работающих на FreeBSD, вы можете обеспечить их согласованность относительно используемого в вашей сети формата паролей. Если у вас возникли проблемы с аутентификацией клиента NIS, начать её решать определённо стоит отсюда. Запомните: если вы хотите использовать сервер NIS в гетерогенной сети, вам, наверное, нужно будет использовать DES на всех системах в силу того, что это минимальный общий стандарт.
DHCP, или Dynamic Host Configuration Protocol (Протокол
Динамической Конфигурации Хостов), описывает порядок, по которому
система может подключиться к сети и получить необходимую информацию
для работы в ней. Во FreeBSD используется
dhclient
, импортированный из OpenBSD 3.7.
Вся информация здесь, относительно dhclient
относится
либо к ISC, либо к DHCP клиентам. DHCP сервер включён в ISC
дистрибутив.
В этом разделе описываются, как компоненты клиентской части ISC или OpenBSD
DHCP клиента, так и компоненты ISC DHCP системы со стороны сервера.
Программа, работающая на клиентской
стороне, dhclient
, интегрирована в поставку FreeBSD,
а серверная часть доступна в виде порта net/isc-dhcp42-server. Кроме ссылок ниже,
много полезной информации находится на страницах справочной системы,
описывающих dhclient(8), dhcp-options(5) и
dhclient.conf(5).
Когда на клиентской машине выполняется программа
dhclient
, являющаяся клиентом DHCP, она начинает
широковещательную рассылку запросов на получение настроечной информации.
По умолчанию эти запросы делаются на 68 порт UDP. Сервер отвечает на UDP
67, выдавая клиенту адрес IP и другую необходимую информацию, такую, как
сетевую маску, маршрутизатор и серверы DNS. Вся эта информация даётся в
форме <<аренды>> DHCP и верна только определенное время (что
настраивается администратором сервера DHCP). При таком подходе
устаревшие адреса IP тех клиентов, которые больше не подключены к сети,
могут автоматически использоваться повторно.
Клиенты DHCP могут получить от сервера очень много информации. Подробный список находится в странице Справочника dhcp-options(5).
DHCP клиент от OpenBSD, dhclient
, полностью
интегрирован во FreeBSD. Поддержка клиента DHCP есть как в программе
установки, так и в самой системе, что исключает необходимость в
знании подробностей конфигурации сети в любой сети, имеющей сервер
DHCP.
DHCP поддерживается утилитой sysinstall.
При настройке сетевого интерфейса из программы
sysinstall второй
вопрос, который вам задается: <<Do you want to try DHCP
configuration of the interface?>> (<<Хотите ли вы попробовать
настроить этот интерфейс через DHCP?>>). Утвердительный ответ
приведёт к запуску программы dhclient
, и при удачном
его выполнении к автоматическому заданию информации для настройки
интерфейса.
Есть две вещи, которые вы должны сделать для того, чтобы ваша система использовала DHCP при загрузке:
Убедитесь, что устройство bpf
включено в компиляцию вашего ядра. Чтобы это сделать, добавьте
строчку device bpf
в конфигурационный
файл ядра и перестройте ядро. Более подробная информация о
построении ядер имеется в Глава 9, Настройка ядра FreeBSD.
Устройство bpf
уже является частью
ядра GENERIC
, которое поставляется вместе с
FreeBSD, так что, если вы не используете другое ядро, то вам и
не нужно его делать для того, чтобы работал DHCP.
Те, кто беспокоится о безопасности, должны иметь в виду, что
устройство bpf
является также тем самым
устройством, которое позволяет работать программам-снифферам
пакетов (хотя для этого они должны быть запущены пользователем
root
). Наличие устройства
bpf
необходимо для
использования DHCP, но если вы чересчур беспокоитесь о
безопасности, то вам нельзя добавлять устройство
bpf
в ядро только для того, чтобы
в неопределённом будущем использовать DHCP.
По умолчанию, конфигурирование FreeBSD по протоколу DHCP выполняется фоновым процессом, или асинхронно. Остальные стартовые скрипты продолжают работу не ожидая завершения процесса конфигурирования, тем самым ускоряя загрузку системы.
Фоновое конфигурирование не создает проблем в случае, если сервер DHCP быстро отвечает на запросы, и процесс конфигурирования происходит быстро. Однако, в некоторых случаях настройка по DHCP может длиться значительное время. При этом запуск сетевых сервисов может потерпеть неудачу, если будет произведен ранее завершения конфигурирования по DHCP. Запуск DHCP в синхронном режиме предотвращает проблему, откладывая выполнение остальных стартовых скриптов до момента завершения конфигурирования по DHCP.
Для осуществления фонового конфигурирования по DHCP
(асинхронный режим), используйте значение
<<DHCP
>>
в /etc/rc.conf
:
ifconfig_fxp0
="DHCP"
Для откладывания запуска стартовых скриптов до завершения
конфигурирования по DHCP (синхронный режим), укажите значение
<<SYNCDHCP
>>:
ifconfig_fxp0
="SYNCDHCP"
Замените используемое в этих примерах имя
fxp0
на имя интерфейса, который
необходимо сконфигурировать динамически, как это описано
в Раздел 12.8, <<Настройка карт сетевых интерфейсов>>.
Если dhclient
в вашей системе находится
в другом месте или если вы хотите задать дополнительные параметры для
dhclient
, то также укажите следующее (изменив так,
как вам нужно):
dhclient_program="/sbin/dhclient" dhclient_flags=""
Сервер DHCP, dhcpd, включён как часть порта net/isc-dhcp42-server в коллекцию портов. Этот порт содержит DHCP-сервер от ISC и документацию.
/etc/dhclient.conf
dhclient
требует наличия конфигурационного
файла, /etc/dhclient.conf
. Как правило, файл
содержит только комментарии, а настройки по умолчанию достаточно
хороши. Этот настроечный файл описан на страницах справочной
системы по dhclient.conf(5).
/sbin/dhclient
dhclient
скомпонован статически и находится
в каталоге /sbin
. На страница Справочника
dhclient(8) дается более подробная информация о
dhclient
.
/sbin/dhclient-script
dhclient-script
является специфичным для
FreeBSD скриптом настройки клиента DHCP. Он описан в
dhclient-script(8), но для нормального функционирования
никаких модификаций со стороны пользователя не требуется.
/var/db/dhclient.leases
В этом файле клиент DHCP хранит базу данных выданных к использованию адресов в виде журнала. На странице dhclient.leases(5) дается гораздо более подробное описание.
Полное описание протокола DHCP дается в RFC 2131. Кроме
того, дополнительная информация есть на сервере http://www.dhcp.org/
.
Этот раздел даёт информацию о том, как настроить систему FreeBSD для работы в качестве сервера DHCP на основе реализации пакета DHCP от ISC (Internet Systems Consortium).
Серверная часть пакета не поставляется как часть FreeBSD, так что вам потребуется установить порт net/isc-dhcp42-server для получения этого сервиса. Обратитесь к Глава 5, Установка приложений: порты и пакеты для получения более полной информации об использовании коллекции портов.
Для того, чтобы настроить систему FreeBSD на работу в качестве
сервера DHCP, вам необходимо обеспечить присутствие устройства
bpf(4), вкомпилированного в ядро. Для этого
добавьте строку device bpf
в файл
конфигурации вашего ядра. Для получения более полной информации о
построении ядер, обратитесь к Глава 9, Настройка ядра FreeBSD.
Устройство bpf
уже входит в состав
ядра GENERIC
, поставляемого с FreeBSD, так что
вам не нужно создавать собственное ядро для обеспечения работы
DHCP.
Те, кто обращает особое внимание на вопросы безопасности,
должны заметить, что bpf
является тем
устройством, что позволяет нормально работать снифферам пакетов
(хотя таким программам требуются привилегированный доступ).
Наличие устройства bpf
обязательно для использования DHCP, но если
вы очень обеспокоены безопасностью, наверное, вам не нужно
включать bpf
в ваше ядро только потому,
что в отдалённом будущем вы собираетесь использовать DHCP.
Следующим действием, которое вам нужно выполнить, является
редактирование примерного dhcpd.conf
, который
устанавливается в составе порта net/isc-dhcp42-server. По умолчанию это
файл /usr/local/etc/dhcpd.conf.sample
, и вы
должны скопировать его в файл
/usr/local/etc/dhcpd.conf
перед тем, как его
редактировать.
dhcpd.conf
состоит из деклараций
относительно подсетей и хостов, и проще всего описывается на
примере:
option domain-name "example.com";option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
} host mailhost { hardware ethernet 02:03:04:05:06:07;
fixed-address mailhost.example.com;
}
Этот параметр задаёт домен, который будет выдаваться клиентам в качестве домена, используемого по умолчанию при поиске. Обратитесь к страницам справочной системы по resolv.conf(5) для получения дополнительной информации о том, что это значит. | |
Этот параметр задаёт список разделённых запятыми серверов DNS, которые должен использовать клиент. | |
Маска сети, которая будет выдаваться клиентам. | |
Клиент может запросить определённое время, которое будет действовать выданная информация. В противном случае сервер выдаст настройки с этим сроком (в секундах). | |
Это максимальное время, на которое сервер будет выдавать
конфигурацию. Если клиент запросит больший срок, он будет
подтверждён, но будет действовать только
| |
Этот параметр задаёт, будет ли сервер DHCP пытаться обновить DNS при выдаче или освобождении конфигурационной информации. В реализации ISC этот параметр является обязательным. | |
Это определение того, какие IP-адреса должны использоваться в качестве резерва для выдачи клиентам. IP-адреса между и включая границы, будут выдаваться клиентам. | |
Объявление маршрутизатора, используемого по умолчанию, который будет выдаваться клиентам. | |
Аппаратный MAC-адрес хоста (чтобы сервер DHCP мог распознать хост, когда тот делает запрос). | |
Определение того, что хосту всегда будет выдаваться один и тот же IP-адрес. Заметьте, что указание здесь имени хоста корректно, так как сервер DHCP будет разрешать имя хоста самостоятельно до того, как выдать конфигурационную информацию. |
Когда вы закончите составлять свой
dhcpd.conf
, нужно разрешить запуск сервера DHCP
в файле /etc/rc.conf
, добавив в него
строки
dhcpd_enable="YES" dhcpd_ifaces="dc0"
Замените dc0
именем интерфейса (или именами
интерфейсов, разделяя их пробелами), на котором(ых) сервер DHCP
должен принимать запросы от клиентов.
Затем вы можете стартовать сервер DHCP при помощи команды
#
/usr/local/etc/rc.d/isc-dhcpd start
Если в будущем вам понадобится сделать изменения в настройке
вашего сервера, то важно заметить, что посылка сигнала
SIGHUP
приложению
dhcpd не приведёт к
перезагрузке настроек, как это бывает для большинства даемонов.
Вам нужно послать сигнал SIGTERM
для остановки
процесса, а затем перезапустить его при помощи вышеприведённой
команды.
/usr/local/sbin/dhcpd
dhcpd скомпонован статически и
расположен в каталоге /usr/local/sbin
.
Страницы справочной системы dhcpd(8),
устанавливаемые портом, содержат более полную информацию о
dhcpd.
/usr/local/etc/dhcpd.conf
dhcpd требует наличия
конфигурационного файла,
/usr/local/etc/dhcpd.conf
, до того, как
он будет запущен и начнёт предоставлять сервис клиентам.
Необходимо, чтобы этот файл содержал все данные, которая
будет выдаваться обслуживаемым клиентам, а также информацию о
работе сервера. Этот конфигурационный файл описывается на
страницах справочной системы dhcpd.conf(5), которые
устанавливаются портом.
/var/db/dhcpd.leases
Сервер DHCP ведёт базу данных выданной информации в этом файле, который записывается в виде протокола. Страницы справочной системы dhcpd.leases(5), устанавливаемые портом, дают гораздо более подробное описание.
/usr/local/sbin/dhcrelay
dhcrelay используется в сложных ситуациях, когда сервер DHCP пересылает запросы от клиента другому серверу DHCP в отдельной сети. Если вам нужна такая функциональность, то установите порт net/isc-dhcp42-relay. На страницах справочной системы dhcrelay(8), которые устанавливаются портом, даётся более полное описание.
По умолчанию во FreeBSD используется одна из версий программы BIND
(Berkeley Internet Name Domain), являющейся самой распространенной
реализацией протокола DNS. DNS -
это протокол, при помощи которого имена преобразуются в
IP-адреса и наоборот. Например, в ответ на запрос о
www.FreeBSD.org
будет получен IP-адрес
веб-сервера Проекта FreeBSD, а запрос о ftp.FreeBSD.org
возвратит
IP-адрес соответствующей машины с
FTP-сервером. Точно также происходит и обратный
процесс. Запрос, содержащий IP-адрес машины, возвратит имя хоста. Для
выполнения запросов к DNS вовсе не обязательно иметь
в системе работающий сервер имён.
FreeBSD в настоящее время поставляется с сервером DNS BIND9, предоставляющим расширенные настройки безопасности, новую схему расположения файлов конфигурации и автоматические настройки для chroot(8).
В сети Интернет DNS управляется через достаточно сложную систему авторизированных корневых серверов имён, серверов доменов первого уровня (Top Level Domain, TLD) и других менее крупных серверов имён, которые содержат и кэшируют информацию о конкретных доменах.
На данный момент пакет BIND поддерживается Internet Systems
Consortium https://www.isc.org/
.
Для понимания этого документа нужно понимать значения некоторых терминов, связанных с работой DNS.
Термин | Определение |
---|---|
Прямой запрос к DNS (forward DNS) | Преобразование имён хостов в адреса IP |
Ориджин (origin) | Обозначает домен, покрываемый конкретным файлом зоны |
named, bind | Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD. |
Резолвер | Системный процесс, посредством которого машина обращается к серверу имён для получения информации о зоне |
Обратный DNS (reverse DNS) | Преобразование адресов IP в имена хостов |
Корневая зона | Начало иерархии зон Интернет. Все зоны находятся под корневой зоной, подобно тому, как все файлы располагаются ниже корневого каталога. |
Зона | Отдельный домен, поддомен или часть DNS, управляемая одним сервером. |
Примеры зон:
.
- так обычно обозначается
в документации корневая зона.
org.
- домен верхнего уровня
(TLD) в корневой зоне.
example.org.
является
зоной в домене верхнего уровня (TLD)
org.
.
1.168.192.in-addr.arpa
является зоной, в которую
включены все IP-адреса, формирующие пространство адресов
192.168.1.*
.
Как можно видеть, уточняющая часть имени хоста появляется слева.
Например, example.org.
более точен, чем
org.
, также, как org.
более
точен, чем корневая зона. Расположение каждой части имени хоста сильно
похоже на файловую систему: каталог /dev
расположен в корневой файловой системе, и так далее.
Сервера имён обычно используются в двух видах: авторитетный сервер имён и кэширующий сервер имён, также называемый распознавателем (resolver).
Авторитетный сервер имён нужен, когда:
нужно предоставлять информацию о DNS остальному миру, отвечая на запросы авторизированно.
зарегистрирован домен, такой, как
example.org
и в этом домене требуется
поставить имена машин в соответствие с их адресами
IP.
блоку адресов IP требуется обратные записи DNS (IP в имена хостов).
резервный (slave) сервер имён должен отвечать на запросы.
Кэширующий сервер имён нужен, когда:
локальный сервер DNS может кэшировать информацию и отвечать на запросы быстрее, чем это происходит при прямом опросе внешнего сервера имён.
Например, когда кто-нибудь запрашивает информацию о
www.FreeBSD.org
, то обычно резолвер обращается к
серверу имён вашего провайдера, посылает запрос и ожидает ответа. С
локальным кэширующим сервером DNS запрос во внешний мир будет делаться
всего один раз. Последующие запросы не будут посылаться за
пределы локальной сети, потому что информация уже имеется в
кэше.
Во FreeBSD даемон BIND называется named.
Файл | Описание |
---|---|
named(8) | Даемон BIND |
rndc(8) | Программа управления даемоном сервера имён |
/etc/namedb | Каталог, в котором располагается вся информация о зонах BIND |
/etc/namedb/named.conf | Конфигурационный файл для даемона |
Файлы зон обычно располагаются в каталоге
/etc/namedb
и содержат информацию о зоне DNS,
за которую отвечает сервер имён.
В зависимости от способа конфигурации зоны на сервере файлы
зон могут располагаться в подкаталогах master
, slave
или dynamic
иерархии
/etc/namedb
.
Эти файлы содержат DNS информацию, которую и будет
сообщать в ответ на запросы сервер имен.
Так как сервер имён BIND устанавливается по умолчанию, его настройка сравнительно проста.
Стандартная конфигурация named запускает простой кэширующий сервер в ограниченной среде chroot(8), который прослушивает запросы на интерфейсе обратной связи (loopback) с адресом (127.0.0.1). Для одноразового запуска даемона в этой конфигурации используйте команду
#
/etc/rc.d/named onestart
Чтобы даемон named запускался во
время загрузки, поместите в /etc/rc.conf
следующую строку:
named_enable="YES"
Разумеется, существует множество различных конфигураций
/etc/namedb/named.conf
, лежащих за рамками
данного документа. Разнообразные опции запуска
named во FreeBSD описаны в переменных
named_
файла
*
/etc/defaults/rc.conf
и странице справочника
rc.conf(5). Кроме того, полезной может оказаться
Раздел 12.7, <<Использование rc во FreeBSD 5.X и последующих версиях>>.
Файлы конфигурации даемона named
расположены в каталоге
/etc/namedb
и, за исключением
случая, когда вам требуется просто резолвер, требуют модификации.
// $FreeBSD$ // // If you are going to set up an authoritative server, make sure you // understand the hairy details of how DNS works. Even with // simple mistakes, you can break connectivity for affected parties, // or cause huge amounts of useless Internet traffic. options { // All file and path names are relative to the chroot directory, // if any, and should be fully qualified. directory "/etc/namedb/working"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; // If named is being used only as a local resolver, this is a safe default. // For named to be accessible to the network, comment this option, specify // the proper IP address, or delete this option. listen-on { 127.0.0.1; }; // If you have IPv6 enabled on this system, uncomment this option for // use as a local resolver. To give access to the network, specify // an IPv6 address, or the keyword "any". // listen-on-v6 { ::1; }; // These zones are already covered by the empty zones listed below. // If you remove the related empty zones below, comment these lines out. disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; // If you've got a DNS server around at your upstream provider, enter // its IP address here, and enable the line below. This will make you // benefit from its cache, thus reduce overall DNS traffic in the Internet. /* forwarders { 127.0.0.1; }; */ // If the 'forwarders' clause is not empty the default is to 'forward first' // which will fall back to sending a query from your local server if the name // servers in 'forwarders' do not have the answer. Alternatively you can // force your name server to never initiate queries of its own by enabling the // following line: // forward only; // If you wish to have forwarding configured automatically based on // the entries in /etc/resolv.conf, uncomment the following line and // set named_auto_forward=yes in /etc/rc.conf. You can also enable // named_auto_forward_only (the effect of which is described above). // include "/etc/namedb/auto_forward.conf";
Как и говорится в комментариях, если вы хотите получить эффект от
использования кэша провайдера, то можно включить раздел
forwarders
. В обычном случае сервер имён будет
рекурсивно опрашивать определённые серверы имён Интернет до тех пор,
пока не получит ответ на свой запрос. При включении этого раздела
он будет автоматически опрашивать сервер имён вашего провайдера (или
тот, который здесь указан), используя преимущества его кэша.
наличия нужной информации. Если соответствующий сервер имён провайдера
работает быстро и имеет хороший канал связи, то в результате такой
настройки вы можете получить хороший результат.
127.0.0.1
здесь
работать не будет. Измените
его на IP-адрес сервера имён провайдера.
/* Modern versions of BIND use a random UDP port for each outgoing query by default in order to dramatically reduce the possibility of cache poisoning. All users are strongly encouraged to utilize this feature, and to configure their firewalls to accommodate it. AS A LAST RESORT in order to get around a restrictive firewall policy you can try enabling the option below. Use of this option will significantly reduce your ability to withstand cache poisoning attacks, and should be avoided if at all possible. Replace NNNNN in the example with a number between 49160 and 65530. */ // query-source address * port NNNNN; }; // If you enable a local name server, don't forget to enter 127.0.0.1 // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. // The traditional root hints mechanism. Use this, OR the slave zones below. zone "." { type hint; file "/etc/namedb/named.root"; }; /* Slaving the following zones from the root name servers has some significant advantages: 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots 3. Greater resilience to any potential root server failure/DDoS On the other hand, this method requires more monitoring than the hints file to be sure that an unexpected failure mode has not incapacitated your server. Name servers that are serving a lot of clients will benefit more from this approach than individual hosts. Use with caution. To use this mechanism, uncomment the entries below, and comment the hint zone above. As documented at http://dns.icann.org/services/axfr/ these zones: "." (the root), ARPA, IN-ADDR.ARPA, IP6.ARPA, and ROOT-SERVERS.NET are available for AXFR from these servers on IPv4 and IPv6: xfr.lax.dns.icann.org, xfr.cjr.dns.icann.org */ /* zone "." { type slave; file "/etc/namedb/slave/root.slave"; masters { 192.5.5.241; // F.ROOT-SERVERS.NET. }; notify no; }; zone "arpa" { type slave; file "/etc/namedb/slave/arpa.slave"; masters { 192.5.5.241; // F.ROOT-SERVERS.NET. }; notify no; }; */ /* Serving the following zones locally will prevent any queries for these zones leaving your network and going to the root name servers. This has two significant advantages: 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots */ // RFCs 1912 and 5735 (and BCP 32 for localhost) zone "localhost" { type master; file "/etc/namedb/master/localhost-forward.db"; }; zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // RFC 1912-style zone for IPv6 localhost address zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; }; // "This" Network (RFCs 1912 and 5735) zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Private Use Networks (RFCs 1918 and 5735) zone "10.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "29.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "30.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Link-local/APIPA (RFCs 3927 and 5735) zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IETF protocol assignments (RFCs 5735 and 5736) zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // TEST-NET-[1-3] for Documentation (RFCs 5735 and 5737) zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Range for Documentation (RFC 3849) zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // Domain Names for Documentation and Testing (BCP 32) zone "test" { type master; file "/etc/namedb/master/empty.db"; }; zone "example" { type master; file "/etc/namedb/master/empty.db"; }; zone "invalid" { type master; file "/etc/namedb/master/empty.db"; }; zone "example.com" { type master; file "/etc/namedb/master/empty.db"; }; zone "example.net" { type master; file "/etc/namedb/master/empty.db"; }; zone "example.org" { type master; file "/etc/namedb/master/empty.db"; }; // Router Benchmark Testing (RFCs 2544 and 5735) zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IANA Reserved - Old Class E Space (RFC 5735) zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "243.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "244.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "245.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "246.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "247.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "248.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "249.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "250.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "251.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "252.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "253.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "254.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Unassigned Addresses (RFC 4291) zone "1.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "3.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "4.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "5.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "6.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "7.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "8.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "9.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "a.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "b.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "c.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "d.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "e.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "0.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "1.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "2.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "3.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "4.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "5.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "6.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "7.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "8.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "9.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "a.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "b.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "0.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "1.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "2.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "3.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "4.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "5.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "6.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "7.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 ULA (RFC 4193) zone "c.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "d.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Link Local (RFC 4291) zone "8.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "9.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "a.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "b.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IPv6 Deprecated Site-Local Addresses (RFC 3879) zone "c.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "d.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "e.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; zone "f.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }; // IP6.INT is Deprecated (RFC 4159) zone "ip6.int" { type master; file "/etc/namedb/master/empty.db"; }; // NB: Do not use the IP addresses below, they are faked, and only // serve demonstration/documentation purposes! // // Example slave zone config entries. It can be convenient to become // a slave at least for the zone your own domain is in. Ask // your network administrator for the IP address of the responsible // master name server. // // Do not forget to include the reverse lookup zone! // This is named after the first bytes of the IP address, in reverse // order, with ".IN-ADDR.ARPA" appended, or ".IP6.ARPA" for IPv6. // // Before starting to set up a master zone, make sure you fully // understand how DNS and BIND work. There are sometimes // non-obvious pitfalls. Setting up a slave zone is usually simpler. // // NB: Don't blindly enable the examples below. :-) Use actual names // and addresses instead. /* An example dynamic zone key "exampleorgkey" { algorithm hmac-md5; secret "sf87HJqjkqh8ac87a02lla=="; }; zone "example.org" { type master; allow-update { key "exampleorgkey"; }; file "dynamic/example.org"; }; */ /* Example of a slave reverse zone zone "1.168.192.in-addr.arpa" { type slave; file "/etc/namedb/slave/1.168.192.in-addr.arpa"; masters { 192.168.1.1; }; }; */
Это примеры описаний прямой и обратной зон из файла
named.conf
для вторичных серверов.
Для каждого новой зоны, которую будет обслуживать сервер имён,
в файл named.conf
должна быть добавлена
запись.
К примеру, самая простая запись для домена example.org
может выглядеть вот так:
zone "example.org" { type master; file "master/example.org"; };
Зона является первичной, что отражается в поле
type
, и информация о зоне хранится в файле
/etc/namedb/master/example.org
, что указывается в
поле file
.
zone "example.org" { type slave; file "slave/example.org"; };
В случае вторичной зоны информация о ней передается с основного сервера имён для заданной зоны и сохраняется в указанном файле. Если и когда основной сервер имён выходит и строя или недосягаем, то скачанная информация о зоне будет находиться на вторичных серверах, и они смогут обслуживать эту зону.
Пример файла зоны example.org
для основного
сервера (располагающийся в файле
/etc/namedb/master/example.org
) имеет такой
вид:
$TTL 3600 ; 1 hour default TTL example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 300 ; Negative Response TTL ) ; DNS Servers IN NS ns1.example.org. IN NS ns2.example.org. ; MX Records IN MX 10 mx.example.org. IN MX 20 mail.example.org. IN A 192.168.1.1 ; Machine Names localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 mx IN A 192.168.1.4 mail IN A 192.168.1.5 ; Aliases www IN CNAME example.org.
Заметьте, что все имена хостов, оканчивающиеся на <<.>>,
задают полное имя, тогда как все имена без символа <<.>> на
конце считаются заданными относительно origin. Например,
ns1
преобразуется в
ns1.
example.org.
Файл зоны имеет следующий формат:
recordname IN recordtype value
Наиболее часто используемые записи DNS:
начало зоны ответственности
авторитативный сервер имен
адрес хоста
каноническое имя для алиаса
обмен почтой
указатель на доменное имя (используется в обратных зонах DNS)
example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week 300 ) ; Negative Response TTL
example.org.
имя домена, а также ориджин для этого файла зоны.
ns1.example.org.
основной/авторитативный сервер имён для этой зоны.
admin.example.org.
человек, отвечающий за эту зону, адрес электронной почты с
символом <<@>> замененным на точку.
(<admin@example.org>
становится admin.example.org
)
2006051501
последовательный номер файла. При каждом изменении файла
зоны это число должно увеличиваться. В настоящее время для
нумерации многие администраторы предпочитают формат
ггггммддвв
. 2006051501
будет означать, что
файл последний раз изменялся 15.05.2006, а последнее число
01
означает, что это была первая модификация файла за день.
Последовательный номер важен, так как он служит для того, чтобы
вторичные серверы узнавали об обновлении зоны.
IN NS ns1.example.org.
Это NS-запись. Такие записи должны иметься для всех серверов имён, которые будут отвечать за зону.
localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 mx IN A 192.168.1.4 mail IN A 192.168.1.5
Записи типа A служат для обозначения имён машин. Как это видно
выше, имя ns1.example.org
будет
преобразовано в 192.168.1.2
.
IN A 192.168.1.1
Эта строка присваивает IP адрес
192.168.1.1
текущему ориджину,
в данном случае домену
example.org
.
www IN CNAME @
Записи с каноническими именами обычно используются для присвоения
машинам псевдонимов. В этом примере www
является
псевдонимом для <<главной>> машины, имя которой по воле
случая совпало с именем домена
example.org
(192.168.1.1
).
Записи типа CNAME нельзя использовать совместно с другими
типами записей для одного и того же имени хоста (recordname).
IN MX 10 mail.example.org.
MX-запись указывает, какие почтовые серверы
отвечают за обработку входящей электронной почты для зоны. mail.example.org
является именем почтового
сервера, а 10 обозначает приоритет этого почтового сервера.
Можно иметь несколько почтовых серверов с приоритетами,
например, 10, 20 и так далее.
Почтовый сервер, пытающийся доставить почту для example.org
,
сначала попробует связаться с машиной, имеющий MX-запись с самым
большим приоритетом (наименьшим числовым значением в поле MX),
затем с приоритетом поменьше и так далее, до тех
пор, пока почта не будет отправлена.
Для файлов зон in-addr.arpa (обратные записи DNS) используется тот же самый формат, отличающийся только использованием записей PTR вместо A или CNAME.
$TTL 3600 1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 300 ) ; Negative Response TTL IN NS ns1.example.org. IN NS ns2.example.org. 1 IN PTR example.org. 2 IN PTR ns1.example.org. 3 IN PTR ns2.example.org. 4 IN PTR mx.example.org. 5 IN PTR mail.example.org.
В этом файле дается полное соответствие имён хостов IP-адресам в нашем описанном ранее вымышленном домене.
Следует отметить, что все имена в правой части PTR-записи должны быть полными доменными именами (то есть, заканчиваться точкой <<.>>).
Кэширующий сервер имён - это сервер имен, чья главная задача - разрешение рекурсивных запросов. Он просто выполняет запросы от своего имени и сохраняет результаты для последующего использования.
Хотя BIND является самой распространенной реализацией DNS, всегда стоит вопрос об обеспечении безопасности. Время от времени обнаруживаются возможные и реальные бреши в безопасности.
FreeBSD автоматически запускает named в ограниченном окружении (chroot(8)); помимо этого, есть еще несколько механизмов, помогающих защититься от возможных атак на сервис DNS.
Весьма полезно прочесть сообщения безопасности CERT и подписаться на Список рассылки FreeBSD, посвящённый срочным сообщениям, связанным с безопасностью для того, чтобы быть в курсе текущих проблем с обеспечением безопасности Internet и FreeBSD.
Если возникает проблема, то наличие последних исходных текстов и свежесобранного named может способствовать её решению.
FreeBSD используется в качестве платформы для многих из самых нагруженных серверов в мире. Большинство серверов в интернет используют Apache HTTP сервер. Пакеты Apache должны быть включены в поставку FreeBSD. Если вы не установили их во вместе с системой, воспользуйтесь портами www/apache13 или www/apache22.
Как только Apache был успешно установлен, его необходимо настроить.
В этом разделе рассказывается о версии 1.3.X
Apache HTTP сервера, поскольку
эта версия наиболее широко используется в FreeBSD.
Apache 2.X
содержит много новых технологий, но здесь они не обсуждаются.
За дополнительной информацией о
Apache 2.X, обращайтесь к http://httpd.apache.org/
.
В FreeBSD основной файл настройки Apache HTTP сервера
устанавливается в
/usr/local/etc/apache/httpd.conf
.
Это обычный текстовый UNIX(R) файл настройки с строками
комментариев, начинающимися с символа #
.
Исчерпывающее описание всех возможных параметров настройки
находится за пределом рассмотрения этой книги, поэтому
здесь будут описаны только наиболее часто модифицируемые
директивы.
ServerRoot "/usr/local"
Указывает верхний каталог установки
Apache по
умолчанию. Бинарные файлы находятся в
bin
и
sbin
, подкаталоги
расположены относительно корневого каталога сервера, файлы
настройки находятся в
etc/apache
.
ServerAdmin you@your.address
Адрес, на который должны будут отправляться сообщения о проблемах с сервером. Этот адрес выводится на некоторые генерируемые сервером страницы, например с сообщениями об ошибках.
ServerName www.example.com
ServerName
позволяет вам устанавливать имя хоста,
которое отправляется обратно клиентам, если оно
отличается от того, с которым настроен хост
(например, использование www
вместо реального
имени хоста).
DocumentRoot "/usr/local/www/data"
DocumentRoot
: Каталог, внутри которого будут храниться
документы. По умолчанию, все запросы обрабатываются внутри
этого каталога, но символические ссылки и синонимы могут
использоваться для указания на другие каталоги.
Хорошей идеей будет сделать резервные копии настроек Apache перед внесением изменений. Как только вы будете удовлетворены первоначальной настройкой, можно запускать Apache.
Apache не запускается из inetd, как это делают многие другие сетевые серверы. Он настроен для автономного запуска, чтобы обеспечивать большую производительность при обработке HTTP запросов от браузеров клиентов. Для упрощения запуска, остановки и перезапуска сервера существует shell скрипт. Для запуска Apache в первый раз просто выполните:
#
/usr/local/sbin/apachectl start
Вы можете остановить сервер в любой момент, выполнив:
#
/usr/local/sbin/apachectl stop
После внесения любых изменений в файл настроек, вам потребуется перезапустить сервер:
#
/usr/local/sbin/apachectl restart
Для перезапуска Apache без прерывания имеющихся соединений, выполните:
#
/usr/local/sbin/apachectl graceful
Дополнительная информация находится на странице справочного руководства apachectl(8).
Для запуска Apache при старте системы,
добавьте в /etc/rc.conf
следующую строку:
apache_enable="YES"
или для Apache 2.2:
apache22_enable="YES"
Если вы хотите передать программе Apache
httpd
дополнительные параметры командной
при загрузке системы, они могут быть помещены в дополнительную
строку rc.conf
:
apache_flags=""
Теперь, когда веб сервер запущен, вы можете просмотреть свой веб
сайт, задав в строке браузера адрес
http://localhost/
. По умолчанию отображается
веб страница
/usr/local/www/data/index.html
.
Apache поддерживает два различных типа виртуального хостинга (Virtual Hosting). Первый метод основан на именах (Name-based Virtual Hosting). Он использует полученные от клиента заголовки HTTP/1.1 для определения имени хоста. Это позволяет многим различным доменам использовать один и тот же IP адрес.
Для настройки Apache на использование
этого типа хостинга добавьте в httpd.conf
запись подобную следующей:
NameVirtualHost *
Если веб сервер назывался www.domain.tld
и
вы хотите настроить виртуальный домен для
www.someotherdomain.tld
, необходимо добавить
в httpd.conf
следующие записи:
<VirtualHost *> ServerName www.domain.tld DocumentRoot /www/domain.tld </VirtualHost> <VirtualHost *> ServerName www.someotherdomain.tld DocumentRoot /www/someotherdomain.tld </VirtualHost>
Замените адреса и пути к документам на те, что вы будете использовать.
За дополнительной информацией по настройке виртуальных хостов
обращайтесь к официальной документации
Apache: http://httpd.apache.org/docs/vhosts/
.
Существуют множество различных модулей Apache, которые добавляют функциональность к основному серверу. Коллекция портов FreeBSD предоставляет простой способ установки Apache с некоторыми наиболее популярными дополнительными модулями.
Модуль mod_ssl использует библиотеку OpenSSL для сильной криптографии через протоколы Secure Sockets Layer (SSL v2/v3) и Transport Layer Security (TLS v1). Этот модуль содержит все необходимое для запроса подписанного сертификата из центра сертификации для защищенного веб сервера на FreeBSD.
Если вы еще не установили Apache, версия Apache 1.3.X с mod_ssl может быть установлена через порт www/apache13-modssl. Поддержка SSL также доступна для Apache 2.X через порт www/apache22, где она включена по умолчанию.
Для большинства скриптовых языков созданы модули Apache. На базе таких модулей возможно создание других модулей Apache, написанных полностью на скриптовом языке. Они также часто используются как встроенные в сервер интерпретаторы, что исключает накладные расходы на запуск внешнего интерпретатора и сокращает время построения динамических страниц.
В последнее десятилетие все большее число компаний обращает внимание на Интернет как площадку для ведения и расширения бизнеса. Среди прочего, этот процесс подчеркивает потребность в интерактивном содержимом сайтов. Некоторые компании, такие как Microsoft(R), представляют свои закрытые решения; сообщество разработчиков открытых программ отвечает на вызов. Среди современных решений для предоставления динамического контента следует отметить Django, Ruby on Rails, mod_perl и mod_php.
Django - это распространяемая под лицензией BSD инфраструктура, позволяющая разработчикам быстро создавать элегантные, высокопроизводительные веб-приложения. Она предоставляет в распоряжение разработчика объектно-реляционное отображение (object-relational mapper), таким образом типы данных разрабатываются как объекты Python. Для этих объектов предоставляется богатый интерфейс доступа к базам данных, при этом у разработчика не возникает необходимости написания SQL-запросов. Django также предоставляет расширяемую систему шаблонов, так что логика приложения отделена от его HTML-представления.
Для Django требуются следующие компоненты: mod_python, Apache и одна из нескольких возможных SQL СУБД. Укажите соответствующие опции сборки, и порт установит всё необходимое.
#
cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL
После установки Django и всех необходимых ему компонентов вам потребуется создать каталог для проекта Django. Далее потребуется настроить Apache для определенных URL адресов на вашем сайте выполнять ваше приложение встроенным интерпретатором Python.
Чтобы настроить Apache отправлять запросы для определенных
URL адресов вашему веб-приложению, вам потребуется внести
несколько строк в конфигурационный файл
httpd.conf
:
<Location "/"> SetHandler python-program PythonPath "['/dir/to/your/django/packages/'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAutoReload On PythonDebug On </Location>
Ruby on Rails это еще одна веб инфраструктура с открытым исходным кодом, которая предоставляет полный стек разработки и которая оптимизированa для продуктивного и быстрого создания мощных веб-приложений. Ruby on Rails может быть легко установлена из коллекции портов.
#
cd /usr/ports/www/rubygem-rails; make all install clean
Проект интеграции Apache/Perl объединяет мощь языка программирования Perl и HTTP сервера Apache. С модулем mod_perl возможно написание модулей Apache полностью на Perl. Кроме того, постоянно запущенный встроенный в сервер интерпретатор позволяет не тратить ресурсы на запуск внешнего интерпретатора и время на запуск Perl.
mod_perl можно использовать различными способами. Помните, что mod_perl 1.0 работает только с Apache 1.3, тогда как mod_perl 2.0 совместим только с Apache 2.X. mod_perl 1.0 доступен как порт www/mod_perl, а также в виде статически скомпилированной версии в www/apache13-modperl. mod_perl 2.0 доступен как www/mod_perl2.
PHP, также известный как <<Препроцессор гипертекста>> (<<Hypertext Preprocessor>>), - это скриптовый язык общего назначения, в основном предназначенный для веб разработки. Этот язык может быть встроен в HTML, его синтаксис заимствован из C, JavaTM и Perl, и он позволяет веб разработчикам быстро писать динамически генерируемые страницы.
Добавление поддержки PHP5 к веб серверу Apache производится путем установки порта lang/mod_php5.
Если порт lang/php5
устанавливается впервые, то автоматически отобразятся все доступные
опции (OPTIONS
). Если меню не отображается,
так как порт lang/php5 устанавливался ранее, всегда
можно повторно вызвать диалог меню выполнив следующую команду
в каталоге порта:
#
make config
Выберите в меню опцию APACHE
,
тем самым вы построите загружаемый модуль
mod_php5 для веб сервера
Apache.
Множество сайтов по разным причинам (например, из-за проблем совместимости или из-за наличия уже развёрнутых веб приложений) всё еще используют PHP4. Если требуется mod_php4 вместо mod_php5, то воспользуйтесь портом lang/php4. Порт lang/php4 поддерживает многие из конфигурационных и установочных опций порта lang/php5.
Этот порт устанавливает и настраивает модули, необходимые
для поддержки динамических PHP веб страниц.
Убедитесь, что в файл
/usr/local/etc/apache/httpd.conf
были
добавлены следующие секции:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c <IfModule mod_php5.c> DirectoryIndex index.php index.html </IfModule> <IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
Для загрузки модуля PHP
после этого просто вызовите команду
apachectl
с параметром graceful:
#
apachectl graceful
При дальнейших обновлениях PHP команда
make config
больше не потребуется; выбранные
опции сохраняются автоматически инфраструктурой портов FreeBSD
Поддержка PHP в FreeBSD построена по модульному принципу, поэтому базовая установка обладает очень ограниченной функциональностью. Дополнительная функциональность может быть легко добавлена при помощи порта lang/php5-extensions, управляющего набором расширений PHP через меню, либо просто путем установки дополнительных портов.
Например, для добавления поддержки
MySQL к PHP5,
просто установите порт
databases/php5-mysql
.
После установки новых расширений сервер Apache должен быть рестартован, чтобы изменения в конфигурации вступили в силу:
#
apachectl graceful
Samba это популярный пакет программ с открытыми исходными текстами, которая предоставляет файловые и принт-сервисы Microsoft(R) Windows(R) клиентам. Эти клиенты могут подключаться и использовать файловое пространство FreeBSD, как если бы это был локальный диск, или принтеры FreeBSD, как если бы это были локальные принтеры.
Пакет Samba должен быть включен в поставку FreeBSD. Если вы не установили Samba при первой установке системы, ее можно установить из порта или пакета net/samba34.
Файл настройки Samba по умолчанию
устанавливается в
/usr/local/share/examples/samba34/smb.conf.default
.
Этот файл необходимо скопировать в
/usr/local/etc/smb.conf
и отредактировать
перед использованием Samba.
В файле smb.conf
находится информация,
необходимая для работы Samba,
например определение принтеров и <<общих каталогов>>,
которые будут использоваться совместно с Windows(R) клиентами.
В пакет Samba входит программа с
веб интерфейсом, называемая swat,
которая дает простой способ редактирования файла
smb.conf
.
Программа веб администрирования Samba (Samba Web
Administration Tool, SWAT) запускается как даемон из
inetd. Следовательно, в
/etc/inetd.conf
необходимо снять комментарий
перед тем, как использовать swat для
настройки Samba:
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
Как описано в Пример 25.1, <<Перезагрузка конфигурационного файла inetd>>, после изменения настроек inetd необходимо перечитать конфигурацию.
Как только swat был включен
inetd.conf
, вы можете использовать
браузер для подключения к http://localhost:901
.
Сначала необходимо зарегистрироваться с системной
учетной записью root
.
После успешного входа на основную страницу настройки
Samba, вы можете просмотреть
документацию или начать настройку, нажав на кнопку
. Раздел
соответствует переменным,
установленным в разделе [global]
файла
/usr/local/etc/smb.conf
.
Независимо от того, используете ли вы
swat, или редактируете
/usr/local/etc/smb.conf
непосредственно,
первые директивы, которые вы скорее всего встретите при
настройке Samba, будут
следующими:
workgroup
Имя домена или рабочей группы NT для компьютеров, которые будут получать доступ к этому серверу.
netbios name
Устанавливает имя NetBIOS, под которым будет работать Samba сервер. По умолчанию оно устанавливается равным первому компоненту DNS имени хоста.
server string
Устанавливает строку, которая будет показана командой
net view
и некоторыми другими сетевыми
инструментами, которые отображают строку описания
сервера.
Две из наиболее важных настроек в
/usr/local/etc/smb.conf
отвечают за
выбор модели безопасности и за формат паролей для
клиентов. Эти параметры контролируются следующими
директивами:
security
Два наиболее часто используемых параметра это
security = share
и security
= user
. Если имена пользователей для клиентов
совпадают с их именами на компьютере FreeBSD, вы возможно
захотите включить безопасность уровня пользователя (user).
Это политика безопасности по умолчанию, она требует,
чтобы клиент авторизовался перед доступом к совместно
используемым ресурсам.
На уровне безопасности share клиенту не требуется входить на сервер перед подключением к ресурсу. Эта модель безопасности использовалась по умолчанию в старых версиях Samba.
passdb backend
Samba поддерживает
несколько различных подсистем аутентификации. Вы можете
аутентифицировать клиентов с помощью LDAP, NIS+,
базы данных SQL, или через модифицированный файл
паролей. Метод аутентификации по умолчанию
smbpasswd
, и здесь рассматривается
только он.
Предполагая, что используется подсистема по умолчанию
smbpasswd
, необходимо создать файл
/usr/local/etc/samba/smbpasswd
, чтобы
Samba могла аутентифицировать
клиентов. Если вы хотите разрешить к учетным записям
UNIX(R) доступ с Windows(R) клиентов, используйте следующую
команду:
#
smbpasswd -a username
Ныне рекомендуемой подсистемой аутентификации является
tdbsam
, поэтому для добавления пользователей
используйте следующую команду:
#
pdbedit -a -u
username
Пожалуйста, обратитесь к Official Samba HOWTO за дополнительной информацией о параметрах настройки. Основные настройки, рассмотренные здесь, достаточны для первого запуска Samba.
Порт net/samba34 добавляет
новый стартовый сценарий, который может быть использован для контроля
Samba. Для того, чтобы им можно было
запускать, останавливать или перезапускать сервер
Samba, добавьте следующую запись
в файл /etc/rc.conf
:
samba_enable="YES"
Или, для более тонкого контроля:
nmbd_enable="YES"
smbd_enable="YES"
Внесение этих записей в /etc/rc.conf
также обеспечит автоматический запуск сервера
Samba во время старта системы.
Теперь становится возможным запустить сервер Samba, для чего наберите следующую команду:
#
/usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs : Starting nmbd. Starting smbd.
За дальнейшей информацией об использовании rc скриптов обратитесь к Раздел 12.7, <<Использование rc во FreeBSD 5.X и последующих версиях>>.
Samba состоит из трех
отдельных даемонов. Вы можете видеть, что
nmbd и smbd
запускаются скриптом samba
.
Если вы включили сервис разрешения имен winbind
в smb.conf
, то увидите также
запуск даемона winbindd.
Вы можете остановить Samba в любой момент, набрав:
#
/usr/local/etc/rc.d/samba stop
Samba это сложный программный
набор с функциональностью, позволяющей полную интеграцию в сети
Microsoft(R) Windows(R). За дальнейшей информацией о функциях,
выходящих за рамки описанной здесь базовой установки,
обращайтесь к http://www.samba.org
.
Протокол передачи файлов (File Transfer Protocol, FTP) дает пользователям простой путь передачи файлов на и с FTP сервера. В FreeBSD серверная программа FTP, ftpd, включена в базовую систему. Это упрощает настройку и администрирование FTP сервера в FreeBSD.
Наиболее важный шаг заключается в определении того,
каким учетным записям будет позволено получать доступ
к FTP серверу. В обычной системе FreeBSD есть множество
системных учетных записей, используемых различными даемонами,
но пользователям должно быть запрещен вход с использованием
этих учетных записей. В файле /etc/ftpusers
находится список пользователей, которым запрещен доступ по
FTP. По умолчанию он включает упомянутые системные учетные
записи, но в него можно добавить и определенных пользователей,
которым будет запрещен доступ по FTP.
Вам может понадобиться ограничить доступ определенных
пользователей без полного запрета использования FTP.
Это можно сделать через файл /etc/ftpchroot
.
В нем находится список пользователей и групп, к которым
применяется ограничение доступа. На странице справочника
ftpchroot(5) дана подробная информация, и она не будет
дублироваться здесь.
Если вы захотите разрешить анонимный FTP доступ на
сервер, в системе FreeBSD необходимо создать пользователя
ftp
. Этот пользователь сможет
входить на FTP сервер с именем пользователя
ftp
или anonymous
,
с любым паролем (существует соглашение об использовании
почтового адреса пользователя в качестве пароля).
FTP сервер выполнит chroot(2) при входе пользователя
anonymous для ограничения доступа только домашним каталогом
пользователя ftp
.
Существуют два текстовых файла, определяющих сообщение,
отправляемое FTP клиентам. Содержимое файла
/etc/ftpwelcome
будет выведено пользователям
перед приглашением на вход. После успешного входа
будет выведено содержимое файла /etc/ftpmotd
.
Обратите внимание, что путь к этому файлу задается относительно
домашнего каталога пользователя, так что анонимным пользователям
будет отправляться ~ftp/etc/ftpmotd
.
Как только FTP сервер был правильно настроен, он должен
быть включен в /etc/inetd.conf
. Все, что
необходимо, это удалить символ комментария
<<#>> из начала существующей строки
ftpd:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Как описано в Пример 25.1, <<Перезагрузка конфигурационного файла inetd>>, inetd должен перечитать конфигурацию после того, как этот файл настройки был изменен. Пожалуйста обратитесь к Раздел 25.2.2, <<Настройки>> за деталями по запуску inetd на вашей системе.
В качестве альтернативы, демон ftpd
может быть запущен как самостоятельный сервер. В этом случае
достаточно установить соответствующую переменную в файле
/etc/rc.conf
:
ftpd_enable="YES"
Демон будет запущен автоматически при следующей загрузке системы.
Также демон можно запустить вручную, для чего выполните следующую
команду как пользователь root
:
#
/etc/rc.d/ftpd start
Теперь вы можете войти на FTP сервер, введя:
%
ftp localhost
Для протоколирования даемон ftpd
использует сообщения syslog(3). По умолчанию, syslog(3)
поместит сообщения, относящиеся к FTP, в файл
/var/log/xferlog
. Местоположение
лог файла FTP может быть изменено путем изменения следующей
строки в файле /etc/syslog.conf
:
ftp.info /var/log/xferlog
Учитывайте потенциальные проблемы, возникающие с анонимным FTP сервером. В частности, вы должны дважды подумать, прежде чем позволить анонимным пользователям загружать файлы на сервер. Вы можете обнаружить, что FTP сайт стал форумом, на котором происходит обмен нелицензионным коммерческим программным обеспечением или чем-то еще хуже. Если вам необходимо разрешить анонимную выгрузку файлов на FTP, права должны быть настроены таким образом, чтобы эти файлы не могли прочитать другие анонимные пользователи до их рассмотрения администратором.
С течением времени часы компьютера имеют тенденцию отставать. Network Time Protocol - Сетевой Протокол Времени (NTP) является одним из способов вести точное время.
Многие сервисы Интернет опираются или сильно зависят от точности часов компьютеров. К примеру, веб-сервер может получать запрос на посылку файла, который был недавно модифицирован. В локальной сети необходимо, чтобы часы компьютеров, совместно использующих файлы, были синхронизированы, чтобы время модификации файлов устанавливалось правильно. Такие службы, как cron(8), также зависят от правильности установки системных часов, поскольку запускают команды в определенное время.
FreeBSD поставляется с сервером NTP ntpd(8), который можно использовать для опроса других серверов NTP для установки часов на вашей машине или предоставления услуг точного времени.
Для синхронизации ваших часов вам нужно найти для использования один или большее количество серверов NTP. Ваш сетевой администратор или провайдер могут иметь сервер NTP для этой цели-обратитесь к ним, так ли это в вашем случае. Существует онлайн список общедоступных серверов NTP, которым можно воспользоваться для поиска ближайшего к вам сервера NTP. Не забудьте выяснить политику выбранного вами сервера и спросить разрешения, если это требуется.
Выбор нескольких несвязанных серверов NTP является хорошей идеей в том случае, если один из используемых вами серверов станет недоступным или его часы неточны. ntpd(8) использует ответы, которые он получает от других серверов с умом-он делает предпочтение надежным серверам.
Если вам нужно только синхронизировать ваши часы при загрузке машины, вы можете воспользоваться утилитой ntpdate(8). Это может подойти для некоторых настольных машин, которые часто перезагружаются и только требуют изредка синхронизироваться, но на большинстве машин должен работать ntpd(8).
Использование ntpdate(8) при загрузке также хорошо для машин, на которых запущен даемон ntpd(8). Программа ntpd(8) изменяет время постепенно, тогда как ntpdate(8) устанавливает время вне зависимости от того, насколько велика разница между текущим временем машины и точным временем.
Для включения ntpdate(8) во время загрузки, добавьте строчку
ntpdate_enable="YES"
в файл
/etc/rc.conf
. Вам также потребуется указать
все серверы, с которыми вы хотите синхронизироваться, и все
параметры, которые передаются в ntpdate(8), в
ntpdate_flags
.
NTP настраивается в файле /etc/ntp.conf
,
формат которого описан в ntp.conf(5). Вот простой
пример:
server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift
Параметр server
задает, какие серверы будут
использоваться, по одному в каждой строке. Если сервер задан с
аргументом prefer
, как ntplocal.example.com
, то этому серверу отдается
предпочтение перед остальными. Ответ от предпочтительного сервера
будет отброшен, если он значительно отличается от ответов других
серверов, в противном случае он будет использоваться безотносительно
к другим ответам. Аргумент prefer
обычно
используется для серверов NTP, о которых известно, что они очень
точны, такими, на которых используется специальное оборудование
точного времени.
Параметр driftfile
задает файл, который
используется для хранения смещения частоты системных часов.
Программа ntpd(8) использует его для автоматической компенсации
естественного смещения часов, позволяя ему поддерживать достаточно
правильную настройку, даже если он на некоторый период отключается от
внешнего источника информации о времени.
Параметр driftfile
задает, какой файл
используется для сохранения информации о предыдущих ответах от
серверов NTP, которые вы используете. Этот файл содержит внутреннюю
информацию для NTP. Он не должен изменяться никакими другими
процессами.
По умолчанию ваш сервер NTP будет доступен всем хостам в
Интернет. Параметр restrict
в файле
/etc/ntp.conf
позволяет вам контролировать,
какие машины могут обращаться к вашему серверу.
Если вы хотите запретить всем машинам обращаться к вашему серверу
NTP, добавьте следующую строку в
файл /etc/ntp.conf
:
restrict default ignore
Эта строка конфигурации также предотвратит доступ вашего сервера к другим серверам, перечисленным в вашей локальной конфигурации. Если вам необходимо синхронизировать ваш сервер с внешним сервером NTP, вам необходимо будет изменить настройки относительно этого конкретного сервера. За более детальной информацией обратитесь к странице руководства ntp.conf(5).
Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам в вашей сети, но запретить им настраивать сервер или быть равноправными участниками синхронизации времени, то вместо указанной добавьте строчку
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
где 192.168.1.0
является адресом
IP вашей сети, а 255.255.255.0
её
сетевой маской.
/etc/ntp.conf
может содержать несколько
директив restrict
. Для получения подробной
информации обратитесь к подразделу Access Control
Support
(Поддержка Управления Доступом) в
ntp.conf(5).
Для того, чтобы сервер NTP запускался при загрузке, добавьте строку
ntpd_enable="YES"
в файл
/etc/rc.conf
. Если вы хотите передать
дополнительные опции в ntpd(8), то отредактируйте параметр
ntpd_flags
в файле
/etc/rc.conf
.
Для запуска сервера без перезагрузки вашей машины, выполните
команду ntpd
, не забыв задать дополнительные
параметры из переменной ntpd_flags
в файле
/etc/rc.conf
. К примеру:
#
ntpd -p /var/run/ntpd.pid
Для нормальной работы программе ntpd(8) не требуется
постоянное подключение к Интернет. Однако если ваше временное
подключение к Интернет настроено для дозвона по требованию, хорошо бы
запретить трафику NTP вызывать дозвон или поддерживать соединение
постоянно. Если вы используете пользовательский PPP, то можете
воспользоваться директивами filter
в файле
/etc/ppp/ppp.conf
. К примеру:
set filter dial 0 deny udp src eq 123 # Prevent NTP traffic from initiating dial out set filter dial 1 permit 0 0 set filter alive 0 deny udp src eq 123 # Prevent incoming NTP traffic from keeping the connection open set filter alive 1 deny udp dst eq 123 # Prevent outgoing NTP traffic from keeping the connection open set filter alive 2 permit 0/0 0/0
Более подробную информацию можно найти в разделе PACKET
FILTERING
(ФИЛЬТРАЦИЯ ПАКЕТОВ) в ppp(8), а примеры в
/usr/share/examples/ppp/
.
Некоторые провайдеры Интернет блокируют трафик по портам с маленькими номерами, что приводит к неработоспособности NTP, так как ответы никогда не достигают вашей машины.
Межсетевые экраны (firewall, брандмауэр) делают возможной фильтрацию входящего и исходящего трафика, идущего через вашу систему. Межсетевой экран использует один или более наборов <<правил>> для проверки сетевых пакетов при их входе или выходе через сетевое соединение, он или позволяет прохождение трафика или блокирует его. Правила межсетевого экрана могут проверять одну или более характеристик пакетов, включая но не ограничиваясь типом протокола, адресом хоста источника или назначения и портом источника или назначения.
Межсетевые экраны могут серьезно повысить уровень безопасности хоста или сети. Они могут быть использованы для выполнения одной или более нижеперечисленных задач:
Для защиты и изоляции приложений, сервисов и машин во внутренней сети от нежелательного трафика, приходящего из внешней сети интернет.
Для ограничения или запрещения доступа хостов внутренней сети к сервисам внешней сети интернет.
Для поддержки преобразования сетевых адресов (network address translation, NAT), что дает возможность задействовать во внутренней сети приватные IP адреса и совместно использовать одно подключение к сети Интернет (либо через один выделенный IP адрес, либо через адрес из пула автоматически присваиваемых публичных адресов).
После прочтения этой главы вы узнаете:
Как правильно задать правила фильтрации пакетов.
Разницу между межсетевыми экранами, встроенными в FreeBSD
Как использовать и настраивать межсетевой экран OpenBSD PF.
Как использовать и настраивать IPFILTER.
Как использовать и настраивать IPFW.
Перед прочтением этой главы вам потребуется:
Ознакомиться с основами FreeBSD и интернет.
Существует два основных способа создания наборов правил межсетевого экрана: <<включающий>> и <<исключающий>>. Исключающий межсетевой экран позволяет прохождение всего трафика, за исключением трафика, соответствующего набору правил. Включающий межсетевой экран действует прямо противоположным образом. Он пропускает только трафик, соответствующий правилам и блокирует все остальное.
Включающий межсетевой экран обеспечивает гораздо большую степень контроля исходящего трафика. Поэтому включающий межсетевой экран является лучшим выбором для систем, предоставляющих сервисы в сети Интернет. Он также контролирует тип трафика, порождаемого вне и направляющегося в вашу приватную сеть. Трафик, не попавший в правила, блокируется, а в файл протокола вносятся соответствующие записи. Включающие межсетевые экраны обычно более безопасны, чем исключающие, поскольку они существенно уменьшают риск пропуска межсетевым экраном нежелательного трафика.
Если не указано иначе, то все приведенные в этом разделе примеры наборов правил и конфигураций относятся к типу включающего межсетевого экрана.
Безопасность может быть дополнительно повышена с использованием <<межсетевого экрана с сохранением состояния>>. Такой межсетевой экран сохраняет информацию об открытых соединениях и разрешает только трафик через открытые соединения или открытие новых соединений. Недостаток межсетевого экрана с сохранением состояния в том, что он может быть уязвим для атак DoS (Denial of Service, отказ в обслуживании), если множество новых соединений открывается очень быстро. Большинство межсетевых экранов позволяют комбинировать поведение с сохранением состояния и без сохранения состояния, что позволяет создавать оптимальную конфигурацию для каждой конкретной системы.
В базовую систему FreeBSD встроено три программных межсетевых экрана. Это IPFILTER (известный также как IPF), IPFIREWALL (известный также как IPFW) и OpenBSD PacketFilter (также известный как PF). Помимо этого, FreeBSD содержит два пакета ограничения трафика (по существу, предназначенных для контроля пропускной способности сетевого соединения): altq(4) и dummynet(4). Dummynet традиционно сильно связан с IPFW, а ALTQ с PF. В настоящее время IPFILTER не поддерживает ограничение пропускной способности сетевого соединения. Для реализации этой функции предлагается использовать IPFILTER совместно с одним из двух существующих пакетов ограничения трафика. Конфигурация следующая: IPFILTER задействуется для фильтрации и трансляции трафика, а IPFW с dummynet(4) или PF с ALTQ - для контроля пропускной способности сетевого соединения. IPFW и PF для контроля исходящих и входящих пакетов используют наборы правил, хотя и разными способами с разным синтаксисом правил.
Причина, по которой в FreeBSD включено более одного пакета межсетевых экранов, заключается в том, что разные пользователи выдвигают к ним различные требования и используют разные предпочтения. Нет одного пакета, который был бы очевидно лучше других.
Автор предпочитает IPFILTER, поскольку его правила с сохранением состояния гораздо проще использовать совместно с NAT; кроме того, в него встроен ftp прокси, что упрощает правила для фильтрации исходящих FTP соединений.
Поскольку все межсетевые экраны основаны на анализе значений выбранных
полей заголовка пакета, для создания правил межсетевого экрана необходимо
понимание принципов TCP/IP, того, что означают
различные поля заголовка пакета, и как эти поля используются в
обычной сессии. Хорошим примером является:
http://www.ipprimer.com/overview.cfm
.
В июле 2003 программный межсетевой экран OpenBSD, известный как PF, был портирован в FreeBSD и стал доступен из коллекции портов FreeBSD; первым релизом, где PF был интегрирован в основную систему, стала FreeBSD 5.3 в ноябре 2004. PF это полноценный межсетевой экран с широким набором возможностей, в котором есть опциональная поддержка ALTQ (Alternate Queuing). ALTQ предоставляет управление пропускной способностью Quality of Service (QoS).
Проект OpenBSD осуществляет замечательную работу по поддержке PF FAQ. Этот раздел руководства фокусируется на взаимосвязи PF и FreeBSD, предоставляя лишь общую информацию по его использованию. За более подробной информацией по использованию PF обратитесь к PF FAQ.
Дополнительные сведения о PF для FreeBSD можно получить с веб сайта:
http://pf4freebsd.love2party.net/
.
Чтобы загрузить PF как модуль ядра, добавьте следующую строку
в /etc/rc.conf
:
pf_enable="YES"
Далее, выполните стартовый скрипт:
#
/etc/rc.d/pf start
Учтите, модуль PF не загрузится, если он не сможет найти
конфигурационный файл с набором правил. По умолчанию размещение
файла с правилами следующее: /etc/pf.conf
.
Если путь к файлу отличается от вышеприведённого, то внесите в
/etc/rc.conf
строку вида:
pf_rules="/path/to/pf.conf
"
Файл с примерами конфигураций pf.conf
находится в каталоге /usr/share/examples/pf/
.
Модуль PF можно также загрузить вручную:
#
kldload pf.ko
Поддержка ведения логов для PF обеспечивается
модулем pflog.ko
, для загрузки которого добавьте
следующую строку в /etc/rc.conf
:
pflog_enable="YES"
и запустите на выполнение скрипт:
#
/etc/rc.d/pflog start
Если вам необходимы другие функциональные возможности PF, то придется добавить поддержку PF в ядро.
Включение PF путем компиляции с ядром FreeBSD не является обязательным требованием, однако вам может понадобиться одна из функциональных возможностей, которая не включена в загружаемый модуль. Например, pfsync(4) являет собой псевдоустройство, которое вносит определенные изменения в таблицу состояний, используемую PF. В дальнейшем, это псевдоустройство может быть скомпоновано с carp(4) чтобы создать отказоустойчивую систему межсетевых экранов на основе PF.
Пример параметров конфигурации ядра для включения PF находится в
/usr/src/sys/conf/NOTES
и показан здесь:
device pf device pflog device pfsync
device pf
включает поддержку межсетевого экрана
<<Packet Filter>> (pf(4)).
device pflog
включает необязательное сетевое
псевдоустройство pflog(4), которое может использоваться для
протоколирования трафика через bpf(4). Даемон pflogd(8)
может использоваться для сохранения протоколируемой информации
на диск.
device pfsync
включает необязательное
сетевое псевдоустройство pfsync(4), используемое для
отслеживания <<изменений состояния>>.
Для активации PF и pflog(4) во время загрузки в rc.conf(5) должны быть включены следующие переменные:
pf_enable="YES" # Включить PF (загрузить модуль если необходимо) pf_rules="/etc/pf.conf" # определение правил для pf pf_flags="" # дополнительные флаги для запуска pfctl pflog_enable="YES" # запустить pflogd(8) pflog_logfile="/var/log/pflog" # где pflogd должен сохранять протокол pflog_flags="" # дополнительные флаги для запуска pflogd
Если за межсетевым экраном находится локальная сеть и необходимо передавать пакеты для компьютеров этой сети, или использовать NAT, включите также следующий параметр:
gateway_enable="YES" # Включить сетевой шлюз
Пакет PF читает конфигурацию из файла
pf.conf(5) (полный путь: /etc/pf.conf
);
пакеты отвергаются, пропускаются или модифицируются в соответствии с
правилами и определениями из этого файла. В стандартную поставку
FreeBSD входят несколько файлов с примерами конфигураций, которые
находятся в каталоге /usr/share/examples/pf/
.
За исчерпывающим описанием правил PF обратитесь
к PF FAQ.
Изучая PF FAQ, имейте в виду, что различные версии FreeBSD могут содержать разные версии pf. В настоящий момент FreeBSD использует ту же версию PF, которая включена в OpenBSD 4.1.
Список рассылки, посвящённый FreeBSD packet filter является хорошим местом, чтобы задавать вопросы по конфигурации и использованию пакета PF. Не забудьте проверить архивы списка рассылки перед тем, как задавать вопрос.
Для управления PF используйте утилиту pfctl(8). Ниже приведено несколько полезных команд (все возможные команды и опции приведены на странице справочника pfctl(8)):
Команда | Действие |
---|---|
pfctl -e | Включить PF |
pfctl -d | Выключить PF |
pfctl -F all -f /etc/pf.conf | Сбросить все правила (NAT, правила фильтрации, состояния
соединений, таблицы и т.д.) и загрузить новые с файла
/etc/pf.conf |
pfctl -s [ rules | nat | state ] | Отобразить правила фильтрации, правила NAT или таблицу состояний соединений |
pfctl -vnf /etc/pf.conf | Проверить /etc/pf.conf на наличие
ошибок, но сами наборы правил не загружать |
ALTQ может быть включен только путем компилирования ядра FreeBSD с соответствующими параметрами. ALTQ поддерживается не всеми существующими драйверами сетевых карт. Для просмотра списка поддерживаемых устройств в вашем релизе FreeBSD обратитесь к странице справочника altq(4).
Следующие параметры включат ALTQ и добавят дополнительную функциональность.
options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build
options ALTQ
включает подсистему
ALTQ.
options ALTQ_CBQ
включает Class Based
Queuing (CBQ). CBQ
позволяет распределять пропускную способность соединений
по классам или очередям для выставления приоритетов трафика
на основе правил фильтрации.
options ALTQ_RED
включает Random Early
Detection (RED). RED
используется для предотвращения перегрузки сети.
RED вычисляет длину очереди и сравнивает ее
с минимальным и максимальным значением длины очереди. Если
очередь превышает максимум, все новые пакеты будут отброшены.
В соответствии со своим названием, RED
отбрасывает пакеты из различных соединений в произвольном
порядке.
options ALTQ_RIO
включает Random Early
Detection In and Out.
options ALTQ_HFSC
включает
Hierarchical Fair Service Curve Packet Scheduler.
Дополнительная
информация о HFSC находится по адресу: http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html
.
options ALTQ_PRIQ
включает Priority
Queuing (PRIQ). PRIQ
всегда первым пропускает трафик из очереди c более высоким
приоритетом.
options ALTQ_NOPCC
включает
поддержку SMP для ALTQ.
Эта опция необходима для SMP
систем.
Перевод раздела не завершен.
Этот раздел находится в процессе написания; содержание может не вполне соответствовать действительности.
Автором IPFILTER является Darren Reed. IPFILTER не зависит от операционной системы: это приложение с открытыми исходными текстами, которое было портировано на операционные системы FreeBSD, NetBSD, OpenBSD, SunOSTM, HP/UX, и SolarisTM. IPFILTER активно разрабатывается и поддерживается, регулярно выпускаются обновленные версии.
IPFILTER основан на межсетевом экране и механизме NAT уровня ядра, которые управляются и контролируются утилитами уровня пользовательских процессов. Правила межсетевого экрана могут устанавливаться или удаляться утилитой ipf(8). Правила NAT могут устанавливаться или удаляться утилитой ipnat(1). Утилита ipfstat(8) выводит статистику IPFILTER для ядра. Программа ipmon(8) может заносить действия IPFILTER в файлы системных протоколов.
IPF был первоначально написан с использованием правила <<последнее совпадение применяется>> и только с правилами без сохранения состояния. Со временем IPF был расширен и включает параметры <<quick>> и <<keep state>> (сохранение состояния), которые кардинальным образом изменяют логику обработки пакетов. Официальная документация IPF включает традиционные параметры правил с традиционной последовательностью обработки пакетов. Измененные функции включены в виде дополнительных параметров, они необходимы для создания эффективного межсетевого экрана.
Инструкции этого раздела подразумевают использование параметра <<quick>> и параметра сохранения состояния <<keep state>>. Это основа для создания включающего межсетевого экрана.
Детальное описание традиционных методов обработки правил:
http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1
и
http://coombs.anu.edu.au/~avalon/ip-filter.html
.
IPF FAQ находится по адресу
http://www.phildev.net/ipf/index.html
.
Архив списка рассылки по IPFilter с возможностью поиска доступен
по адресу http://marc.theaimsgroup.com/?l=ipfilter
.
IPF включен в базовую систему FreeBSD в качестве отдельного
загружаемого модуля. Система динамически загрузит модуль IPF,
если в rc.conf
указана переменная
ipfilter_enable="YES"
. Модуль создается
с включенным протоколированием и правилом по умолчанию
pass all
(пропускать все). Для изменения
правила по умолчанию не обязательно собирать ядро с новыми
параметрами. Просто добавьте в конец набора правило,
блокирующее все пакеты.
Включение IPF в ядро FreeBSD не является обязательным требованием. Эта процедура представлена здесь в качестве дополнительной информации. При включении IPF в ядро загружаемый модуль не используется.
Пример параметров настройки ядра для IPF находится в
/usr/src/sys/conf/NOTES
и воспроизведен здесь:
options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK
options IPFILTER
включает поддержку
межсетевого экрана <<IPFILTER>>.
options IPFILTER_LOG
включает
протоколирование трафика через IPF путем записи его в
псевдо-устройство протоколирования пакетов
ipl
для каждого
правила, содержащего ключевое слово
log
.
options IPFILTER_DEFAULT_BLOCK
изменяет поведение по умолчанию так, что блокируется каждый
пакет, не соответствующий правилу
pass
.
Эти настройки будут работать только после сборки и установки нового ядра.
Для активации IPF во время загрузки в
/etc/rc.conf
потребуется добавить
следующие переменные:
ipfilter_enable="YES" # Запуск межсетевого экрана ipf ipfilter_rules="/etc/ipf.rules" # Загрузка файла с правилами ipmon_enable="YES" # Включение протоколирования IP monitor ipmon_flags="-Ds" # D = запуск в виде даемона # s = протоколирование в syslog # v = протоколирование tcp window, ack, seq # n = отображение имен IP и портов
Если за межсетевым экраном находится локальная сеть, использующая приватные IP адреса, для включения NAT потребуется добавить следующие переменные:
gateway_enable="YES" # Включение шлюза для локальной сети ipnat_enable="YES" # Запуск функции ipnat ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat
Команда ipf(8) используется для загрузки файла с правилами. Обычно создается файл, содержащий подготовленный набор правил, который полностью замещает набор, используемый на данный момент:
#
ipf -Fa -f /etc/ipf.rules
-Fa
означает сброс всех внутренних таблиц правил.
-f
указывает файл с правилами, который необходимо загрузить.
Это дает вам возможность отредактировать файл с правилами, запустить вышеприведенную команду IPF, тем самым обновить набор правил работающего межсетевого экрана без перезагрузки системы. Для обновления правил такой подход очень удобен, поскольку команду можно выполнять столько раз, сколько нужно.
На странице справочной системы ipf(8) находится подробная информация по всем флагам этой команды.
Набор правил для команды ipf(8) должен быть в виде стандартного текстового файла. Правила, написанные в виде скрипта с символами подстановки, не принимаются.
Есть способ составления правил IPF, использующих символы подстановки. Обратитесь к Раздел 26.5.9, <<Создание набора правил с использованием символьной подстановки>>.
По умолчанию ipfstat(8) получает и отображает суммарную
статистику, полученную в результате применения действующих правил
к пакетам, проходящим через межсетевой экран с момента его последнего
запуска, или с того момента, когда статистика была последний раз
обнулена командой ipf -Z
.
Детальная информация приводится на странице справочника ipfstat(8).
Вывод команды ipfstat(8) по умолчанию выглядит примерно так:
input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 input packets logged: blocked 99286 passed 0 output packets logged: blocked 0 passed 0 packets logged: input 0 output 0 log failures: input 3898 output 0 fragment state(in): kept 0 lost 0 fragment state(out): kept 0 lost 0 packet state(in): kept 169364 lost 0 packet state(out): kept 431395 lost 0 ICMP replies: 0 TCP RSTs sent: 0 Result cache hits(in): 1215208 (out): 1098963 IN Pullups succeeded: 2 failed: 0 OUT Pullups succeeded: 0 failed: 0 Fastroute successes: 0 failures: 0 TCP cksum fails(in): 0 (out): 0 Packet log flags set: (0)
При задании флага -i
или -o
соответственно для входящих или
исходящих пакетов, команда извлечет и отобразит соответствующий
список правил, установленных и
используемых на данный момент.
ipfstat -in
отображает правила, применяемые
к входящим пакетам, вместе с номерами этих правил.
ipfstat -on
отображает правила, применяемые
к исходящим пакетам, вместе с номерами этих правил.
Вывод команды будет выглядеть примерно так:
@1 pass out on xl0 from any to any @2 block out on dc0 from any to any @3 pass out quick on dc0 proto tcp/udp from any to any keep state
ipfstat -ih
отображает правила, применяемые
к входящим пакетам, со счетчиком количества совпадений для
каждого правила.
ipfstat -oh
отображает правила, применяемые
к исходящим пакетам, со счетчиком количества совпадений для
каждого правила.
Вывод команды будет выглядеть примерно так:
2451423 pass out on xl0 from any to any 354727 block out on dc0 from any to any 430918 pass out quick on dc0 proto tcp/udp from any to any keep state
Одна из наиболее важных функций команды
ipfstat
активируется флагом -t
,
правила отображаются подобно тому, как top(1)
показывает таблицу запущенных процессов FreeBSD. Когда межсетевой экран
подвергается атаке, эта функция позволяет обнаружить соответствующие
пакеты. Дополнительные флаги дают возможность выбирать IP
адрес назначения или источника, порт или протокол, которые
будут отслеживаться в реальном времени. Подробная информация
приведена на странице ipfstat(8).
Для того, чтобы стало возможно использование команды
ipmon
, необходимо включить параметр ядра
IPFILTER_LOG
. Эта команда может использоваться в двух различных
режимах. В основном режиме, который используется по умолчанию,
она используется без флага -D
.
В режиме даемона создается непрерывный протокол, и возможен
просмотр предыдущих событий. В этом режиме IPFILTER работает
в FreeBSD. Поскольку в FreeBSD встроена функция ротации файлов
протокола, лучше использовать syslogd(8), чем используемый по
умолчанию вывод в обычный файл. В rc.conf
по умолчанию ipmon_flags
имеет значение -Ds
:
ipmon_flags="-Ds" # D = start as daemon # s = log to syslog # v = log tcp window, ack, seq # n = map IP & port to names
Описывать преимущества протоколирования излишне. Например, оно дает возможность отложенного просмотра информации об отброшенных пакетах, откуда они пришли и куда направлялись. Эта информация существенно помогает при отслеживании атак.
Даже с включенным протоколированием, IPF не ведет протокол для каждого правила. Администратор межсетевого экран должен решить, по каким правилам набора нужно вести протокол и добавить ключевое слово log к этим правилам. Обычно протоколируются только правила, отбрасывающие пакеты.
Включение в набор последнего правила, запрещающего прохождение
пакетов, в сочетании с ключевым словом log
является
довольно распространённой практикой. Так вы можете увидеть все пакеты,
не
попадающие ни под одно правило набора.
Для разделения собираемых данных
syslogd использует свой собственный
специальный метод. Он использует группировку по категории
(<<facility>>) и уровню (<<level>>).
IPMON в режиме -Ds
использует
local0
в качестве имени <<категории>>.
Для дальнейшего разделения
протоколируемых данных, если такое необходимо, могут быть использованы следующие
уровни:
LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block. LOG_NOTICE - packets logged which are also passed LOG_WARNING - packets logged which are also blocked LOG_ERR - packets which have been logged and which can be considered short
Для указания IPFILTER протоколировать все данные в
/var/log/ipfilter.log
, создайте этот
файл заранее, выполнив следующую команду:
#
touch /var/log/ipfilter.log
Функционирование syslogd(8) управляется настройками в файле
/etc/syslog.conf
. Файл
syslog.conf
позволяет достаточно гибко
настроить обработку системных сообщений, выдаваемых программами,
такими как IPF.
Добавьте в /etc/syslog.conf
следующую запись:
local0.* /var/log/ipfilter.log
local0.*
означает запись всех
протоколируемых сообщений в указанный файл.
Для применения внесенных в
/etc/syslog.conf
изменений вы можете
перезагрузиться или заставить syslogd(8) перечитать
/etc/syslog.conf
, выполнив команду
/etc/rc.d/syslogd reload
.
Не забудьте отредактировать
/etc/newsyslog.conf
для ротации только
что созданного лог файла.
Сообщения, генерируемые ipmon
, состоят
из полей данных, разделенных пробелами. Поля, общие для всех
сообщений:
Дата получения пакета.
Время получения пакета. Формат времени HH:MM:SS.F для часов, минут, секунд и долей секунд (последнее поле может состоять из нескольких цифр).
Имя интерфейса, через который прошел пакет,
например dc0
.
Группа и номер правила, например
@0:17
.
Эти сообщения могут быть просмотрены командой
ipfstat -in
.
Действие: p для пропущенных, b для заблокированных, S для пакетов с неполным заголовком (short packet), n для пакетов, не соответствующих какому-либо правилу, L для соответствующих правилу протоколирования. Порядок следования по флагам: S, p, b, n, L. Знаки P или B в верхнем регистре означают, что пакет был протоколирован в соответствии с общими настройками, а не каким-то конкретным правилом.
Адреса. Всего три поля: адрес и порт источника (разделенные запятой), ->, адрес и порт назначения. 209.53.17.22,80 -> 198.73.220.17,1722.
PR
, с последующим именем или
номером протокола, например PR tcp
.
len
, с последующей длиной заголовка
и общей длиной пакета, например len 20 40
.
Для TCP пакетов добавляется дополнительное поле, начинающееся с дефиса, за которым следуют буквы, соответствующие установленным флагам. На странице справочника ipf(5) находится список букв и флагов.
Для пакетов ICMP, в конце находятся два поля, одно всегда <<ICMP>>, а второе содержит тип и подтип ICMP сообщения (message и sub-message), разделенные символом косой черты, например ICMP 3/3 для сообщения <<port unreachable>>.
Некоторые опытные пользователи IPF создают файл правил, поддерживающий использование символьной подстановки. Основное преимущество использования такого подхода заключается в возможности изменения значения, присваиваемого символьному имени, в результате чего во всех правилах, содержащих эту символьную подстановку, будет использоваться новое значение. В начале скрипта вы можете поместить часто используемые переменные, а затем использовать их сразу в нескольких правилах. Ниже дан пример такого использования.
Синтаксис скрипта совместим с sh(1), csh(1), и tcsh(1).
Символьная подстановка предваряется знаком доллара:
$
.
Для присвоения значения символьным переменным знак $ не используется.
Присваиваемое символической переменной значение должно
быть заключено в двойные кавычки ("
).
Начните файл правил примерно так:
############# Start of IPF rules script ######################## oif="dc0" # name of the outbound interface odns="192.0.2.11" # ISP's DNS server IP address myip="192.0.2.7" # my static IP address from ISP ks="keep state" fks="flags S keep state" # You can choose between building /etc/ipf.rules file # from this script or running this script "as is". # # Uncomment only one line and comment out another. # # 1) This can be used for building /etc/ipf.rules: #cat > /etc/ipf.rules << EOF # # 2) This can be used to run script "as is": /sbin/ipf -Fa -f - << EOF # Allow out access to my ISP's Domain name server. pass out quick on $oif proto tcp from any to $odns port = 53 $fks pass out quick on $oif proto udp from any to $odns port = 53 $ks # Allow out non-secure standard www function pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Allow out secure www function https over TLS SSL pass out quick on $oif proto tcp from $myip to any port = 443 $fks EOF ################## End of IPF rules script ########################
Это все, что требовалось сделать. В данном примере сами
правила не важны; важно то, как используется символьная подстановка.
Если вышеприведенный пример помещен в файл
/etc/ipf.rules.script
, то набор правил можно
перезагрузить, введя следующую команду:
#
sh /etc/ipf.rules.script
С использованием в правилах символьной подстановки связана одна проблема: IPF не понимает символьную подстановку и не может обработать такой скрипт непосредственно.
Скрипт может использоваться одним из следующих двух способов:
Уберите комментарий перед строкой, начинающейся с
cat
, и закомментируйте строку,
начинающуюся с /sbin/ipf
. Поместите
строку ipfilter_enable="YES"
в файл
/etc/rc.conf
как обычно, и запускайте
скрипт после каждого его обновления для создания или обновления
файла /etc/ipf.rules
.
Отключите IPFILTER в стартовых скриптах системы, поместив
строку ipfilter_enable="NO"
(это значение
по умолчанию) в файл /etc/rc.conf
.
Поместите скрипт, подобный нижеприведенному, в каталог
/usr/local/etc/rc.d/
. У него должно
быть однозначно говорящее о его назначении имя, например
ipf.loadrules.sh
. Расширение
.sh
обязательно.
#!/bin/sh sh /etc/ipf.rules.script
Права, установленные на этот файл, должны разрешать чтение, запись и
выполнение владельцу root
.
#
chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh
Теперь, правила IPF будут загружаться при загрузке системы.
Набор правил ipf это группа правил, составленных для пропускания или блокирования пакетов на основе их содержимого. Двусторонний обмен пакетами между хостами составляет сессию. Межсетевой экран обрабатывает как входящие из Интернет пакеты, так и исходящие пакеты, которые сгенерированы самой системой в ответ на входящий трафик. Для каждой службы TCP/IP (например, telnet, www, mail, и т.п.) назначен протокол и номер привилегированного (прослушиваемого) порта. Пакеты, предназначенные для определенного сервиса, порождаются с некоторым исходящим адресом и портом из непривилегированного диапазона и направляются на определенный адрес и определенный порт назначения. Все упомянутые параметры (номера портов и адреса) могут использоваться как критерии выбора в правилах, пропускающих или блокирующих доступ к службам TCP/IP.
IPF был первоначально написан с использованием логики <<последнее совпадающее правило побеждает>> и только с правилами без сохранения состояния. Со временем в IPF был включен параметр <<quick>> и параметр сохранения состояния <<keep state>>, что существенно улучшило логику обработки правил.
Инструкции, помещенные в эту главу, созданы с использованием параметров <<quick>> и <<keep state>>. Это основа для создания набора правил включающего межсетевого экрана.
При работе с правилами межсетевого экрана, будьте очень осторожны. Некоторые конфигурации могут заблокировать вам доступ к серверу. В целях предосторожности, первоначальную настройку межсетевого экрана вы можете выполнить с локальной консоли, а не через удаленное подключение, такое как ssh.
IPFIREWALL (IPFW) - представляет собой межсетевой экран, написанный и поддерживаемый добровольными участниками проекта FreeBSD. Он использует stateless правила, т.е. правила без учета состояния, и наследование техники кодирования правил для получения того, что называется простой логикой с сохранением состояния (stateful).
Пример простейшего набора правил IPFW (находится в
/etc/rc.firewall
и
/etc/rc.firewall6
) в стандартной установке
FreeBSD достаточно прост и не рассчитан на непосредственное
использование без изменений. В нём не используется фильтрация с
сохранением состояния, которая даёт преимущества во многих
конфигурациях, поэтому он не может быть взят за основу для этого
раздела.
Синтаксис правил IPFW без сохранения состояния обеспечивает расширенные возможности фильтрации, которые намного превосходят уровень знаний обычного пользователя межсетевого экрана. IPFW рассчитан на профессиональных пользователей или технически продвинутых любителей, которые предъявляют повышенные требования к фильтрации пакетов. Чтобы использовать возможности IPFW в полную силу, необходимы углубленные знания того, как в различных протоколах формируются и используются заголовки пакетов. Углубленное изучение работы протоколов выходит за рамки этого раздела Руководства.
IPFW состоит из семи компонентов, главный из которых -
процессор правил фильтрации уровня ядра и интегрированный в него
механизм учета пакетов, а также средства протоколирования пакетов,
правило divert
, посредством которых вызывается
функция NAT и другие возможности специального
назначения, средства для ограничения скорости (шейпинга) трафика
(dummynet), средства перенаправления fwd
,
средства организации сетевого моста bridge и механизм ipstealth.
IPFW поддерживает протоколы IPv4 и IPv6.
IPFW включён в базовую установку FreeBSD в виде отдельного
подгружаемого модуля. Система динамически загружает модуль
ядра, когда в rc.conf
присутствует строка
firewall_enable="YES"
. Если использовать
функциональность NAT не планируется, то в
этом случае дополнительно компилировать IPFW в состав ядра
FreeBSD не требуется.
После перезагрузки системы с
firewall_enable="YES"
в
rc.conf
на экране в процессе загрузки
отобразится выделенное белым сообщение:
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled
Загружаемый модуль скомпилирован с возможностью
протоколирования информации о трафике. Для включения
протоколирования и установки уровня его детализации имеется
переключатель, значение которого можно установить в
конфигурационном файле /etc/sysctl.conf
.
При добавлении следующих двух строк протоколирование будет
включено при следующей загрузке системы:
net.inet.ip.fw.verbose=1 net.inet.ip.fw.verbose_limit=5
Включение следующих параметров в ядро FreeBSD не является обязательным, если дополнительно не требуется функциональность NAT. Эти параметры представлены здесь в качестве справочной информации для дальнейших примеров.
options IPFIREWALL
Этот параметр включает IPFW в состав ядра.
options IPFIREWALL_VERBOSE
Этот параметр включает протоколирование пакетов, которые
проходят через IPFW по правилам с ключевым словом
log
.
options IPFIREWALL_VERBOSE_LIMIT=5
Ограничение числа пакетов, прошедших через syslogd(8), отдельно для каждого правила. Этот параметр имеет смысл использовать в недружественной среде, когда необходимо отслеживать активность межсетевого экрана. Это закрывает возможность атак типа <<отказ в обслуживании>> через флуд сообщениями syslog.
options IPFIREWALL_DEFAULT_TO_ACCEPT
Этот параметр включает для IPFW разрешающую политику по умолчанию. Это удобно на первых этапах настройки IPFW.
options IPDIVERT
Включение функциональности NAT.
Межсетевой экран будет блокировать все входящие и
исходящие пакеты, если отсутствует параметр ядра
IPFIREWALL_DEFAULT_TO_ACCEPT
или правило,
явно разрешающее эти соединения.
Включение межсетевого экрана:
firewall_enable="YES"
Для выбора одного из стандартных режимов работы
межсетевого экрана, предоставляемых FreeBSD, выберите наиболее
подходящий в файле /etc/rc.firewall
и
разместите так, как указано ниже:
firewall_type="open"
Возможны следующие значения для этого параметра:
open
- пропускать весь
трафик.
client
- защищать только эту
машину.
simple
- защищать всю
сеть.
closed
- полностью запретить
IP трафик, за исключением loopback интерфейса.
UNKNOWN
- отключить загрузку
правил межсетевого экрана.
- абсолютный путь к файлу, содержащему правила
межсетевого экрана.filename
Есть два варианта загрузки собственных правил в
межсетевой экран ipfw. Первый
способ - задать переменную firewall_type
в виде абсолютного пути файла, содержащего правила
межсетевого экрана без каких-либо параметров
командной строки для самого ipfw(8). Ниже приведён
простой пример набора правил, который блокирует весь входящий
и исходящий трафик:
add deny in add deny out
Второй способ - установить значение переменной
firewall_script
в виде абсолютного пути
исполняемого скрипта, содержащего команды ipfw
,
которые будут выполнены во время загрузки операционной системы.
Правильный формат правил исполняемого скрипта должен
соответствовать формату файла, приведённому ниже:
#!/bin/sh ipfw -q flush ipfw add deny in ipfw add deny out
Если переменной firewall_type
присвоено
значение client
или simple
,
то правила, расположенные по умолчанию в
/etc/rc.firewall
, должны быть приведены
в соответствие с конфигурацией данной машины. Также заметим,
что для используемых в этой главе примеров в качестве значения
переменной firewall_script
используется
/etc/ipfw.rules
.
Включение протоколирования:
firewall_logging="YES"
Единственное, что делает параметр
firewall_logging
, - присвоение
логической единицы (1
) переменной sysctl
net.inet.ip.fw.verbose
(смотрите Раздел 26.6.1, <<Включение IPFW>>). В rc.conf
нет переменной для ограничения протоколирования, но это можно
сделать через переменную sysctl вручную либо используя файл
/etc/sysctl.conf
:
net.inet.ip.fw.verbose_limit=5
Если ваша машина выполняет роль шлюза, т.е. обеспечивает
трансляцию сетевых адресов (NAT) с помощью natd(8), имеет
смысл сразу перейти к чтению Раздел 27.8, <<Даемон преобразования сетевых адресов (natd)>>
для уточнения информации относительно параметров
/etc/rc.conf
.
Команда ipfw
- это стандартный
механизм для ручного добавления/удаления отдельных правил в
активной цепочке правил межсетевого экрана. Основная проблема
при использовании этого метода состоит в том, что при перезагрузке
операционной системы все изменения, сделанные с помощью данной
команды, будут утеряны. Вместо этого рекомендуется записать
все правила в файл, из которого они будут считываться во время
загрузки операционной системы, а также для полной замены текущего
набора правил на содержимое из файла.
Тем не менее, команду ipfw
удобно
использовать для отображения текущей конфигурации правил на
экране консоли. Учетный модуль IPFW динамически создаёт счётчики
для каждого правила, которые подсчитывают количество пакетов,
соответствующих условиям срабатывания правила. В процессе
тестирования отображение правила со своим счётчиком является
одним из способов проверки, срабатывает ли правило при прохождении
через него пакета или нет.
Вывод полного списка правил:
#
ipfw list
Вывод полного списка правил с маркером времени последнего срабатывания правила:
#
ipfw -t list
Следующий пример выводит учетную информацию, количество совпавших пакетов и сами правила. Первым столбцом идет номер правила, за ним следует число совпавших исходящих пакетов, третий столбец - число соответствующих входящих пакетов, и затем само правило.
#
ipfw -a list
Вывод динамических правил вместе со статическими:
#
ipfw -d list
Отобразить статические и динамические правила, в т.ч. с истекшим временем действия:
#
ipfw -d -e list
Обнуление счетчиков:
#
ipfw zero
Обнулить счетчики для правила под номером
NUM
:
#
ipfw zero
NUM
Набор правил (ruleset) представляет собой группу правил IPFW, которые разрешают или запрещают прохождение пакета через межсетевой экран на основании значений, содержащихся в пакете. Двунаправленный обмен пакетов между машинами является сессией. Набор правил межсетевого экрана анализирует как пакеты, приходящие из глобальной сети, так и ответные пакеты, исходящие из системы. Каждый TCP/IP сервис (такой как telnet, www, mail, и т.д.) принадлежит определенному протоколу и привилегированному (прослушиваемому) порту. Пакеты, предназначенные для конкретного сервиса, передаются с непривилегированного (с высоким значением) порта по адресу назначения на указанный порт сервиса. Все эти параметры (т.е. порты и адреса) могут быть использованы в качестве критериев фильтрации при создании правил, которые пропускают или блокируют сервисы.
Когда пакет попадает в межсетевой экран, он сравнивается с каждым правилом, начиная с первого, двигаясь по множеству правил верху вниз в порядке увеличения номера правил. Когда пакет совпадает с критерием выбора правила, выполняется действие, указанное в правиле, и на этом поиск правил прекращается. Такой метод поиска известен как <<выигрыш первого совпадения>>, т.е. после срабатывания правила оставшиеся не просматриваются. Если содержимое пакета не соответствует ни одному из правил, он принудительно попадает на встроенное правило по умолчанию, заданное под номером 65535, которое запрещает и отбрасывает все пакеты без какого-либо отклика в сторону отправителя.
Поиск продолжается после правил count
,
skipto
и tee
.
Упомянутые здесь инструкции основаны на использовании
правил, содержащих параметры с сохранением состояния
keep state
, limit
,
in
, out
и
via
. Это основной механизм для кодирования
набора правил межсетевого экрана закрытого типа.
Будьте осторожны, когда работаете с правилами межсетевого экрана, так как вы можете легко заблокировать самого себя.
Представленный здесь синтаксис правил был упрощен для создания стандартного набора правил межсетевого экрана закрытого типа. Для полного описания синтаксиса правил смотрите страницу Справочника ipfw(8).
Правила содержат ключевые слова: эти ключевые слова записываются в строке в определенном порядке слева направо. Ключевые слова выделены полужирным шрифтом. Некоторые ключевые слова имеют дополнительные параметры, которые могут являться ключевыми словами для них самих и также содержать вложенные дополнительные параметры.
Символ #
используется для обозначения
начала комментария и может быть расположен в конце строки с
правилом или в начале строки над правилом. Пустые строки
игнорируются.
CMD RULE_NUMBER ACTION LOGGING SELECTION
STATEFUL
Каждое новое правило должно начинаться с префикса
add
для добавления во внутреннюю
таблицу.
При соответствии пакета описанным в правиле критериям фильтрации будет выполнено одно из следующих действий.
allow | accept | pass |
permit
Все эти действия означают одно и то же - пакеты, совпадающие с правилом, могут покинуть обработку правил межсетевого экрана. На этом поиск прекращается.
check-state
Проверяет пакет на соответствие динамической таблице правил. Если совпадение найдено, выполняется действие, содержащееся в правиле, породившем данное динамическое правило, иначе выполняется переход к следующему правилу. Правило check-state не имеет критериев фильтрации. При отсутствии правила check-state в наборе правил проверка по динамической таблице происходит на первом правиле keep-state или limit.
deny | drop
Оба слова означают отбрасывание пакетов, совпавших с правилом. Поиск прекращается.
log
или
logamount
Когда пакет совпадает с правилом, содержащим ключевое
слово log
, информация об этом событии
записывается в syslogd(8) с пометкой SECURITY. Запись
в журнал происходит только в том случае, если число
срабатываний для данного правила не превышает значения
параметра logamount
. Если значение
logamount
не объявлено, то ограничение
берется из значения переменной sysctl
net.inet.ip.fw.verbose_limit
. В обоих
случаях обнуление значения отменяет ограничение. По
достижению установленного лимита запись в журнал может быть
повторно включена путем сброса счетчика срабатываний или
счетчика пакетов для этого правила; смотрите описание
команды ipfw reset log
.
Протоколирование осуществляется после проверки на соответствие всем условиям в правиле и перед выполнением окончательного действия (accept, deny) над пакетом. Вы должны выбрать сами, какие действия правил вы хотите включить в журнал.
Ключевые слова, представленные в этом разделе, используются для описания атрибутов пакета, по которым проверяется условие срабатывания того или иного правила. Для совпадения используется следующая последовательность атрибутов общего назначения:
udp | tcp | icmp
Также могут быть использованы имена протоколов, описанные
в /etc/protocols
. Указанное значение
обозначает протокол для совпадения. Это является обязательным
требованием.
from src to dst
Ключевые слова from
и to
служат для фильтрации по IP адресам. Обязательно должны
быть указаны и источник, и получатель. any
- это специальное ключевое слово, которое соответствует
любому IP адресу. me
- это
специальное ключевое слово, которое соответствует любому из
IP адресов, сконфигурированных на интерфейсе вашей системы
FreeBSD, и служит для указания компьютера, на котором работает
межсетевой экран (т.е. этот компьютер), как показано на
примерах from me to any
,
from any to me
,
from 0.0.0.0/0 to any
,
from any to 0.0.0.0/0
,
from 0.0.0.0 to any
,
from any to 0.0.0.0
и
from me to 0.0.0.0
. IP адрес указывается
в виде четырёх чисел, разделённых точками, или дополнительно
с префиксом сети (нотация CIDR). Это является обязательным
требованием. Для упрощения вычислений, связанных с IP
адресами, используйте порт net-mgmt/ipcalc. Более подробную
информацию можно посмотреть на странице программы: http://jodies.de/ipcalc
.
port number
Для протоколов, работающих с портами (такие как
TCP и UDP), обязательным
требованием является указание номера порта соответствующего
сервиса. Вместо номера порта можно использовать имя сервиса
(из /etc/services
).
in | out
Отбор соответственно по входящим и исходящим пакетам. Присутствие одного из этих ключевым слов в правиле обязательно для формирования критерия фильтрации.
via IF
Совпадает с пакетами, проходящими через указанный
интерфейс. Ключевое слово via
включает
обязательную проверку на указанном интерфейсе в общий
процесс поиска совпадений.
setup
Это обязательное ключевое слово определяет начало запроса сессии для TCP пакетов.
keep-state
Это обязательное ключевое слово. При совпадении межсетевой экран создает динамическое правило, которое по умолчанию будет совпадать с двунаправленным трафиком между отправителем и получателем для данной пары IP/порт по указанному протоколу.
limit {src-addr | src-port | dst-addr |
dst-port}
Межсетевой экран разрешит только N
соединений с одинаковым набором параметров, указанных в
правиле. Можно задавать один или несколько адресов и
портов отправителя и получателя. В одном и том же правиле
использование limit
и
keep-state
не допускается. Параметр
limit
предоставляет такую же функцию с
сохранением состояний, что и keep-state
,
плюс свои собственные.
С точки зрения фильтрации по правилам с сохранением состояния весь трафик выглядит как двусторонний обмен пакетами, включая данные о сессиях. При такой фильтрации у нас есть средства сопоставления и определения корректности процедуры двустороннего обмена пакетами между стороной, породившей пакет, и стороной-получателем. Любые пакеты, которые не подходят под шаблон сессии, автоматически отбрасываются как злонамеренные.
Параметр check-state
служит для
указания места в наборе правил IPFW, в котором пакет будет
передан на поиск соответствий динамическим правилам. В
случае совпадения пакет пропускается, при этом создается
новое динамическое правило для следующего пакета,
принадлежащего данной двусторонней сессии. В противном
случае пакет движется по обычным правилам, начиная со
следующей позиции.
Динамические правила уязвимы к атаке SYN-пакетами, которые
могут породить гигантское количество динамических правил.
Для предотвращения такого рода атак во FreeBSD предусмотрен
еще один параметр - limit
. Этот
параметр служит для ограничения количества одновременно
установленных сессий путём проверки полей отправителя и
получателя, в зависимости от параметра limit
,
с использованием IP адреса пакета для поиска открытых
динамических правил, которые представляют собой счетчик
количества совпадений для данного IP адреса и этого правила.
Если это количество превышает значение, указанное в параметре
limit
, то такой пакет отбрасывается.
Преимущества протоколирования очевидны: это предоставляет возможность отслеживать постфактум, прохождение каких пакетов было отклонено, откуда эти пакеты пришли и куда они назначались для тех правил, в которых включена функция записи в журнал. Это замечательный инструмент для отслеживания атак на вашу систему.
Даже при включенной функции ведения журнала само по себе
оно производиться не будет. Администратор межсетевого экрана
определяет, для каких правил будет включена функция ведения
журнала, и добавляет к этим правилам log
.
Обычно в журнал пишутся только запрещающие правила, такие как
правила deny для входящего ICMP ping.
Довольно часто конец списка добавляют дублирующее правило
вида <<ipfw default deny everything>> с приставкой
log
. Это позволяет отслеживать все пакеты,
не совпадающие ни с одним из правил в вашем наборе.
Будьте крайне осмотрительны при использовании функции ведения журнала, так как это чревато несоразмерным разрастанием файла журнала, вплоть до полного заполнения им места на жестком диске. DoS атаки, направленные на переполнение свободного пространства жесткого диска, являются одними из самых старейших. Помимо заполнения жесткого диска это неприятно еще и тем, что сообщения журнала пишутся не только в syslogd, но также отображаются на экране системной консоли, и это вскоре начинает сильно раздражать.
Параметр ядра IPFIREWALL_VERBOSE_LIMIT=5
ограничивает число идущих подряд сообщений в системный
регистратор syslogd(8), касающихся пакетов, совпавших
с правилом. Когда этот параметр включен в ядро, число
последовательно идущих сообщений для определенного правила
обрезается указанным числом. От записи 200 идентичных
сообщений особого прока нет. В данном случае для сработавшего
правила в журнале syslogd будут
зафиксированы 5 сообщений подряд, остальные идентичные сообщения
будут подсчитаны и отправлены в syslogd
как одно сообщение такого вида:
last message repeated 45 times
Путь к файлу, в который пишутся сообщения, задается в
файле /etc/syslog.conf
. По умолчанию
это файл /var/log/security
.
Наиболее опытные пользователи IPFW создают скрипт, содержащий в себе правила, оформленные таким образом, что они могут быть исполнены как обыкновенный sh-скрипт. Основное преимущество такого подхода в том, что правила можно полностью заменить на новые без необходимости в перезагрузке системы для их активации. Это крайне удобно на этапе разработки и тестирования набора правил, т.к. перезагружать весь список правил можно сколь угодно часто. Помимо того, поскольку это скрипт, то здесь можно объявить некие часто используемые значения в виде переменной, и использовать её во множестве правил, как показано в примере ниже.
Синтаксис примера, приведенного ниже, совместим с тремя командными оболочками: sh(1), csh(1), tcsh(1). Для использования значения ранее объявленной переменной имя переменной предваряется символом $. Во время присвоения имя переменной не имеет префикса $, присваиваемое значение должно быть заключено в "двойные кавычки".
Так выглядит файл с правилами, с которого вы можете начать:
############### начало примера скрипта с правилами ipfw ############# # ipfw -q -f flush # Сброс всех правил. # Установки по умолчанию oif="tun0" # наш интерфейс odns="192.0.2.11" # IP DNS сервера провайдера cmd="ipfw -q add " # префикс для создания правил ks="keep-state" # просто лень вводить каждый раз $cmd 00500 check-state $cmd 00502 deny all from any to any frag $cmd 00501 deny tcp from any to any established $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks $cmd 00611 allow udp from any to $odns 53 out via $oif $ks ################### конец примера скрипта с правилами ipfw ############
Вот и все, что нужно сделать. Сами правила в этом примере не столь важны, они написаны ради того, чтобы продемонстрировать использование подстановки значения переменной по ее имени.
Если бы этот скрипт находился в файле
/etc/ipfw.rules
, то правила можно было
бы перезагрузить следующей командой.
#
sh /etc/ipfw.rules
Имя и расположение файла /etc/ipfw.rules
могут быть какими угодно.
Такой же результат можно получить, выполнив вручную следующие команды:
#
ipfw -q -f flush
#
ipfw -q add check-state
#
ipfw -q add deny all from any to any frag
#
ipfw -q add deny tcp from any to any established
#
ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state
#
ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state
#
ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state
Следующий набор правил, не включающий в себя правила трансляции адресов NAT, является примером того, как создавать правила для межсетевого экрана закрытого типа высокого уровня защиты. Закрытый межсетевой экран разрешает трафик, описанный в разрешающих правилах, и по умолчанию блокирует всё остальное. Межсетевой экран, предназначенный для защиты сегментов сети, имеет как минимум два интерфейса, для которых должны быть написаны правила для работы межсетевого экрана.
Все разновидности операционных систем UNIX(R), включая FreeBSD,
используют интерфейс lo0
и IP адрес
127.0.0.1
для передачи данных
внутри операционной системы. Правила межсетевого экрана должны
содержать в своем составе правила, разрешающие беспрепятственное
прохождение трафика по этому интерфейсу.
Интерфейс, подключенный к Интернет, является местом для
размещения правил авторизации и контроля доступа исходящих
и входящих соединений. Это может быть туннельный интерфейс
PPP tun0
или
сетевой адаптер, подключенный к DSL или кабельному модему.
В случае, когда за межсетевым экраном один и более интерфейсов подсоединён к локальной сети, должны присутствовать правила для беспрепятственного прохождения исходящих пакетов с этих интерфейсов LAN.
Правила изначально разделяются на три основных раздела: интерфейсы, не ограниченные правилами, правила для исходящего трафика на внешнем интерфейсе и правила для входящего трафика на внешнем интерфейсе.
В каждом из разделов, относящихся к внешнему интерфейсу, правила должны быть упорядоченны по следующему принципу: наиболее используемые расположены в начале, наименее используемые - в конце. Последним должно идти правило блокирования и занесения в журнал информации о пакетах на этом интерфейсе, не попавших под предыдущие правила.
Раздел, описывающий правила для исходящего трафика на
внешнем интерфейсе, содержит только разрешающие правила
allow
, состоящие из значений фильтрации,
которые однозначно определяют сервис, которому разрешен
доступ в Интернет. Все правила включают в себя поля
proto
, port
,
in/out
, via
и
keep state
. Правила, содержащие
proto tcp
, имеют также параметр
setup
, который служит для определения
начала сессии, которое в дальнейшем передается как условие
срабатывания в динамическую таблицу.
В разделе, описывающем правила для входящего трафика на
внешнем интерфейсе, в самом начале должны стоять правила,
блокирующие нежелательные пакеты. Так должно быть по двум
причинам. Первая состоит в том, что пакеты, сформированные
злоумышленником, могут частично или полностью соответствовать
разрешающим правилам allow
. Вторая причина
состоит в том, что заведомо не интересующие нас пакеты могут
быть просто отклонены, вместо того, чтобы быть перехваченными
и записанными в файл журнала по последнему правилу. Последнее
правило в каждом разделе блокирует и регистрирует в журнале
все пакеты и может быть использовано для юридических
обоснований в ходе разбирательств против злоумышленников,
атаковавших вашу систему.
Также следует убедиться в том, что ваш сервер не отвечает
ни на какие другие формы непредусмотренного трафика.
Некорректные пакеты должны быть просто отброшены. В
результате атакующие не получат информацию о том, достиг ли
его пакет вашего сервера. Чем меньше атакующие будут знать
о вашей системе, тем более она защищена. Назначение
нераспознанного номера порта можно посмотреть в файле
/etc/services/
или по адресу http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
.
Рекомендуем ознакомиться с содержимым ссылки относительно
номеров портов, используемых троянами: http://www.sans.org/security-resources/idfaq/oddports.php
.
Следующие правила, не включающие поддержку
NAT, являются логически полным набором
правил для межсетевого экрана закрытого типа. При использовании
этого набора правил вы вполне можете быть уверены в безопасности
вашей системы. Просто закомментируйте некоторые из правил
pass
для тех служб, которые вам не требуются.
Чтобы избежать занесения в журнал нежелательных сообщений,
добавьте правило deny
в раздел, описывающий
входящий трафик на интерфейсе. Замените название интерфейса
dc0
, упоминающегося в правилах ниже,
на название интерфейса (NIC), который соединяет вашу систему
с глобальной сетью. Для PPP соединений
это будет tun0
.
Примечание по использованию этих правил.
Все запросы начала сессии с внешней сетью используют
параметр keep-state
.
Все разрешенные сервисы внешней сети имеют параметр
limit
для защиты от флуда.
Все правила используют параметры in
или out
для указания направления
трафика.
Все правила используют параметр via
имя-интерфейса
для уточнения
интерфейса, через который проходит пакет.
Следующие правила записываются в
/etc/ipfw.rules
.
################ Начало файла с правилами IPFW ############################### # Сброс всех правил перед началом работы скрипта. ipfw -q -f flush # Префикс для создания правил cmd="ipfw -q add" pif="dc0" # название внешнего интерфейса, # принадлежащего глобальной сети ################################################################# # Нет ограничений на внутреннем интерфейсе локальной сети # Нет необходимости в этом, если у вас нет локальной сети. # Замените xl0 на название интерфейса вашей локальной сети ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # Нет ограничений на интерфейсе Loopback ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Разрешить пакет, если он был ранее добавлен в "динамическую" # таблицу при помощи выражения allow keep-state ################################################################# $cmd 00015 check-state ################################################################# # Раздел правил для исходящего трафика на внешнем интерфейсе # Анализ запросов начала сессии, идущих из-за межсетевого экрана # в локальную сеть или от этого шлюза в интернет. ################################################################# # Разрешить исходящий трафик к DNS серверу провайдера # x.x.x.x должен быть IP адресом DNS сервера вашего провайдера # Продублируйте эти строки, если у вас больше одного DNS сервера # Эти IP адреса можно взять из файла /etc/resolv.conf $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state # Разрешить исходящий трафик к DHCP серверу провайдера для cable/DSL конфигураций. # Это правило не нужно для .user ppp. соединений с глобальной сетью # в этом случае вы можете удалить эти правила. # Используйте это правило для записи необходимого нам IP адреса в лог-файл. # Затем укажите IP адрес в закомментированном правиле и удалите первое правило. $cmd 00120 allow log udp from any to any 67 out via $pif keep-state #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state # Разрешить исходящий трафик для незащищенного www соединения $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state # Разрешить исходящий трафик для защищенного www соединения # https с поддержкой TLS и SSL $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state # Разрешить исходящий POP/SMTP $cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state $cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state # Разрешить исходящий трафик для FreeBSD (make install & CVSUP) # По сути назначаем пользователю root полные привилегии. $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root # Разрешаем исходящий icmp ping $cmd 00250 allow icmp from any to any out via $pif keep-state # Разрешаем исходящий трафик Time $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state # Разрешаем исходящий трафик nntp news $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state # Разрешаем исходящий защищённый трафик FTP, Telnet и SCP # Эта функция использует SSH (secure shell) $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state # Разрешаем исходящий трафик whois $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state # Запрещаем и заносим в журнал остальной исходящий трафик. # Обеспечивает политику межсетевого экрана закрытого типа $cmd 00299 deny log all from any to any out via $pif ################################################################# # Раздел правил для входящего трафика на внешнем интерфейсе # Анализ пакетов, приходящих из глобальной сети, # предназначенных для этого шлюза или локальной сети ######################################################################## # Запрещаем весь входящий трафик с немаршрутизируемых сетей $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect $cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Запрещаем пинг извне $cmd 00310 deny icmp from any to any in via $pif # Запрещаем ident $cmd 00315 deny tcp from any to any 113 in via $pif # Запрещаем все Netbios службы. 137=name, 138=datagram, 139=session # Netbios это MS/Windows сервис обмена. # Блокируем MS/Windows hosts2 запросы сервера имен на порту 81 $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif $cmd 00322 deny tcp from any to any 139 in via $pif $cmd 00323 deny tcp from any to any 81 in via $pif # Запрещаем любые опоздавшие пакеты $cmd 00330 deny all from any to any frag in via $pif # Запрещаем ACK пакеты, которые не соответствуют динамической таблице правил. $cmd 00332 deny tcp from any to any established in via $pif # Разрешаем входящий трафик с DHCP сервера провайдера. Это правило # должно содержать IP адрес DHCP сервера вашего провайдера, поскольку # только ему разрешено отправлять пакеты данного типа. Необходимо только # для проводных и DSL соединений. Для 'user ppp' соединений с глобальной # сетью использовать это правило нет необходимости. Это тот же IP адрес, # выбранный и используемый вами в разделе правил для исходящего трафика. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state # Разрешить входящий трафик для www, так как я использую сервер apache $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Разрешить входящий трафик безопасных FTP, Telnet и SCP из глобальной сети $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Разрешить входящий нешифрованный трафик Telnet из глобальной сети # считается небезопасным, потому что ID и PW передаются через глобальную # сеть в открытом виде. # Удалите этот шаблон, если вы не используете telnet. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Отбрасываем и заносим в журнал все входящие соединения снаружи $cmd 00499 deny log all from any to any in via $pif # Всё остальное запрещено по умолчанию # Запрещаем и заносим в журнал все пакеты для дальнейшего анализа $cmd 00999 deny log all from any to any ################ Конец файла правил IPFW ###############################
Здесь перечислены некоторые дополнительные конфигурационные
параметры, которые нужно включить, чтобы активировать
функцию NAT в IPFW. В файл конфигурации
ядра к остальным параметрам IPFIREWALL нужно добавить строку
option IPDIVERT
.
В дополнение к обычным параметрам IPFW в
/etc/rc.conf
добавим следующее:
natd_enable="YES" # Включить функцию NATD natd_interface="rl0" # Название внешнего сетевого интерфейса natd_flags="-dynamic -m" # -m = по возможности сохранить номера портов
Использование динамических правил с правилом
divert natd
(Network Address Translation)
значительно затрудняет логику составления правил. Расположение
check-state
и divert natd
в таблице правил влияет на поведение межсетевого экрана.
Это уже не просто последовательный логический поток. При
применении вышеозначенных параметров становится доступным
новый тип действия skipto
. При использовании
skipto
нумерация правил становится
обязательной. В качестве аргумента skipto
используется номер правила, к которому нужно перейти.
Ниже последует пример метода кодирования, не снабженный комментариями, приведенный здесь для внесения ясности относительно последовательности прохождения пакетов через набор правил.
Обработка правил начинается с первого по счету и идет
последовательно, по правилу за раз, до достижения конца файла,
либо если проверяемый пакет соответствует критериям фильтрации;
в последнем случае пакет покидает межсетевой экран. Для правил
под номерами 100, 101, 450, 500 и 510 важен порядок их
расположения. Эти правила управляют трансляцией исходящих и
входящих пакетов, таким образом в таблицу keep-state заносятся
только приватные IP адреса локальной сети. Обратите внимание,
что все правила allow и deny указывают направление, по которому
передается пакет (исходящее или входящее) и сетевой интерфейс.
Также стоит отметить, что все запросы начала исходящей сессии
передаются с использованием skipto rule 500
для трансляции адресов.
Предположим, что пользователь локальной сети запрашивает
страницу через браузер. Веб-страницы передаются по порту 80.
Пакет входит в межсетевой экран. Этот пакет не попадает под
правило 100, потому что в критериях фильтрации этого правила
указан параметр in
. Этот пакет не попадает
под правило 101, потому что это первый пакет сессии и он еще
не был занесен в динамическую таблицу keep-state. Достигнув,
наконец, правила 125, пакет удовлетворяет всем критериям
фильтрации. Этот пакет является выходящим из интерфейса,
взаимодействующим с глобальной сетью. На данном этапе у
пакета в качестве исходящего адреса всё еще указан приватный
IP адрес локальной сети. По условию этого правила к пакету
применяются два действия. Параметр keep-state
создаст новую запись в динамической таблице keep-state, и
выполнится действие, указанное в правиле. Указанное действие
является частью информации, заносимой в динамическую таблицу.
В данном случае это skipto rule 500
.
Правило 500 транслирует (NAT) адреса пакета
и отпускает его наружу. Данное замечание очень важно. Этот
пакет идет к цели, где генерируется ответный пакет и отправляется
обратно. Этот новый пакет входит в начало списка правил.
На этот раз пакет соответствует правилу 100 и его IP адрес
назначения транслируется обратно на соответствующий IP адрес
локальной сети. Затем он обрабатывается правилом
check-state
, и поскольку для него уже
присутствует в динамической таблице правило, соответствующее
данной сессии, пакет пропускается в локальную сеть. Дальше
пакет приходит к отправившему его компьютеру локальной сети,
и генерируется новый пакет, запрашивающий новую порцию данных
с удаленного сервера. На этот раз пакет сразу проверяется
правилом check-state
, и в случае присутствия
исходящей записи данного пакета выполняется действие
skipto 500
. Пакет переходит к правилу
500, транслируется и пропускается во внешнюю сеть.
Для входящего трафика все пакеты, являющиеся частью уже
установленной сессии, автоматически разбираются правилом
check-state
и правильно расположенными
правилами divert natd
. Всё, что нам
остается сделать, это запретить все плохие пакеты и разрешить
прохождение внутрь сети пакетов только для разрешенных сервисов.
Допустим, на сервере с межсетевым экраном запущен apache, и
мы хотим разрешить людям из глобальной сети доступ на локальный
веб-сайт. Новый входящий пакет, запрашивающий начало сессии,
соответствует правилу 100, и его IP адрес транслируется как
локальный IP системы с межсетевым экраном. Далее пакет
проверяется на соответствие вредоносному трафику и в случае
отсутствия соответствия попадает на правило 425. В случае
соответствия данному правилу происходят две вещи. Пакет
правил помещается в динамическую таблицу keep-state, но в
этот раз любая новая сессия запросов, порожденных с этого IP,
ограничена 2 одновременными соединениями. Это защищает от
перегрузки сервис, работающей по указанному номеру порта.
В качестве действия в правиле указан allow
,
следовательно пакет пропускается в локальную сеть. Пакет,
сформированный в качестве ответа, попадает под
check-state
и распознается им как
принадлежащий существующей сессии. Далее он передаётся на
правило 500, где происходит обратная трансляция, после чего
пакет пропускается на внешний интерфейс.
Пример файла правил #1:
#!/bin/sh cmd="ipfw -q add" skip="skipto 500" pif=rl0 ks="keep-state" good_tcpo="22,25,37,43,53,80,443,110,119" ipfw -q -f flush $cmd 002 allow all from any to any via xl0 # разрешаем трафик на локальном интерфейсе $cmd 003 allow all from any to any via lo0 # разрешаем трафик на интерфейсе loopback $cmd 100 divert natd ip from any to any in via $pif $cmd 101 check-state # Разрешенные исходящие пакеты $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks $cmd 130 $skip icmp from any to any out via $pif $ks $cmd 135 $skip udp from any to any 123 out via $pif $ks # Запрещаем весь входящий трафик с немаршрутизируемых адресных пространств $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 для локальных IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 для локальных IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 для локальных IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP авто-конфигурации $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #Зарезервировано для документации $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Разрешаем входящие пакеты $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks $cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1 $cmd 450 deny log ip from any to any # Раздел skipto для правил с сохранением состояния для исходящих пакетов $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## Окончание файла правил ##################
Следующий пример во многом повторяет то, что приведено выше, но использует самодокументирующий стиль записи с исчерпывающими комментариями для того, чтобы помочь начинающему составителю правил IPFW лучше понимать, для чего предназначено то или иное правило.
Пример файла правил #2:
#!/bin/sh ################ Начало файла правил IPFW ############################### # Сброс всех правил перед началом работы скрипта. ipfw -q -f flush # Задание стандартных переменных cmd="ipfw -q add" skip="skipto 800" pif="rl0" # название внешнего интерфейса, # принадлежащего глобальной сети ################################################################# # Нет ограничений на внутреннем интерфейсе локальной сети # Замените xl0 на название интерфейса вашей локальной сети ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # Нет ограничений на интерфейсе Loopback ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # Трансляция адреса, если пакет является входящим ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Разрешить пакет, если он был ранее добавлен в динамическую # таблицу при помощи выражения allow keep-state ################################################################# $cmd 015 check-state ################################################################# # Раздел правил для исходящего трафика на внешнем интерфейсе # Анализ запросов начала сессии, идущих из-за межсетевого экрана # в локальную сеть или от этого шлюза в интернет. ################################################################# # Разрешить исходящий трафик к DNS серверу провайдера # x.x.x.x должен быть IP адресом DNS сервера вашего провайдера # Продублируйте эти строки, если у вас больше одного DNS сервер # Эти IP адреса можно взять из файла /etc/resolv.conf $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state # Разрешить исходящий трафик к DHCP серверу провайдера для cable/DSL конфигураций. $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state # Разрешить исходящий трафик для незащищенного www соединения $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state # Разрешить исходящий трафик для защищенного www соединения # https с поддержкой TLS и SSL $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state # Разрешить исходящий POP/SMTP $cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state $cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state # Разрешить исходящий трафик для FreeBSD (make install & CVSUP) # По сути назначаем пользователю root полные привилегии. $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root # Разрешаем исходящий icmp ping $cmd 080 $skip icmp from any to any out via $pif keep-state # Разрешаем исходящий трафик Time $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state # Разрешаем исходящий трафик nntp news (т.е. news groups) $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state # Разрешаем исходящий защищённый трафик FTP, Telnet и SCP # Эта функция использует SSH (secure shell) $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state # Разрешаем исходящий трафик whois $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state # Разрешаем исходящий трафик ntp $cmd 130 $skip udp from any to any 123 out via $pif keep-state ################################################################# # Раздел правил для входящего трафика на внешнем интерфейсе # Анализ пакетов, приходящих из глобальной сети, # предназначенных для этого шлюза или локальной сети ################################################################# # Запрещаем весь входящий трафик с немаршрутизируемых сетей $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Запрещаем ident $cmd 315 deny tcp from any to any 113 in via $pif # Запрещаем все Netbios службы. 137=name, 138=datagram, 139=session # Netbios это MS/Windows сервис обмена. # Блокируем MS/Windows hosts2 запросы сервера имен на порту 81 $cmd 320 deny tcp from any to any 137 in via $pif $cmd 321 deny tcp from any to any 138 in via $pif $cmd 322 deny tcp from any to any 139 in via $pif $cmd 323 deny tcp from any to any 81 in via $pif # Запрещаем любые опоздавшие пакеты $cmd 330 deny all from any to any frag in via $pif # Запрещаем ACK пакеты, которые не соответствуют динамической таблице правил. $cmd 332 deny tcp from any to any established in via $pif # Разрешаем входящий трафик с DHCP сервера провайдера. Это правило # должно содержать IP адрес DHCP сервера вашего провайдера, поскольку # только ему разрешено отправлять пакеты данного типа. Необходимо только # для проводных и DSL соединений. Для 'user ppp' соединений с глобальной # сетью использовать это правило нет необходимости. Это тот же IP адрес, # выбранный и используемый вами в разделе правил для исходящего трафика. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state # Разрешить входящий трафик для www, т.к. я использую Apache сервер. $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Разрешить входящий трафик безопасных FTP, Telnet и SCP из глобальной сети $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Разрешить входящий нешифрованный трафик Telnet из глобальной сети # считается небезопасным, потому что ID и PW передаются через глобальную # сеть в открытом виде. # Удалите этот шаблон, если вы не используете telnet. $cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Отбрасываем и заносим в журнал все неразрешенные входящие соединения из глобальной сети $cmd 400 deny log all from any to any in via $pif # Отбрасываем и заносим в журнал все неразрешенные исходящие соединения в глобальную сеть $cmd 450 deny log all from any to any out via $pif # Место для skipto в правилах с сохранением состояния для исходящих соединений $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Всё остальное запрещено по умолчанию # Запрещаем и заносим в журнал все пакеты для дальнейшего анализа $cmd 999 deny log all from any to any ################ Окончание файла правил IPFW ###############################
Эта глава охватывает множество различных сетевых тематик повышенной сложности.
После чтения этой главы вы будете знать:
Основные понятия о маршрутизации и маршрутах.
Как настроить IEEE 802.11 и Bluetooth(R).
Как заставить FreeBSD работать в качестве сетевого моста.
Как настроить загрузку по сети для бездисковой машины.
Как настроить трансляцию сетевых адресов.
Как соединить два компьютера посредством PLIP.
Как настроить IPv6 на машине FreeBSD.
Как настроить ATM.
Перед чтением этой главы вы должны:
Понимать основы работы скриптов
/etc/rc
.
Свободно владеть основными сетевыми терминами.
Знать как настраивать и устанавливать новое ядро FreeBSD (Глава 9, Настройка ядра FreeBSD).
Знать как устанавливать дополнительное программное обеспечение сторонних разработчиков (Глава 5, Установка приложений: порты и пакеты).
Чтобы некоторая машина могла найти в сети другую, должен иметься механизм описания того, как добраться от одной машине к другой. Такой механизм называется маршрутизацией. <<Маршрут>> задаётся парой адресов: <<адресом назначения>> (destination) и <<сетевым шлюзом>> (gateway). Эта пара указывает на то, что если Вы пытаетесь соединиться с адресом назначения, то вам нужно устанавливать связь через <<сетевой шлюз>>. Существует три типа адресов назначения: отдельные хосты, подсети и <<маршрут по умолчанию>> (default). <<Маршрут по умолчанию>> (default route) используется, если не подходит ни один из других маршрутов. Мы поговорим немного подробнее о маршрутах по умолчанию позже. Также имеется и три типа сетевых шлюзов: отдельные хосты, интерфейсы (также называемые <<подключениями>> (links)) и аппаратные адреса Ethernet (MAC-адреса).
Для иллюстрации различных аспектов маршрутизации мы будем
использовать следующий пример использования команды
netstat
:
%
netstat -r
Routing tables Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 10.20.30.255 link#1 UHLW 1 2421 example.com link#1 UC 0 0 host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 224 link#1 UC 0 0
В первых двух строках задаются маршрут по умолчанию (который
будет описан в следующем
разделе) и маршрут на localhost
.
Интерфейс (колонка Netif
), который указан в
этой таблице маршрутов для использования с
localhost
и который назван
lo0
, имеет также второе название, устройство
loopback. Это значит сохранение всего трафика для указанного адреса
назначения внутри, без посылки его по сети, так как он все равно
будет направлен туда, где был создан.
Следующими выделяющимися адресами являются адреса, начинающиеся с
0:e0:...
. Это аппаратные адреса Ethernet,
или MAC-адреса. FreeBSD будет автоматически распознавать любой хост
(в нашем примере это test0
) в локальной сети Ethernet
и добавит маршрут для этого хоста, указывающий непосредственно на
интерфейс Ethernet, ed0
. С этим типом
маршрута также связан параметр таймаута (колонка
Expire
), используемый в случае неудачной попытки
услышать этот хост в течении некоторого периода времени. Если такое
происходит, то маршрут до этого хоста будет автоматически удалён.
Такие хосты поддерживаются
при помощи механизма, известного как RIP (Routing Information
Protocol), который вычисляет маршруты к хостам локальной сети при
помощи определения кратчайшего расстояния.
FreeBSD добавит также все маршруты к подсетям для локальных
подсетей (10.20.30.255
является
широковещательным адресом для подсети 10.20.30
, а имя example.com
является именем домена, связанным
с этой подсетью). Назначение link#1
соответствует
первому адаптеру Ethernet в машине. Отметьте отсутствие
дополнительного интерфейса для этих строк.
В обеих этих группах (хосты и подсети локальной сети) маршруты конфигурируются автоматически даемоном, который называется routed. Если он не запущен, то будут существовать только статически заданные (то есть введенные явно) маршруты.
Строка host1
относится к нашему хосту, который
известен по адресу Ethernet. Так как мы являемся посылающим хостом,
FreeBSD знает, что нужно использовать loopback-интерфейс
(lo0
) вместо того, чтобы осуществлять
посылку в интерфейс Ethernet.
Две строки host2
являются примером того, что
происходит при использовании алиасов в команде ifconfig(8)
(обратитесь к разделу об Ethernet для объяснения того, почему мы это
делаем). Символ =>
после интерфейса
lo0
указывает на то, что мы используем не
просто интерфейс loopback (так как это адрес, обозначающий локальный
хост), но к тому же это алиас. Такие маршруты появляются только
на хосте, поддерживающем алиасы; для всех остальных хостов в локальной
сети для таких маршрутов будут показаны просто строчки
link#1
.
Последняя строчка (подсеть назначения 224
) имеет отношение к многоадресной посылке,
которая будет рассмотрена в другом разделе.
И наконец, различные атрибуты каждого маршрута перечисляются в
колонке Flags
. Ниже приводится краткая таблица
некоторых из этих флагов и их значений:
U | Up: Маршрут актуален. |
H | Host: Адресом назначения является отдельный хост. |
G | Gateway: Посылать все для этого адреса назначения на указанную удаленную систему, которая будет сама определять дальнейший путь прохождения информации. |
S | Static: Маршрут был настроен вручную, а не автоматически сгенерирован системой. |
C | Clone: Новый маршрут сгенерирован на основе указанного для машин, к которым мы подключены. Такой тип маршрута обычно используется для локальных сетей. |
W | WasCloned: Указывает на то, что маршрут был автоматически сконфигурирован на основе маршрута в локальной сети (Clone). |
L | Link: Маршрут включает ссылку на аппаратный адрес Ethernet. |
Когда локальной системе нужно установить соединение с удаленным хостом, она обращается к таблице маршрутов для того, чтобы определить, существует ли такой маршрут. Если удаленный хост попадает в подсеть, для которой известен способ ее достижения (маршруты типа Cloned), то система определяет возможность подключиться к ней по этому интерфейсу.
Если все известные маршруты не подходят, у системы имеется
последняя возможность: маршрут <<default>>. Это маршрут
с особым типом сетевого шлюза (обычно единственным, присутствующим
в системе), и в поле флагов он всегда помечен как c
.
Для хостов в локальной сети этот сетевой шлюз указывает на машину,
имеющую прямое подключение к внешнему миру (неважно, используется ли
связь по протоколу PPP, канал DSL, кабельный модем, T1 или какой-то
другой сетевой интерфейс).
Если вы настраиваете маршрут по умолчанию на машине, которая сама является сетевым шлюзом во внешний мир, то маршрутом по умолчанию будет являться сетевой шлюз у Вашего провайдера Интернет (ISP).
Давайте взглянем на примеры маршрутов по умолчанию. Вот типичная конфигурация:
Хосты Local1
и Local2
находятся в
нашей сети. Local1
подключён к ISP через
коммутируемое соединение по протоколу PPP. Этот компьютер с сервером
PPP подключён посредством локальной сети к другому шлюзовому компьютеру
через внешний интерфейс самого ISP к Интернет.
Маршруты по умолчанию для каждой из ваших машин будут следующими:
Хост | Маршрут по умолчанию | Интерфейс |
---|---|---|
Local2 | Local1 | Ethernet |
Local1 | T1-GW | PPP |
Часто задаётся вопрос <<Почему (или каким образом) в качестве
шлюза по умолчанию для машины Local1
мы указываем
T1-GW
, а не сервер провайдера, к которому
подключаемся?>>.
Запомните, что из-за использования PPP-интерфейсом адреса в сети
провайдера Интернет с вашей стороны соединения, маршруты для всех
других машин в локальной сети провайдера будут сгенерированы
автоматически. Таким образом, вы уже будете знать, как достичь машины
T1-GW
, так что нет нужды в промежуточной точке при
посылке трафика к серверу ISP.
В локальных сетях адрес X.X.X.1
часто используется в качестве адреса
сетевого шлюза. Тогда (при использовании того же самого примера)
если пространство адресов класса C вашей локальной сети было задано
как 10.20.30
, а ваш провайдер использует
10.9.9
, то маршруты по умолчанию будут
такие:
Хост | Маршрут по умолчанию |
---|---|
Local2 (10.20.30.2) | Local1 (10.20.30.1) |
Local1 (10.20.30.1, 10.9.9.30) | T1-GW (10.9.9.1) |
Вы можете легко задать используемый по умолчанию маршрутизатор
посредством файла /etc/rc.conf
. В нашем примере
на машине Local2
мы добавили такую строку в файл
/etc/rc.conf
:
defaultrouter="10.20.30.1"
Это также возможно сделать и непосредственно из командной строки при помощи команды route(8):
#
route add default 10.20.30.1
Для получения дополнительной информации об управлении таблицами маршрутизации обратитесь к справочной странице по команде route(8).
Есть еще один тип подключения, который мы должны рассмотреть, и это случай, когда хост находится в двух различных сетях. Технически, любая машина, работающая как сетевой шлюз (в примере выше использовалось PPP-соединение), считается хостом с двойным подключением. Однако этот термин реально используется для описания машины, находящейся в двух локальных сетях.
В одном случае у машины имеется два адаптера Ethernet, каждый имеющий адрес в разделенных подсетях. Как альтернативу можно рассмотреть вариант с одним Ethernet-адаптером и использованием алиасов в команде ifconfig(8). В первом случае используются два физически разделённые сети Ethernet, в последнем имеется один физический сегмент сети, но две логически разделённые подсети.
В любом случае таблицы маршрутизации настраиваются так, что для каждой подсети эта машина определена как шлюз (входной маршрут) в другую подсеть. Такая конфигурация, при которой машина выступает в роли маршрутизатора между двумя подсетями, часто используется, если нужно реализовать систему безопасности на основе фильтрации пакетов или функций брандмауэра в одном или обоих направлениях.
Если вы хотите, чтобы эта машина действительно перемещала пакеты между двумя интерфейсами, то вам нужно указать FreeBSD на включение этой функции. Обратитесь к следующей главе, чтобы узнать, как это сделать.
Сетевой маршрутизатор является обычной системой, которая
пересылает пакеты с одного интерфейса на другой. Стандарты Интернет и
хорошая инженерная практика не позволяют Проекту FreeBSD включать эту
функцию по умолчанию во FreeBSD. Вы можете включить эту возможность,
изменив значение следующей переменной в YES
в файле
rc.conf(5):
gateway_enable=YES # Set to YES if this host will be a gateway
Этот параметр изменит значение sysctl(8)-переменной
net.inet.ip.forwarding
в
1
. Если вам временно нужно выключить маршрутизацию,
вы можете на время сбросить это значение в 0
.
Вашему новому маршрутизатору нужна информация о маршрутах для того, чтобы знать, куда пересылать трафик. Если ваша сеть достаточно проста, то вы можете использовать статические маршруты. С FreeBSD также поставляется стандартный даемон BSD для маршрутизации routed(8), который умеет работать с RIP (как версии 1, так и версии 2) и IRDP. Поддержка BGP v4, OSPF v2 и других сложных протоколов маршрутизации имеется в пакете net/zebra. Также существуют и коммерческие продукты, применяемые как более комплексное решение проблемы маршрутизации в сети, такие как GateD(R).
Предположим, что у нас есть следующая сеть:
В этом сценарии, RouterA
это наш
компьютер с FreeBSD, который выступает в качестве
маршрутизатора в сеть Интернет. Его маршрут по умолчанию
настроен на 10.0.0.1
, что позволяет ему
соединяться с внешним миром. Мы будем предполагать, что
RouterB
уже правильно настроен и
знает все необходимые маршруты (на этом рисунке все
просто; добавьте на RouterB
маршрут
по умолчанию, используя 192.168.1.1
в качестве шлюза).
Если мы посмотрим на таблицу маршрутизации
RouterA
, то увидим примерно следующее:
%
netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.1 UGS 0 49378 xl0 127.0.0.1 127.0.0.1 UH 0 6 lo0 10.0.0/24 link#1 UC 0 0 xl0 192.168.1/24 link#2 UC 0 0 xl1
С текущей таблицей маршрутизации RouterA
не сможет достичь внутренней сети 2 (Internal Net 2).
Один из способов обхода этой проблемы - добавление
маршрута вручную. Следующая команда добавляет
внутреннюю сеть 2 к таблице маршрутизации
RouterA
с 192.168.1.2
в качестве следующего
узла:
#
route add -net 192.168.2.0/24 192.168.1.2
Теперь RouterA
сможет достичь любого хоста
в сети
192.168.2.0/24
.
Предыдущий пример прекрасно подходит для настройки статического
маршрута в работающей системе. Однако, проблема заключается в
том, что маршрутная информация не сохранится после перезагрузки
FreeBSD. Способ сохранения добавленного маршрута заключается в
добавлении его в файл /etc/rc.conf
:
# Добавление статического маршрута в Internal Net 2 static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2"
В переменной static_routes
находятся
строки, разделенные пробелами. Каждая строка означает имя
маршрута. В примере выше в static_routes
есть только одна строка, это
internalnet2
. Затем мы добавили
переменную
route_
,
куда помещены все параметры, которые необходимо передать
команде route(8). В примере выше была использована
команда:internalnet2
#
route add -net 192.168.2.0/24 192.168.1.2
поэтому нам потребуется
"-net 192.168.2.0/24 192.168.1.2"
.
Как было сказано выше, мы можем добавить в
static_routes
более чем одну строку.
Это позволит создать несколько статических маршрутов.
В следующем примере показано добавление маршрутов для сетей 192.168.0.0/24
и 192.168.1.0/24
(этот маршрутизатор не
показан на рисунке выше:
static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1"
Мы уже говорили о том, как мы задаем наши маршруты во внешний мир, но не упоминали о том, как внешний мир находит нас.
Мы уже знаем, что таблицы маршрутизации могут быть настроены так, что весь трафик для некоторого диапазона адресов (в нашем примере это подсеть класса C) может быть направлен заданному хосту в той сети, которая будет перенаправлять входящие пакеты дальше.
При получении адресного пространства, выделенного Вашей сети, Ваш провайдер настроит свои таблицы маршрутизации так, что весь трафик для Вашей подсети будет пересылаться по PPP-соединению к Вашей сети. Но как серверы по всей стране узнают, что Ваш трафик нужно посылать Вашему ISP?
Существует система (подобная распределению информации DNS), которая отслеживает все назначенные пространства адресов и определяет точку подключения к магистрали Интернет. <<Магистралью>> называют главные каналы, по которым идет трафик Интернет внутри страны и по всему миру. Каждая магистральная машина имеет копию основного набора таблиц, согласно которой трафик для конкретной сети направляется по конкретному магистральному каналу, и затем, передаваясь по цепочке провайдеров, он достигает вашей сети.
Задачей вашего провайдера является объявить на магистрали о том, что он отвечает за подключение (и поэтому на него указывает маршрут) вашей сети. Этот процесс называется распространением маршрута.
Иногда с распространением маршрута возникают проблемы, и некоторые сайты не могут к вам подключиться. Наверное, самой полезной командой для определения точки неверной работы маршрутизации является traceroute(8). Она также полезна и когда вы сами не можете подключиться к удаленной машине (то есть команда ping(8) не срабатывает).
Команда traceroute(8) запускается с именем удаленного хоста, с которым вы хотите установить соединение, в качестве параметра. Она показывает промежуточные сетевые шлюзы по пути следования, в конце концов достигая адрес назначения или прерывая свою работу из-за отсутствия соединения.
За дополнительной информацией обратитесь к странице Справочника по traceroute(8).
FreeBSD изначально поддерживает как приложения, работающие с многоадресным трафиком, так и его маршрутизацию. Такие приложения не требуют особой настройки FreeBSD; обычно они работают сразу. Для маршрутизации многоадресного трафика требуется, чтобы поддержка этого была включена в ядро:
options MROUTING
Кроме того, даемон многоадресной маршрутизации, mrouted(8),
должен быть настроен посредством файла
/etc/mrouted.conf
на использование туннелей и
DVMRP. Дополнительную информацию о настройки
многоадресного трафика
можно найти на страницах справочной системы, посвящённых даемону
mrouted(8).
Было бы весьма полезным иметь возможность использовать компьютер без хлопот, связанных с постоянно подключенным сетевым кабелем. FreeBSD может использоваться как клиент беспроводной сети, и даже в качестве <<точки доступа>> к ней.
Существуют два варианта конфигурации устройств беспроводного доступа 802.11: BSS и IBSS.
Режим BSS является наиболее часто используемым. Режим BSS также называют режимом инфраструктуры. В этом режиме несколько точек доступа беспроводной сети подключаются к проводной сети передачи данных. Каждое беспроводная сеть имеет собственное имя. Это имя является идентификатором SSID сети.
Клиенты беспроводной сети подключаются к этим точкам доступа беспроводной сети. Стандарт IEEE 802.11 определяет протокол, используемый для связи в беспроводных сетях. Клиент сети беспроводного доступа может подключаться к некоторой сети, если задан её SSID. Клиент может также подключаться к любой сети, если SSID не задан.
Режим IBSS, также называемый ad-hoc, предназначен для соединений точка-точка. На самом деле существуют два типа режима ad-hoc. Один из них является режимом IBSS, называемый также режимом ad-hoc или IEEE ad-hoc. Этот режим определён стандартами IEEE 802.11. Второй режим называется демонстрационным режимом ad-hoc, или Lucent ad-hoc (или, иногда неправильно, режимом ad-hoc). Это старый, существовавший до появления 802.11, режим ad-hoc, и он должен использоваться только для старых сетей. В дальнейшем мы не будем рассматривать ни один из режимов ad-hoc.
Точки доступа представляют собой беспроводные сетевые устройства, позволяющие одному или большему количеству клиентов беспроводной сети использовать эти устройства в качестве центрального сетевого концентратора. При использовании точки доступа все клиенты работают через неё. Зачастую используются несколько точек доступа для полного покрытия беспроводной сетью некоторой зоны, такой, как дом, офис или парк.
Точки доступа обычно имеют несколько подключений к сети: адаптер беспроводной связи и один или большее количество сетевых ethernet-адаптеров для подключения к остальной части сети.
Точки доступа могут быть либо приобретены уже настроенными, либо вы можете создать собственную при помощи FreeBSD и поддерживаемого адаптера беспроводной связи. Несколько производителей выпускают точки беспроводного доступа и адаптеры беспроводной связи с различными возможностями.
Для того, чтобы создать беспроводную точку доступа на FreeBSD, вам нужно иметь совместимый адаптер беспроводной связи. На данный момент поддерживаются адаптеры только на основе набора микросхем Prism. Вам также потребуется поддерживаемый FreeBSD адаптер проводной сети (найти такой будет нетрудно, FreeBSD поддерживает множество различных устройств). В этом руководстве мы будем полагать, что вы будете строить сетевой мост (bridge(4)) для пропуска всего трафика между устройством беспроводной связи и сетью, подключенной к обычному Ethernet-адаптеру.
Функциональность hostap, которая используется FreeBSD для организации точки доступа, работает лучше всего с некоторыми версиями микрокода. Адаптеры Prism 2 должны использовать микрокод версии 1.3.4 или более новый. Адаптеры Prism 2.5 и Prism 3 должны использовать микрокод версии 1.4.9. Более старые версии микрокода могут работать нормально, а могут и некорректно. В настоящее время единственным способом обновления адаптеров является использование утилит обновления для Windows(R), которые можно получить у производителя ваших адаптеров.
Первым делом убедитесь, что ваша система распознаёт адаптер беспроводной связи:
#
ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 ether 00:09:2d:2d:c9:50 media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) status: no carrier ssid "" stationname "FreeBSD Wireless node" channel 10 authmode OPEN powersavemode OFF powersavesleep 100 wepmode OFF weptxkey 1
На данном этапе не беспокойтесь о деталях, просто убедитесь, что выдаётся нечто, указывающее на установленный адаптер беспроводной связи. Если при этом у вас есть проблемы с недоступностью интерфейса беспроводной связи, и вы используете PC Card, то обратитесь к страницам справочной системы, описывающим pccardc(8) и pccardd(8) для получения более полной информации.
Теперь вам нужно загрузить модуль для подготовки той части FreeBSD, что отвечает за организацию сетевых мостов, для работы с точкой доступа. Для загрузки модуля bridge(4) просто выполните следующую команду:
#
kldload bridge
При загрузке модуля никаких сообщений об ошибках быть не должно. Если это всё же произошло, вам может потребоваться вкомпилировать код для модуля bridge(4) в ядро. В этом вам должен помочь раздел этого Руководства об организации сетевых мостов.
Теперь, когда вы завершили с той частью, что касается организации сетевого моста, нам нужно указать ядру FreeBSD, какие интерфейсы должны объединяться в сетевом мосте. Это мы делаем при помощи sysctl(8):
#
sysctl net.link.ether.bridge.enable=1
#
sysctl net.link.ether.bridge.config="wi0 xl0"
#
sysctl net.inet.ip.forwarding=1
В версиях FreeBSD, предшествующих 5.2, вместо указанных нужно использовать следующие параметры:
#
sysctl net.link.ether.bridge=1
#
sysctl net.link.ether.bridge_cfg="wi0,xl0"
#
sysctl net.inet.ip.forwarding=1
Теперь необходимо настроить адаптер беспроводной сети. Следующая команда заставит адаптер работать в режиме точки доступа:
#
ifconfig wi0 ssid
my_net
channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP
"
Строчка ifconfig(8) активизирует интерфейс
wi0
, конфигурирует его SSID как
my_net
, а имя станции как
FreeBSD AP
.
media DS/11Mbps
переводит адаптер в
режим 11Mbps и нужен только для того, чтобы сработал параметр
mediaopt
. Параметр mediaopt
hostap
переводит интерфейс в режим точки доступа.
Параметр channel 11
задаёт использование канала
802.11b. Страница справки по команде wicontrol(8) перечисляет
корректные значения каналов для ваших нужд.
Теперь у вас должна получиться полнофункциональная работающая точка доступа. Настоятельно советуем прочесть страницы справочной по wicontrol(8), ifconfig(8), и wi(4) для получения дополнительной информации.
Также полагаем, что вы прочтёте следующий раздел о шифровании.
После того, как точка доступа сконфигурирована и начала свою работу, операторам может понадобиться видеть клиентов, связанных с этой точкой. В любой момент оператор может набрать:
#
wicontrol -l
1 station: 00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15
Это показывает, что имеется одна связанная станция с перечисленными характеристиками. Выдаваемое значение сигнала должно использоваться только как сравнительный индикатор его силы. Его перевод в dBm или другие единицы измерения различаются в разных версиях микрокода.
Клиент в беспроводной сети представляет собой систему, которая обращается к точке доступа или непосредственно к другому клиенту.
Как правило, клиенты беспроводной сети имеют только один сетевой адаптер, а именно адаптер беспроводной сети.
Существует несколько различных способов конфигурации клиента беспроводной сети. Они основаны на различных режимах работы в беспроводной сети, обычно BSS (режим инфраструктуры, который требует точки доступа) или IBSS (ad-hoc или режим одноранговой сети). В нашем примере мы будем использовать самый популярный их них, режим BSS, для связи с точкой доступа.
Существует только одно жёсткое условие для настройки FreeBSD в качестве клиента беспроводной сети. Вам нужен адаптер беспроводной связи, поддерживаемый FreeBSD.
Перед тем, как подключиться к беспроводной сети, вам нужно
будет узнать о ней несколько вещей. В этом примере мы подключаемся
к сети, которая называется my_net
,
и шифрование в ней отключено.
В этом примере мы не используем шифрование, но это небезопасно. В следующем разделе вы узнаете, как её включить, почему это так важно, и почему некоторые технологии шифрования всё же не могут полностью обеспечить вашу информационную безопасность.
Удостоверьтесь, что ваш адаптер распознаётся во FreeBSD:
#
ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 ether 00:09:2d:2d:c9:50 media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) status: no carrier ssid "" stationname "FreeBSD Wireless node" channel 10 authmode OPEN powersavemode OFF powersavesleep 100 wepmode OFF weptxkey 1
Теперь мы можем изменить настройки адаптера на те, что соответствуют нашей сети:
#
ifconfig wi0 inet
192.168.0.20
netmask255.255.255.0
ssidmy_net
Замените 192.168.0.20
и 255.255.255.0
на правильные IP-адрес и
сетевую маску в вашей проводной сети. Запомните, что наша точка
доступа выступает в роли моста для данных между беспроводной и
проводной сетями, так что они будут доступны для других устройств,
находящихся в сети, как будто они тоже находятся в проводной
сети.
Как только вы это выполнили, то сможете получить ping от хостов в проводной сети, как будто вы подключены посредством обычных проводов.
Если вы столкнулись с проблемами при работе в беспроводной сети, удостоверьтесь, что вы ассоциированы (подключены) с точкой доступа:
#
ifconfig wi0
должна выдать некоторую информацию, и вы должны увидеть:
status: associated
Если статус не будет соответствовать
associated
, это
может значить, что вы оказались вне зоны досягаемости точки
доступа, включили шифрование или, возможно, имеются проблемы с
конфигурацией.
Шифрование в беспроводной сети имеет важное значение, потому что у вас нет больше возможности ограничить сеть хорошо защищённой областью. Данные вашей беспроводной сети вещаются по всей окрестности, так что любой заинтересовавшийся может их считать. Вот здесь используется шифрование. Шифруя данные, посылаемые в эфир, вы делаете их прямой перехват гораздо более сложным для всех любопытных.
Двумя наиболее широко применяемыми способами шифрования данных между вашим клиентом и точкой доступа являются WEP и ipsec(4).
WEP является сокращением от Wired Equivalency Protocol (Протокол Соответствия Проводной сети). WEP является попыткой сделать беспроводные сети такими же надёжными и безопасными, как проводные. К сожалению, он был взломан и сравнительно легко поддаётся вскрытию. Это означает также, что он не тот протокол, на который следует опираться, когда речь идёт о шифровании критически важных данных.
Он лучше, чем ничего, так что используйте следующую команду для включения WEP в вашей новой точке доступа FreeBSD:
#
ifconfig wi0 inet up ssid
my_net
wepmode on wepkey0x1234567890
media DS/11Mbps mediaopt hostap
Вы можете включить WEP на клиенте следующей командой:
#
ifconfig wi0 inet
192.168.0.20
netmask255.255.255.0
ssidmy_net
wepmode on wepkey0x1234567890
Отметьте, что вы должны заменить
0x1234567890
на более уникальный ключ.
Имеется несколько утилит, которые можно использовать для настройки и отладки вашей беспроводной сети, и здесь мы попытаемся описать некоторые из них и что они могут делать.
Пакет bsd-airtools представляет собой полный набор инструментов, включая инструменты для проверки беспроводной сети на предмет взлома WEP-ключа, обнаружения точки доступа и тому подобное.
Утилиты bsd-airtools можно установить из порта net-mgmt/bsd-airtools. Информацию об установке портов можно найти в Главе Глава 5, Установка приложений: порты и пакеты этого Руководства.
Программа dstumbler
является инструментом,
предназначенным для обнаружения точки доступа и выдачи отношения
уровня сигнала к шуму. Если у вас с трудом получается запустить
точку доступа, dstumbler
может помочь вам
начать.
Для тестирования информационной безопасности вашей беспроводной
сети, вы можете воспользоваться набором <<dweputils>>
(dwepcrack
, dwepdump
и
dwepkeygen
), который может помочь
понять, является ли WEP подходящим решением для обеспечения ваших
потребностей в информационной безопасности.
Это инструменты, которые могут быть использованы для
управления поведением
адаптера беспроводной связи в сети. В примере выше мы выбирали
wicontrol(8), так как нашим адаптером беспроводной сети был
интерфейс wi0
. Если у вас установлено
устройство беспроводного доступа от Cisco, этим интерфейсом будет
an0
, и тогда вы будете
использовать ancontrol(8).
Команда ifconfig(8) может использоваться для установки многих из тех параметров, что задаёт wicontrol(8), однако работа с некоторыми параметрами в ней отсутствует. Обратитесь к ifconfig(8) для выяснения параметров и опций командной строки.
Единственными адаптерами, которые на данный момент поддерживаются в режиме BSS (как точка доступа), являются те устройства, что сделаны на основе набора микросхем Prism 2, 2.5 или 3). Полный список можно увидеть в wi(4).
Практически все адаптеры беспроводной связи 802.11b на данный момент во FreeBSD поддерживаются. Большинство адаптеров, построенных на основе Prism, Spectrum24, Hermes, Aironet и Raylink, будут работать в качестве адаптера беспроводной сети в режиме IBSS (ad-hoc, одноранговая сеть и BSS).
Драйвер устройства ath(4) поддерживает 802.11a и 802.11g. Если ваша карта основана на чипсете Atheros, вы можете использовать этот драйвер.
К сожалению, все еще много производителей, не предоставляющих схематику своих драйверов сообществу open source, поскольку эта информация считается торговым секретом. Следовательно, у разработчиков FreeBSD и других операционных систем остается два варианта: разработать драйверы долгим и сложным методом обратного инжиниринга, или использовать существующие драйверы для платформ Microsoft(R) Windows(R). Большинство разработчиков FreeBSD выбрали второй способ.
Благодаря усилиям Билла Пола (wpaul), начиная с FreeBSD 5.3-RELEASE существует <<прозрачная>> поддержка Network Driver Interface Specification (NDIS). FreeBSD NDISulator (известный также как Project Evil) преобразует бинарный драйвер Windows(R) так, что он работает так же как и в Windows(R). Эта возможность всё ещё относительно нова, но в большинстве тестов она работает адекватно.
Для использования NDISulator потребуются три вещи:
Исходные тексты ядра
Бинарный драйвер Windows(R) XP
(расширение .SYS
)
Файл конфигурации бинарного драйвера Windows(R) XP
(расширение .INF
)
Вам может потребоваться компиляция драйвера оболочки мини порта
ndis(4). Под root
:
#
cd /usr/src/sys/modules/ndis
#
make && make install
Определите местоположение файлов для вашей карты. Обычно
их можно найти на входящем в комплект CD или на Web-сайте
поставщика. В нашем примере используются файлы
W32DRIVER.SYS
и
W32DRIVER.INF
.
Следующий шаг это компиляция бинарного драйвера в
загружаемый модуль ядра. Чтобы сделать это, сначала зайдите в
каталог модуля if_ndis
и с правами
root
скопируйте туда драйверы
Windows(R):
#
cd /usr/src/sys/modules/if_ndis
#
cp
/path/to/driver/W32DRIVER.SYS
./#
cp
/path/to/driver/W32DRIVER.INF
./
Теперь используйте утилиту ndiscvt
для
создания заголовка определения драйвера
ndis_driver_data.h
перед сборкой
модуля:
#
ndiscvt -i
W32DRIVER.INF
-sW32DRIVER.SYS
-o ndis_driver_data.h
Параметры -i
и -s
задают
соответственно файл настройки и бинарный файл. Мы используем
параметр -o ndis_driver_data.h
, поскольку
Makefile
при создании модуля будет
обращаться именно к этому файлу.
Некоторым драйверам Windows(R) для работы требуются
дополнительные файлы. Вы можете включить их параметром
ndiscvt
-f
. Обратитесь
к странице справочной системы ndiscvt(8) за
дополнительной информацией.
Наконец, соберите и установите модуль драйвера:
#
make && make install
Для использования драйвера необходимо загрузить соответствующие модули:
#
kldload ndis
#
kldload if_ndis
Первая команда загружает оболочку драйвера мини-порта NDIS, вторая загружает собственно сетевой интерфейс. Проверьте dmesg(8) на предмет ошибок загрузки. Если все прошло хорошо, вывод должен быть примерно таким:
ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
Начиная с этого момента вы можете использовать устройство
ndis0
как любое другое беспроводное
устройство (например, wi0
);
в этой ситуации применима информация, приведенная в начале этой
главы.
Bluetooth является беспроводной технологией для создания персональных сетей на расстоянии не более 10 метров, работающей на частоте 2.4 ГГц, которая не подлежит лицензированию. Обычно такие сети формируются из портативных устройств, таких, как сотовые телефоны, КПК и лэптопы. В отличие от Wi-Fi, другой популярной беспроводной технологии, Bluetooth предоставляет более высокий уровень сервиса, например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию последовательного порта и другие.
Стек протоколов Bluetooth во FreeBSD реализован на основе технологии Netgraph (обратитесь к netgraph(4)). Широкий спектр USB-устройств Bluetooth поддерживается драйвером ng_ubt(4). Устройства Bluetooth на основе набора микросхем Broadcom BCM2033 поддерживается драйвером ng_bt3c(4). Устройства Bluetooth, работающие через последовательные и UART-порты, поддерживаются драйверами sio(4), ng_h4(4) и hcseriald(8). В этом разделе описывается использование Bluetooth-устройств, подключаемых через USB.
По умолчанию драйверы устройств Bluetooth поставляются в виде модулей ядра. Перед подключением устройства вам необходимо подгрузить драйвер в ядро:
#
kldload ng_ubt
Если Bluetooth-устройство в момент запуска системы подключено, то
загружайте модуль из файла
/boot/loader.conf
:
ng_ubt_load="YES"
Подключите ваше USB-устройство. На консоли (или в журнале syslog) появится примерно такое сообщение:
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294
Стек протоколов Bluetooth запускается вручную во FreeBSD 6.0, и во FreeBSD 5.X, перед 5.5. Это делается автоматически через devd(8) во FreeBSD 5.5, 6.1 и в более новых версиях.
Скопируйте файл
/usr/share/examples/netgraph/bluetooth/rc.bluetooth
в какое-нибудь подходящее место, например, в файл
/etc/rc.bluetooth
. Этот скрипт используется для
запуска и остановки работы Bluetooth-стека. Перед отключением
устройства рекомендуется остановить его работы, хотя (обычно) это не
фатально. При запуске стека вы получите сообщения, подобные
следующим:
#
/etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Hold mode> <Sniff mode> <Park mode> <RSSI> <Channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <Paging scheme> <Power control> <Transparent SCO data> Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8
Host Controller Interface (HCI) предоставляет интерфейс для управления контроллером передатчика и менеджером соединений, а также доступ к данным о состоянии оборудования и его управляющим регистрам. Этот интерфейс предоставляет унифицированный метод доступа к передающим возможностям Bluetooth. Уровень HCI на управляющей машине обменивается данными и командами с микрокодом HCI в оборудовании Bluetooth. Драйвер для Host Controller Transport Layer (то есть физической шины) предоставляет обоим слоям HCI возможность обмениваться данными друг с другом.
Для одного Bluetooth-устройства создаётся один узел Netgraph типа hci. HCI-узел обычно подключается к узлу драйвера устройства Bluetooth (входящий поток) и к узлу L2CAP (исходящий поток). Все операции с HCI должны выполняться на узле HCI, но не на узле драйвера устройства. В качестве имени по умолчанию для узла HCI используется <<devicehci>>. Дополнительные подробности можно найти на справочной странице ng_hci(4).
Одной из самой часто выполняемой задач является обнаружение Bluetooth-устройств в радиусе RF-доступности. Эта операция называется опросом (inquiry). Опрос и другие операции, связанные с HCI, выполняются при помощи утилиты hccontrol(8). Пример ниже показывает, как найти доступные устройства Bluetooth. Список таких устройств должен быть получен в течение нескольких секунд. Заметьте, что удалённые устройства будут отвечать на опрос, если только они находятся в режиме обнаруживаемости (discoverable).
%
hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:80:37:29:19:a4 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x78ef Inquiry complete. Status: No error [00]
BD_ADDR
является уникальным адресом устройства
Bluetooth, вроде MAC-адресов сетевых адаптеров. Этот адрес необходим
для дальнейшей работы с устройством. Адресу BD_ADDR можно присвоить
удобное для чтения имя. Файл /etc/bluetooth/hosts
содержит информацию об известных хостах Bluetooth. В следующем примере
показано, как получить имя, назначенное удалённому устройству:
%
hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39
Если вы выполните опрос на другом Bluetooth-устройстве, но ваш компьютер будет опознан как <<your.host.name (ubt0)>>. Имя, назначаемое локальному устройству, может быть в любой момент изменено.
Система Bluetooth предоставляет услуги по соединениям типа точка-точка (при этом задействованы только два устройства Bluetooth) или точка-ко-многим-точкам. В последнем случае соединение используется совместно несколькими устройствам Bluetooth. В следующем примере показывается, как получить список активных для локального устройства соединений:
%
hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN
Идентификатор соединения (connection handle) полезен, когда необходимо прекратить соединение. Заметьте, что обычно нет нужды делать это вручную. Стек будет автоматически разрывать неактивные соединения.
#
hccontrol -n ubt0hci disconnect 41
Connection handle: 41 Reason: Connection terminated by local host [0x16]
Обратитесь к помощи посредством hccontrol help
для получения полного списка доступных HCI-команд. Большинство команд
HCI для выполнения не требуют прав администратора системы.
Протокол L2CAP (Logical Link Control and Adaptation Protocol) предоставляет услуги по работе с данными, как ориентированные на соединения, так и без ориентации на них, протоколам более высокого уровня с возможностями мультиплексирования и обеспечением операций по сегментации и обратной сборке. L2CAP позволяет протоколам более высокого уровня и приложениям передавать и получать пакеты данных L2CAP длиной до 64 Кбайт.
L2CAP основан на концепции каналов. Каналом является логическое соединение поверх соединения по радиоканалу. Каждый канал привязан к некоторому протоколу по принципу многие-к-одному. Несколько каналов могут быть привязаны к одному и тому же протоколу, но канал не может быть привязан к нескольким протоколам. Каждый пакет L2CAP, получаемый каналом, перенаправляется к соответствующему протоколу более высокого уровня. Несколько каналов могут совместно использовать одно и то же радиосоединение.
Для одного Bluetooth-устройства создается один узел Netgraph типа l2cap. Узел L2CAP обычно подключается к узлу Bluetooth HCI (нижестоящий) и узлам Bluetooth-сокетов (вышестоящие). По умолчанию для узла L2CAP используется имя <<devicel2cap>>. Для получения дополнительной информации обратитесь к справочной странице по ng_l2cap(4).
Полезной является программа l2ping(8), которая может
использоваться для проверки связи с другими устройствами. Некоторые
реализации Bluetooth могут не возвращать все данные, посылаемые им,
так что 0 bytes
в следующем примере - это
нормально.
#
l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0
Утилита l2control(8) используется для выполнения различных операций с узлами L2CAP. В этом примере показано, как получить список логических соединений (каналов) и перечень радиосоединений локального устройства:
%
l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels: Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State 00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN%
l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN
Ещё одним диагностическим инструментом является btsockstat(1). Она выполняет действия, подобные тем, что обычно выполняет netstat(1), но со структурами данных, связанных с работой в сети Bluetooth. В примере ниже описывается то же самое логическое соединение, что и с l2control(8) выше.
%
btsockstat
Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN
Протокол RFCOMM эмулирует последовательные порты поверх протокола L2CAP. Он основан на ETSI-стандарте TS 07.10. RFCOMM представляет собой простой транспортный протокол, с дополнительными возможностями по эмуляции 9 цепей последовательных портов RS-232 (EIATIA-232-E). Протокол RFCOMM поддерживает одновременно до 60 соединений (каналов RFCOMM) между двумя устройствами Bluetooth.
В рамках RFCOMM полный коммуникационный маршрут включает два приложения, работающие на разных устройствах (конечные коммуникационные точки) с коммуникационным сегментом между ними. RFCOMM предназначен для сокрытия приложений, использующих последовательные порты устройств, в которых они расположены. Коммуникационный сегмент по сути является Bluetooth-связью от одного устройства к другому (прямое соединение).
RFCOMM имеет дело с соединением между устройствами в случае прямого соединения, или между устройством и модемом в сетевом случае. RFCOMM может поддерживать и другие конфигурации, такие, как модули, работающие через беспроводную технологию Bluetooth с одной стороны и предоставляющие проводное соединение с другой стороны.
Во FreeBSD протокол RFCOMM реализован на уровне сокетов Bluetooth.
По умолчанию связь Bluetooth не аутентифицируется, поэтому любое устройство может общаться с любым другим. Устройство Bluetooth (например, сотовый телефон) может задать обязательность аутентификации для предоставления определённого сервиса (в частности, услугу доступа по коммутируемой линии). Bluetooth-аутентификация обычно выполняется через PIN-коды. PIN-код представляет из себя ASCII-строку длиной до 16 символов. Пользователь обязан ввести один и тот же PIN-код на обоих устройствах. Как только он введёт PIN-код, оба устройства сгенерируют ключ связи. После этого ключ может быть сохранён либо в самом устройстве, либо на постоянном носителе. В следующий раз оба устройства будут использовать ранее сгенерированный ключ соединения. Процедура, описанная выше, носит название подгонки пары (pairing). Заметьте, что если ключ связи потерян любой из сторон, то подбор пары должен быть повторен.
За обработку всех запросов на Bluetooth-аутентификацию отвечает
даемон hcsecd(8). По умолчанию файл конфигурации называется
/etc/bluetooth/hcsecd.conf
. Пример раздела,
содержащего информацию о сотовом телефоне с явно заданным PIN-кодом
<<1234>> приведен ниже:
device { bdaddr 00:80:37:29:19:a4; name "Pav's T39"; key nokey; pin "1234"; }
Кроме длины, на PIN-коды не накладывается никаких ограничений.
Некоторые устройства (например, Bluetooth-гарнитуры) могут иметь
фиксированный встроенный PIN-код. Параметр -d
позволяет запустить hcsecd(8) как нефоновый процесс, что облегчает
просмотр происходящих событий. Задайте получение парного ключа на
удалённом устройстве и инициируйте Bluetooth-соединение с этим
устройством. Удалённое устройство должно подтвердить получение пары и
запросить PIN-код. Введите тот же самый код, что находится в
hcsecd.conf
. Теперь ваш ПК и удалённое устройство
спарены. Альтернативным способом является инициация процесса создания
пары на удалённом устройстве.
Во FreeBSD 5.5, 6.1 и в более новых, следующая строка может быть
добавлена к /etc/rc.conf
, чтобы
hcsecd запускался автоматически во время старта
системы:
hcsecd_enable="YES"
Ниже даётся пример выдачи протокола команды hcsecd:
hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
Протокол обнаружения сервисов SDP даёт возможность клиентским приложениям осуществлять поиск услуг, предоставляемых серверными приложениями, а также характеристик этих услуг. В перечень атрибутов сервиса включается тип класса предлагаемого сервиса и информация о механизме или протоколе, требуемом для использования сервиса.
SDP подразумевает коммуникации между SDP-сервером и SDP-клиентом. Сервер поддерживает список сервисов, в котором описываются параметры сервисов, связанных с сервером. Каждая запись об услуге содержит информацию об одном сервисе. Клиент может запросить информацию об определённом сервисе, обслуживаемом SDP-сервером, выдавая SDP-запрос. Если клиент или приложение, связанное с клиентом, решат воспользоваться сервисом, то для его использования необходимо открыть отдельное соединение к устройству, предоставляющему сервис. SDP предоставляет механизм обнаружения услуг и их параметров, но не даёт механизма использования этих сервисов.
Обычно SDP-клиент выполняет поиск услуг на основе некоторых желаемых характеристик услуг. Однако иногда возникает необходимость выяснить полный перечень типов услуг, предоставляемых SDP-сервером, не имея никакой информации об имеющихся сервисах. Такой процесс всех предлагаемых сервисов называется обзором (browsing).
Bluetooth SDP сервер sdpd(8) и клиент с интерфейсом командной строки sdpcontrol(8) включены в стандартную поставку FreeBSD. В следующем примере показано, как выполнять запрос на SDP-обзор.
%
sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000 Service Class ID List: Service Discovery Server (0x1000) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 1 Protocol specific parameter #2: u/int/uuid16 1 Record Handle: 0x00000001 Service Class ID List: Browse Group Descriptor (0x1001) Record Handle: 0x00000002 Service Class ID List: LAN Access Using PPP (0x1102) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1 Bluetooth Profile Descriptor List: LAN Access Using PPP (0x1102) ver. 1.0
... и так далее. Заметьте, что каждый сервис имеет перечень атрибутов (например, канал RFCOMM). В зависимости от сервиса вам может потребоваться где-то сохранить эти атрибуты. Некоторые реализации Bluetooth не поддерживают просмотр сервисов и могут возвращать пустой список. В этом случае возможен поиск конкретной услуги. В примере ниже показано, как выполнить поиск службы OBEX Object Push (OPUSH):
%
sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH
Во FreeBSD предоставление сервисов клиентам Bluetooth осуществляется
сервером sdpd(8). Во FreeBSD 5.5, 6.1 и в более новых, следующая строка
может быть добавлена в файл /etc/rc.conf
:
sdpd_enable="YES"
После этого sdpd даемон может быть запущен с помощью:
#
/etc/rc.d/sdpd start
Во FreeBSD 6.0, и во FreeBSD 5.X перед 5.5, sdpd не интегрирован в скрипты загрузки системы. Он должен запускаться автоматически командой:
#
sdpd
Приложение на локальном сервере, желающее предоставить сервис Bluetooth удаленным клиентам, регистрирует сервис через локального даемона SDP. Пример такого приложения - rfcomm_pppd(8). После запуска оно регистрирует Bluetooth LAN сервис через локального даемона SDP.
Список сервисов, зарегистрированных через локальный SDP сервер, может быть получен путем выдачи запроса на просмотр SDP через локальный контрольный канал:
#
sdpcontrol -l browse
Модуль работы с коммутируемым доступом к сети (DUN - Dial-Up Networking) в большинстве случаев используется с модемами и сотовыми телефонами. Этот модуль покрывает следующие случаи:
сотовый телефон или модем используется вместе с компьютером в качестве беспроводного модема для подключения к серверу коммутируемого доступа в Интернет, или другой коммутируемой услуге;
сотовый телефон или модем используется компьютером для приёма входящих соединений.
Модуль доступа к сети по протоколу PPP (Network Access with PPP - LAN) может использоваться в следующих ситуациях:
доступ к ЛВС для одного Bluetooth-устройства;
доступ к ЛВС для нескольких Bluetooth-устройств;
связь между двумя ПК (при помощи протокола PPP поверх эмулируемого последовательного канала связи).
Во FreeBSD оба случая реализуются при помощи сервисных программ
ppp(8) и rfcomm_pppd(8) - это обработчик, преобразующий
RFCOMM-соединения Bluetooth в нечто, с чем может работать PPP. Перед
тем, как использовать любой модуль, в файле
/etc/ppp/ppp.conf
должна быть создана новая
PPP-метка. Примеры использования можно найти в справочной странице к
rfcomm_pppd(8).
В следующем примере rfcomm_pppd(8) будет использоваться для открытия RFCOMM-соединения к удалённому устройству с BD_ADDR 00:80:37:29:19:a4 на DUN RFCOMM-канале. Реальный номер RFCOMM-канала будет получаться с удалённого устройства через SDP. Возможно указать RFCOMM-канал вручную, и в этом случае rfcomm_pppd(8) не будет выполнять SDP-запрос. Для нахождения RFCOMM-канала на удалённом устройстве используйте утилиту sdpcontrol(8).
#
rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup
Для того, чтобы организовать сервис Network Access with PPP (LAN),
необходимо запустить сервер sdpd(8). В файле
/etc/ppp/ppp.conf
должна быть создана новая запись
для клиентов LAN. Примеры можно найти в справке по
rfcomm_pppd(8). Наконец, запустите RFCOMM PPP сервер на
существующем номере канала RFCOMM. Сервер RFCOMM PPP автоматически
зарегистрирует Bluetooth LAN сервис через локальный SDP даемон.
В примере ниже показано, как запустить сервер RFCOMM PPP.
#
rfcomm_pppd -s -C 7 -l rfcomm-server
OBEX является широко используемым протоколом для простой передачи файлов между мобильными устройствами. В основном он используется в коммуникациях через инфракрасный порт для передачи файлов между ноутбуками или КПК, а также для пересылки визитных карточек или календарных планов между сотовыми телефонами и другими устройствами с персональными информационными менеджерами.
Сервер и клиент OBEX реализованы в виде пакета стороннего разработчика obexapp, который доступен в виде порта comms/obexapp.
Клиент OBEX используется для посылки или приёма объектов с сервера OBEX. Объектом, к примеру, может быть визитная карточка или указание. Клиент OBEX может получить номер RFCOMM-канала, указав вместо него имя сервиса. Поддерживаются следующие имена сервиса: IrMC, FTRN и OPUSH. Канал RFCOMM можно задать его номером. Ниже даётся пример сеанса OBEX, где с сотового телефона забирается объект с информацией об устройстве, а новый объект (визитная карточка) передаётся в каталог сотового телефона.
%
obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20)
Для того, чтобы предоставить сервис OBEX Push, должен быть запущен
сервер sdpd(8). Должен быть создан
корневой каталог, в котором будут сохраняться все поступающие объекты.
По умолчанию корневым каталогом является
/var/spool/obex
. Наконец, запустите OBEX
сервер на существующем номере канала RFCOMM. OBEX сервер
автоматически зарегистрирует сервис OBEX Object Push через локального
даемона SDP. В примере ниже показано, как запустить
OBEX-сервер.
#
obexapp -s -C 10
Профиль последовательного порта (SPP - Serial Port Profile) позволяет Bluetooth-устройствам осуществлять эмуляцию последовательного порта RS232 (или подобного). Этот профиль покрывает случаи, касающиеся работы унаследованных приложений с Bluetooth в качестве замены кабельному соединению, при это используется абстракция виртуального последовательного порта.
Утилита rfcomm_sppd(1) реализует профиль последовательного порта. В качестве виртуального последовательного порта используется псевдо-терминал. В примере ниже показано, как подключиться к сервису Serial Port удалённого устройства. Заметьте, что вы не указываете RFCOMM-канал - rfcomm_sppd(1) может получить его с удалённого устройства через SDP. Если вы хотите переопределить это, укажите RFCOMM-канал явно в командной строке.
#
rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
После подключения псевдо-терминал можно использовать как последовательный порт:
#
cu -l ttyp6
Некоторые старые Bluetooth-устройства не поддерживают переключение ролей. По умолчанию, когда FreeBSD подтверждает новое соединение, она пытается выполнить переключение роли и стать ведущим устройством. Устройства, которые это не поддерживают, не смогут подключиться. Заметьте, что переключение ролей выполняется при установлении нового соединения, поэтому невозможно выяснить, поддерживает ли удалённое устройство переключение ролей. На локальной машине имеется возможность отключить переключение ролей при помощи HCI-параметра:
#
hccontrol -n ubt0hci write_node_role_switch 0
Да, можно. Воспользуйтесь пакетом стороннего разработчика, hcidump который доступен в виде порта comms/hcidump. Утилита hcidump похожа на tcpdump(1). Она может быть использована для вывода на терминал содержимого Bluetooth-пакетов и сбрасывать пакеты Bluetooth в файл.
Иногда полезно разделить одну физическую сеть (такую, как сегмент Ethernet) на два отдельных сегмента сети без необходимости создания подсетей IP и использования маршрутизатора для соединения сегментов. Устройство, которое соединяет две сети на такой манер, называется <<сетевым мостом>> (<<bridge>>). Система FreeBSD с двумя сетевыми адаптерами может выступать в роли моста.
Мост работает на основе изучения адресов уровня MAC (адресов Ethernet) устройств на каждом из своих сетевых интерфейсах. Он перенаправляет трафик между двумя сетями, только когда адреса отправителя и получателя находятся в разных сетях.
По многим параметрам мост работает также, как коммутатор Ethernet с малым количеством портов.
На сегодняшний день есть две ситуации, когда можно использовать мост.
Первая ситуация возникает, когда ваша физическая сеть перегружена трафиком, но по каким-то соображениям вы не хотите разделять сеть на подсети и соединять их с помощью маршрутизатора.
Давайте рассмотрим в качестве примера газету, в которой
редакторский и производственный отделы находятся в одной и той же
подсети. Пользователи в редакторском отделе все используют сервер
A
для служб доступа к файлам, а пользователи
производственного отдела используют сервер B
. Для
объединения всех пользователей используется сеть Ethernet, а высокая
нагрузка на сеть замедляет работу.
Если пользователи редакторского отдела могут быть собраны в одном сегменте сети, а пользователи производственного отдела в другом, то два сетевых сегмента можно объединить мостом. Только сетевой трафик, предназначенный для интерфейсов с <<другой>> стороны моста, будет посылаться в другую сеть, тем самым снижая уровень нагрузки на каждый сегмент сети.
Второй распространённой ситуацией является необходимость в обеспечении функций сетевого экрана без трансляции сетевых адресов (NAT).
Для примера можно взять маленькую компанию, которая подключена к своему провайдеру по каналу DSL или ISDN. Для неё провайдер выделил 13 глобально доступных IP-адресов для имеющихся в сети 10 персональных компьютеров. В такой ситуации использование сетевого экрана на основе маршрутизатора затруднено из-за проблем с разделением на подсети.
Брандмауэр на основе моста может быть настроен и включен между маршрутизаторами DSL/ISDN без каких-либо проблем с IP-адресацией.
Для работы моста требуются по крайней мере два сетевых адаптера. К сожалению, не все сетевые адаптеры поддерживают функции моста. Прочтите страницу Справочника по bridge(4) для выяснения подробностей о поддерживаемых адаптерах.
Перед тем, как продолжить, сначала установите и протестируйте два сетевых адаптера.
Для включения поддержки функций сетевого моста в ядре, добавьте строчку
options BRIDGE
в файл конфигурации вашего ядра, и перестройте ядро.
Если вы планируете использовать мост в качестве
брандмауэра, вам нужно также добавить опцию
IPFIREWALL
.
Прочтите Глава 26, Межсетевые экраны, содержащую общую
информацию о настройке моста в качестве брандмауэра.
Если вам необходимо обеспечить прохождение не-IP пакетов (таких,
как ARP) через мост, то имеется опция брандмауэра,
которую можно задать. Это опция
IPFIREWALL_DEFAULT_TO_ACCEPT
. Заметьте, что при
этом правило, используемое брандмауэром по умолчанию, меняется
на разрешительное для всех пакетов. Перед тем, как задавать эту
опцию, убедитесь, что вы понимаете работу вашего набора
правил.
Если вы хотите использовать мост в качестве машины,
ограничивающей пропускную способность, то добавьте в файл
конфигурации ядра опцию DUMMYNET
. Дополнительную
информацию можно почерпнуть из страницы Справочника по
dummynet(4).
Добавьте строку
net.link.ether.bridge.enable=1
в файл /etc/sysctl.conf
для включения функций
моста во время работы системы, и строку:
net.link.ether.bridge.config=if1
,if2
для включения функций моста для указанных интерфейсов (замените
if1
и if2
на
имена двух ваших сетевых интерфейсов). Если вы хотите, чтобы
проходящие через мост пакеты фильтровались посредством ipfw(8),
вы должны также добавить строчку:
net.link.ether.bridge.ipfw=1
Для версий FreeBSD, предшествующих FreeBSD 5.2-RELEASE, нужно использовать следующие строки:
net.link.ether.bridge=1 net.link.ether.bridge_cfg=if1
,if2
net.link.ether.bridge_ipfw=1
Если вы хотите осуществлять удалённый доступ на мост через ssh(1) из сети, то корректно назначить одному из сетевых адаптеров IP-адрес. Общепринято, что назначение адреса обоим сетевым адаптерам является не самой хорошей идеей.
Если в вашей сети присутствует несколько мостов, не должно быть более одного маршрута между любыми двумя рабочими станциями. С технической точки зрения это означает отсутствие поддержки протокола spanning tree.
Сетевой мост может увеличить задержки в замерах командой ping(8), особенно для трафика между двумя разными сегментами.
Машина с FreeBSD может загружаться по сети и работать без наличия локального диска, используя файловые системы, монтируемые с сервера NFS. Кроме стандартных конфигурационных файлов, не нужны никакие модификации в системе. Такую систему легко настроить, потому что все необходимые элементы уже готовы:
Имеется по крайней мере два возможных способа загрузки ядра по сети:
PXE: Система Intel(R) Preboot eXecution Environment является формой загрузочного ПЗУ, встроенного в некоторые сетевые адаптеры или материнские платы. Обратитесь к справочной странице по pxeboot(8) для получения более полной информации.
Порт Etherboot (net/etherboot) генерирует код, который может применяться в ПЗУ для загрузки ядра по сети. Код может быть либо прошит в загрузочный PROM на сетевом адаптере, либо загружен с локальной дискеты (или винчестера), или с работающей системы MS-DOS(R). Поддерживаются многие сетевые адаптеры.
Примерный скрипт
(/usr/share/examples/diskless/clone_root
)
облегчает создание и поддержку корневой файловой системы рабочей
станции на сервере. Скрипт, скорее всего, потребует некоторых
настроек, но он позволит вам быстро начать работу.
Стандартные файлы начального запуска системы, располагающиеся в
/etc
, распознают и поддерживают загрузку системы
в бездисковом варианте.
Подкачка, если она нужна, может выполняться через файл NFS либо на локальный диск.
Существует много способов настройки бездисковой рабочей станции. При этом задействованы многие компоненты, и большинство из них могут быть настроены для удовлетворения ваших вкусов. Далее будет описаны варианты полной настройки системы, при этом упор будет делаться на простоту и совместимость с стандартной системой скриптов начальной загрузки FreeBSD. Описываемая система имеет такие характеристики:
Бездисковые рабочие станции совместно используют
файловую систему /
в режиме только
чтения, а также используют /usr
совместно тоже
в режиме только чтения.
Корневая файловая система является копией стандартной корневой системы FreeBSD (обычно сервера), с некоторыми настроечными файлами, измененными кем-то специально для бездисковых операций или, возможно, для рабочей станции, которой она предназначена.
Части корневой файловой системы, которые должны быть доступны для записи, перекрываются файловыми системами md(4). Любые изменения будут потеряны при перезагрузках системы.
Ядро передается и загружается посредством Etherboot или PXE, и в некоторых ситуациях может быть использован любой из этих методов.
Как описано, эта система не защищена. Она должна располагаться в защищенной части сети, а другие хосты не должны на нее полагаться.
Вся информация этого раздела была протестирована с релизом FreeBSD 5.2.1-RELEASE.
Настройка бездисковых рабочих станций относительно проста, но в то же время легко сделать ошибку. Иногда сложно диагностировать эти ошибки по нескольким причинам. Например:
Параметры компиляции могут по-разному проявлять себя во время работы.
Сообщения об ошибках бывают загадочны или вовсе отсутствуют.
В данной ситуации некоторые знания, касающиеся используемых внутренних механизмов, очень полезны при разрешении проблем, которые могут возникнуть.
Для выполнения успешной загрузки необходимо произвести несколько операций:
Компьютеру необходимо получить начальные параметры, такие как собственный IP адрес, имя исполняемого файла, корневой каталог. Для этого используются протоколы DHCP или BOOTP. DHCP это совместимое расширение BOOTP, используются те же номера портов и основной формат пакетов.
Возможна настройка системы для использования только BOOTP. Серверная программа bootpd(8) включена в основную систему FreeBSD.
Тем не менее, у DHCP есть множество преимуществ над BOOTP (лучше файлы настройки, возможность использования PXE, плюс многие другие преимущества, не относящиеся непосредственно к бездисковым операциям), и мы в основном будем описывать настройку DHCP, с эквивалентными примерами для bootpd(8), когда это возможно. Пример конфигурации будет использовать пакет ISC DHCP (релиз 3.0.1.r12 был установлен на тестовом сервере).
Компьютеру требуется загрузить в локальную память одну или несколько программ. Используются TFTP или NFS. Выбор между TFTP или NFS производится во время компилирования в нескольких местах. Часто встречающаяся ошибка это указание имен файлов для другого протокола: TFTP обычно загружает все файлы с одного каталога сервера, и принимает имена файлов относительно этого каталога. NFS нужны абсолютные пути к файлам.
Необходимо инициализировать и выполнить возможные промежуточные программы загрузки и ядро. В этой области существует несколько важных вариаций:
PXE загрузит pxeboot(8),
являющийся модифицированной версией загрузчика
третьей стадии FreeBSD. loader(8) получит большинство
параметров, необходимых для старта системы, и оставит
их в окружении ядра до контроля передачи. В этом
случае возможно использование ядра
GENERIC
.
Etherboot, непосредственно загрузит ядро, с меньшей подготовкой. Вам потребуется собрать ядро со специальными параметрами.
PXE и Etherboot работают одинаково хорошо; тем не менее, поскольку ядро обычно позволяет loader(8) выполнить больше предварительной работы, метод PXE предпочтителен.
Если ваш BIOS и сетевые карты поддерживают PXE, используйте его.
Наконец, компьютеру требуется доступ к файловым системам. NFS используется во всех случаях.
Обратитесь также к странице справочника diskless(8).
Сервер ISC DHCP может обрабатывать как запросы BOOTP, так и запросы DHCP.
ISC DHCP 3.0 не включается в поставку системы. Сначала вам нужно будет установить порт net/isc-dhcp3-server или соответствующий пакет.
После установки ISC DHCP ему для
работы требуется конфигурационный файл (обычно называемый
/usr/local/etc/dhcpd.conf
). Вот
прокомментированный пример, где хост margaux
использует Etherboot, а хост
corbieres
использует
PXE:
default-lease-time 600; max-lease-time 7200; authoritative; option domain-name "example.com"; option domain-name-servers 192.168.4.1; option routers 192.168.4.1; subnet 192.168.4.0 netmask 255.255.255.0 { use-host-decl-names on;option subnet-mask 255.255.255.0; option broadcast-address 192.168.4.255; host margaux { hardware ethernet 01:23:45:67:89:ab; fixed-address margaux.example.com; next-server 192.168.4.4;
filename "/data/misc/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
} host corbieres { hardware ethernet 00:02:b3:27:62:df; fixed-address corbieres.example.com; next-server 192.168.4.4; filename "pxeboot"; option root-path "192.168.4.4:/data/misc/diskless"; } }
Этот параметр указывает dhcpd посылать
значения деклараций | |
Директива | |
Директива | |
Параметр |
Далее описана эквивалентная конфигурация с использованием
bootpd (для одного клиента).
Она будет располагаться в
/etc/bootptab
.
Пожалуйста, отметьте, что Etherboot
должен быть откомпилирован с нестандартной опцией
NO_DHCP_SUPPORT
для того, чтобы можно было
использовать BOOTP, и что для работы PXE
необходим DHCP.
Единственным очевидным
преимуществом bootpd является его
наличие в поставке системы.
.def100:\ :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\ :sm=255.255.255.0:\ :ds=192.168.4.1:\ :gw=192.168.4.1:\ :hd="/tftpboot":\ :bf="/kernel.diskless":\ :rp="192.168.4.4:/data/misc/diskless": margaux:ha=0123456789ab:tc=.def100
Сайт Etherboot содержит подробную документацию, в основном предназначенную для систем Linux, но несомненно, она полезна. Далее будет просто кратко описано, как вы должны использовать Etherboot в системе FreeBSD.
Сначала вы должны установить пакет или порт net/etherboot.
Вы можете изменить настройку
Etherboot (например, для использования
TFTP вместо NFS) путем
редактирования файла Config
в каталоге исходных текстов
Etherboot.
В нашей ситуации мы будем использовать загрузочную дискету. Для других методов (PROM или программа MS-DOS(R)) пожалуйста, обратитесь к документации по Etherboot.
Для создания загрузочной дискеты, вставьте дискету в дисковод на
машине, где установлен Etherboot, затем
перейдите в каталог src
в дереве
Etherboot и наберите:
#
gmake bin32/
devicetype
.fd0
devicetype
зависит от типа адаптера
Ethernet на бездисковой рабочей станции. Обратитесь к файлу
NIC
в том же самом каталоге для определения
правильного значения для
devicetype
.
По умолчанию, pxeboot(8) загружает ядро через
NFS. Он может быть скомпилирован для
использования вместо него TFTP путем
указания параметра LOADER_TFTP_SUPPORT
в
/etc/make.conf
. Смотрите комментарии в
файле /usr/share/examples/etc/make.conf
.
Есть два не документированных параметра
make.conf
, которые могут быть полезны для
настройки бездискового компьютера с последовательной консолью:
BOOT_PXELDR_PROBE_KEYBOARD
, и
BOOT_PXELDR_ALWAYS_SERIAL
.
Для использования PXE при загрузке компьютера
вам обычно потребуется выбрать параметр Boot from
network
(загрузка по сети) в настройках
BIOS, или нажать функциональную клавишу во
время загрузки PC.
Если вы используете PXE или Etherboot, настроенные для использования TFTP, вам нужно включить tftpd на файловом сервере:
Создайте каталог, файлы которого будет обслуживать
tftpd, например,
/tftpboot
.
Добавьте в ваш /etc/inetd.conf
такую
строчку:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
Бывает, что некоторым версиям PXE
требуется TCP-вариант
TFTP. В таком случае добавьте вторую
строчку, заменяющую
dgram udp
на stream
tcp
.
Сообщите inetd о необходимости
перечитать свой файл конфигурации.
Файл /etc/rc.conf
должен содержать строку
inetd_enable="YES"
для корректного исполнения
команды
#
/etc/rc.d/inetd restart
Вы можете поместить каталог tftpboot
в любом
месте на сервере. Проверьте, что это местоположение указано как в
inetd.conf
, так и в
dhcpd.conf
.
Во всех случаях, вам также нужно включить NFS и экспортировать соответствующую файловую систему на сервере NFS.
Добавьте следующее в
/etc/rc.conf
:
nfs_server_enable="YES"
Экспортируйте файловую систему, в которой расположен
корневой каталог для бездисковой рабочей станции, добавив
следующую строку в /etc/exports
(подправьте
точку монтирования и замените margaux
corbieres
именами бездисковых рабочих станций):
/data/misc
-alldirs -romargaux corbieres
Заставьте mountd перечитать
настроечный файл. На самом деле если вам потребовалось на
первом шаге включить NFS в /etc/rc.conf
, то
вам нужно будет выполнить перезагрузку.
#
/etc/rc.d/mountd restart
При использовании Etherboot, вам потребуется создать конфигурационный файл ядра для бездискового клиента со следующими параметрами (вдобавок к обычным):
options BOOTP # Use BOOTP to obtain IP address/hostname options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
Вам может потребоваться использовать
BOOTP_NFSV3
, BOOT_COMPAT
и BOOTP_WIRED_TO
(посмотрите файл NOTES
).
Эти имена параметров сложились исторически, и могут немного ввести в заблуждение, поскольку включают необязательное использование DHCP и BOOTP в ядре (возможно включение обязательного использования BOOTP или DHCP use).
Постройте ядро (обратитесь к Глава 9, Настройка ядра FreeBSD) и
скопируйте его в каталог, указанный в
dhcpd.conf
.
При использовании PXE, сборка ядра
с вышеприведенными параметрами не является совершенно необходимой
(хотя желательна). Включение этих параметров приведет к
выполнению большинства DHCP запросов во время
загрузки ядра, с небольшим риском несоответствия новых значений
и значений, полученных pxeboot(8) в некоторых особых
случаях. Преимущество использования в том, что в качестве
побочного эффекта будет установлено имя хоста. Иначе вам
потребуется установить имя хоста другим методом, например
в клиент-специфичном файле rc.conf
.
Для включения возможности загрузки с
Etherboot, в ядро необходимо
включить устройство hints. Вам потребуется установить
в файле конфигурации следующий параметр (см. файл
комментариев NOTES
):
hints "GENERIC.hints"
Вам нужно создать корневую файловую систему для бездисковых
рабочих станций, в местоположении, заданном как
root-path
в
dhcpd.conf
.
Этот метод
установит новую систему (не только корневую) в
DESTDIR
. Все, что вам потребуется сделать,
это просто выполнить следующий скрипт:
#!/bin/sh export DESTDIR=/data/misc/diskless mkdir -p ${DESTDIR} cd /usr/src; make buildworld && make buildkernel cd /usr/src/etc; make distribution
Как только это будет сделано, вам может потребоваться
настроить /etc/rc.conf
и
/etc/fstab
, помещенные в
DESTDIR
, в соответствии с вашими
потребностями.
Если это нужно, то файл подкачки, расположенный на сервере, можно использовать посредством NFS.
На стадии загрузки ядро не поддерживает подкачку через NFS. Подкачка должна быть разрешена при помощи загрузочных скриптов, монтирующих файловую систему, пригодную для записи и создающих на ней файл подкачки. Для создания файла подкачки подходящего размера вы можете выполнить следующие команды:
#
dd if=/dev/zero of=
/path/to/swapfile
bs=1k count=1 oseek=100000
Для активации этого файла подкачки следует добавить в файл
rc.conf
строку
swapfile=/path/to/swapfile
Если бездисковая рабочая станция настроена на запуск X, вам
нужно подправить настроечный файл для
XDM, который по умолчанию
помещает протокол ошибок в /usr
.
Если сервер с корневой файловой системой работает не под
управлением FreeBSD, вам потребуется создать корневую файловую
систему на машине FreeBSD, а затем скопировать ее в нужно место,
при помощи tar
или
cpio
.
В такой ситуации иногда возникают проблемы со
специальными файлами в /dev
из-за различной
разрядности целых чисел для старшего/младшего чисел. Решением
этой проблемы является экспортирование каталога с не-FreeBSD
сервера, монтирование его на машине с FreeBSD и использование
devfs(5) для создания файлов устройств прозрачно
для пользователя.
Полезным источником информации о технологии ISDN и его аппаратном обеспечении является Страница Дэна Кегела (Dan Kegel) об ISDN.
Быстрое введение в ISDN:
Если вы живёте в Европе, то вам может понадобиться изучить раздел об ISDN-адаптерах.
Если вы планируете использовать ISDN в основном для соединений с Интернет через провайдера по коммутируемому, не выделенному соединению, рекомендуется посмотреть информацию о терминальных адаптерах. Это даст вам самую большую гибкость и наименьшее количество проблем при смене провайдера.
Если вы объединяете две локальные сети или подключаетесь к Интернет через постоянное ISDN-соединение, рекомендуем остановить свой выбор на отдельном мосте/маршрутизаторе.
Стоимость является важным фактором при выборе вашего решения. Далее перечислены все возможности от самого дешевого до самого дорогого варианта.
Реализация ISDN во FreeBSD поддерживает только стандарт DSS1/Q.931 (или Евро-ISDN) при помощи пассивных адаптеров. Поддерживаются некоторые активные адаптеры, прошивки которых поддерживают также другие сигнальные протоколы; также сюда включена поддержка адаптеров ISDN Primary Rate (PRI).
Пакет программ isdn4bsd позволяет вам
подключаться к другим маршрутизаторам ISDN при помощи IP поверх DHLC,
либо при помощи синхронного PPP; либо при помощи PPP на уровне ядра с
isppp
, модифицированного драйвера sppp(4), или
при помощи пользовательского
ppp(8). При использовании пользовательского ppp(8) возможно
использование двух и большего числа B-каналов ISDN. Также имеется
приложение, работающее как автоответчик, и много утилит, таких, как
программный модем на 300 Бод.
Во FreeBSD поддерживается все возрастающее число адаптеров ISDN для ПК, и сообщения показывают, что они успешно используются по всей Европе и других частях света.
Из пассивных адаптеров ISDN поддерживаются в основном те, которые сделаны на основе микросхем Infineon (бывший Siemens) ISAC/HSCX/IPAC ISDN, а также адаптеры ISDN с микросхемами от Cologne Chip (только для шины ISA), адаптеры PCI с микросхемами Winbond W6692, некоторые адаптеры с набором микросхем Tiger300/320/ISAC и несколько адаптеров, построенных на фирменных наборах микросхем, такие, как AVM Fritz!Card PCI V.1.0 и AVM Fritz!Card PnP.
На данный момент из активных адаптеров ISDN поддерживаются AVM B1 (ISA и PCI) адаптеры BRI и AVM T1 PCI адаптеры PRI.
Документацию по isdn4bsd можно найти в
каталоге /usr/share/examples/isdn/
вашей системы
FreeBSD или на домашней
странице isdn4bsd, на которой также размещены ссылки на советы,
замечания по ошибкам и более подробную информацию, например, на руководство по
isdn4bsd.
Если вы заинтересованы в добавлении поддержки для различных
протоколов ISDN, не поддерживаемых на данный момент адаптеров ISDN для
PC или каких-то других усовершенствованиях
isdn4bsd, пожалуйста, свяжитесь с
Hellmuth Michaelis <hm@FreeBSD.org>
.
Для обсуждения вопросов, связанных с установкой, настройкой и устранением неисправностей isdn4bsd, имеется список рассылки freebsd-isdn.
subscribe freebsd-isdn
Терминальные адаптеры (TA) для ISDN выполняют ту же роль, что и модемы для обычных телефонных линий.
Большинство TA используют стандартный набор AT-команд Hayes-модемов, и могут использоваться в качестве простой замены для модемов.
TA будут работать точно так же, как и модемы, за исключением скорости соединения и пропускной способности, которые будут гораздо выше, чем у вашего старого модема. Вам потребуется настроить PPP точно также, как и в случае использования модема. Проверьте, что вы задали скорость работы последовательного порта максимально высокой.
Главным преимуществом использования TA для подключения к провайдеру Интернет является возможность использования динамического PPP. Так как пространство адресов IP истощается все больше, большинство провайдеров не хочет больше выдавать вам статический IP-адрес. Большинство же маршрутизаторов не может использовать динамическое выделение IP-адресов.
TA полностью полагаются на даемон PPP, который используете из-за его возможностей и стабильности соединения. Это позволяет вам при использовании FreeBSD легко заменить модем на ISDN, если у вас уже настроено соединение PPP. Однако, в тоже время любые проблемы, которые возникают с программой PPP, отражаются и здесь.
Если вы хотите максимальной надёжности, используйте PPP на уровне параметра ядра, а не пользовательский PPP.
Известно, что следующие TA работают с FreeBSD:
Motorola BitSurfer и Bitsurfer Pro
Adtran
Большинство остальных TA, скорее всего, тоже будут работать, производители TA прилагают все усилия для обеспечения поддержки практически всего набора стандартных AT-команд модема.
Как и в случае модемов проблемой использования внешнего TA является потребность в хорошем последовательном адаптере на вашем компьютере.
Вы должны прочесть учебник Последовательные устройства во FreeBSD для того, чтобы в деталях понять работу последовательных устройств и осознать различие между асинхронными и синхронными последовательными портами.
TA, работающий со стандартным последовательным (асинхронным) портом PC, ограничивает вас скоростью 115.2 Кбит/с, хотя реально у вас соединение на скорости 128 Кбит/с. Чтобы использовать 128 Кбит/с, которые обеспечивает ISDN, полностью, вы должны подключить TA к синхронному последовательному адаптеру.
Не обманывайте себя, думая, что покупка встроенного TA поможет избежать проблемы синхронности/асинхронности. Встроенные TA просто уже имеют внутри стандартный последовательный порт PC. Все, что при этом достигается - это экономия дополнительных последовательного кабеля и электрической розетки.
Синхронный адаптер с TA по крайней мере так же быстр, как и отдельный маршрутизатор, а если он работает под управлением машины класса 386 с FreeBSD, то это гораздо более гибкое решение.
Выбор между использованием синхронного адаптера/TA или отдельного маршрутизатора в большей степени является религиозным вопросом. По этому поводу в списках рассылки была некоторая дискуссия. Рекомендуем поискать в архивах обсуждение полностью.
Мосты или маршрутизаторы ISDN не так уж специфичны для FreeBSD или для любой другой операционной системы. Для более подробного описания технологий маршрутизации и работы мостов, пожалуйста, обратитесь к справочникам по сетевым технологиям.
В контексте этого раздела термины маршрутизатор и сетевой мост будут использоваться как взаимозаменяемые.
Вместе с падением цен на простые мосты/маршрутизаторы ISDN, они становятся все более популярными. Маршрутизатор ISDN представляет собой маленькую коробочку, которая подключается непосредственно в вашу сеть Ethernet, и поддерживает связь с другим мостом/маршрутизатором. Всё программное обеспечение для работы по PPP и другим протоколам встроено в маршрутизатор.
Маршрутизатор обладает гораздо большей пропускной способностью, чем стандартный TA, так как он использует полное синхронное соединение ISDN.
Основной проблемой с маршрутизаторами и мостами ISDN является то, что их совместная работа с оборудованием других производителей может оказаться под вопросом. Если вы собираетесь подключаться к провайдеру, то вы должны обсудить с ним то, что вам нужно.
Если вы планируете объединить два сегмента локальной сети, например, домашнюю сеть с сетью офиса, это самое простое решение с минимальными издержками на обслуживание. Так как вы покупаете оборудование для обоих сторон соединения, то можете быть уверены, что связь будет работать нормально.
Например, для соединения домашнего компьютера или сети подразделения к сети центрального офиса, может использоваться такая настройка:
Сеть построена в топологии общей шины на основе 10 base 2 Ethernet (<<thinnet>> - <<тонкий Ethernet>>). Подключите маршрутизатор к сетевому кабелю с помощью трансивера AUI/10BT, если это нужно.
Если ваш домашний или удаленный офис представляет собой один компьютер, то для непосредственного подключения к маршрутизатору вы вы можете использовать витую пару с перекрестным соединениям.
Одним большим преимуществом большинства маршрутизаторов/мостов является то, что они позволяют иметь 2 отдельных независимых соединения PPP к 2 различным сайтам одновременно. Это не поддерживается в большинстве TA, кроме специальных (обычно дорогих) моделей, имеющих по два последовательных порта. Не путайте это с балансировкой нагрузки, MPP и так далее.
Это может оказаться весьма полезной особенностью, например, если у вас имеется постоянное ISDN-соединение в вашем офисе, и вы хотите им воспользоваться, но не хотите задействовать дополнительный канал ISDN на работе. Маршрутизатор, расположенный в офисе, может использовать выделенное соединение по каналу B (64 Кбит/с) для Интернет, и одновременно другой канал B для отдельного соединения для передачи данных. Второй канал B может использоваться для входящих, исходящих и динамически распределяемых соединений (MPP и так далее) совместно с первым каналом B для повышения пропускной способности.
Мост Ethernet также позволяет вам передавать больше, чем просто трафик IP. Вы сможете передавать IPX/SPX и любые другие протоколы, которые вы используете.
Даемон преобразования сетевых адресов (Network Address Translation) во FreeBSD, широко известный как natd(8), является даемоном, который принимает входящие IP-пакеты, изменяет адрес отправителя на адрес локальной машины и повторно отправляет эти пакеты в потоке исходящих пакетов. natd(8) делает это, меняя IP-адрес отправителя и порт таким образом, что когда данные принимаются обратно, он может определить расположение источника начальных данных и переслать их машине, которая запрашивала данные изначально.
Чаще всего NAT используется для организации так называемого Совместного Использования Интернет.
Из-за исчерпания пространства адресов в IPv4 и увеличения количества пользователей высокоскоростных каналов связи, таких, как кабельное подключение или DSL, необходимость в решении по Совместному Использованию Интернет растёт. Возможность подключить несколько компьютеров через единственное соединение и IP-адрес делает natd(8) подходящим решением.
Чаще всего у пользователя имеется машина, подключенная к кабельному каналу или каналу DSL с одним IP-адресом и есть желание использовать этот единственный подключенный компьютер для организации доступа в Интернет другим компьютерам в локальной сети.
Для этого машина FreeBSD, находящаяся в Интернет, должна выступать в роли шлюза. Эта шлюзовая машина должна иметь два сетевых адаптера-один для подключения к маршрутизатору Интернет, а другой для подключения к ЛВС. Все машины в локальной сети подключаются через сетевой концентратор или коммутатор.
Существует много способов подсоединить локальную сеть к Internet через шлюз FreeBSD. Этот пример показывает шлюз c двумя сетевыми картами.
Подобная конфигурация часто используется для совместного использования доступа в Интернет. Одна из подключенных к локальной сети машин подключается к Интернет. Остальные машины работают с Интернет посредством этой <<шлюзовой>> машины.
В файле конфигурации ядра должны присутствовать следующие параметры:
options IPFIREWALL options IPDIVERT
Дополнительно, если это нужно, можно добавить следующее:
options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE
В файле /etc/rc.conf
должны быть такие
строки:
gateway_enable="YES"firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES" natd_interface="
fxp0
"natd_flags=""
Указывает машине выступать в качестве шлюза. Выполнение
команды | |
При загрузке включает использование правил брандмауэра
из файла | |
Здесь задается предопределенный набор правил брандмауэра,
который разрешает все. Посмотрите файл
| |
Указывает, через какой интерфейс передавать пакеты (интерфейс, подключенный к Интернет). | |
Любые дополнительный параметры, передаваемые при запуске даемону natd(8). |
При использовании вышеуказанных параметров в файле
/etc/rc.conf
при загрузке будет запущена команда
natd -interface fxp0
. Эту команду можно запустить и
вручную.
Если для передачи natd(8) набирается слишком много
параметров, возможно также использовать конфигурационный файл. В
этом случае имя настроечного файла должно быть задано добавлением
следующей строки в /etc/rc.conf
:
natd_flags="-f /etc/natd.conf"
Файл /etc/natd.conf
будет содержать перечень
конфигурационных параметров, по одному в строке. К примеру, для
примера из следующего раздела будет использоваться такой файл:
redirect_port tcp 192.168.0.2:6667 6667 redirect_port tcp 192.168.0.3:80 80
Для получения более полной информации о конфигурационном файле
прочтите страницу справки по natd(8) относительно параметра
-f
.
Каждой машине и интерфейсу в ЛВС должен быть назначен IP-адрес из адресного пространства частных сетей, как это определено в RFC 1918, а в качестве маршрутизатора по умолчанию должен быть задан IP-адрес машины с natd из внутренней сети.
Например, клиенты A
и B
в ЛВС
имеют IP-адреса 192.168.0.2
и 192.168.0.3
, а интерфейс машины с natd в
локальной сети имеет IP-адрес 192.168.0.1
. Маршрутизатором по умолчанию для
клиентов A
и B
должна быть назначена
машина с natd, то есть 192.168.0.1
. Внешний, или Интернет-интерфейс
машины с natd не требует особых
настроек для работы natd(8).
Минусом использования natd(8) является то, что машины в локальной сети недоступны из Интернет. Клиенты в ЛВС могут выполнять исходящие соединения во внешний мир, но не могут обслуживать входящие. Это является проблемой при запуске служб Интернет на клиентских машинах в локальной сети. Простым решением является перенаправление некоторых портов Интернет машины с natd на клиента локальной сети.
Пусть, к примеру, сервер IRC запущен на клиенте A
,
а Web-сервер работает на клиенте B
. Чтобы это
работало, соединения, принимаемые на портах 6667 (IRC) и 80 (Web),
должны перенаправляться на соответствующие машины.
Программе natd(8) должна быть передана команда
-redirect_port
с соответствующими параметрами.
Синтаксис следующий:
-redirect_port proto targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT] [remoteIP[:remotePORT[-remotePORT]]]
В примере выше аргументы должен быть такими:
-redirect_port tcp 192.168.0.2:6667 6667 -redirect_port tcp 192.168.0.3:80 80
При этом будут перенаправлены соответствующие порты tcp на клиентские машины в локальной сети.
Аргумент -redirect_port
может использоваться для
указания диапазонов портов, а не конкретного порта. Например,
tcp 192.168.0.2:2000-3000 2000-3000
будет
перенаправлять все соединения, принимаемые на портах от 2000 до 3000,
на порты от 2000 до 3000 клиента A
.
Эти параметры можно указать при непосредственном запуске
natd(8), поместить их в параметр
natd_flags=""
файла
/etc/rc.conf
, либо передать через
конфигурационный файл.
Для получение информации о других параметрах настройки обратитесь к справочной странице по natd(8)
Перенаправление адреса полезно, если имеется несколько адресов IP,
и они должны быть на одной машине. В этой ситуации natd(8) может
назначить каждому клиенту ЛВС свой собственный внешний IP-адрес. Затем
natd(8) преобразует исходящие от клиентов локальной сети пакеты,
заменяя IP-адреса на соответствующие внешние, и перенаправляет весь
трафик, входящий на некоторый IP-адрес, обратно конкретному клиенту
локальной сети. Это также называют статическим NAT. К примеру, пусть
IP-адреса 128.1.1.1
, 128.1.1.2
и 128.1.1.3
принадлежат шлюзовой машине
natd. 128.1.1.1
может использоваться в качестве
внешнего IP-адреса шлюзовой машины natd,
тогда как 128.1.1.2
и 128.1.1.3
будут перенаправляться обратно
к клиентам ЛВС A
и B
.
Синтаксис для -redirect_address
таков:
-redirect_address localIP publicIP
localIP | Внутренний IP-адрес клиента локальной сети. |
publicIP | Внешний IP, соответствующий клиенту локальной сети. |
В примере этот аргумент будет выглядеть так:
-redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3
Как и для -redirect_port
, эти аргументы также
помещаются в строку natd_flags=""
файла
/etc/rc.conf
или передаются через конфигурационный
файл. При перенаправлении адресов нет нужды в перенаправлении портов,
потому что перенаправляются все данные, принимаемые для конкретного
IP-адреса.
Внешние IP-адреса машины с natd должны быть активизированы и являться синонимами для внешнего интерфейса. Обратитесь к rc.conf(5), чтобы это сделать.
PLIP позволяет нам работать с TCP/IP по параллельному порту. Это полезно для машин без сетевых адаптеров или для установки на лэптопы. В этом разделе мы обсудим:
создание кабеля для параллельного порта (laplink).
Соединение двух компьютеров посредством PLIP.
Вы можете приобрести кабель для параллельного порта в большинстве магазинов, торгующих комплектующими. Если вы его не найдете, или же просто хотите знать, как он делается, то следующая таблица поможет вам сделать такой кабель из обычного принтерного кабеля для параллельного порта.
A-name | A-End | B-End | Описание | Post/Bit |
---|---|---|---|---|
DATA0 | 2 | 15 | Data | 0/0x01 |
DATA1 | 3 | 13 | Data | 0/0x02 |
DATA2 | 4 | 12 | Data | 0/0x04 |
DATA3 | 5 | 10 | Strobe | 0/0x08 |
DATA4 | 6 | 11 | Data | 0/0x10 |
GND | 18-25 | 18-25 | GND | - |
Прежде всего вы должны найти laplink-кабель. Затем удостоверьтесь, что на обоих компьютерах в ядро включена поддержка драйвера lpt(4):
#
grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port
Управление параллельным портом должно выполняться по прерываниям.
Файл /boot/device.hints
должен содержать следующие строки:
hint.ppc.0.at="isa" hint.ppc.0.irq="7"
Затем проверьте, что файл конфигурации ядра имеет строку
device plip
, или загружен ли модуль ядра
plip.ko
. В обоих случаях интерфейс работы с
сетью по параллельному порту должен присутствовать на момент
использования команды ifconfig(8).
#
ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
Подключите кабель laplink к параллельным интерфейсам на обоих компьютерах.
Настройте параметры сетевого интерфейса с обеих сторон, работая как
пользователь root
. К примеру, если вы хотите
соединить хост host1
, на котором работает
FreeBSD 4.X, с хостом host2
под управлением
FreeBSD 5.X:
host1 <-----> host2 IP Address 10.0.0.1 10.0.0.2
Настройте интерфейс на машине host1
,
выполнив:
#
ifconfig plip0 10.0.0.1 10.0.0.2
Настройте интерфейс на машине host2
,
выполнив:
#
ifconfig lp0 10.0.0.2 10.0.0.1
Теперь вы должны получить работающее соединение. Пожалуйста, прочтите страницы руководства по lp(4) и lpt(4) для выяснения деталей.
Вы должны также добавить оба хоста в
/etc/hosts
:
127.0.0.1 localhost.my.domain localhost 10.0.0.1 host1.my.domain host1 10.0.0.2 host2.my.domain
Чтобы проверить работу соединения, перейдите к каждому хосту и
выполните тестирование соединения с другой машиной посредством команды
ping. К примеру, на машине host1
:
#
ifconfig lp0
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000#
netstat -r
Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire host2 host1 UH 0 0 lp0#
ping -c 4 host2
PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- host2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
IPv6 (также называемый IPng <<IP next generation>> - следующее поколение IP) является новой версией широко известного протокола IP (называемого также IPv4). Как и другие современные системы *BSD, FreeBSD включает эталонную реализацию IPv6 от KAME. Так что система FreeBSD поставляется со всем, что вам нужно для экспериментирования с IPv6. Этот раздел посвящён настройке и запуску в работу IPv6.
В начале 1990-х люди стали беспокоиться о быстро иссякающем адресном пространстве IPv4. Принимая во внимание темпы роста Интернет, имелись основные проблемы:
Нехватка адресов. Сегодня это не такая большая проблема, так как
стали применяться адресные пространства для частных сетей (RFC1918)
(10.0.0.0/8
,
172.16.0.0/12
и 192.168.0.0/24
) и технология
преобразования сетевых адресов (NAT - Network
Address Translation).
Таблицы маршрутов становятся чересчур большими. Это всё ещё является проблемой сегодня.
IPv6 решает эти и многие другие вопросы:
128-битное адресное пространство. Другими словами, теоретически доступны 340,282,366,920,938,463,463,374,607,431,768,211,456 адреса. Это означает плотность примерно в 6.67 * 10^27 адресов IPv6 на квадратный метр нашей планеты.
Маршрутизаторы будут хранить в своих таблицах только агрегированные адреса сетей, что уменьшает средний размер таблицы маршрутизации до 8192 записей.
Имеется также множество других полезных особенностей IPv6, таких, как:
Автоматическая настройка адреса (RFC2462)
Групповые адреса (<<один к нескольким из многих>>)
Обязательные адреса множественной рассылки
IPsec (IP security - безопасный IP)
Упрощённая структура заголовка
Мобильный IP
Механизмы преобразования IPv6-в-IPv4
Для получения дополнительной информации посмотрите:
Обзор IPv6 на сайте playground.sun.com
Существуют различные типы адресов IPv6: одноадресные (Unicast), групповые (Anycast) и многоадресные (Multicast).
Адреса типа Unicast хорошо всем известны. Пакет, посланный на такой адрес, достигает в точности интерфейса, который этому адресу соответствует.
Адреса типа Anycast синтаксически неотличимы от адресов Unicast, но они адресуют группу интерфейсов. Пакет, направленный такому адресу, попадёт в ближайший (согласно метрике маршрутизатора) интерфейс. Адреса Anycast могут использоваться только маршрутизаторами.
Адреса типа Multicast идентифицируют группу интерфейсов. Пакет, посланный на такой адрес, достигнет всех интерфейсов, привязанных к группе многоадресного вещания.
Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255
) выражаются адресами
многоадресного вещания IPv6.
IPv6 адрес | Длина префикса (биты) | Описание | Заметки |
---|---|---|---|
:: | 128 бит | нет описания | cf. 0.0.0.0 в
IPv4 |
::1 | 128 бит | loopback адрес | cf. 127.0.0.1 в
IPv4 |
::00:xx:xx:xx:xx | 96 бит | встроенный IPv4 | Нижние 32 бита это адрес IPv4. Также называется <<IPv4 совместимым IPv6 адресом>> |
::ff:xx:xx:xx:xx | 96 бит | Адрес IPv6, отображенный на IPv4 | Нижние 32 бита это адрес IPv4. Для хостов, не поддерживающих IPv6. |
fe80:: - feb:: | 10 бит | link-local | cf. loopback адрес в IPv4 |
fec0:: - fef:: | 10 бит | site-local | |
ff:: | 8 бит | широковещательный | |
001 (основание
2) | 3 бит | global unicast | Все global unicast адреса присваиваются из этого пула. Первые три бита <<001>>. |
Каноническая форма представляется в виде x:x:x:x:x:x:x:x
, где каждый символ
<<x>> является 16-разрядным числом в шестнадцатеричной
форме. К примеру, FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
Часто в адресе присутствуют длинные строчки, заполненные нулями,
поэтому одна такая последовательность на адрес может быть сокращена до
<<::>>. Кроме того, до трех ведущих <<0>>
на шестнадцатеричную четверку могут быть пропущены.
К примеру, fe80::1
соответствует канонической форме fe80:0000:0000:0000:0000:0000:0000:0001
.
В третьей форме последние 32 бита записываются в широко известном
(десятичном) стиле IPv4 с точками <<.>> в качестве
разделителей. Например, f2002::10.0.0.1
соответствует
(шестнадцатеричному) каноническому представлению 2002:0000:0000:0000:0000:0000:0a00:0001
,
которое, в свою очередь, равнозначно записи 2002::a00:1
.
Теперь читатель должен понять следующую запись:
#
ifconfig
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active
fe80::200:21ff:fe03:8e1%rl0
является автоматически настроенным локальным адресом. Он
генерируется из MAC адреса в процессе автоматической
конфигурации.
Для получения дополнительной информации о структуре адресов IPv6 обратитесь к RFC3513.
На данный момент существуют четыре способа подключиться к другим хостам и сетям IPv6:
Подключиться к экспериментальному 6bone
Получить сеть IPv6 от вышестоящего провайдера. Для получения рекомендаций обратитесь к вашему провайдеру Интернет.
Туннелировать посредством 6-в-4 (RFC3068)
Использовать порт net/freenet6, если вы используете коммутируемое соединение.
Здесь мы будем рассматривать подключение к 6bone, так как на данный момент это является самым популярным способом.
Сначала взгляните на сайт 6bone и найдите ближайшую к вам точку подключения к 6bone. Напишите ответственному и при некоторой удаче вам дадут инструкции по настройке соединения. Обычно это касается настройки туннеля GRE (gif).
Вот типичный пример настройки туннеля gif(4):
#
ifconfig gif0 create
#
ifconfig gif0
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280#
ifconfig gif0 tunnel
MY_IPv4_ADDR
MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR
#
ifconfig gif0 inet6 alias
MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR
MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR
Замените слова, написанные заглавными буквами, информацией, которую вам дал вышестоящий узел 6bone.
При этом установится туннель. Проверьте работу туннеля утилитой
ping6(8) с адресом ff02::1%gif0
.
Вы должны получить два положительных ответа.
Если вы заинтригованы адресом ff02:1%gif0
, скажем, что это адрес
многоадресного вещания. %gif0
указывает на
использование такого адреса с сетевым интерфейсом
gif0
. Так как мы выполняем
ping
над адресом многоадресного вещания, то другая
сторона туннеля также должна ответить.
Теперь настройка маршрута к вашей вышестоящей точке подключения 6bone должна быть весьма проста:
#
route add -inet6 default -interface gif0
#
ping6 -n
MY_UPLINK
#
traceroute6 www.jp.FreeBSD.org
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms * 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms
Эта выдача будет отличаться от машины к машине. Теперь вы должны суметь достигнуть сайта IPv6 www.kame.net и увидеть танцующую черепаху - в случае, если ваш браузер поддерживает IPv6, как, например, www/mozilla или Konqueror, который входит в x11/kdebase3, или www/epiphany.
Для IPv6 использовались два типа записей DNS. IETF объявил записи A6 устаревшими. Стандартом на данный момент являются записи AAAA.
Использование записей AAAA достаточно просто. Назначение вашему имени хоста нового адреса IPv6 достигается просто добавлением:
MYHOSTNAME AAAA MYIPv6ADDR
к вашему первичному файлу DNS зоны. В случае, если вы не обслуживаете собственные зоны DNS, обратитесь к вашему провайдеру DNS. Имеющиеся версии bind (версий 8.3 и 9) и dns/djbdns (с патчем IPv6) поддерживают записи AAAA.
Эти установки помогут вам настроить компьютер, который будет работать в сети как клиент, а не как маршрутизатор. Для включения настройки интерфейсов через rtsol(8) при загрузке, все, что вам потребуется, это добавить следующую строку:
ipv6_enable="YES"
Для статического присвоения IP адреса, такого как 2001:471:1f11:251:290:27ff:fee0:2093
,
интерфейсу fxp0
, добавьте:
ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"
Для назначения маршрутизатором по умолчанию
2001:471:1f11:251::1
,
добавьте следующую строку к
/etc/rc.conf
:
ipv6_defaultrouter="2001:471:1f11:251::1"
Этот раздел поможет вам использовать инструкции, которые выдал
провайдер туннеля, например, 6bone, и сделать эти настройки
постоянными. Для восстановления туннеля при загрузке системы
используйте в /etc/rc.conf
нижеприведенные
настройки.
Задайте список туннельных интерфейсов (Generic Tunneling
interfaces), которые необходимо настроить, например
gif0
:
gif_interfaces="gif0"
Для настройки интерфейса с локальным подключением на
MY_IPv4_ADDR
к удаленной точке
REMOTE_IPv4_ADDR
:
gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR
"
Для включения IPv6 адреса, который был вам присвоен для использования в подключении к туннелю IPv6, добавьте:
ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR
"
Затем все, что вам потребуется сделать, это добавить маршрут по умолчанию для IPv6. Это другая сторона туннеля IPv6:
ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR
"
Этот раздел поможет вам настроить rtadvd(8) для распространения маршрута IPv6 по умолчанию.
Для включения rtadvd(8) вам понадобится добавить в
/etc/rc.conf
следующую строку:
rtadvd_enable="YES"
Важно указать интерфейс, на котором выполняется запрос
маршрутизатора IPv6. Например, для указания rtadvd(8)
использовать fxp0
:
rtadvd_interfaces="fxp0"
Теперь мы должны создать файл настройки,
/etc/rtadvd.conf
. Вот пример:
fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
Замените fxp0
на интерфейс, который вы
будете использовать.
Затем, замените 2001:471:1f11:246::
на префикс вашего
размещения.
Если у вас выделенная подсеть /64
, больше ничего менять не потребуется.
Иначе, вам потребуется изменить prefixlen#
на корректное значение.
Классический IP через ATM (CLIP) это простейший метод использования асинхронного режима передачи (Asynchronous Transfer Mode, ATM) с IP. Он может быть использован с коммутируемыми подключениями (switched connections, SVC) и с постоянными подключениями (permanent connections, PVC). В этом разделе будет описано как настроить сеть на основе PVC.
Первый метод для настройки CLIP с PVC это подключение каждого компьютера к каждому в сети с выделенным PVC. Хотя настройка проста, она непрактична для большого количества компьютеров. В примере предполагается, что в сети есть четыре компьютера, каждый подключенный к ATM сети с помощью карты ATM адаптера. Первый шаг это планирование IP адресов и ATM подключений между компьютерами. Мы используем:
Хост | IP адрес |
---|---|
hostA | 192.168.173.1 |
hostB | 192.168.173.2 |
hostC | 192.168.173.3 |
hostD | 192.168.173.4 |
Для сборки полностью объединенной сети нам потребуется по одному ATM соединению между каждой парой компьютеров:
Компьютеры | VPI.VCI соединение |
---|---|
hostA - hostB | 0.100 |
hostA - hostC | 0.101 |
hostA - hostD | 0.102 |
hostB - hostC | 0.103 |
hostB - hostD | 0.104 |
hostC - hostD | 0.105 |
Значения VPI и VCI на каждом конце соединения конечно могут отличаться, но для упрощения мы предполагаем, что они одинаковы. Затем нам потребуется настроить ATM интерфейсы на каждом хосте:
hostA#
ifconfig hatm0 192.168.173.1 up
hostB#
ifconfig hatm0 192.168.173.2 up
hostC#
ifconfig hatm0 192.168.173.3 up
hostD#
ifconfig hatm0 192.168.173.4 up
предполагая, что ATM интерфейс называется
hatm0
на всех хостах. Теперь PVC
необходимо настроить на hostA
(мы предполагаем,
что ATM коммутаторы уже настроены, вам необходимо свериться
с руководством на коммутатор за информацией по
настройке).
hostA#
atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA#
atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA#
atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB#
atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB#
atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB#
atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC#
atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC#
atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC#
atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD#
atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD#
atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD#
atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr
Конечно, вместо UBR может быть использован другой тип, если ATM адаптер поддерживает это. В этом случае имя типа дополняется параметрами трафика. Помощь по atmconfig(8) может быть получена командой:
#
atmconfig help natm add
или на странице справочника atmconfig(8).
Та же настройка может быть выполнена через
/etc/rc.conf
. Для hostA
это будет выглядеть примерно так:
network_interfaces="lo0 hatm0" ifconfig_hatm0="inet 192.168.173.1 up" natm_static_routes="hostB hostC hostD" route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"
Текущий статус всех маршрутов CLIP может быть получен командой:
hostA#
atmconfig natm show
Наборы FreeBSD CD и DVD доступны у нескольких онлайн поставщиков:
FreeBSD Mall, Inc.
2420 Sand Creek Rd C-1 #347
Brentwood, CA
94513
США
Телефон: +1 925 240-6652
Факс: +1 925 674-0821
Email: <info@freebsdmall.com>
WWW: http://www.freebsdmall.com/
Getlinux
78 Rue de la Croix Rochopt
'Epinay-sous-S'enart
91860
Франция
Email: <contact@getlinux.fr>
WWW: http://www.getlinux.fr/
Dr. Hinner EDV
Kochelseestr. 11
D-81371 M"unchen
Германия
Телефон: (0177) 428 419 0
Email: <infow@hinner.de>
WWW: http://www.hinner.de/linux/freebsd.html
Linux Center
ул. Галерная, 55
Санкт-Петербург
190000
Россия
Телефон: +7-812-3125208
Email: <info@linuxcenter.ru>
WWW: http://linuxcenter.ru/shop/freebsd
Официальные исходные тексты FreeBSD доступны через анонимные
FTP зеркала по всему миру. Сайт ftp://ftp.FreeBSD.org/pub/FreeBSD/
имеет хорошее подключение и поддерживает большое количество
одновременных соединений, но для вас возможно потребуется найти
<<ближайшее>> зеркало (особенно если вы решили
настроить у себя какой-то из видов зеркал).
Кроме того, FreeBSD доступна через анонимный FTP со следующих зеркал. Если вы выбрали получение FreeBSD через анонимный FTP, пожалуйста, выберите ближайший к вам сайт. Зеркала из списка <<Основных зеркал>> обычно содержат полный архив FreeBSD (все доступные на данный момент версии для каждой архитектуры), но скорость загрузки возможно будет больше с зеркала, расположенного в вашей стране или регионе. Сайты каждой страны содержат последнюю версию для наиболее популярных архитектур, но на них может не быть полного архива FreeBSD. Все сайты предоставляют доступ через анонимный FTP, а некоторые предоставляют доступ и другими методами. Для каждого сайта приведен список методов доступа в скобках после имени хоста.
Центральные серверы, Основные зеркала, Armenia, Австралия, Австрия, Бразилия, Великобритания, Германия, Гонконг, Греция, Дания, Ирландия, Испания, Канада, Китай, Корея, Латвия, Литва, Нидерланды, Новая Зеландия, Норвегия, Польша, Россия, Саудовская Аравия, Словения, США, Тайвань, Украина, Финляндия, Франция, Чехия, Швейцария, Швеция, Эстония, Южная Африка, Япония.
(as of UTC)
В случае проблем пожалуйста свяжитесь с администратором
<mirror-admin@FreeBSD.org>
этого домена.
ftp://ftp4.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp4.FreeBSD.org/pub/FreeBSD/ / http://ftp4.FreeBSD.org/pub/FreeBSD/)
ftp://ftp10.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp10.FreeBSD.org/pub/FreeBSD/ / http://ftp10.FreeBSD.org/pub/FreeBSD/)
ftp://ftp14.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp14.FreeBSD.org/pub/FreeBSD/)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@am.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@au.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@at.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@br.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@uk.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<de-bsd-hubs@de.FreeBSD.org>
этого домена.
ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/)
ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync)
ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/)
ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@gr.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@dk.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@ie.FreeBSD.org>
этого домена.
ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@es.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@ca.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@cn.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@kr.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@lv.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@lt.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@nl.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@no.FreeBSD.org>
этого домена.
ftp://ftp.no.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@pl.FreeBSD.org>
этого домена.
ftp2.pl.FreeBSD.org
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@ru.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<ftpadmin@isu.net.sa>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@si.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@us.FreeBSD.org>
этого домена.
ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 / http://ftp4.us.FreeBSD.org/pub/FreeBSD/ / http://ftp4.us.FreeBSD.org/pub/FreeBSD/)
ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp13.us.FreeBSD.org/pub/FreeBSD/ / rsync)
ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp14.us.FreeBSD.org/pub/FreeBSD/)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@tw.FreeBSD.org>
этого домена.
ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ / rsync / rsyncv6)
ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ / http://ftp2.tw.FreeBSD.org/pub/FreeBSD/ / http://ftp2.tw.FreeBSD.org/pub/FreeBSD/ / rsync / rsyncv6)
ftp://ftp6.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp6.tw.FreeBSD.org/ / rsync)
ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp11.tw.FreeBSD.org/FreeBSD/)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@fi.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@fr.FreeBSD.org>
этого домена.
ftp://ftp1.fr.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp1.fr.FreeBSD.org/pub/FreeBSD/ / rsync)
ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@cz.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@ch.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@se.FreeBSD.org>
этого домена.
ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ (ftp / rsync://ftp2.se.FreeBSD.org/)
ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/ (ftp / ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/ / http://ftp4.se.FreeBSD.org/pub/FreeBSD/ / http://ftp4.se.FreeBSD.org/pub/FreeBSD/ / rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/ / rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/)
ftp://ftp6.se.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp6.se.FreeBSD.org/pub/FreeBSD/)
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@ee.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@za.FreeBSD.org>
этого домена.
В случае проблем пожалуйста свяжитесь с администратором
<hostmaster@jp.FreeBSD.org>
этого домена.
CTM это метод синхронизации удаленного дерева каталогов с центральным. Он встроен во FreeBSD и может использоваться для синхронизации системы с репозиториями исходных текстов FreeBSD. Он поддерживает синхронизацию всего репозитория или только заданного набора ветвей.
CTM создан специально для использования в условиях некачественного соединения по TCP/IP или его отсутствия и предоставляет возможность автоматической отправки изменений по электронной почте. Пользователю требуется загружать до трех изменений в день для наиболее активных ветвей. Размеры обновлений всегда поддерживаются настолько малыми, насколько это возможно, и обычно составляют меньше 5 Кб. Примерно на каждое десятое приходится по 10-50 Кб, и иногда случаются обновления больше 100 Кб.
При использовании CTM для отслеживания процесса разработки FreeBSD требуется учитывать особенности в работе напрямую с исходных текстов, находящихся в разработке, по сравнению с использованием готовых релизов. Эти вопросы рассматриваются в разделе Использование ветви разработки.
Cуществует немного документации по процессу создания дельта-файлов (delta, разница между имеющимися и актуальными исходными текстами) или использованию CTM в других целях. Обратитесь в список рассылки ctm-users для получения ответов на вопросы по использованию CTM.
<<Дельта-файлы>> для использования в CTM можно получить двумя способами: через анонимный FTP или по электронной почте.
Дельта-файлы по FTP можно получить со следующих сайтов зеркал. При использовании анонимного FTP для получения дельта-файлов CTM выберите географически ближайшее зеркало. По случаю возникновения проблем сообщайте в список рассылки ctm-users.
Для получения дельта-файлов по почте подпишитесь на один
из списков распространения ctm-src
,
доступных на http://lists.freebsd.org/mailman/listinfo
.
Например, ctm-src-cur поддерживает главную ветвь
разработки, а ctm-src-9 поддерживает ветвь выпуска
релизов 9.X.
Как только вы получаете обновления
CTM по почте, используйте программу
ctm_rmail
для их распаковки и применения.
Эта программа может выполняться непосредственно из записи в
/etc/aliases
для автоматизации процесса.
Обращайтесь к странице справочника ctm_rmail(1) для
получения дополнительной информации.
Вне зависимости от способа получения дельта-файлов, пользователям CTM следует подписаться на список рассылки ctm-announce, поскольку это единственный механизм публикации объявлений CTM.
Перед началом использования дельта-файлов CTM потребуется определить исходную точку для последующего их применения.
Один из способов состоит в применении
<<стартового>> дельта-файла к пустому каталогу.
В имени такого файла присутствует Xempty
,
например, src-cur.3210XEmpty.gz
.
Обозначение перед X
соответствует
происхождению первоначального источника.
Empty
означает пустой каталог. Как
правило, файл с Empty
создается через
каждые 100 дельта-файлов. Обратите внимание, что стартовые
дельта-файлы имеют большой размер, и от 70 до 80 мегабайт
сжатых в gzip
данных для
XEmpty
является обычным делом.
Другой способ заключается в получении первоначального источника с -RELEASE CD. Это может существенно снизить объём передаваемых данных по сети.
Когда основной дельта-файл создан, примените все дельта-файлы с последующими номерами. Чтобы применить дельта-файлы:
#
cd /directory/to/store/the/stuff
#
ctm -v -v /directory/which/stores/the/deltas/src-xxx.*
Можно применять несколько дельт одной командой, по
мере их последовательной обработки уже применённые дельты
игнорируются. CTM работает с
дельта-файлами, сжатыми с помощью gzip
,
что позволяет сэкономить на используемом дисковом
пространстве.
Для проверки дельта-файла без его применения используйте
параметр командной строки -c
.
CTM не будет модифицировать
локальное дерево, а только проверит целостность дельта-файла
на предмет его применимости без ошибок. Обращайтесь к
ctm(1) для получения дополнительной информации по
имеющимся параметрам и понимания процесса применения дельт,
который используется в CTM.
Для поддержания исходных текстов в актуальном состоянии каждый раз, когда становится доступна новая дельта, применяйте её с использованием CTM.
Рекомендуется не удалять дельты после применения, если их сложно загрузить повторно. В этом случае будет доступна локальная копия, которая может понадобиться при восстановлении после сбоя.
Разработчики часто экспериментируют и изменяют файлы в
локальном дереве исходных текстов.
CTM имеет ограниченную поддержку
локальных изменений: перед проверкой наличия файла сначала
проверяется файл тем же именем и расширением
.ctm
. Если такой файл присутствует,
CTM будет работать с ним вместо
исходного файла.
Такое поведение обеспечивает простой путь поддержки
локальных изменений. Перед изменением файла скопируйте его с
расширением .ctm
. Вносите любые
изменения в исходный файл, зная что
CTM будет применять обновления
только к файлу с расширением .ctm
.
Для определения списка изменений, которые
CTM внесет в локальный
репозиторий исходных текстов, используйте параметр
-l
. Этот параметр используется для
записи лога изменений или выполнения предварительной
или последующей обработки какого-либо подмножества
изменяемых файлов.
Для создания резервной копии всех файлов, которые
будут изменены обновлением
CTM, укажите параметр
-B
. С
этим параметром CTM выполняет
сохранение в backup-file
backup-file
всех
файлов, которые затрагиваются применяемыми дельтами
CTM.
Для ограничения набора файлов, обновляемых
CTM, или для извлечения лишь
нескольких файлов из последовательности дельт можно
указать фильтрующие регулярные выражения с
использованием -e
, который указывает,
какие файлы обрабатывать, или -x
,
который указывает, какие файлы игнорировать.
Пример извлечения свежей копии
lib/libc/Makefile
из коллекции
сохраненных дельт CTM:
#
cd /directory/to/extract/to/
#
ctm -e '^lib/libc/Makefile' /directory/which/stores/the/deltas/src-xxx.*
Для каждого файла, указанного в
CTM дельте, параметры
-e
и -x
применяются в
порядке их задания в командной строке. Файл
обрабатывается CTM, только
если он помечается как подходящий после обработки всех
параметров -e
и
-x
.
По состоянию на июль 2012 года FreeBSD использует Subversion в качестве основной системы контроля версий для хранения всего исходного кода FreeBSD, документации и Коллекции Портов.
Subversion в основном
является инструментом разработчика. Большинству
пользователей следует использовать
freebsd-update
(Раздел 21.2, <<Обновление FreeBSD>>) для
обновления основной системы FreeBSD и
portsnap
(Раздел 5.6, <<Использование Коллекции Портов>>) для обновления Коллекции Портов
FreeBSD.
В этом разделе демонстрируется, как устанавливать Subversion в системе FreeBSD и затем использовать его для создания локальной копии репозитория FreeBSD. Здесь приводится список доступных зеркал Subversion для FreeBSD, а также ссылки на дополнительную информацию по использованию Subversion.
Subversion должен быть установлен до его использования для получения содержимого любого из репозиториев. Если уже имеется копия дерева портов, Subversion можно установить следующим образом:
#
cd /usr/ports/devel/subversion
#
make install clean
Если дерево портов недоступно, Subversion можно установить из пакета:
#
pkg_add -r subversion
Если для управления пакетов используется pkgng, то Subversion можно установить с его помощью:
#
pkg install devel/subversion
Команда svn
используется для извлечения
чистой копии исходных кодов в локальный каталог. Файлы в этом
каталоге называются локальной рабочей
копией.
Если локальный каталог уже существует, но не был создан
с помощью svn
, переименуйте его или
удалите перед загрузкой. Загрузка в существующий
не-svn
каталог может вызвать конфликты
между существующими файлами и получаемыми из
репозитория.
Subversion для обозначения
репозитория использует URL, которые имеют
вид протокол://имя/путь
. Зеркала
могут поддерживать различные протоколы как указано ниже.
Первый компонент пути обозначает используемый репозиторий.
Существует три различных репозитория: base
для исходного кода основной системы FreeBSD,
ports
для Коллекции Портов и
doc
для документации. Например, URL
svn://svn0.us-east.FreeBSD.org/ports/head/
указывает на главную ветвь репозитория портов на зеркале
svn0.us-east.FreeBSD.org
с использованием протокола svn
.
Загрузка из данного репозитория выполняется следующей командой:
#
svn checkout
svn-mirror
/repository
/branch
lwcdir
где:
svn-mirror
- URL
для одного из сайтов зеркала
Subversion.
repository
- один из
репозиториев проекта, т.е. base
,
ports
или
doc
.
branch
зависит от
используемого репозитория. ports
и
doc
в основном обновляются в ветви
head
, в то время как
base
содержит последнюю версию -CURRENT
в head
и соответственно последние
версии ветви -STABLE в stable/8
(для
8.x
),
stable/9
(9.x
) и
stable/10
(10.x
).
lwcdir
- каталог
для размещения содержимого указанной ветви. Обычно это
/usr/ports
для
ports
,
/usr/src
для
base
и
/usr/doc
для
doc
.
В этом примере загружается Коллекция Портов с западного
репозитория США с использованием протокола
HTTPS и размещением локальной рабочей копии
в /usr/ports
. Если
/usr/ports
уже присутствует, но не был
создан с помощью svn
, не забудьте его
переименовать или удалить перед загрузкой.
#
svn checkout
https://svn0.us-west.FreeBSD.org
/ports/head /usr/ports
Поскольку на первоначальном этапе с удалённого репозитория загружается вся ветвь целиком, на это может уйти некоторое время. Пожалуйста, будьте терпеливы.
После первоначальной загрузки локальную рабочую копию можно обновить:
#
svn update
lwcdir
Для обновления /usr/ports
, созданного
в вышеприведённом примере, используйте:
#
svn update /usr/ports
Обновление намного быстрее загрузки, т.к. передаются только файлы с изменениями.
Альтернативный способ обновления локальной рабочей копии
после загрузки обеспечивается в Makefile
в каталогах /usr/ports
,
/usr/src
и /usr/doc
.
Используйте цель update
с заданной
переменной SVN_UPDATE
. Пример для
обновления /usr/src
:
#
cd /usr/src
#
make update SVN_UPDATE=yes
Все зеркала покрывают все репозитории.
Главный сервер Subversion FreeBSD
svn.FreeBSD.org
является общедоступным для чтения. Это может измениться в
будущем, поэтому пользователям рекомендуется использовать одно
из официальных зеркал. Для просмотра репозиториев
Subversion FreeBSD через браузер
используйте http://svnweb.FreeBSD.org/.
Сеть зеркал Subversion FreeBSD находится на раннем этапе развития и скорее всего будет меняться. Не полагайтесь на неизменность этого списка. В частности, серверные сертификаты SSL скорее всего изменятся.
Название | Протоколы | Местоположение | SSL Fingerprint |
---|---|---|---|
svn0.us-west.FreeBSD.org | svn , http ,
https | США, Калифорния | SHA1
1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61 |
svn0.us-east.FreeBSD.org | svn , http ,
https ,
rsync | Сша, Нью Джерси | SHA1
1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61 |
svn0.eu.FreeBSD.org | svn , http ,
https ,
rsync | Великобритания | SHA1
39:B0:53:35:CE:60:C7:BB:00:54:96:96:71:10:94:BB:CE:1C:07:A7 |
svn0.ru.FreeBSD.org | svn , http ,
https ,
rsync | Россия, Москва | SHA1
F6:44:AA:B9:03:89:0E:3E:8C:4D:4D:14:F0:27:E6:C7:C1:8B:17:C5 |
Предпочтительным протоколом является HTTPS, который обеспечивает защиту от других компьютеров, маскирующихся под зеркало FreeBSD (известно как атака <<человек посредине>>), и прочих, пытающихся послать плохое содержимое конечному пользователю.
При первом соединении с зеркалом по HTTPS пользователю будет предложено проверить fingerprint (отпечаток) сервера:
Error validating server certificate for 'https://svn0.us-west.freebsd.org:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: svnmir.ysv.FreeBSD.org - Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT - Issuer: clusteradm, FreeBSD.org, (null), CA, US (clusteradm@FreeBSD.org) - Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61 (R)eject, accept (t)emporarily or accept (p)ermanently?
Сравните отпечаток с вышеуказанными в таблице. Если
отпечаток совпадает, сертификат безопасности сервера можно
принять на временной или постоянной основе. Временный
сертификат действует до конца сессии с сервером, и при
следующем соединении этап верификации будет повторён.
Постоянное принятие сертификата сохраняет параметры
аутентификации в ~/.subversion/auth/
, и
пользователю не придётся проверять отпечаток снова до
истечения сертификата.
Если https
не получается использовать
из-за фаервола или иных проблем, svn
- следующий выбор с чуть более быстрой передачей. Если
ни один из них не может быть использован, используйте
http
.
Для получения другой информации по использованию Subversion смотрите <<книгу Subversion>> по названию Version Control with Subversion или Документацию Subversion.
Следующие сайты организуют доступ к FreeBSD через протокол rsync. Утилита rsync работает в основном таким же способом, что и команда rcp(1), но поддерживает больше параметров и использует протокол удаленного обновления rsync, который передает только разницу между двумя наборами файлов, что значительно повышает скорость синхронизации по сети. Это особенно полезно, если вы поддерживаете зеркало сервера FreeBSD FTP или репозитория CVS. Пакет rsync доступен для многих операционных систем; в FreeBSD смотрите порт net/rsync или используйте пакет.
rsync://ftp.cz.FreeBSD.org/
Доступные коллекции:
ftp: Частичное зеркало FreeBSD FTP сервера.
FreeBSD: Полное зеркало FreeBSD FTP сервера.
rsync://ftp.nl.FreeBSD.org/
Доступные коллекции:
FreeBSD: Полное зеркало FreeBSD FTP сервера.
rsync://ftp.mtu.ru/
Доступные коллекции:
FreeBSD: Полное зеркало FreeBSD FTP сервера.
FreeBSD-gnats: База данных системы отслеживания ошибок GNATS.
FreeBSD-Archive: Зеркало FreeBSD архивного FTP сервера.
rsync://ftp4.se.freebsd.org/
Доступные коллекции:
FreeBSD: Полное зеркало FreeBSD FTP сервера.
rsync://ftp.tw.FreeBSD.org/
rsync://ftp2.tw.FreeBSD.org/
rsync://ftp6.tw.FreeBSD.org/
Доступные коллекции:
FreeBSD: Полное зеркало FreeBSD FTP сервера.
rsync://rsync.mirrorservice.org/
Доступные коллекции:
ftp.freebsd.org: Полное зеркало FreeBSD FTP сервера.
rsync://ftp-master.FreeBSD.org/
Этот сервер может использоваться только основными зеркалами FreeBSD.
Доступные коллекции:
FreeBSD: Основной архив FreeBSD FTP сервера.
acl: Основной ACL список FreeBSD.
rsync://ftp13.FreeBSD.org/
Доступные коллекции:
FreeBSD: Полное зеркало FreeBSD FTP сервера.
Так как страницы Справочника FreeBSD предоставляют лишь описание отдельных частей операционной системы FreeBSD, они не очень удобны для иллюстрации объединения этих частей вместе для того, чтобы настроить ОС и сделать ее работу более гладкой. Для этого незаменимы хорошая книга по системному администрированию UNIX(R) и хорошее руководство пользователя.
Международные книги и журналы:
Using FreeBSD (на китайском).
FreeBSD Unleashed (перевод на китайский), опубликовано China Machine Press. ISBN 7-111-10201-0.
FreeBSD From Scratch First Edition (на китайском), опубликовано China Machine Press. ISBN 7-111-07482-3.
FreeBSD From Scratch Second Edition (на китайском), опубликовано China Machine Press. ISBN 7-111-10286-X.
FreeBSD Handbook (на китайском), опубликовано Posts & Telecom Press. ISBN 7-115-10541-3.
FreeBSD 3.x Internet (на китайском), опубликовано Tsinghua University Press. ISBN 7-900625-66-6.
FreeBSD & Windows (на китайском), ISBN 7-113-03845-X
FreeBSD Internet Services HOWTO (на китайском), ISBN 7-113-03423-3
FreeBSD for PC 98'ers (на японском), выпущено SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.
FreeBSD (на японском), выпущено CUTT. ISBN 4-906391-22-2 C3055 P2400E.
Complete Introduction to FreeBSD (на японском), выпущено Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E.
Personal UNIX Starter Kit FreeBSD (на японском), выпущено ASCII. ISBN 4-7561-1733-3 P3000E.
FreeBSD Handbook (японский перевод), выпущено ASCII. ISBN 4-7561-1580-2 P3800E.
FreeBSD mit Methode (на немецком), выпущено Computer und Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.
FreeBSD 4 - Installieren, Konfigurieren, Administrieren (на немецком), выпущено Computer und Literatur Verlag, 2001. ISBN 3-932311-88-4.
FreeBSD 5 - Installieren, Konfigurieren, Administrieren (на немецком), выпущено Computer und Literatur Verlag, 2003. ISBN 3-936546-06-1.
FreeBSD de Luxe (на немецком), выпущено Verlag Modere Industrie, 2003. ISBN 3-8266-1343-0.
FreeBSD Install and Utilization Manual (на японском), выпущено Mainichi Communications Inc..
Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo Создание Интернет Сервера с использованием FreeBSD (на Индонезийском языке), выпущено Elex Media Komputindo.
Книги и журналы на английском языке:
Absolute BSD: The Ultimate Guide to FreeBSD, выпущено No Starch Press, 2002. ISBN: 1886411743
The Complete FreeBSD, выпущено O'Reilly, 2003. ISBN: 0596005164
The FreeBSD Corporate Networker's Guide, выпущено Addison-Wesley, 2000. ISBN: 0201704811
FreeBSD: An Open-Source Operating System for Your Personal Computer, выпущено The Bit Tree Press, 2001. ISBN: 0971204500
Teach Yourself FreeBSD in 24 Hours, выпущено Sams, 2002. ISBN: 0672324245
FreeBSD unleashed, выпущено Sams, 2006. ISBN: 0672328755
FreeBSD: The Complete Reference, выпущено McGrawHill, 2003. ISBN: 0072224096
Computer Systems Research Group, UC Berkeley. 4.4BSD User's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-075-9
Computer Systems Research Group, UC Berkeley. 4.4BSD User's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-076-7
UNIX in a Nutshell. O'Reilly & Associates, Inc., 1990. ISBN 093717520X
Mui, Linda. What You Need To Know When You Can't Find Your UNIX System Administrator. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-104-6
Ohio State University написал Ознакомительный Курс UNIX который доступен в Online в HTML и PS форматах.
Итальянский перевод этого документа доступен как часть FreeBSD Italian Documentation Project.
Jpman Project, Japan FreeBSD Users Group. FreeBSD User's Reference Manual (Японский перевод). Mainichi Communications Inc., 1998. ISBN4-8399-0088-4 P3800E.
Эдинбургский Университет составил Online Путеводитель для новичков в UNIX.
Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O'Reilly & Associates, Inc., 2001. ISBN 1-59600-158-4
Computer Systems Research Group, UC Berkeley. 4.4BSD System Manager's Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-080-5
Costales, Brian, et al. Sendmail, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0
Frisch, AEleen. Essential System Administration, 2nd Ed. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5
Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-322-7
Nemeth, Evi. UNIX System Administration Handbook. 2nd Ed. Prentice Hall, 2000. ISBN 0-13-020601-6
Stern, Hal Managing NFS and NIS O'Reilly & Associates, Inc., 1991. ISBN 0-937175-75-7
Jpman Project, Japan FreeBSD Users Group. FreeBSD System Administrator's Manual (Japanese translation). Mainichi Communications Inc., 1998. ISBN4-8399-0109-0 P3300E.
Dreyfus, Emmanuel. Cahiers de l'Admin: BSD 2nd Ed. (на французском), Eyrolles, 2004. ISBN 2-212-11463-X
Asente, Paul, Converse, Diana, and Swick, Ralph. X Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1
Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-078-3
Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-079-1
Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference Manual. 4th ed. Prentice Hall, 1995. ISBN 0-13-326224-3
Kernighan, Brian and Dennis M. Ritchie. The C Programming Language. 2nd Ed. PTR Prentice Hall, 1988. ISBN 0-13-110362-8
Lehey, Greg. Porting UNIX Software. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7
Plauger, P. J. The Standard C Library. Prentice Hall, 1992. ISBN 0-13-131509-9
Spinellis, Diomidis. Code Reading: The Open Source Perspective. Addison-Wesley, 2003. ISBN 0-201-79940-5
Spinellis, Diomidis. Code Quality: The Open Source Perspective. Addison-Wesley, 2003. ISBN 0-201-79940-5
Stevens, W. Richard. Advanced Programming in the UNIX Environment. 2nd Ed. Reading, Mass. : Addison-Wesley, 2005. ISBN 0-201-43307-9
Stevens, W. Richard. UNIX Network Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN 0-13-490012-X
Wells, Bill. <<Writing Serial Drivers for UNIX>>. Dr. Dobb's Journal. 19(15), December 1994. pp68-71, 97-99.
Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall, Inc., 1990. ISBN 0-13-949843-5
Jolitz, William. <<Porting UNIX to the 386>>. Dr. Dobb's Journal. January 1991-July 1992.
Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1
Leffler, Samuel J., Marshall Kirk McKusick, The Design and Implementation of the 4.3BSD UNIX Operating System: Answer Book. Reading, Mass. : Addison-Wesley, 1991. ISBN 0-201-54629-9
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4
(глава 2 этой книги доступна онлайн как часть Проекта документирования FreeBSD, и глава 9 доступна здесь.)
Marshall Kirk McKusick, George V. Neville-Neil The Design and Implementation of the FreeBSD Operating System. Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2
Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63346-9
Schimmel, Curt. Unix Systems for Modern Architectures. Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8
Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3
Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice Hall, 1996. ISBN 0-13-101908-2
Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated, Volume 2: The Implementation. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X
Cheswick, William R. and Steven M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63357-4
Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet Security. 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN 1-56592-148-8
Garfinkel, Simson. PGP Pretty Good Privacy O'Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8
Anderson, Don and Tom Shanley. Pentium Processor System Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40992-5
Ferraro, Richard F. Programmer's Guide to the EGA, VGA, and Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-62490-7
Intel Corporation publishes documentation on their CPUs, chipsets and standards on their developer web site, usually as PDF files.
Shanley, Tom. 80486 System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1
Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40996-8
Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN 0-201-30974-2
Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8
Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN 0-201-59616-4
Lion, John Lion's Commentary on UNIX, 6th Ed. With Source Code. ITP Media Group, 1996. ISBN 1573980137
Raymond, Eric S. The New Hacker's Dictionary, 3rd edition. MIT Press, 1996. ISBN 0-262-68092-0. Also known as the Jargon File
Salus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing Company, Inc., 1994. ISBN 0-201-54777-5
Simon Garfinkel, Daniel Weise, Steven Strassmann. The UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN 1-56884-203-1. Не печаталась, доступна по адресу online.
Don Libes, Sandy Ressler Life with UNIX - special edition. Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7
The BSD family tree.
http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree
или /usr/share/misc/bsd-family-tree
на компьютере FreeBSD.
The BSD Release Announcements collection.
1997. http://www.de.FreeBSD.org/de/ftp/releases/
Networked Computer Science Technical Reports
Library. http://www.ncstrl.org/
Old BSD releases from the Computer Systems Research
group (CSRG).
http://www.mckusick.com/csrg/
:
В набор на 4CD включены все версии BSD от 1BSD до 4.4BSD и
4.4BSD-Lite2 (но к сожалению нет 2.11BSD). На последнем диске
находится также последняя версия исходных текстов и файлы
SCCS.
Высокая скорость прогресса FreeBSD делает непрактичным использование печатных изданий для информирования о последних разработках. Электронные ресурсы это лучший, а зачастую и единственный способ информирования о новых возможностях. Поскольку FreeBSD основывается на усилиях добровольцев, сообщество пользователей само по себе зачастую выполняет роль <<службы технической поддержки>>, а электронная почта, веб форумы и новости USENET это наиболее эффективный способ обращения к этому сообществу.
Наиболее важная контактная информация сообщества пользователей FreeBSD показана ниже. Если вам известно о других ресурсах, не упомянутых здесь, пожалуйста отправьте информацию о них в Список рассылки Проекта Документации FreeBSD, чтобы мы могли включить в этот документ.
Обращение в списки рассылки является наиболее простым способом задания вопросов или открытия технических дискуссий в сосредоточенной аудитории пользователей и разработчиков FreeBSD. Существует большое разнообразие списков по десяткам разных тем FreeBSD. Обращение в наиболее подходящий список рассылки обеспечит вас более быстрым и более точным ответом.
Все сообщения в приведенные ниже списки рассылки должны быть составлены только на английском языке.
Описание каждой рассылки дано в конце этого документа. Пожалуйста, прочтите описание перед подпиской или отправкой почты в любой из списков. Большинство наших подписчиков получают многие сотни относящихся к FreeBSD сообщений каждый день, и определяя правила использования рассылок мы стремимся удержать высокое соотношение <<сигнал к шуму>>. При меньшем соотношении списки рассылки перестанут быть эффективной средой общения участников проекта.
Если вы желаете проверить возможность отправки сообщений в списки рассылки FreeBSD, пошлите тестовое сообщение на freebsd-test. Пожалуйста, не шлите тестовые сообщения в любой другой список рассылки.
Если вы сомневаетесь, в какой именно список рассылки нужно направить вопрос, то прочтите статью Как эффективно использовать список рассылки FreeBSD-questions.
Перед тем, как направлять сообщение в любой список рассылки, пожалуйста, выясните, как лучше всего их использовать, например, как избежать частого повторения одних и тех же дискуссий, прочитав документ Часто задаваемые вопросы о списках рассылки (FAQ).
Архивы поддерживаются для всех списков рассылки и поиск по ним организован на WWW сервере FreeBSD. Поиск в архиве по ключевым словам дает отличный способ получения ответов на часто задаваемые вопросы и должен быть выполнен перед отправкой вопроса. Следует также отметить то, что отправленные в списки рассылок сообщения сохраняются в архивах навсегда. Если есть необходимость сохранить приватность, то задействуйте любой доступный вам второстепенный адрес электронной почты, предоставляя в сообщении лишь публичную информацию.
Общие списки: Ниже представлены общие списки рассылки, к которым каждый может (и приглашается) присоединиться:
Список | Назначение |
---|---|
freebsd-advocacy | В защиту FreeBSD |
freebsd-announce | Важные события и вехи проекта |
freebsd-arch | Обсуждения архитектуры и дизайна системы |
freebsd-bugbusters | Обсуждения, относящиеся к поддержке базы данных сообщений о проблемах FreeBSD и соответствующим инструментам |
freebsd-bugs | Сообщения о проблемах |
freebsd-chat | Не-технические темы, относящиеся к сообществу FreeBSD |
freebsd-chromium | Вопросы, относящиеся к Chromium во FreeBSD |
freebsd-current | Обсуждения, относящиеся к использованию FreeBSD-CURRENT |
freebsd-isp | Вопросы использования FreeBSD провайдерами |
freebsd-jobs | Вакансии и резюме, относящиеся к FreeBSD, с полной и частичной занятостью |
freebsd-policy | Публикация правил FreeBSD Core team. Только для чтения, малое количество сообщений |
freebsd-questions | Вопросы пользователей и техническая поддержка |
freebsd-security-notifications | Уведомления безопасности |
freebsd-stable | Обсуждения, относящиеся к использованию FreeBSD-STABLE |
freebsd-test | Рассылка для отправки тестовых сообщений (вместо обычных списков рассылки |
Технические списки: Следующие списки предназначены для технических обсуждений. Вам необходимо внимательно прочитать описание перед подпиской или отправкой почты в один из этих списков, поскольку они предназначены для использования внутри проекта.
Список | Назначение |
---|---|
freebsd-acpi | Разработка ACPI и системы управления энергопотреблением |
freebsd-afs | Портирование AFS на FreeBSD |
freebsd-aic7xxx | Разработка драйверов для Adaptec(R) AIC 7xxx |
freebsd-amd64 | Портирование FreeBSD на системы AMD64 |
freebsd-apache | Обсуждение портов, относящихся к Apache |
freebsd-arm | Портирование FreeBSD на процессоры ARM(R) |
freebsd-atm | Использование ATM сетей с FreeBSD |
freebsd-audit | Проект аудита исходных текстов |
freebsd-binup | Дизайн и разработка системы бинарных обновлений |
freebsd-bluetooth | Использование технологии Bluetooth(R) во FreeBSD |
freebsd-cluster | Использование FreeBSD в кластерах |
freebsd-cvsweb | Поддержка CVSweb |
freebsd-database | Обсуждение использования и разработки баз данных под FreeBSD |
freebsd-doc | Создание относящихся к FreeBSD документов |
freebsd-drivers | Создание драйверов устройств для FreeBSD |
freebsd-eclipse | Использование в FreeBSD Eclipse IDE, а также приложений и портов для нее. |
freebsd-eol | Взаимная поддержка относящегося к FreeBSD программного обеспечения, более не поддерживаемого проектом FreeBSD. |
freebsd-embedded | Использование FreeBSD во встроенных системах |
freebsd-emulation | Эмуляция других систем, таких как Linux/MS-DOS(R)/Windows(R) |
freebsd-firewire | Техническое обсуждение FreeBSD FireWire(R) (iLink, IEEE 1394) |
freebsd-fs | Файловые системы |
freebsd-gecko | Проблемы со средствами визуализации Gecko |
freebsd-geom | Относящиеся к GEOM обсуждения и реализации |
freebsd-gnome | Портирование GNOME и приложений GNOME |
freebsd-hackers | Общее техническое обсуждение |
freebsd-hardware | Общее обсуждение оборудования для FreeBSD |
freebsd-i18n | Интернационализация FreeBSD |
freebsd-ia32 | FreeBSD на платформе IA-32 (Intel(R) x86) |
freebsd-ia64 | Портирование FreeBSD на будущие системы Intel(R) IA64 |
freebsd-ipfw | Технические обсуждения, относящиеся к переработке кода IP брандмауэра |
freebsd-isdn | Разработчики ISDN |
freebsd-jail | Обсуждение jail(8) |
freebsd-java | Разработчики JavaTM и те, кто занимается переносом JDKTM на FreeBSD |
freebsd-kde | Портирование KDE и приложений KDE |
freebsd-lfs | Портирование LFS на FreeBSD |
freebsd-libh | Второе поколение программы установки системы и пакетов |
freebsd-mips | Портирование FreeBSD на MIPS(R) |
freebsd-mobile | Обсуждение портативных компьютеров |
freebsd-mono | Mono и C# приложения на FreeBSD |
freebsd-mozilla | Портирование Mozilla на FreeBSD |
freebsd-multimedia | Мультимедиа приложения |
freebsd-new-bus | Технические обсуждения архитектуры шины |
freebsd-net | Обсуждения, относящиеся к сети и исходному тексту TCP/IP |
freebsd-office | Офисные приложения во FreeBSD |
freebsd-performance | Вопросы оптимизации производительности для быстрых/работающих под большой нагрузкой серверов |
freebsd-perl | Поддержка различных портов, относящихся к Perl |
freebsd-pf | Обсуждение брандмауэра на базе packet filter |
freebsd-platforms | Относится к портам для платформ не-Intel(R) архитектуры |
freebsd-ports | Обсуждения Коллекции Портов |
freebsd-ports-bugs | Обсуждения относящихся к портам ошибок/PR |
freebsd-ppc | Портирование FreeBSD на PowerPC(R) |
freebsd-proliant | Работа FreeBSD на серверной платформе HP ProLiant |
freebsd-python | Вопросы, специфичные для использования Python во FreeBSD |
freebsd-rc | Обсуждения, касающиеся системы rc.d и работы над
ней |
freebsd-realtime | Разработка расширений реального времени для FreeBSD |
freebsd-ruby | Обсуждения, касающиеся специфики использования Ruby во FreeBSD |
freebsd-scsi | Подсистема SCSI |
freebsd-security | Сообщения безопасности, касающиеся FreeBSD |
freebsd-small | Использование FreeBSD во встроенных приложениях (устарел; следует использовать freebsd-embedded) |
freebsd-sparc64 | Портирование FreeBSD на системы, основанные на Sparc(R) |
freebsd-standards | Соответствие FreeBSD стандартам C99 и POSIX(R) |
freebsd-sysinstall | Разработка sysinstall(8) |
freebsd-threads | Потоки в FreeBSD |
freebsd-testing | Тестирование производительности и стабильности FreeBSD |
freebsd-tilera | Портирование FreeBSD на процессоры Tilera |
freebsd-tokenring | Поддержка Token Ring в FreeBSD |
freebsd-toolchain | Поддержка встроенных инструментальных средств FreeBSD |
freebsd-usb | Обсуждение поддержки USB в FreeBSD |
freebsd-virtualization | Обсуждение различных техник виртуализации, поддерживаемых FreeBSD |
freebsd-vuxml | Обсуждение инфраструктуры VuXML |
freebsd-x11 | Сопровождение и поддержка X11 в FreeBSD |
freebsd-xen | Обсуждение портирования FreeBSD на XenTM - реализация и использование |
Ограниченные списки: Следующие списки рассылки предназначены для более специализированной (и более официальной) аудитории и вероятно не могут заинтересовать широкую публику. Вероятно хорошей идеей будет сначала наладить общение в технических списках рассылки перед присоединением к ограниченным спискам, так вы сможете освоить этику общения.
Список | Назначение |
---|---|
freebsd-hubs | Люди, поддерживающие зеркала (поддержка инфраструктуры) |
freebsd-user-groups | Координация групп пользователей |
freebsd-vendors | Координация поставщиков перед релизом |
freebsd-wip-status | Статус начатых работ (Work-In-Progress) во FreeBSD |
freebsd-wireless | Обсуждение разработки стека 802.11, утилит, драйверов устройств |
freebsd-www | Ответственные за www.FreeBSD.org |
Дайджест рассылки: Все вышеприведенные списки доступны в формате дайджеста. После подписки на рассылку, вы можете изменить параметры дайджеста в разделе настроек учетной записи.
CVS и SVN рассылки: Следующие рассылки предназначены для людей, заинтересованных в просмотре сообщений об изменении в различных областях дерева исходных текстов. Это списки только для чтения и вы не должны отправлять туда почту.
Рассылка | Область исходного текста | Описание области исходного текста |
---|---|---|
cvs-all | /usr/(CVSROOT|doc|ports) | Все изменения в любой области дерева исходных текстов (надмножество других списков рассылки CVS) |
cvs-doc | /usr/(doc|www) | Все изменения в дереве исходных текстов документации и Web-сервера |
cvs-ports | /usr/ports | Все изменения в дереве портов |
cvs-projects | /usr/projects | Все изменения в дереве проектов |
cvs-src | /usr/src | Все изменения в дереве исходных текстов системы (создаваемых во время импорта из SVN в CVS) |
svn-src-all | /usr/src | Все изменения в репозитории Subversion (за исключением
user
и projects ) |
svn-src-head | /usr/src | Все изменения в ветке <<head>> репозитория Subversion (ветка FreeBSD-CURRENT) |
svn-src-projects | /usr/projects | Все изменения в части projects
дерева исходных текстов репозитория Subversion |
svn-src-release | /usr/src | Все изменения в части release
дерева исходных текстов репозитория Subversion |
svn-src-releng | /usr/src | Все изменения в части releng
дерева исходных текстов репозитория Subversion |
svn-src-stable | /usr/src | Все изменения во всех ветках stable дерева исходных текстов репозитория Subversion |
svn-src-stable-6 | /usr/src | Все изменения в ветке stable/6
дерева исходных текстов репозитория Subversion |
svn-src-stable-7 | /usr/src | Все изменения в ветке stable/7
дерева исходных текстов репозитория Subversion |
svn-src-stable-8 | /usr/src | Все изменения в ветке stable/8
дерева исходных текстов репозитория Subversion |
svn-src-stable-other | /usr/src | Все изменения в предыдущих ветках
stable дерева исходных текстов
репозитория Subversion |
svn-src-svnadmin | /usr/src | Все изменения в административных скриптах, хуках (hook) и других конфигурационных параметрах дерева исходных текстов репозитория Subversion |
svn-src-user | /usr/src | Все изменения в экспериментальной части
user дерева исходных текстов
репозитория Subversion |
svn-src-vendor | /usr/src | Все изменения в части дерева исходных текстов репозитория Subversion, выделенной для работы поставщиков (vendor) |
Для подписки на рассылку, нажмите на название списка рассылки выше или воспользуйтесь ссылкой http://lists.FreeBSD.org/mailman/listinfo и нажмите на имя рассылки, которой вы заинтересовались. Страница списка рассылки содержит все необходимые инструкции по подписке.
Для отправки сообщения в выбранный список рассылки, отправьте
письмо в
<
.
Это письмо будет разослано участникам рассылки по всему миру.listname
@FreeBSD.org>
Для отписки от рассылки, нажмите на ссылку, находящуюся внизу
каждого письма, отправляемого через список рассылки. Возможна
также отписка путем отправки письма на
<
.listname
-unsubscribe@FreeBSD.org>
Напоминаем, что обсуждение в технических списках рассылки должно оставаться в рамках технической темы. Если вас интересует только получение важных анонсов, мы предлагаем подписаться на рассылку с небольшим трафиком freebsd-announce.
Все списки рассылки FreeBSD имеют
определенные основные правила, которых должен придерживаться каждый
использующий их. Несоблюдение этих правил приведет к отправлению
двух (2) предупреждений от FreeBSD Postmaster
<postmaster@FreeBSD.org>
, после которых, после третьего
нарушения, подписчик будет удален из всех списков рассылки
FreeBSD и дальнейшие его сообщения будут отфильтровываться.
Мы сожалеем, что эти правила и меры вообще необходимы, но современный
интернет это довольно суровая среда и многие его механизмы довольно
слабы.
Основные правила:
Тема любого сообщения должна соответствовать назначению списка рассылки, в который это сообщение отправляется. Например, если список рассылки посвящен техническим вопросам, сообщение должно быть техническим. Продолжающееся обсуждение вне темы, или флейм только понижают ценность рассылки для всех ее участников и поэтому не разрешаются. Для обсуждений вне какой-либо определенной темы необходимо использовать Список рассылки, посвящённый неформальным беседам о FreeBSD, специально для этого предназначенный.
Ни одно сообщение не должно отправляться более чем в 2
рассылки, отправка сообщения в 2 рассылки должна выполняться
только при наличии простой и очевидной причины для дублирования
сообщения. В большинстве рассылок подписчикам уже приходит
много избыточного материала, и за исключением редких случаев
(скажем, <<-stable & -scsi>>), на самом деле нет
причины отправлять сообщение более чем в один список рассылки.
Если сообщение отправлено вам так, что в поле
Cc
находятся несколько списков рассылки,
необходимо урезать поле Cc
перед отправкой
ответа. Именно вы отвечаете за собственные
сообщения, независимо от того, кто был автором исходного
письма.
Персональные нападки и профанация (в контексте аргументов) не разрешены, это относится и к пользователям, и к разработчикам. Грубые нарушения сетевой этики, такие как цитирование или пересылка личной переписки без специального на то разрешения, осуждаются но специальные меры в этом случае не принимаются. Однако, существует несколько специальных случаев, когда такие письма не отвечают назначению списка рассылки и, следовательно, могут повлечь отправку предупреждения (или исключение из списка рассылки).
Реклама не-FreeBSD продуктов или сервисов строго запрещена и исключение из списка рассылки последует незамедлительно, если станет очевидным, что это спам.
Описания рассылок:
Разработка ACPI и системы управления энергопотреблением
Andrew File System
Этот список предназначен для обсуждения портирования и использования AFS от CMU/Transarc
Важные события / вехи проекта
Этот список рассылки предназначен для тех, кто интересуется только периодическими анонсами значительных событий FreeBSD. Сюда включаются анонсы снэпшотов и других релизов, а также новых возможностей FreeBSD. Рассылка может содержать призыв к добровольцам и т.п. Это строго модерируемый список рассылки с малым объемом трафика.
Обсуждение архитектуры и дизайна системы
Эта рассылка предназначена для обсуждения архитектуры FreeBSD. Сообщения в основном строго технические. Примеры подходящих тем:
Как изменить систему сборки для одновременной сборки нескольких по-разному настроенных систем.
Что необходимо исправить в VFS для включения слоев Heidemann.
Как необходимо изменить интерфейс драйверов устройств для использования одних и тех же драйверов на множестве шин и архитектур.
Как написать сетевой драйвер.
Проект аудита исходных текстов
Это список рассылки для проекта аудита исходных текстов FreeBSD. Хотя первоначально он предназначался для изменений, связанных с безопасностью, его назначение было расширено для пересмотра всех изменений кода.
В эту рассылку отправляется большой объем исправлений, и она вероятно не представляет интереса для обычного пользователя FreeBSD. Обсуждения безопасности, не относящиеся к определенному изменению в коде, ведутся в freebsd-security. Разработчикам предлагается отправлять изменения в этот список рассылки для просмотра, особенно если эти изменения затрагивают части кода, ошибки в которых могут повлечь нарушение целостности системы.
Проект бинарного обновления FreeBSD
Этот список предназначен для обсуждений системы бинарного обновления системы, или binup. В этой рассылке обсуждаются вопросы дизайна, детали реализации, исправления, сообщения об ошибках, сообщения о статусе, запросы на расширение функциональности, протоколы коммитов, и все, что относится к binup.
Bluetooth(R) во FreeBSD
Это форум, где собираются пользователи Bluetooth(R) во FreeBSD. Обсуждения касаются вопросов архитектуры, деталей реализации, патчей, сообщений об ошибках, состояния работы, запросов на добавление функций и всего, что относится к Bluetooth(R).
Координация усилий по обработке сообщений о проблемах
Назначение этой рассылки в координации и предоставлении места для обсуждения для лиц, обслуживающих базу данных сообщений о проблемах (bugmeister, bugbusters) и для всех сторон, интересующихся базой данных PR. Эта рассылка не предназначена для обсуждения отдельных проблем, исправлений или PR.
Сообщения об ошибках
Этот список рассылки предназначен для отправки сообщений об
ошибках в FreeBSD. Когда это возможно, сообщения должны
отправляться с использованием send-pr(1) или через
WEB интерфейс
к send-pr
.
Не-технические темы, относящиеся к сообществу FreeBSD
В эту рассылку входят все темы, не подходящие для других рассылок, с не-технической, социальной информацией. Она включает обсуждения на темы: кто пьет слишком много кофе, где варят лучшее пиво, кто варит пиво в своем подвале, и так далее. Нерегулярные анонсы важных событий (такие как будущие встречи, свадьбы, дни рождения, новая работа и т.д.) могут быть опубликованы в технических рассылках, но ответы должны отправляться в -chat.
Вопросы, относящиеся к Chromium во FreeBSD
Список рассылки, предназначенный для обсуждения поддержки Chromium во FreeBSD. Это технический список рассылки, в котором обговаривается разработка и установка Chromium.
Команда FreeBSD core
Это внутренний список рассылки, используемый членами core. Сообщения в эту рассылку могут быть отправлены по серьезной, имеющей отношение к FreeBSD причине, которая требует рассмотрения на самом высоком уровне.
Обсуждения, касающиеся использования FreeBSD-CURRENT
Это список рассылки для пользователей FreeBSD-CURRENT. Он включает предупреждения о новых возможностях, вносимых в -CURRENT, влияющих на пользователей, и инструкции относительно действий, которые должны быть предприняты для поддержки -CURRENT. Всякий, работающий с <<CURRENT>>, должен подписаться на эту рассылку. Это технический список рассылки, все сообщения должны быть строго техническими.
FreeBSD CVSweb Project
Технические обсуждения использования, разработки и поддержки FreeBSD-CVSweb.
Проект документирования
Этот список рассылки предназначен для обсуждения вопросов и проектов, относящихся к созданию документации для FreeBSD. Члены этой рассылки все вместе обозначаются как <<The FreeBSD Documentation Project>>. Это открытая рассылка; присоединяйтесь и участвуйте!
Создание драйверов устройств для FreeBSD
Этот список рассылки предназначен для технических дискуссий, относящихся к написанию драйверов устройств для FreeBSD. Это наилучшее место для того, чтобы задать вопросы по форматам и протоколам общенияi (API) драйверов устройств с ядром FreeBSD.
Список рассылки для пользователей системы Eclipse IDE под FreeBSD, а также ее приложений и портов.
Этот список рассылки призван оказать помощь тем, кто выбирает, устанавливает, использует, разрабатывает и поддерживает работу Eclipse IDE под FreeBSD, а также портирует их под FreeBSD.
Кроме того, в данном списке для общего блага пересекаются и обмениваются информацией сообщества Eclipse и FreeBSD.
Хотя данный список предназначен главным образом для тех, кто использует Eclipse, в нем также можно обсуждать средства разработки приложений для FreeBSD при помощи среды Eclipse.
Использование FreeBSD во встроенных системах
Этот список рассылки, предназначенный для технических обсуждений, рассматривает работу FreeBSD в особо стесненных условиях, в частности, во встроенных (embedded) системах. В данном случае встроенными считаются вычислительные устройства, отличные от настольных компьютеров и выполняющие, как правило, специализированные задачи. Примером могут служить смартфоны, сетевые устройства, такие как маршрутизаторы, коммутаторы и офисные АТС, телеметрические системы, КПК, кассовые терминалы и т.п.
Эмуляция других систем, таких как Linux/MS-DOS(R)/Windows(R)
Этот список рассылки предназначен для обсуждения вопросов запуска и эксплуатации под FreeBSD программ, предназначенных для работы под другими операционными системами.
Взаимная поддержка относящегося к FreeBSD программного обеспечения, более не поддерживаемого проектом FreeBSD.
Этот список рассылки предназначен для интересующихся предоставлением или использованием взаимной поддержки относящегося к FreeBSD программного обеспечения, для которого проект FreeBSD более не предоставляет официальной поддержки (например, в виде сообщений безопасности или патчей).
FireWire(R) (iLink, IEEE 1394)
Это список рассылки, предназначенный для обсуждения дизайна и реализации подсистемы FireWire(R) (также известной как IEEE 1394 или iLink) в FreeBSD. Соответствующие темы относятся к стандартам, устройствам шины и их протоколам, наборам плат/карт/чипов адаптера, а также архитектуре и реализации кода для их правильной поддержки.
Файловые системы
Обсуждения, относящиеся к файловым системам FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Средства визуализации Gecko
Дискуссия о приложениях Gecko, используемых на FreeBSD.
Обсуждение сосредоточено вокруг портированных приложений Gecko, их установки, разработки и поддержки во FreeBSD.
GEOM
Обсуждения, относящиеся к GEOM и связанным с GEOM реализациям. Это технический список рассылки, предназначенный только для технических обсуждений.
GNOME
Обсуждения, относящиеся к графической среде GNOME для системы FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
IP брандмауэр
Это форум для технических обсуждений, относящихся к перепроектированию кода межсетевого экрана IP во FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Портирование FreeBSD на IA64
Это технический список рассылки для тех, кто активно работает над портированием FreeBSD на платформу IA-64 от Intel(R), предназначенный для поднятия вопросов или обсуждения альтернативных решений. Те, кто интересуется обсуждаемыми проблемами, также приглашаются к участию в рассылке.
ISDN соединения
Это список рассылки для обсуждения разработки поддержки ISDN для FreeBSD.
Разработка JavaTM
Этот список рассылки предназначен для обсуждения ключевых приложений JavaTM для FreeBSD, а также портирования и поддержки JDKTM.
Предложение и поиск работы
Это форум для публикации вакансий и резюме, относящихся к FreeBSD. Например, если вы ищете работу, относящеюся к FreeBSD, или у вас есть работа, связанная с FreeBSD, вы можете разместить соответствующую информацию именно здесь. Эта рассылка не предназначена для обсуждения общих вопросов о приеме на работу, поскольку форумы на соответствующие темы уже существуют на других сайтах.
Имейте ввиду, что эта рассылка, как и другие рассылки
FreeBSD.org
, распространяется
по всему миру. Поэтому вам
необходимо чётко указать свое местоположение и область,
с которой возможны телекоммуникации или помощь в
перемещении.
Письма должны быть составлены только в открытых форматах
- предпочтителен чистый текст, но Portable Document
Format (PDF), HTML, и некоторые другие
форматы могут быть прочитаны многими. Закрытые форматы,
такие как Microsoft(R) Word (.doc
)
будут отброшены сервером почтовой рассылки.
KDE
Обсуждения, относящиеся к KDE в системах FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Технические обсуждения
Это форум для технических обсуждений, относящихся к FreeBSD. Это в основном технический список рассылки. Он предназначен для тех, кто активно работает над FreeBSD, и служит для поднятия вопросов или обсуждения альтернативных решений. Те, кто интересуется обсуждаемыми вопросами, также приглашаются к участию в обсуждении. Это технический список рассылки, предназначенный только для технических обсуждений.
Общее обсуждение оборудования FreeBSD
Общее обсуждение типов оборудования, на котором работает FreeBSD, различных проблем и предложений относительно того, какое оборудование можно покупать а какое нет.
Сайты зеркал
Анонсы и обсуждения для поддерживающих зеркала FreeBSD.
Вопросы использования FreeBSD провайдерами
Этот список рассылки предназначен для обсуждения тем, имеющих значение для провайдеров, использующих FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Mono и C# приложения на FreeBSD
Этот список рассылки посвящен обсуждениям разработки инфраструктуры Mono на FreeBSD. Это технический список рассылки, который предназначен для людей, активно работающих над портированием Mono или C# приложений на FreeBSD, для освещения проблем или обсуждения альтернативных решений. Также к дискуссии приглашаются все заинтересованные данной темой.
Офисные приложения во FreeBSD
Тема этого списка рассылки - офисные приложения, установка офисных приложений, их разработка и поддержка во FreeBSD.
Обсуждения оптимизации или повышения скорости FreeBSD
Этот список рассылки существует как место для обсуждения тем, имеющих отношение к производительности FreeBSD, хакерами, администраторами, и/или заинтересованными сторонами. Приемлемые темы включают обсуждения установок FreeBSD, которые находятся под высокой нагрузкой и сталкиваются с проблемами производительности, или преодоление ограничений FreeBSD. Заинтересованным сторонам, собирающимся работать над улучшением производительности FreeBSD, настоятельно рекомендуется подписаться на эту рассылку. Это техническая рассылка, идеально подходящая для пользователей, хакеров или администраторов, заинтересованных в скорости, стабильности и расширяемости FreeBSD. Это не рассылка вопросов-и-ответов, заменяющая чтение документации, а место, где можно внести свой вклад или получить информацию по еще незатронутой теме, связанной с производительностью.
Обсуждение брандмауэра на базе packet filter
Обсуждения, касающиеся работы пакетного фильтра pf под FreeBSD. Допускаются как вопросы пользователей, так и технические дискуссии. Помимо этого, в данном списке уместно обсуждать инфраструктуру ALTQ QoS.
Портирование на не-Intel(R) платформы
Кросс-платформенные вопросы FreeBSD, общее обсуждение и предложения для не-Intel(R) портов FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Правила core team
Это рассылка с малым количеством сообщений, только для чтения, предназначенная для публикации решений FreeBSD Core Team.
Обсуждения <<ports>>
Обсуждения, относящиеся к <<коллекции портов>>
FreeBSD, (/usr/ports
), инфраструктуры
портов и общих усилий по координации портов.
Это технический список рассылки, предназначенный только для
технических обсуждений.
Обсуждение проблем в <<ports>>
Обсуждения, относящиеся к сообщениям о проблемах для
<<коллекции портов>> FreeBSD
(/usr/ports
), предлагаемых портов, или
изменений к портам. Это технический список рассылки,
предназначенный только для технических обсуждений.
Работа FreeBSD на серверной платформе HP ProLiant
Этот список используется для обсуждения технических аспектов использования FreeBSD на серверах HP ProLiant, в том числе для обсуждения специфичных для ProLiant драйверов, управляющего ПО, систем конфигурации и обновлений BIOS. В частности, это основное место для обсуждения модулей hpasmd, hpasmcli и hpacucli.
Python во FreeBSD
Этот список рассылки посвящён обсуждениям, связанным с улучшением поддержки Python во FreeBSD. Это технический список рассылки. Он предназначен тем, кто работает над портированием во FreeBSD языка Python, модулей сторонних разработчиков для него и Zope. К участию приглашаются также все, кому интересны технические вопросы.
Вопросы пользователей
Это список рассылки по вопросам о FreeBSD. Вы не должны отправлять вопросы <<как сделать>> в технические рассылки, если только не уверены, что ваш вопрос чисто технический.
Обсуждения, касающиеся специфики использования Ruby во FreeBSD
Список рассылки по вопросам поддержки Ruby на FreeBSD. Это технический список рассылки, который предназначен для людей, работающих над портами Ruby, над инфраструктурой и библиотеками от третьих сторон.
Также к обсуждению приглашаются все, кто заинтересован этой технической дискуссией.
Подсистема SCSI
Это список рассылки для тех, кто работает над подсистемой SCSI для FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Вопросы безопасности
Вопросы безопасности FreeBSD (DES, Kerberos, известные проблемы безопасности и исправления, и т.п.). Это технический список рассылки, предназначенный только для технических обсуждений. Обратите внимание, что это не рассылка вопросов-и-ответов, но дополнения в FAQ (И вопрос И ответ) приветствуются.
Уведомления безопасности
Уведомления о проблемах безопасности FreeBSD и исправления. Эта рассылка не предназначена для обсуждений. Для обсуждения предназначена рассылка FreeBSD-security.
Использование FreeBSD во встроенных приложениях
В этой рассылке обсуждаются темы, связанные с необычно малыми и встроенными установками FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений.
Этот список рассылки устарел; следует использовать freebsd-embedded.
Обсуждения, касающиеся использования FreeBSD-STABLE
Этот список рассылки предназначен для пользователей FreeBSD-STABLE. Он включает предупреждения о новых возможностях, добавляемых в -STABLE, и влияющих на пользователей, и инструкции по действиям, которые необходимы для поддержки системы в состоянии -STABLE. Всякий, использующий <<STABLE>>, должен подписаться на эту рассылку. Это технический список рассылки, предназначенный только для технических обсуждений.
Соответствие C99 и POSIX
Это форум для технических обсуждений, относящихся к соответствию FreeBSD стандартам C99 и POSIX.
Поддержка встроенных инструментальных средств FreeBSD
Список рассылки для технических дискуссий, относящихся к поддержке инструментальных средств, поставляемых с FreeBSD. Сюда включено состояние Clang и GCC, а также части программного обеспечения, такого как ассемблеры, компоновщики и отладчики.
Обсуждение поддержки USB в FreeBSD
Это форум для технических обсуждений, относящихся к поддержке в FreeBSD устройств с интерфейсом USB.
Список координации групп пользователей
Этот список рассылки предназначен для обсуждения вопросов координаторами каждой группы пользователей и назначенным членом Core Team. Обсуждения в этой рассылке ограничены темой встреч и координацией проектов, относящихся к группам пользователей.
Поставщики
Обсуждения, относящиеся к координации между FreeBSD Project и поставщиками программного и аппаратного обеспечения для FreeBSD.
Обсуждение различных техник виртуализации, поддерживаемых FreeBSD
Список рассылки, который предназначен для обсуждений различных техник виртуализации, поддерживаемых FreeBSD. С одной стороны фокус сосредоточен на реализации базовой функциональности, также, как и на добавлении новых возможностей. С другой стороны, пользователи получают возможность обратиться за помощью в случае возникновения проблем или обсудить их конкретные варианты использования.
Статус начатых работ (Work-In-Progress) во FreeBSD
Этот список рассылки может быть использован для анонсов начала и прогресса вашей работы над FreeBSD. Сообщения модерируются. Предполагается, что сообщение посылается ("To:") в тематический список рассылки FreeBSD, а в этот список отправляется копия ("BCC:"). Таким образом ваша работа может обсуждаться в тематическом списке рассылки, так как в этом списке дискуссии не разрешены.
Выборочный обзор сообщений из этого списка рассылки может публиковаться на сайте FreeBSD как часть Status Reports [11].
Если вам нужны подходящие примеры сообщений, загляните в архивы рассылки или на страницу Status Reports.
Обсуждение разработки стека 802.11, утилит, драйверов устройств
Список рассылки FreeBSD-wireless предназначен для обсуждения разработки стека 802.11 (sys/net80211), утилит и драйверов устройств. Сообщения о проблемах и новых функциональных возможностях также направляются в эту рассылку.
Обсуждение портирования FreeBSD на XenTM - реализация и использование
Список рассылки, предназначенный для дискуссий на тему портирования FreeBSD на XenTM. Ожидаемый объем сообщений довольно невелик, поэтому эта рассылка объединяет как технические обсуждения реализации и деталей дизайна, так и административные вопросы развертывания.
Списки рассылки FreeBSD фильтруются различными способами для предотвращения распространения спама, вирусов, и другой нежелательной почты. Действия по фильтрации, описанные в этом разделе, не включают всех используемых для фильтрации списков рассылки проекта действий.
Только определенные типы вложений разрешены в списках рассылки. Все вложения с типами MIME содержимого, не входящие в список ниже, будут вырезаться перед тем, как письмо будет отправлено в список рассылки.
application/octet-stream
application/pdf
application/pgp-signature
application/x-pkcs7-signature
message/rfc822
multipart/alternative
multipart/related
multipart/signed
text/html
text/plain
text/x-diff
text/x-patch
Некоторые из списков рассылки могут пропускать вложения других типов MIME, но список выше применим к большинству рассылок.
Если письмо содержит как HTML, так и только текстовую версию, версия HTML будет удалена. Если письмо содержит только HTML версию, она будет конвертирована в простой текст.
В дополнение к двум относящимся к FreeBSD группам новостей,
существуют множество других, где обсуждается FreeBSD или куда
помещается другая информация, относящаяся к пользователям FreeBSD.
Архивы
с поиском по ключевому слову доступны для некоторых из
этих новостных групп благодаря Warren Toomey
<wkt@cs.adfa.edu.au>
.
de.comp.os.unix.bsd (German)
fr.comp.os.bsd (French)
it.comp.os.freebsd (Italian)
tw.bbs.comp.386bsd (Traditional Chinese)
Страница форумов FreeBSD предоставляет веб форум для технических дискуссий и вопросов о FreeBSD.
Страница Planet FreeBSD содержит коллекцию ссылок на десятки блогов, ведомых разработчиками FreeBSD. Многие разработчики используют свои блоги для размещения коротких сообщений о своих текущих занятостях, о новых патчах и о прогрессе в своих работах.
Страница Конференций BSD на YouTube предоставляет коллекцию видеозаписей с Конференций BSD со всего мира. Это прекрасная возможность ознакомиться с презентациями от ключевых разработчиков, освещающих новые работы во FreeBSD.
Центральные серверы
Armenia
http://www1.am.FreeBSD.org/ (IPv6)
Австралия
Австрия
http://www.at.FreeBSD.org/ (IPv6)
Великобритания
Германия
Гонконг
Дания
http://www.dk.FreeBSD.org/ (IPv6)
Ирландия
Испания
Канада
Латвия
Литва
Нидерланды
Норвегия
Россия
http://www.ru.FreeBSD.org/ (IPv6)
Словения
США
http://www5.us.FreeBSD.org/ (IPv6)
Тайвань
Финляндия
Франция
Чехия
http://www.cz.FreeBSD.org/ (IPv6)
Швейцария
http://www.ch.FreeBSD.org/ (IPv6)
http://www2.ch.FreeBSD.org/ (IPv6)
Швеция
Южная Африка
Япония
Следующие группы пользователей предоставляют для своих участников почтовые адреса. Приведенные в списке администраторы оставляют за собой право удалить адреса при любом злоупотреблении.
Домен | Возможности | Группа пользователей | Администратор |
---|---|---|---|
ukug.uk.FreeBSD.org | Только пересылка | <ukfreebsd@uk.FreeBSD.org> | Lee Johnston
<lee@uk.FreeBSD.org> |
В случае, если вам нужно проверить подпись или послать
зашифрованное электронное письмо одному из офицеров или
разработчиков, то для вашего удобства здесь представлено
некоторое количество ключей. Полный список ключей пользователей
FreeBSD.org
доступен для скачивания
с http://www.FreeBSD.org/doc/pgpkeyring.txt.
<security-officer@FreeBSD.org>
pub 1024D/15D68804CA6CDFB2 2002-08-27 [expires: 2014-01-01] Key fingerprint = C374 0FC5 69A6 FBB1 4AED B131 15D6 8804 CA6C DFB2 uid FreeBSD Security Officer <security-officer@FreeBSD.org> sub 2048g/E8C96EEFA3071809 2002-08-27 [expires: 2014-01-01] pub 4096R/ED67ECD65DCF6AE7 2013-09-24 [expires: 2018-01-01] Key fingerprint = 1CF7 FF6F ADF5 CA9F BE1B 8CB2 ED67 ECD6 5DCF 6AE7 uid FreeBSD Security Officer <security-officer@FreeBSD.org> sub 4096R/B64357A343D9CBAE 2013-09-24 [expires: 2018-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 EJcQuJvKV618Tc8H/1N8o39AF8A4CZ4LVL1afqjRgHRYvSLXqC2SvFq+G9QKRanb 0E64Kh7///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////+JAZwEEAECAAYFAlF1oN0ACgkQ jw7rxHtHFsmrwgv/aVGvQnxFX1BGQse85UTZig5GvslhktVGRcdBb86YKzsLxFRE Pc8IOqItTSxBtvSTQEyQuYXMZfP1+iw1uQm+OyqP0cEipeo/fCcUXDjndMslHb2O 5jE1kqOGh3SvvQzUtS8Y6O/iKiR6urQFJYXGF4gkyvBRw9MyIf60HnSxM8QX8AMh C3JOoDrTIhFLq8WFkrdPU37zvJet/k80+uFXL7vToO8AIvzynRKzuQLRn0DlFUDA hWvvy+lXsquL9sGzyE9oOQDcBmkSArNpJ5zFi9g8p/45dvjHWcqNYNe35zq+7QG1 ctN7kjPvJNWFuFE0PwwQ/LCNwg2XYoOUDDnNQXhcZAa/eD5bUmJtD71AYIx0SlmM X8xoCh83SD6qK/eML6gKSOMc2Kxoq7BEHG230/sjSqUrWHW31ikcPTxB1q8aSW1X pSNpBcpVNYeJfCImEi/FH+pUY3ueIEt1B2NzuUTmopg7kYqQfEnOFYnNjdV1G4D3 VwwDdWhVVET7x8ltiQGcBBABAgAGBQJRdaDiAAoJEBrKdusyNTqzoLcMAJsY/oTM zdqj6rAd0rLulQ8ZrTb5VFGS6bhFrv98h8mn/nJ7nM368A7F0GoxjAHTgvXndgxl 7+xuxCCBdcxT0/oFGwU7T1chvZ/MEa6ErXLsJb2jXpI/tXMSuwkhX4Tkza063v+D yfjDDgIgoblUUSQzJsfrnAGniq1kXl7EdlMTjIRUHKfXLnOqdvWq2cloP0W7RzXC YMC03w7nOUSbz4PBHHGPareNPz//wEAUeCIt4GcqPNh8n+zRrylklVebO4HMaVuf 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 =Ba2T -----END PGP PUBLIC KEY BLOCK-----
<secteam-secretary@FreeBSD.org>
pub 4096R/3CB2EAFCC3D6C666 2013-09-24 [expires: 2018-01-01] Key fingerprint = FA97 AA04 4DF9 0969 D5EF 4ADA 3CB2 EAFC C3D6 C666 uid FreeBSD Security Team Secretary <secteam-secretary@FreeBSD.org> sub 4096R/509B26612335EB65 2013-09-24 [expires: 2018-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =5gJ7 -----END PGP PUBLIC KEY BLOCK-----
<core-secretary@FreeBSD.org>
pub 4096R/36A7C05FE1ECF9BB 2014-07-09 [expires: 2015-07-09] Key fingerprint = C07B F5E3 10AE 64BF 6120 B0F6 36A7 C05F E1EC F9BB uid FreeBSD Core Team Secretary <core-secretary@freebsd.org> sub 4096R/7B5150C8D7CE5D02 2014-07-09 [expires: 2015-07-09]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =zQ/h -----END PGP PUBLIC KEY BLOCK-----
<portmgr-secretary@FreeBSD.org>
pub 2048R/D8294EC3BBC4D7D5 2012-07-24 Key fingerprint = FB37 45C8 6F15 E8ED AC81 32FC D829 4EC3 BBC4 D7D5 uid FreeBSD Ports Management Team Secretary <portmgr-secretary@FreeBSD.org> sub 2048R/5CC117965F65CFE7 2012-07-24 sub 4096R/CA20328577064EB7 2013-10-05 sub 4096R/8B114B3613867E00 2013-10-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFAOzqYBCACYd+KGv0/DduIRpSEKWZG2yfDILStzWfdaQMD+8zdWihB0x7dd JDBUpV0o0Ixzt9mvu5CHybx+9lOHeFRhZshFXc+bIJOPyi+JrSs100o7Lo6jg6+c Si2vME0ixG4x9YjCi8DisXIGJ1kZiDXhmVWwCvL+vLInpeXrtJnK8yFkmszCOr4Y Q3GXuvdU0BF2tL/Wo/eCbSf+3U9syopVS2L2wKcP76bbYU0ioO35Y503rJEK6R5G TchwYvYjSXuhv4ec7N1/j3thrMC9GNpoqjVninTynOk2kn+YZuMpO3c6b/pfoNcq MxoizGlTu8VT4OO/SF1y52OkKjpAsENbFaNTABEBAAG0R0ZyZWVCU0QgUG9ydHMg TWFuYWdlbWVudCBUZWFtIFNlY3JldGFyeSA8cG9ydG1nci1zZWNyZXRhcnlARnJl ZUJTRC5vcmc+iQE4BBMBAgAiBQJQDs6mAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe AQIXgAAKCRDYKU7Du8TX1QW2B/0coHe8utbTfGKpeM4BY9IyC+PFgkE58Hq50o8d shoB9gfommcUaK9PNwJPxTEJNlwiKPZy+VoKs/+dO8gahovchbRdSyP1ejn3CFy+ H8pol0hDDU4n7Ldc50q54GLuZijdcJZqlgOloZqWOYtXFklKPZjdUvYN8KHAntgf u361rwM4DZ40HngYY9fdGc4SbXurGA5m+vLAURLzPv+QRQqHfaI1DZF6gzMgY49x qS1JBF4kPoicpgvs3o6CuX8MD9ewGFSAMM3EdzV6ZdC8pnpXC8+8Q+p6FjNqmtjk GpW39Zq/p8SJVg1RortCH6qWLe7dW7TaFYov7gF1V/DYwDN5iQEcBBABAgAGBQJQ DuVrAAoJENk3EJekc8mQ3KwIAImNDMXAF8ajPwCZFpM6KDi3F/jpwyBPISGY1oWu YPEi1zN94k5jS90aZb3W8Y8x4JTh35Ewb6XODi3uGLSLCmnlqu2a80yPfXf5IuWm IQdFNQxvosj9UHrg+icZGFmm+f0hPJxMTsZREv3AvivQfnb/N3xIICxW4SjKSYXQ cq4hr4ObhUx7GKnjayq+ofU2cRlujr87uOH0fO3xhOJG4+cX5mI1HGK38k0Csc1z qYa/66Qe5dnIZz+sNXpEPMLAHIt1a45UB967igJdZSDFN33bPl1QWmf3aUXU3d1V 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 pDN9ZUgVOk/c+0+5u+G3JBRYu6P1 =fyjO -----END PGP PUBLIC KEY BLOCK-----
<gavin@FreeBSD.org>
pub 4096R/4DA114E5C4A2E57F 2013-09-25 [expires: 2018-09-24] Key fingerprint = A12B D878 2A5E A90F D37C 43BC 4DA1 14E5 C4A2 E57F uid Gavin Atkinson (Work email) <gavin.atkinson@york.ac.uk> uid Gavin Atkinson (Work email - deprecated) <ga9@york.ac.uk> uid Gavin Atkinson (URY email) <gavin.atkinson@ury.york.ac.uk> uid Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org> sub 4096R/443BBD9486DFCC25 2013-09-25 [expires: 2018-09-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 FH8dwCRO1I41T64qjV/9ZiGNaLax =ygbj -----END PGP PUBLIC KEY BLOCK-----
<theraven@FreeBSD.org>
pub 4096R/65C4F55D 2012-11-28 Key fingerprint = 3E8F 5E9F 7586 F090 AC2C 58C2 BA06 FF14 65C4 F55D uid David Chisnall <theraven@FreeBSD.org> sub 4096R/04B2A21D 2012-11-28
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 JHb9JdgKmF4SXR4Z6/y3LFUPc4g= =70vB -----END PGP PUBLIC KEY BLOCK-----
<bapt@FreeBSD.org>
pub 1024D/49A4E84C 2008-11-19 Key fingerprint = A14B A5FC B860 86DE 73E2 B24C F244 ED31 49A4 E84C uid Baptiste Daroussin <bapt@etoilebsd.net> uid Baptiste Daroussin <baptiste.daroussin@gmail.com> uid Baptiste Daroussin <bapt@FreeBSD.org> sub 2048g/54AB46B4 2008-11-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEkkLyARBACYi5Qr3qvyrpp0rgqK4cAwteOZbhB3Jt2uxuzrKnKeTw3y4DrG lD+7wAwKmLapXFobxCmndhXNnWw1Viy+hiBN5id8c6TmLF+I4lbxL1Nmzl++ifVr OdOTqXH/L6kbKF80bY3zhgzR6EtH/0UjL6aXNWyLv/2l88+vx+Qrc5NhJwCgwzkS RbUjFKhyAxh7APNTUqV/ZfUD/3nnu/ti17KqQhiRgm6qup2ZPOOpOtlJ8J4dDFtd crmhH/ViE5ze8hPVTymufvLj3dWJXB3gA4CJbMmD9qQMaNJ1q7tEIe1MVNUEVop3 4BEl0oRJyeUlT9QuVqM2GzsBeIiTikZMMpRlZOuuYwm5sbx3nrDHaiBKAkthZF0z l9dlA/9QdSfmViz/x7B9Oa7WfkvmAH4/nMIxaBsliNAtK6peaPFo9M03wgfh0eo0 3JjLAVFbembVkYkA9HqqMFx7Z1W0i1WJAr5SC7gX6Pf3pQPmKIKJKJykXzIRmL6M boUYksuTrtZIDiz/luiEg3wVUONLe6iX18v4RzvS03F3T4HAULQxQmFwdGlzdGUg RGFyb3Vzc2luIDxiYXB0aXN0ZS5kYXJvdXNzaW5AZ21haWwuY29tPohgBBMRAgAg BQJJJC8gAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ8kTtMUmk6EwjzQCg u6livnP3Mpb8zzzAvfNloYFVW6AAnRwemMVD3FRe1Rn+Ci3lfgySMDmltCVCYXB0 aXN0ZSBEYXJvdXNzaW4gPGJhcHRARnJlZUJTRC5vcmc+iGIEExECACIFAkxO2FcC GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMb0YAnjOkFOYw 8gjML7yPL7w3WNukE/XzAJ94L1XFYK7seJA4zHkMI1nTG3SZjLQnQmFwdGlzdGUg RGFyb3Vzc2luIDxiYXB0QGV0b2lsZWJzZC5uZXQ+iGIEExECACIFAkxO2G4CGwMG CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMSlsAnj1fB+Mtca/J umANnc/GL7iWGjStAKCkEJmZyABghRDR8HxMzJEgfGYZ97kCDQRJJC8gEAgA3nSj 7ISAocQ76ew5bSc+aW/cLqnAvWnEFOtwneahbOOrwpLRt1CtCC7bFsWnkqsFJT6N UFcc1dJl0D0+JMql1+uvyiBK4kLGhw/kayWqGhWVYAwul375lLxyj+Er3zGAMdLv vbGtg4+8vt6jpF1CvKLQzGQ3UJDlCKz3XST/tRUUFoq/5lD58wqJBOyjKgv+nU5g nmVJbmsNtRH8gArX1b1Mld4pnfYdMcRVpbna7Ct78GJDbvsRZnR+YlMMc7De0zd1 /oeYo7TBc8isPRxFvdd6d6GIuDPuiK6EXZphrwzQSqG3/hp9SHgC6of9yVzP3wFi mrVRyyUQKVHYX21u0wADBQgAvbwssU0S6THyBaPr6S+tbTKS8is81SZ87kiUmu1J /qyKHXkl/aiC39DBX+a2nr9hUbtUsdYlEmWf4LMACm4jt0mPKrL2EbAUSRCVqJ0M c9TliU7X+ULExN7DNa7B93ux4TaGr04CjEuQxfdg3Ob1YDeJ6bzKIK8f64eB51as 31mUaWC5Jwsj8O1XgP/yNvKi0vnJb4bBava0h2U75oU9GzeWr644KRnh2FGKwpnX HSqFq3opG/PR4PbSYkf2R2Eeo7Ox46iCWRrNjjgHXK/GjH8skjXoWWmD9S0h73b9 KNDXRPD49G0P4yvNV6p08laVUl3G6A63aA1/cBqVGFsyg4hJBBgRAgAJBQJJJC8g AhsMAAoJEPJE7TFJpOhMLooAoI1+f30zI1xxIXjy08NLxCQv+9nbAKChzUNzc5OI D2+VxC1zkCRqhNa+rg== =NqtT -----END PGP PUBLIC KEY BLOCK-----
<emaste@FreeBSD.org>
pub 2048R/50A17BF4 2012-12-18 Key fingerprint = 0C08 ECC9 3A0A 8500 AB95 B553 49C4 7851 50A1 7BF4 uid Ed Maste <emaste@freebsd.org> sub 2048R/08FA5F72 2012-12-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFDQkJMBCADPPfZXZY16ONN40Z6afHF3hxGZsczwVUQ7qlNQzjfvUk5MJV7H VeKpLAN9pHLk9tg2xTXzcMbGe/baBQrw4kt23SwvQ1Q034nRcolio6rx4sq/E7EH vxRmwCgn4n/g1b/S8xzcXqFeDpdhY1RAbWdpQwscaj4hSCEAo2KrJ3tlsZqVRu35 wKAW5eVlrPZghi3jTPQxzdz4QNqLFR5aQdp5MrxhKcm6rnC7JeyuLAFruWoHBoqg 5P8dKjEMNPBzIJdWC2iEWqsiVOrJZ5YbCpZtbPlM82oGCUoC1QmW4kip3BJSBAJK wZlwRvHiMbjhjDGJaliHVx8G8NiJPrdDZlMdABEBAAG0HUVkIE1hc3RlIDxlbWFz dGVAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJQ0JCTAhsDBgsJCAcDAgYVCAIJCgsE FgIDAQIeAQIXgAAKCRBJxHhRUKF79BotCADC09bvfZqcpiFH3HeQbH2SKeK6vNpI v1Uoib443EBajOKw19JkjOmPzwnFrKF1WSXrKYpp1iwUlvNgR1C+nMeGPOQCtLzU g49uuoC5q6FdMJIdYKjbVziga96UZme6kuSUUdv5/aumEuOfVvHewZQNWUdq1zbj RuBBesSKWULmUW4K7cBRGGvmAqIpWLL2lmZheT3WHzmLIwwqE4Xs8sgfijxxXrzz tAi7NVVEbOtDxlKZYINKXGXm4xfomuY4eAg+pCH58kEwgEudEspNQP+axJ0Bovh5 yq7cVm7zHbmrxSWSzLjAfprs84m3XIoX9wzlit2tydUbQxlALqcqpDffuQENBFDQ kJMBCADODYSrW+MNgYsqOZpg7hQL+oWPak+DJW+mAe93D0T6iS7g7ZDX7XSSl+LE R/9bLa6alA7qXDJFf41yl9Gw7vP7k5SFAT0mukffR4wiXqsTKcdGj8LxV8JllAQT h3r38gNhZRDr4UQ1MZxWseeZx6myj8vskCiv4Rd0qEOlOE7AgiJdUdUoVLnjZkDE o+UbOhqSfSCWEQNItJ7dRGsmxGAUH4pIZcdu4NIYINt2yNIQCO/NTDFj80dpIWxt Q1BNqL45ZkWG0B3J1j4tsze7dGvWnXZfJQyvTeNeSg6WteyqQSQ98WgvFQkWceUv 1ooA5bHG0xAtg2OI4L2ZvzLINfrRABEBAAGJAR8EGAECAAkFAlDQkJMCGwwACgkQ ScR4UVChe/RV3wf9F+TfpN7DC7m7+5aACXpDB86xCSGG4COtSyU8Gs0tgS84aE/b KUCdRZOwvz5dHAQUaPcgRNuNYscu2aAN4DYdPWrU59tn1s6+xYvWpgkzt+GGsni3 gsz7vot3vUEzf7kOMV+NgdBEEIKgUT3TuIU5wQ/fevYGN1gdMeXiYSJ+PSfaZWnr Eee3zGU6TtR1WUgjQLoSdvDPzsFaNYSbCGYKXwSQOw7ysp1tY6Wai3teMb1Q9YNe BpQCsjEhGSuocr1R34+Nvmo6OcOpSeqEN3XRlz4PIGcXUY9Jp9gtGBSeFLasihfC SDQa/FThS6824wFQfaya638NZbjhCzrtxx4gdA== =aAkV -----END PGP PUBLIC KEY BLOCK-----
<gnn@FreeBSD.org>
pub 1024D/440A33D2 2002-09-17 Key fingerprint = AF66 410F CC8D 1FC9 17DB 6225 61D8 76C1 440A 33D2 uid George V. Neville-Neil <gnn@freebsd.org> uid George V. Neville-Neil <gnn@neville-neil.com> sub 2048g/95A74F6E 2002-09-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD2Gwe4RBACw78PVfE2fA9U0mISJrV1ohjdkzVTly0WQ/YwMgyB/J/Z/M35G zIc8yKi8YR/6QYGqgEzeKAhrUIDyBfudhaJ527gyR3Xi+QHgWMQDvd41NlqM5DBn yIVKj10DmDYjcHm29M1OHAkXKZT6tHCqp1dKFD7EXtY1bOakvN7TIKld7wCg6AS/ iPmIvGE7wpFlcFkYIjjL4ksD/iKpKneEwB7dEksyDQX8l18v58x0lH334WDgRO5a X3Wlc4He8b3kWzBWK0z81XE8Z7ip0Io13LHhamLp1P1eDX4sWKQpJmdRtHziC9R6 4GwW9P7aCUCCf91XxaYEU2j755u1Zby3gF1tbookwO1iXQERYuo3ZHezH1bkdRk2 HNecA/9+HCfVESjRFPfOEVqljx+Lm5atTx5VX/D/6iprDUARn0YgW5xrwM8doeNI UxkBOUszEUPDpXPnMI5RWB+0siQhZl3yX+lUPtASrEj84rpOSXZtNPAkHit/iwva pW75gZjt9yN7IhVQVw8O2OMTRGNoWsshzKzznqxNP3p1JYYq/rQtR2VvcmdlIFYu IE5ldmlsbGUtTmVpbCA8Z25uQG5ldmlsbGUtbmVpbC5jb20+iFkEExECABkFAj2G we4ECwcDAgMVAgMDFgIBAh4BAheAAAoJEGHYdsFECjPS6hUAni/U8Zbrr+TFHLt3 cLg0VWnWxCI/AKCNqxRmA/HlZLPRzhVCQODgfbOG4LQoR2VvcmdlIFYuIE5ldmls bGUtTmVpbCA8Z25uQGZyZWVic2Qub3JnPohgBBMRAgAgBQJDtkW7AhsjBgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQYdh2wUQKM9LtQACfTi75crWjtxxVJUmGSn2+ CDnlCesAnRqM+XSv9/KnZ3O/GRtpkNwT9NCJuQINBD2GwgUQCACvJfoCKfRo3y1J kaisLLtSVsqCeF1mlwfBGyvD0Lu0VnDGuy9aHExafNEbUaW+OQe0YXtZeX70CUPF nizBcDEsHEj1pC9HoZCSoYXtqORBa3ZIUwz+jJbjHJErs7XM/EshhAollC14rXKt K7+UVCw5JkCmialF7LAyWgqeBilwtKUBpIaXquf0/qws+uOikcZb3UttamQFUW0Y l4KKHP24cvCOXSlx8Kl9l2rQzfedjQPXI98zkcR3SEjZ07cDs+mQOTax2OgVS3F2 nDUEqLQmAiftHFWQ0h3RBpEYLGTNd3gXXxJPxZdR7YIBnxvJ7RZM5qGgZfTc0Jm4 aM5s+As3AAMFB/0dVB40Fvk74U6mwHLMwEkzHiZoVVZPBUMsuqb3FlgZrMYmwa3q APNhPhWSO9pLQlPJ99nFFj1lRUU7OO/oihsdKLEfT2CT5tqa6fAWoiSQIKBBbkrm bQedeXPWtvJezS0FY17rOfK8242Lnq+djS8ihBxSKpCVbwWO1DPktu6hGzWQz+x2 B91jbMfM9/n00xEkZ4Z2H0dSZNY2WKqK+MkqAiYf6uJBs7BZV391WWQ1fagCP/Tf HPM0gDnwFfqSJmxJzPm3upTmYgoSRqri7NH3Wec5pY15b67JFHMpMFbgauEsiDSi CCk4YxHfge4SMe6noPICAjN6PCkIMDldxi+ZiEYEGBECAAYFAj2GwgUACgkQYdh2 wUQKM9KJgACgwzfFmUB4diy5sTzLVLE3TCqwnJYAn39ByQnv/FeLGSY/blYrVsQK aCpC =SotO -----END PGP PUBLIC KEY BLOCK-----
<hrs@FreeBSD.org>
pub 1024D/2793CF2D 2001-06-12 Key fingerprint = BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D uid Hiroki Sato <hrs@allbsd.org> uid Hiroki Sato <hrs@eos.ocn.ne.jp> uid Hiroki Sato <hrs@ring.gr.jp> uid Hiroki Sato <hrs@FreeBSD.org> uid Hiroki Sato <hrs@jp.FreeBSD.org> uid Hiroki Sato <hrs@vlsi.ee.noda.tus.ac.jp> uid Hiroki Sato <hrs@jp.NetBSD.org> uid Hiroki Sato <hrs@NetBSD.org> uid Hiroki Sato <hrs@ec.ss.titech.ac.jp> uid Hiroki Sato <hrs@ieee.org> uid Hiroki Sato <hrs@acm.org> uid Hiroki Sato <hrs@bsdconsulting.co.jp> uid Hiroki Sato <hrs@bsdresearch.org> uid Hiroki Sato <hrs@ec.ce.titech.ac.jp> sub 1024g/8CD251FF 2001-06-12
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 OGg0F7Gi41lcFhA= =RnDy -----END PGP PUBLIC KEY BLOCK-----
<glebius@FreeBSD.org>
pub 2048D/6C7E5E82 2013-01-30 [expires: 2023-08-25] Key fingerprint = 6E06 7260 B83D CF2C A93C 566F 5185 0968 6C7E 5E82 uid Gleb Smirnoff <glebius@FreeBSD.org> sub 2048g/11E89DCE 2013-01-30 [expires: 2023-08-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =EioC -----END PGP PUBLIC KEY BLOCK-----
<peter@FreeBSD.org>
pub 1024D/1512AE527277717F 2003-12-14 Key fingerprint = 622B 2282 E92B 3BAB 57D1 A417 1512 AE52 7277 717F uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.ORG> sub 1024g/2C5F53778B40D9D1 2003-12-14 pub 2048R/35D69709EC809E04 2014-05-08 [expires: 2024-05-05] Key fingerprint = 060A C0D1 5AFF BDF3 55B8 FA14 35D6 9709 EC80 9E04 uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.org> sub 2048R/B5D591B339B03C75 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =TYGW -----END PGP PUBLIC KEY BLOCK-----
<ariff@FreeBSD.org>
pub 1024D/C5304CDA 2005-10-01 Key fingerprint = 5C7C 6BF4 8293 DE76 27D9 FD57 96BF 9D78 C530 4CDA uid Ariff Abdullah <skywizard@MyBSD.org.my> uid Ariff Abdullah <ariff@MyBSD.org.my> uid Ariff Abdullah <ariff@FreeBSD.org> sub 2048g/8958C1D3 2005-10-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEM+MioRBACP2lgLXXL1cIqZ8sdgUMaon8gBQWTn40tjTV3N6GtR+NUYbQI2 Fcg43aopA9VVoeVyBlCSAyaiLTzZkyg1XRDqsjz9BnRWotwTX2e26ndVgsUzmXs6 NjBcCYYNfVQ09BN3B05FRlPRpveMzCkZCFmWJCzjAYBMg/60fSia2In4twCg6Pr9 Bp/eR5Ny9z4WzpIsynAt6rMD/1pDoV+FbZ6iw80Zq7pdyspPdPCRIzXhYsoe5uTX kjWRWixctbphxgvMheQWZNPNhDyDo/YvuPa2qtrHCDqRYSgmAHPC+NWfyoJhCMjG WMjcW9wWZ0j2Oc2uCTvficrGKF8U9ol6E+x6tlc5Cw2jjrPkwJCd70W9SByrgIdv 51bNA/4nBw7S9grYcnKChYu9mGMsAixCXzMeIVc043Y2SD1NBg59ZNiaSkmRyD6E dCYRDhQeF2CePV3ZhlXDxOm6vD2l4H+9sQ1TRlEP/ARejwJrPPRO+plCf8pLDgj+ 78Kj2OlEwC+ziMdXyk8W91FhtCCDXQgDnf3ND/h4IWTzrVD0dbQjQXJpZmYgQWJk dWxsYWggPGFyaWZmQE15QlNELm9yZy5teT6IYAQTEQIAIAIbAwIeAQIXgAUCQ1EY kQYLCQgHAwIEFQIIAwQWAgMBAAoJEJa/nXjFMEza1FsAnjbSH6NqUl+VC42MGNYG 6xGCfJoxAJ93L2Zf9C/ug6afFr4Bh/HoJbFiOrQiQXJpZmYgQWJkdWxsYWggPGFy aWZmQEZyZWVCU0Qub3JnPohgBBMRAgAgAhsDAh4BAheABQJDURiFBgsJCAcDAgQV AggDBBYCAwEACgkQlr+deMUwTNqW7wCeLHdcpasWMJgoqfLIM8PTJ/UlZ28AoLF0 V2UMd0CdWCANmPNdZcME6jietCdBcmlmZiBBYmR1bGxhaCA8c2t5d2l6YXJkQE15 QlNELm9yZy5teT6IYAQTEQIAIAIbAwIeAQIXgAUCQ1EYnQYLCQgHAwIEFQIIAwQW AgMBAAoJEJa/nXjFMEzaMs0An0gHq10v/5mnLWBYqnwZ+SnZNCYbAKDaTpCa6ddQ 7jdr/lmi8XwK+blRqLkCDQRDPjIxEAgAudaX6QqmUT7UjXmxjlNr6wdDT0BDCu9H ZJuYt9Nf5V0Yd9ExfhRKh2YoYoW0790gka92R7uvrs7FJiu35KrYvOUjmwbouVf8 Cg2fQqDcw0Lj/CD0meEduZOS4moxv/5GcJc2vsQ1BDsRwX0DmLQYXIaqIsRSo4U4 KxWi/zZC5TF1Iwo7JyGY1Gc1SMZuWeZC/qx8bQxvkLx1q3qyZybjUtE2WkfqH0bI /XCpN5kxDciq/U1IP0H2pU/Md/OAvylKID6uR9yPh9kaOOhcvmOID9oWIMbE8a7x eAQ0QkEVpoexA+5DbUarPzjfqUprpZCydaE8s7Gzy/ocegAYqiGQKwADBQf/fxph 6IW/Be5YFg15+9wZ+1MlEszXw9pZnkLU4Ypwz6ksNjrbpHcEbBdK45kw17pOL+WW Yie5tA/b8ndzoga/qyaOa7lH3b4pA78GMhGd7gSzrziNkuE7Yc3WNqjpRVYmVgH+ 9K0rjJaK55hhKDdEGj1jMXNXAXtXra70DNWZt88HLs85goWm7vnnsiPBgOVquYEB /q5ExD/E46TkxF5/Kl02LyHTcyhWsUjksmoEi1O/wxXOAxi/GM3QRrkbF7voaC+d Og5pxQXsftoXsk5fBEDBD1iCqqs1m2IJIUwuMxVlcc+IvD/eYejrtNlkzh5NLash evj4a81s2LLPh5qd3YhJBBgRAgAJBQJDPjIxAhsMAAoJEJa/nXjFMEzaXHkAoLi5 OZgXddFLJYSXXnK3iwzYho2tAJ0Ze7tHvJd2md4VSth52CSBYDEemA== =2tPN -----END PGP PUBLIC KEY BLOCK-----
<tabthorpe@FreeBSD.org>
pub 2048R/D9371097A473C990 2010-05-28 Key fingerprint = D883 2D7C EB78 944A 69FC 36A6 D937 1097 A473 C990 uid Thomas Abthorpe (FreeBSD Committer) <tabthorpe@FreeBSD.org> uid Thomas Abthorpe <tabthorpe@abthorpe.org> uid Thomas Abthorpe <tabthorpe@goodking.ca> uid Thomas Abthorpe <tabthorpe@goodking.org> uid Thomas Abthorpe <thomas@goodking.ca> sub 2048R/A9484A518CA60EE0 2010-05-28 sub 4096R/6E5336965F6F299B 2013-09-30 sub 4096R/D3B28F7B07A7CC00 2013-09-30
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 qna/5gfTg/tTsQqjQVxjGG3GWHV2vIVP4qTJGBemsMn+AJ9u85CobxVs8Q+kvaKB YKteUTirWyVIqetfyWz9STxzUzdhccsv7biJkSs7XE3YlEn07bfK5QhfX6qkEpU7 twMgtBKQYfxcsjxeZB6JASIEEAECAAwFAk60340FAwASdQAACgkQlxC4m8pXrXx/ swf+K8MSPSqvegnuCjHcfIGty86UIliITruOTQN3M85lUx69DDzN/82O0JZKwmET NL4WNNcOeQGQz+R6Jijn/ZLRI98qH7pvu2aVF2YaNjI+TOcdsKtjuKp+rIC6fTjw oEZtqRxL4C1dwL0ZCXIIIUtTwnFrGjsJ4Jvq4VtGx5ytk2CTBc/9MzSJhbf+srmH g0pBtNRDxFZGeSsmUeAJG/Z8Lu+56kue/HAxc1PcVE3VThEe8k9pHe3whRMRO2NA MrM+hdeg9oyu1/l8toPrAA+rXNdJxsWjJsBLdUxT+IUOuJxZn1NQFOH8YZVatZnj Oi20poQSAlNmeAfyTJvw1bvhsokBIgQQAQIADAUCTsYRKAUDABJ1AAAKCRCXELib yletfKm1B/0SuxtILP1aDwr/MMyENazvi9BCBMsLZnuf1uxlj4GXE/qOfU+nabsL dCXJMAO/+Pc9hvriUh8bLmUQleOpBt2YYJ6Yf5i3ZZc0lwdZZtZTMN4DyyvZNbxd gNWEp3OU1irpy6UzY0qIxolkMhI1VGVNiT7JRc14meiIrKRlsnN6szfuk3zIhWLN 8VhAUuI0Prv4+0ne/Ml1sbKg0eDldrNM3tRQ/J0Vh1v7EKSAXr7wjDKz9VOPUPrd vgXKzrY72BT8+NOQGcKgITSpTgWgY/5zvnF6fWL87DJ7/rFDQ+hPnqKQNv5V4E4g eX/D+C312kjK+Z7rRhueVGhy5Lemh1zwiQEiBBABAgAMBQJO+s03BQMAEnUAAAoJ EJcQuJvKV618cTUH/2aSh0pfUu+W7xYTSHYj/07aLfqLS826LME9oLrRR/UIgnLh eHSc440ENlioeRf1qKwMa+x8S+RpdoNX/V4JJIvx75aQwHFNDDiLsE9w59g85sgL H/qmeKyvTHWsb1pU2PLn3Wri1n1LnzRfCSmKjaxJLdYziAJOKfkGnBRZNsfulFZo vzJ8CbYJi/XwABvUvTbvDxBE9UY3QD59SF9geYzJDKYTKXPz5RihhHl01tut3IuP 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 =dDOq -----END PGP PUBLIC KEY BLOCK-----
<eadler@FreeBSD.org>
pub 4096R/8FC8196C 2011-02-11 Key fingerprint = 49C7 29DF E09C 0FC7 A1C4 6ECB A338 A6FC 8FC8 196C uid Eitan Adler <lists@eitanadler.com> sub 4096R/18763D51 2011-02-11 sub 4096R/DAB9CF9B 2011-02-11
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBE1ViJ4BEADS5XnDW3WofLKwdoHrUPDJWQSO+2LHIdnrogGmieI27YX4sg/A ZjELRljY/OOzEDIz7a+KbQ2ErffI/fpCpPy0ajvbd+9e6l9pDJzCPmTXuITVUgQ7 5voR5QNiOyUNd/h4ZnW0Gj1hbosHWH2ngnVTs5QT8WYvKyvzhp2P2Wq5pPupuCtf x1pr8YxypYjwP7n4VGQerhs+o5Fa7NH+x5V0XEw0NqUikk8wSMx8Zrikct0hLiH/ ci6RavOtFFc4EVXDY1T/8ZaTLKivqxqmN2ZrxqirxxY34V6x/eT/WBEweFQuLI/2 GIZ6OLuTaR72xlnGNRXTNS3LUGtcJ1sxpwxCNJZ309aME5phGy3b4qjdeeXSqtmx TdB4Tfzm+zFOdCAWWZ65w4tkefLSOpXMcMu378VZbr/aS52+Ulubwsz4fwjszGe7 8HGksm6UNdYl5vOoKpSrFaHa+Sp9NDbDHHOi1VeVQQ9bqBAKabcIe0dMuinMhm6f fLwTrb7QAdaz8FnBHdLkBykYWq+JO1CRF28sVsJdwAQd1hmPk/PssmAdUQCkVNBC 18kf9doGd6xBMLCwF4h0IIpckfv8aE72Rixp7x2zGqm6W6bEyF5N0E2h79iYfhaj K3TfDUtWvOgGzhrvMPyPiN0vlro574e02RsnSKmv7uhNI+uyGjHGHLfQXwARAQAB tCJFaXRhbiBBZGxlciA8bGlzdHNAZWl0YW5hZGxlci5jb20+iQI4BBMBAgAiBQJN VYieAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCjOKb8j8gZbNyrD/9O VSV99QPQjX0PzzZkbFLphRFN/oZN01V4+4Acr/KjEP8onWuEhL3/v6KiUxF9rmfE EFlFHIoP5/U1Zb+g71kW6M460ayH+1lhBmSa97m9245cgkMi4q5DkH0x5itLDLJj rmG7Lm2C1ccn+bzfu/V1J98dWoQBGQDdCbKDL4J/lmdd877d6Rf7OX4FUNbUYDSC KgFIbbjeNjm+VYrfT0DM7f8Bq0y60NnUqPRPKFZE2PF4PsryJuRyy/ogeVmV+uA6 +V+5JGRDC2naGKSZwSqMqovGPR2Ek48bchwgqxSXdMbHCOMvxcMHm2n4gWjh6nlp mqnlTn1aD7ClUCQW1vyJjY9WRLZ9sJCXpzKf8XxFrQDRaRwvXYo02PekSrtB5RkS 2WRoaaF6sVb1qOsPXRImCgJov4JbP1f9kO/NT+tXrh/KYbhyIlPT+5e8CkFmFMgQ Gl/d99nJy40Vucfo5hsTHNtVatSF7tyW+ocWJz1dEX2j4F7IbVkCbiT2uZ8FT9gy 2McWiTwzrf0tTHlMzF71W1ErpAm6cEQFM5SQZmvQDZAGsY1D1JYcWWQXVtxcin74 p/2fNuk1Z3iAzi3Lh8cY18uINJMSFDnb2L8yoXXHpfNpIwxpLIqC6LuZMF+3hfFB w/MWDAvEnLX7erpVQWHvrY0tf2+7CNFy/jrDtnfaKbkCDQRNVYieARAAnNmiKgJJ K8Geh7uJczg7V/AskCiKkgNzAXGxNQuJaPv49uD9NWefaDtciEV4QWXkoW5jZWFa PrkXJ/7y1nfYUAA6nN7NyG8UReZK99hLmUhjWrOyNeq+XYvCymf4ZM1yPRAJAp0v x28mwFKSuXMvW8oUHcOT3SZomjamuN4onNWMJjolV6pRoQ0xeBCcMAl0zdQ0RS1T mQ17yrSi6xvJYP1vywjhG2J2oHax8jcqQShijT9DEjjUoM4hgnv2HAjMhqM5vX9F sw5IBsDa3/tfqmbSVzTJCZd7mkVhLRtyn/alz356DfYPD9eSC3rHUZGGL7BFgC1m /t9e5tEN2fb1SPHcpndna9hVMEReRX6GbTUPuhFE2PzKIVm0nuFCKHeQN/S54x/e uDcCyXvVPmSwqTrg4yV0ZEnj3fKFCwv4nqO6uF8/vBceUzt5uJLmESXnE7fZr9JE 2hiY0DyOmYxapiTZPtVqGm5FGa72i5tGIWza0P9tSO9/UxIG5lLXMMa/masNaGAr ++ZT/l9+nH4ZMY+triOHCCZZDOE8fShREPuAnMtVQK+GZ8GPkY5zkkUmusdjb+6p DzQUq197bVxps/poNJ+IA6yvUQiM8y8ybI1W0LwfSOVBxGh5pqPQ1zvTckrfEfF+ Lw7tuG0YZDti7e0r4SW7FkfghKiQ9ySBVb8AEQEAAYkCHwQYAQIACQUCTVWIngIb DAAKCRCjOKb8j8gZbDTpD/45aUGMyOJYrEVPrlFomTlX3FHwDKvBqivTa/9ZBLo8 Byr0i+VTdNhKSNq/bd0q0YiNIkXv4FM56ghSOonEUD2MYcrQ822df1Y8AUbMpx1w UirMCTyvPjr7THEaTpFrk705lnWgFfyFTYrlk3m6a4s1T5TByABToXdPW4xsL3vt jDh+H1cb+qUrOo8FluAU18htBvFOnekY7a1oB6DoxTT1I6PKaXDQIAihvIknNUu/ 7xn61b2Wf69tHyHmkdLMC9cDPi1uiW3I/+9W3Nopa1tkV+IQz2R5TPsz3BYboAhy C5zS5rMzx6cXRtw8KdWoFkYArvRhHb7zJPDoPAzJuxvCCdRR1CQZySDqTg+fXvLN d+wgV/zPSJWtcAGeDhFJ1a/M+5lLlT08v21VhLDWDW2tBIdn3ZFJhjZDC1X8wvJB CVL8TWRsG700OJyxiGcX/yKBi/T0k9vAAM+1YQEQ57cO6SYm8BFaQc5ceNVuLsZD 2FwEOFpuDWgysFFjWA/Sj+be/ZiGwiIDVC9vG2/61yg6N2MavcmwFzwjZLMW2W/0 QdLasAu8jbnUaesl/ZN21iJVsLHaWe2u4jc/Kpt2Fu4KY5N8UxErse7y0PTLJ4IM hjQsMM+DzmNzCnqxqugiGGg81kr1W32wtb98f2+oVT2bp52sXFYvvmbB/W0C2wRt FLkCDQRNVY40ARAAswIWqBiZsAXRXU1T8yf4HIh0QBSlMkW9WQcrJJVtIL4EUUqs 6kjtEjZsf3oHXWvx0GVajztBJW3NYInzns6Qi/QRSMr0A6l3T7+gGhInDiZUwEN2 883BuwwFooeDij4Rr5qVJhsuCZ9uS8a4Lo0C2FRk4JZvyBZFA2lwx+bm/4dqn0YK PeWnkHiahufnQ0sy4Q0cFSzn4Pbj271hv5gtjbW3CXbzTBJS8NraK7PejaX0eche n8vxXjkqNDHAHM2xPFbIWk4iTkSb2XHf6leZ0IBHZw+SUO2d+fsolOazkUcjY8XZ fGOL8wsHKSPUo+kRdRFYtm3hPH2U0KyLKjpu7R/LEZh3LWh4n3yGdpBH3nfDDa/U g8+k9EtvZJN+yVyESkM8hyvQuW86NbEpYaPCWiuZ3lSwQjpyKaXWa5mJO2oCjqA1 HeKEvd7WZ8apahl5EFZ0WDIRHLBe6z8pETOHM48YWY/l/aTxmLdWYVNSJLGbsm4+ 6tYgGOhuz9QzGjrK+Jdq/Rts3eeJd1T9K0gCxdp/NlM8rttNPHHT7fig31oHMSy9 o94DeuFYw1LW54TJF5jFfSETgAfer5pggI7Dx6tPcCKapidYTJEFkDfW9tj8yNie v4JhMbZi8Fq6ybsspWWi8Lj7iMCXCPs6vVNQQbJ8Y6Bz1Va71TwrogHyl+UAEQEA AYkEPgQYAQIACQUCTVWONAIbAgIpCRCjOKb8j8gZbMFdIAQZAQIABgUCTVWONAAK CRAAaoRg2rnPm/pfD/9J9AAck3RrG7jGUY21fttzS3iAn4eZbEEv2A8TQTEgF+VD 6iSmZlHzEF8kdRhglhJO5nHN7Z6nZVeUAKR2fYIcmglRUdI17cooHfuVSVjp/MMG v1Q0kQiQCCjY0Q8W1xytHm2uIaxrtK121kLmlUK0I89PfM6cYET8bBUEN2JZBAau nV+g+8lXEfFcWiT3FYUmZfLkZjFKuFGRaWmqVqoUKVQelvLHU7wcZDTPdYwb71Ub jP+3yMph36ugXhZ0dGxOTEH4bSRkX2SEiKV4f5VQxe4JNdVT+tvGDJxOC1iC4Q3n yQYQox947r1/S95uAB6y2MfYKgJaUbfJkK1W6l47bF1ZLAKYWtY/VCBN0Fcx3PkU Ks5jC8rmbnwuanWbX98RzRFEDRk2h4q4ZWN7r0Lo8J5pDZyovqnFbQXLPigRx09Y YQ9h/UKQJBc0lsD1Q7NXn9gu3lnmNdta+UbTgPe8tb89vLHgpMJ4GaFrIhU1keib cJD3BY9bb+iM/WKucnuMqURBUf67ISfWN1NbNAz7X5jWlmjSMJlH779I94+0XM2Z M/j+HSjHWPl7ArT6mpGJ4YIZPo6Ap9KNbPPzNld7xd2hWAuQmETrB1Isvy5F1t8c GgzhvJZ/WjdTuaQpdfE7OsN5IQMjiJ+9fT81P2dX3/TVuTQiRKqdvPshOL2HQ6qE EAC/qFVKf9Of+wU0zeonMEbcsU6saqPNpBNRLhqBAEMonH08xvoF1T7INvg74ven PDtAfnfiOC3j7hRqfjDTauGk9BsYH4bxG/7HiBoz1xs9SJkNdhBKoDpgP6lyd8c5 DjfBj0Y9wTZVVM6Bhv/1ju2L66JyuBe1vxCqVGosz9/OJH8aY5VheIRWJ+iJm5qB G5A/sYflOEJAfZXiS17QuVFlG78j8QUDUX/uN79tMY9GulZnobNqtp5jgJqSc6fb /ToY8HvKMNJlfsKJSDrFtWeXjBMTtzGAJWuyxMV97VyXF1pxVSCkXcnQ03MAdBXD gYJV89XJIPdi7R7MZb0niI4QYWOSTmeyV3jo//mxPBuC0Ozr+Hw6dp8PbKSk12tW gSXqzsI33b/8qwqPX4njhrh3aJm4+BfIW60weTQUgaVJu86OnevEJpUsen0drXTb h8StsIH7vc4bOcSvNUCx+palS3vz/Q2K6lvEe64Nzdanbq3yC3bxoWSnuMYyoJEh k4e7ViPz9XVt+ZPVs2DlDnkSe4LA4sUfjzRdn1MIivqu4r8AAitxH8IL0Pjl2StF SfRbR6zwey5WZInnoDjYjPFYGAIygVllxOv3u81lHqK8tcxWMQrKTS7Pl2FVMlOc +sVQiiwYDqAYyG8DgM0FX7dOC0bTQOSHPJe4E5+xGU7v1g== =SP5X -----END PGP PUBLIC KEY BLOCK-----
<shaun@FreeBSD.org>
pub 1024D/6B387A9A 2001-03-19 Key fingerprint = B506 E6C7 74A1 CC11 9A23 5C13 9268 5D08 6B38 7A9A uid Shaun Amott <shaun@inerd.com> uid Shaun Amott <shaun@FreeBSD.org> sub 2048g/26FA8703 2001-03-19 sub 2048R/7FFF5151 2005-11-06 sub 2048R/27C54137 2005-11-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 NnNrFxKZ =zwEb -----END PGP PUBLIC KEY BLOCK-----
<brix@FreeBSD.org>
pub 1024D/54E278F8 2003-04-09 Key fingerprint = 7B63 EF32 7831 A704 220D 7E61 BFE4 387E 54E2 78F8 uid Henrik Brix Andersen <henrik@brixandersen.dk> uid Henrik Brix Andersen <brix@FreeBSD.org> uid Henrik Brix Andersen <hbn@terma.com> uid Henrik Brix Andersen <brix@osaa.dk> sub 1024g/3B13C209 2003-04-09
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =79B1 -----END PGP PUBLIC KEY BLOCK-----
<mandree@FreeBSD.org>
pub 1024D/052E7D95 2003-08-28 Key fingerprint = FDD0 0C43 6E33 07E1 0758 C6A8 BE61 8339 052E 7D95 uid Matthias Andree <mandree@freebsd.org> uid Matthias Andree <matthias.andree@gmx.de> sub 1536g/E65A83DA 2003-08-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =PvSJ -----END PGP PUBLIC KEY BLOCK-----
<will@FreeBSD.org>
pub 1024D/F81672C5 2000-05-22 Will Andrews (Key for official matters) <will@FreeBSD.org> Key fingerprint = 661F BBF7 9F5D 3D02 C862 5F6C 178E E274 F816 72C5 uid Will Andrews <will@physics.purdue.edu> uid Will Andrews <will@puck.firepipe.net> uid Will Andrews <will@c-60.org> uid Will Andrews <will@csociety.org> uid Will Andrews <will@csociety.ecn.purdue.edu> uid Will Andrews <will@telperion.openpackages.org> sub 1024g/55472804 2000-05-22
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =inzo -----END PGP PUBLIC KEY BLOCK-----
<dim@FreeBSD.org>
pub 1024D/2E2096A3 1997-11-17 Key fingerprint = 7AB4 62D2 CE35 FC6D 4239 4FCD B05E A30A 2E20 96A3 uid Dimitry Andric <dimitry@andric.com> uid Dimitry Andric <dim@xs4all.nl> uid Dimitry Andric <dimitry.andric@tomtom.com> uid [jpeg image of size 5132] uid Dimitry Andric <dim@nah6.com> uid Dimitry Andric <dim@FreeBSD.org> sub 4096g/6852A5C5 1997-11-17
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 BBARAgAzBQJDWOwGBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgu cGhwP2lkPTEwAAoJENK7DQFl0P1Y8XIAn3u4wVGHGp48vrlkD7LrAkgMa4i9AJ4k uTexj7XLEDuqfFKKSKhzDqqeYohGBBARAgAGBQJD/amIAAoJEOYLp9vIqq1APR4A oIPX7sBet1QQKNvCs0bLDFkjZvKTAJ4v5okd559cL7rO75QY/wuHRwpgTIhGBBAR AgAGBQJFyxVpAAoJEAcwX4a9TftQy4EAn0wt9VUlf8wXmumsp1C5i4NqISYyAJ0b VuDsgxkGlhnxL+FuStrueQDWAIhGBBARAgAGBQJF8/UvAAoJECmOj4RKTuYj1kkA oIkd3JjzUCNH7wInYbSqbqMqF7hCAKDKE8CZQVY9lI8pYxLIPH90O31Fm9HTX9Nd ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQC0ALQAAP/+AC5IYW5kbWFk ZSBTb2Z0d2FyZSwgSW5jLiBJbWFnZSBBbGNoZW15IHYxLjE0Cv/bAIQAFQ8QExAN FRMRExgXFRkgNSMgHR0gQS8xJzVNRFFQTERLSVVge2hVW3RcSUtrkWx0f4OJi4lT Z5ehlYWge4eJhAEXGBggHCA/IyM/hFhLWISEhISEhISEhISEhISEhISEhISEhISE hISEhISEhISEhISEhISEhISEhISEhISEhISE/8AAEQgBIAC8AwEhAAIRAQMRAf/E AIMAAAIDAQEBAAAAAAAAAAAAAAIDAQQFAAYHAQEBAQEBAQAAAAAAAAAAAAABAAID BAUQAAICAQMDAwIFAwMDBQAAAAECAAMRBBIhMUFRBSJhE3EGIzKBkRQzUkJioRUk sTRywfDxEQEBAAIDAQEBAQEAAAAAAAAAAQIRAyExQRIyIlH/2gAMAwEAAhEDEQA/ APYzpJ06SQJzDcpHkSTFsGAfgyNI23UfcTlP7ezLvhrT3qTjcMwp2eELOFZQerHA gGxarhuwA4x+8Mm8PsV9Fzdc3lzLZsUWBM8kE/tLHxcn9Uc4EMAR0MWBp1hEwaCT IiESr6ku7ROf8eYwMG8fl5jabPyxzKei+PUTplt06SR3kyTI1KYtcfMq9LBON/p7 Me+KrOlw1m7cAFlhdXU6vtYFlbaceZ2njxVkaj1C59Y30wu2jDcnnH/0ytf6hZfa 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 p3ZoprcVEgZAeA== =PPl8 -----END PGP PUBLIC KEY BLOCK-----
<anholt@FreeBSD.org>
pub 1024D/6CF0EAF7 2003-09-08 Key fingerprint = 76FE 2475 820B B75F DCA4 0F3E 1D47 6F60 6CF0 EAF7 uid Eric Anholt <eta@lclark.edu> uid Eric Anholt <anholt@FreeBSD.org> sub 1024g/80B404C1 2003-09-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD9dFQARBACzmGtuaKFqQwoRV32TI4ANBPHPlXkKXJ1WYQQkahzP/VfzNOUH VbjIMQqrNPawOcrFyEFuI/FJLWXewhrcrM+of831BXWqnQ7ketGqKUO3xT18N1MG BVCx7F1wpPW42YkhFVAubZ5tyHLOVSc+iJZVGgZ5mUi57odqZ1l+rnqpjwCgnXx5 tas++vGBPk70vcIP+ZmswGMEAI0Lfr7Qy42P6hbYJZpk/NVAvXMZMUyK7fti2lR8 BCOQr8lSdFUZMAqOhlGSfr75Lp8YhR4R4qCSISPXIbtkpYpS5A4YOk22qljLfyrC vki3U3Qum1eO2L67jswb+hQ7pCeaddNm9Jmsg+CJOZl6nfDIJpC8yoXH76W8tXAm 1DgiA/96RKTseIR0z79ahlxX5HDr2A5bPM5CZBdPba4tSuFIwd28HVUdLhJmsGpC uVnQ5VnhBh5coNBhcb+ngZCOr9NvvyvwrxdYYGvuABeWS3v2UGx7XnJQmBQubWYq CEk3wScZWhEoFchvPEVfXtzNBjI6sF1FWMYkAhHaYiH4M7rBiLQgRXJpYyBBbmhv bHQgPGFuaG9sdEBGcmVlQlNELm9yZz6IWQQTEQIAGQUCP10VAAQLBwMCAxUCAwMW AgECHgECF4AACgkQHUdvYGzw6veNhgCgij4I47kRmhRkdzJeftLig2TG8/gAnRcb r7ah3d3nPKNLRN+nQDTp0uxctBxFcmljIEFuaG9sdCA8ZXRhQGxjbGFyay5lZHU+ iF4EExECAB4FAj/CqF0CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQHUdvYGzw 6vfvYgCeIy1G5U6YPFK2QZNhB7SazQXwvjgAoJmxWRZr8zKOmcMiYFf1tj05UDhC uQENBD9dFQEQBACpBlENAalxZonZ7K2NU6xiH/qz+XI+ZU6WQh58iUlM0QPUU8ta Ot8uQUL5DT6G5myFDZufYomYrdzaLxuZbzpWzDOFGqb9aWLlHC16ydWbIRvPif0D ar9wFJX3b5DFkVICUYXTKTx/O/VqcpGHH7tLInuipYRapOBrUw1LU87qLwADBQP+ KbuF41ujgb7QfPX5x5Cdg9D9SZAQyxu5TbsSXmc4fuel10QFMdWyMEUW2rMLixYn cWw7AfziHCy3uWOOm1qxm8npYCIRp0jG3M/Jydc8iQTqL59v0/UBOxPQ1pYZxE/8 EOmbHRHe9BQt4pfouuLVKXGzxg3NW6nXXNQVEeOyqFaIRgQYEQIABgUCP10VAQAK CRAdR29gbPDq9y8MAJ0dP1d27SdsNNU4d8nFpwrXfXXa2wCfRvgv8i7ziyodkgwl B8LNmWvWUn8= =2V8B -----END PGP PUBLIC KEY BLOCK-----
<mva@FreeBSD.org>
pub 1024D/B267A647 2009-02-14 Key fingerprint = C7CC 1853 D8C5 E580 7795 B654 8BAF 3F12 B267 A647 uid Marcus von Appen <freebsd@sysfault.org> uid Marcus von Appen <mva@freebsd.org> sub 2048g/D34A3BAF 2009-02-14
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEmWjSoRBACy4CsdR35YB6pGzU1aa1mbTkLuF44VBjV8O9qji80zo/VJs3JL El0wIhM9pg6zObKkzOU5HJFU/6uazzzDnc+A8y3NJL3u+HoX/7c03e3yUZ6xl7PC ua8tO3IAQiB/cg/Ltb6iJa8FflfmCKGE0I2DXeR2vN9PpgQVkJW+/NSDbwCg2Nxm mfeO83a7C28G/MV70z5CTg0EAKdHCkACr+iB1WpOIKEmFkZRD0NXHEXYa6L2kPdY XPNJ893yu5YUmHMFNUdVxoIKaUKpIGPa+V4q6ojAilWJiaEB74W+teqNBzwhzyNv xfp/W6fNJtvC1DJkrxkag0penU9ZROkVEnZajIclFh5la3muxX07Qf2HjGZM3Cqb nz6PA/9gdPecNwo1N+9aX/CGrCw0DC1QVFc1HJqcL3pe2qQkMVDO7sfQkewtQOW9 H2ZrDWlVxIohQ9/+vbKV1uOcJr5+egSGNTCNNuimh9Kp4LYMc1vNouQe1D9fsCXW 2kcgO8FozH0O3uJ60gCak2K06iA+mGziNYLQH3IvjVswivxOyLQiTWFyY3VzIHZv biBBcHBlbiA8bXZhQGZyZWVic2Qub3JnPohgBBMRAgAgBQJJlo0qAhsDBgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQi68/ErJnpkfulACeI1WVnhrKTq/+O2Djbpuu Nyj/MYMAn0BMDpy4frZjlIMfhazixfk4cbjNtCdNYXJjdXMgdm9uIEFwcGVuIDxm cmVlYnNkQHN5c2ZhdWx0Lm9yZz6IYAQTEQIAIAUCSZwX8QIbAwYLCQgHAwIEFQII AwQWAgMBAh4BAheAAAoJEIuvPxKyZ6ZH48AAnRraNz0aFuSHUFaw8LXjROOTwld/ AKCvawhTgwYKX3YjLzu9Jcc1t3UNj7kCDQRJlo0qEAgA2acv4O4JFQCzgJXhCQqn KHFeEqOcgpKlvIGlgfP4/hVOCms2LK3qk10JpcbDbkBn0cBW7usxvA3mDiF2ZnrY wIwAROI7SNSY60PydR6DXc6I21VAd7hmmcpqkJFXaSMvKkQcq7sAJGlSYVpPuBqZ 1kCIu2vlPBdpT4W1hHxf7l4Q+h2ge4+C2beRv9V9vRVdlXeSqJT1o5EgE5CjZ6sV Eh+9/TQdkRAoGgQG4LZvDuhWfsSkDU6x/soFKOPCdTF/LytW8YZ6asN1EpVJihAe GseQdkwP8iK9Co90Ab27+5WVVrP+xkY+rULOngW2vIwJrWic6nk/a0/0MrPjFn3k IwADBQf/dMsSQncKSSn8Tg9KeeBLftirddz+Mos1j+1PYOc88vrMrHVodBfNtJlG zxAGwFyLtk/yA8/MuW219t57O3W49VYh+I8NenzlRmZr/ahn8t79UD7+SWmy8L5e 3XD2+w9WTj9Lx1V41wFKvxVLItNAik58Oi9MHa/wR1LMRIeGFAVHWAZcxYLLKfGR lYcMmMTY4906sjJ6Z+ZVYILnTR360JdeiZbFdaCFGf2yUoM+HeA2+975CaRagu+N /HZKW4JSsiu15fvaLTPwFG6YXKcHL2zI0Vc5UF5nd9GGZdX9Y4ffBi3aPXgIOJm5 eAf29A6Ne3/llt3RG3TduGacd1WghYhJBBgRAgAJBQJJlo0qAhsMAAoJEIuvPxKy Z6ZHPMYAn1s6Sdc/4Kkv8KQ0KaJNwmkQYkcSAKDLkzy/Ph4mOMm8jO6ZL+Orpo21 CQ== =HKIb -----END PGP PUBLIC KEY BLOCK-----
<araujo@FreeBSD.org>
pub 1024D/53E4CFA8 2007-04-27 Key fingerprint = 9D6A 2339 925C 4F61 ED88 ED8B A2FC 4977 53E4 CFA8 uid Marcelo Araujo (Ports Committer) <araujo@FreeBSD.org> sub 2048g/63CC012D 2007-04-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEYxSRMRBACUOhoJNgNPJtP5AcENhALcif0n7o785oCDaTGrMNPV75DdnR8o +mHl4POS1bZ7RYHdo7SHCbJqu0nLO4OCeAagamnK4lW+qaa0KaC6WxBiS2/K3qFe Y4mDMQRPxBNUWUh7A6VpXMBWk8n6ieyMGLiLQj7+d0fImSY3NdX547qZswCgnjln RlpLKFjRIRtNt9RKZQbm0JcD+gMXo+MoUHHKKnSKIQt3u7rnN3Mpnr4OGsa7J6KJ whm6GPX0zHzjKUhXCDOJwaYBpOJYNLTTNS3nKpq7GOkQDg7Q4I89/Q8S6AVwCvX1 N4Jdeebm0jJBrzVNdbezIYEBwL5k+2YN6FcaC1yKBTk3N7qF7/4dmfRNO14qLFaz E7T3A/94lP7YT9FHqmNr9RPuy9rmz1bZhU/7tEimLF2o2Y6ntxsbSY1StVHJj0ln cCNlMV4vrIP6Ce73W51Vw1iKNapQy2113lWVfc6dwLdhRxWDVMNPKW8ESxqrFSJ9 IVTzZvPQoqrXOsuVKTej0MC395UbdiLGWckmsJIYVrPaX+C7lrQ1TWFyY2VsbyBB cmF1am8gKFBvcnRzIENvbW1pdHRlcikgPGFyYXVqb0BGcmVlQlNELm9yZz6IYAQT EQIAIAUCRjFJEwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEKL8SXdT5M+o kMEAn26jMz7Tux/fTt8Z6V59+qhhd62EAKCGEPvDrh8Ye46LyJJj2ZeA8sWNtrkC DQRGMUkmEAgAgSVxd8hyDpx7nndMLjTIfpla4/mOP6VSkmzF0Enj1ESzOeTVC765 gtnjjsFq5Vy5Gv3wdLwwDkcCij5FkBCgSi9EBcp5ooFpNfN9UtHT6/2Z9X7laLiS qQtS7xbqU1bxUQ4sK6AdjhOgzdDz8KOeWUjs6WO+/Touq/gouggxMbg/SWjywsfk SkgJ9SwH/o+QXvTEloyTwqwA7ptckvFKeBiyiA8RI/T2wqHUHmRE7YrI+HZz1b8q kPqALkZFoZVgYEVHjIuuuT5KttaQYvAdHgWjgTTjugeCfHj186yQbIG3TOD0ToLc KXFycft7oYFku55Elo0bRS2mxT6/SptmrwADBQf9Gws09t+AcOYUaLH3V8EKLg24 1r/aEfu7tPYMZ/xHmibOkxxxQgJEUAIqE4jZY6fMrwUj4F9p4Q8E3mN/wkpY2qHJ 4yUI71cv7NEOeXLvU3bdS5wwvlEK3obIJZfhzefmUncPQ+pEVdbtoGT2ehosqe4K nw+bBE9q1Q8elF4mr6mNTavSZBs2FTJ84S009pbMyqyZZZ61RL1H0XmZV4s03Ywf tJpc/uTSwgB5I9SiSi1clafGLRzWx4BzToIeHmE70Ycl1PGJQ5kmf2tmTPrVbKCX F/4+S3Sn85D9s3jk6LfxMfLiSzErBkkV/zZaXcNFTPfGZ21Dp6/0IyKF+HnNuYhJ BBgRAgAJBQJGMUkmAhsMAAoJEKL8SXdT5M+omBEAn3t4uIC5dceYeU8j15UnzECK pAWBAJwI/yul4wCtXeyIhg0vYCrExTl5Wg== =3ciY -----END PGP PUBLIC KEY BLOCK-----
<mat@FreeBSD.org>
pub 4096R/0x3A4516F35183CE48 2013-09-23 [expires: 2018-09-22] Key fingerprint = 3AB6 9789 D2ED 1210 6440 BA5B 3A45 16F3 5183 CE48 uid [ full ] Mathieu Arnold <mat@FreeBSD.org> uid [ full ] Mathieu Arnold <mat@mat.cc> uid [ full ] Mathieu Arnold <m@absolight.fr> uid [ full ] Mathieu Arnold <m@w2my.net> sub 4096R/0xA99F9AA711E3DFC9 2013-09-23 [expires: 2018-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Sd1YzaOE4KmRKRnHH6PQ0tQ71TqsYt/8fUv4aXQQPwMsefaum9dm8ZHtAff9Bq+W IoIBxBYgqTtBHC7Jbndq8QUdtDDI9NEeFVKK8EIQ6rQbTWF0aGlldSBBcm5vbGQg PG1hdEBtYXQuY2M+iQJjBBMBCABNAhsDBQkJZgGABQsJCAcDBRUKCQgLBRYDAgEA Ah4BAheABQJSQEpgJRhoa3A6Ly9zdWJzZXQucG9vbC5za3Mta2V5c2VydmVycy5u ZXQACgkQOkUW81GDzkjALQ//S3m8Bgezr2G1diKF8OeU5cviGN4e43pUKd5VwdDo TQGfcqirTGVu87B4xfkyjFb6BG+Pws9UPVwkrJbNGSBBDF0k4xer+aINocpVJi83 1qiMehPf8ozr/A+M/Lz3HAYcxALrF3mqmPpdx8aNplKOj08o47MsEgZXtTxZx/3p TBnlz5CtwpQJTRr7Mc7xC0kIoRCSHzLNsnfKa3v51f4SS2UQ2g+v0rnSiYra0Xjd KARsSjGnXuIEK4og00cya4JaAV4Z87vcu7YI6UC1Lv2H09vn+lt1YkdzYDb33W74 r4zm16/jVe9zf3r2S1vm3pEZGWbmXGFjlb7gwujkqW4y22C69eStcbMp4CzCnHy3 ibkKhj1QJ9vNO5vGgtAYREAQywlTtXhZjNN4bPqni27vFdaKOvaLgLU8HAtkCQ5j RFmFYEvOJsrwlcjBvw+AGIP9QqS1ISM1xpd7lXh6wH8tyviXQHEBmH9XWskHMA0o 1Ja6gPLjE9D1w2K35tIyPZQi56jU5n4Kv4YJyj7IS5xFjskvMgXDXJWOtTTI84bl wvbGEuC47yPD4m6ZxVkgOyyfOzfQ24LRDQ6WYH4Fw+NCAf+TnllSKTufzWbb5C/l GsYqhShVLsJSAerhfRYFCyAGWxyBLuoXa4veoAHEU0fVsTq/PgKlqI/p5/iUxgki 0hmIRgQQEQgABgUCUkBRJQAKCRAmpHxq/m2FD17bAKCqHf9jJjujTcNkHWtP+5Fu OPhRawCghFgjtVboHpmrP3hleCA4IVFiWyuIawQQEQIAKwUCUkCs8QWDAeKFAB4a aHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgDdwCgk/kw pwwVdOnZKeQD5wx/ON4ZVEwAn3QRaXyb3k2QnAV4QC1DGBMoOU99iQIcBBABAgAG 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 =1C8m -----END PGP PUBLIC KEY BLOCK-----
<syuu@FreeBSD.org>
pub 2048R/43788F78 2012-11-21 Key fingerprint = 31CE 242E 6F4F F24F EEF4 D9BB 0890 2C5F 4378 8F78 uid Takuya ASADA <syuu@freebsd.org> sub 2048R/A87B0906 2012-11-21
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFCs6CQBCACri3OLkH5JVQCN2GylV62LuXCc7g2TfLf0q7XtmieJAwvtfxOl LdBDC8d/WAqUWVEW1eMWgvCJlgCPIFedG+GDBYPUFYsy1cUDALEi+QSS1Jozovs/ b3Rk7TIW7Fu2F9KQ7ivlEtPS1bjQHmhrkHxOloapWUSrP2IdIfllxKAN3BGas2+j hjkmSPmSe0FQBIOyEp/RHf8bJ4LtRa+NACjOZWydLft54hcHNbS6/ubHtHlJjMjm V+fbLfYZvWGV1R+7gnuUAVu6bqgY6Bc60gwHs9wcITXCSDAZv9CP7r6mazo4MTV6 auXYSiuec+rLNO10ndHuOqZPS0EKLExMJStNABEBAAG0H1Rha3V5YSBBU0FEQSA8 c3l1dUBmcmVlYnNkLm9yZz6JATgEEwECACIFAlCs6CQCGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheAAAoJEAiQLF9DeI94mZkIAKOPCkQcK/XENDyZR9iZroMpg60K TXNR72JIymRrBlUgJXOgxJJDETOx3GjTSXql7CLxkdun3oCmatskN0vneMHCs6/M 3UP8UKwiA/6lk6cmg6vfXQ/IreqQyyV3inBN6fJMscsQrtB+pmw6CD8U1tiAkbBI ExlKGkQG7Qy5FzQ1meyUP9XvD9JhaDe+3sWPK60kcSpskrQgZ0y2yWgJxWOw4meS E0blTt+wyTFySbEraoY2ZoZP5y9vcMJoh0OKBzpTVi156RM87P4t3IjWNaDlGSJD uf5oVIhavgKYVPXu5+EmVTjLAFaNYc7C9lGGa7bOW1LlEt6EKcrReVaWPX25AQ0E UKzoJAEIAMWEiRDeAR5IkJmiRg0J1ORCbCFGbbENEqt2lahTAxuM5QAzjZ/StCos DeUydqy0/gYJ1zntyDGFNBEgBT4ZPcy1uFPMoTefG1RpYTBiw/gMTCcsFI8JzihY ShoAKJGw+jDBDhnYslAfrmYrOwyGykXep8SpmkigWAxnhZtyzbXCSgLcOGloj2AT uLo8DDIg7D3cxgX81U79UFsm3WZH2BaTi9dqhhtJanmmLpbxtJTDLZUEoR3iZwdE Myu1ziW5y+y3sfTVUgTH2sj1TNSF4vE1q2rr5qud+g5PlwA+05wNdaHLr3u7Y8qf 218W0fDXw3mMgwD3ryXvHDkEwqOIHzUAEQEAAYkBHwQYAQIACQUCUKzoJAIbDAAK CRAIkCxfQ3iPeHVhB/45lUQo04TLDaXYX+vw5pSFGmdOUUz+gCRstZ7X+6yeYRhC XquBBmiByiHle0obuxk3IBNtNVmoKwyYjicYr9YdRAhjr/ei/MzORryj2RZUTHra fm7o4B6E8T3tlM2gXJ1erdwZVVX7M1Tuxs6fM4ZZLfRlVwwQxgsW2KViZwe26a/h vV9Y3EYheFjrlUcV4sTWAJ6VbPoWrsTm81iQWrEo1Hq2zV+FbtGDuoAiYiLCzPo8 WP7/oZA62Ri5vOAdj1mD4tRWlDLwGDhwO/9eXdT6BwV808pVUi/6CwLWbCiRShRI xLcPUUM3uzQJpPwgiTPDxEvmS4lZR5m94smK/tE+ =7PcP -----END PGP PUBLIC KEY BLOCK-----
<asami@FreeBSD.org>
pub 1024R/1E08D889 1997-07-23 Satoshi Asami <asami@cs.berkeley.edu> Key fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA uid Satoshi Asami <asami@FreeBSD.ORG>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb 3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT +EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy 5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+ G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46 +NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0 IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg== =39SC -----END PGP PUBLIC KEY BLOCK-----
<gavin@FreeBSD.org>
pub 4096R/4DA114E5C4A2E57F 2013-09-25 [expires: 2018-09-24] Key fingerprint = A12B D878 2A5E A90F D37C 43BC 4DA1 14E5 C4A2 E57F uid Gavin Atkinson (Work email) <gavin.atkinson@york.ac.uk> uid Gavin Atkinson (Work email - deprecated) <ga9@york.ac.uk> uid Gavin Atkinson (URY email) <gavin.atkinson@ury.york.ac.uk> uid Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org> sub 4096R/443BBD9486DFCC25 2013-09-25 [expires: 2018-09-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 FH8dwCRO1I41T64qjV/9ZiGNaLax =ygbj -----END PGP PUBLIC KEY BLOCK-----
<jsa@FreeBSD.org>
pub 2048R/21AA7B06 2010-07-14 Key fingerprint = 5B38 63B0 9CCA 12BE 3919 9412 CC9D FC84 21AA 7B06 uid Joseph S. Atkinson <jsa@FreeBSD.org> uid Joseph S. Atkinson <jsa.bsd@gmail.com> uid Joseph S. Atkinson <jsa@wickedmachine.net> sub 2048R/5601C3E3 2010-07-14
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 wmKGlCQF5zC50z2aIiJy6w== =99Ow -----END PGP PUBLIC KEY BLOCK-----
<jadawin@FreeBSD.org>
pub 4096R/3D5DD05DE3EDC705 2014-05-27 [expires: 2016-05-26] Key fingerprint = C1CA C5C4 F29A 40BF 507A D85B 3D5D D05D E3ED C705 uid Philippe Audeoud <jadawin@tuxaco.net> uid Philippe Audeoud (Main ID) <philippe@tuxaco.net> uid Philippe Audeoud (FreeBSD) <jadawin@FreeBSD.org> sub 4096R/BC29A282B624266C 2014-05-27 [expires: 2016-05-26] sub 4096R/705007E333EEE843 2014-05-27 [expires: 2016-05-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =amXj -----END PGP PUBLIC KEY BLOCK-----
<timur@FreeBSD.org>
pub 1024D/60BA1F47 2002-04-27 Key fingerprint = 84BF EAD1 607D 362F 210E 69B3 0BF0 6412 60BA 1F47 uid Timur I. Bakeyev (BaT) <timur@bat.ru> uid Timur I. Bakeyev <timur@gnu.org> uid Timur I. Bakeyev (BaT) <bat@cpan.org> uid Timur I. Bakeyev (BaT) <timur@FreeBSD.org> uid Timur I. Bakeyev (BaT) <timur@gnome.org> uid Timur I. Bakeyev <timur@gnome.org> sub 2048g/8A5B0042 2002-04-27
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =r3u1 -----END PGP PUBLIC KEY BLOCK-----
<gjb@FreeBSD.org>
pub 2048R/524F0C37A0B946A3 2010-08-03 [expires: 2018-09-22] Key fingerprint = 78B3 42BA 26C7 B2AC 681E A7BE 524F 0C37 A0B9 46A3 uid Glen Barber <gjb@FreeBSD.org> uid Glen Barber <glen.j.barber@gmail.com> uid Glen Barber <gjb@glenbarber.us> sub 2048R/EA524D216C0527E5 2010-08-03 sub 4096R/B96CDDEAAF8B5ED0 2013-09-23 [expires: 2018-09-22] sub 4096R/D69CAA1C932929D7 2013-09-23 [expires: 2018-09-22] sub 4096R/031458A5478FE293 2014-09-26 [expires: 2017-09-25] sub 4096R/16FBC9DAA891055A 2014-09-26 [expires: 2017-09-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =PXeg -----END PGP PUBLIC KEY BLOCK-----
<snb@FreeBSD.org>
pub 2048R/DDADB9DC 2010-07-27 Key fingerprint = B678 6ECB 303D F580 A050 098F BDFF 4F3D DDAD B9DC uid S. Nicholas Barkas <snb@freebsd.org> sub 2048R/36E181FB 2010-07-27 sub 2048R/BDA4BED3 2010-07-29 sub 2048R/782A8737 2010-07-29
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 w7zsUcXBoDCfj8IfFwAxKholDgQBBt1pQcCbgIk= =zoiI -----END PGP PUBLIC KEY BLOCK-----
<barner@FreeBSD.org>
pub 1024D/EBADA82A 2000-11-10 Key fingerprint = 67D1 3562 9A2F 3177 E46A 35ED 0A49 FEFD EBAD A82A uid Simon Barner <barner@FreeBSD.org> uid Simon Barner <barner@in.tum.de> uid Simon Barner <barner@informatik.tu-muenchen.de> uid Simon Barner <barner@gmx.de> sub 2048g/F63052DE 2000-11-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 8o9/o+UAoI65F9bRERosGt0m0f0q1WwwdGcz =HMUk -----END PGP PUBLIC KEY BLOCK-----
<jbeich@FreeBSD.org>
pub 2048R/E4C77883479DBDDB 2015-01-05 [expires: 2018-01-04] Key fingerprint = DB44 3674 C7D2 3578 6E14 92CE E4C7 7883 479D BDDB uid Jan Beich <jbeich@FreeBSD.org> uid Jan Beich <jbeich@vfemail.net> sub 2048R/4E6607EF660A8DEC 2015-01-05 [expires: 2018-01-04]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 +sPbN9Zk45M= =ATbW -----END PGP PUBLIC KEY BLOCK-----
<art@FreeBSD.org>
pub 2048R/9ED4C836 2011-03-28 Key fingerprint = 7400 D541 07ED 3DF3 3E97 F2D5 8BDF 101C 9ED4 C836 uid Artem Belevich <artemb@gmail.com> uid Artem Belevich <art@freebsd.org> sub 2048R/55B0E4EB 2011-03-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 yCBkjpo4Ly8FcmqW800W8yVAArhNUCID =IDLa -----END PGP PUBLIC KEY BLOCK-----
<tobez@FreeBSD.org>
pub 1024D/7A7BA3C0 2000-05-25 Anton Berezin <tobez@catpipe.net> Key fingerprint = CDD8 560C 174B D8E5 0323 83CE 22CA 584C 7A7B A3C0 uid Anton Berezin <tobez@tobez.org> uid Anton Berezin <tobez@FreeBSD.org> sub 1024g/ADC71E87 2000-05-25
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDks22ERBACsqOob/YoPnaI/xubQKn/CCUFsaEMqL14TZ+FSlCphq3uZ7Y0W Qg2eqaTp97lG2NTVNEzF7K0yr/C3ofEQmTINQTd7DmEj04DDlR+t8BMFe6Xz2sBI WlEPD54ZfJVqhEX5P6T0xe9hiqjXKwQHHl1skKniKeO07o3K/4bCDDMfKwCg5DY1 /2j/Gid0YmxsJCIlg9kzRGMD/1lkSkQ0KrPH3RVPMrkRWE3rvvMES/F7jYNfKDQj X5lJDKoIQyWh1JwAmW/O10V+24Vl6JEFNQ4QJ7ix9hlkI59YS4TERxCUGGDpl3jr Lae6FFxYc1D5H8LLpiTSApmZcLxUE8CFoZJLySHgjp8qzvA60wMOjkfkWMgw3BpE N8DVA/9UF+5ue4bLHsPn7Jv5NzOkzaTgC/9O3UZUj/jYOp/vkI+0wPnP0U5f304P iLpYl1tlCEpciWF88MS5k3+8zsk8trqorss/XQfFzhHVtvRtgVxj87V0Z01E2ZZr YlqrnzHKQZOAKM2X9FiRZOAkndkkpeB+7SSeXDP62I56B+690LQfQW50b24gQmVy ZXppbiA8dG9iZXpAdG9iZXoub3JnPohWBBMRAgAWBQI5LNthBAsKBAMDFQMCAxYC AQIXgAAKCRAiylhMenujwBepAKCCtVcVRS40E9SY4Su8GTOBVoH4UwCgu3gK3zMy /QhZnnhmTKaguG6XopqIRgQQEQIABgUCOSz5ngAKCRCBvdPEDh+beRnEAJ9xU+6P TJrLGk8PKtO+UY8Zt7MTxgCdHYzFsXZ81j9HY0Z4EaHkQBXv1JmITAQQEQIADAUC OS6PpwUDCWdTAAAKCRDXjLzlZqdLMXMaAJwOE+6Jh5PnfHc09x3JKN4/a0v63wCg 6GdysmObSBQXATzYBuhy/0eFCCC0IUFudG9uIEJlcmV6aW4gPHRvYmV6QEZyZWVC U0Qub3JnPohXBBMRAgAXBQI7JNTmBQsHCgMEAxUDAgMWAgECF4AACgkQIspYTHp7 o8CQ3wCeI+P8VsHzHpfmUMa5kCzjBeqj3zcAoKYmyZUSxhV9TBQPo2WQ7zF3zcoB tCFBbnRvbiBCZXJlemluIDx0b2JlekBjYXRwaXBlLm5ldD6IVwQTEQIAFwUCOyTV DwULBwoDBAMVAwIDFgIBAheAAAoJECLKWEx6e6PATIsAn3clXqExEiP/Q/IDQb7e /yolgMrRAKDPw+6ZxTOJFba2HWEto0PwQ/COE7kBDQQ5LNt+EAQAjHltp9g75EOw pEDSUvK/B0aRUsjoIyAokRuW9Tg8S0xIhtV8ogcklvcXjQbjiEsAiO13hX7zmdmb yH7xLiSjea/m/whmNr9K094BS1K5i7mmUqNEFOyPB7VkPbRs5gF0dCkHT5uVgqFJ HSbss3zPyGYEBi8uDokIfOt4o5CEMYsAAwUD/269N/UwZkO4+NYivNX0ZpcUouqV YDPQ8YLwSrkwWpG7UNvNHd1HS43OWwAOy585SkLpZkjlW58NqyXJuWVC0xJtdTrI MKTZ3IJNXMK2wdK+nBuTL4IvJwkf04pwFel80F2NtgUjR3ZgIlRNvFtvtCkNPg0j t7J8pPvL2vU5hz7HiEYEGBECAAYFAjks234ACgkQIspYTHp7o8Bj7wCfSZsld8vv iM02pWobJy/VvsBJKU8An2auT0HLmVLClDph/fQa+k1R2qsR =ISZ3 -----END PGP PUBLIC KEY BLOCK-----
<damien@FreeBSD.org>
pub 2048R/D129F093 2005-03-02 Key fingerprint = D3AB 28C3 1A4A E219 3145 54FE 220A 7486 D129 F093 uid Damien Bergamini <damien.bergamini@free.fr> uid Damien Bergamini <damien@FreeBSD.org> sub 2048R/9FBA73A4 2005-03-02
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =uQuq -----END PGP PUBLIC KEY BLOCK-----
<tdb@FreeBSD.org>
pub 4096R/FDF38D55 2013-08-07 [expires: 2015-08-07] Key fingerprint = 4BD9 5F90 8A50 40E8 D26C D681 6C22 6B37 FDF3 8D55 uid Tim Bishop <tim@bishnet.net> uid Tim Bishop <T.D.Bishop@kent.ac.uk> uid Tim Bishop <tdb@FreeBSD.org> uid Tim Bishop <tdb@i-scream.org> sub 4096R/25CEA948 2013-08-07 [expires: 2015-08-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 3LmEJEI19hT39nIrQGIAzj8zVP/tHw== =s4nE -----END PGP PUBLIC KEY BLOCK-----
<gblach@FreeBSD.org>
pub rsa2048/CDDD45D18039F8DB 2014-12-02 [expires: 2017-12-01] Key fingerprint = 1F36 5D6E 307C 5F9C 54B4 DA34 CDDD 45D1 8039 F8DB uid Grzegorz Blach <gblach@FreeBSD.org> sub rsa2048/C1615CA1677FEE16 2014-12-02 [expires: 2017-12-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFR987wBCADC8B7ZXvAg7wuMluKA4cNl3pf4Shi10HpMVWG159eUjx1xCWs6 fa5I15hlD94vvom0E5H7cbhuF+K1yJxyLgn993DtS/0YZJbjyqrRLQEEBTZEZGu+ Ahdj4hJsyetehv/MawVY/Rl+iGxvuj0sBsg2zT52X2n9XOLrRUlZT3It9dRsaVeO 4/35fjRVKHvUY/SV5C3bxpoz3OryVGsBI4hzkmmTQ2cJnpAvCYhBKRQ4oFXlmsaq sbdDM8qgqInciaAh3eQqygxtepu1hHwsU6PJTpDgJRNaIspgAjf4VHukWM79DhoC SZbUc8rWJIM8mm59/O9P3FiTR9gtJSvT65BfABEBAAG0I0dyemVnb3J6IEJsYWNo IDxnYmxhY2hARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJUffO8AhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEM3dRdGAOfjbF4MH/1PdpF7bYGHVQkjc RBnKoA/IpI977mzZWawGGsrpR5NFQ1yUriRjWqTYvKDe2fRwGAZ9IMx1EMkAtdO9 b5+PvGvcvO5mIS7Lp0Jk2yFkPcaKshKmceV4qEVWrxh76GRSF3YRywSfWKZK5i8D TNQQ7ccQKP3F8oDNNoylGsKEXWL5PgokF/GQOVlaOsdwO3hja//CoOtiM/SJO0CT DA4GzrX2Q7ChC80Y8xtimjn4Ur15NDoOlGwVtUFmaPHtYLIybN4Gu3P8MWFxs8jQ 0Igz+w8YJXqzQkhtr4Ow0RxAN4yLiw0RHeeZnIdHilhDiPVQArl8jyud5QLgpTW8 uyiqIm+5AQ0EVH3zvAEIANiA70TDcgDf34zO+bGEmA/Mzp0hiXxQiLnqFxQFWJ4F NChlxJagYMPzFjVihIEFwN2hHMV4f/7P4IUapRbYdrrDA5b8f9Y7ptrwAyK/1Wru Hrk1xW1EesiYqpTKer56xFT7fj+xZiviVXEqxzecTFMpTuZXI3ROBt8FGHa+xvvQ B79u5jaGlI7Co3u9DW7lo3s7n3aD3PS9qfZDbPBRZOrKOQwuPglx7g+cyLP71r5W dNSktz9l4PDZi6yJ7hrU8A/YqJb+g/CnHy7zsEgRB4YsT88qDThFBju2dT6dkhE/ YLB3YgwfP4dcq/EN/0IMSX9/XE+s8bHuINVhhIujgh8AEQEAAYkBJQQYAQoADwUC VH3zvAIbDAUJBaOagAAKCRDN3UXRgDn426drB/90Nko8FMAH28nni0DgAWtTLWgm bEagGqErTqqjLcToBeVyDhZ85MIzfjBLMn64dDQPxHp2BOY/DS631m4Lpnlw/7re a5/perZmacBxmgPGYCZnaikLC4JypteV4aXwRosc9B5dSH/dMMwfwqiViKw1vkRG qJHkiVHpcCVD6XyyrhPzCk3NBNiFF2B/WwdlKUGm9SYdoNXkbJWTRDgViwrvGgob 0uSRCGWBL62lt4V994r6LhbC78aHr8CkqtprRJ6Hmi5+zMCJmAUIO0GL/vF/JEBz dWjSvvKlHJf62WpoizOZipHB7TYghz0RUJNCfp2lGVSOnrOWuGavOA/yo7vN =gui3 -----END PGP PUBLIC KEY BLOCK-----
<mbr@FreeBSD.org>
pub 1024D/D300551E 2001-12-20 Martin Blapp <mb@imp.ch> Key fingerprint = B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E sub 1024g/998281C8 2001-12-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDwhwB0RBACelK3FYxd6cT5ukbiSdVLHPLfzgH3F34JfS6Q4FMXgEAPtx7iy U4Lc8A4Z2gCq1ZHBZTzKc61U+nzHe+eUWtAj0h3qDP4DOd7JCZbh4SW6dMIC7MAM /9J5br6e2fIIn3rzbROXSW7CJPox2D/zZcT1b727Wgy5NHUob3qej/zhwwCgrZ0o KBapUXgnKhesQzKlH2wWCJkD/3njAzJsFS7nDdTssMtd7ip9W97uNOFLuJ1/Sg5S 332BUby73hNzSXlS4rhtQB6NVBRLfGASuEYBJQIEz6aao/lDprIxTusCTrO/EGqa Dy5y4XE1ClIyZ0yVw05UJiTOZ7Mu/kUTBBzQ2i15lxjzXBt9pNifvtcKBhcDmdzQ zepQA/9Jio4IBFmjPDsl3kpvA8KqP7VXKFMMBVT9SztYVIeiFgbvff/YCqzkE5RD 0PWUFPF3o8rzsCovlpySfUNLUlfqxEZ+5+/5ky7AbJ6Vmyn7Tl+mBSZs4mTV7ktN 526ngUaW2j+aO2SdWao/di+sRutrgRjJqyvgGn1YGnrSoKbMJ7QYTWFydGluIEJs YXBwIDxtYkBpbXAuY2g+iFcEExECABcFAjwhwB0FCwcKAwQDFQMCAxYCAQIXgAAK CRCGhu8i0wBVHh3IAKCDMueq8RCcRO+3Lc+uQyXqDKCf3QCgpVWa7oS6lTiNxwSP enZ7+4g+TkK5AQ0EPCHAIhAEAI3iAhZEDBjyJvPS74CXq1ypWvXfQUCYADCc/Cuv 3xrr1p4ff3oYc+IIVdeOQktKWRP1dK7v1JLmqFsNQQIs+NtgHyO+azyX5vJGVRTg aCIuMMTnrDBC7VbAnWXtTHF5VKmmd891Y+nk68p5YVnRPc/fReXEY6dA9lqW0bN2 f2jLAAMGA/9rMbPpnRy+uvaAQChkHvOV1RnDAhN2R+U9u3d0uNnv7sWa/TJrcdig KNUsUvXqIXVkqEMrYHTbCVC4mLMd51MLARiIKOaHeynRZYkEmdi5X7EiBLS9dCUe 7+vMz4jV6MRIGyr8TBy3CEFIdAnpY6EIVd326PzYIgx8UZw3oEvjGIhGBBgRAgAG BQI8IcAiAAoJEIaG7yLTAFUetM4AoJg56qwlr8E1iEs0F33G6POGCWnCAJ4mW9E3 25TD51pcom8Plwy1BkuBSw== =oE+K -----END PGP PUBLIC KEY BLOCK-----
<wblock@FreeBSD.org>
pub 2048R/BB37E0C846CB85CF 2014-03-13 [expires: 2017-03-12] Key fingerprint = EC53 662F FEFE D6F4 2DBA B483 BB37 E0C8 46CB 85CF uid Warren Block <wblock@FreeBSD.org> uid Warren Block <wblock@wonkity.com> sub 2048R/D79E292E145902B5 2014-03-13 [expires: 2017-03-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 rAAsFRWSLWqrOTOiplU= =U5nQ -----END PGP PUBLIC KEY BLOCK-----
<bvs@FreeBSD.org>
pub 1024D/B32017F7 2005-10-02 Vitaly Bogdanov <gad@gad.glazov.net> Key fingerprint = 402E B8E4 53CB 22FF BE62 AE35 A0BF B077 B320 17F7 uid Vitaly Bogdanov <bvs@freebsd.org> sub 1024g/0E88C62E 2005-10-02
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEM/sJgRBAD26RM3o9QC+V5JO6/zr3ffRnNb08Bc6YIvpTd8yUhc4AIa1Zbg QHoUNZ0pOLffeZ3i0wnqV3lMV1cPMtvSRWlvh+XSiSg8hYlnh7+oAwmqs0Zev1r7 w/In683ytXREuidcak8qWq4GAkET20sIICV7Ye56HJDlKrtOjUWDhVQJvwCg8jUp CDtJ8V6Cw6GgjxH1iaNR1X0EAMKCUJwZgIoh2Rpqfrbwv92AD7dmaJJLVfnUSMCE GvjcZ+O41PpvWi3PkxmgA3Zb0sJ3OSfgPi3Tnj3Nllyhqnf3WO1Yumzq3myBg+F/ qH9a8BXvVJlk/2cbYUC6uJeGMCC971X3hceu51J41k0ano7/ALIWeoUC1HhkAOaP f7IoBADkQCDuIvdJ7KebBMgXIHwAJnycVZsXXQPlOx0gty4+OVMY9PfpEm7T+1DM mWwuckntM9tSYuInbUPco70LBxuHHBNnhiUOTkijZ5GK/VF+WPnqOEopkjL7LD2q wSYqGaBPbl/noAoEb3Nx7h8D94kJUF7Gchs9fCH6UxHd+/Q8jbQhVml0YWx5IEJv Z2Rhbm92IDxidnNAZnJlZWJzZC5vcmc+iF4EExECAB4FAkM/sJgCGwMGCwkIBwMC AxUCAwMWAgECHgECF4AACgkQoL+wd7MgF/cbhwCghoShm9pCHbiUjXin1mR+0HaU XvAAniOPVmeKUuBBKCc3KLPIhfCCKt9viEYEEBECAAYFAkM/zzcACgkQhdRQRWtp GwOrjACfRJUhoojMI3sBMsjH9IuCwj8CikoAn3RlHMmCAx7JIiAMmg2gC1qjIUsU tCRWaXRhbHkgQm9nZGFub3YgPGdhZEBnYWQuZ2xhem92Lm5ldD6IXgQTEQIAHgUC Qz+yTQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCgv7B3syAX91XMAKDJ89F+ 46BctXCALIn53c89waWDrQCgmCHSVr/rVUMU6fnyHtoNvYXtkFuIRgQQEQIABgUC Qz/PMwAKCRCF1FBFa2kbA/bwAJ4mwlXag5w3scB7heyAtqr7w6491QCghh/fVv3t EOFNlmwonrudaMSIYTm5AQ0EQz+wmRAEAKke9/e3jLaDx8i86+J0eTOAypCQy7WU QajhZDFqBHbBQTDRbcYG1dLYd/sC9oUwqgaLe+yEYw3JdfsiaiHsE2yZ/S4S2wTL 7MrUqOc1aVPu95c3Xcef13DKCMx36B4EbMwJa00bU5ut6/7tHly5Edb8nkn5vKP4 00TbjMa/3ZCHAAMFA/9OffxCzJmwUjCOxAg2GBberPxovtCtwAw7goKZzuga9+9Q dZBICMIc4l/I+zjDlphF/k9I5CQGOwoKTo+OCsZN7SSAB94NV9BEoA1MX9drWv0y CZJlD1bSrcPFVjWajXqC6NpAAiCdQapvV1sJK0F09v/RTHdPAZcRnpg/YS2jDohJ BBgRAgAJBQJDP7CZAhsMAAoJEKC/sHezIBf3nP8AoNBIM6JqCrnzQealKln3Tc+t HMPIAJ9td+R2zFqwuX+IMk135J0T/PXeaw== =bBFz -----END PGP PUBLIC KEY BLOCK-----
<zbb@FreeBSD.org>
pub 2048R/C32C9921 2013-09-04 [expires: 2018-09-03] Key fingerprint = B3EF DAFC C938 03EE 7B1B 5748 0EBE 8E50 C32C 9921 uid Zbigniew Bodek <zbb@FreeBSD.org> sub 2048R/62B40108 2013-09-04 [expires: 2018-09-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFInRrUBCAChJZzXWdBVIc74MEQG4ZlWH12O/+3tVwLwJQvIFFrzfIHVB7B6 GWvvZEO4wJrYhM62AkFHDM0yQjVn5ZiX48Hft3yrfcJ74e/kU4HmXrCjojZdYT5z irGokl5O5bbNnn75/U9j92omq3FQEhh7ew1Bdob6pGTePJ7J+wJxAfmLA9e2TvMN csvsyG7TDc4EbyKlUcvoxPWoJRVWZ8RaC0IO51PtaLUXtKzDiQYAvGKBsaPc1RDP BkT0xsjKH6Y2I/0w5YYlFarIIVXNyPZpBp6wN7AYS/9nyrxkRsCgcVWTE35ED7Iq ulUgxcRxIfAGm40rdF0WgkSL5TvCmeBKfgDZABEBAAG0IFpiaWduaWV3IEJvZGVr IDx6YmJARnJlZUJTRC5vcmc+iQE+BBMBAgAoBQJSJ0a1AhsDBQkJZgGABgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAOvo5QwyyZIWeSB/0Vcrhoq5YKX7oQvhHF BgY5IrUs1hWhEtBUmMcIyQuCCK3LApcG1P5XRkZGyMWpMdfyWjTxojDhzjtfK2UL UmndpRFZ935dXreLQ1zRjtw8LwB4R6v6gwj197Nk3mTXGFdrGKZG3Anr33GwhYic xPdlLtrqBXmedXLW86JdoYIbgb5gt0vlwjqrlr/w0d193DPbvZOw46iNH6CpPSS6 boCyJPAnMWEOj7QWmxwbBRICEJRo4b5iULhQNB8eUiZvN69uowuaWP6oD+cF7gO1 honULx2MQYoZJlKTaV1iRu75CVrw0YpqJkRajyGS42UcjJJPjegKwEKq2DWGdEN7 bTzcuQENBFInRrUBCADMACHf54vtGP8w7vj+xNjSV8JYAaMwmU4LSUVz9hsR0aVs +JxZMSGBMLpxCiu+1a7kAAWhnfUeL3uSooY09GUAgsu7EJI2DbZtpbg8D8iGwWor TDpgWs/C3wK0cqFQ0cMGGB3gML4KUyic1E/KLApkS6p30nnjHW+wKoY/6LWfoBgT 9rQ9CqRfWUKZeC/Uma/MsF9Eml/he9ICuDbQY7gw2tqL9MKt0NXnkFCSb/BWQY+C MosbP6PSlU8KC7l1VOP0+MFsKMmeWVihsVc9IRnEwrmd+UXH/UPrtY79VHprfRxw ze8QBkkPmc0foc8YoBGVIwcmdE2z9Wg3Or4SNgeTABEBAAGJASUEGAECAA8FAlIn RrUCGwwFCQlmAYAACgkQDr6OUMMsmSHxDAf/VIVLZ9pF699WHbXiv4LwApZUB0IM Twh7r0Ia4JKWV+fH3EhKEgIyu5LKuIJxctvqKgzPzeySZY18F8K8cKmFbrCuhXVI 0ma3uirjBMb8h5c3EMAXCjFBrjOX2Q9BTDLctcLOMgMKIIAQVgyYNkp32nQZiieA 6HQV+bQ9EXKTrHLSVfKCix3C8ttkKh1B1BC2uf+brgLLohBBo5WTNuivOprYLOGl 1UcFu+pokvgnBkZjigGIGY5wjDZfn8/HZPoR9e/g/B0A8g6evcJLdKyYnSMQ5EvZ w3gJYB1YnEoadKZRp5/huQLePB1s4ggt0yu2B5rRNXsJrSEjc/KCzXZo5w== =x0i8 -----END PGP PUBLIC KEY BLOCK-----
<novel@FreeBSD.org>
pub 2048R/08C2226A 2010-12-03 Key fingerprint = 8BA4 DF2A D14F 99B6 37E0 0070 C96D 5FFE 08C2 226A uid Roman Bogorodskiy <bogorodskiy@gmail.com> uid Roman Bogorodskiy <novel@FreeBSD.org> uid Roman Bogorodskiy <rbogorodskiy@apache.org> uid Roman Bogorodskiy <rbogorodskiy@griddynamics.com> sub 2048R/EC4ED237 2010-12-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBEz5PvIBCADEywRgDxobBqM8Ue21Jh2U7HgS4j5gzACCKF6H++QcS0ohTbw1 HQXsnVMNAwp3orG+ksukxKyxOFVnf2oWsoQ+ZKg9+jKg0oU2fnTgsqlVjTHrWHXR Gp51w+swR4cQQMdO/v696KGD6igT/PVXUCliPl/SaSy3CMxQnMJiNVcUCf3F9Y5D vuceManrZJ43fX6ztkHuhyoGxH/AWGNU2UkZO6TKYo7zJ1TNG437gDTyKy3O5gtF PTqJ5OknqJPitoqLXBksjCwq3iyDmqKkppSi8JO2Su27pgwmNfRWo8r4jnLVpEpH eCd7Fu/TimB2McIw0mJgN4tveZ+u/8RpAXQfABEBAAG0KVJvbWFuIEJvZ29yb2Rz a2l5IDxib2dvcm9kc2tpeUBnbWFpbC5jb20+iQE7BBMBAgAlAhsDBgsJCAcDAgYV CAIJCgsEFgIDAQIeAQIXgAUCTPlApAIZAQAKCRDJbV/+CMIiaj70CACwDlzGw16o /Ucu1vtK5IOyIhChX3hHSp0MgDYcw7hVpmSvOnjIxgZfXHRlRVU0fvI18HaeHjQT iQ5MtEBnrUoWKFzMDFp8+vJ/0bDtDRIjIRMDimIxVdhHddPsdtzVLDJjbjG0TG29 bNp8dU5eUyfmtxOeEckz198WrkKVc2l7Ynh2n2KacslK86nO/KQQcHSj59Builns d7GBdLGZauq8oqowM7n2NoMRWDkX2TqVQyL+a6diD29KahcvF9wXNoTw8vVox/gP gUdmclhktS8ybV8eSd8wT+4lT+s4Fnv1Df3yMeGhMHYkCyaUgdgW+4mE+olxsGZs PdrCevva6DsMtCVSb21hbiBCb2dvcm9kc2tpeSA8bm92ZWxARnJlZUJTRC5vcmc+ iQE4BBMBAgAiBQJM+T91AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDJ bV/+CMIiajt2CACNuGoZu99U0gubBgNhrmAg1VuZTGTpi0PtqQ4i1+K3nWdne/di lpgD6PKNj2IWH9CRQpQ9XnGw1HnSFgc1YjNXMNPCF7zwkjR5rWKH0OJ8zkK/bpGl KymWLaIxFEaCUZpyuDWJBLXu8u680RTU8+6SDY1iDB7Wu6OZ4OIrVCPEpgLgrsGq eqozWHyS4L8Lqa717lmRffv78fRxWh9AdetpL6EG2IMJ4SyCTOTveT1H/ylMZtiq Il169YHlNut56Dr+Hu1BlJ/1YqWPFbQEyhRfuJKxt2XFyQDC3CK/9eVDDZfiHJGl G2yCxfBsa4KOF5COX3augYjVG8fjO2LIYBkEtCtSb21hbiBCb2dvcm9kc2tpeSA8 cmJvZ29yb2Rza2l5QGFwYWNoZS5vcmc+iQE4BBMBAgAiBQJM+T+kAhsDBgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDJbV/+CMIiahpBCADDMiQVoIId4eKs+zn3 Et4u6x7uqXau07Oaa+Piyu80VY7+D8zZlccZb+fwJzIg/AyLnpjoJQWJbnbaktrM 4o6Mz6inO0p8jdH5IaFOJezl1sZcQNWDs59zGoIHdgTd9/r2KmbKxLphXsxrAfZ5 molQvKpbOTCit44i9Db5jrVbUwA+AEJm/YNDDB0e2kvQ44YDFRdG53erOIcJ513u gtWFj0FKVhYIQ7s+lZm5nELc0gEvI110hu0VOZDe5gFwZxqQikNjzj+7dmg9Un16 WYufSXxNV4ZrUKZfstGUBJh8WM0HJXZmdo45VCMcK9JanuFsM8r4KiI2YtsLrlnI jftbtDFSb21hbiBCb2dvcm9kc2tpeSA8cmJvZ29yb2Rza2l5QGdyaWRkeW5hbWlj cy5jb20+iQE4BBMBAgAiBQJM+T/EAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX gAAKCRDJbV/+CMIialYSB/9nudV91Z1EpEZDCHNnndusvZznvd1OK5bKm0bBEUnj coYk5LgCJ7pxJF0vhGFA1Nwd/b8lH7e1E/G/WvAQT80oEnFwVPs1IVD5LNBcsQUT YoMuasJt/4w1LCmCN03DuoN2erPHl6TawPr0Jd4hdP8yTwPMlG0MSZCHYA4iwqub c2aKOoG0WEwazocyfgidsiU2H8kY7UtY22Gw0baOO2ZfBx5GKb4gT3LIt4HDBZLW OeCtvkwgf7OIhN9vaPpxIlHC/eiCxPiqacyChHlc2GrrbVka+siKBx9kcTtIdKAB ObqhAGSmOmcWblfmIyfog9o5Ay+/yKebOBwhNnM5zRhuuQENBEz5PvIBCAC/11gz Xp0sE8pczDkJ14UmZRwlx1HsQemL+D+x5B2hBvBZpgjBUEKb3jp09za7LgVpkwck Rs57kKWbtXmVJFlevT5Efu2nh+PhjcA2yaZeekLrMke3/AaeXg4GATCc5wyW22c1 v+Yyn8p5nblrmwX6Sdv3LegPGZjpVvx74lviVOEwqZ7AsO2OaN/Hnb5jjudLDQIp EMU82A+8tVMXrINe963ubG35S419TrijH92OiWHLk4QxtW6dGfZFtr/Rn5LibIa/ x/mS9/uaps2fOMIT2E2joC654nyRTgHRpaOGJoJALH+nc8CaeWnN5vXpaGjMIgHz 6OATngfCbRpyRTXDABEBAAGJAR8EGAECAAkFAkz5PvICGwwACgkQyW1f/gjCImr4 Pwf+KIIYsfBv2ZL87HoUJWI6InAljXNduzh5Z1LBwqRFQILEdKbRTxHRCQFbuQXz XuoG9Sm+SQJuWEapSgfVc5AjCLwkS6fe5POYKZi+bJVg+WG9phyA3ahkomevQeN9 RiMmoUHLyTT5pJcmkUemjKOR68L0sSQxZSa6E1jymn6eV8G4WQIrgxkbG0+n8jlL Gh45Z32XSPRcvLmP/R24m94y4hRcFf7+zi/8jsWsLhhQeKXLekTYkxl9KFnGTG1Q Awe4IQFbQ3JTtPucKIc5Nhc7psmvbLrRLIY47b+5Y9HaSepcm+7p4MNlsOE1Tj0G at3c73i8nATVo8CdE9D1rxmG3A== =Iduw -----END PGP PUBLIC KEY BLOCK-----
<garga@FreeBSD.org>
pub 4096R/9F625790 2012-11-28 [expires: 2017-11-27] Key fingerprint = E3DA 9B2A 6160 99CB 4B31 7641 F1F0 E7A1 9F62 5790 uid Renato Botelho (FreeBSD) <garga@FreeBSD.org> uid Renato Botelho (Personal) <rbgarga@gmail.com> uid Renato Botelho (FreeBSD) <garga.bsd@gmail.com> sub 4096R/473CC82A 2012-11-28 [expires: 2017-11-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org mQINBFC2VTcBEACrNnCyFkWWWe4MI0mkeI2bPl0guEaRTRVY6BL9SmzipqITfdTn CpeDS9v+y67Dl0orger5+iYc96smxft/DCCOMc1BpdJ+9oRTtYRF0n1gRkGPmt59 k9Irqt/omkNHKEgrcxhDIwslAffrzTvCqTdFir3YAMSRYiNE+8pfWw2QdecPxMnC aPDIMvEzM4woZIGZpRvCw7MyJXtvKxkXvp59yslsoiTg3jsE6aUDNHjion5zRkWl 1++DCJk43fkdRCHePSzN+Q9SsrlzhalMuaUouN+UUGDlkgI9N6d5bIaH8MbFwd3s 8lwNistFIOuHdyRDLBR9zO0AJxzN/57oZbPJZy6hRvo52wYR+Tphru0mpOMZ7CjS NCyyA7yyecgFDfoKBPQfRnSZ+HDr36dm+BVE9vvwIj1wZt01FIqDZKEMznQ2KYvY doL8XfEWqemIE3wRNco+h5QtuxZa7qsMlmpd5C0/59RITyqj6/2hclkxBIujibZm jOnOZsW3XhglMCBXkQhHoc654CwUH8l3Xept1k1rbLDfbfvC63S5eht3vTO4+Dkc m3c9LL9mLmskdgS5jU3z335+up+OJkFgbQ7Gm9R3afuPJkzxBBYld2ew/trvAjla O7wZecvUqvnCOnXXGmpYc0/4NewWl9lkGcMJmDFYQwSqFdUIkDFRNr7WLwARAQAB tCxSZW5hdG8gQm90ZWxobyAoRnJlZUJTRCkgPGdhcmdhQEZyZWVCU0Qub3JnPokC QAQTAQoAKgIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCULZXeAIZ AQAKCRDx8Oehn2JXkM3qD/9xohIYl1H/XFJSfjJ684PofXq51J/1U8nmxIKHhDYc rmzX2WVC+pGHH5B4tev5bNybDiHoj8H8YIY7Qgnnlbu5Mb4H/rh4bwhzrwvoT7Gr aiHolUOho351Tq9CqXCLjTlocBPqkYTu0fbzXAoILCH2Ac3jwdBBmriJydPQvYGA gRApHx40gguF4RCItbwIV03JQ0HHCGWqpMGSBrEYUFlkcf7o6054rB7Nv9faJEm4 r4rP8IrdKPQo5Mk2lNE++525VUg7h0WqcmcLXvaLZnCHZQ0oyehZH+6n6n2U079n bpBs0HPH6gKouDDyc8nbKSfY2V0/6VcdA86fhQ0ighRXcjFEAJYVBbJjmVzctVaB 122HZw4enbiBy9WRKQlwPGDhAdyGh3rNOCtiNNDmeNbVXJUfcensQMLaaX2JhPzR V9eVNeDwY2gNj2lbmnM4v640mLl4JekhqQAPUYmYgXE+n9jNJ4DZXOM3ZNZN0Pgg GH0NmBAjatnvwUYjm6J8hBK0F/iHhmKqfd8R5vQeek+ztm0iqtxOl60w54iwo4Xy 0vlv9mpKTKxyW/CKcVpkAQ9UZi9vEQgeLmXgRM4bRqrMDsQIvTYJIRTj415J4rs/ o5X0SHBd2KeyEpNVRgynA7Ht9ja6CNnaxvR70oTEY5nHNR9SNpqpq68K5KfWnFb3 dohGBBMRCgAGBQJQtlh9AAoJEOgkW4kiRO2pR4oAoKRU243TMhoGUUcGVBV1XDcB VfYkAKCcZie0RRNMPS6/U0ps0YzMuKn+F4kBnAQTAQoABgUCULZfrQAKCRAgnptU /9MDW33TC/9pKQpZAGnwF5rTepeA8dARmmdeMoZyKWWVaW6gX99hBjSa6/V9xQjL OvucshCxd2gqI2LRqQxn0PUhUY4hq4fnRqnsLvRQy0kZdC0/DWQLdPzxGLzvbV4Z QirTF27LIIi4Hu90ij0+KbQK085VZgYcann3LSvqOpcSQHPaKkoNmYFIptkUmB02 SvLe4j50WGWI2nQ5IfHrDJcvhMfSGggM8BN6lR8HgkvMUa5dvYSyKx7/nBiS6BiJ 5MYxuH3lY8gUPGOfrAFZG86n2PyYNK3Ph+UiUqGFAZalvji/5+ANPgrHOUc9OUNs mDDixlp/YjoDw4Oh/Cscnp2ajSF7SUz78GeMSJT6hpLdUs/oWLOTkCUV7MZWlPCu Ol2PKSpk2GtqJ/aiN1oKaGm01cIL3wopge5CNgsaO2kSDDLhzAlditWmzp/x3/Zc 0F8KqU4w77XyFrj92PE4u4pmMyWr6KmDc4G9e3lM0naBD9ubu6t0IPSeh4QXo2Gu dZYnh6U7uwi0LVJlbmF0byBCb3RlbGhvIChQZXJzb25hbCkgPHJiZ2FyZ2FAZ21h aWwuY29tPokCPQQTAQoAJwUCULZVmgIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMB AAIeAQIXgAAKCRDx8Oehn2JXkNiVD/9qNMmxaSQ2FJUgpOcSU+UUxIyEBdMYjzZd 7klMPLsU2jEfObOp3SAQ+/yBB1uKEGJysARf1xkJ0B1h4dgy7QO6MBSyKNguNs9F 4gCoV8fjWysF18BzsCTPcuye48qS191dNjlEArtaPwHiopyVVKCIf3fwdFlvGTrn GXBe4BGyyGh+ob+oqBjjmhdnGUSY6xEQFAU7B8z+WhY3aWq5Qm4Ikq6WyDaKzczC rBwQCLmW2hSfxvna+9epkt8saJ+2bPE0glSEl/HwOtpdTGltAMY+lTc1MA4s/3+/ Xw28wTiYmRICJOhxLE2H/jWHuIZQ2KBRZWX9QBrOws1hy6bHXTrU/EQ9lMMvyD1Y G83lLqcD+021ZFWzGp0lvNDEIjuEo0ekkxV7CPHKIdvTVeFkzZy4pTlexmU8nX/9 wa2SxfqyZwhPbsV9BhRKdCzaG6JzieHPcSxsDlfoq6gMPATeT1cmRyCY73Qwt62V ORy8kET4yuYM+bo2JbzizX0v38cKLaw9d1mQAmUEG6f1s/e/cgkBU9ooFMFzNXP4 G9UoWVBuoQichfp+IMNinH0YkjMYOjF1itAFBkfxSwkNvbEMmpSzeFym9ZbHAWVL e+Vl0Xa+BYdcJsQoFxXqCHSyW6K7juIyAuM9N1HLJYHJvWKFXNR0qMT4yG1LGJI7 nKxA6X34O4hGBBMRCgAGBQJQtlh9AAoJEOgkW4kiRO2pZoYAoJciGHzbBdWK7vOa RzQG/wmgxX8kAJ4jcltYQzYCITm88Fogwep6t91gh4kBnAQTAQoABgUCULZfwAAK CRAgnptU/9MDW3oRDACIJmDAQMRw5EjOhBuVv9C9uYr1j6W71h7rif05OHyzQkmt EAHOs9s9c6B5AJpmvNxXzAnzGpL2scIC9POT65F1HZG6XrVXhOigmq7WBk7C4CsL tbv0ohIepcGGV9A6yeTRDrqZFJ7PnnC5RCVe+eTXAo8W24KmvOkXdJxN83qRR80N KwRYWLPB6FFg1+3PV4otKBzOoLqMsepj9LnzHMr73EgjA0B/kn2QoUQetWpxgQID Jk+yh77hrzB8D+fEZikKTc6exLc2IJKHeBLAJvrt4NQw5JZ13grm+Z4LF4DbX4gx VzrMcX3KdZY3lBqeWscRukTQ+v8+6/Q7tX7lvMbWEW6FPW1/qiLRKd+8p48eePAX RDzJDyQ0ybr8oGybrlV9Ocd8wJJwNsehGdOihG4CZHv03lKuNvCHKPWCBZMMJcjT jr82BNF83XK5x950zvjuYhym1lTR7AITgp2y7utHaEbAvq7gDV0KzxTd5dB6wiAr HzdhQs+wwTMPlzCu8mK0LlJlbmF0byBCb3RlbGhvIChGcmVlQlNEKSA8Z2FyZ2Eu YnNkQGdtYWlsLmNvbT6JAj0EEwEKACcFAlC2VX8CGwMFCQlmAYAFCwkIBwMFFQoJ CAsFFgIDAQACHgECF4AACgkQ8fDnoZ9iV5CCPhAAopBm3x55CBFFuF5krJ2HuSFf lSYQJNpM8k3ZxrlFfizKlcazI0BkAQr155l38IPSOC8b+hs4TXXWhn19x5zuK/FY Wb41nx4Ca2Xb1CyiYLmzKD8sSAssBO0IZrx7p2cksSEkRj+bxVrfD0GAWj8Ry2mV kLkfWiowZRTeLA24DuTy2q4LM4PaZj+FDGQXKzMXA1Z5t1bU60YO0pa+49I7C49Q xuwXFn177l8IfqQeEVo4ML7CtdkJA7L5ct3vxVpOmumKFN/NgcNYu9wDd28phrXs kDwMjXVBZeq/coyWDAGsvz+jMBVbiYvIWyKIsQwBIiGL+Csf4zCBr3MOj1ifVXyT Cl5DYJsF1kDMloKa76hVQKdMmYOG2+splDVyowAy8PsV8hBCzb2v+yRji8o65xPh mkkCA06aWDDkCnJ1Xxc/QtlU3v8wpLgqFo5RcL2xZ7ROPmqq+yum5YdCW2XwVQGS X+jftQvSIYaNIfL2cdfwTok7r8dA+ansLHxuPWF8RfGe5NNeEBo5+JH/KG/E9/lX 1500yXqxPrux/n62J5aa13TzaOTXLmpIqv5QkT6hxhFinjCyEFwiMSNOTgCixHZ5 lSav2I9CrzTpoMgWAePRUUVIcbwBb3ztyeT4v/bPfNnwL5StIqpqmQWeR9IkZvHz tQNyGI6qu3wB1XkFIUCIRgQTEQoABgUCULZYfQAKCRDoJFuJIkTtqfIkAKCbVlTF 7NPwEm3Z1VpGXWCnF1J4jgCfYu8xoh5cl8m9J3yhFR1x6/xEjnyJAZwEEwEKAAYF AlC2X8AACgkQIJ6bVP/TA1srBwv9G7iK/wAib17dhs6YoPiXBX4i5EReAGjNbW1m UNskPYMr6IRhlCn2La741QF8whIX1FtUuLsVla4V3V70vTrdvJFbqXstbqFW6o1u 8xybcAMiCCyRcPFMvATPtK/QDMijPULLIb7G0hFh8pouS3FteWS/ZS4LDudWhZX/ qHf+vInBVjy7qZR6KywJu6haQxTWmreDJDD7kaKvxqVTMBZ7IUpaeNNaSgdWk/7V s0ZNlgqRpB5Hna4TYLGBhIwCcCGDOsFZml8buAHGo6SrNvJlGAowiAscIb0S2dIB FqHYJBnXcoDjQGZV8gRgF0TxQpkazYnjSjrJRoPGDblVbYPp2Ttvy75N/Wumr6l1 Ui/l6tFOM18ILDlGLRQQ6duRtIXs9U05pvGMvYkxIRFKQrFAYoxKuIuFdp26K9g7 IhLMV0dc2YOtU3dKbtjva8xD6/ZebZTFviMs1a7fGp2bVNGpySQ3wh0Y2tKUVJ1C sq5eaUWP/8V3zuNjUMFls6SVXuNouQINBFC2VTcBEACzSD7fjx71fYnos/M0PNnX sb/Muyd+O8ovpH+Qf+1UxK6WX5XCiAbp/1r6CeU1Zfh6FInRt2tUWhRV0QX+tEfB XcvzpO6lwq4kErYNnrEK4fFk0NZz6X4qhRm4GuCpYQlbLm0D2ox46fxsIWzxvX6E pyd5WpvNdUKlRnrFMW3xbwXC39jB69yY3QhWGFcaM8QcPLl7DL4UAOylzBvpUmol Txx2waPAfX3JsIOtDAfhfy3CF4tCXn/OX4poAxG0vjqy3qSS6RfiTFKa3bcookcw Sani7IgepzitwIGhDUO2jBKEWhOZtMEoUCfo6fXletomMQaADedPg0Z9OlbzQPee 0LV0KZ+L4+NcD1znVREC1NTeXpfxt1BATzehpsneCvytCoR5XaRu8UxUzU/TEs38 2DPXeyCuqQFYKSD1gmDh/6cO5cgSOppmiLtQa7pm7cCPFJMSCxxAM2uQ20hlIfmJ LFDQY/0UcbczR8xN0HioW5vAn1lyjktvju8LOxpIaXcjN4IhzIK0Z/C38XI/9JVE qrxwFqWOv1Jgsk5o7M01FT8J1T3OQjLNJtY46UOgk+h0wrmUgL574/Vi9PZ8Sdk3 k/NEyxY/8J96AoubH63TH2+QAIefmNp6qpsNIdHodSiX+0lfgqY682evuIu01j3O JgHEWV70U9cG5ChZCXxXOQARAQABiQIlBBgBCgAPBQJQtlU3AhsMBQkJZgGAAAoJ EPHw56GfYleQ2pMP/0LonO+nfrG6aLm9Cmy5YEMFXpino4oH7vpj8Hg606MF+MZ8 Pd6AM2qmN9M2APrDXUm65G0I8DfZAVHddpYMkn9kIsHReUKaGXUvEgYwIU+KlVqE mfmSCo0QjtO5W/Q+/lMCtlqiqwmF9CySYbhDWbNs5S8k/rtKr+cj30+OJI+Nreys BcI3wNjmOUlWXY63mW34qKnvG8a3vmJIKDc7Vq296ht9kRYiwBSHDgKfJcdOPiE5 HSbwZPdMoSzkqp+S0rGsdj6hxZr1i083o6V1MS6WKyE9YkbkFRhXOx2q8CIpazoM eSxYVXTWhoaOSjGvTSVeMKxQ9M/6CGRWec/cy3AZ0cqpTvXVSt5N3QgduEoXyvtV wIyhw5UCuiZ6QmkrwvNRARY7G2qw9EpXVsRSdCmhOdylM+X037anp3NRB4JF0GA+ FuqnbgQhWL5vSyQU/bPZR7dMpPz1yad/0PyFXETk8qxUNT41b6SrhAjDS8HmFXc5 py7wNF8l8eLHQN2BS0mAUEuEAND/jA+/Nnza1NqgmcDgW19Tnt2wQnhsafWt3TQI CmKKsEz1GsyRyB5oIfkZFliiaSXpiX2lfShBU6OiaCvGPn7ZCt9Y3J/poNVIqGba YIT17Y1BSUD57J2/uF/NZq3CTxlk4bimLOe9dDYL/Laqm5A2nJzSzj+nvX2O =jV+3 -----END PGP PUBLIC KEY BLOCK-----
<alexbl@FreeBSD.org>
pub 1024D/12A95A7B 2006-09-13 Key fingerprint = D0C3 47F8 AE87 C829 0613 3586 24DF F52B 12A9 5A7B uid Alexander Botero-Lowry <alexbl@FreeBSD.org> sub 2048g/CA287923 2006-09-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEUHm3YRBAC/bBl9E1saFAVuS5wtnBQ7BbXPOr21SBExZ3t+f8k2PG2SsKYL xNMAn1drC9UdbUVcQDzlGcWQONYRKj4kWoYSYNDOElwa7Rv/f4z4NnIhOxxT6G+M qQTFWj6MjrCVPZh+b5Y3DTdmNxuJq+Yf9+DFsxc0i+xhMrbbjuokWRFdxwCgvb8Y fLNYJqjf9V5hhnvt3K2/L9sD/2frMKR7o1Ie3CgQbhZgYLkGlMmAlyrKLamdRzRl AmjJ35mkIQ9iu36BpsUmVL9WPjy2sdep0FyRLRgu5/q9qhJxy31GsVYv5y9m9+px X+00CN1a/5g1d6gxLUY30KsOL8OXSqwmq36iJHEsRxFfs9NJ/dBui1cFW0dDNmdg nE9xA/0aX+9BPSiu/hXFa5A2Q8fCB1wOcaru+QzgbY7nWnse2PQ7Nsv0xEMkaYdT AqA9I/UyssYeRygD7H8edd24xy39EBAVLLCD57Tjye2fCOyWBIGJU7Jtc4b/DJgm 6bP2bSscB44ybBmlWdza2sgui9D4beWQvEVZGgpsnqnCjJQDOLQrQWxleGFuZGVy IEJvdGVyby1Mb3dyeSA8YWxleGJsQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFB5t2 AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQJN/1KxKpWntZ4wCfWY5pLq6V rCpsAiGcIniMBUoueTYAn0b5suADC5pawqBP/Xbv95e69gDWuQINBEUHm5sQCADC 7ynjQmBXd8q2Ei9ab6oO6Q4XbEu2eMLcm1C4b1cu8Riyb0bYI8fQ0JkYPWBDdgvG iVuDGHjLRCJm8LDV4VAhpkn6obPaDW2ZVf3urkAsCszSmv0jlEO+grOj48c7sLeR NpZX76FCKFtgHClQOSfR/9eoKFQh5jveWgSQ0gEW95gGQShy1cTi1XUdJdxilL6G GNBfSNgAFwQBkepgzjR853bVysoZEF0Z9MF/PZgmAXoPYTs54tA24LSETmBo5BjA yUTI6Dv4+jKXqmDphX6BjxeJkYxlKAyVBgNrKZahPoyOPd0FvMINn4MpOJdpq3sv PSXwbexIrroMJQz7nR9vAAQLB/95AIR3oGIOhDCAUwf18K0Uv+v2cKVhClHqyAGy zHjyoyEoSnhApWVXD2hNvqfxy37t5/5EzaU0mvC0GMpv0trBa9uBRk8GrXgILnzh dYjhbSPZStx3D/0lFBLHt9qYjFFQweKNun9coOV0TzdXigH5PFxiks90Qc/sfr6N v6hXA4MAe81zeEdQafBkreHDo9fL4i+GwxF9novXNZ0C+YNJ6+3wOIJwacCZ1bdy gWTM8pTa7vtvtA0Pk4CZpGKSICg/jDq9dZT+vaNGFnKvQOQv1RPNLs/QqfvUo4ZF khopn5yHXGJjLZp0Zds4MdqXLddUNHXW20Yki11eZ9NXK1KdiEkEGBECAAkFAkUH m5sCGwwACgkQJN/1KxKpWnuSYgCeOgBV4svD8sqNBVN467Le6aLzPxIAoKsNXerk njcpzY8FzVuY52JnLNP4 =CUqZ -----END PGP PUBLIC KEY BLOCK-----
<sbz@FreeBSD.org>
pub 1024D/2487E57E 2011-03-15 [expires: 2016-03-14] Key fingerprint = 05BA DC7E F628 DE3F B241 BFBB 7363 51F4 2487 E57E uid Sofian Brabez <sbrabez@gmail.com> uid Sofian Brabez <sbz@FreeBSD.org> uid Sofian Brabez <sbz@6dev.net>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBE1/aRgRBAC9Nx9U/fn59g14PQ11t3prLTwrfzVYbEtPHWCNs0YDcB6G5M8f 8OpsPxousOkEy7xMYd8Xfzps9OSppH6Jwd/+GEiwaAT5G4tJ3X17aak/9fUUsir0 g+NohLUcflYszZlzLG01a8VH3AkDZgwkS/93IuQxPTmSX1ao56oHQvJ0rwCg2T3s +GgcLz5A+NJZ5jY4lv+R/OkD/2BPrDN6+B+e1znlnl8Nk0N0fmLjvYjgkJSA37E/ zAUh7mtpQroSo5vdy0/ODbbLL/JmcS52I9LOC/aakykSd7aS1Lw5vDvhG+bLWB/H eYWC35PtI08XnFDaKaycu0TnayrggEOpNJnMfOSviGMsvbnksas03RCFeAd63APg kXafBAC4x7c6iEsUmpVTn60mOTf4OVGGA8CN00HpyXfDgb2exuLfwAn34qNaNcd+ yVU1Hu3WPgQzQbTorqwi7zmjn80gmpYJjAW67zeeY9QLnuNdD93uJOIscjYltrl9 Ft5+lefMyTCb04Uc8lLAvoiZ+T7G/uyyRZnJ/5vzgr7xIeCPQLQhU29maWFuIEJy YWJleiA8c2JyYWJlekBnbWFpbC5jb20+iGsEExECACsCGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheAAhkBBQJPcussBQkJZyyUAAoJEHNjUfQkh+V+oTEAniEEpQyD 8sYsmOPJA9Kj3rlGdHoqAJ40pp9l42h+6HsOfzWmNXEOfA0g4bQfU29maWFuIEJy YWJleiA8c2J6QEZyZWVCU0Qub3JnPohoBBMRAgAoAhsDBgsJCAcDAgYVCAIJCgsE FgIDAQIeAQIXgAUCT3LrLwUJCWcslAAKCRBzY1H0JIflfkaDAJ9HOCFfC7uBDucx DraxT8X+3GNcbwCg1tl7zbIuEJj+7x6TkNNqR/6la/G0HFNvZmlhbiBCcmFiZXog PHNiekA2ZGV2Lm5ldD6IaAQTEQIAKAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC F4AFAk9y6y8FCQlnLJQACgkQc2NR9CSH5X6FTACgkK8Gxmb4hqgmk/lvrHqylgei tbEAniRE2s/taMog7hd/8sgTn5w4yYyluQENBE1/aRgQBACNIAMTtiB/KjSfsFIb n2vc4284SvwPNhdO0RWj0n7shgf6Y7F13nY/CbOFUPz1AI1SgJdRxGJOcfwVS3Dh 3YisqgGpnY5bdc5TDo2XzqWF+JgkePKTfvTnP3P2sYzGC+oMlAQkzZaQl8rBRvXe vpxNZIW6EpGEsBYBnxd2Cl97mwADBgP+PcBxmCc4bosldea851AiCkHyMBR0f/0I ldbawynpYFOwZVytmrWvuWcp86lnsPEkmBuOjBbK5WgNJzIO2XdmtaNuN4Ll9dHr AEcLFDMSerNkPAvkzMzNsu6L5ZVrBtXQr6omN8DLcau+6uRXq3wZrQZ2o97/pByP nmxopGDMt16ITwQYEQIADwUCTX9pGAIbDAUJAeEzgAAKCRBzY1H0JIflfhBRAKCu puEkAZ1svXS/c8Ei8FS70bQIlgCg188vwbrylTHwyH6aIlwU2lIqVXA= =4ffD -----END PGP PUBLIC KEY BLOCK-----
<ebrandi@FreeBSD.org>
pub 3072R/FFD3035B 2012-11-26 [expires: 2017-11-25] Key fingerprint = 443B 5363 564F 06C3 EA54 9482 209E 9B54 FFD3 035B uid Edson Brandi <ebrandi@FreeBSD.org> uid Edson Brandi <ebrandi@fugspbr.org> uid Edson Brandi <ebrandi@ebrandi.eti.br> uid Edson Brandi <edson.brandi@gmail.com> uid Edson Brandi <ebrandi@primeirospassos.org> uid Edson Brandi <ebrandi@gmail.com> uid Edson Brandi <ebrandi@fug.com.br> uid Edson Brandi <contato@edsonbrandi.com> uid Edson Brandi (Born 1977-08-14 in S. S. DA GRAMA, SP - Brazil) sub 3072R/A34B8175 2012-11-26 [expires: 2013-11-26] sub 3072R/4EB0E0EA 2012-11-26 [expires: 2013-11-26] sub 3072R/89917E73 2012-11-26 [expires: 2013-11-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 =aO2j -----END PGP PUBLIC KEY BLOCK-----
<harti@FreeBSD.org>
pub 1024D/5920099F 2003-01-29 Hartmut Brandt <brandt@fokus.fraunhofer.de> Key fingerprint = F60D 09A0 76B7 31EE 794B BB91 082F 291D 5920 099F uid Hartmut Brandt <harti@freebsd.org> sub 1024g/21D30205 2003-01-29
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (FreeBSD) mQGiBD43wzYRBACpuUuayKjLpf+tMndpkOwxmpaPkLFxiA/dI1iWjY8I9ItDLZyM LqgYXemOOga6vbTvIUq7Bjzl3oR72kjNX3J1EljsMj7dxksoY5lflEMdxAyzdVoI +/cu+cWiP0Z9unKpYmTk8S13sUTtZc0+ixioaUvHzSJ0nxQMpIW7dqCDewCgmSVR 6i2aK4oImAa9+ZbCxg7fCxcD/2xgAAwJSmaiaV/0As3A6IO0eSkbkzFSkMF+ms7C OtrHr1zmdM7h8MaGg/jw0Z6eZalYD7AclLvXDW0rxCMFwh06SC2axUTk+aE+vcys fuSk/HJtnktHUxZDgb28jf4X6zfcdTKE5dt5a9w3XHHPgdTXjGn7+sQNR4CWDcvq 1qNQBACOqNxJdCC9tDLycRoupNSwzldMKVBZ2/JdQjfCIq6d8HPMNVLU8PGlDjoy RN4QkMZLbwV9Gaigk2DR6vvi8meARADt53x4OjS4W3O/Pc/Aj8rsUcF2mRU/wiJC 8VkQsnaci5GuaYAssgKroOTZQzxHkOjbk4FeQ70C+wxovRsTh7QrSGFydG11dCBC cmFuZHQgPGJyYW5kdEBmb2t1cy5mcmF1bmhvZmVyLmRlPohfBBMRAgAfAhsDBAsH AwIDFQIDAxYCAQIeAQIXgAIZAQUCPjlTfwAKCRAILykdWSAJnxpyAJ9eHCdgiEt/ +Z5Ms8Qe3ekWTYTy1gCfdVWLF2MrZNL/MYOgBhhex70gKzu0IkhhcnRtdXQgQnJh bmR0IDxoYXJ0aUBmcmVlYnNkLm9yZz6IXAQTEQIAHAUCPjlT2QIbAwQLBwMCAxUC AwMWAgECHgECF4AACgkQCC8pHVkgCZ+BBQCeMpgFMMm4siEtrzqdisrRaxJJvosA nA7UDwOVoHDZaAkFD0HNcUsTkO3KuQENBD43wzcQBADsEH8o/9tD01ScNfhoMbK4 N7GsIJNFwQf0+MQuplpXQx4eBpI9ST1ZoAUXeM1j4jk5PIAMJzt8w6BAGgcU4iUG Un0R/QMTTXVkfovdSe9FW7/QtUjRtTQz3QOfZTkekYauFIiW+lSmH3BDwRXhpKgM e19eQZYOPRfLCnLLwqdr9wADBQQA5tIdzlDS80CNZxxoFDKlvOghtrIzPG/wIwGV at2clZMLhXESxDxDkpwT7XP1GRLyN/Plh/4k2vwxni7nOJ8BIch7rRh3E48TJat1 iZ99SFc9iibED5hY/HrKlc/kphFnUuEr/kk82UCv9p4/d2V1+8v1N+Cy2jCGvrip IQ6v2fOIRgQYEQIABgUCPjfDNwAKCRAILykdWSAJn0J4AJwMsjovUA6jCJRMEzOS kIakJgqJvgCeNLKyNEkyJZh0wZUcEg1zYLRYp/w= =+h/9 -----END PGP PUBLIC KEY BLOCK-----
<obraun@FreeBSD.org>
pub 1024D/EF25B1BA 2001-05-06 Oliver Braun <obraun@unsane.org> Key fingerprint = 6A3B 042A 732E 17E4 B6E7 3EAF C0B1 6B7D EF25 B1BA uid Oliver Braun <obraun@obraun.net> uid Oliver Braun <obraun@freebsd.org> uid Oliver Braun <obraun@haskell.org> sub 1024g/09D28582 2001-05-06
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDr1p9kRBADrTCmhk/+XY9Jc34z36wp8zy1rbxGBy80enJM+aFPHks/iYPxR WA1tB8BEdGPJliUMYcNGeo+ZX3As1+xxo7NJCc7Zd7Gfs1+fMOXPwKGt02mr+Nje +nF9XMfdGPP0IcK9lzkVeEdH2JP41pS2SmrMwsTE/eGv9pFEnnmRxeuFcwCg1RYc f8freOk8v68+J99mCUUAGl8EANePcxWbRYgH5KulTzE5nYIt9WBn247T7goE3yn1 R2VddSXXGhs0byRxXpNAcrysyGshIQY0nnZSB5AUt27tZJucoT1p/BtBFQ6hLCQe kaIRL0sdXrVJZn3/Q1G7vJWD6wwS35dro5PsYYPDI+qL1tISlWHZNQ2Y6jGdqhc4 Len0A/4nV78yB7cLvHksxwvbdtVVn8eVo1B2U+/b4cXhevHAl8AmNN+usmEodxxe 8FYWV8jY323xiYSMrCpYT9FuD3r2qORMOGWpg0zth6BkhdgH1z2i7koKkGIfc4mV 6oea3ep5uaU82r1sGe7/cVzMGUwzZq9xizwODfbmSW6E+vdAjLQgT2xpdmVyIEJy YXVuIDxvYnJhdW5AdW5zYW5lLm9yZz6IXwQTEQIAHwIbAwQLBwMCAxUCAwMWAgEC HgECF4ACGQEFAj4YDoEACgkQwLFrfe8lsbr7rgCg1K0Zl8CPgrQG7BEaZqzSiIM6 IZAAnjz5ifN2xHJSOJiLYloidZsikNFQtCBPbGl2ZXIgQnJhdW4gPG9icmF1bkBv YnJhdW4ubmV0PohcBBMRAgAcBQI9Y1sqAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAK CRDAsWt97yWxuv0CAJ9lUDzKKdaCp/8mJjlXLjlSZaaJTgCfXIqQr58p5MSFkVdL hLbK1P1l8FK0IU9saXZlciBCcmF1biA8b2JyYXVuQGZyZWVic2Qub3JnPohcBBMR AgAcBQI9Y1tFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRDAsWt97yWxukHLAJ9u oP9cIdBXldt7XfQ/5xK2fUsHPgCdFIR7cK0l0spO2xjzbzhoPPVShbq0IU9saXZl ciBCcmF1biA8b2JyYXVuQGhhc2tlbGwub3JnPoheBBMRAgAeBQJAViQBAhsDBgsJ CAcDAgMVAgMDFgIBAh4BAheAAAoJEMCxa33vJbG6MhIAoJ3dqHVStQdGzLPTGbtP Zq8wG0jmAKCzMo+si/LFBZAnOqYN3g2yVOOc6rkBDQQ69afaEAQAlaNzX3ql+XfL obAAIWW/TdY9Yh6r0fFFoK2Mdt6vungWhzSWb63DprREXyW1k6QbPQxL+pAfeCYZ oXQuNBmsUpO1Xn6ViEGRd53D07sNJfBrE/5w3hwL+c9lWSJlt0vHKzFtPAmqenBd fA0fs9afiew2sHhk/jz/FAwWcnF4aC8AAwUD/0upFaHEZsf8sVmSEew5tAtZ6i3x zaBjhaDv3sYobza57S8mXYhscK+nNHx3bP036wJ0z8ypqb5oCqGzWUkj9OpYZs0u Tbpla/MoCI9N1Ch8LfQkWPuvYjHF6LSY3wpZKaNWfeZPCmMT5XPqjuxDB1pCmnAU OizLyimZU2Y8tfQWiEYEGBECAAYFAjr1p9oACgkQwLFrfe8lsbqmfgCffgEhvau1 1EUoZmkdnzUg2rbKYnQAn1fVK9TjWnJWQ/YDOn9hmMZWYjib =wrrS -----END PGP PUBLIC KEY BLOCK-----
<makc@FreeBSD.org>
pub 1024D/ACB3CD12 2008-08-18 Key fingerprint = 4BAA 200E 720A 0BD1 7BB0 9DFD FBD9 08C2 ACB3 CD12 uid Max Brazhnikov <makc@FreeBSD.org> uid Max Brazhnikov <makc@issp.ac.ru> sub 1024g/5FAA4088 2008-08-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEipViERBACsCTYd7As236qQw4dG/xB8p3XbN7pFP/C4yjRJak2QZfsOQ4mR 7liBgXc0FevU6FQOW4XrcRbQeGFlRE5pb3idwhTKNc58TEifGM2s2ZGgRrR0aIF+ 9s5ZbVNp75FgSsN+9ksAOmz1nSj+M9Ikz464YvA3bHvKP8QQCpPpBgiuSwCg5IBV XSvep/e502PHqsiP8H1zGjMD/0xDwDdLfnN1R5tuNDfZEN09BSRlYYFPmMlP177i DBCF/2gF1bQ7KL42qBCr49ngVMAEAUlmZwBIN0XvfGe0KWDvc4G/CYqcOiWhbBEA pvtJZHE1C/kIRFS/IiM7BVmkdVnn1MzJrGSVPAF85e/iyc1K05C/qCuulqm1aLpf 8dOeBACDvyvk2uE7R11REnKa6FKvzS2X32YclSM2sApwl+LnFO9eT500Rxzy9ldP jKlKR/dO0DwUKxnUO6DOHAEZzvutx1f6ZJksXk/0OsSNkn7+TIt3pKb10udpcCag k/ik+o7v+2XB7BlydRBPwcaJE4fq+CWyAbgRfKROetwfTI3ItrQgTWF4IEJyYXpo bmlrb3YgPG1ha2NAaXNzcC5hYy5ydT6IYAQTEQIAIAUCSKlWIQIbIwYLCQgHAwIE FQIIAwQWAgMBAh4BAheAAAoJEPvZCMKss80S1+cAn0+WKUu5TxrXSF4N8WlRK0mU 1tcdAJ9Fcv54PisOdQiVUSIw25LqSqWyJbQhTWF4IEJyYXpobmlrb3YgPG1ha2NA RnJlZUJTRC5vcmc+iGAEExECACAFAkiyz/wCGyMGCwkIBwMCBBUCCAMEFgIDAQIe AQIXgAAKCRD72QjCrLPNEjtdAJ4tcsvvos2CoXmZsTJxuVF0RaEwigCdHgBapPWu MPyv9FLRzdWelOfZ3m+5AQ0ESKlWIRAEAOzibN5tPXiGKAHPwaQgnVQiaKv/7HUr FVfqycyXJC0/nmJ59UNpJ+0Y4GDwDRYqWqGyyd9diKAUomUwbIuQ71BUibmIZQS0 3v0jgcfnJAhgz7EFGewgQLHsYwzwTDtPNQCqxDEUwDLKla72ksuodqzx92Dj6SSP AfFN/6B2bvQbAAMGA/9XFhkt0SAqXV09CXs3QuHdzuJ0PLadaz31bWITmSLqW2FU /EwXt1615g/E/qIwa1PzjZT8JQDAEHKbT5XPXtTzvOAUp8JK2wW9P6JQ6YPT14Vy /9PiMvLThxNY3zWjWChWuEf8zohd922OSqlSE8vgOm0H7XUe480/FeP3RP1EKohJ BBgRAgAJBQJIqVYhAhsMAAoJEPvZCMKss80StqIAoKpjMeYK0fSi6GpfIaojuz59 eHHiAJ9ws2o67xPKbWgdqMxn4MfLK+ojbg== =m+ns -----END PGP PUBLIC KEY BLOCK-----
<jmb@FreeBSD.org>
pub 1024R/97E638DD 1996-06-05 Jonathan M. Bresler <jmb@Bresler.org> Key fingerprint = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB uid Jonathan M. Bresler <jmb@FreeBSD.ORG> uid Jonathan M. Bresler uid Jonathan M. Bresler <Jonathan.Bresler@USi.net> uid Jonathan M. Bresler <jmb@Frb.GOV>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 pX25BMHqkEMHAxahVagzguPetlTIHxHGRSH3lg== =ttzj -----END PGP PUBLIC KEY BLOCK-----
<antoine@FreeBSD.org>
pub 1024D/50CC2671 2008-02-03 Key fingerprint = F3F7 72F0 9C4C 9E56 4BE9 44EA 1B80 31F3 50CC 2671 uid Antoine Brodin <antoine@FreeBSD.org> sub 2048g/6F4AFBE5 2008-02-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEelsqARBAC37tcs27BitWt9YeIYmpRNgtRH/ndAm8ecJK+7IuEqo1t9IglY Uy+lI1xW1H4LrIbmSKmwfg3Gj3lm+12avQ8mf0vVbl2RVxfOQZY2C127Qv6Mg/Ox Fwxb7UCWzYi+XAf5XVHyzKLaLq/S56serWDX+mGY83kLhVKXy7pL98bwewCgtr1D miY3vAu1NMoWPuZ/2kvLLh8D/i1Zisp0EE5B4QjRFbaSUzfk3tImTKLQtbj4F3S2 Zo4hh3IRYLGq2OMJ+gH5c5KXMhaxqiK8XCO1pHNdCyaL1PZDW9s0sxPiVv5DDxHU Lm1BXyTIJyuAC8KVnMWIfHVoqIX45m0Br6IFyiHU3CFBSsarkC8088HViilTYGd1 8InNA/4+wVDMqnht2/YeMqyYevKOGw69Dqe+1jeTNOg7h/1EOL2Sytg9EIfyTf71 IxJAhsKU1ibjAMubERoTN16rPgTx4yrDtRSdfbmnHxrreih6PKsbiaKy76cnYaxz sz4VontIIaH+Ye+VmVIQsBS/QIBBki0j9YAzNDcJqCdWKcoeb7QkQW50b2luZSBC cm9kaW4gPGFudG9pbmVARnJlZUJTRC5vcmc+iGAEExECACAFAkelsqACGwMGCwkI BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAbgDHzUMwmcdHwAKCrHa3q1ixEdvmpU1Ny 2SpQrmvslgCfef8t/hiaMLSuyZEsjR1x8cp6hiK5Ag0ER6WyoBAIAJScQspDgp5D P/K1ZdT86Ux7Nv2UhZilYF0LPkvZBdfTC80RpjrUvz1m8ZObbCsUO5Ag0j3+Wtms 6CVaQqfT2RoRyjcnNVJGadWqKmOWVkvZYzHQPl8SZNENYurFFhfy4MCxXf5drkH3 CV5QqY1onhuvsfl69UZ54e6X3+DjQ3KdtqyyqUez7Qe20ZdIcgC43HcEuqAbAOxm /K0zDNvHpjwgleNoFBd8GZfD/biD9EMnhiCBq5rS8Jqh73e9wLtkMfssQunA7ELx ZVuC7M5dBBMjRUp0dswAKAgdcaLA0D1NGUNSno35Rzur7sluufivfjLwn+qRLRBM FPR+ggIO/Y8AAwUIAIBR74TtznV04mci4vHDds4HX0RI/hxawivtanEAGZvV54hS XUnVqpIVgTqKCtmS3gqoQMQBf1+25Rq7UJlVNl4/AoLcl9ZfR140hTSd888OwcB2 MAHd9CgUXjTHcFQj8tXFhPiWY7SfFwheLDFJUgCqB/ilgPf1XGOYuZfvBxkyXd8p TC2sx4iFSUBbY4S6UZN8uokpRZDbTHUPgLHAoOg1lzrzUvZuknEzbcBDgQoVwLWD 9UCZxl1wxly6oZkq+uggXg7zxWuE5CMdWtz9/FA3CRtRBTqZnHrMM9hlHGgxTYan bBTs793WWsKf8rhTRqNDqQdN07YxsmTi3129OSeISQQYEQIACQUCR6WyoAIbDAAK CRAbgDHzUMwmcYHKAJ0c3chle4XcJ5c7+0odRWmOZ8m0IwCgndOwp3kjZUZFbAu0 AxHti2KSFZc= =HznU -----END PGP PUBLIC KEY BLOCK-----
<db@FreeBSD.org>
pub 2048R/8E9CAA7B 2012-05-16 Key fingerprint = 8B08 E022 705D 0083 64C4 5E60 5148 0C74 8E9C AA7B uid Diane Bruce <db@db.net> uid Diane Bruce <db@FreeBSD.org> sub 2048R/932E5985 2012-05-16
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =cCnT -----END PGP PUBLIC KEY BLOCK-----
<brueffer@FreeBSD.org>
pub 4096R/A2E0582D3A67DC36 2013-09-23 [expires: 2018-10-23] Key fingerprint = 04D7 4375 648A B688 F821 57D2 A2E0 582D 3A67 DC36 uid Christian Brueffer <christian@brueffer.de> uid Christian Brueffer <brueffer@FreeBSD.org> uid Christian Brueffer <christian.brueffer@med.lu.se> sub 4096R/78C8369847E16487 2013-09-23 [expires: 2018-10-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 IkJZuKZ+flJz0Z8X =PtaO -----END PGP PUBLIC KEY BLOCK-----
<markus@FreeBSD.org>
pub 1024D/78F8A8D4 2002-10-21 Key fingerprint = 3F9B EBE8 F290 E5CC 1447 8760 D48D 1072 78F8 A8D4 uid Markus Brueffer <markus@brueffer.de> uid Markus Brueffer <buff@hitnet.rwth-aachen.de> uid Markus Brueffer <mbrueffer@mi.rwth-aachen.de> uid Markus Brueffer <markus@FreeBSD.org> sub 4096g/B7E5C7B6 2002-10-21
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD20hPARBADzumxDOkMdttpWKphTxFC/j0+MJRW5UmFjd43c301LEMFSJMkv 06EukQSOVWGyGL70v/4NWx25BiLhLDIb4feE5SZccQTnjxXYCjkQ4LfcolqTAzga L3GLNF356vKLQPlv6J5ah3vdZHa8Djh8q0s6CHAPi2rhEVbO2x7IcRW6MwCg/0+E KmRtdsifDJ00iBEMpJAApccD/As/bzVXI4FZwjwIMdep9+He7rwL/xGK+ZmRUEoN iiIxfd2oOkwDXZuFqTGftONd9Apao+FefTbcpEfv7sBVzHCJBn2bTr5mTjDwuA8v hGQ/7+QyKIFPmsL5KZYPkBcRA195UBSdwEPdERGH+aWvDTVJieyetAiD78WTd5ez T0V1BADwVnc1ABRMz6e8HK+78G/4vMHKPPEC7YbSmOo25FKR7XimUIlvGfj+CNO5 w6QSDJaIRo9yOCPEacMe91NeZskPlEEXN/KIOlV11vTZ/pVDMETnzdarNo2B7J2K 4HQzTYBzfFHdCrKP0tExSCy0iN2lWzSI57S9o8YxgnwrmuJPN7QtTWFya3VzIEJy dWVmZmVyIDxicnVlZmZlckBwaG9lbml4LXN5c3RlbXMuZGU+iEkEMBECAAkFAkTZ 3xQCHSAACgkQ1I0Qcnj4qNRBCwCglhvWAuZ+9bWZ64EXP9wHLiQYT1sAoPGL96ae YBK0wnq1TWjE9GPTYFXAiFUEEBECABUICwkIBwMCAQoFGwMAAAAFAkTZzskACgkQ 1I0Qcnj4qNTguQCdHFTLRplJE7g607rCVSxDCefYw8QAoIMaWQv0Iflm5aAR0F47 3WrjQplWiEYEExECAAYFAj20imoACgkQbHYXjKDtmC1WawCfUZkir7Dy7wP3hiNA X8yo78CpuFYAoMJtyYVOf8fayYICxujAO3zU2pjViEwEEBECAAwFAj53axIFAwHi hQAACgkQT4OMtyagqBYphwCdFiRae7gCvrB/jFA8ceyXaEP44doAnj41sLHZFGWI ZUmQmNTiNfZXYoQQiEwEEBECAAwFAj53IYwFAwHihQAACgkQdROiNhMQLPXCqgCf SgcJhp/6tnpjypjXWH9t6uKHg+MAoMYnXWc7iXVFvi99BonJW15V63uptCxNYXJr dXMgQnJ1ZWZmZXIgPGJ1ZmZAaGl0bmV0LnJ3dGgtYWFjaGVuLmRlPohPBBARAgAP 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 =rJ5H -----END PGP PUBLIC KEY BLOCK-----
<sbruno@FreeBSD.org>
pub 2048R/1201EFCA1E727E64 2014-05-06 [expires: 2017-05-05] Key fingerprint = BAAD 4632 E712 1DE8 D209 97DD 1201 EFCA 1E72 7E64 uid Sean Bruno (FreeBSD Committer and Clusteradm) <sbruno@freebsd.org> sub 2048R/E1703D6B0E4E4A20 2014-05-06 [expires: 2017-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNpA4oBCADVZ7/E6I/YrONIHCkfBaueUwhBEE/flsksQq2w6FsOWyLnpzJO sYZ5QMSv0Uyz+KowihvFi4c+aOvGUtjyx/jXcwtBsuzGaFFk9qCZzVrPk6uwzr2n BcXA5dy/mc2wj+A2KydyI6pnwRVefPNcMbX1U2aVEtNmiC5Wze17ulJ2Lf7pChRm mvYVEQvkkmW7bF5IxwhaLLNkrBRyYAbEMPw5o/2JBtZtl7ke0dbqN1LjzXrEadpZ JZSNFqn0AZCYF6tOpLSnebXyE8fh58AMGH0/ZOCZ9PX+1VhS4U0MNgjCogmmAkR9 VDbUs8kKfLXWpQfEa2Ym/OuDNaQs9iB4aYtlABEBAAG0QlNlYW4gQnJ1bm8gKEZy ZWVCU0QgQ29tbWl0dGVyIGFuZCBDbHVzdGVyYWRtKSA8c2JydW5vQGZyZWVic2Qu b3JnPokBPQQTAQoAJwUCU2kDigIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIe AQIXgAAKCRASAe/KHnJ+ZOnVB/sETsbPbulAwH6i6nQIxaDmR/2IZmXws1iwB/AT lxu90fk72oKfAmQbXtTGNGeY5AxTIpDicibQFawP5oozGXBjNerSy+VnOWGRd32z xk/2w+ElJABMTqxFnTn4HaQw21kvLc4XQJz/EkrkWu60YzSvH5VPGbdxl2yZvYDK Y41w3T7jdLib/aAsnAa5AeXcoUHl8+YnpeVK8rOC6EPeV9GvLTjtyvbW8mLsOcig THaYZVmqnOhPCGBfFvEcRZT9hKJl8322cOcSJRePCGrXXwZxjbcodTTqzT5uKSi4 u/rLa/V1RjTMP1V0z9UWV3L4NJ01U+f6X9o2pzWU4c3b1eNsuQENBFNpA4oBCADJ 1psonOItZrh2jAuBur468td50VHJWX/Sd2bP3A1WokjY2PZ4U54fL0+Zk068Dw0R dEz/ZGrQFbQhLTHWYrus8EwdhYVrnKM2FB77sUZVzGEzjhmkVrIaOBUXVgc2xjEA REjorGFc7rOSo2nV8RPAhwCsmcaeAbsbukmW7qXKzAy4tHt8GvdOo5nN6vBdVRcS s3uJjxVYH2Jlos/J93cVFlpXC040SNv7F3o2VcWIkKf19HYwBed+ONNPocW87XIJ V/K7k2hq+Lzdv1yaPU2FXSsjg4fd95mdGkpQOXKyTAkPwvgfkojRUiJk3Nwm3W+3 K5JXz9Np9NS0QMckS4gjABEBAAGJASUEGAEKAA8FAlNpA4oCGwwFCQWjmoAACgkQ EgHvyh5yfmQw3QgAhzaDcBb/zJSYj3J7OSVMH5uYnV4zgTGDolgrsGh7b6RcOhYm oYQX43tcVbHAgXuptcrGavcueMpOoP2mkyoeSI2YmQ2OA07A+NZX0MBZqXPfwDwe bZ48XBuaD/Nu1DnIuK2c24b1gWnOBfIJhaX6TvEKfMqhzAokt3aax9CO/4IXeieN kfmmXcifexZq4Yo0bhWo+AI4Zl+8iCVb0nWrtTDc4AJGaLnpGYxd1S7rWyZUA1K7 qlpBhSO14iAzr2usOulhHZVv6VLVy8Bd+DIWwL5s/5S/YEbvgU2+teKmmLrQ1m4E tX+0x0UuyEFdP8n2WX1uuFgODD8zcoSPLcSE6w== =QZsD -----END PGP PUBLIC KEY BLOCK-----
<br@FreeBSD.org>
pub 2048R/10F5E66E 2013-09-04 Key fingerprint = 57DF DADB 15FE EF7A 14C9 1DF3 ABF4 AFEB 10F5 E66E uid Ruslan Bukin <br@freebsd.org> sub 2048R/A33057CA 2013-09-04
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFIm+QEBCADVjtwGKebX8ovnb5tNqb8zkiepjvBjJyZNvbazhIccNmn0ZWLi i6T/q/kUJsLEMIPr9wK/WdUQZRXcKpnmUB6otw0VDsXKhqMa89x1rk444YSfsSzO lK9dRmJIVtXUZHGesQfMHoBtFJR9MGDhKnvgsRpDwV4X4SCioSAAmceSyKTa8mac BBkjmHVWpFczqYE2HWmVjCv9i4Wtn26R6XvFSE9PheP1l77GJTrIKY5XlB4JhtQW OrxdtWxPhbNiHfqts7psIIOMDo/qMUvv3Qun/jUV/HFpZ4An5mw/E0vCWrLDTnRH ByLqS7G1/Zg7tiMoNkNxyWqYDRuedsO2B0LbABEBAAG0HVJ1c2xhbiBCdWtpbiA8 YnJAZnJlZWJzZC5vcmc+iQE5BBMBAgAjBQJSJvkBAhsDBwsJCAcDAgEGFQgCCQoL BBYCAwECHgECF4AACgkQq/Sv6xD15m6STwgAjzr0ThvhcsD6rFbGUMz1EMeFhlBQ /z2A7rD1KlKorQxUOQ9J4gDOi40Aa+yRSzfU+6drsxcPJnOvRg52TZfCs8e0O4j5 GwZh2Eo9AEyWLXTI5+sQ7ZZdFZuwpaQ53ZEj2r3OGpkV/41xYQaiQ9WoLyrmA9xa Y7PqRGj9TajrViuVMVwIEI5ZnYiOW7G2UMWPOWOTt04Ici6i1TJE3a4lCDxb4KKH fwWCTm3QYWFhNSHvxDmtVvqny+krx+ZrxF6hEnapbPKgs1/CR0K1pRv+wPFIDQu8 3SHjXkq7j3HJks8+0LfkIl6ecT7FPEeYDyem4tFABqL/LEpopzs67qqdirkBDQRS JvkBAQgA6fDUJPMXKqS+ntQzZULuurL6ju14lLkdNWI7apYubEvnfSPIA1nXfcPr +jiSFQex0ME1OhRkbiVfF3E5vkrV0VQ/8j7srnkyXIeOohObvVQg3vjBxnzNcpDt ynaIr9NzwGMuxu1Vql8/k7OSVjQNf6ee5vxI59isRrxSTIFpCdIMn10b1gUa0cbo Bh5fiZMwH/b+impqn6ix3j+72/JE+DB2djBDhyQY1mTXwEaxCJzFA2GMKda3aRuh iK+DyaUBTPDwZwWzjGwNtU1iIH+CaW41c9uNtWLPk0OX1PlFANT4W3NoiRlkZ71n 0n5QKza1WKBr6D55DZ/bOEXyK+l08QARAQABiQEfBBgBAgAJBQJSJvkBAhsMAAoJ EKv0r+sQ9eZuK94H/3a4FRjRpW96YtSmyd6StzBItGT0ukOpuDb4fNuXkVrdcx1j elf7Z8SdtaVfgxcutYK100ef27XN6J/O4T3iPfHz/+FStZ20gvJixlJ1iZlgFTvW nBNzbfH272nUPfwzTHnCUTb3bmeNlT8/ndq2AH3GtqUuxAfPyLepJp0pFQ56asNk IHDH2wSlQf9/4JSAu4JsvePwO7mFT1NhpDqe177qGovj0zgxixp7xz9ZBML8Jrax 7KMY+92j4sn8ErcQzwIesdyp3/4gz+H7EuqUrg4VwJTc/QZk4irevp20A0rexXNd biC17sFJ06rowI0k5zzeFg910ujHQUwL4p6qTC8= =ysoS -----END PGP PUBLIC KEY BLOCK-----
<oleg@FreeBSD.org>
pub 1024D/78CE105F 2004-02-06 Key fingerprint = 98CC 3E66 26DE 50A8 DBC4 EB27 AF22 DCEF 78CE 105F uid Oleg Bulyzhin <oleg@FreeBSD.org> uid Oleg Bulyzhin <oleg@rinet.ru> sub 1024g/F747C159 2004-02-06
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEAjnDYRBACecNDd39vZ9wnodFlATK+xvhlyX4M3FBEV34t9eVZtJz4916yb nLZmHwY6awt+nm6FGciSPucfu7stBCqvPURWEThJgAyXbxEVNyXmXrZ2F5OyNMyM EcbuqLZTjYxxN5mxUYswtiNDmdWn+Ivmw46wTOl5Pu+B7W2KVl8mwwbAjwCgl9hA puTWWN0zFklDJIuLx9eVxnsEAI+QaACe8H2l3XFpNkp6n680ZlW7FBZDDOYjCS4z nhFg7Bca74t6vnn5Q4miLnDDyOPkZqMBD2nLUkcK/kMfe5uqDUWf/i6sFDwv7d6I 9Ag4tUWLkhxAqaqomesfI2yS4o+QGTJgQdGU3IUrOnMJD7Ascwj7304lYuqYcaqT KQHSA/9eTg26Ihn9uBpGit+slgkmTHmKgAbg7IaSHSEYRbpmnc0Je794zeWns/oI vAyGNxEFpPQMVrSXHnFmK9AOcLcfssE24a3zw7So33asH2Ha9yYBrfKGrTCPZAsa uUGrKbGmXQ0oXDjjqV4anvC2QI5pEJvMbHJ+Xyq5xQN73ttJxrQdT2xlZyBCdWx5 emhpbiA8b2xlZ0ByaW5ldC5ydT6IXgQTEQIAHgUCQCOcNgIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAAKCRCvItzveM4QXzXVAJ9RD4kKNcvV8UmuBM66osVfZ/7yIwCg htVf/ZfKdcob1zQsBNNpmzkpduKIRgQTEQIABgUCQCOgsQAKCRD9LjUgMMgeateB AKC0iX0NNspa5EnBYGE/eEe+LxRs6ACfUqA0s50e2goJznaIcLTgZXtDECGIRgQT EQIABgUCQDIZWwAKCRCF1FBFa2kbA7N9AKCbDyp3g6vRN7dQKBb35s7gLp8yIwCd EH/ivmrxZSaHlrOMJjt6rnmuFqa0IE9sZWcgQnVseXpoaW4gPG9sZWdARnJlZUJT RC5vcmc+iGAEExECACAFAkOMPS0CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK CRCvItzveM4QX+tfAKCLk3zeTyzbbN6TqYpnqocno4H9kACePQaaDytLX+zk4plw sywqPLv67SG5AQ0EQCOcNxAEAIUR6Uj/bLAu0/FSGDSCXfjuThVT1lh1rCLQkbBw TxNiwHPHHSQRa654aoYbQdi9x6M7fzE6Uzmdj1Gs/UBYZhhsrlkL+Ls/xuhe3Kh3 E6lho11qPhjYXmFHk42VhtVlOcikZ/Azgqgycfql81H3bKWv6jA0el9SnX4yk5qf tgZTAAMFA/9T7/ty76bNeP3/LcY9ZL9KYWB8v8pJ9jEt/RfBXB0GTuV/H+bzTjSc PwhT8Fam9Fo+r02tUJfqA+XlOJf6IXPlLPRfvzHhiBJSBPuMvB6vYs5zrlUzkgNE VFHBr+TxpUWBq4ZtI9K8YUbPD+s86irYn9fHlnj9qnYsod3ySvU0xYhJBBgRAgAJ BQJAI5w3AhsMAAoJEK8i3O94zhBfFzAAnAg+W9rkVVdYu33hNqpX8E1t2kShAJwK V8DuSaXJtEgVE7Wp5CeArqtwUg== =/2pb -----END PGP PUBLIC KEY BLOCK-----
<bushman@FreeBSD.org>
pub 1024D/F694C6E4 2007-03-11 [expires: 2008-03-10] Key fingerprint = 4278 4392 BF6B 2864 C48E 0FA9 7216 C73C F694 C6E4 uid Michael Bushkov <bushman@rsu.ru> uid Michael Bushkov <bushman@freebsd.org> sub 2048g/5A783997 2007-03-11 [expires: 2008-03-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEXzleYRBADIqilbqBfzstvMByOY3QlvQD9QIGQLwZbziOMByQPwgzgBFk6x OA7NOfSKONPTsLtIOSc+CbuyEfw5jJiXsQ3Ox71Zp2JTra/bTim/WwJKC5Kc+egl CD6KO7GMTCBb102m2x97G+rNjGS8n7Uf7ITgoj9QtxBjpAC3K1ZcPoAcjwCgobcT q5MUrCqPHrnlZ87BnbT/3m0D/15hcV+qndPCShIqFTYbTSG18X7lBNTONZXmCm04 5dRcJrz4qLvsCYkBrmOCrKbYViQCQWiT7/G3Jzc+WtGFirYibU1TxBprZuP99gX0 Hea3gvgodlje7eq3Dz7Hx9uFgN8pfw2wWlEgdkuYk72s3lSJN6+TGWzXuWnRYYJ1 H8XtBACpByr9qcCaJ9yNAwDbDZhj03zSeZoIQz6d/3tDv7SkzDlVyxErJCO7CiHg JlxN0+paX0gW06xkLmwSESerJVbxEIoejdkdxebqPEIQN+9Se6Q2tkefMWd93IwL MP8sXgUBE6PEmFZTwI1/Av+vR7aI1pPk+yIrKTV2KyC7yCULMrQlTWljaGFlbCBC dXNoa292IDxidXNobWFuQGZyZWVic2Qub3JnPohmBBMRAgAmBQJF85XmAhsDBQkB 4TOABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQchbHPPaUxuSKCQCdEAIOx9JT lAxIOwL6ApsukCI1bgcAnjkybnn6t4WWYy7IvmwMMJJ17oe0tCBNaWNoYWVsIEJ1 c2hrb3YgPGJ1c2htYW5AcnN1LnJ1PohmBBMRAgAmBQJF85xpAhsDBQkB4TOABgsJ CAcDAgQVAggDBBYCAwECHgECF4AACgkQchbHPPaUxuS8xgCgjJ4lLhI3wDP8Rnhv Iy9UW5BuBEYAoI22XNE3OHvBdsmUyUvVji8yKt4auQINBEXzlgAQCADnAWwYquUZ mbrZ9/UO4abD7Nm0vipplm/O078SMdonir+HKWZStjuvIHhpPDGI0wCpg/v24B3w QVGiQhXWRL1cbvjDmiQG7GFdG6u4c1+2S6Evx+fp5DCjUMaoygd/KwF5tmxE5M2R 7SOYueuuxcDiYi4qJs9lroNxnwG2/VkrcPxlek1QbRVjs+TuRnzTaUzXbU7kli6y PUhBucf6nB0cPHG6VVn8N0Kki+HBaQjYOxtBCO2B5E0uRq0Y25l9Vt9s/0TfYnYb E0/sLj0XSBu8WWmXtW7QrtLPN0Tb6XrTeIaWW7HLy1ACVlzniu5oeumVKiW5nsW4 uJ/6kF5Fuu2PAAMFCADNuQ0Irmhub799B7h+FJVtNu1IxptmvJnD/RoWXhAtVo79 c176MEqS/8tghzdq/zXhr4DPMiTDWf1p4ynKFFkpQaWkHO28cvu3rc0tdpkI2d+s zKT6fFNn3kqQ7Eq5xgijSK8+aTWoUhqFvxkhLIcColuPK2TmQ+uIxjtu62lU52eZ DDePyHFGVWqtkZ99k1vGxZRf+vVXaKTBkGY3Pek04knpP5ROGA+JjL/Ew5o4SWfn FeD9aJ+xtZ9VqTUyl+U4XwIYlRcWzbqsbGp0D0jgry5Xhiggngd7xtNSB9/44HuU C5EQWVi35HKNdXMq4wsOMG68DCTE3XOABa5yPY7TiE8EGBECAA8FAkXzlgACGwwF CQHhM4AACgkQchbHPPaUxuQTrQCcCfrtwSXFegD9D0DpYWa6iIy9glIAniDIOvRb 4L8/nn1Nbu+PBNHamCHi =zD+p -----END PGP PUBLIC KEY BLOCK-----
<jch@FreeBSD.org>
pub 2048R/A56543925EE9D871 2014-09-16 [expires: 2017-02-07] Key fingerprint = 4021 6646 A364 3729 C754 1058 A565 4392 5EE9 D871 uid Julien Charbon <jch@freebsd.org> uid Julien Charbon <julien@jch.io> sub 2048R/957EE70462461D7D 2014-09-16 [expires: 2017-02-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 cVQo3JERh55WCqr5xQ== =lPHq -----END PGP PUBLIC KEY BLOCK-----
<jchandra@FreeBSD.org>
pub 1024D/3316E465 2010-05-19 Key fingerprint = 320B DB08 4FE3 BCFD 60AF E4DB F486 015F 3316 E465 uid Jayachandran C. <jchandra@freebsd.org> sub 2048g/1F7755F9 2010-05-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEv0XOgRBAC9mFTzSKBVumlXJwWdkt7HvSRKo64Zs7BO/tYzt4dWVIzWwUC/ Z/Ns/X3Plb+sXp7mcvs+oLKiHw3qrRT5wPbef3V9hFfZiKdOfmeOv5fx1sIXejBC Cqq5ocAoq0bqf1S9i7vnuqfyH+9SRPOv0O6EnKCU+7sVMFXAuxDhm1+u/wCgwRj3 tNFbsptDZ/K5SMLM44ldK98EAKpSRVSMHrI/nxXvrNcPhedsC9MXyMOYE/q1la5k b+qNrD9QCJRwbz1LvoJGeOzEmtmZ3afT048Uks+RE03w+BhqJnuFgpAKqA39Fop0 MBvDuZ7Wy3iigebX35PAQ3h4FhwDTzsu9aEg2Iv/WksDqluQJcMkt8sn5NffhZho z726A/0dPVvHy0dart8LHKfou07u8y5/950UVITjGlQJ3RGvwQV7aPEjgpJQlQqR BMr3TOOJ3YGHY6xkaJk1fijb8MpSlihIr+Lyvhu8xVb3GCrPCh4Bff8fO35+wpBO 62p09dL4mJcD1mELJhMAMPpqXAXD2Ho76/RQ1yZlmH/xyAPTg7QmSmF5YWNoYW5k cmFuIEMuIDxqY2hhbmRyYUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCS/Rc6AIbAwYL CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEPSGAV8zFuRlnKEAoKcsMnIQFgek8hHO 6a5pFO2DBto9AJ9GLTOc3OBdX1oFFQh/rsRYKPkMIbkCDQRL9FzoEAgAk8FWde22 yzxXI/qWRo+o6Ptm9Hae4reggr0boqeQCnV4ksLd01s7tJoaGlogi9OTLrq+OV4E CvkcKKHSltijMsITEwF0BwfrR1C1I59yUYABtGkw6f3bBApHNcDhl6dpcHymP8CM PiBrx5s63ja/CAKFaScUCUe7A5vYK91BwAJJ/IK9UONU9TUyimRRv2C86rQWV15N R8WE55iMdmFsu/Rkv5P3IPNzaIjcvY19iJOuxfeDTiKDp9j1QWwUOShrAHXa/Cra JvcNo4Iu3VeLKpaFW5zBvIbfQCa8LfRwfLPSEM+tCk9nH5zXSvwf6dDWvN66oo1j p2eAjrUEFnfqOwADBQf/VGVl9qx/d8NMjhMdaV6qvq8DfHy4I/BXQFERgKkFfrAd n1oGEJCT1fHtJNN79nCbyZ2dlfKqr6+Xcdy7RKInGHs9DwK4KfVU5dA5L3f81wZs OoMNuk64kjTAN867PzWdv7o+2seSa/9phsWEpCD+9qtRLiOcIZ8xeoecBS3iS3mp aT1HZuMLFMm8XEJSA4l8QfupBigr7Gq8z0ChwfMCZsVlVx3MtrTmuVlPnbJ4g0ku 28MACNiHkbfW5A7XhJ8re+Rc83so8ak26mO0FQeh5qsiVj4z/pmFGrYmeH94CLr+ bC+1nwkbAFxjZrRuFzct1y+oe3MSU0UUKTXUikovr4hJBBgRAgAJBQJL9FzoAhsM AAoJEPSGAV8zFuRlI3kAoI9Pl1nGD/sEvV9aGkLfAK7v9A9JAKC8ReU1wrQlM3z9 oA5JjxumuE274w== =kEVt -----END PGP PUBLIC KEY BLOCK-----
<jcamou@FreeBSD.org>
pub 1024D/C2161947 2005-03-01 Key fingerprint = 274C B265 48EC 42AE A2CA 47D9 7D98 588A C216 1947 uid Jesus R. Camou <jcamou@FreeBSD.org> sub 2048g/F8D2A8DF 2005-03-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEIkZzcRBACrskMO6BYlK30ghgpDYTou1UEgp0Y4QdghWeEP5kppuDy7kf87 CoKVvE/u+pVd7aFoTMa7ikqxKH4Kh7wnDEbFnzeZGtsf0Fzw5oHgoaQQlZHGRtr1 49UuyFnRWVKyI8IXS25Ie5p6ZlbAVFINOdJuP81gku8SffsoifnKIiWrTwCgzhTU uS1rg+TpKkiRnkXXtpVF9k0D/3/OADlTo77GAWMXl6HBTaB3BXB53Q4PozvGDter lWGKbx6uYvLq3ZPX1XBUapzJ3eoEfCsA++FeSzK+tue/ulbLiXmFhXSQWtXoRo5D I75uOoXlrc45uLc9XkOpeZ5dF4a1iJOGHe/hD4mmyrWIM+E6cy1lL4EetM35ZiEM lHqDBACehJoEdCAVMOcfQLs33/iTBRBE7Z6fN9DCH3kTvoYcgpZsFAX2WQFz085/ zHJ3NVFSH8LCi/6ck5ZeXCasAS3L99Q/io4WwmlqDj/b4PBdfoefInLJkroijcQ5 B2I2cH2Ss5kkwqj9PovanMWNY6Irv2szIViIeThB+l6hiuzaK7QjSmVzdXMgUi4g Q2Ftb3UgPGpjYW1vdUBGcmVlQlNELm9yZz6IXgQTEQIAHgUCQiRnNwIbAwYLCQgH AwIDFQIDAxYCAQIeAQIXgAAKCRB9mFiKwhYZR31UAJ91fYdpk0PNNr14jtURyeeS upTEEACdH7tOg9LmYNxAi0iKWVInoA/TNmW5Ag0EQiRnPBAIAIKVE+F4De4BWuab 6LREy3VmvNQgHSF8lHJm4TWKYGEkNhG+sIRFdJExqKG+N+El9QY4QGgezdogQIYk RBSg7nWzVrs7DiHJqC4PB/f23bzJl24Cg05jtxvZBz7t4lNXwY9G4kTmDb815FXd 1p8gwa1KCNsTlKVRJxbaku9gHsO2JZigLMzzF1Zt1vGtaSHX5SyjhOdMOFtjuLed NAgl9vgAoMpXLf2Saom38Lgv/jnWz9OfST0P+OA/JmqN5DqeRTlyVZdQ8i8bduYX xmtbBPOGHWxwUDxiXMULkdjkLLrY1UaizR6/ULI6+cPrPLZFdnr+5GK6ZoTXyJ2n EUUxpGMAAwUH/iPguYUdGVnwKiwqojHq9DzDb09qvPg+UIEjwZA9mPExfMPLo/1b 2NLgOF7pqeluXfiN84i58sipi4/ntlsNSzCYKCH2t2Wmfjdfpa3N4JaVptLR650x Lzj3egnWJKpHVSO+v1U7BSYBnaVPGfOMQVlSO5ra41SiVyZq6laX30PXXIFP6Ocx VWECVLmTR+L1g/5Nvq/L6NPv3ziuSLbSpvkLhTxLosaQwYFwPE7mLKgERUKDNc1u EXqyf8No4LKyO9V6VLckMgG4qbjQZhm9ozCmEYoKFZLafsq8czdNIKi4JV/8aUjU CsR5Dc8XAdwzPq6DBcikn1UBnvotbHtAFNiISQQYEQIACQUCQiRnPAIbDAAKCRB9 mFiKwhYZRw2hAJ4mmNxtlCe9yUHRCzxsUxl36gQYtwCfQZ3f8K4dxPU2ClJ46fTf FqQS584= =KYGd -----END PGP PUBLIC KEY BLOCK-----
<acm@FreeBSD.org>
pub 1024D/9B21BC19 2006-07-18 Key fingerprint = 4156 2EAC A11C 9651 713B 3FC1 195F D4A8 9B21 BC19 uid Jose Alonso Cardenas Marquez <acm@FreeBSD.org> sub 2048g/ADA16C52 2006-07-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBES8etwRBADeB8shuQ3GGp/AozsOggqLnSmFwCS8nGN+rnE+4LHuRzkL4Kh0 pgzalpPre7DohKjX2uzq9lTjjmsrTKZLM+yaNZ9fFMHC1uHxZnV9/c7tC97oQQXl FjMmemGZGA3VMhh5jEtjT5EJIvPBB4SBVhVhBJ24ananUD9KmUHTyP8GrwCgxMJ6 +NrGKVeu5QYVLo9oVo26J+0EALkWeeHI8PE3f0jOqS+Voym3jQPLw7pvx+HoySw1 X0c0YRa9uJVH2e8aFMMsCzT/sP492IksJvtRNpzDSJJyYM3zukzH+l7J2vwDvKgD YknZJE0pAS0GRAVbZQ9u6bez2+CUrGZW7Bvablo7r3nBHyhI2SpeM6naXlS4AJ6I 9dbaBACm82l0Uwip/WoJM0r/lB6eXMz9tFeRgfnPY3+G0Y9pFpdxTX0q5M73L6u2 PeXbWI2XPyPqw0wqda5YNlcRylXJmzLFGQzR6opqIbOEzRE+IinyQwQlcAv3qzBU p7qCplhjblcyAhWTlM5XsrAWxXHyNFrSCCPDgW296+8b6b94s7QuSm9zZSBBbG9u c28gQ2FyZGVuYXMgTWFycXVleiA8YWNtQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJE vHrcAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQGV/UqJshvBm6wgCgqtDd lyjakeTr7YVdNmpaI/UxpG8An0jtgTDD2M+CioUqGN1SNTkA/6cWuQINBES8euQQ CACt+RPVEUX/qDk3Qh6E1Zrm410mAJLfgG70tz02ApDXhW6aZccW97rH3pec+RDW fZVaSW4xHjUQMu1JaXK0dD++UWifuhYF+GUfi2NQflcy600VjM4v1HMZulTE5/0n NfPU4s2Vu0w1JcuXryjy5O8+ur10wQ4HFnL+qSDmXY2UKKTHA7vVrBTmysELDuj5 N6T9+xxuR7EJG3lwTREgPnr5nRlyZBxgAd6k/AJ8i2X1YiGix2KI2fk/HYdgl3FL xnLXrLE43mAwQjcmkMruNkebjfAAnp6vKvSOLZ3mqoPNhP6SPGTPxoskcHqHhvXh L3Y7/Qqga4sg+P8tZ4YTx4SHAAMFB/92KAG0TePM8+gtp64oOp9RuUELjT35f5RZ 0ZJZ1JromyMjOc6FRh1a9HiVzY2Vq99S/r8S5QoNH6vppxGjSL3Vs6vJg79eT5Jc ODdEZhoSzqmc/TwTHfOeHiFJJk8kAtX33CIHBUDM0p3OaJDj3weYi0TUWcxcvlFg p4RIYHCkmJj1/sI+0U8Jw35nSK4uNwW8MCl9a2hwHCtfnvQBfotybc4+YuwFesT2 SDRit/mXxYkmi/a5GPB0To/e/QSBuk7MMNtLv0oF8LCrfaN76XOmahxjaSYidA4H LUFNqtRL9J5/T4VSZsrSl+Gb6HQIaMoGPbXmFk3i6FzNP7VDViZ2iEkEGBECAAkF AkS8euQCGwwACgkQGV/UqJshvBlwLQCgqDaWuJOgfV0r5li2gRPUMI5XCscAoIG2 pLZLUWFiL2unIMhkFZSQbZZj =I2hD -----END PGP PUBLIC KEY BLOCK-----
<gahr@FreeBSD.org>
pub 4096R/A192089E 2013-09-23 [expires: 2018-09-22] Key fingerprint = DA6D E106 A5B8 54B8 5DD8 6D49 ADD0 D38E A192 089E uid Pietro Cerutti <gahr@gahr.ch> uid Pietro Cerutti (The FreeBSD Project) <gahr@FreeBSD.org> uid Pietro Cerutti (Medacta International) <cerutti@medacta.ch> sub 4096R/408BA46A 2013-09-23 [expires: 2018-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 0CiP9PEfnns= =fOaQ -----END PGP PUBLIC KEY BLOCK-----
<dchagin@FreeBSD.org>
pub 1024D/738EFCED 2009-02-27 Key fingerprint = 3F3F 8B87 CE09 9E10 3606 6ACA D2DD 936F 738E FCED uid Dmitry Chagin <dchagin@freebsd.org> uid Dmitry Chagin (dchagin key) <chagin.dmitry@gmail.com> sub 2048g/6A3FDFF9 2009-02-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEmoPBkRBACM2PQ+WGI38Z5NtkF50MuYyv0u4qSaWtx5Tquch2sgBDjxjebI XQYuyzM9piV4ZSZHFyjvFCHjLhPg7Ae6xaeaOwPsGQ2Q+bSC92PoTC3bDdHW1hPV 6s8KxrFcelHLwhmF56WIALoI6E6IF60KztuISLm0VDG0Wy3lP8QAeoWbgwCg0fY1 iOETR0ZP09ophWg8CPUxyvcD/3NFr6GEVUuFX4ENQkX2GTrvEB1IBS3v9JvEMlUX bShFXWGHB+3ynBvw/EiuOgIB6Jzay3prP9rdGW4NSV7ZMa3Yw6OdhVpQ0ticn4zU FiqLL6x8SKXKSm9BvjFuWADe3Lnu/ekY1lYTM4iWPNdA2LjRUHwpDIHcHWgcCzkn CfY+A/0eKkj+/VTddCspDaXuTmgGlkz90LsA0cLv6gRO3IV+0t80TgohtsCdR2X/ Yf7fi8GsaMdhgJZNm9dMz/zD7ZkQ+OyQN7NkB1zkwg2RwOnbbjTa+HECtsr2Znb6 B85MamlnHN0WHNgexaC6c7ezEFq+RMBKRVJJGwehZXpT185T57Q1RG1pdHJ5IENo YWdpbiAoZGNoYWdpbiBrZXkpIDxjaGFnaW4uZG1pdHJ5QGdtYWlsLmNvbT6IYAQT EQIAIAUCSag8GQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENLdk29zjvzt eLcAn3hUOTepQzeJqPuTFl2Z2dM10HHKAJ9DJRmSIAwHBGPzlAFFzKKFW+OoV7Qj RG1pdHJ5IENoYWdpbiA8ZGNoYWdpbkBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCSam5 zAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENLdk29zjvztRJYAn0cIluug IS7YO6a+Bf0FByX3jlndAJ9k3HAxpt9i9R0wFkFmbMX0He86bLkCDQRJqDwZEAgA jMe9QT4KYOHsLQsF5vHBq/+W+Lniy6OqEB1GSK9P/vqVIqVa7v7NXX/B5R8UiQMz fSNcYH/BTN1lb8Pe7pAIBpqPhKBi7NAW1Ddy9399co1c37ncf6HEa2P0tpJbTrG0 Eww9nUiFbhjWUHSY0MT57mHQHdCSlqNFl2jaV91CQaNybt9z8JLO301vQXP4LLND a/FQ3TdBEIXFLs/H8QKLBe5TBgd2lXy9qpZsii7xpfNXKG1qqIa8sfUoJO5Ng2GB K6tJUFh/J548BLt/c/p1KJo8ovJB70DiOaznRc+Tu8rR03ehdfrJ5FpDoxC6UAa8 7FpXWxjM6L3N/T01NcaXUwADBQf7BpNvsT/QzV74wnGXoi9aUE84ojkIAm9X4Q78 dfdCvSFWUACcvsB/d7XLcCXOZ1NJ1E8Tdjjmr24MRQRUY8MhDt47ngsTyDhDW5l9 EQ/ByjX3wlRBNP5qEDVkLudfRE6LlEye2NSNpXYs1Naw6U/deUggNZMwriVCuRI6 TPc/bKeq7+378EBaKc8ckuRdv8LWsIdaKQ6rQZh1CB6LpSsL9OjcRpKvK8yYas6I kWUr07xvvlVyRVLcrNyQwp2QnfK8fXeH2I/Qg9QwcV+cXyKzH4vka9zrR1A9SAHJ iOyMXJBy+GzoYLf/y7/u/LOVAm09P4tQ/7V/DY7nxiOabSioTIhJBBgRAgAJBQJJ qDwZAhsMAAoJENLdk29zjvztGEAAoNFpe2XX37q3yAaNfiZgEABrxsgZAJ9yH0YJ QrmO4sxq5l7AD6K+KNahRQ== =ER/k -----END PGP PUBLIC KEY BLOCK-----
<perky@FreeBSD.org>
pub 1024D/CFDB4BA4 1999-04-23 Hye-Shik Chang <perky@FreeBSD.org> Key fingerprint = 09D9 57D6 58BA 44DD CAEC 71CD 0D65 2C59 CFDB 4BA4 uid Hye-Shik Chang <hyeshik@gmail.com> sub 1024g/A94A8ED1 1999-04-23
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 b7AAzA== =dqQP -----END PGP PUBLIC KEY BLOCK-----
<jon@FreeBSD.org>
pub 1024D/2539468B 1999-10-11 Jonathan Chen <jon@spock.org> Key fingerprint = EE31 CDA1 A105 C8C9 5365 3DB5 C2FC 86AA 2539 468B uid Jonathan Chen <jon@freebsd.org> uid Jonathan Chen <chenj@rpi.edu> uid Jonathan Chen <spock@acm.rpi.edu> uid Jonathan Chen <jon@cs.rpi.edu> sub 3072g/B81EF1DB 1999-10-11
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 =cJgh -----END PGP PUBLIC KEY BLOCK-----
<jonathan@FreeBSD.org>
pub 2048R/9C0EE010 2014-03-07 [expires: 2024-03-04] Key fingerprint = 563B 20C1 BFBF F638 610F C584 B11B 3804 9C0E E010 uid Jonathan Anderson <jonathan.anderson@ieee.org> uid Jonathan Anderson (MUN) <jonathan.anderson@mun.ca> uid Jonathan Anderson (Cambridge) <jonathan.anderson@cl.cam.ac.uk> uid Jonathan Anderson (FreeBSD) <jonathan@FreeBSD.org> sub 2048R/2E0832D2 2014-03-07 [expires: 2024-03-04] sub 2048R/EC6BB1E5 2014-03-07 [expires: 2019-03-06]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 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 =UH/g -----END PGP PUBLIC KEY BLOCK-----
<loader@FreeBSD.org>
pub 4096R/6BD4DDE6 2012-10-26 Key fingerprint = A33E 88AB D358 DA49 59A6 B263 A9A2 599C 6BD4 DDE6 uid loader <loader@FreeBSD.org> uid loader <loader@FreeBSDMall.com> sub 4096R/1036D26C 2012-10-26
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 DPodrx7PwaXno88xFjmqosI94Et7mQ== =qJuU -----END PGP PUBLIC KEY BLOCK-----
<luoqi@FreeBSD.org>
pub 1024D/2926F3BE 2002-02-22 Luoqi Chen <luoqi@FreeBSD.org> Key fingerprint = B470 A815 5917 D9F4 37F3 CE2A 4D75 3BD1 2926 F3BE uid Luoqi Chen <luoqi@bricore.com> uid Luoqi Chen <lchen@onetta.com> sub 1024g/5446EB72 2002-02-22
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDx2qBMRBADYSjvWKVcUxUb1aR1VjHTlFo6zc6PHMK8W3CRin7lY3NgsYsmZ n0IvGQIDEHhTpOEWLS0S6A/bseaGUir52X6spZ8i5hfd7Ps9RmeS0oHx0XDS9JTJ HXFE5RjExHbLnw4DbsaqR4Fl1V7NJU2U/nkiJILJd/PGPZsdstKYv5QvnwCgmwr7 QZlkTV/m61MmbMAEpEFWaecD/Rp5Qb9S5NGVplNeNqub4fC+Ydarkorr8qBJN9Va xu1Qgj3sOAoxmuOnZ99YAgXhs9Bqe4QsrQfs1cMUVzZsl3FIffh92HkrLmdJlsjX 8lrRT694cIP7+ELNGKJ/zaXI3j2cnQPVqUO1icVfijqatqDg8bgQS8C8CGQX6e6h ADKGA/9cIY450gMvrtbR3/bqH+IgvBCUog5RXv0y8c80sJnzeqawx2BuziFvv6mZ Kv0PJ2vnWok0NHcyuBHkkEt+ujYlMQXHZ6wRykYxIUzM8tl+9129tSNEK+GdcCOZ rfbwm8scs+VmzrHXP+saOPcHPBr0e/KPPixNN1I5HB3yI0ILSLQeTHVvcWkgQ2hl biA8bHVvcWlAYnJpY29yZS5jb20+iFcEExECABcFAjx2qnEFCwcKAwQDFQMCAxYC AQIXgAAKCRBNdTvRKSbzvmmrAJ9FVK0lT4Qym+qzj0EA6TP3V42cwACfQl+ClPzJ zngykscMJW07MBXkQ9i0HUx1b3FpIENoZW4gPGxjaGVuQG9uZXR0YS5jb20+iFcE ExECABcFAjx2qpkFCwcKAwQDFQMCAxYCAQIXgAAKCRBNdTvRKSbzvkEwAKCRteUw 2X3XbPsVDCBZarrkf113YgCeIHmhkDHbauw4UlUO1tYNVObn5dO0Hkx1b3FpIENo ZW4gPGx1b3FpQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8dq6XBQsHCgMEAxUDAgMW AgECF4AACgkQTXU70Skm876CUQCggJuwNIJy6f05Ka17RYn+j8hEQhwAnicDXnsy 5SEYN6amlHdqN/HwXCsbuQENBDx2qBUQBACifA9hUBBYNqCcXTs8Jk1MCcToMFob vRt/SK2EcwjZ9aF9sIX3tJFrOHEe/bIcDMX19e480T4+BBs9MyHdnKgPR6vP8ZEe FvT8+44Wd6psLB1LwsE8UpJ3CbLjkgafTpJIlh4NP5iM2p+2ugUIRM2ZaAG7MOMK Ec47KOEb6yI9ywADBgP9F+p+zQ1Z/qVekBooIKU4xKBryGb/XIPJi/Pgapgr3oE9 kKH4iObbvMBSV3kd4a0+FSEXSZyRnMD1AG+dWhAHgb9rbjtICp3hZOKCMfdZxFVg QStZO8vP5EhQYYtIXiNmOvkkBPqb+to5RgFFez8oIdPlMUq2Hf9MBIY6XDoNJl+I RgQYEQIABgUCPHaoFQAKCRBNdTvRKSbzvh9GAJ9K3KifYIBOHlsmRLF75mgKQk/c 0wCeIOeVykZkImOxs0pEQMR/4g47Wjs= =RNuY -----END PGP PUBLIC KEY BLOCK-----
<ache@FreeBSD.org>
pub 2048R/A51C92FD0C8DF6CA 2014-08-09 Key fingerprint = 36A5 CEDA 5878 AAC1 4888 79FA A51C 92FD 0C8D F6CA uid Andrey Chernov <ache@FreeBSD.org> sub 2048R/85902C6618402312 2014-08-09 Key fingerprint = C8F1 E3F5 999F E916 FD0E AAE3 8590 2C66 1840 2312
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFPl51gBCADY3BchNhcyb2SO4GtP10L9jusHZNGTKKq9vk+/Crgmp8y9KdGx nYa3RGXj3UoxTuOLgLyZbDwx5VykTYeds6HWJLKwv7ltw+lWKimm/OhJPJbr8yBP gPiyQeGwod9dl/uQJ9y9aXOo3EvmxCEC52h+2Ae77eqL56mMWornBObtlEEp6xq1 cWctXMubXEFx24/6Cm/pNL9hiFWYIAp77j4leL7ehEjjRpaiqwUuHCgCmlerdzKj u0RiJpjO0Gjr1b/PwHJbFz+b39rk4rW1IiJFI8jkZ9zcU+2BJO36MUAnDOZ3VGgj TDfz+SqoX8hbiyc9mUVgCdLNOuz3fRwwFUyxABEBAAG0IUFuZHJleSBDaGVybm92 IDxhY2hlQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCU+XnWAIbAwYLCQgHCgMFFQgJ CgsFFgMCAQACHgECF4AACgkQpRyS/QyN9spfowgAptreLa67a+6hzBsk3PtlDqqg dczdvKsRSvkveHU3IwjpoVR4ai5NbKnJAF+DKbE9KvyALtwgm+RLN8S619mLOV5W WFeiF1MVB3A7bDVXC+nrdl7v32ilmrNCxPQp7MSR69cpK/mJHqN6kNFajulsj1Se RaTQvhIXmPiROoG3IJcXYQZMrL8Xbuq+LTRMciLKsJrLT/ZDkOLpG9YlbWbttcsA 8H+YL0VVToC4TO8IRQxrfzmIuhV65oUrrrzXzueGA3B/dJJnLzTkvngliQfBaFXX 5W0a3zyz+ijDLrklT8gpnKpyxK55O1wqCpdZYbDl6WF10d69ITHv6oOYnktNULkB DQRT5edYAQgApWoADRvvaNuaOFjFIFMujG/jj9YHYpwYMgil7yinIvT6o596DciH SA+9ILbxXMFzmbq8W0Qp6+Tfp//fzxa416nELvC+CCLgmeAQQlVz15TinQD0mEQl sWaekLfcv4X5Tdi4KN/VUKzSiCwdGXP/4j7H1Owm2S2MPlh/QVk0t1bKn7spt7NF wCIhyryJ5fuzZo9xYEhtG+ZWf/VyLXk9EpHzhuI3WZOCNYz4LahXlPnd3L1Akhvc 9se7Hv8FyTL9dVQVnTTQxmb/2MQvhIzFKkm8GFxq5Un699wVaN0mP1AwBc1q0uJP 0rRMe9Whn6LxejR4hJHZs1ruDH0aCP5iCwARAQABiQEfBBgBAgAJBQJT5edYAhsM AAoJEKUckv0MjfbKMI8H/Rb4Q9t8iYgnZK1GuxQAgxphXRr0e+29V4EnUt192FcW xVXoL5XvAs9OXiufekXp7U0VOJMHFXF3eQ/fc23DJzfeVHm56OLMVWw8i9mroS4m 2XMGNxRzIzqmIA8I/tUYCw+W7UoxxOJ5qAsa8UytgzxL398ZW6HE5HndeUIzTgun rziOnt/NhytWS0Vz20kfpffSiCLcHxfd7/iB6aJFpFWmhihPeuE58eBeMWdMBbqW E62A8/BcFz3rbgpDemrLArkBRXLPcYGotij2tAFTnuHqRmUCQUD3Z3JyvhkbIF+Y vqE1/uofctf2A56MqSh+tHoxZYmevHj918TodG1hRx4= =Je5k -----END PGP PUBLIC KEY BLOCK-----
<melifaro@FreeBSD.org>
pub 1024D/2675AB69 2008-02-17 Key fingerprint = 00D2 E063 2FB0 2990 C602 50FD C1C2 7889 2675 AB69 uid Alexander V. Chernikov <melifaro@yandex-team.ru> uid Alexander V. Chernikov <melifaro@ipfw.ru> uid Alexander V. Chernikov <melifaro@freebsd.org> sub 4096g/BC64F40C 2008-02-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEe4fOYRBADWmfOzx8cXvVytbw87eVlU84SXo3tZYeffxQkJ4JzGoA4Tq79w 2nTLPSnd42W8gTZ/dxEzhbij3RW5mcvc9r6N5YsOw3eKC30NQMM05nV5/yX1owj4 +eZ1YUZdJKUshhWax9dL23BDLEPRWfKsBWS2osqjIPy6WhDgTlDBz9rJGwCgqK5g Z7sULpLNE0nnJPQEWL8zt7MEAIIYKjPXf3BvrDtsOHWpOK4hZgf2X9oCfoFymVdp cQ6oCWsigmKyGuy3JyyA22UDRfZer3TqNCwd/ynHYXMmYl2IZ4TtV23wGGQDGyxw cu1SRhTcPRftCMI2r/6E1vHSqSSdmWwBv6gdN2kVSqx+REchIhuyWWWhMr2A64DI S6rxA/wMn97Q+ayj0S2t9u7NbUXQPcB1hiv5qMXWMFco3NokOsUdvK31v8m5fO4P Zzzz2JceN+6ae901C2Nrc25ZhujjtLs7XviqUB/GPLymfGUaCpRlm0XReKJPYQKo V4jAXxjzrevEWTtNwaC73V0x/w+CKWVhyfUCUcf6HdGkil4CPrQpQWxleGFuZGVy IFYuIENoZXJuaWtvdiA8bWVsaWZhcm9AaXBmdy5ydT6IYAQTEQIAIAUCSeHOPQIb AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEMHCeIkmdatpMIgAmwQewwBOZf6E EvGSx78VopWKwtyFAJ0Q0gEIyhtgVjHlGgdOhhaN7D7a7bQtQWxleGFuZGVyIFYu IENoZXJuaWtvdiA8bWVsaWZhcm9AZnJlZWJzZC5vcmc+iGIEExECACIFAk6LOVIC GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMHCeIkmdatpwXgAn2Sf2rEX g3wYOqke+DBqtgY7TAxPAJ9Qo6HmdRlACa5S3WR3xFFdx5SIYLQwQWxleGFuZGVy IFYuIENoZXJuaWtvdiA8bWVsaWZhcm9AeWFuZGV4LXRlYW0ucnU+iGIEExECACIF Ak6LOc0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMHCeIkmdatpU64A oIl4yXypO/ve5VmpqWodSg2KpI81AJ4l9hRomH4gu1ku36RcejuWkYoSVLkEDQRH uH1AEBAAxMbUjr0N//HxCwCrCp/zy/yyF+tjYCoVxlFjeui8Uxc3QpDmsxDBgLed YggRT9VEFBHEF9T9edsK+2Rjs96saGcyolKnfeQSxz9ua6Vst39vAdjBzqmVXWJW DEgU9kAMmLsONi5nO5SaB0GpnhNttG5NM9J4lgZ5HUNnyCMEGUCOXa4R8R7sykS9 K2IfJZLsXWmvXXHD53B1uYROPTn+HrDixwdoYFDltedGKez+GPdP28PeBWeIJhQQ f1oxmlgNU8L++BaiGmY/QXBVRm/Z3NOuWi99NupN32LgZNCGdiZLvltgYaQcnYRh 08Br2Imu5vK9XpoDHs8a1AO5OBJVoysdu1ESnyzuvmrRewbG14+8kPi/4EKo8lnP bYGUVwh3R8QrSSzki8v+AZagh7Shf9m37QZtIzsycqqiE/S4o1kCyOk4q8vooRMU 852oXyHyF0BDPd21gfz6b2bKyi7eDT8apzrrZ+Z7yY+4TCg0D9m/LloT9cEag15T XxkuPqOF6gq7vMqm3GDa+X4wXgrVhNwbKHT3hAo/eSoQTdB5PeWELZ5ykV6Ik/6U ccG3GZjPMSbQU217PlmTVKmv2yrwHXxAZECQAlhZUIEkyVBHQBYuSH/37r8DM4im btIL6A++CoJZpf71YjEiPDiQc/ono9CPtMGsbPl3uekhYxdwM9MAAwYQAJRqYdYc Xb2IhEEbcdnE1FKzO/e3d+O1ze+diefS7/Lxd9zAPdmHY9W3duzFgQv50F69kKUr JzZF77o8X1dlpD/ip2Moimh0rb40PrP/AasCiww4hgXKfsDInqSMKDK4KaZZCKFf 4N6yGD2KAqqGnJfNNzIrdxpH0BjeXXZm+Fzmr5M/eWMDGOJZmYnKCSF7dStdwVZH Ld7RUvpQ3cR+lQUI6hYTMhXPqR7mEDAHq7IYzbA1HBp1c1P4vywD/myTi4wevomE 1/GprPYlocXaytWiRjJvGjLw8lg0E6utQRLhoPKIIp9CsNBw8IQRZ+qINtyO6pk5 oxnuq+yan2ixb10hBx1yQg6PLmgUaWqPihjZ+i1qtpLoMV4BGxzWn11+o8Mh0skH rmKP7DEbX6Ctee36gr6ULZATsje4OyC98T9wzNmLDYOV9Zusukd5Kxb4f6MuDO8D B8ky12ZLA9s7+RmT1Vx51pXOj2YnTT7RE2+QWu/gUfm8gWsq8tSwowzuE84QcwfX 2/W3oN4QIVUqWULzC+vUV0TnLO8K5fqgn8AkX2ta5pIYF0t8+KN/nb8mgV81w6cV ii1Uhv1yRMyro7D+eURm07yvpWyeLfILnm4U/PoFx4JK++UehPB+QACs0bKZ9AOh kTjflPiKorAw13Mv/BinmgRPnSJZzqUEW3ILiEkEGBECAAkFAke4fUACGwwACgkQ wcJ4iSZ1q2ldngCgh5mTawBEKWXNJXXVFGfo3CiWc8AAn2wCkHDEhZjrsq+OqQ7b j2THTkZc =2RPV -----END PGP PUBLIC KEY BLOCK-----
<seanc@FreeBSD.org>
pub 1024D/EE278A28 2004-02-08 Sean Chittenden <sean@chittenden.org> Key fingerprint = E41F F441 7E91 6CBA 1844 65CF B939 3C78 EE27 8A28 sub 2048g/55321853 2004-02-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEAlrEIRBACQ1ZZIej0e8esRdDxmuSv96bv1NTDBaEx7P649JM8a3afUvnQl JkA/ryZsKAnw1OeIK907Cs5HdaG1lD9ttpQolG5ZN23K01CuHUvq6yY+evwDV31D rKwYfALKfdhtAaymxM7RRsNNV8OkXLg0SEtBit4lbdY79vqiVC3PeWYvIwCgyOlb 7dw3f2mNtm280LybDSjn5KcD/2gWssJVtQgssnCi0Jto8csULw4OKyJHvXX06Qkf lnXKcCJTBMgXZf0cZpYhuyqMUZfsVJaF0lMJ85J8zD+Of3G/KwuCqW7jqpom0zw9 mgsmhZ1rZCbf4cG1orpGSSfmsi5IFoe+mWEJgHwIKlLYd/XDfT1q81swa2AlcjbE Pod+A/0cNSOWz4rj1ZjcxYsxg0sZES5eFEHfIJ+5g3yMbNPcvbQhlSClgDD1Z46p 6bEZA4+vL2kJH+29E1Q0M6H4OB2rY/Co5TypocuazZR1kwkJY+bQtFqPrcCm67Er GYl3qcbtV8Wgn153k6DnMUc7by2iTrJiRjWw4LNVhRZn3/dj8LQlU2VhbiBDaGl0 dGVuZGVuIDxzZWFuQGNoaXR0ZW5kZW4ub3JnPoheBBMRAgAeBQJAJaxCAhsDBgsJ CAcDAgMVAgMDFgIBAh4BAheAAAoJELk5PHjuJ4ooG+EAoJP+RzGsCHKYGaLhok0/ B0hBnIKtAJ0YTlDINuquFtqFTeZgwTUg4jeHFbkCDQRAJaxTEAgAqKA+B8+oo31g N7Q6uw1rR5F6M2fFBwPrYU9w6bM7qX6e/oy3epL8BgtzdlHyzcux/hLGDHGP6mku lwH5wGSjqfbk3guI1ogl+e0EjblIeUEAA1R/k2o8xt/HINhXiCjQhY6AJL9cljGz NQY/ecR9d4HEvjc+Ticgyt4h6WSGMTpjjY+Y0bWrxsXi5ZAsCNYEuRgdaRM52aXR gGkSqMBOKSKAPGc35Jh4nzvPSKjXmkXutCnPNcO+qPoro5j2Dx53ZkfB7Raj6CiY C8VQ8PDEpjELTq8fuOqqrl911RDYAOECWEqyim78qROuhgq5750w1CJj3K8o2FDE Qap5jNPiUwADBQf/bk9Es1QDyDTPLC7Look1OS50vhotrHce7P+uab++khm03ajq XmNuTYifQY0kgzzEBaELw4+isBf1NV1vvPK9P6k6FCx+1mcNYzItRLBo15MtcXlB IqkD3v/BnhVgT0PqJT6jO8glKCmhEq+GurXqydIfEzWCbz0+snVK769Q9rJHHUf8 icDKfUI1m7javdnXVrpA1kKZM8Omis+BfO17XDBLYZuVW5rAJDzG42YM8H1mrqBa GL806X/3i55d2RfgrljiZvXBpdOZRnM21w6hxNuj3OaVxqrQn9hOgzBcVdSZWc9b vxpmZ2j1vx7i4xNq5dzcBqxMKDcAcwomLWgjHohJBBgRAgAJBQJAJaxTAhsMAAoJ ELk5PHjuJ4oob8sAoI0szWtufl86pHsG0AwxjsykDS38AJ0SAW5Nr1N1HlZlrtlG 0ev24JoBxQ== =yGes -----END PGP PUBLIC KEY BLOCK-----
<cjh@FreeBSD.org>
pub 1024D/E60260F5 2002-10-14 CHOI Junho (Work) <cjh@wdb.co.kr> Key fingerprint = 1369 7374 A45F F41A F3C0 07E3 4A01 C020 E602 60F5 uid CHOI Junho (Personal) <cjh@kr.FreeBSD.org> uid CHOI Junho (FreeBSD) <cjh@FreeBSD.org> sub 1024g/04A4FDD8 2002-10-14
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.0 (FreeBSD) mQGiBD2qLwkRBADbZ6Rsv7guMTzGT9lj4eIE29vj0ZZNWFepFEqEmWK0jMLAATX0 koXkP/qWsuGBhVHcSyZtVG+MYTwAzo5nBszx12CNL/GkEokQ/9FXi+cA3W5TJZTE ssMq0PPwqCB7+s/4DBmc3uI22TCOI7J26XkftuwkdihCMG/gk+cgKkzZ7wCggaBp 02a96DwV/78wUZy9C8B6uMMD/j5jAO2HOubn5CRZrOpko3za+qVsk6yTCmq12z+t r9veYORoVohxVTIY+xpeHQVlOe5URTiKO0Uvu34Tl34x0BbSLBWrGU8UTMA4+hpl QTUK1GI1DheFPGGGxbt9w40nslRVw2Or7GA/XHexCDwx5KZpJNtO8c/MqdlzAae5 CuYQA/9bb5T8xhamrsOFTmdLY3wPM2efnp5d3luwA2Fe3SdC5Rkoa2fDye5w7fy1 9YX638Nw0YU6P/xmygdBjqxKs28/6evo79KAWONL0dl20pEYoj3yVz58C3YGLEFe p9ggrBf41MjnnMg+D7NdBOHtISfOrU3TtB/1DiGE3+QpMwuOHrQqQ0hPSSBKdW5o byAoUGVyc29uYWwpIDxjamhAa3IuRnJlZUJTRC5vcmc+iFkEExECABkFAj2qLwkE CwcDAgMVAgMDFgIBAh4BAheAAAoJEEoBwCDmAmD1SyYAn3JBBPs/6lAQ55HLjew2 suN8XP8RAJ9OBFQhUphqmQ/shjrwbNRBsgDbc7QmQ0hPSSBKdW5obyAoRnJlZUJT RCkgPGNqaEBGcmVlQlNELm9yZz6IXAQTEQIAHAUCPa7Z7gIbAwQLBwMCAxUCAwMW AgECHgECF4AACgkQSgHAIOYCYPW9MgCeOYgOUTCIsagnCymketJwQoGBEpsAnik+ bL1lPnomVghlMMUgU8wxB9sQtCFDSE9JIEp1bmhvIChXb3JrKSA8Y2poQHdkYi5j by5rcj6IXAQTEQIAHAUCPa7aJwIbAwQLBwMCAxUCAwMWAgECHgECF4AACgkQSgHA IOYCYPVI0gCbBZEg/a9K4BAY5HQ7wFOp6u/G+nYAnRgb4zUmf2M57dxEx2hm93pI aKP/uQENBD2qLxAQBADMGxA9f5QYLFnR/XZ+Hqa/YCeqFMZ3hC4KnjWBDDXfI0Cv HMLBIW5027NPIDeN95998T5YJPDm1TY5Cort72CTDS3eIfoG0iGwIzzLfXrZB7Zc 1BukNV5NMFeKPO7pX6k4R0aQr0SQUmcdYD7t6V/M4xswVOwcECk/W9BuGA/9NwAD BwQAy8LmYyssQdjImAASQABcpdOua5orv0ojYMu+edGmjd0WqhXToUHcDfQgL6YA kO/4g37ysvGwlpj8U7cZwabMO/zwnryyOEeGEA+5aCsji4VRZHOkdflcuBOXj0nR 9yHmPFfwWTxLtV9ajLCP4vXqKPrKciS8SbuLYzvx+lnUiCqIRgQYEQIABgUCPaov EAAKCRBKAcAg5gJg9eZZAJ90E4gu6VACob81uH3MxWmgjpG2iwCfeNTe1Wz7EO3K z54TjDmC4biJg2M= =g8A3 -----END PGP PUBLIC KEY BLOCK-----
<davidch@FreeBSD.org>
pub 4096R/6EF8EA544E261A57 2013-10-04 [expires: 2018-10-03] Key fingerprint = 6D3B 985F 2737 C936 F37D 93D6 6EF8 EA54 4E26 1A57 uid David Christensen (FreeBSD Committer Key) <davidch@freebsd.org> sub 4096R/6B5D5DE299525D80 2013-10-04 [expires: 2018-10-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFJPJcsBEADmf5DUndxeVye5givnUG3dLA1mbWNxsiF9abmzYeHfsuZSQJdf j8YRpoEo4rw8OlRL+bmvXU0kJrn1r/EkdgS+tcRabGv6zG2RNLV0AVBUgwmHtIk+ beaQNUWdr2b8gzgusu9NdxQqNMLFcHMa2o7ckQHJQurRvgicYYyCOdcOLd0JFDa+ tCYWkg00PbDHNKX5lfh/Ue8dkEp5Dk1D1o+P7be3r0hqJ9EHyM3A4GyknGZp0lTN aHNg+6CbqkZAipq0aoZ/WgLRdCe/MsgGe49odsHCSehJklQU7Y8kfsK+xN/DIofs Qrns3qrlL4XNm7s5r6gbrCCdXsuygyMH2wa1mdTNwtwCBdGOcBCEYpUXnb9gDT8k 0JXXpw9KxY1S9Encsp+459/nSBa5pVq2BvQ1VO/7xI1JngyVMWTNm7D2HQ+HfIX3 sB00MjxU7R82cXcpNl/PRTLeXYQH5elXmoA/skrHNODOyh45c3ae+seGDsh6bslW VV41fvjMtIVwbAk0nlomVz8JtdGUpd0cgPHxngdcMxHgw3BRvb1irLZ9MB4StUAN IeIh60Kv8Q4L5Orm5z0qHvxOXFaEfXuNbWV2MQj3GSZhyZKzd/jOZB4D4GLCjS3Z Hkne7rhDEXsXQ1fndkyLXwYBHdmIAowv5Rub7YHN+nYGZNCxXasOpW7+vQARAQAB tD9EYXZpZCBDaHJpc3RlbnNlbiAoRnJlZUJTRCBDb21taXR0ZXIgS2V5KSA8ZGF2 aWRjaEBmcmVlYnNkLm9yZz6JAj8EEwECACkFAlJPJcsCGwMFCQlmAYAHCwkIBwMC AQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBu+OpUTiYaV33REAC8/oj9v/xgdHAOwoim WoTVZu5WPBLX7bX6PIS0blu4wW7tT+z2t6pg1QRFEGD+Wpb1GpQptamLXti82GPi FQ7u9avCgDXkMU6lBqwqicgTXFKh6S5yLyQy9eLcjHCZDnUP7GCVeyvw7Hi1YXgB 46etuw52+nBXX1qu7bTzOgiTszBV78QOzUb0NiM35U6jAWJW2mwPEBEFJBz2WeI7 SukB/Tln1lRzSgMnVXLW1Qg4qhzSeWQ5CHaai+k/ongYkk++DuuK4JdE8Ph/xvir sH9Nm0kJT/cvW0/3q+kvmgI+c8FPwU26JYxgjgaJWtn0FeMxo9GFtEBi0X1e33C6 APjLn1Td4V9vE3t4+CQtXeRqQVsfZkGTi1rJlLE31u3xnn05SfLKroNNhsl2Yyv0 WD3paqQWolNw0RWCZUiqOaRqjfCV+d2BdiIX44uGWqpY1WSkwK7FAqaO2eOqYpcd 66KU19cHtYdQDhh/RjscQSIuYbvp02nuCfc2JEmoE5QSE0ZRCt8fWTHy5TMoIOU5 ulVr8TZ1JuPmzYzUAyshicVthILLoXHpc0CGXOlS7bWHIMvH6OPs+KQvq2GuTpXX mWdeYLLRqf/XPaVYoI7Zq/avwtd6TRXgfILd+haktpHPZ6SGJAeDozDqWQcPfQqG OYSNS8z9nYs6caux9dB/i+KvpLkCDQRSTyXLARAA1VKAvQc4bxAqIdRpiQ+kBfiR aeJVYjvayP0NQSTnQ2mM2fTajHgyIUDC64z/SUC4qGh0cTXiA0mG10C3wF4qOI/e B/goqzjE/6SLpzXvksgCa3xfNIv4SFR1NvVdqaue9drSZ955K0CB5nSi8kHskBsn +PTVOZgdWJFgkNJ45/1Xl0UiSbpA1D6TgcGcbLJKlLDJCpuVkY4qTe5Xr3TTGSZs 7u1rOaigf09DKt7MhMGTOL9FgtvPit71l2mtLE9g1zQswwad+gZmTwUk0dh90wQJ itzwFZTgawf9DGok7GyzGP4kOXsPEeNi9uh6CyYuM5BuowIkE9pnXO9OsSpcAapG xc3Mpho41ffMDi88h9q9xawoWD1vOlI8gAtT4tXz88b1dvJenBs8YLGw+AjmymLp vqXRKAg6gvqZfyfaHRqWrPounpHrPaRgoUdiVr7i90moj5pr089ec9MY4PND8yPK 6CZ++CfhY0zsq3x1lGsf0DBITyHryu3XF+UqwHI/nOthjI/A6wmc9WZZ9IjZb15o fbPoR0N9w/cPYko8h8KGcINIJj6P/lWIr9vH3OG3d9+ZiEbpRmfbMuXO+vpCTFas ICYqU6Gbr88IWPxGhiAGSsDa1s6tq/Z5+AvbsPKH0VzGHjkkmRbVatW6hsUNWkJ0 HZhEJ/+ObWmIyAINtxcAEQEAAYkCJQQYAQIADwUCUk8lywIbDAUJCWYBgAAKCRBu +OpUTiYaVwwZD/4/vEmzqE/0AAxRxjok5mJ69PaKYT2/uNvgV8cvqRPd/2m+WrGE ijIi6D82BMA2DTSiamD1053BZlL66OXohocEhSm4xeTjFM3Jscav6+CciEbiPP2U URk1C5sfKuAdnVWpHL4vHw0cuylpJxEbyMktAylw/FJlE8KVfVdlnkUSUEvXFRJd 3RpPu2sNsrHmFZCoPs3wV9Z7kBHur4RLy9yOs00vtaK0p+6uBQ4/QEqCAnTrBlve 8JWIYx62KKDMzDV3MfH5HFCJ8BXzVeX3dorYRDt5Egp4L4/9jN3MHS9iSd7Ppt0i upODAXotls2gv7+nz2kRxyJSGNzaFrmhW/hKEhtBVzHbFnOHp+H+zUQ9MY0oDNoP YTxDQ2JxAkK4Ll4IHEy60R/zQhqOn2dTgRVbyDATY3Y67TkidyZJHopJpnHaeYSJ tG2LBLceepBpQXecbp6DzvKPoAHfZ7FD4zXgZSo6ja+seUX687cVjKZTop9Rsqim rvJ1Yc9MOl9gy1GG1sKIA/UHIqzd2+WnaN2mCBjLbETlpTnuwOcE9+gRIxjz6PBE 4QVYwozI6DHbENPpLaOTQjRuKKJQK+vAKl70+0imVNNh9S3uUtu0F5Zg4YUzW+PF lVS6sF2UI5J2Bt/c4fUbW1oHnGCXR3rgc2Fuc9AVsZmd/mHOvYh12QNebA== =1Ta3 -----END PGP PUBLIC KEY BLOCK-----
<milki@FreeBSD.org>
pub 4096R/1DAACB3510D2041A 2013-12-16 Key fingerprint = 9F11 FB1D 917F CD6A 479D EA46 1DAA CB35 10D2 041A uid Jonathan Chu (ports) <milki@FreeBSD.org> sub 4096R/02DDC04CA046B32A 2013-12-16
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 RT0q5IbKAw== =F12v -----END PGP PUBLIC KEY BLOCK-----
<cjc@FreeBSD.org>
pub 1024D/FE886AD3 2002-01-25 Crist J. Clark <cjclark@jhu.edu> Key fingerprint = F04E CCD7 3834 72C2 707F 0A8F 259F 8F4B FE88 6AD3 uid Crist J. Clark <cjclark@alum.mit.edu> uid Crist J. Clark <cjc@freebsd.org> sub 1024g/9B6BAB99 2002-01-25
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxRQfMRBACvHk6znTM5boH4k+2+anGxRuPxPPIJgo6Ny385v60FtJjwLwDh 9LwvZZjpjXi7MM/0FRfUE4bqzrdBtUm6XXGC8v/FTH72TemXR54yr2zuCTcX3jML e7wjrO0SO1cttASSeb8OsVQEqiMT4VRm94AYdQvS8bNxbqlog9PYmhh6lwCgwDYl Br/IhYSKQTugPEb8nSyP3e0D/izp3mt4NXcULIp0PZFpvnGZAMLq8moZ3cYa+8nM kRCWd/1/94lCd1YM8f3lQsaEvRuWaw7rT1ENknSb5TZnEMsTvV03CM4DMzH63Zde wgl8Xne5lF/WyiSsjUeSkmvCExFA83fz/Cv8/fk6K2O2Ajo0b33Rb7WLH/gb4U4s 9ZkEA/48XB6/s0vGFVnELRSXbc6wCHbnhG0/58ewSbJ2XjyIFFFmeqIF2bpLhuRT YTBz3styfrjeAqsi9t4gtcEK3vyvF83ql5b23u5/V/+O/ZLwk3kceYmjM0mbETil FajrLZjaWXpTRQauL/tsqxItBI4BNuTvnh9bizQY8V7xzAgMwLQlQ3Jpc3QgSi4g Q2xhcmsgPGNqY2xhcmtAYWx1bS5taXQuZWR1PohXBBMRAgAXBQI8UUHzBQsHCgME AxUDAgMWAgECF4AACgkQJZ+PS/6IatMaGgCgqdklRK39OoUma5sl44pEl7R3GhAA n1680hBnTGdIR4wxFY39uX9zK708tCBDcmlzdCBKLiBDbGFyayA8Y2pjQGZyZWVi c2Qub3JnPohXBBMRAgAXBQI8UUKgBQsHCgMEAxUDAgMWAgECF4AACgkQJZ+PS/6I atPX0wCghHE+X/oyrMbMrCsdwubBf1WudnAAn2WHoVNZpzgMck2MhFdwa/1rAJI1 tCBDcmlzdCBKLiBDbGFyayA8Y2pjbGFya0BqaHUuZWR1PohXBBMRAgAXBQI8UULc BQsHCgMEAxUDAgMWAgECF4AACgkQJZ+PS/6IatOKKACgsnfy7ZCxEWmdnY+c9KLm x0V1Zy0An34Ky4kzHxDYDTIoO6XRS48+/aljuQENBDxRQfoQBADouiAUldDORJkG K7fN81SWvocuySMOL/dEv6UQnBgR4lmjmaLog3QMbGIsJqiPRLDDS3PMkYf1dgDy 6hPmMkWF/xd13Vpk4S5sIjrqTBGoE9f0SPbcDPIjRj+htXFcI+qvhvdceYi24Zvs xGX90jb+fimZdrJNtobfEqJaYOkrDwADBQQAsCwtAczuP/aM624+UYBrNMCmHpRS ZAOAnp7Hz83GafkWynaNRDYan2KsBrZJmbZ3MJ6kyUj6k37Keh1c7pR5DsY202on 9haB3lTZv+j2QooPyj9Ityd985eqiRwAMBuOrpaCpot7zYlwiG/Lx/0P00RZ+Jdz hyidSKrsudGAp0OIRgQYEQIABgUCPFFB+gAKCRAln49L/ohq06htAKC7SFr0uQmS 9fjEOFsF9oPMMxgFwQCgjvMA6reNmNAm0i6ycFh3QVYEUic= =C4zW -----END PGP PUBLIC KEY BLOCK-----
<marcus@FreeBSD.org>
pub 1024D/FE14CF87 2002-03-04 Joe Marcus Clarke (FreeBSD committer address) <marcus@FreeBSD.org> Key fingerprint = CC89 6407 73CC 0286 28E4 AFB9 6F68 8F8A FE14 CF87 uid Joe Marcus Clarke <marcus@marcuscom.com> sub 1024g/B9ACE4D2 2002-03-04
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDyDmj4RBADa/Icz5Xl+cJUGNxC/tWgXWqcA9VA8GN+PeqKhXS0BnVHntdsQ xbpFUUKK4ld0Zex/Rec1jgC/ikExJHHIee8ZVcHqP+tsWexi83/ZvEdzI95diBp2 Is5fYp8P8hdIBNQSOoc1jVYrTJUaZgJK2uBzbkh/WbipwsQbueRzXqPORwCgsPNr StLzqOpjrA7FdUz/JVQf5+8D/1SiKAOFiW4TxY+fS09lqiLs3mbXjvw23iQwLxje 4vBd4+b9iAUWOsSretSKv6OE9ZlD4FYea8HmMgEkuKfXGc8GvTq4J1uHZ0gcVbrB GmxAUBPPaAENYEJfJf7dcysKVAl14ZQVIvzAGJAZHGuegD7uekGKnOEA61R3ze4a M2zNA/96I77l0qiMc6J7gXmiD5uxC7FsSCFj5sqTYMgBqzIYEZjU/tTUbth84xcR i4X0WNkaILqq1mOcBfmzQMvzG1n1CydmJU6iF1ewle6cIui9TQYg5CESrJF7xid4 vVXRz+xi6hc1+0bSaoJa3sfpNrSSr0lKGdWHZozWdQjOvTMCXbQoSm9lIE1hcmN1 cyBDbGFya2UgPG1hcmN1c0BtYXJjdXNjb20uY29tPohXBBMRAgAXBQI8g5o+BQsH CgMEAxUDAgMWAgECF4AACgkQb2iPiv4Uz4c6rgCgg7XXmcYqcIlJdDl0aGU8r0Dl kfYAn3W4oHUReFhATFkj2d+7zu+Rsu2MtEJKb2UgTWFyY3VzIENsYXJrZSAoRnJl ZUJTRCBjb21taXR0ZXIgYWRkcmVzcykgPG1hcmN1c0BGcmVlQlNELm9yZz6IVwQT EQIAFwUCPK4tTQULBwoDBAMVAwIDFgIBAheAAAoJEG9oj4r+FM+H7U0AoICIVoBe 9B8bo1lrvHh+UF7GY/WaAJ9C2mCThFrmqxCr2bCtR12UoPCPqrkBDQQ8g5pAEAQA qk1J4LBDLeWs6ZOkPDYYcKCSAu0qlzEf5YP/TcSeZcjJyXILgesFXcayoy1v7ILP QSXj4p5uzRyn0fuGqiTvajjxMZz1aSkvgGyS+gc+PDmi4SJ2N/tX2isrul8MK+NG eUsLuZaM1JKhgKpq9yuu3D3ELG7ESga7xsOs1V/sSd8AAwUD/20XByIlsUUC/65K G/DQ1WfX2gNuy5If9tSPQ6h1Lno5Hv3ow3ktybIoQSxbcBo28nA/Gzg5NFGVkkqf OkH2xtS6V0K/WjzsrloBHCPFiKp2yHpXfKubxl8yefQPTMj8hLwlBKrNiN1fz5/6 29TIkEwDwrUwHxQreE7FAzPMqHORiEYEGBECAAYFAjyDmkAACgkQb2iPiv4Uz4cn uQCfX1zNrahRTWz/HRpF7ms8qZqzdOIAn1uuu6Jst43pDzanBHUOBzUP6ymA =Bu/6 -----END PGP PUBLIC KEY BLOCK-----
<nik@FreeBSD.org>
pub 1024D/2C37E375 2000-11-09 Nik Clayton <nik@freebsd.org> Key fingerprint = 15B8 3FFC DDB4 34B0 AA5F 94B7 93A8 0764 2C37 E375 uid Nik Clayton <nik@slashdot.org> uid Nik Clayton <nik@crf-consulting.co.uk> uid Nik Clayton <nik@ngo.org.uk> uid Nik Clayton <nik@bsdi.com> sub 1024g/769E298A 2000-11-09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 PbUkrewAn0exWATudMNC4IQf18YvII1t4Cn8 =9wNg -----END PGP PUBLIC KEY BLOCK-----
<benjsc@FreeBSD.org>
pub 1024D/4842B5B4 2002-04-10 Key fingerprint = F00D C83D 5F7E 5561 DF91 B74D E602 CAA3 4842 B5B4 uid Benjamin Simon Close <Benjamin.Close@clearchain.com> uid Benjamin Simon Close <benjsc@FreeBSD.org> uid Benjamin Simon Close <benjsc@clearchain.com> sub 2048g/3FA8A57E 2002-04-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =/2rY -----END PGP PUBLIC KEY BLOCK-----
<ngie@FreeBSD.org>
pub 2048R/C66BE5053A4BBDDE 2014-07-30 [expires: 2015-07-30] Key fingerprint = EB41 F9FC FB0F E8F4 3983 F6F8 C66B E505 3A4B BDDE uid Garrett Cooper <yaneurabeya@gmail.com> sub 2048R/8072A2EF5B1FADD0 2014-07-30 [expires: 2015-07-30]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org mQENBFPYwhEBCAC42hHZc8g+9iObPVSxUJUthaz6/Xhz8vcd0806uuwNfdMMab91 eO9L0xF7yQMDHwqxPm8aUNw3ohbKnRvsvej83XumrhXEJzQpQODhkKC6zdJ1uDgn kQ1SyatwVx0BFHFIJTqTCFfT6bKxD06K5ziAUj+QifNo7+wCKpgt40R8fQBmHa7t 3ifdaAJ8/aLVV7qlfTrAKijAWIHEa5XMPWgpAsRePQ/zKgV/bocSfN3c4BKilDdb 4nFH/NlxrYKZdImQ0wkg/oQyLSIwJEOqZnxi+9fJ3JHQJaQ11UDdTz854nTHY4oX CxZPy6YuoRsIFmYkKhBptVWqomwE/w0CebZtABEBAAG0JkdhcnJldHQgQ29vcGVy IDx5YW5ldXJhYmV5YUBnbWFpbC5jb20+iQE/BBMBAgApBQJT2MIRAhsDBQkB4TOA BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQxmvlBTpLvd7BZwf9FAFRcdbd IFR1iLh+S+sW9V6T8vKgoB7lEsq09aOHjuiAaiZc+rvOIBjVbUL2jdv2ipy9FTK/ Yc/vIUFqI1ANiE7/db3x7rB8MC+sFvz2vBaR++c38NhEi3u0SAccSxbfmRChLIb2 6yeibN8c6m4rEE/L+yfCEq/N1waj0ZfKvG+cSTrWSQLVKEEaPWhwz6OXDj/I8nus q8RMQZoJBXbVOj79QqLneZOnz/fYe/l3nKOdP/F0DSQ3lXqbWEAQX22tG9LgUZH/ p4eoUkWWfgHqaB/ecs8KvUrt2njNIzLqav1R6Vt3p4rM1tjTPgndw2Sir4Nyw9xr LmCPjSCPmV4dA7kBDQRT2MIRAQgAlu6/RaVDcq2QrBg6TymVIU+DlK6w5e68JLLn n4wbxKsfjGRihMjRHff4tEBV2ZzgA+Dt7fUrlDSIMOVFOtugLUQSRX+HAszqrsaj halIp7JbJvQCbpnt2UCmwxu+yXZxHxYLM6E53ic5+u1DDj+pte0/w1vpuR8j8oZC 90wzNSYx09GfsoXiOE5AQnSlZSmSQFlib+opeFNTFr38N47DtJN0Rk6zXN/seP5H QAJ+PYhlUpW0bS5edCn/2b0kosKpSnWzowTCRKIXdFygPIAyH77gSpP02Dcn0z/v gRUZhlxQmZxTgK2+DjYMNNIsPTaK7tKYJpRLXWnP7Xo1JAMriwARAQABiQElBBgB AgAPBQJT2MIRAhsMBQkB4TOAAAoJEMZr5QU6S73elYQH/jFjylGmGT28umRc4jUc lMj+39XUWia6zDregg2GcPn71V5H6wD0BlldY61pHbc8G3hBWtuIavMhlZmCrok6 yvsJvVFzu8p7LyC+DPF2nSobA9wm62MoMgRPYErDEJ33pt2Nrw2gYOMaZFV2OUe9 r8rNGPgAaQlbu9/nh6bunHQxiaStSPjhrbQ6CovwOgvUKUWTLJNkJGfRlY3gyqQV pgvmigbSWPbMqISX6Uvm9BaW8n6jsFUMTblwN7nbpkr7uWtZfcFgcJ0aAqFUPUp8 +iQU2zs+LWinIH+hSMlVX0zFsT7mxm1bFGXwDffY15lCORzO5C8ketKQoTZwYJ+5 /lM= =GUsi -----END PGP PUBLIC KEY BLOCK-----
<tijl@FreeBSD.org>
pub 2048D/20A0B62B 2010-07-13 Key fingerprint = 39AA F580 6B44 5161 9F86 ED49 7E80 92D8 20A0 B62B uid Tijl Coosemans <tijl@coosemans.org> uid Tijl Coosemans <tijl@freebsd.org> sub 2048g/7D71BA74 2010-07-13
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =JjyN -----END PGP PUBLIC KEY BLOCK-----
<rakuco@FreeBSD.org>
pub 4096R/18DCEED6 2011-10-03 Key fingerprint = 6911 54FE BA6E 6106 5789 7099 8DD0 7D21 18DC EED6 uid Raphael Kubo da Costa (Personal key) <rakuco@FreeBSD.org>
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 CnnWxLMKpuIcZBJTJj4DevmqihGS =FjO0 -----END PGP PUBLIC KEY BLOCK-----
<alc@FreeBSD.org>
pub 2048R/33E2893B 2013-06-15 Key fingerprint = FC7C 93FD 2C2C ABA5 C1D1 3E74 8513 043C 33E2 893B uid Alan Cox <alc@FreeBSD.org> uid Alan Cox <alc@cs.rice.edu> uid Alan Cox <alc@rice.edu> sub 2048R/693757AA 2013-06-15
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFG8q4IBCADBE55F7sX+cKhEadxhNkXrbtVSJhw3TQDPvc3nBWxsfdMAhPWo zhpLczV/hr8mDJV5tirit0qhw4ANPwtsn7i/xlcSdC9p8Jvkcpp/AfiA5B78Y08A sC6K6tbNHZ06qPq3eCXDNbPzsUXyvyt25A+ZnQj4HbW4FpA6C5ITG1eeJPGO8WV9 vhBQ4X/BWI61RXaJw68Jxtwoc9eovzdxbWTd5po/oGHL2ganYoBMu1OGpGFWvTDw y2ARCV7i+fSkfKXUPaQm17AuVVbZu8OUIg6caCEA5MlZVsMpwuJQp7xdEQzPaDML 3drkl32l3Rb09g5vKjjLHb+LXx/7PyeEWsG1ABEBAAG0GkFsYW4gQ294IDxhbGNA RnJlZUJTRC5vcmc+iQE4BBMBAgAiBQJRvK14AhsDBgsJCAcDAgYVCAIJCgsEFgID AQIeAQIXgAAKCRCFEwQ8M+KJO7tKB/462f5Zzygqera1acLTIrIfdDXpcfyq3+Oh FzbBh91b2Jw+CVKvH+hVpCUSW86Sgfv4sSvgsqdS9nMwN82MZDchNROfkkoY1Nkl 0EgayOmOoYroRp1bM65OZAMrw7qK/iG8FeJ1s6ex4wSSfeRETmFNhK0KMfTeLiKl IjW+KhIQh+trVIWt9ZlvHI3xw6RUuEQ1CFvzETcwj/+YxLd8aha0Mr6qW/4VDw0G 9g+YnqR8jnm1dOsOx8s+vJt2QmRuWGSsj5nk9Dc+Tpzytbvrv3rOCsEwuadWZU53 /wL576XnqliWwkte3njN+BwILoDuKBoqxIvdqI7lqTzYdww5BPd3iEoEEBEKAAoF AlG+hNEDBQE8AAoJEDn7k6DK7rjAUJMAoIkgzPWki3JGcIsiglT89CcMysCNAJwI K9dFy78DEkc+YUMAWzo0PvDErLQaQWxhbiBDb3ggPGFsY0Bjcy5yaWNlLmVkdT6J ATgEEwECACIFAlG8q4ICGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEIUT BDwz4ok7ZAsH/2ZKY682v00LZ2otMQEzN0rQ/EFlQbD+O8iTXTXo3xA3VHvYCdna 6n4SQFz1wizSBCvqYDMdCMlpVrJ0srWy+M3kbHGl5eSPAJNh3A0+McDVRqMRunZN di1ez6+j1C9u0DPpGZMX0iNjX9yfoNcTM8GO4pV35vLOL5X86Jmc5iOie99FKSLt V8cuZePLMlswrTdPc1D2EKMgTZN3baOTUK6rdu4woXQrRwIiPwdf3x5rqFESsG8N VaceG8HjnaUvuVD8dxtfSzzSmgSAmPd17RMLhzRxPXIkYRQU1VwmHgSpg7QE2Pbo bdWhCOgMOqZEnWOvDZy+BzWf9aD2jaG4pbmISgQQEQoACgUCUb6E0wMFATwACgkQ OfuToMruuMAyYgCfUBccCnIHA5jSmbEDX0UkblKT79sAn1E66eGmRXFdlne/mKJx 1HaXipeetBdBbGFuIENveCA8YWxjQHJpY2UuZWR1PokBOAQTAQIAIgUCUbys0wIb AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQhRMEPDPiiTvOuAgArpfCqC9r NeFnfOh59PG5eZ0BKrZKnlMzCccou9bV/ru1Aq2ARfYnES1t1STW3WSVrQOaVRR4 0RQwRFzS7Efz22ZGHeDa1thssdYQ7s3vo2z9/klVn6/nyn4ppI9YvHtwzhphhi1l VFU+0qj1gLXRmqqTx6pSNxqA4+Pbik6zv9BN3Pk+vsGVr5zLw5V2wtbPCz9PCz7o RsnKcyzCuRdYnyKh5v8WE0lI1nfN25jrB4uI2UU7SEDzApq82+jqFr7LtmqJUDyR XKkyTHTsCK+Ucoph1+8Cg2W/BMkvuWOU0kRYMklqyMvHy5j/HMme4awUR5K7P90p EYqcvs//XFK/+IhKBBARCgAKBQJRvoTTAwUBPAAKCRA5+5Ogyu64wIgRAJ9/cT4R cRPowLMhbnVopLBw3tnM/QCggf5r0qmBy7skGWt5rYIAY0iaBXi5AQ0EUbyrggEI ALSGvJsf+dM+8h5CbmprlnPBOF2NvrKi0EWOX/kucw19rbKGEmnS1CSv9awn9GJp gSantsYqejBspH7pfswXqpxEfAQ+mJs3x+nEoWAmW+FCFBaZTue4Faq3wjX/LxpU tyLsE8tGTogpoxAlZaTXxZ62KOdqjmAYQW7+IX0LNtiYn9SKNUwmPTxaWFAKI+co WSKtXxeMA4RHkXZ5x8u188sv9tn79abrEz56jWKlzfShF/VntGRyD3hGOJGlVpxK cFAQUxe6QPffDpZophPXwHivA3bu0l/NOYYpEqCBYRzcRZ5CDOLesPvHfmjAEnvH 4bqUiN1Ibij3K0HepNVrOjcAEQEAAYkBHwQYAQIACQUCUbyrggIbDAAKCRCFEwQ8 M+KJO4eQCACjcxQ1HMamXK+A97N+cuCfC2UNgwXUdan7rsgi9jdbBwLnUVA0daYa Kz4fsGiv5p5IB+gpETD2XhTRO7ZgL26JYpnMDjN6vZYyGwHhUYxDwY+4TZHawWhv mfb3cWwtYNJYzgyJ2ivL3M0QBhD4iOm/xZoBNLbXthjKAD6IWV8yZBIoNLUbocGd SPNB7bexf/TokADEC/CY4js6PAuU4JRDkVoc/PqzxSN0eln85RMSVztRE9Ov8qtq aUuHC5NELanxfIGvNirPcp+XjaMRw67F4fLTsMZ2bUS6prn8IpM0GExaNy6PPXVN R4j35/knbFRKVuPucYmycvk/fj5K+2wq =dhg9 -----END PGP PUBLIC KEY BLOCK-----
<brucec@FreeBSD.org>
pub 2048R/6AF6F99E 2010-01-29 Key fingerprint = 9A3C AE57 2706 B0E3 4B8A 8374 5787 A72B 6AF6 F99E uid Bruce Cran <brucec@FreeBSD.org> uid Bruce Cran <bruce@cran.org.uk> sub 2048R/1D665CEE 2010-01-29
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =XNzi -----END PGP PUBLIC KEY BLOCK-----
<culot@FreeBSD.org>
pub 1024D/34876C5B 2006-08-26 Key fingerprint = 50EE CE94 E43E BA85 CB67 262B B739 1A26 3487 6C5B uid Frederic Culot <culot@FreeBSD.org> uid Frederic Culot <frederic@culot.org> sub 2048g/F1EF901F 2006-08-26
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBETwuAsRBACaptn8vJ5o5RZkWQUvr3EpBW91+hZtYLM+oBpk6+BayiPAW02f aAP6XTrl3GE6hK5+lZWMdxeu733Ukq72cLwbSNefpXi1A9/7IU+bsUWKgSRL/O4z HQziOHx+UgFr+uWdKbIssFmIPSJbsI0IOZV1p1mLVDCz97QG8JvyJA7AEwCg7XLC 0Rsiev0R71ErTCHmuZXoVt0D/ilNo5WJyA8mQ7wmfQsRUnV+GXXOYk2OdhrfqPnh B4WVqBd/duf7Hn8TzGF+ee90N7PjlOXa7VH8wQcKKSNUDGWcV++xJQ/ZxeB7g2Ya R+JeQy64fVu2+Zi8IehUt96k85mVZtb09J9C+t4+isRsZUb+A/tlcMLlYxcPSaai vGA+A/sH2RRyDJFTMGfqmpRSpm716mgWE1Oyk8rjqpRLOjlrgmORHNSSIawSpAHs PQrC5ouBWFRe6pCBLpd+xcvaqmnkVBYrVZFmI2ElTYWwviF8aQ7HHP7TVek4EZoE xjQ2YDxKlFN287s9yc8HXIiPcwLO6yPhDa1ZLEoebGLDp+nHI7QjRnJlZGVyaWMg Q3Vsb3QgPGZyZWRlcmljQGN1bG90Lm9yZz6IYAQTEQIAIAUCRPC4CwIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJELc5GiY0h2xbJ9wAoKf/6b8O9hlrKE6kFfr1 h4FuwX/XAJ49WDVUxcf+jFYluXwHmzRW8biSarQiRnJlZGVyaWMgQ3Vsb3QgPGN1 bG90QEZyZWVCU0Qub3JnPohiBBMRAgAiBQJMuXzFAhsDBgsJCAcDAgYVCAIJCgsE FgIDAQIeAQIXgAAKCRC3ORomNIdsW/A0AKDVBYK/Y91Wz31ws7Rxy7/LpvL6DgCg 4jNUurzgT1i0vFuBfPLQx5LEZSe5Ag0ERPC4GBAIAJFsfHsMTmxdNfKtzMpGOJF0 dLMLwwjPyKkVPtZZ5LZclo+7jjyg7dAYvY05o2ppQ1TH0LjTV333qWItSbv88Dkq f/pn8tS0/for45dVnuJbTAkkc+khPHCJ08iZsl/X1IYBj3bteb1z2jZr6M2JEQyN qUbbuop3zDoOVMx++lsR5+Q1/+BVuJGw5SuLVhTdNOjiwta3x+eSH4Jzqfb918SB uiaQyPcdMGBDd1VyVkJZU2dIFp7olJbi6T+leY1+TUdvXvzmBqB/0XtQfOfc3hQb Te5HP9IhiAQkhe9fdsOZpcAJuWS1HvKZT/Ck8UqKTWU3epzTlEN5LiTuisRiUGMA AwYH/3eopRoq31zWXlfWI5bETU/DDna48gzpz/P8cc0ge/7YO/sGyB3jtF3D1htI rS1dp7I1P8+H42vwAje18uxg1IKZeQ/ffFl29BTqWM71rALuPyXR80JjT6gggTRl Bj/YEVUyxD+PXG2qRBNtYOCDLUtKbFzpaGV/ViONkSfzKTNIdjyDlTp8UGWRXteI 903NQSogGxVew/0wrlyXURoBKWZu34Y6awcvQSmDGLzWqEpVbyVofAjjtE06iIXF u9vd3RPua/WkTjZELE2Xs6hkxGoWfsmpnsKuMS4zZDr0olIbBtMiQGp8nbOQrJPe 5ax09EyO4fJYj4KqY7vfHdMMjByISQQYEQIACQUCRPC4GAIbDAAKCRC3ORomNIds Wy+LAJ9s/SE8+ysRtHJq4zYNkOyzXpt6VACgjcPRoqpDhE0y8V+QniOWN6eJ0Ls= =h8ph -----END PGP PUBLIC KEY BLOCK-----
<aaron@FreeBSD.org>
pub 1024D/8811D2A4 2006-06-21 [expires: 2011-06-20] Key fingerprint = 8DE0 3CBB 3692 992F 53EF ACC7 BE56 0A4D 8811 D2A4 uid Aaron Dalton <aaron@freebsd.org> sub 2048g/304EE8E5 2006-06-21 [expires: 2011-06-20]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBESZZ5YRBADZ18WQp9eda97kmLEVNkYUkTbWn90/9ViXP5lWhWDvdIwXXa+S byVbZI75QkYrvhhyDQPwK2pwF3v/nGaBhQvO666uWWyqBAC+FTjc6GQ/tVTe67Pp dBVlY3X2QadAIWOYHFWNhG58jAXDnuz9po/w/h5t/6wayVElamu/jPBwBwCg48VZ 4q1oQ7M474YPBsyLfmkLEu8EAJwdgos/BxJ0a39PFtI768+6SS4e+B7qt5UDd30l 87rvKoW3gXuf4Vn00Y8m+aK+mUjsWeQfDCF6Kj7/ecGNSkfvwmsEDnRMujyapX6J wuJ6DzKgrc3zEBXVK5g+JBrSZDGetkdl8jndG0lmxIqxqnx1R+uxiWNs9NAdeP1P F7vCBADAPoKaAEW0LlsOE0zIylP5e+LTBd6MQeZ8zISlNqMHDX9F174Fo4CFH/pI nW588yf/ChScuONLPIPbMBkvoC34yLEGluvjZov0cjySqzcTN/TkZ7iH1NrkYe71 /z0Pe6jWY8p4KjK6C6dKok8b1ZI/btmJyuv6bkTzM5kQlxg43bQgQWFyb24gRGFs dG9uIDxhYXJvbkBmcmVlYnNkLm9yZz6IZgQTEQIAJgUCRJlnlgIbIwUJCWYBgAYL CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEL5WCk2IEdKkTFIAoJwahC11/B2TXIk8 9PioqX0c5nU5AJ0YGkpXIzDzF6QskMWWQq64fMuE6rkCDQREmWehEAgAzFoPIPXW +sMFJs/DzCYMzHglYmNzHr8wCfvNq3hiiHUfk9EtcUaMnVI6TMkoEEF4mXMpf7oc uCjU0+CZMf2GV+bLkxs2rNePyjzTuoig1vsl9RFA+1tMfLrUsUKwoPjLZUbHHApl S1x4k+TaLanT+tSQar//WNuA5JrmxRXSyYXu/2y5VSi+niaNKupNYXfqr53SuW2J xh90I90hzgBzQypWNNDEIN1c/lkgIvWm7RbbBliX9Y23iUeFkzmLbOUcpLSy3zj3 9I3eCshQdFv5UT54N8rMAg6hGC5jfeqy4mVpMLWst3Y/Od+DBv/F9xnaquGW7LYp Pz+H4fJzdC79hwADBQf/XyMpsvO4z1N+8DaVybwMedLd4ExSkIAsAI3MTS1mtNu9 mFm9GQULWvUH1YXBFnVVidibc7zdTwVEAPFhc/uZ5unxqzbUAj5whkCBUF53ZpVv nsskZZ3aUEh4hEM6S1t1kc7+HptpMgaSxEcjy+ylybMEzBQ14Mh38sEavfoeDvfb aP1AtLQh/+ehQZHeA6px3PvdDeevM6zLoAY6yEKtd5QaSrvhIuP91HKeQjPgM8yy IZTWM050axPzKZOCf2VsB78QUNVGcfFrbScleBvaVbdOh/ZgxGOgD7LOhhgivV1m dLQ+3W66/GuUVDHap5hdzPuoUgFTodlzilfqjpaekohPBBgRAgAPBQJEmWehAhsM BQkJZgGAAAoJEL5WCk2IEdKkNGoAoMBfaOMRp7+OtWsx8pkGGlFszVCDAKC0rEFY lBcUW4xcel1cl7I40JK+lQ== =bsX2 -----END PGP PUBLIC KEY BLOCK-----
<bapt@FreeBSD.org>
pub 1024D/49A4E84C 2008-11-19 Key fingerprint = A14B A5FC B860 86DE 73E2 B24C F244 ED31 49A4 E84C uid Baptiste Daroussin <bapt@etoilebsd.net> uid Baptiste Daroussin <baptiste.daroussin@gmail.com> uid Baptiste Daroussin <bapt@FreeBSD.org> sub 2048g/54AB46B4 2008-11-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEkkLyARBACYi5Qr3qvyrpp0rgqK4cAwteOZbhB3Jt2uxuzrKnKeTw3y4DrG lD+7wAwKmLapXFobxCmndhXNnWw1Viy+hiBN5id8c6TmLF+I4lbxL1Nmzl++ifVr OdOTqXH/L6kbKF80bY3zhgzR6EtH/0UjL6aXNWyLv/2l88+vx+Qrc5NhJwCgwzkS RbUjFKhyAxh7APNTUqV/ZfUD/3nnu/ti17KqQhiRgm6qup2ZPOOpOtlJ8J4dDFtd crmhH/ViE5ze8hPVTymufvLj3dWJXB3gA4CJbMmD9qQMaNJ1q7tEIe1MVNUEVop3 4BEl0oRJyeUlT9QuVqM2GzsBeIiTikZMMpRlZOuuYwm5sbx3nrDHaiBKAkthZF0z l9dlA/9QdSfmViz/x7B9Oa7WfkvmAH4/nMIxaBsliNAtK6peaPFo9M03wgfh0eo0 3JjLAVFbembVkYkA9HqqMFx7Z1W0i1WJAr5SC7gX6Pf3pQPmKIKJKJykXzIRmL6M boUYksuTrtZIDiz/luiEg3wVUONLe6iX18v4RzvS03F3T4HAULQxQmFwdGlzdGUg RGFyb3Vzc2luIDxiYXB0aXN0ZS5kYXJvdXNzaW5AZ21haWwuY29tPohgBBMRAgAg BQJJJC8gAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ8kTtMUmk6EwjzQCg u6livnP3Mpb8zzzAvfNloYFVW6AAnRwemMVD3FRe1Rn+Ci3lfgySMDmltCVCYXB0 aXN0ZSBEYXJvdXNzaW4gPGJhcHRARnJlZUJTRC5vcmc+iGIEExECACIFAkxO2FcC GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMb0YAnjOkFOYw 8gjML7yPL7w3WNukE/XzAJ94L1XFYK7seJA4zHkMI1nTG3SZjLQnQmFwdGlzdGUg RGFyb3Vzc2luIDxiYXB0QGV0b2lsZWJzZC5uZXQ+iGIEExECACIFAkxO2G4CGwMG CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPJE7TFJpOhMSlsAnj1fB+Mtca/J umANnc/GL7iWGjStAKCkEJmZyABghRDR8HxMzJEgfGYZ97kCDQRJJC8gEAgA3nSj 7ISAocQ76ew5bSc+aW/cLqnAvWnEFOtwneahbOOrwpLRt1CtCC7bFsWnkqsFJT6N UFcc1dJl0D0+JMql1+uvyiBK4kLGhw/kayWqGhWVYAwul375lLxyj+Er3zGAMdLv vbGtg4+8vt6jpF1CvKLQzGQ3UJDlCKz3XST/tRUUFoq/5lD58wqJBOyjKgv+nU5g nmVJbmsNtRH8gArX1b1Mld4pnfYdMcRVpbna7Ct78GJDbvsRZnR+YlMMc7De0zd1 /oeYo7TBc8isPRxFvdd6d6GIuDPuiK6EXZphrwzQSqG3/hp9SHgC6of9yVzP3wFi mrVRyyUQKVHYX21u0wADBQgAvbwssU0S6THyBaPr6S+tbTKS8is81SZ87kiUmu1J /qyKHXkl/aiC39DBX+a2nr9hUbtUsdYlEmWf4LMACm4jt0mPKrL2EbAUSRCVqJ0M c9TliU7X+ULExN7DNa7B93ux4TaGr04CjEuQxfdg3Ob1YDeJ6bzKIK8f64eB51as 31mUaWC5Jwsj8O1XgP/yNvKi0vnJb4bBava0h2U75oU9GzeWr644KRnh2FGKwpnX HSqFq3opG/PR4PbSYkf2R2Eeo7Ox46iCWRrNjjgHXK/GjH8skjXoWWmD9S0h73b9 KNDXRPD49G0P4yvNV6p08laVUl3G6A63aA1/cBqVGFsyg4hJBBgRAgAJBQJJJC8g AhsMAAoJEPJE7TFJpOhMLooAoI1+f30zI1xxIXjy08NLxCQv+9nbAKChzUNzc5OI D2+VxC1zkCRqhNa+rg== =NqtT -----END PGP PUBLIC KEY BLOCK-----
<ceri@FreeBSD.org>
pub 1024D/34B7245F 2002-03-08 Key fingerprint = 9C88 EB05 A908 1058 A4AE 9959 A1C7 DCC1 34B7 245F uid Ceri Davies <ceri@submonkey.net> uid Ceri Davies <ceri@FreeBSD.org> uid Ceri Davies <ceri@opensolaris.org> sub 1024g/0C482CBC 2002-03-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 kY8idgc= =eKfA -----END PGP PUBLIC KEY BLOCK-----
<brd@FreeBSD.org>
pub 1024D/ED0A754D 2005-05-14 [expires: 2014-02-21] Key fingerprint = 5DFD D1A6 BEEE A6D4 B3F5 4236 D362 3291 ED0A 754D uid Brad Davis <so14k@so14k.com> uid Brad Davis <brd@FreeBSD.org> sub 2048g/1F29D404 2005-05-14 [expires: 2014-02-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =HfL5 -----END PGP PUBLIC KEY BLOCK-----
<edavis@FreeBSD.org>
pub 2048R/F52DF060EC5583DD 2013-10-09 Key fingerprint = F368 53A8 E3CB 7135 3140 2AE4 F52D F060 EC55 83DD uid Eric Davis <edavis@insanum.com> uid Eric Davis <edavis@FreeBSD.org> uid Eric Davis <edavis@broadcom.com> sub 2048R/156FF9FC786CB51C 2013-10-09
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 6KNgQrMxiP3AfanpIw== =rvTg -----END PGP PUBLIC KEY BLOCK-----
<pjd@FreeBSD.org>
pub 1024D/B1293F34 2004-02-02 Pawel Jakub Dawidek <Pawel@Dawidek.net> Key fingerprint = A3A3 5B4D 9CF9 2312 0783 1B1D 168A EF5D B129 3F34 uid Pawel Jakub Dawidek <pjd@FreeBSD.org> uid Pawel Jakub Dawidek <pjd@FreeBSD.pl> sub 2048g/3EEC50A7 2004-02-02 [expires: 2006-02-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEAeUYARBAD2RoYfLkSt38R06MpFesDgXVvgSb7q2GGTiMLZE7iJ8iKQU7Rx DkpW7EkpJ/YGPXro0KumkIGoPCsMF1eLENUhGhyMosN5Yb9Y7DXsOv3QcCKIfBlM P3Y+Y7By0GvSYPvYK9GZI2ZvSXyTraxB1eO/7c+aqS7wdwx3bCsVKnyzBwCg+nXQ izSD3wmwDYxffxN4dawiD2sD/00L95dq5XhM9nISjWJOjGsPJqyzoZZH2pemOgcq SeNimi0yWOWeZh/bxbjUYI5RXdBXGdwQxW6DKFU9o9NFe4se1jZcbPjuRtkbBXqz Mkh4kv2pvZ+rHu41kqzOZ0z+rbZld2U28R76xtx3RI4OXvJ8z01RHzAEwJ1G6s3D wI6iBADy+KSjJmfgP1rAcNPuwW7T7L2H9fLNTp3mmWZZDj6n4fykcwM9Jtz/K4QE i3GHNB2AnmR8yiPE2m87ObsKV7d8UK4WP0OLfbr7d7TZ0jDscBhlyfYgKYDFHaJH 8O+L7df2oQU31wYEvYOP/mSTPO7F5TJZm3/Pygp/JkKnPDCnY7QlUGF3ZWwgSmFr dWIgRGF3aWRlayA8cGpkQEZyZWVCU0Qub3JnPohkBBMRAgAkBQJAHlGAAhsDBQkD wmcABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEBaK712xKT80dOwAoNjy2Xrebr+p AQroKNQnIzaR2QysAKCXRA9XldUcwxSOzRJNhDktAKQbZbQkUGF3ZWwgSmFrdWIg RGF3aWRlayA8cGpkQEZyZWVCU0QucGw+iGQEExECACQFAkAeUbQCGwMFCQPCZwAG CwkIBwMCAxUCAwMWAgECHgECF4AACgkQForvXbEpPzQudACbB3QlE/GfSY+umOHI y+3UjdMKuGMAn2JC4vrcEPwg8XMF5iEIaEZ0tNmVtCdQYXdlbCBKYWt1YiBEYXdp ZGVrIDxQYXdlbEBEYXdpZGVrLm5ldD6IZAQTEQIAJAUCQB5R1AIbAwUJA8JnAAYL CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAWiu9dsSk/NByVAJ91gG7VGmIK1H1LyHnW ZPI8T7WRBwCeP644asOCGfje3+NjA0F9OHoL2z+5Ag0EQB5RhhAIALfZ2Kq/Yd1j X4+kdVgCQqHP9tEHjYLwGICL3Y1i+whLqUx/X+MZmt4vNZLaoaqRXhMD8A5c9tN4 06ODB6afzS0feQE/s3j0bKRviTvUedg+CLvt9anqf092gRt1MnKAAWsw+WNqfCNI xsONpWWS5LL11PLyEOhxqsEvcx2IpswjG398MINFwHo7dUielCDpAPgu8tCVLpWb GqUBiWdqzq9jxvIS7obYUmr0VBqElP16LrcvoUs8W+AGvkfTZW3iX6yPhfpnycKy OnStwtO28Ud2BlRrp1YLJWv8oZcYDP5p0GyhbmCbj6qG+BrA8XbIgASFZHK65CWr ++Zc5tztIBMAAwUIAJVrsEErdqxbj7qdJXVebkQZLe/hr5fFOGdOwMmvNbsI2nHj 0B/L8Gfw1v2N6K5ST68mSH5gPpDDkLqDfqY6OcN2LBhVvOdEGJv7kp8x0XK/vsbj jARiO6l7ZrtH4E78oiHzYK1yGFNMi6c5zpO6BXRUAVmKptL/BRu0UPRMfScyIbnP gT0dcOiTazJ5U9Ol+Mjk4S/YLqe/05JQvmzKzSht6E8BbgiZxwsrWB+CLpLwglbg f4NX+BAjApvoesbhkLOY03bSgP6CsRbL7izgVmfAHbOJk5eIYjSEIOcqIMyg3cp0 kZI7omon6uhjl36Ad1uEwjkW7jPgCz9a62bLr3eITwQYEQIADwUCQB5RhgIbDAUJ A8JnAAAKCRAWiu9dsSk/NOa+AKC/grZ0DrDsO9LtCEQKwTcP7EQYBQCgsk9ZmVug 9caBiftOC/+/0ej5qqg= =/cMH -----END PGP PUBLIC KEY BLOCK-----
<alexey@FreeBSD.org>
pub 2048R/392CE63AA025BC4D 2013-11-08 Key fingerprint = B347 13EF BDDA 45FE EEB1 9110 392C E63A A025 BC4D uid Alexey Degtyarev <alexey@freebsd.org> sub 2048R/6D5FB75FB723C378 2013-11-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFJ9OEkBCACsU+AY2/zEr2DgGdukESIS6HMM4GmooCAxjELcbf9/IY3TDRbb K71jByAmm66nuOZSgeAxAHt1Ya1tQ+P5mqfMUMo29O7WzKuVpltJ1TxlFQz1MqG8 PmXXTbnUEmsavvPhUs60ogulxgl7Yetd97w6S+H38KjAss+hWQxsU072brtnP22I /4pa8YiUOTkf7GzsgN3Ya0b7zgG9+jkpPgproFcKBLkrnHvtTGj84AzAOx+fae9B YGGhjMXk7MZcSgAKdeHsXxwHcYbCKjcrVWeCzs7xOS8rOq8gRsaDEQ96tQ8Zt8wR sqOUyyXDvrzZZ7mxjbowGUwvjLm+FY01HHk9ABEBAAG0JUFsZXhleSBEZWd0eWFy ZXYgPGFsZXhleUBmcmVlYnNkLm9yZz6JATgEEwECACIFAlJ9OEkCGwMGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAAAoJEDks5jqgJbxN6zoIAIfCGXx5aLWHnUF+MwDE b7Qs48Gw2u6f/Q+PeSEACHiQ2QBpYkFzDquyhZt6CIi/3zypAs8kga+sj3qQaCNw FbER/CsclaLNzlu4hTjGxVdjKhljZ1NgRwstrNyqLx+eqA45f8YkqX4jPoI+37XS R6m0Wy/b7eCjrEMCDdgpy382fvO19rac/NPmfi8HZRxlDHJUenm1nyGs2oluRj8D A8SHoHomqe7Aalx3dxTf69eGTpDAgMX2cKdmCsFHsbGZWGIl+CTFffbdgFrwe8aH ENfUPbd0ZK/r9/GjMtSDmHE0XVQkUFJ0aLiV1vU/5+IxpEyiQLRnQk6d0cRG2Em+ sNa5AQ0EUn04SQEIAK5EjUZOJpiMdRn3N0MPq9xoYXuddlOiyrveDtehXW+QiL2c zPnUVgZvdGkvHPLYBH92zo3dxH2IUlsWMEjXjFs7ivHZ/gy4gPdd1qALpE9lUo9M wqyVFnB64N9burnLR2jW3G9SjHJxDi7sVBtecvsKubQAeQYTCky4eNdCEeJmBydm HVlgy3QpdIttAMxot5nyPo/5FjIvLFipyo1d2z6DZH8aXxNgXM0UYX3PPDFwlc2T xOs2hYUHVefROmuuMoLYe6iZ8uLq+hHbi67tDHoTdraU8OqpNnhUdR5N3vKx6otK f4K1CQUOp9iqMdPwLIVYzFz6rKxMnYpmll7OF/UAEQEAAYkBHwQYAQIACQUCUn04 SQIbDAAKCRA5LOY6oCW8TTb8B/9DtMIySyZWEMye6z26z5A3smDjXVRNwpO56n1T fPlTLncWRYfUm6DM60/uTnS64Un46UtMTxeeDO8yV2fiR3FAAMxg1ePQtyq4CVLj IduKsEzWQlFPTTv8viIxpF9y3qxkE0Nh/DWPQZ9E7uDGuWDfsiJFGuFdbLRmsgtJ 9IHDiBSqwWejK57tQQug54UK1pALVgTjBfT77WKW5hVzGguCy8lPTr7jLo4eGe5c ygKsm2r5e6FSTU3QG1by5617lryYXVoyxeFmFzIvYNw5u0hrzCM0sCMFy7kuW1n4 SnxXeVMbzNMXMZ2mStBIAS8QRnF/UjB7AEFXgXuJMzF/jKlP =bwuv -----END PGP PUBLIC KEY BLOCK-----
<bsd@FreeBSD.org>
pub 1024D/723BDEE9 2002-01-23 Brian S. Dean <bsd@FreeBSD.org> Key fingerprint = EF49 7ABE 47ED 91B3 FC3D 7EA5 4D90 2FF7 723B DEE9 sub 1024g/4B02F876 2002-01-23
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxOCiIRBACyyyoMk5OyGdOkR0a4fj8zPJ2AOielQ1BYv7JlIWdNeMHdQ0gj liTgXwDimeBnElw7sNrmdfocfwKbmX33exFPa3AkJgLflBcuH9+xE3ozgzMl6t76 QL90PPIc24Er670NnhF7Smvubus4IdckvM24kuUTINmiuFzVwuwWdXdwvwCght6R HPpuFeiMZHRJAiHmu9AkKrkEAJRLmRGgdqTQ6RRIQobqGS+1grl6AsXHzKfvjx8I //12yrFiUcXE+167I529OW2i4ilmVjBmnwwe3750ZKBIp8OUBkMkfMuTSyCCFD22 CX4N7D68d8eCJiCqv0jMZGnoWoMulmWzdyplcg/FhdLzUfpXLWX7/9gzy9k8hKBT Ou2UBACRLG7zwgKcYx4yjHhsCxuqGOeKtcfF49ghCp1s+wPsnXy8b6ZAY3wFeHC5 LFyUsQFarizV0aeqJoOXEB296xZYPpgW6C+rajd1WVi7zhPxsfYedldX8HtGDMKm FRN88P75OGjMdFOYrpXTqUAJnoTUN4UynLV6WbfM7Cne0syg9rQfQnJpYW4gUy4g RGVhbiA8YnNkQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8TgoiBQsHCgMEAxUDAgMW AgECF4AACgkQTZAv93I73un4TwCfWqT0UeeEn9qstLTycDZF6oiKUusAn2dZRiNX 06KUv2qJk2g88nUsBXgDuQENBDxOCiQQBADXY+I+CYMmiant5TBMzh5JfqhW2FXa aZDgi5XTVAStL6AaygeLIaVSSUUuOxiD4JB7vxHYB7pyVg71/lg5moud8NP2HNKW YR2mZjCQ9bHRQRqqPBTMrSHJpq10cZ6grxvVmte/oC4cI35wL8HEe2WwChZgk0tS YrA5PRt/UGWLLwAECwP/SxokqxcRa3lZqkpdwLgLWpyx1KNBg7wIJYLmALI0UxpS ezweD7OukikqZ1BYlaaWZ7N++r4sNDR9WTIv0ySNovxJnnlyo6FzD9RD7ijQbAvp nhpikigC+GvdnvmreMXYztc9WvFeJT/S8LGDkDHcm0ECmBDo3EA8W0+sOQsZxk2I RgQYEQIABgUCPE4KJAAKCRBNkC/3cjve6eroAKCCMN4s5AqvTy38BWmspFvSu90I IwCfTGutfs+PGUY9JJoabnnfJhfIgNA= =MFJO -----END PGP PUBLIC KEY BLOCK-----
<carl@FreeBSD.org>
pub 4096R/FB3B5D38 2013-01-15 Key fingerprint = F0E5 3849 C6C3 668B 68A3 BCC7 6031 E963 FB3B 5D38 uid Carl Delsey <carl@FreeBSD.org> sub 4096R/256F29D3 2013-01-15
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =jP+Z -----END PGP PUBLIC KEY BLOCK-----
<vd@FreeBSD.org>
pub 1024D/F6C1A420 2004-12-08 Key fingerprint = B1D5 04C6 26CC 0D20 9525 14B8 170E 923F F6C1 A420 uid Vasil Dimov <vd@FreeBSD.org> uid Vasil Dimov <vd@datamax.bg> sub 4096g/A0148C94 2004-12-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 XmPkHj0KHckscg/fYw== =Yp1b -----END PGP PUBLIC KEY BLOCK-----
<rdivacky@FreeBSD.org>
pub 1024D/3DC2044C 2006-11-15 Key fingerprint = 6B61 25CA 49BC AAC5 21A9 FA7A 2D51 23E8 3DC2 044C uid Roman Divacky <rdivacky@freebsd.org> sub 2048g/39BDCE16 2006-11-15
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEVa4hkRBADRcg44myl39Jv+OO9DMl2XjrS9JwguZSVjCHY2Tj4urjsEjcwf 3ykYpJbXkK0KHHP5VTfoIp0MwoQdS4Xx5uHMHg/re5gws7KU4DXFmc9gWd1+eVXK PEMfWVG94qS7pG9e5aS7znglPNVUUBMKVI0VgD4fsML/92RFJl7iLFY7uwCghVfP 952asGrNrV9T9+GBOxKUjvMD/3be37yXGBcS2f3Py6gHbv4vC0CFtfXUM6Zclz6Z 8FGv0sYDaTW94FPkXqmcUaIjH5KMyig8Y93UquZ04stFgYkxwku1drHZb4hnuqmv NR4qvycMye1dMC9824+FpZkhP6ItjMcbE1PxRhQVU7dyO0dFyUlEEiMrTPhzLiJj aR6pA/9nW7NSJIaSnDrJ8Uq4NEIjyTidU5JCZLJJxTbSbEe5FrOSINENppVbmUzj CMXqyP4sHXtEA53Dl38dDjWz08A/c4dK+lwxtjDQ0NrLpXHrnqWc7tNW3XtayCiH KjYTUbj2kHV4Kva73zJBAlN0N+D58TfQQDisnaw/cGebU+5/ULQkUm9tYW4gRGl2 YWNreSA8cmRpdmFja3lAZnJlZWJzZC5vcmc+iGAEExECACAFAkVa4hkCGwMGCwkI BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAtUSPoPcIETDXXAJ4t7ojZLL46SN/zLVTT 4qylgoqfNACfSvpuziRIUKGLO/YdkYe1hiJqknG5Ag0ERVriIxAIAInh7G4TY8ky NObKXToSjpvxNhY4JQMsJ43dCHTkT6CwAes96mhAscYF3KfBcIFhv3Oj6LhyMe8l J9A8wcAPnYzOzjiZLrITF0IlVM1L9VT49tkvidOUMykKvluYKMmntH8fCi5pBKc8 Y7FQ5Kc3MZ/2dge5k95mpuWmuAjAVJXKd2ONAPSRwnxplJo1kA7Bvp632TRbDEjx mwtg48FI4Blwu19i8rpwzRf0iCp78UF2ypoyrRqzudLXcMT4yS2yU4z4mbU91qbc PNCkaMP9/HyoHnIA38bs0tMUUawKCeQZgCkTV1R+V/J5uoRIMsSBGfX81RADvEB6 HtYPrUFCYs8ABA0H/0PBej8RqZJmWU7qlpoEX4gEG8FpcsNG2RGNjuSu6l19xk1E RF5tYg2N3hnqioWri1t3BJn1qpHgSL+mJJRqf00c2U5XUKuxAvTWjARyqa2G+WiF hPc1pmE9Ty2n9XkmT7G3jidTNHXbqsjEK0OCZdLJHOkTuStUjn8Mz2PpvlZoj0Mo VYEE3Paet8mFH+Y/EjHKTe30RymAOQOlc3gKEP/2qkp0Zqkb0FqklLCUQvvjn37k /oIcF/lvmIieN/on565dggchLRWCX7dMI6QDtEnd72jwpGo30oVUC3NlKoEggcFA jiVbPR/F4UhBtjcB6GCiLHvREKjL17gCVwMv4mKISQQYEQIACQUCRVriIwIbDAAK CRAtUSPoPcIETGfTAJ4tppNp16pURW2x6Yi3GwY12/Rb9gCdGiT6lz3e0Ffo3EDl 3I1WppEoQQw= =5OWm -----END PGP PUBLIC KEY BLOCK-----
<danfe@FreeBSD.org>
pub 1024D/3C060B44 2004-08-23 Alexey Dokuchaev <danfe@FreeBSD.org> Key fingerprint = D970 08A4 922C 8D63 0C19 8D27 F421 76EE 3C06 0B44 sub 1024g/70BAE967 2004-08-23
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEEpzAURBACu7RDb0dP0oorBa7j0Do1auzG1N2wQgTMIHoo7DhspaGjvN0RJ /dozO04jqyWopb/cA7iWMqn/7gX9ckHrKa1ugQRb8P7AhIZNmfc0B5AOCqeGo8gi o9y/XBhFRS3Osxxe0j2bIoL3pk0EBjHaa477yiZyWNjq5j8rPf/h7DudtwCgx14M iEwmKZ4hWMzeaKYcOFTIn1UEAJtUMrBbxMxchDnIuAn3Oz3ESpGpxSDVcTHUxoIl 3A+mizXetzWX8lmEP8GM2oM1/dRCiF+l2v5tcnBO52PT1cFst28W6Ytyf1PamIFC GNL2CZUz/ZVRBPEZb7CfXJYupYd1AiYNCoSyh9bOv4Fin3Uhm+Ds1n6x3yulCFyo PJ9pA/wOMpGwCNSpNLcfz3gG5dh7PR2rhh0D0w7jZbO/l8D/81inThfBRb7B4KIP v1Cl/ynm+M4XS7Fy3xjfPHbUvHY/DNr9rqI0qsGU9qTubuBO+I647tjLFem8gaue yESeoU4okXMPblPXh8r93JIfbmi/rMcuddblJ5kw6U/IYYGGS7QkQWxleGV5IERv a3VjaGFldiA8ZGFuZmVARnJlZUJTRC5vcmc+iF4EExECAB4FAkEpzAUCGwMGCwkI BwMCAxUCAwMWAgECHgECF4AACgkQ9CF27jwGC0QXdwCgwTxjqqG9DppWUVvfQklR 7O7d/QoAnj9qF7prbDCAq43MQJIJ1AP6x/4UuQENBEEpzAYQBACsVmYX94l7jndx byPUZl5SlKLJFSTIymPGLebcdNg8rF86aq/9d8nRrkrqUWtpQtWeAZw2GZn0n/vz kRbmaqMaHkmdg9g9xT2qstOL0rZhCyvLWVeNYUjgkNWi7Be3yjb11RLPOanpug5z Rfu6I/7qjOcVEoa3cjlahdK//xleWwADBQP9EWsXY1iKSQ1k1B3N3+EEWbzuOzaH upo7fLwamIVuX7K95YIqOawMlhERBD8MUxfrzJkOIbVI/81g802Iq1D2Xv46hvCP J8oszCeFjqixsOkg3HmdUyvTHnODBHsQMoy/37r5voAElx/LXc4Dm9DSR0rSTpXh mUdHtM0Y6XYEcoCISQQYEQIACQUCQSnMBgIbDAAKCRD0IXbuPAYLRD9GAJ91NEgg OHfLL9Taov5GEDVjEaD8MACfeTqtFRD4Piuxg64CGOdNBCJ5+p4= =abIH -----END PGP PUBLIC KEY BLOCK-----
<dd@FreeBSD.org>
pub 1024D/69FAE582 2001-09-04 Key fingerprint = B340 8338 7DA3 4D61 7632 098E 0730 055B 69FA E582 uid Dima Dorfman <dima@trit.org> uid Dima Dorfman <dima@unixfreak.org> uid Dima Dorfman <dd@freebsd.org> sub 2048g/65AF3B89 2003-08-19 [expires: 2005-08-18] sub 2048g/8DB0CF2C 2005-05-29 [expires: 2007-05-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =hGAK -----END PGP PUBLIC KEY BLOCK-----
<bdrewery@FreeBSD.org>
pub 2048R/35D771BB6E4697CF 2013-10-24 [expires: 2018-10-23] Key fingerprint = F917 3CB2 C3AA EA7A 5C8A 1F09 35D7 71BB 6E46 97CF uid Bryan Drewery <bdrewery@FreeBSD.org> uid Bryan Drewery <bryan@shatow.net> sub 2048R/FF5A7FF27D55A32D 2013-10-24 [expires: 2018-10-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =ExwC -----END PGP PUBLIC KEY BLOCK-----
<olivierd@FreeBSD.org>
pub 2048R/22431859 2012-05-28 [expires: 2017-05-27] Key fingerprint = C057 112A 4A27 B5F2 CD8F 6C9A FC5A 0167 2243 1859 uid Olivier Duchateau <duchateau.olivier@gmail.com> sub 2048R/63A85BDF 2012-05-28 [expires: 2017-05-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE/DXkcBCADjybF75g/rvQ3dC+D7Obg8QQu8Ab4yHE4cL+wvuEh1vGxRYOYr 4HPpN9Qyyai8Vlj3LnFMw5kt3OTF6Z3OS5IUWJgSplFxZfOIj5ESzs9qvy8qOU1F cE0dAOX6Q69ZPD78zngWNFv5XkrxOP2sA241/YLpXO73sYnT0ydtSZhKd0QI58Bm xlarUGJa4d4JTYMaeuTQ1vo54aB9NL0KMZK6GfRvnX8CuNlwGaJy9Jt4oSJ0JopK Yn0bpCaRGd5T2uZJ2hx1d3jtWNzhFMBl2JaG1jXXLd29q8WvaSRlP0/j/+R8ppk/ 2DAQe6gT0XEjP+np5BsYF9HoCYJ+vFtvZqgRABEBAAG0L09saXZpZXIgRHVjaGF0 ZWF1IDxkdWNoYXRlYXUub2xpdmllckBnbWFpbC5jb20+iQE+BBMBAgAoBQJPw15H AhsjBQkJZgGABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRD8WgFnIkMYWT6u B/4slussVLNLn7CbB7VMmo6ppCxx4BM1Mhk4stoUl5/3ENCMIG5anIMwfyG+NFK5 Jr640U0yZcW7jX+Mg+IrGn2eWKfrPf/kyzbeMPeyDFF833EDNnliAALgni6+ZhXl Pct74exlzQoKkLkkDd131Cd7HUlA8XrUroibH2QyTR6upA61VMSdUXBHHdp4xD4P opu0Cz1kGoe99St19oFLvZPl28DUZeSLd1lAw1o3vl7RYAmI/OBz+/6lSpvHG9Zc aco/QNRQO38lTg9sMh5kmhIOMRBgZcGR7TFlgKcLJJbmCp+kb/jIYizKnkN8SHSt ab3E8ug7yaCXyvQFPHoLH1jnuQENBE/DXkcBCAC11rT2hrSvpEj9OVRwucUmKnqa LYcqeLNUIqy8Z76TpSSXVLXt5DH2kI7IizaQmBfkH9S6iFlJLkbOAHZ6XcjaIcBX VLMpBz5Mi8HUvTO+6vMFs9x/8R4+fryDNCn5wa63ktwvUZky1JFdbfZVhoV2M0AZ KZnvV5o8pZrzYv05TOf8H0+sYD7bNKSNa7g8dBfdBt/wVLcF7Q5aTeal/xyWhf8d kIZdwK4jbsYBL53cwLNNameDXAdMthKjCMndgofv6dYaHDMDh+nEwye8I7IHINxg t20j/eTRQB3b3gs/UWDgUHtLjEaWgLNpQx7mQQhZTcCwtZtWZOXsh6M0K40bABEB AAGJASUEGAECAA8FAk/DXkcCGwwFCQlmAYAACgkQ/FoBZyJDGFkJVAf/Rk/Vvs9X duEst9LL46h2PS078Bbk2eGH+/kigVF6tPHSWKggmB0RVzoiG0GXxv51Jta2PHZM Twuw7oNqsu5UZjTC1UQ77ZY42W25dkaMgDalPYNU+kd55//YIzuj9l9po+Xr2o8j aAWKh/nIjeAze8AMxRxHud7HWE1pE8mDG7VS5Hreu/Wxu9IA7h2UalXD3psLoVuJ EoZEgaQlTEJIAkcHLi51qojn1DDQ2L3JS+w4YfnPfnPtzQWu2GX3TGMAaLKqmNIF 01Xi8q/GmlFbmBPrgIqZQS6SUb/CKLYKWyelw7dxmSkhNoXed9uqHHvHI2zMG76t PKHyAijtO5HocA== =kXkO -----END PGP PUBLIC KEY BLOCK-----
<bruno@FreeBSD.org>
pub 1024D/7F463187 2000-12-29 Key fingerprint = 7B79 E1D6 F5A1 6614 792F D906 899B 4D28 7F46 3187 uid Ducrot Bruno (Poup Master) <ducrot@poupinou.org> sub 1024g/40282874 2000-12-29
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDpMfbARBADvuMgOIlEdTWlb4XvAu1YEfCijox47muRNbkA0yb0drMwYnV05 tZ5cOK1uVELQ+gtGK7lDS5rQ68LPpXFMVva98skkVimzgfmQiqDOXiYW4BVE1qmO THpb5dIpHoXqTDILTLVomf6d8Z2re+IJUNvbrBFM616wndIQqux/O5LHDwCg1Hky KrYDoOT1lcDgSGH6RcqSoAkEAI+D4y6JpBctutEGWNcgijLv36g09LYNeC/gD2aq 0bS/4c44eoPkMCBBn8MM9AIsK5sfne2GuglHcUM2U82s5UbZcQl8vzcyG9AVGQGl aoO/duxFKPQC70/xEa26Bwjv78cVWm6hLHoMZRXvsprr3pQpuZHmzPWwwxipqXkY gYApA/wMrLwdewzd4yEMB5O6y9WSd+FUA/y1MS1+9epdbzPnpUszR2QKlA+XblfD 8KdxxUjIjt6WOXEhQ0GCWfRauB0MAZHTMkA/NVnmR+pI6FSJ9LJ4s6+BoFRbKdDp JY6yJUZzqRgxgo7tIcpRsRuXP4zu8KYlCPL0Al3gSW2DlKYxirQwRHVjcm90IEJy dW5vIChQb3VwIE1hc3RlcikgPGR1Y3JvdEBwb3VwaW5vdS5vcmc+iFYEExECABYF AjpMfbAECwoDBAMVAwIDFgIBAheAAAoJEImbTSh/RjGHWXsAn0/3nHkOH2WxLdWl ANdjJDzkMLywAJwN6CBCDKSbN7OzfNHTx3XAEVUUmbkBDQQ6TH21EAQAiEIQKsg7 Pi2k3L9fFnDDAcFgh2oL/MpHgN4kKYx2aoTr02O3rBmK3ADCIBqj3dlWMavIOuzu 1DvmvsloIcDwsMsc846bjQq0R20VaiNz4NJqZfhS2/xYPzJo9sPTncJOGQowjv+J GqlkmvLVSLSzYPh7OZjdw3SxS3zFPEQg0ccAAwcD/iZIddUIenySJdgs8WIe26X5 r34/0TlyxiwtlzefYpVHHYD8CzVhYPD+iWUpDv/10HC7c58JTxNUGyN2UGcaDNRc g/VJqRahYxz9LokB+vRPmCyoP8bhLkrp0fHZFnFpH4IY4WQecLBfYJZZF/K7TLLz O5tine3BIL/LpM0nhVWJiEYEGBECAAYFAjpMfbUACgkQiZtNKH9GMYe/7ACfTNKi dschnmutxCWw5fcsyqP9oYcAn0Cf7InoUX5AUFaj4dFZ4IN+9L/m =LTGr -----END PGP PUBLIC KEY BLOCK-----
<ale@FreeBSD.org>
pub 1024D/CE5F554D 1999-06-27 Alex Dupre <sysadmin@alexdupre.com> Key fingerprint = DE23 02EA 5927 D5A9 D793 2BA2 8115 E9D8 CE5F 554D uid Alex Dupre <ale@FreeBSD.org> uid [jpeg image of size 5544] uid Alex Dupre <ICQ:5431856> sub 2048g/FD5E2D21 1999-06-27
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 hQVIUSh0Um5WsNHU+9T5ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAQCQ AJAAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcT FBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/A ABEIAJAAeAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri 4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOJFx4keL/hHrOVYLJmS2eNd qGJVbK5IAyo78n1Oal8U+GtMdhDout2etXkUgjuIixxIwQMxXbwcYbIzngnnBrmr qO0gLXl8s9sl1GGE7XJ3HoPl5yWwMcc9Saz5bLUdPvRqMAnhtY5VXz7iMxg4B2qx K4dyCQD1xnNedC7OmrHkkrGddqNP8QajaPF5UUu2VU27cKRnjPbk1Y8OXMMOv3mo XSpKpOY2mG4hhjkVX8RTzvrFtesx3RxGMyKXbcuTt5ct1yR6cdKwLq/dZWAZV7cd MVvGnzb9UVKUqbsz06+1+zu52mTZHO/LSqBlvw9f8aqQXLI6lJo0jCgAMACBnpx9 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 =CMdE -----END PGP PUBLIC KEY BLOCK-----
<nemysis@FreeBSD.org>
pub 4096R/4C93E3D2 2013-05-01 Key fingerprint = 6FEB 14C6 26D4 7E3A 57DE 487F B6B9 B8F6 4C93 E3D2 uid nemysis <nemysis@FreeBSD.org> sub 4096R/9CF8C13B 2013-05-01
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =amfC -----END PGP PUBLIC KEY BLOCK-----
<peadar@FreeBSD.org>
pub 1024D/D80B4B3F 2004-03-01 Peter Edwards <peadar@FreeBSD.org> Key fingerprint = 7A8A 9756 903E BEF2 4D9E 3C94 EE52 52F7 D80B 4B3F uid Peter Edwards <pmedwards@eircom.net>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEBDlWwRBACjdnvu/rCOVEjpYmlmQmmmYZ0hbUdustNozm8dtKpg2w+zED3z 9kHcoXEY2i1jxmJrHd4PPcvMutJB5AuYU4NiBmdMgBgfZvW7yaD+tHfvgozNyEKa 3Gcddamy/ENCFKoSTEuCDxH77zf6DXh/B/Ekjav0sZnGHPqFhUdKzwh21wCg57uM Z3aL0+sIhiNYEJK93yjXt0sD/2F6+T7dj7wjdCPsb3mh5YSTjGeSXjnXHfeFQmmA /dPyOkWOAuTo2uR3AeVRrJ6rslKLqyl773HX+eM5b52gIsFZ+CzSEiHSrHEqOR/o 3jzzGWhZb3Q/dbeWsPrtw32XUOdiijH5h2PyfKQ6reu+lpH8oKTbvOoycguHnsiN 8zt/BACCRoxdjw3f5L4RMfbdxN8/9GLcDzjv27s4Jn17snXuOyNzWxky+hNW5InM wG92m9/a4XtZX6viK4sY8kfFLvAx95vaRiPJOPdUIx6Hk34HHsXdQ6XbUaadlBuG Mxr+aT2o01qzxi+dS8+SWXjCBwT5mRVdOZq7RFYd73I+FrzltLQkUGV0ZXIgRWR3 YXJkcyA8cG1lZHdhcmRzQGVpcmNvbS5uZXQ+iF4EExECAB4FAkBEXVYCGwMGCwkI BwMCAxUCAwMWAgECHgECF4AACgkQ7lJS99gLSz9lewCgtKJX8EySD4x42LoZ8imS gYzQ2AMAnjAlfeFF6q4Lqiv6ikUW7uSGu2WitCJQZXRlciBFZHdhcmRzIDxwZWFk YXJARnJlZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AF AkBEXiQCGQEACgkQ7lJS99gLSz/1ugCgwj+RyWcUk2WtWZlox7rmTG9ymDsAoJ+r ckrEYUJfPdH0GKonpipJQwL6 =73v6 -----END PGP PUBLIC KEY BLOCK-----
<deischen@FreeBSD.org>
pub 4096R/7D15560B 2012-11-17 Key fingerprint = 0039 2133 69CA 14D3 236A E331 361A 68B2 7D15 560B uid Daniel Eischen <deischen@FreeBSD.org> sub 4096R/A51F81F7 2012-11-17
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 bwlGxw== =J3ZL -----END PGP PUBLIC KEY BLOCK-----
<josef@FreeBSD.org>
pub 2048R/A79DB53C 2004-01-04 Josef El-Rayes <josef@FreeBSD.org> Key fingerprint = 58EB F5B7 2AB9 37FE 33C8 716B 59C5 22D9 A79D B53C uid Josef El-Rayes <josef@daemon.li>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQELBD/4Zd0BCADEH+EDDjEX2ztufB5dele5Bt4XBg3cYncvlTsVEDLR89xtwmFs 3no9Hs0ImTQwplsDgbixBL3DXWi46dwVK0MGYIUycJxLfsgFdlWngcXYkpWF3O8g v4YhytcVi9uSBy8oNB7huiY8IXh4XPgiOKztgCVJZbIgi8ahoif04eHTT9YGOL5x Qu+n7D74zAcgzK0XO+O+WXB8EoO/saJxzcCIeEGzfCjq4VyL6JB+1c9CgWlrpI7K LOpFqrN2qHygIMxCicp/163AdxD9I1hUtlF/sZYY9BpkbweLLqxKf4qtDYAMZLuS xFGfIG8f0imfFeTXt85FgYGxqLMlmdjFefIpAAYptCBKb3NlZiBFbC1SYXllcyA8 am9zZWZAZGFlbW9uLmxpPokBOgQTAQIAJAUCP/hl3QIbAwUJAeEzgAYLCQgHAwID FQIDAxYCAQIeAQIXgAAKCRBZxSLZp521PM0PB/91jWBC7yI2obxE+VGsItduiPhC 0x+Z33suGP8f7ewGBlztKC8y5N9jCGCfG9auwkJ9Xo27zCpMIkba4CfbRqyLxWoh ZluHQg5uge7AGefmsdfDsfZq5mPNtUkB8uVn3tXGwVVsxknw8PGtw25wbDCOXTCi t6L70v1gJfK8UxFhu0VCdOxbRAuQoIkE+bSO6g8bJrt6JFzhVpuHdgxwJbziWYSp nEJUN4Eou4UfCteVQrkh2O7ArHMmAEb89s5xbfNrQ4NdVBXHfsrzEDhWOqgiQ/4m o2DAs8iy2aCbWRaKG6G57g+uwhbqEN3gkeDfjhcpBMLqQy8drqx+erNGVYnKtCJK b3NlZiBFbC1SYXllcyA8am9zZWZARnJlZUJTRC5vcmc+iQE6BBMBAgAkBQJABsPr AhsDBQkB4TOABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEFnFItmnnbU8miAIALbu Y15l3+9kNlv4Arv26aYrRcIYEUcCLIGZnD93NPnyEza4WwsUbCvYgNpKb/wojAA3 xUdzHtRUfDp++eQU72S7DcRkkTt5vrnwKnH9kMsr2/hCIaO3ESiOVoPeJy91fHEF I9K1qP5noJQjfjr1w4ib86spyVb5LH3QPEnyvDX/UTBYiYu8UUYonitLZ3iHk1Ku x9SQoPszvkxdM1+d25pbG1uSV8JQRym6TsPQp3RwpbCy5hnwMbDLaWl6fbRwtAxZ i6A0cppdbgi+DDrOFoFKuU25YKKOKl76Vy+cpjYPBPRH3mOTYd/i2xliEP56dTJU 4QqDJPpnJdmvXiCFt5k= =UfKm -----END PGP PUBLIC KEY BLOCK-----
<lme@FreeBSD.org>
pub 2048R/E54CB37D3A089D6D 2014-03-10 [expires: 2017-03-09] Key fingerprint = 8F40 017E 4DF5 3125 7AFE 5149 E54C B37D 3A08 9D6D uid Lars Martin Engels <lars@bsd-geek.de> uid Lars Martin Engels <lars.engels@0x20.net> uid Lars Martin Engels <lars@0x20.net> uid Lars Martin Engels <lme@FreeBSD.org> sub 2048R/5AB391DB0BA67DBB 2014-03-10 [expires: 2017-03-09] Key fingerprint = C31C 8DAA 4A95 2507 F065 C42D 5AB3 91DB 0BA6 7DBB
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 NYz8RCLXvsPssijXXZvrZm1p58o= =YwTh -----END PGP PUBLIC KEY BLOCK-----
<ue@FreeBSD.org>
pub 1024R/E74FA871 1994-07-19 Udo Erdelhoff <uer@de.uu.net> Key fingerprint = 8C B1 80 CA 2C 52 73 81 FB A7 B4 03 C5 32 C8 67 uid Udo Erdelhoff <ue@nathan.ruhr.de> uid Udo Erdelhoff <ue@freebsd.org> uid Udo Erdelhoff <uerdelho@eu.uu.net> uid Udo Erdelhoff <uerdelho@uu.net>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAi4rWsAAAAEEAM1u8Y60omElX7Wtrh75P8K0L2Gp6omV6iDuwl9kXYhN94jF DE1F4xpkRDWvQxsWbYeIk2F3VYGuN12BhbRNcNqoyniQt2XMmbdEmp6ltumH5WbG jR5Xg0LkJ5AJmxvjJXXA9q+/eTfmyTfPjnCL70cTMWHdUl+EBUPoh1XnT6hxAAUR tCFVZG8gRXJkZWxob2ZmIDx1ZUBuYXRoYW4ucnVoci5kZT6JAJUDBRA0K3Q0Q+iH VedPqHEBAe9vBAC+el5mJpqPkC/+om/SSE7mxyuUqHAx1tNUymL8gTuV3mFB0goM xkxhUOMMYe9z2zyi+RXrECfLT2OqqUA60EZpl6Mgymj8SVZSv4ZwXdU8cgynYNfX T1pC57mN9mxL10vTTJEix7QsrVz0W479/IkBrhW9nTidQtORW1Si5T5IA7QeVWRv IEVyZGVsaG9mZiA8dWVAZnJlZWJzZC5vcmc+iQCVAwUTOwzFWUPoh1XnT6hxAQGl eQP/bLMp1qSdkt2/BKchpx+lhOemCmT3LHQ1sNzelb7dBwnsvE3Z9lOycH2pm1ro j6x3vmcDAqZ1yh2eFEVNK5abfhuI3QH+9QdgvMcSIQgF3VIMer7JXxNtFFX8JRKm +YfLfDifcK+B2HRkpMt9ETY8b3/cYz+gbdKNe4nVde5KPT20IlVkbyBFcmRlbGhv ZmYgPHVlcmRlbGhvQGV1LnV1Lm5ldD6JAJUDBRM7DMX9Q+iHVedPqHEBAYHUA/4l j98KC7y8cjapO4Hi0r/eO7gUwDujvrBMYbWuhmNCO6xlPfwRNm76tnNiTFdqVLat XSrQwEUys9Mq9xe2F2RuqSfYWjmHKX3/gNW3gRJbnBqO1QN6CDqo39a7LgllqFf4 yFj9V6i1c0WSBiOeWy75DHpsfXHupMxZWPPRWh0TnbQfVWRvIEVyZGVsaG9mZiA8 dWVyZGVsaG9AdXUubmV0PokAlQMFEzsMxhFD6IdV50+ocQEBzqsD/0nX9rV5cAcd jFTayQvoAjb/nIN+TJVHumuC/Glp9fKHlfTjMnsUawma+iQESjUB8XgyeJ0WvR8M vQGEMowYr1YTtFiYfFOvrzXZmhB6NfhFV3s34ZLDeBnncUqkas79Pi9G9AP2Y/Mc c//i2owj58xTfocYNT5IxVVYjB72Py+3tB1VZG8gRXJkZWxob2ZmIDx1ZXJAZGUu dXUubmV0PokAlQMFEzsMxiND6IdV50+ocQEBBJsD/1SVP70fNa3ShAn18+yEXOIL TlFYCUmGaBIeAsd7r8tXFYbf5STAOEOiqBB9Y7V1tV4IriACru+9wo5wBQoCLBT1 RNj4NhwVvkGReTDsA+Zz/vUULrbklVKO724DktO0+WRbn/w99trttuUTGvTHRER3 BjuOfJ/QoLlnLAsDBMov =TCJD -----END PGP PUBLIC KEY BLOCK-----
<ru@FreeBSD.org>
pub 1024D/996E145E 2004-06-02 Ruslan Ermilov (FreeBSD) <ru@FreeBSD.org> Key fingerprint = 274E D201 71ED 11F6 9CCB 0194 A917 E9CC 996E 145E uid Ruslan Ermilov (FreeBSD Ukraine) <ru@FreeBSD.org.ua> uid Ruslan Ermilov (IPNet) <ru@ip.net.ua> sub 1024g/557E3390 2004-06-02 [expires: 2007-06-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 xfUIyIEOONF8sN1I =tea/ -----END PGP PUBLIC KEY BLOCK-----
<le@FreeBSD.org>
pub 1024D/F10D06CB 2000-11-23 Lukas Ertl <le@FreeBSD.org> Key fingerprint = 20CD C5B3 3A1D 974E 065A B524 5588 79A9 F10D 06CB uid Lukas Ertl <a9404849@unet.univie.ac.at> uid Lukas Ertl <l.ertl@univie.ac.at> uid Lukas Ertl <le@univie.ac.at> sub 1024g/5960CE8E 2000-11-23
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.5 (FreeBSD) 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 Fv2s0kptGIN2izILm1myaA== =qAVp -----END PGP PUBLIC KEY BLOCK-----
<se@FreeBSD.org>
pub 2048R/5B67BDFFAC91BF2B 2013-10-28 Key fingerprint = FAE1 71FB 7760 6F2D 1674 D25A 5B67 BDFF AC91 BF2B uid Stefan Esser <se@freebsd.org> sub 2048R/03A1012574860DCE 2013-10-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFJujn4BCADbo/gamtEcXU5VxbBWI0HMNPk0jJg+6BCbk5BFkZCylH7h0A/9 x1NWonp38H2e4t7z2/PfazeCNIEYPiq4ecipLBEbOjxuH6TkWjt8JzJU4/lAReNi iALrj2Al6sVaEBFKmV03WhRuByETgXkOet1UffEAK8QiHWFnAb1ergcTImwZ1GlO 0Vi3n2RT3jU9TaaZcDs35E/D6gK8fvHpaB2y3wUqD+AexUZzUld3pdOjztRdPv3H /nh5iMoNRnErPr/RUf+Jrtwv9bzrm+GYQhdu3WZStQpxQLcbAcU7a+kOnEGKfv2h OxqpQoUhUFEN5om4Qu+USy4Ah0RFVXcfxjzVABEBAAG0HVN0ZWZhbiBFc3NlciA8 c2VAZnJlZWJzZC5vcmc+iQE5BBMBAgAjBQJSbo5+AhsDBwsJCAcDAgEGFQgCCQoL BBYCAwECHgECF4AACgkQW2e9/6yRvys3+gf/RETi336hipvLxQh7xiEI8YFQEud/ fZcMwd1/IFLMoMPCARxKLTyy79MvdnTRCoa9jY32Gk1SCWp+1Jjpc1B3Ax/ZsuTQ Nejsq2rR7jwMuYBHJKhOdk4TQ9u9jJKK2Yni9qBcLcRtoyQOffahrUYx1ChBmwes BZdZ72X2HV0mdTj6UERJ4cemsfV5hHIpJLXRHO7MjhgIESnA5+8sm/kP7Vi90pnt 6hDgFBN4H5ygTU+1eu9lpDgZ5u+u39bvbLANB0xgKuPfFgHY3m0lMZttQrgAF3V/ 4M+Uxc8EDIIrJ4iD5TYc4eEeZSpKcObbltKkOXU83eJDrECtqPu/TjullrkBDQRS bo5+AQgArzK59o+KlGN3yU0AE3XbqboyADCFe2L3XeTxRrfebL4D6yAxPW/XRR2E mbbLwGCaiVgZlso/QqsGW/DN/xkFQ4cnu/LQt+YjiWGikN+r3GXiMcNJP4BU+73T dkWbia+1R4lfZJb7x+k9267+eDAZdTKYWZJ5XNLibcq7SwE+yiXWJtopzm94EBDX FqyLY8QbgcUUlF2wC3DdB7ayacgPt1Kijp1WHJbEK+w7jPezNSz7fIczR1urduh5 BSVvmMrGMDToS9zXCNS30AkC3tBFG3GbMSQD/HRUBnl6P63B/XC+c5/x9TWTR0w9 7GFhTOllQraRfnopPc3i/P7IgLmjVQARAQABiQEfBBgBAgAJBQJSbo5+AhsMAAoJ EFtnvf+skb8rxSMH/RVy6D2rLiQpximG5UpEPsjU4KXnke1+bRxduV3Hh0OXxEFH 9BYzvEKtJpw+ttjRc15nrjNn9DBxtb9gVIov31/2IEgs7n4qTtzQlCFMRMXScJ1A M1I4mJiCBufznqVu3SieCgeccy1UFxiKrVMZsrHbHIo2oGzhGFmjyB8JOgAXj3RY Wzf9eO+XDRyTsBJ72a4vz4H/zOwVPUaWfh8X3BU/je5q0Ov6HBbHKeFWNkUIrycI E6T3zRjxj2b83CIyDemrcdaGw1YdHcqNwwFGuocKJCwvTXEA0YHvk+6xNrteN3wM U/7jBTSsaYdrNlbNmmKvJYtDUtAbZ/tx0bhx9E0= =mFwq -----END PGP PUBLIC KEY BLOCK-----
<bf@FreeBSD.org>
pub 4096R/0x4AE10A7E8F65FECF 2013-09-27 [expires: 2016-09-26] Key fingerprint = C5C3 8EB7 0DCD 2BA2 B8AB 6BBC 4AE1 0A7E 8F65 FECF uid [ultimate] Brendan Fabeny <bf@FreeBSD.org> sub 4096R/0x8B6BF0BED7B81E31 2013-09-27 [expires: 2016-09-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 XcnczW6WVzTkBFd2n0k1slA= =lqs2 -----END PGP PUBLIC KEY BLOCK-----
<madpilot@FreeBSD.org>
pub 2048R/1AE6860E56CBD293 2012-04-12 Key fingerprint = F317 2057 E17E 4E3A 3DA5 9E1D 1AE6 860E 56CB D293 uid Guido Falsi <mad@madpilot.net> uid Guido Falsi <guido@falsiborrelli.it> uid Guido Falsi <madpilot@FreeBSD.org> uid Guido Falsi <gfalsi@gfratio.it> sub 4096R/CB95603DDCCDB1C8 2014-02-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =3fdf -----END PGP PUBLIC KEY BLOCK-----
<rafan@FreeBSD.org>
pub 1024D/86FD8C68 2004-06-04 Key fingerprint = DC9E 5B4D 2DDA D5C7 B6F8 6E69 D78E 1091 86FD 8C68 uid Rong-En Fan <rafan@infor.org> uid Rong-En Fan <rafan@csie.org> uid Rong-En Fan <rafan@FreeBSD.org> sub 2048g/42A8637E 2009-01-25 [expires: 2012-07-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEC/6qERBADMYBi8aUI5zAFh1Gix53UN0EyjbxzDxrDvUweitnVYawKbxbUK X/HdtY6ExD7f0QccAtcbhAWNaxeJFMW5my5Hb7HWlrC1x2wnr4juaPaJXz5YoFoR 5uySiip50Bjb3V2f8YglVKGi7Ssz6pmHxm2bGBv2sWngcu/9l9VI47o9zwCgl/m6 9ceyzMejhJw7qZV0dwzzGPED/iOoqKBCpHaGOOBYbBkeqwhc0UFlTjcULcCNg2dT /sSPnPSun477YYEdPqNZ+20bWhZimh6UNad53hChMnvta2kzA17YML4lnZi0eDaZ Ws6uZBXtWhomJF3hkJfbRk8jfF1O7L2RIOnlRNji5VTwlqFMO7s78XPDXC3//9nQ hfVbA/918ya3FYlyfpSmoyZRz5B4mbIInd6QC9G0CtQE+VQsxD5wS1zm/Qm2ToEz zGlyW3toAv3iqfYEMOftrGR6tAyH+t7upQ6rTkllfUJxAdsOu9bqcmLjDLO8Ym4L 1gsvwPfSwiG3yeucSJDPcPzDQd9oeKkFgoucjB9Z1+oty4OdVrQdUm9uZy1FbiBG YW4gPHJhZmFuQGluZm9yLm9yZz6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIe AQIXgAIZAQUCQL/s5QAKCRDXjhCRhv2MaFg7AJ9Im0OLuvOKl9rVieKeme3kafKr twCglF6TsB5KWLGqPP4MHzCI7lP0B5iIRgQTEQIABgUCQMxqrwAKCRBCpksL8/QZ yLG2AJ9SNd95Tma/PX+H00lN+9o0G04btQCgjFm2EboX4o/CSxx0gXJucSrdOVaI RgQTEQIABgUCQMxsbAAKCRD5CLzYwf5OnnkYAJ9fevQ4aoQbS5hNT/7ZCdpNU16M IwCgri0A+QbNv+uNptSGOo4NK5mjXD6IRgQTEQIABgUCQMx/SwAKCRAFvPnN1LJI gih9AJwKAe1OSAT6xtEjBUDCocJEDCswfwCeMZbZebbvR2a+dlPN3RniUQh5krWI RgQTEQIABgUCQMyGxgAKCRDkwHVW5ykoJTu0AJ9jeSasEBNkKOkMJmRx3RLKXa2p 1QCbBUjDO27rfMBEedeTDBNIuibbWt6IRgQTEQIABgUCQM0MKwAKCRDPwfyGIOvG QVA4AJ9kFU75ANquB7eOpLFnpQxoJRNlEwCgw1qopsGCmVp0ErqfDo/s0WGxxDWI RgQTEQIABgUCQMyBwwAKCRAJAzu3kHaaEPxMAJ46xzMOfMnNQ0FN5pUUCC7+saBE iwCbB4pv5x8Vkc/xzXWWhyEzrMA8u6qIRgQTEQIABgUCQM6ejgAKCRDjIEwfXSux Gn3JAJ49bO/za8L+m3MsFShzFeOiJ6lweQCdHvkytNgUCeJN0vfnrDUG2G1XbayI RgQTEQIABgUCQMyEewAKCRBUt7acd9Qzg63IAJ9sgYplGxHlnHIGxMSUGMjqfZM8 KACgmegztvZWAOKLMTMu/0IN5eWJW0mIRgQTEQIABgUCQNCjBwAKCRBDZXPuA1v3 XL/SAKCnRdZJPFRl5YNNw/mXUPZgId2f2QCfZdc0ddzixI/wRr5MQizgkocQgwCI RgQTEQIABgUCQdOcWAAKCRCsxgFlEcAjgsHKAJsEAyb3UqbdK3mXhm2y4/0Ddq0y qQCg5kBrc5rqtAw2qGVK1npz0UHXGKm0HFJvbmctRW4gRmFuIDxyYWZhbkBjc2ll Lm9yZz6IXgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCQL/s5gAKCRDX jhCRhv2MaKNeAJ0dlwH0e0QxS9fwC65JICkf24RUjgCfd4lXf3Jj22m+vC4HNoxe HKRsUtaIRgQTEQIABgUCQMxqswAKCRBCpksL8/QZyLTsAJ4ov20tMw1nqbONvfi+ iJ9fv268RgCdE7wqSDsf1AkB0YBCvw/noRatdEyIRgQTEQIABgUCQMxsbwAKCRD5 CLzYwf5OnmQmAKCm5T8I1Vaf9lwE3yn8DBw0XQr7mACgrTsVIpECqIlQYb/DnSNF BDcgNh+IRgQTEQIABgUCQMx/TQAKCRAFvPnN1LJIgqXRAKCPw+owPogvwPdjoVOX DdchRn1nZgCfbbyAv1gsa5k3gxBetzUhM2QhZg2IRgQTEQIABgUCQM0MLgAKCRDP wfyGIOvGQbDzAJ9Wr9+diK1i8LzvtdfxT+RzPKdfnwCcCm5s5nSrHc/1NstAxOOz BOITimOIRgQTEQIABgUCQMyBxQAKCRAJAzu3kHaaEDEwAJ9VKT84A1QXcTZDpH5u JMe5mQ4f7gCfSRrTUk0k5HvB0KyOM6CHflwRnleIRgQTEQIABgUCQM6ekAAKCRDj IEwfXSuxGlggAJ9aCF9Wa13C3aUWIRbHcALnAoevgQCeOuwd7rdItcPq3D6gP8U7 /FIKY2aIRgQTEQIABgUCQMyEfAAKCRBUt7acd9Qzg3sCAJ0azL0SUJXJx7NcYdQe 6VBBBaIzLACgnyfZ68crJwlv+fRxPhlxdFhgLgaIRgQTEQIABgUCQNCjCgAKCRBD ZXPuA1v3XCeuAJwPrsSVVCrC29F3Xygr6QB3MS4a7QCfeOsqHEfwiXuxt2xjcF09 r0H7/96IRgQTEQIABgUCQdOcWQAKCRCsxgFlEcAjgmKeAJ9dWtZYU93qkd6Cdpo8 jKbYq4y+BwCdFbqSBm3EwGgfzQZfvF42tacT2pW0H1JvbmctRW4gRmFuIDxyYWZh bkBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRJ9B9AIbAwYLCQgHAwIEFQIIAwQWAgMB Ah4BAheAAAoJENeOEJGG/YxoTAcAnijL+htNIYKKgPFUHlz7nVNTnq3vAJ42MgST to4LKus1wHJ+yXQU1y4h57kCDQRAv+rZEAgA9dwiJBaIMOgZCg/X6XqLRWcxPAdS sGy6q+JATYUnndr1mO1QP7ba877G5Z3E+zcUt8fXJCvEzVC+9HhPNr+CQcWzrFwA 4l5PRUvOKp1ZQu8UrhaEUyDtkTvjLCCSDpMKFv10980UGktlLLqGcCin/3mvFIXs 3/r53jbc8NQWiARdtS+GApAEYLOOGXlJwmEagze3/suVVCoAP3BOQxccOzyr0TH9 kEw2ZbAu/SnyqDPy/m5zpHK1Zqi+UQi2NeJAGmDmXydEtuS8lnCsdo3PXs4i6+zc NoEn30mEpzIL4G/ij/uDdqTkMdBGJe6ttqHvrY9y9qv6yXj1HX6DLcwUawADBgf9 FuCIIxzbgQhgW6w8Qnl0JX8P621axNN5XM+KzFxNIuRMAIIla/Ul60V7L/uMcnK+ qmdzvCbaSurMU6Dm3mHjZXgycmShfWTQD0zKXHAII7hXph5ok9pyGZIxpDlY1ydn aemR7bQTFEeSRVVeNXosiLLVssrtGoj/49XOW7xMj4D2LWEpYh8EITWcvSYwLnm8 mw5DeL/VVV8/WLctE1aoLC/Z69CjaYU5c03p6AUUTmwJgV2KApXUhK8DdALmLQ9+ PmZ9ZrD+ebfG8b8kArViLcBIz16w9ORruMXUUtd0V1G8rWi2BSUkJYP15N4ih27W A04fPTwyIZj1Gw6KEaaBQ4hJBCgRAgAJBQJJfAG5Ah0DAAoJENeOEJGG/YxokRMA oJeyIL8CUN7wj31nBuSuet6avyMEAKCRa/oyo1zNL21/N0qEhHgqHLsikIhPBBgR AgAPBQJAv+rZAhsMBQkJZgGAAAoJENeOEJGG/Yxo1CwAn3HA6CdfUMTuQdASFp7u Q69wn8myAJwL3I9d6WttHOCBr7XNkKcP47noPbkCDQRJfADSEAgAxrX3MYpg/UHs Hwlju1XgoVIEzLhYVegcfcp1cWnJ/aoY+i/MJ3BQQs1AOTZ3D2eGKBXbr8BNYY9s o9yW03B7nRcqeq4z9lTF1rDkUscKP76xEA8kcPmQEeYcA3L1GJ/qjt6zixlnJ1n3 dmDqc/wNJe7rQ3XKBCe+GCEkj9EEcKuhpZNbyeBhfa3MRsAPpOl6qg1vXWUxWWsD PfFJ9k5gKDUnfN7DiaEvZg84HzZYt6qNhzeR+LRKXt/BwmUIYqfi2IqucUefEkXA y3wowsDpMeiA6paKkJFRGH8/dcZTGvAd/SYFwJV1vflwWCmDBpVbqq0Icf2pT/Js uFd0RKs5NwADBQf8CcS8DFScqq+wXPDTVz0jjYH+7L/OcXuzLTVgjVgMH7CWSfCq 9zz+2q29sW5J3MJkclCtkCnZYit7DvKO1AijtUhR8UOR1qNSp8GE03jobWG2ZxNO WC0xdRugK6vL5PBIKTBVDJFk/2rNpjgKUxwtHWWxu5GhD6H7iBAEu3SAixKyGo8S a6/ZtOflZHb/5yHzk/5yEUuQzm2getqDogkrZa8HqirTaPjDahkDko0wmsl9wsdL j73MuWdtnvLjhbhFaPlHro/sRxj5RfJu0x0UvXgdrrFbq+iXGNetT8A6p5rO2kiW SiJ3FgSceto3Fk/xp8M/3L9odUoB0c9nPIugi4hPBBgRAgAPBQJJfADSAhsMBQkG fSIAAAoJENeOEJGG/Yxo/xMAnisKbRWCpTgCq+VaAvfvJy/lsl+1AJ49pQg0txDL D/Fet8nCx6Ef1M1J4Q== =1iVI -----END PGP PUBLIC KEY BLOCK-----
<kami@FreeBSD.org>
pub 2048R/6FF05D69A92A59DB 2014-09-18 [expires: 2017-09-17] Key fingerprint = 7D88 4610 FFBB BA86 F17B C037 6FF0 5D69 A92A 59DB uid Dominic Fandrey <kami@freebsd.org> sub 2048R/B4EC9D5FBC909F27 2014-09-18 [expires: 2017-09-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 JJ30lBBrsT/EB48= =/44p -----END PGP PUBLIC KEY BLOCK-----
<stefanf@FreeBSD.org>
pub 1024D/8BEFD15F 2004-03-14 Stefan Farfeleder <stefan@fafoe.narf.at> Key fingerprint = 4220 FE60 A4A1 A490 5213 27A6 319F 8B28 8BEF D15F uid Stefan Farfeleder <stefanf@complang.tuwien.ac.at> uid Stefan Farfeleder <stefanf@FreeBSD.org> uid Stefan Farfeleder <stefanf@ten15.org> sub 2048g/418753E9 2004-03-14 [expires: 2007-03-14]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEBUhZkRBACOyBTXaf9n0gkvq52yhACaPjUpAY4c+Z+xDM5jZZNpcaEyuU5N ipJdvlKIIkfB+Jka5TxiUBskSo6cegPW7k3G9/as+39SeOexEw5aH1WROcrqD1Wq iBTJ/Ey8eVleGTP/3vpbUoT3gcNZuus00J75OmJV06xyTA9M0tSy1/aIxwCgrbCJ Xr3wLOPYiGXf5WbWfy08DmUEAI2xYIycYgZ7ogcqFcu6gShO/uTcXkZL0xOIC8el rAC/HciJagmvYPjQimQeKhqyX+uvnhguiS+XZYx9yqegOG1dSOVWw6FJTYgzKeT7 6tHmaplB4JQLkUSBn8p2fsyXAaIA4M+2c9fYf59El5+OyfOhGfAEJNJv1oGLYWic Bbt0A/98H+rPmPwtv4ntIvCq5xkvjENzmG6WerNF5dXHsoG6Lnhe++4jUquHseEI +u4ou+v1it5vBTnPI2Wz02WP1Oyz7JC0cPAbrTGz+eaaNV+M1wD7yqj1poW74buk 4hJ+myIqC1dRrliAyrr75xHl3pr212+8Cty8RTiNF9xgICtH3bQoU3RlZmFuIEZh cmZlbGVkZXIgPHN0ZWZhbkBmYWZvZS5uYXJmLmF0PohnBBMRAgAnAhsDBQkFo5qA BgsJCAcDAgMVAgMDFgIBAh4BAheABQJAmCd/AhkBAAoJEDGfiyiL79FfqEoAn0cP NQJYvSLWsU4gD/cffKUtLEKiAJ47lf0I7dFdAJSqqxSCOrw7iuWhTrQxU3RlZmFu IEZhcmZlbGVkZXIgPHN0ZWZhbmZAY29tcGxhbmcudHV3aWVuLmFjLmF0PohkBBMR AgAkBQJAVIenAhsDBQkFo5qABgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEDGfiyiL 79FfeOMAnR6XllE6b+BKnoRjBOC06PXfoK0jAJ4yDtL0vkYkW9LRmoFkWpxJYilU ALQnU3RlZmFuIEZhcmZlbGVkZXIgPHN0ZWZhbmZARnJlZUJTRC5vcmc+iGUEExEC ACUFAkCYJIMCGwMFCQWjmoAHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJEDGfiyiL 79FfwykAoIes15zWxNJ7iQr1n4rP+x1LidM5AKCDakRpNHAdMiaJJRNrHt9I1kOu FbQlU3RlZmFuIEZhcmZlbGVkZXIgPHN0ZWZhbmZAdGVuMTUub3JnPohlBBMRAgAl BQJAmC7cAhsDBQkFo5qABwsJCAcDAgEDFQIDAxYCAQIeAQIXgAAKCRAxn4soi+/R X//IAKCmPHdkW+JyvXq8Ph/4AcoSYGltQgCeOyA+WXLvjD8s36h1ITQXleLr0Ju5 Ag0EQFSFrBAIANrcNEggDb7bS/TkhZg5CEw0HP0bFOogCowNgGZ/9EzZA1SvABYb vun0RyK0Ceh51Vr0Lb01i6cIDTH/cBVMqXX75YPusncMzsEuMdBCzMqKRPCpimUD jFmMIBrkbtu8OTwaL+Xy1j7/SyfYv8fV6q6ibGWgN4pcyDmItTWYRNnR1G4EdIvl a2CgQr7AgzWPGeeZLrUqUuLjYKwZ5JUqch3ooU4e+eFkYjovMyiC5E23UxZWyDZQ DA1aOizxH7519R5l1YDsrqjZdVz3Ks7iCPYZ+T2QMGM7oUDjbt0xAhQCt15yj2K7 f0m6KtmHWzwgf5Dagcph00anBMldDQ1RqscAAwUIAMReNMLnk1jhYUYoitYNDJTO Pp1X5bk66+b5yHW2Ul9DDboe9tp37AoSJf1hEI7eyB1qkKO3bt9nePKOuAe64ft9 jMYEm70IS3tmo3hHyTbLuOpxF3f7ZHmai2gXPdDmIczDqkE1PneX9gJQadQTqvky 4PVHKVUGTBScI0S830ZBbIsvoYimjGCPMuz4UT0vKR3XLay4RjwCYC6waqRuJoBq rfm/vmx6/GNfb/jwZgN3QYPgTptx65eAdEAy2C3Y7RbMrbx9qqvx5TxaS2yVFy6X 6gIrSmFSFE8rplPDActw1V4YMyuwnyVvGe93pYwYfxzM/BxN09V9QBQUhIa7TMiI TwQYEQIADwUCQFSFrAIbDAUJBaOagAAKCRAxn4soi+/RXy2fAJ99u5jBvCIXuEPa rLB9utH3lU/ymgCcD/fpfY9v7wyOrivOy6Wz3ZWjdnQ= =9khA -----END PGP PUBLIC KEY BLOCK-----
<farrokhi@FreeBSD.org>
pub 1024D/7C810476 2005-12-22 Key fingerprint = AABD 388F A207 58B4 2EE3 5DFD 4FC1 32C3 7C81 0476 uid Babak Farrokhi <farrokhi@FreeBSD.org> uid Babak Farrokhi <babak@farrokhi.net> sub 2048g/2A5F93C7 2005-12-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEOquWMRBADPeAMeFy9OMbD3PxFjNmPIuY9CMb/fP9G3KNugVwLoHj29pXHS QDo9OGHmA6udL6ZjZt/cWsU6CBwrVmr7nnqIXwOFGsvv4sT4cQJd51ypMFcvrYvi UmdfnNZWeggviCMYdZErMqVdH7QKZyZ/7xB1IBV/66Bu768nQlSpTmqTYwCgwpUr 8V37ACzVXUZ/1CPqtadIe50D/1rlR4GTzMnmJGBbqY4c2nNtaUA2HEzI11QsHvFp jTEcHI/RdhLv8dcFFAD0PmLC+5W7OydXvQXBfWzVXmrEPzFprwOc79wfCB+JzOt9 JzyClVDYvhYd0f2kxrXOR3ddLaBCMU9A/NxvDL05TCE8b3rSuV2VRT6E6A45/88t aKKvA/9ewMdS3zicyyK33FTYTecGJc6Kt1ke/spq6jo6k3+L94Z7eZrZrhXGMRYg Ibbm3VuxoPeIqyY8SujHwNNzP7PqGp8MVefjzktldMyvbJex8oIyB0NMrHTJ2JTp ScJAetOE/mXYhMSACgWbebu6uBEigmaz1D4WNU/ITf8xuX784rQjQmFiYWsgRmFy cm9raGkgPGJhYmFrQGZhcnJva2hpLm5ldD6IYAQTEQIAIAUCQ6q5YwIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEE/BMsN8gQR2iM4AoKXtRmdbGhmrJ3cW6lcd gP4IUfUkAJ9mqLQk3ztstsPzzovhwV4sIH2VgbQlQmFiYWsgRmFycm9raGkgPGZh cnJva2hpQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFUO2LAhsDBgsJCAcDAgQVAggD BBYCAwECHgECF4AACgkQT8Eyw3yBBHZd/gCgmHXJVgY+AwvJvL2v2qG6+P2EsP4A nimm5LNueFg2PbDsRb+Iz53zw8d6uQINBEOquXEQCADPKrfxmpqJEbVpJV1PfcLJ KpvF/0s1NEhvrXVnm0GhId8R96n22E9oD7QYTw/+TkdCksw0dcAIvFH2y++HNQoE NVgoyVW32Rw076Va8nizA2icB6hEJwKiI400qKjZknj2pnILPHORq+Zl43sHaXnB imchl5U9gZI4EXCRC0u87oLd0IHuFMUGYEfhsxninLpmFNPjS55zEhPDIBTuFFiN NFZ8aLxq6APGd1lbLJhYnQIYZJreaI3lXc0VYqjkaB5WBeYXKNNF3y39yNY3SXFt /dwIP60IoaIAjARFLqvUNYOsHpjsVAItxxMdTpAlX28VYWsr3quGL97Xhd4NfDvb AAMFB/9ep1jcpFocEOurMYZkIrPE0CdgdeWzlhHhW2F38cZTj46WxoAY21QOfjRx tCcGDrKNNwoHO3TIsuPrEI1OtJ4y8b7Pj2zuv/kUAEMUjl5dutg2kIDz5cs5zxI6 4HhUx17vQGTOK3l1I2JxoNrMKPcDKxegHqYqpzb6vEr3gsKT7GSeMBREq0rvfZfQ ZmZTLfdy0AiQ6KsVt1YV9wUE7Kq5OmhjVZNovhZtxO/tzppQLNX/62wdf1OmFZIn xWrYFHeH/N+QGBmMRf0NMb0oOn4nEMem9QhSRcW9UcyU1K7Usa3m3WG7qrmcq+ri 9RVM7/8wJCKNJD1ej35rMQYVrolIiEkEGBECAAkFAkOquXECGwwACgkQT8Eyw3yB BHZy+ACgqz3KenkNoTQKFv4nrGUHnAqMm5sAn2Z+BhMOzEhuimOTVLXVzKuipov0 =vL0B -----END PGP PUBLIC KEY BLOCK-----
<jedgar@FreeBSD.org>
pub 1024D/FE817A50 2000-12-20 Chris D. Faulhaber <jedgar@FreeBSD.org> Key fingerprint = A47D A838 9216 F921 A456 54FF 39B6 86E0 FE81 7A50 uid Chris D. Faulhaber <jedgar@fxp.org> sub 2048g/93452698 2000-12-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 6r7mPk8= =R6MH -----END PGP PUBLIC KEY BLOCK-----
<feld@FreeBSD.org>
pub 2048R/1F13E252 2013-11-09 [expires: 2014-11-09] Key fingerprint = 7481 93E6 C417 1C8A 4B6B 2488 983B 6450 1F13 E252 uid Mark Felder <feld@FreeBSD.org> sub 2048R/C025EB78 2013-11-09 [expires: 2014-11-09]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =XAx6 -----END PGP PUBLIC KEY BLOCK-----
<green@FreeBSD.org>
pub 1024D/41C13DE3 2000-01-11 Brian Fundakowski Feldman <green@FreeBSD.org> Key fingerprint = 6A32 733A 1BF6 E07B 5B8D AE14 CC9D DCA2 41C1 3DE3 sub 1024g/A98B9FCC 2000-01-11 [expires: 2001-01-10] pub 1024D/773905D6 2000-09-02 Brian Fundakowski Feldman <green@FreeBSD.org> Key fingerprint = FE23 7481 91EA 5E58 45EA 6A01 B552 B043 7739 05D6 sub 2048g/D2009B98 2000-09-02
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 uPPUsA== =oR1w -----END PGP PUBLIC KEY BLOCK-----
<lioux@FreeBSD.org>
pub 4096R/B43B673FDAE448D1 2014-02-13 [expires: 2019-02-12] Key fingerprint = 0617 5DB3 8B1A C326 A542 3B3C B43B 673F DAE4 48D1 uid Mario Sergio Fujikawa Ferreira (lioux) <lioux@FreeBSD.org> sub 4096R/D780173751E6FF87 2014-02-13 [expires: 2019-02-12] sub 3072D/BB0B0361BC87D308 2014-02-13 [expires: 2015-02-13] sub 4096g/C90A229CFE1F29B0 2014-02-13 [expires: 2015-02-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 paxlNTk40FblIgk0wwppKKqTNF5G =buFV -----END PGP PUBLIC KEY BLOCK-----
<mdf@FreeBSD.org>
pub 2048R/A783DAA2 2012-11-22 [expires: 2016-11-22] Key fingerprint = 773F E069 BE98 CE96 4AC6 B8AB 1A1B 255E A783 DAA2 uid Matthew D Fleming <mdf356@gmail.com> uid Matthew D Fleming <mdf@FreeBSD.org> sub 2048R/4015B7AA 2012-11-22 [expires: 2016-11-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 156vpSWN4W+DpFUoSSRJYJNqlyOf13a1rQ== =BME2 -----END PGP PUBLIC KEY BLOCK-----
<fanf@FreeBSD.org>
pub 1024D/84C71B6E 2002-05-03 Tony Finch <dot@dotat.at> Key fingerprint = 199C F25B 2679 6D04 63C5 2159 FFC0 F14C 84C7 1B6E uid Tony Finch <fanf@FreeBSD.org> uid Tony Finch <fanf@apache.org> uid Tony Finch <fanf2@cam.ac.uk> sub 2048g/FD101E8B 2002-05-03
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (FreeBSD) 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 KnkOqXNQ7FzYXOIPK74= =7TEa -----END PGP PUBLIC KEY BLOCK-----
<blackend@FreeBSD.org>
pub 1024D/4F8E74E8 2004-12-25 Marc Fonvieille <blackend@FreeBSD.org> Key fingerprint = 55D3 4883 4A04 828A A139 A5CF CD0F 51C0 4F8E 74E8 uid Marc Fonvieille <marc@blackend.org> uid Marc Fonvieille <marc@freebsd-fr.org> sub 1024g/37AD4E7D 2004-12-25
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEHNnEURBADK+anixdFH+aSxIGLw1soiwMXSiVPD56dmoA/VAFqrE3XVo/y6 bPqpSNwvvhL8Um2v9G/7EDMorqekYErS3sgUOtrA05NSJlOUJk/97ZFzAlGZ4/u3 CwtpFBdiATaCvAdMocWhxVkyIFvo6AqVNz6RkTldJUuwVzGelXWk9IfI1wCg586A r7CU9HIsVJD7/vIbIIsKDncEAKYh6XKEBHWI1pF3Ony+rPhlXCV9W3yraiBb/YXS XaPr2Wy3XC86ufHZs8ewug40DqcSfRobj7qV5II1CMoVrwhUuJ9Y087ETjt7xC9d xI4jrkVZlaRt0m/LUKLLfz6L9KaLWRkBfFhOjJH6TAv779q0n/KfaiU48Xuue6ff KNDtA/96/oTg9+NWjm47zCdQeyZGzEE27btvzbrLZuG6TcP7gAV0F6udGbImgw1f mKrQZn4ZtVKCKS8IzTn/UM/P26Pn9JOzDKd2voPE9Ee8D0L8ywg3mxmBdm+TY9vs r2OEV89Nc2sJZm5CeiqEvfACI8KwbExqWy5TW7Qz+zLi3zk+ErQjTWFyYyBGb252 aWVpbGxlIDxtYXJjQGJsYWNrZW5kLm9yZz6IXgQTEQIAHgIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAUCQhzb7QAKCRDND1HAT4506BdRAKCaBqu+lvdAp3fhgIJxL0XY YG6vhgCeIyaLMYFzQfii5s20wePEhG3rfMq0JU1hcmMgRm9udmllaWxsZSA8bWFy Y0BmcmVlYnNkLWZyLm9yZz6IXgQTEQIAHgUCQc2dRAIbAwYLCQgHAwIDFQIDAxYC AQIeAQIXgAAKCRDND1HAT4506PmiAKDanV0mSeUSRJuDmfA13o4ELsQ38gCfaEgn LyzKfRawEhJdqsGPWW/fnte0Jk1hcmMgRm9udmllaWxsZSA8YmxhY2tlbmRARnJl ZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkIc2/AC GQEACgkQzQ9RwE+OdOisEwCfY8xxYIhN0w9CSUbsN1/EoYp0D+gAoLedf7wiwvmQ O0XpcJaXgtlO4x6fuQENBEHNnEgQBADPHKv6eOKxk2HPrm180rVAM6/d3LQkBEGL Ma4QuSXXbTDXpzfrt6YOLi+ILe/hu5DNnGbQyvkBB1lLdmqW03lat1ape9wytNoA kHOX2C4kom2WA3FvtAoxojmylEn8S0koH7RUuhhTM29rVBap0W+UpwpnxmtbGXEO NciLWy5CzwADBQP8CSp5Hh4+7uXIRpp+RQ8PKJ2vQVnf7c+QTPDN5MLXEv1UK9gK vtb4sms2yr2IuBMP1FSAFN6DpedjoZSKimxqCyMNbyy0io2pMrNDCpqCadKOyLWN gJhJTxE+3kYeZqzZExvf8q+faQqXp91bbS4XZ4JzgAkT3B0mvQ1OHlVlAauISQQY EQIACQUCQc2cSAIbDAAKCRDND1HAT4506PAVAKCWlLnQdfJsRZtt0Q880glcLzc8 SwCg47K+qs1q5klc1cCIaCj+/TtsLCk= =rg/z -----END PGP PUBLIC KEY BLOCK-----
<petef@FreeBSD.org>
pub 1024D/74B91CFD 2001-01-30 Pete Fritchman <petef@FreeBSD.org> Key fingerprint = 9A9F 8A13 DB0D 7777 8D8E 1CB2 C5C9 A08F 74B9 1CFD uid Pete Fritchman <petef@databits.net> uid Pete Fritchman <petef@csh.rit.edu> sub 1024g/0C02AF0C 2001-01-30
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 oIDNzwMAwpXoLZkEkk/dMUDTsFCy =ZbG1 -----END PGP PUBLIC KEY BLOCK-----
<decke@FreeBSD.org>
pub 4096R/59C48D501F718F36 2013-11-22 [expires: 2016-11-21] Key fingerprint = 2824 75D6 97AB C053 1B71 C127 59C4 8D50 1F71 8F36 uid Bernhard Fr"ohlich <decke@FreeBSD.org> uid Bernhard Fr"ohlich <decke@bluelife.at> sub 4096R/18EA4819E808DF16 2013-11-22 [expires: 2016-11-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =ECQr -----END PGP PUBLIC KEY BLOCK-----
<billf@FreeBSD.org>
pub 1024D/7F868268 2000-12-07 Bill Fumerola (FreeBSD Developer) <billf@FreeBSD.org> Key fingerprint = 5B2D 908E 4C2B F253 DAEB FC01 8436 B70B 7F86 8268 uid Bill Fumerola (Security Yahoo) <fumerola@yahoo-inc.com> sub 1024g/43980DA9 2000-12-07
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGhBDov9skRBADzrOg1JwL+kHv1dTePFR2lNrErbMe+WVeP1sdGuKcYTP15VQyJ WV/6ZoUGsihAmFGcGyJuhcUJbvlvqRf4ZlwD80a1y33SNxxsqe8n5dm4Wy9FElL5 bjs4L0kGJlSL8KnYYUTQKEDBcTch3+GTjgS4NQBZWy4h0W6EWqgxr7CZYwCgpeB3 tnDcY3ELA5EP6Bx8wZN97zUEAJo972g6HplZyuyjqqTjdztXNgD+DlsyNpNkEfqs AnZcr4aqEeyMNtGl8gPIc9JwPPSlX5OfmjCm3zWtEjwrHway6YPggXqX8efuY3lo LxVfjRt6NLI0TuV0FhojgHuJYB9RsXQFZxbYH8A/j6jQHbiN3wTyYHtaAJJ/iELg 82oWA/dTeR0kjvjgrfB1MiFCH4AL77bZWuxSv1CvV09DlYtSxfLpyBm4OHvDZmOv V6zT9COM2+f2/EMI15cNllYXB3WnwfYit9tZtEFBl1+OshqYBbcNkser1pBd5jP7 fDAkpDYGx5OgpqAS8hz4XLPZdS/HXSegodYKinU0p0Rzza6KtDdCaWxsIEZ1bWVy b2xhIChTZWN1cml0eSBZYWhvbykgPGZ1bWVyb2xhQHlhaG9vLWluYy5jb20+iFcE ExECABcFAjov9skFCwcKAwQDFQMCAxYCAQIXgAAKCRCENrcLf4aCaPIbAJ41RzBA OuxYwZFUSbMbU5PHENe6ngCfcnVzDC5+lkssh628m3GTG0EjINS0NUJpbGwgRnVt ZXJvbGEgKEZyZWVCU0QgRGV2ZWxvcGVyKSA8YmlsbGZARnJlZUJTRC5vcmc+iFcE ExECABcFAjvw0YEFCwcKAwQDFQMCAxYCAQIXgAAKCRCENrcLf4aCaMcVAJ9brBw2 LPC2RcZpsm5S//dETM/qFwCgiuPpVVwBP7ibzn5xQVNAdB12xOa5AQ0EOi/2yxAE AL/FYZQw0b7NrD04j6dxrp7wBjgd19ux4zQocXgXPlzpBZxQ4A4/icGOLnIU+vDu ltbpf7aMTd/mJokJwx9pE82pOgxk6i42c5qKkwkmjhO2/4FFk8HXco2DJ9roRi0n eBJztXskUY4cVavKdXNeJY2JUeBYvmrnREWG1W2/0ZMzAAMFA/4ytkv46phPokQe s7yy67bEeHiydjvf3uM+v1z3xWoLw5ZU+8hLdFkESpZ7u+qA1mj3i7LNBZhfA5Bt Cgl10v9DWX9cda2HlMjyyI9p3dfPlOcAh69PMwexJ1VYPtizK4ZkC8dNk0rTVPOf SYftSsFGdDbUAq3ZokhjLkVRFY1LxYhGBBgRAgAGBQI6L/bLAAoJEIQ2twt/hoJo ewUAnRRikiShfD9wCuyMazVJ9+FZLWiiAJ0YFgos24sNEFq5rA4I8UZU0LZ5Iw== =y5FR -----END PGP PUBLIC KEY BLOCK-----
<avg@FreeBSD.org>
pub 4096R/0x380342A852615619 2013-09-23 [expires: 2017-09-22] Key fingerprint = 6414 0613 EC1E 5175 77F5 785B 3803 42A8 5261 5619 uid [ultimate] Andriy Gapon <avg@FreeBSD.org> uid [ultimate] Andriy Gapon <andriy.gapon@hybridcluster.com> uid [ultimate] Andriy Gapon <avg@icyb.net.ua> sub 4096R/0xFFF3DA35E4129D34 2013-09-23 [expires: 2017-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =FILX -----END PGP PUBLIC KEY BLOCK-----
<beat@FreeBSD.org>
pub rsa2048/A583FB36B6453181 2015-02-16 [expires: 2018-02-15] Key fingerprint = EF7D 332F 4D4A F252 BF4C 09E1 A583 FB36 B645 3181 uid Beat Gaetzi <beat@FreeBSD.org> sub rsa2048/5D496E43DD25AFED 2015-02-16 [expires: 2018-02-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFTiWUkBCACkQ0vihN3uv2hWAlqmmLkb94k0pJ8JpS3CuZoRItLwNTA85HSf oiqCNWOMyLZWPB8xKfKo5FTIJqXB8T5jRxWBuBLmEM85pFZqYd9lNHyrzOgLJ75H t8XaBEnTOp6YqajV2/KFqKx8nszalHn3zVclDUt9zClx9bNAKZs7lsM1EzUFwMep d+Bc4aAz0mnH0JrbWbDcca4Hz2XsR9R46J0GQSHFv+psN/j1ceqy5MFrLpLTgK1v mLLJkxxJD3Rlpx9vQkHY+PWp40D79WuakgvTFNF87RIBD31t5psuDqKVAmPtlw7L Viqw10Y1HDlm2W600J8GHljg54rm5C8RlhdVABEBAAG0HkJlYXQgR2FldHppIDxi ZWF0QEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCVOJZSQIbAwUJBaOagAULCQgHAwUV CgkICwUWAwIBAAIeAQIXgAAKCRClg/s2tkUxgc9HB/45LlWCrvHJQFHC1+wnBhLX F8UuPnyKlevaLF+s2QmcsCziIqN9+N31sJok5TP+rbJCQJ20rFWpFGc/Vcs0gh5U TzL2UQmmSSfQb8Wk32ynEVWhqSS7qX5e5ocucC7ZJen5AFdHDBQ/JvaUimbkFvJL C1I0SOetiVjFo3RKjVa90jjV9SCWnt5iDl8lsDD4lV0kAIw7rmkII+JLzkr/9w7C 7zuxc0KdXAwVJ5QLBDZwRndK5L4B32VkvRnS21q9TIkd5RkZRg1hu6i90YxyJfZe r7PHwgtjIQjBVw13UpmFgiaHGRaVqN4/JCZO7XgiOuIxOMco9/WrwHdouU7yBWLY uQENBFTiWUkBCAC4LG8JkbCX60JLqCktdOvDtwjgJngCqEdWAMOwe8P6YXD5zbAm bqeCdpB7Ow/yYoSj2sJ/X8p8mh7OMJaJEchK3GwzmUlgXOM8jx5CqZom7BrzG0ne PFMNSPHJOql7stbFgTW/+5BB+491yXXEKm5koUtJtemc41+HOoVoTRnkJ64pSOl+ Z6uehLdfs0pDLXMiOsP7OWho33kQqJ5FMFc0Bbt2CfUWHRroaBakZLI7B1ZOMnHE sfoJdcX1RZY35U2SFiHx1+buVPproIq61pdOb0sr5VdhHVWGVGgBbq1/xqH4zcsU Zt12neW27NVaRrv8vKQn3u1eJLKN3WdHb1FvABEBAAGJASUEGAEKAA8FAlTiWUkC GwwFCQWjmoAACgkQpYP7NrZFMYH8fQf9E3qkurvqtj8ITOQBtF0/LjcKfNH+5bt7 ES9tmrS+pz3MoTNPAAwtdt6aRlNEqnEiqrrRdwpxcoWWuWIVSJuCMF0B7L5fm1iG J+5900IGUJwSeAR9uWpH9LabqGeJPfaKlYDNwlgUGfaaElJtbFHMD5dBCWg2+nVg 6XLuXtNys4i9nmFjHxVxHTsC5cddjy3D2l57Z2Lr+o2zj6wtiJlvCSfp4eEt+YEf S4quYGqLXIqZm4nOSyKj3Ka3Wv/m+kEcK/4RW3/I3K7Jh/JOj2hFG0q5dNBFPawL cfVSfS2y6DW6OHt1Uu9E+/A7ip1PckyCXUYHYGY5k7g3h4gEXWclXQ== =ZhGm -----END PGP PUBLIC KEY BLOCK-----
<danger@FreeBSD.org>
pub 1024D/DA913352 2007-08-30 [expires: 2008-08-29] Key fingerprint = 7372 3F15 F839 AFF5 4052 CAC7 1ADA C204 DA91 3352 uid Daniel Gerzo <gerzo@rulez.sk> uid Daniel Gerzo <danger@rulez.sk> uid Daniel Gerzo (The FreeBSD Project) <danger@FreeBSD.org> uid Daniel Gerzo (Micronet, a.s.) <gerzo@micronet.sk> sub 2048g/C5D57BDC 2007-08-30 [expires: 2008-08-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =z5Yc -----END PGP PUBLIC KEY BLOCK-----
<sjg@FreeBSD.org>
pub 1024D/B6CC76BF 2002-06-12 Key fingerprint = F3BA D6CB E1F8 02EA 705F BCAD 6125 F840 B6CC 76BF uid Simon J. Gerraty <sjg@crufty.net> uid Simon J. Gerraty <sjg@juniper.net> uid Simon J. Gerraty <sjg@NetBSD.org> uid Simon J. Gerraty <sjg@FreeBSD.org> sub 1024g/D94B72B9 2002-06-12
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 U4BS88b/Bo4u =onBO -----END PGP PUBLIC KEY BLOCK-----
<gibbs@FreeBSD.org>
pub 2048R/45A4FC2F 2012-02-10 Key fingerprint = B98A C3AB 412B 094B D6FE E713 FA5A 1E30 45A4 FC2F uid Justin T. Gibbs <gibbs@FreeBSD.org> uid Justin T. Gibbs <gibbs@FreeBSDFoundation.org> uid Justin T. Gibbs <gibbs@scsiguy.com> sub 2048R/AF6927F8 2012-02-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 p74XqpZ/mgqZi+JmS/oDsRIZVbUjIyFB66IX =nVkv -----END PGP PUBLIC KEY BLOCK-----
<pfg@FreeBSD.org>
pub 2048D/422BDFE4 2011-12-06 Key fingerprint = A12B 7C6B 54C0 921B C64F 7B35 58DF 6813 422B DFE4 uid Pedro Giffuni (FreeBSD key signature) <pfg@FreeBSD.org> sub 2048g/43A91DE0 2011-12-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =fr2c -----END PGP PUBLIC KEY BLOCK-----
<girgen@FreeBSD.org>
pub 2048R/4A6BAAAD 2012-02-23 [expires: 2016-02-23] Key fingerprint = BD8C 332C E630 31D6 2FDB 80BD 5FF2 A161 4A6B AAAD uid Palle Girgensohn <girgen@pingpong.net> uid [jpeg image of size 8260] uid Palle Girgensohn <girgen@FreeBSD.org> sub 2048R/6BC41243 2012-02-23 [expires: 2016-02-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org mQENBE9GCt8BCADCoi55nNYodM/0UAyytLNzQlpV0SbqL/GLZKeBHEow5U1GfQo3 6NLXG6mNHs5+HEiC31tRNJHkOeg2YXkU29ZtY+Ec829HJIjotWwHT3XwS8yxA6/b 7L6+TtEUQ0FeWnFkggHerK7mDTfOULBV/K6gtd4DX+4THEIDbmtTVUOdtfDcnB3H yYqo4v16Wdc0GF1N+TM4unUc2gt4GNiFXNDaQO2NkA7lLOZ0rC1vBjHDYGU2rMQi kDQpYjk8LGHs0uZnMFhcdnWY1rqGzTckf01KFXEdt1TYS7nRRu9G0Jod9awIjyFG LdPJRtR9SLiYlAC3NYMB94aHMKq9ZOwi73mPABEBAAG0JlBhbGxlIEdpcmdlbnNv aG4gPGdpcmdlbkBwaW5ncG9uZy5uZXQ+iQFBBBMBAgArAhsvBQkHhh+ABgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAUCT0fOLQIZAQAKCRBf8qFhSmuqrQ9ACACD4ahY nsjOQ7Q8yA4dad9ZejHAnV+ehbBppobGq/mp/p0rHNWmc8+neYzIoEsiwGN3FuRw e2J3BmAsfauwO/KBZwmK4Y5C1ObGyYJE+eoajC3NaMkoR20T1KDFFf5GQgTWlWfY nYgv+sW/dUlb8xed2bGobGfaHJqG1ZXU77cjxC4ot5Gt7lIil02QoSdV/7p6qBqu +47bytcosrSlBZNMBXD0hZWVcgiJx6UMKPoDBUK3EvRoml+0fudnRJgwdTWUy0Px frg/ITplzzgBQdchtv12r6UZbjnvM87kbdbyc66/t6RMKsjQP7e8ZWNMYwNtx2+3 7HyMvLC5wmI3boQvtCVQYWxsZSBHaXJnZW5zb2huIDxnaXJnZW5ARnJlZUJTRC5v cmc+iQE+BBMBAgAoBQJPR84hAhsvBQkHhh+ABgsJCAcDAgYVCAIJCgsEFgIDAQIe AQIXgAAKCRBf8qFhSmuqrR9MB/44xJ55W5VYw4Kkt1bqwRi9ixk0k4huSDouOLbt xILrzYjMaxGJpVGB9SmYcxBJXskhsXgHzPNyz7UJYfU8GpqAjos+SVFS0xa5+kYG 1Pex9ETOla3sKHy7nkl2zL7R0yx9GDSvqPvAY5/4QKQQsd1TA/p1TLRn96re1LF/ 9IIU7Rgpf99DTX/mpzH39I2R1dnxyp4L/chUWFyNRv/2KISrxqPCEUve97QOYXqQ B9XnC9SikEyWoFloZ4ZC8fMgjjfvPNd10Lb5nk8HJ7WWuhDQIlC1WlQG0uQ7YHE2 nAwAhB0HhRaf8E+18XXv/MmJHLZ9CXrZmkEYbBmxWV2RZYFH0d+X35UBEAABAQAA AAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEBAEgASAAA/9sAQwACAgICAgECAgICAwIC AwMGBAMDAwMHBQUEBggHCQgIBwgICQoNCwkKDAoICAsPCwwNDg4PDgkLEBEQDhEN Dg4O/9sAQwECAwMDAwMHBAQHDgkICQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O Dg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O/8AAEQgAgACAAwEiAAIRAQMRAf/EAB4A AAEDBQEBAAAAAAAAAAAAAAgFBwkAAgMEBgoB/8QAOhAAAgEDAwIFAwIEBAUFAAAA AQIDBAURBhIhAAcIEyIxQRQyUSNhCRVCgRYzcZEXJENSsSWiweHw/8QAGgEAAgMB AQAAAAAAAAAAAAAABAUAAgMBBv/EACsRAAICAgEDAgUEAwAAAAAAAAECAAMREiEE MUEiURMycZHwBRSBoSNh0f/aAAwDAQACEQMRAD8AkQ8SndSWl0NZbLpQXyvN9Z4J H0za1qKrIYhiVZ1LIjDLADHILekkEduzmqu3/ZywUfb3t9p28097uVykrtQzS0wp paiTPrlqHO7Z6txK/AGcKoVTDxZfF3eJO/0curqe8VdkijmFiqrfdWorhbJ5tu6a nkAK+S7rl4XDK+1T94yS6unii1xR6Ms1Nq+nt1FPUUpnaSqoYILnLT/dH5r/APTJ bO2NgWGBJIQRgIXqt2y3men6f4RrIXx7w8O9/fZbRbwk8zJFdKiGBkNWZZKySIMU iyvJRdwcxoA27aTjPA56W7rV2j7hqGhsLrBqO40AqauoZl+rbD4MjSE4hT1MAfVt XIQO7kkOqjuWmpdSUF0Wnjv+oqaLy0qqenk+ltcUjlVpqWIkHfLJ7uf1pdrt6FG5 VFqG9WDVlxpNP0n8x1nfK6ChpEZxPKZSPVUTYOGYbj5VOmOBudljGCZVQQMsYw9C jUCSe6K8XlDqTWlNYmestVnqIVirJ6H0ujqB6wx9TSvtJCqCdilm2oMmSXTV0S76 Et1bTVsVYZIlbzhJvIyMqSQBk4wfbBz+Oos9AeEDVmrNBUtRT6goLStZHIlbd1DV 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 =RtWL -----END PGP PUBLIC KEY BLOCK-----
<pgollucci@FreeBSD.org>
pub 4096R/D21D2752 2013-07-21 Key fingerprint = ECDF B597 B54B 7F92 753E E0EA F699 A450 D21D 2752 uid Philip M. Gollucci (Sedan Magic) <pgollucci@sedanmagic.com> uid Philip M. Gollucci (P6M7G8 Inc.) <pgollucci@p6m7g8.com> uid Philip M. Gollucci (FreeBSD Foundation) <pgollucci@freebsd.org> uid Philip M. Gollucci (Apache Software Foundation) <pgollucci@apache.org> uid Philip M. Gollucci (Taxi Magic) <pgollucci@taximagic.com> uid Philip M. Gollucci (RideCharge Inc.) <pgollucci@ridecharge.com> sub 4096R/05519D52 2013-07-21
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 =UTgF -----END PGP PUBLIC KEY BLOCK-----
<trociny@FreeBSD.org>
pub 2048D/19D0B7C168EB30CD 2011-03-13 Key fingerprint = F941 9360 203C C663 A4A3 8FDF 19D0 B7C1 68EB 30CD uid Mikolaj Golub <trociny@freebsd.org> sub 2048g/8E49E362CF53D752 2011-03-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQMuBE19KCARCADtMhfOv8v4o56504lT28NKn5AWqSBEEP+ay2yI5L/chK2SMtKR aqF+yRk3QbXK6K9OHaQuZ3W5W6eQEwrOqUhfp8E0kbz9qr9TH7I1G5D52mjSvp32 wkcekrrxwjApmuTq/XBR6NJFk6rcQe+HBpYUBkZ1r5z/gpTF5zfdNlB253ntyir8 Jr95X1VX+XYS9Wgfzb8VzTjLAuBsB7SCCJjw6ONqJP+uxl+DzzxiKelwEVZIl8p/ Drw7nL0vo4+pm82Lxj9JyruPW1845qALo8JdEqGrbnHl4N4eXE/tUziZP9z7n8y2 FsZwXc6LT3Zs0bXtKqC2JnujXftB497l0GQLAQDWlXr0NT+WkM0IKF1sRicLGCmW G4LjWLk9i76XRA/8Gwf/XaBWQa/zIq75mBzJRJ5Mgb620paSpw8goPrRtc5cYhD2 VtkJBUmrDdo5AhHIok1RLJH5gW6GUO1ly/f2vHe39zVkfSKEZT5IvDtCU6+N/qxu SuRqzfOn5c0otLtqAuoJS8uJqGrteriU63lwlbqKu4hCQQdBTVA4aeCHV0UyilDR TZfN5PmIJCci5tjptwbu4n+w3RRGkLtfVXrcobyIPXs+A0NtL/29UWBoclgtYxKG u7VX2ShpUHWxqFJ+LP4+YmuI2r+imiPXte3TxL4MTcUafMRiUUE2oQ3MtQ+AUMh6 KixeYAG0r3Z3iTQRwRwIcpC9ip9JMjcPJmkSXw2dJAgArz9aLkimzVL3sTwc5tR1 Il7bFgtOcfuEa73HKouxmgbMk9P8JtZqZkM+vGYtbC2eUUm0wwLSlPk9qy/EwgNA yGABB7WwVerVIPiVCyvyLrTS0JOrVWKFu2e78ZnQEriwWDXiMaAlgBCgy/MUT1dY Od5/b5U1KJzHMk+Ig8zM5MLa5WSkw172345TzyWlU30uannwMzfa268EL7z42X37 c9AQelicpd+kNnAisjQ9FPdTdViks1ftrsZQT0NgbjfMWm93fAxjrttesacRy9Pa yLhuVmWyk2gUJDy1TRMz4Tzms/TMR0fK54wDoJZNPf/mBpCHiiO2u+yfn6nlhwah WLQjTWlrb2xhaiBHb2x1YiA8dHJvY2lueUBmcmVlYnNkLm9yZz6IegQTEQgAIgUC TX0oIAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQGdC3wWjrMM2ADAEA htZTZPUa4p3zrTR8pg8iQlNJGjkmvn4CzfthyrvLbeMBAK5lpVW8WMuMuWwLKqDl cihp5v3dli6ijYRQ/w54BKjLuQINBE19KCAQCACvqUoGwcEIjpZivJ5R28DlLZvF hfYMiJm2b4q1sUg2VHeoeRa5B4gXIdbi2RR8x/v/Sr3zfTrZ5a2tfHhd1D5HLtSo OSm2p2FnfYgWU3PGz4m/CFWvAdEbrS1saUAvscMBWlkfNjKtUsRwDeqBMzjMCgS0 iLPxIte+ie83FHR1tklvh5WNENM1359982QmXgzSdqKYawHzHAQDLJnoC/vkOh0d b2HxbjFseGIei7F11NIAAny4eVdoOixhZowpZkkSaOaC3QszMBs50UdFryy0XRAN 3jY+x0fJYjpWayiizAYdaI06icC7TnguVcyWy/gp4YwW8uyQb1OK53OTKJK3AAMF CAChNlpkVm94c7Yr6t2evnghG+22T7AUPA5elPfBtKsu9Yr8VNsgDb0DmPO0tklO 3r5LZT1AxbfiWJgdbxY/ZMVCm4phoN+7/HZ/1cP4UIz9qZlczf8fUMwOzriJ9llm G1gTszw5BI4IH/Kx2G0XVWwu833ghB8EvIQ75zbbw0Znmf++K82ugdMb4kumjcxE ra5dRQsxpmlX09KUjPdn9ulh+RJI6U2l8z/b6UiMwlTYvV2il/XoLWR86hemdJc1 4hUb97f14WDWpyT/7L+M37j/9MDijS3ZcbtXHbMEe8ciFn3LXMAzmMlxBMoE0gDL 8gpFKzKCym53Dag0WV6dfqI8iGEEGBEIAAkFAk19KCACGwwACgkQGdC3wWjrMM3i pAD8C1FeuoCB2nCQImVt/+Y339sI2MCMFMmhD35xS2yu6+gA/im0Hv+ftwZWocnS 95UW3HLgoiawZSfnj+e2+EfHUgAm =AhML -----END PGP PUBLIC KEY BLOCK-----
<danilo@FreeBSD.org>
pub 2048R/9788BB7C 2013-09-23 Key fingerprint = 8946 BD31 4B3F 4AD2 428A D6C5 D847 FA50 9788 BB7C uid Danilo Egea Gondolfo <danilo@FreeBSD.org> sub 2048R/7FAB4DF5 2013-09-23
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFJAsQUBCADGGevxbnyfej7DGSv7EBBIXUiemS/1z9QdKEjU7DYsGbeAv0AP RU6wzqfaCKP+UAHvaAxt+nYaadWgEYlvrozNpTaQxR17sIJPYplPcDglOWb544Dm pNkSQK1tJ7MPgR7HleeFv7Lt3WYzvUoPH1P97GzPFwndT2mBlimQeHlpdjmY6Neo 3ZCZ1qYQ+4/YlwU7dvx8R1lPVyTd1DLZFyU7EPm+MQhEfXfanG3nCttPf34gZp8Y Br+MOx46OhBaih0zN750VJoM4N9qPQ7ctm9Y0sn7muFVmV9Q/1FOuny3R2nbAXmJ wzJ267uK4YI39UiEXkb7pPDueViJVhc+GK3RABEBAAG0KURhbmlsbyBFZ2VhIEdv bmRvbGZvIDxkYW5pbG9ARnJlZUJTRC5vcmc+iQE5BBMBAgAjBQJSQLEFAhsDBwsJ CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQ2Ef6UJeIu3w7MAf9EiL3WLmz592p iK8eV9rZGVdOK6XYQJLp1vXCLoK0yozKLI34hXtIeUAOVm8d4yI+wOcjush7NyAI a3Q/nHpW/dD4pYCj0mn2SBWnv15rPzEdIroRT+dpL44UAL+PrBhcvn2gERULGoJE JYZpVRKcuB+7foZxoMk+7E/EcGHsMQwJ3pWWIKzD0qwUdluLs5gowcxGeTCFHdxK XWUNkA9Cr/+KW8LDFF1jVd7ARrplDm5z5o2x+JnQsYXqkB/mMWBCKv+0gmK2xbFp VR+7mlmIlydKsusCXaBw3z6lAogfsN56GBJIxYwt5YMQtMT9l6bfltCevtQPrJ32 tHw0W9AOBbkBDQRSQLEFAQgA8Mw4jX0ErgRJ1vV7s4FsrK3n87ubxdj9NiHN4cSo B64x24iXd8DscEpPAf5lJKdVmVPd0r7zHcUHEFTjLhlKgWu/hUVeovGEaJJNTvOr 3crLuQS0keWkKfWhI5O/yGIEe8vFFBBtye/tG2ZQ477buyT1E0Moq26bdY64N7PS uazxZ5h22xyCiTQpCILC4pSAmoEhwXviODTPwyFGviJGIo1cVwzLWri4ObMumMGl a/m6CzT7gxXqLlYfOEOVBbSMT7OanVzb5QaOc25oi5CMXbBMUB4NWYzAK9nxvtiu dFB/2iPvkTUIldwjV+PJoY2lcZ8gN36zHTzeI3vVuo4CIQARAQABiQEfBBgBAgAJ BQJSQLEFAhsMAAoJENhH+lCXiLt8PBwIALupt2M/U2U/szyvwmMuGg9tJaQKmKqV cyKXbtGPHVzycKWwRzpdVn4gUjyzuGKbIptE5sWMvUbHrfHvxXVFbJeN4SbzdnUy 9KZZMph/UZUET2NefCnX8UdPeASonqgp2gzBiEGaB5G1Ph7aB/irzA6VmIGrsgVW qOT4hkz7CZsF8G+9xqbCHCyrQvw72HPYFFxH6Eh/P4UV7/tbFw6Zlnr1pGxSZkTj 0StWUz1EdhXCA5Y4QI1BaRs1sTJQDT1jCYhMFw4nOKbRUeCOaI3ixU3ygco13eCx 2QcclRxZFPjwiqT5Q0H7vW9uj2UwouRF/78Wlywm1YXhBQEwrWVWXm0= =NLwl -----END PGP PUBLIC KEY BLOCK-----
<daichi@FreeBSD.org>
pub 1024D/09EBADD6 2002-09-25 Daichi GOTO <daichi@freebsd.org> Key fingerprint = 620A 9A34 57FB 5E93 0828 28C7 C360 C6ED 09EB ADD6 sub 1024g/F0B1F1CA 2002-09-25
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.0 (FreeBSD) mQGiBD2RGpURBACZe4DKSXi6jCkn4eZHJr7nGPISQr4YUq3rDqcOSUlFPBZlVd8S pYnfkNNW8HTxl0+qd5kIXiQxuvWxCrTNzoS0gPO3IQcICkAqbIICK0A1KFFx4Zen +muTp/e7bDhStcMEelXc+/3mLReBJf/d6e4For6P/rqVmMAcm5A2GO4quwCgmrSD fLt9NGJ+mtiXFxloHe57l/sD/3nanV7H4zk9gPJZA9b8UKpbZZmsyljTuYOAULL1 oh3CZDYvKZZ3E1v9exVDadSGvbps1bL1okku27nNd9BnlnSxZ+sQbfJtvEoBMUwH HJnAhTU5sW0UJv6K7goZ283npX8fFjyDWJ4+XJ1Qq1e+VMF5QeZVRFiIJ6NztM7F 6b1NA/0dwFApYGf2r8YV5uJPeSsWH94Mx4PTtIXp+WOovQ434wzuBUMiHxeeuv4z LP9Vjf40s0GoC0TLz8wB2awUrO8aWwgg9SUf5yO+jKZ9BchBgnqjju81zAG5sbUc ogMUrENjqIJgFCkHcnbxo2IHOygwjezvZeM/svcxJ1bW/gZlwLQgRGFpY2hpIEdP VE8gPGRhaWNoaUBmcmVlYnNkLm9yZz6IWQQTEQIAGQUCPZEalQQLBwMCAxUCAwMW AgECHgECF4AACgkQw2DG7QnrrdZetACfY5hq9W8pDo/vGEaCZWQtpTpW+EUAn0jx G2nWbw6EDoGxa62mmqy9rFyMuQENBD2RGpYQBADjmTUn3Gk/tkVzIgVm8wdfuMPb n08JkuNLUDYjxWRfRmVZHpT3L+e7rUwKFrcmMRM+kMSsnWKhmhwpkI4Tqgi5/lmg kN8R+kr6gm40lEAc8tNPNzbE4ueKSAwW8QKqC2iHAqe0l4SjvDEns5M3mARPEtfn tdEsQGeyGYlxsG+MhwADBQQA0HSyz2a2mMvyn7IfG7f7t3zuL5tXoFARYQ2FYMWn VSkydfzYuBc6kX3oskR1QMv4EDgX0hIUglvTIb918Qj+4tx5CKsUKnZFflGYfY2C qwVwR9SPPdX7rhytqkalH8HyuLm2XuRaf/pzo23tAivSXNFhfQhvybFtLdPBJ6yK 3XaIRgQYEQIABgUCPZEalgAKCRDDYMbtCeut1qqBAKCDnLRYCpUm4eyVG+Ycsn6B giZvyQCeKeQZPCnz6RKllxb8E/E17bdhN24= =T2MZ -----END PGP PUBLIC KEY BLOCK-----
<mnag@FreeBSD.org>
pub 1024D/CDCC273F 2005-09-15 [expires: 2010-09-14] Key fingerprint = 57F9 DEC1 5BBF 06DE 44A5 9A4A 8BEE 5F3A CDCC 273F uid Marcus Alves Grando <marcus@sbh.eng.br> uid Marcus Alves Grando <marcus@corp.grupos.com.br> uid Marcus Alves Grando <mnag@FreeBSD.org> sub 2048g/698AC00C 2005-09-15 [expires: 2010-09-14]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2 (FreeBSD) mQGiBEMpwEsRBADcnD1kRdYoPvpKLjT1w1T5p1fT/LAimANGHXVoZxusjNdJjleF 7SNfN6V+sjm8bdUjZb3VJr3oA21sdwIKXzamhtbaDRAAvKdYIRecTaLId8SqI3dO mZtLVo0A7XNkjVMtyLn8lPKpdiHPOc05/x8sVLNZ2LR/xFJnbdT5bomy2wCgmIOF EaoJmSuh5trZRiKIAeIodfMD/3zaTMjI7eLziJG2IWdxceN40vUX555gCpeFEQtD DfVV++32c7BN0j9o8VFl3W1vsQ3Elhm9GRlb5hZbRo53Z1YTJEzogXTGBVipJGID cDo/bCmRuMSarsT+M6R1NF6uToSBeVZyCtA/DDbJHNvYD5VeOJKsdaQ7hYtctoJ6 ms7hBADD8AeV5gLZOjOIFTAkX1ibEksxz/P8aUFjnj0QmPe98/RI02e/iYVVdPgz HgrTA+gF0X7nIicn+KhBgOT0MTx6bf9DFzmk1KaFBA6vnQ9alw1WtRHGsIm0OgD/ Jn5tRQFriUS5PWQP8FKXcUfmqOd0WtLebPicX66nOba+NKdU+LQvTWFyY3VzIEFs dmVzIEdyYW5kbyA8bWFyY3VzQGNvcnAuZ3J1cG9zLmNvbS5icj6IZgQTEQIAJgUC QynBHgIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIvuXzrNzCc/ UUwAmwVe85K4Ljml9AgBKbNn5juVRkr7AJ96PWlTFr/IdKq+1m3Zw7Hyt93cf7Qm TWFyY3VzIEFsdmVzIEdyYW5kbyA8bW5hZ0BGcmVlQlNELm9yZz6IZgQTEQIAJgUC QynASwIbAwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIvuXzrNzCc/ 6koAnjbYaFve7vZz3DW2qTBnYXp/n5IAAJ9+2EStzCP3tnKb/hjOxotstQufCrQn TWFyY3VzIEFsdmVzIEdyYW5kbyA8bWFyY3VzQHNiaC5lbmcuYnI+iGYEExECACYF AkMpzVMCGwMFCQlmAYAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCL7l86zcwn P+oFAJ4tcY+w4DVH+x7euh4K6ECBqM73PACbB2QBuJrDOtTxoYdmiH3XdHCytT+5 Ag0EQynAUhAIAKD52CU2Xp69qfo/j/1aLgiMhgLpx56ySAb9SzZySUHadyptFpJR i3glUnoUh9dfU1jr8Y0f1oChCmm9TOZnQJWR7LOrO+av3gxnRtVMkvVr8eAPG3o6 C3VZop7FPxR05Jmy0EtIxweEgNGmCX/p58T9LAM50E9FacmwYAIn77O5zXcJVnBI m9Ih05Hy4nGIoyF4iBA/NZQL10glMnwc6p82AiMj1FI6i6iDdPYBeiHKUXkyZ+Q7 Df+HkelT3zot4DPKBeGBSFyQENOjHCp4wl27DsfiJXViy2NRz5lzrSFgvc0ZIUus Ia5d9nG+OE67JKU4qT5xgJL5+eOe1lXsHgcAAwUIAJKuSmq6lvF4NWN8HWDimXBE Ol8jNHf+miaLgMxOhAOeD4TQHpqgEhnf02koUbGDbli/AS1oC6WGhKSekgYKZCkf zmvRNEkCJCOMG3bOcKEokHiujcyQHWf8k4WmBQe0hGalrE+oaLti5H2/jAqUqYFi tHWRUeJDgfwOXRalI3YJJyjfBzE6ckE1kFWoEeXDuZdER9kusWWVrX38mdniwoKj 7e+GtfYo+riB4Nb/TSuQjw45DKVaqYNi13P2P1EmHwmrSjnL3Yrck3x/vDrCKa0c 2+BAMAaLVnOGdaYT1xsaMBGcgSkybQoOmvMm5hdtxURqi7k/TbaNhV/etSzfB/CI TwQYEQIADwUCQynAUgIbDAUJCWYBgAAKCRCL7l86zcwnPw4iAJ9rVaOA1zKrzwRX CLE2Xxf/FkN6JQCfZU7PjkJvE9jqgsBVfMhi6S6kNZ8= =rDV2 -----END PGP PUBLIC KEY BLOCK-----
<grehan@FreeBSD.org>
pub 1024D/EA45EA7D 2004-07-13 Peter Grehan <grehan@freebsd.org> Key fingerprint = 84AD 73DC 370E 15CA 7556 43C8 F5C8 4450 EA45 EA7D sub 2048g/0E122D70 2004-07-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEDzjb8RBADNg1Ak3kReZLn5N6aGm/0ofeBsZDK31HgXFoQnXpZWuPf4Dcuz EztxDMfAhCdQPuFm+u2av7YiOc4Xmxmety18CwBP4E0w2Wf2RKdI7CdeVshn5epo kTMTn8pDu3ZDzui6Uvnjuc6y51VzL4zJwNNZAF5Vs1gXr+V7aDbvb1/6PwCgtX5K XQHfTdms5d6yhYwyQ4SrJ6sD/izS3iZBHe/nDdTBnSIA4sIdcZUn+sRfX7/GPs3H 9JgYbI/+fatLEUShiKaNTCCibNRXx1OqFk0w+vs1pRz/ziE+G7uV7tglS3h8LMnO Q/6y8WwTMiv2seCKyiuvGxG2NMT7OAdrSNe8xPIlNRBdxvANFlgnfPsypXRfjJ5g 1mqxBACaho98/zNgFpClOwAxw1Il0TX1c2EGB0e10FJ77rDNiPCWSnsPu5LB8mhL FfeGdx+zVVj5G4tMVIdJgZ5T4IpELPY1rpqf75F4mBrWTnmd7g9X1S//U8j7pNet JDVlymYg9DJvtKnfOHXqViwV8g2X0EwKsOpjo3IBZ0Oepw3wfbQhUGV0ZXIgR3Jl aGFuIDxncmVoYW5AZnJlZWJzZC5vcmc+iFsEExECABsFAkDzjb8GCwkIBwMCAxUC AwMWAgECHgECF4AACgkQ9chEUOpF6n19yACeNpRdDKA7qDA1vKGyjJIEdeAhqT4A nRC1CUpFTve3psN3cPWymDzSiHl5uQINBEDzjcsQCACkCgzuJRaPnoWmOZCk58ya +2Tbxd3qHtDDwMnY8NKi15FA0Cs40PUffHtWrxW1qcmm7QRmhHpR49tR1f7xT7CR OX5QKPa2axjv1mk9MKC4BtMe851UIMZ8vWbm/Obo9UdNYqEQEXT5TY6PbkiC8tDH 5i00MBg6mkYtK9xU1OjJUp1YHuqalWgMEW1nUFM1CV1Fbk/SqLzyNcC0biTRMUkZ aZ1MgF6oxBIj/InO0f7gVoL3Jb5BC9bOUo3NkHCUQDBPwfLXR3lfrQLo7fLckYaN j85Ap6NXJr88vINfU+xn/MeVwTGYw9ejh4sujp3d57wP9Ym3PaR2SkoPdZO323oH AAQLB/wMC99y55a2jnP9IOsI+UIgWFWDmVqDhdgdp7asKjW2aUhX1k4CGPw7AdTL dtBdxqxFNp72fZPZ53ZIn0z2bogyYOOT4aWbTFiqKyU6CScCpeunKs+/qz0pw0f5 /TdHgDCBrlMLihNiC0Tvtf/BzTLR3pqDshts8x82qKSjhxExazbBxJ23A4El53I8 zZLQLD+vqJaFylhze8DNC3J/V4NgD1Vdporrz9L+QZuJXDGUyp6Gj4uteAu0W/My 4+5zrs9Ym/TSmC4y3PLoqAeJv5I3E+6YqMo4c7XcLuJWO8jzg6aRlQmc/WgvVANW juieqW0bcYqNu2F/GeUcgvD3dWt7iEYEGBECAAYFAkDzjcsACgkQ9chEUOpF6n2l QACglTS9Ryv4oLwvXTNK2j2RLiH1VZEAn1YaLCp5rtafXPpdMdCOuJXo7MjC =UNPF -----END PGP PUBLIC KEY BLOCK-----
<jamie@FreeBSD.org>
pub 1024D/8832CB7F 2009-01-29 Key fingerprint = 34F8 1E62 C7A5 7CB9 A91F 7864 8C5A F85E 8832 CB7F uid James Gritton <jamie@FreeBSD.org> sub 2048g/94E3594D 2009-01-29
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEmCOzURBACOSQ8S2bwRYqXrfV9/pT8BmnGl7GYrkbDtJqL0IaTV1Bmdw7ed qcDjMT55c2LEQlO7w2EG5z7JfaBnP+jV3X/gtH37gcqClcJRxJ2uhT7fShzmRR/U 5iTbAt0BwDF/W5LFmxajhZvw8NJKeMk8j0kUwdTzSKalN+iAhXEhqx/uWwCgz2qg 9utCYdwfeSmRwebBIQhPq4MD/2bWpo3/Vw3PZzNsja1l/s8jQjxkMoXJ8LlYFoYW vc5lMBeR0nb1lZrnBvQGkEJVSPLXLvTBYireyqai8pt+Uk7D1oRevpsD/rIsSZBV MVSa8jUqPF0HC0vWrDd98HDq/RJ3SD4HHhiWJ2wA8YrftyeHzZ0kiJYzggQ3UPM6 +x52A/0U2kBqBq+HqA7YWTEo4pn2W3adZCT8mwmsDdEnC/uTvA0BHBN1HfgCxwee TSqOwssFioHCVu+N/lxKjqy9ftHI4ljSuYOPpC3q+LwFdVjbCQ6ynILNKp89QiK6 B5TphmOTQJ4ytVxr/tcvzDOCxbtyG6t7eCJBlfEgGjZLQu7uYrQhSmFtZXMgR3Jp dHRvbiA8amFtaWVARnJlZUJTRC5vcmc+iGAEExECACAFAkmCOzUCGwMGCwkIBwMC BBUCCAMEFgIDAQIeAQIXgAAKCRCMWvheiDLLfwhyAKCP4JGKCayDfY1f7sBXhYSa 6Zr5KwCfSy1evNxNmp5TwB7RBpEZpL2R2C+5Ag0ESYI7NRAIANiluE6e3GNLyLTc cc/SQ5NdW4/B89yDQkZi/f7mUAMiS73iKoe555EVI/JIFsHUduHeYMB/ERDHNSUj RmWVkb4r8eVSlMVvoU8sBYGqihoYtFXYT7rj8vvq6ufkF9RtBJLTLzikEg07jfQk EzKr1eFOl0v76UGnmqrYiTXOAJoXQIH4+Kt3pWd8jz0Lsc3Kd4+eMW2A+eXSpShb yuQhvtIkSdOLDa9PV03Y/GweSCbTKa5+oTmCoKvXJYjDHwkuj7n2dog8vo64Oy1h z8mPPFyDXr1OitDdA78Vvpu8afz3Uev9DMaKd6WIEtVUprLOXyuSixn0x0rvImes t6lHX3MAAwUIANKigPUT7boxzc93BdWUOKrZEnjN7zVnIqUMizVgi0K9nLM+lSpm exPfoEZqCIBmAmDRYO50Y5Lwb2R6V0qHFBmIvZZ9Ih4YosXuu6oFhKHjamRK6JXI hh5mMrOZnfDRn5YGEr3ZCEOGzdW0pY1t8THd6mtXmK7iIKKy+3u/WHf0tCJDRXk6 7ETBWwqFTE3XpZz09aHRV2470GKESSbs1Q4Cobc8ZIifNzr8kfnWPm/EH2UCNpnZ K2UvAxi6SRYVWIY11SRS/am+DRGweKfm9+NZpHEk2yJknHd95Q3IVw+fX+2yKVQe L+X9H5BR1y6XxKbxqrlWF5I2FDJo4BzOA1eISQQYEQIACQUCSYI7NQIbDAAKCRCM WvheiDLLf1rdAJ976PPYVcvK8Q/zKQrMv7pff09z2QCgut3uY8LEhlK39qZCF9Cl 2+bu5gU= =Uux7 -----END PGP PUBLIC KEY BLOCK-----
<edwin@FreeBSD.org>
pub 2048R/C593B37A 2013-11-02 [expires: 2017-11-02] Key fingerprint = 7046 C56A A497 73C6 096C 3F50 11C4 8287 C593 B37A uid Edwin Groothuis <edwin@freebsd.org> sub 2048R/731E3D42 2013-11-02 [expires: 2017-11-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) Comment: GPGTools - https://gpgtools.org mQENBFJ0hDwBCADEV/DRPMGZEBTMIIT+yYDzc+afLVB93VVrDRC8YjHQL1pEFvhn G+bmuD6hjFhv0ZK4p5iiiJmpgnCKQ/JRRRn3vCY+yk47omqxLlelhkRAAM8Z5Gbc IMgx1UfK3dtdkTvIVghkqOUhe4T87AM2KYAiHuhtkiRltiz7LlROYJphTdV5AI2C v8AtUjzPVz4Yx1rxXiAvLynF2ht3YsmLHJ3tEw//B/cRy/akCgTQXbE006lvdiiY hPq3AkvdLIMrk1OHeWoaezSfaKepazIwgpwywfglJICpM41WaY9BPAfSMRlA3mli fIWJE1mx6v7gXxmmS2KozoeUUJqxtC7epRexABEBAAG0I0Vkd2luIEdyb290aHVp cyA8ZWR3aW5AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJSdIQ8AhsDBQkHhh+ABQsJ CAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEBHEgofFk7N6FXAH/RqLoxHz7pilbPxW bhvA6VgOAbXdC8iGbmWMj7IxLmUT3rcD2q0GoDsZgMQsZQxTTMcmEt0iKwNGmntC Cyro5U9BROYS3gf9EDL9blCgbZKWu22QHhJGOD/ZZdDvBiweJwwC3DNAnIitJzuQ Mgo5IhoPBJTB3zoklk4IYhdt2T2kcOu+jCjM9nld23UzBOR4KESGAcj4J4UfO5Id GdVvQdqdNTA3gDu5MJm8j/9l7h+NHFzSFuBQiIb/yLauAg91yP70QpU6gxiEG81g 4czTMKNk9NbkMQd2cWPjMq59qw9fAi2Zz+ApNuPO5u3peRB/XsskTlCXMknqM4fu tcmogjC5AQ0EUnSEPAEIAM8SFImex0wo/2uNzMUEjxmu/UwuOymq1PBKAbZ/GBPO fuctbQtAK1avT4+ft8nTUT/TFhEQnkMjq65Yd7JB/jiWwDOjwOmuS1hhkWp9YO9h 53Uo97YhDDPRh788j1cQtBj1rAOHaNMJ8K9QsJZo59oxeUajJxP779/9Fj1ElIt3 bcpwMiRd4+k64o9UVxG6KHfC32S8b5aF36Br9ZLtVwXmvO8j8YwmdHGkYhajDvKH WmXsGSk71UYsWeo7Enji29KzAEuzZP2QWWtOw3U0nJUhoc92f5fWuEwUixph2lzH lbzCgHWV7tlxd6eBnXh53dIQoCG/wN6p+9ygehnejysAEQEAAYkBJQQYAQoADwUC UnSEPAIbDAUJB4YfgAAKCRARxIKHxZOzeqlwB/9KkNeew2fVxMLIazMXdPKo/E13 R4KSYJLReItJ/g3BMyk3M95S1DWiDV7h8qXxNcOw/Vgd72fhdJ/dMuJBSvsbqwPn KxqtkB8/lXvc+ef3xJ+TzZIw2aAtyOD1cC2j1lZSQ4NVRe4qiMRRW4RvQX5fDXmK c72nxtlu4hESPeY2pzfih4Rbz8rQkEcCC59VYTNYBi+08U2N9foHu0x4zK7WNlL3 33Hz8fARXZ8h1BS1+o7EfvEnkJrFtOaTR1jlCV4zG6uMONy7TJc/z1YVjjxxheim /+c3Pb5ZpvXvfttBJ365V+bGhqw1xeh8yb0wu30F3Ep4OT8TgUFszK9aoNiG =y0tR -----END PGP PUBLIC KEY BLOCK-----
<wg@FreeBSD.org>
pub 2048R/CFC460C5 2012-09-28 Key fingerprint = FC40 5CD8 0879 7F50 0036 D924 D9F7 8B27 CFC4 60C5 uid William Grzybowski (FreeBSD) <wg@freebsd.org> uid William Grzybowski <william88@gmail.com> sub 2048R/05577997 2012-09-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 oMxesc54A/7tC1WbOAgS8gM= =ZnO5 -----END PGP PUBLIC KEY BLOCK-----
<bar@FreeBSD.org>
pub 2048R/3DF5F750 2012-11-13 Key fingerprint = D367 F6C8 2A5F 2921 70D2 B446 27DD 6FD6 3DF5 F750 uid Barbara Guida <bar@FreeBSD.org> uid Barbara Guida <barbara.freebsd@gmail.com> sub 2048R/1DF7506C 2012-11-13
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 AA+Qvw== =8co3 -----END PGP PUBLIC KEY BLOCK-----
<jmg@FreeBSD.org>
pub 1024D/9CB18F746D3FA396 2011-03-03 [expires: 2016-03-01] Key fingerprint = 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 uid John-Mark Gurney <jmg@FreeBSD.org> uid John-Mark Gurney <jmg@funkthat.com> sub 4096g/6D93E13E0A4C095E 2011-03-03 [expires: 2016-03-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 kIQjNbLcMJzCl8wA4ZVN =U1ik -----END PGP PUBLIC KEY BLOCK-----
<mjg@FreeBSD.org>
pub 2048R/21489259 2012-06-03 Key fingerprint = 3A9F 25FF ABF6 BB23 5C70 C61B 96D3 5178 2148 9259 uid Mateusz Guzik <mjg@freebsd.org> sub 2048R/EA19FE8D 2012-06-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE/LxOsBCAClEi5g5IYj8O/1uc7Li2lpx/0fPAZ6/LwOMjvzRHDHEc/yCo9N /zTYToL+dQBgIxYj07PVyPp584CuxvesS4VYU+VXXJxxdtMq9gEi+siVCt0cwpWm bVGTZgLcqZqUT/sJfPqyREmU+hUcR+ELHGjD2zEiOJZg2dB+EoqE9NLFcoUGasRq WKpfqdm50ipVbTU3SdK2mh5CnqC4xp5LXgBYa0tZkQFNh9mSf1PXouj7Zn89Ghzk TaS+ZbyBWgftvZRxqUaxtK34N1zdMKcWzcLsOAaWLyepBkvDzh2tZ55PYml7f+Zf 7s0e1n5Sr5T9GysJAazd4Sny/6Gcu+Bm4ToLABEBAAG0H01hdGV1c3ogR3V6aWsg PG1qZ0BmcmVlYnNkLm9yZz6JATgEEwECACIFAk/LxOsCGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheAAAoJEJbTUXghSJJZBlAH/0i5SyqIB9CBKrtUGrvytgCRc3Ji 4bPlXc9uLRs88AFj0Y9G79vioIgg3Rnm0B7fOtlcBsFTV/kZqUEcO3iR8MJDR7oZ rAEyEG/fn++afroh1iqgEyOIaO7msQvNqb0NB/HJIj1EknWqVAYBZ4WiRcli7R5A P/JT0ArgTLuKu17MkOhn0sBiZdrep3fN7z2OgY+BNgbydb7O/T6B8hjah+TX7rAB R+EmggzXVwQbDQBTah+BjeER3jSd11zP7e4mO7CEkg5b8dXnWaF+n2aj05iM/axK Pms+tZwO47/OKI17ZjeAjxAWrZcWuavWY2BDNzmCYpuq+x3x8D75VUMBnX65AQ0E T8vE6wEIANUeU+eTvPlGr2ODloNKL+KWTHDpcpdKyljCvKA/7pI0FX8Ojp7dCtvz UyXRhL0EuzG8ywUhxpf+KkuOlxD23Q6+FiKDL3oTtwAmYaaslo69zgLEX0ohN51K 6QOPQlGFdAxHbp7DVb5peJyC43G2+5JWdwNq13Ha3nGWvWn1Qql3A9xik7/oFRit NATwdp2oecyFBkfhkQrGbecOmaa/hEW8eUg6pgfz8A+Tk9KjaKqJGc5vplANvddo 3ngU/PfIoUb40onLz6ytzUdYyHXiEkcx+Dgu6Pb6t17osFHjb5FlcnYnrKen64hU IAAH9ckP5HqsOE5wIM9M+X5JczNtY78AEQEAAYkBHgQYAQIACQUCT8vE6wIbDAAK CRCW01F4IUiSWRr7B/dr9JsKVhfaXzF0L7cnzYWV5QqJCkvCuklEqd+yOdKPfJig ZJVtjFVlRO8u4l/Z+F433Pw+gvBkR8vVTw2Ni62vyIspR1CTG0X06Vp+5qHzVOZd LWkQWlbVDgWedAY6i5ABscW2VM9wenrDJu0DuSMHTdsCp8Z3L+rvBjRLmA4WzyQd O/IUyrZmyJP87S9RgEe4L7JhDcWNDglJEEgX+Qgd7FJOUBASlRr5aUZ0iYM00mth d/EdBbJp+tCbCOfxFhXp6ULDkS9ExN/NwVDL/GBXu5ckU1shOVoDwPO2Ib0lfXkA r7vGsL7VXiKw7ITHQKDJ/dc8ab83QPdl3W3QeSc= =gTKh -----END PGP PUBLIC KEY BLOCK-----
<jhale@FreeBSD.org>
pub 3072D/8F2E5907 2012-09-07 Key fingerprint = 009C 54BF 32D0 F373 8126 C8A1 D8DD 2CA4 8F2E 5907 uid Jason E. Hale <jhale@FreeBSD.org> uid Jason E. Hale <bsdkaffee@gmail.com> sub 4096g/7081A001 2012-09-07
-----BEGIN PGP PUBLIC KEY BLOCK----- mQSuBFBJ7kMRDACdF9DTaE8bAAGh3Q/Dd5Ckst0s8Qs7cJrb0qWGRUqV8vmvJr3J b5v+Bgb4wSN2UM+Gl9EJ485e2zJ5TkzrUgo3rFu1quPLnPehHDI97fYtA3CxbNCm j9tyvqmMKbkKwHkTvyIV+Rk8HBbWQcF3fSaVDqqi/XodkpXUrn2zom6Cy2/yC2+J H4+ebR9QjQYoXxYl3MlM8p/W8QBU/65TZPCFAdvI9bWL2f8qHdU9TdIOvboGiWbh gsDIYqEmI+2GzOrPvnuTPoKLuaJv+6MVdnnnqKGo/xMVml3Kj5QgDzjvs4+xVVAx D+7mCXs9LBYwujO/Wraq7ljr2+5ZER1EiW/jQgNc7jeg4rVQk35eF1Jiar/ztwhg Sll1xbynuY41si+1O/dMxtP/Wa7ouvcinpzAVdT1JfAr1P/nm4ASicGCKlLkhROb OdNaxvckoFB2W5PLccsRPOmCMveck3HrbCYh7Wj4GMPcnai4pvwG7Wd0xHjtQ4yj rXqvB7mf+DL6sZMBAIroA/8lcVGnVc1avUWb2sJ0Yy8r8xZfGYb6b74XnhHNC/45 iQx3kLh9oUp8I6VygyYM0G2dbDOaN75omszFgFhxzzD6nRXZweTRd7j4Z5BRclsK MVzZLI5ZRC3wOmcwxlELbANE6kaME8RU4g8ywXUHeR3hD6nJ02SQIJpUojFxezz8 7cTwK3s2O+8f9d9UqMUXq+xpBBg26pDLrr+eITHxiY4Tecbnc+76W5rgfvaJaCM9 yl6sMESUztG3qqibJ2iYy4tB2UmLWBMCu1tvSkA3B+jj2MLLMRs2OZunsbmozI9p OdPqkPScQuAlYHpDgVp/eMmd+vO7lLuWc1feSJ8HHL5l27i/kSnstDe/NVF8QHsL dKShZsITn94h80HG5rmgaGyTnw+t+K4dN6rb1+Xsm9Vx6i3E+57HTcQi37o/R2Vv jgHp6wtvv09mubWdvHk01+tZRV9md0+EPjDsmBA5DSDp9Ccr2D4k1B4ovezEqltT R8ctjkhPtZ1cv6UD81volzTE3N432Uz6Q1RvpROn2MzitirogG1LBYjhnfdhRfML /Ag1LAu8EiEhDpt1GANT7NuQ/0zl7VwhEDFbEW7F8g9qgG3YnrXdbg41PrELJ6xu VIrtz8tr8M5GbhbaZhRx88X/4XQFW7EiA4dmOlymwi5oxe1cgwzz/Z7khhNU7XAI poByqiUzEO5viWP2nYL07ewu9nJ1EVcsdffH2FNooSMfAcH+ZmdMoK+kMOfb/G9E DNYX3+RmrHfSnVbYJD45qIuYm8P8OgOcGTE6cgmSlRn6ki93e+to44ThwTSMWM/z NmleNL2CwsX/whKGqZAaO3yRyAnTHIDOEfgf66wXMudvA0otEybHFxZnyj/KreQw 3SUWQkHBBxuaO1lVaPSE4qt+RIGsJM2ZzWZaDWkMN+qnJPJbr0tUjCVF1g+NUqCa 5gPmvJHDrLdmTBtlJbXfL255TnaGGwkN8zhYoqEyRa5MDz1tlYkD+cnbVU6xyXRC nk7GZBR46j0uNl2W+rX9xoHFwNncGRrjKcr5z8+3R/e8CBYrvCwLebYhehegfo/u MrQjSmFzb24gRS4gSGFsZSA8YnNka2FmZmVlQGdtYWlsLmNvbT6IegQTEQgAIgUC UEnuQwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ2N0spI8uWQf5/QD+ JvzZL8okil73+M92RWXntxmwzZqylmCu8Id/St350ekA/2L4pbH+x1CDqWWHzL8v qN6nyTkvwzgJQmANRIHKISb8tCFKYXNvbiBFLiBIYWxlIDxqaGFsZUBGcmVlQlNE Lm9yZz6IegQTEQgAIgUCUE51KQIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA CgkQ2N0spI8uWQcMagD+J4u9BeA16uYSEFwc+eyklyH6qjJtnSoo/7NKefYULBwA /A6wPS6lXIgwV/ErxBPLooDOUBDpd9FGVAlo/Bru4DrnuQQNBFBJ7kMQEACBiPvP Klj+EbBXY7U0FYVLwONECLJ71B6dolunqQ08rGniXFaOO7B4a1ho5AJzfpCOWPq4 20rmo59H+5HaGUuT8JJfk1V8zfxaMV6ze+qOacRt+0uAfMiBvtanAbnIojcdnhWK pxWZkV1VNma0xBkxNuZDy0D8rQ8c/wPlD2Lv/b7QXvk1rlSSNzw5JuwVk6TAGD66 o+QG9wCkV/jfZUgRpiKSuiYrgGxQZAsAcW5xDlfHA9rPPfmcCRzKwxq+63AIbwcE LFJQPYO19JNzDBJ8RskTVnQfhL28U2Dx8jiDB/Qsy3m4fC+L29hLx8+YVQBsq1YX uDaqtfKEnYO/495ydsCMH9qv6LxdrXuRXNglov1TCLXiDt0s6rCdCAkpTEDta7gv RH8Ncycwo3YFOniQwwvV18n1dJlzue8o7OeGaw9YwA2JZlecJ5YPKOPpmmxaIrZy m4aR7NUKVSOa2eg5jPc9rMRCnduZAu/nVRtOlEPQWHIsebq5o4UBDi3Nd4bCcRGy 3Fv+rWl8hC6oK31X/s545TTIJbsLbVSYA58rCMwGkwa6UjJJybOzhD/AgiRU4S4g aQT0Yt0c3cBZyjJteCOG4BG5TJexi/59mOcC4dhQuD3du3sfpI0g+PFoZXQYJ3+g xwAqLjHCnTe971RB6+Kud2UJc6uzSqBeH+z36wADBQ/+LXh7HQiC0GaB1p9SrbiL X4d9vjQgjmbI1Zz76C8Cfd+Vk6LGiU00VKTdNKs1QnKfcOaJqly+xEsxj9prE2zr jmU9RzYKSBDXKMdmfBFbvF30QSRlmiFuOwSNUHNOG31c5J4c0zluJFbZzSw5zFGy cKiRBZ7DlZuSnNviGqyl/AUkVVLQLnHbBUAEvlCXcvaFhwfTzT5sUgSWcUL0O1Kt 89w2pmTjRSIKBsANb48WyujoeD0NjkBXVXDN1n7+1EjKh0v/DzhQgz6kuhY8PK8j NKzolth2cDeOlGlR/xupyNZW1KpLmYOB37tACJtFWcRG0NKMqzTfzAVAl1Hll1Vp qA0Ccou16KmCvUqwLWtEsmTswPCS0V3QKt2K0RccfpLQFNjKE5Qj1oguqhheFcB6 TjU2XPEShGelPtB18FCcE9i/DYsNfRAfaN2DevPLGeZBUqV2Vbz94+4oJRSZCO94 nUCAvp8l65euazPVsU/Xa74r9R3jmZa98XnoxlNWVgQ8mT+XcXfEqKow7kuO46vO 6QKPR4qi33oKV0qt4v4hztypHNTzkhSbSSM9lhy68kNho6o42EqcTsJFpaKMW9SF PT0DcXLNQFhXJYH9nSdaW3VE+/2xygCEzNz4NROfaXU67wopqIb2GIx1NmZpgaA5 be4BWQaHtyiLjJj6PIDWjLWIYQQYEQgACQUCUEnuQwIbDAAKCRDY3Sykjy5ZBwCX AP9elLKCOSeYFcEqwlvEZd3GASS4tAJPf7hPU04NEX4ntAD/QVdcx3kXm7z2IxLS qpi7F0myf/uBWfkmV1doJFiQMf4= =b+Om -----END PGP PUBLIC KEY BLOCK-----
<jah@FreeBSD.org>
pub rsa2048/BB9F8BF992841D1B 2015-03-09 [expires: 2018-03-08] Key fingerprint = D6F7 142D E415 8182 FFC5 E685 BB9F 8BF9 9284 1D1B uid Jason A. Harmening <jah@FreeBSD.org> uid Jason A. Harmening <jason.harmening@gmail.com> sub rsa2048/65B797684FD3EC2F 2015-03-09 [expires: 2018-03-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =+qKo -----END PGP PUBLIC KEY BLOCK-----
<dannyboy@FreeBSD.org>
pub 1024D/84D0D7E7 2001-01-15 Daniel Harris <dannyboy@worksforfood.com> Key fingerprint = 3C61 B8A1 3F09 D194 3259 7173 6C63 DA04 84D0 D7E7 uid Daniel Harris <dannyboy@freebsd.org> uid Daniel Harris <dh@askdh.com> uid Daniel Harris <dh@wordassault.com> sub 1024g/9DF0231A 2001-01-15
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (FreeBSD) mQGiBDpjbB4RBADW+4fkXvVjAZ0A1X4wgXJQ4Eyes1LH7sTexP/Zm7sg1D/R9zV5 w2kBwOhICRX/hxVL76YZv2MTNL/d3pV3ZW2yV3Z6H7Pq7s4oVn2q35owUwLQZfSI SBTnBiVN7NqMZ/kzCCdWBwg/4G2FVNFwc7RyuOFQL3ly1PBtgbANbpCyfwCg3QXB K6AtFaEP2MA+SWWHQD2dNxcEAI11cbOHbYU8asIxbqYYyPOMgPsaLlPiTh6JQOO0 2OiGxoQlmZvkhlWf8B9ahCeYoKgA1zPqdHA2C9YMvOV2LvN+/Qi0n3hpqkfM7lLC QMJgm1KxIzccWY9Iz09GRlIFm2JPaCVLsKh1QPW50c3yO9TMSa6lXwiRgvxPz76C JHniBACa25NHH3x8zx5KA0FgMM15Wc481777CFVsKazNay00G0HogSICZ5lHffdi 1O5u+qQHchVKL0Lbe1zhdbVHdSAbEqnKTqseVMQ6I1TVu4gO89B72aY1RxAnAYjh PAb5W/RhZBSR5NDVZyANnqaGE7U7KMqn4/E0lC7w1TzoIZvDMrQkRGFuaWVsIEhh cnJpcyA8ZGFubnlib3lAZnJlZWJzZC5vcmc+iFcEExECABcFAjpjbB4FCwcKAwQD FQMCAxYCAQIXgAAKCRBsY9oEhNDX55peAJ9NKai2qEcFLxzC14qDz80zBGwP0ACf YhsW5qhTw/Rck1Id2W1alUEXMre0KURhbmllbCBIYXJyaXMgPGRhbm55Ym95QHdv cmtzZm9yZm9vZC5jb20+iFoEExECABoFCwcKAwQDFQMCAxYCAQIXgAIZAQUCOmOL hgAKCRBsY9oEhNDX5wXyAKC6VLe3svRc+FgmmjPS/EWvi83sDACeOpmPRbViajOw 4MUhKA7hxnRlBeG0HERhbmllbCBIYXJyaXMgPGRoQGFza2RoLmNvbT6IXAQTEQIA HAUCPSJfQAIbAwQLBwMCAxUCAwMWAgECHgECF4AACgkQbGPaBITQ1+dSxQCgsBwM uDviakYEKswiv6zMHfYBBCEAnjMyu+oxjKOWOo+of2qmtQH2LNg9tCJEYW5pZWwg SGFycmlzIDxkaEB3b3JkYXNzYXVsdC5jb20+iFwEExECABwFAj0iX2ACGwMECwcD AgMVAgMDFgIBAh4BAheAAAoJEGxj2gSE0Nfn6bIAoJlPaQlqk4wbNGoscjigAp0R B9ooAJ41JxSh9w2S16mFTGNKvVpjXw15BbQyRGFuaWVsIEhhcnJpcyA8ZGFubnli b3lAZGFubnlib3kud29ya3Nmb3Jmb29kLmNvbT6ISQQwEQIACQUCPSJiFAIdIAAK CRBsY9oEhNDX558OAJ9iOqCDUX4cdNMSZ1KBQg1gfTn1yACfZNL6BY+mYC+XV83L 7DXacstXHlSIVwQTEQIAFwUCOmOLtgULBwoDBAMVAwIDFgIBAheAAAoJEGxj2gSE 0NfnaM4An1YVu3iDtrG314UIuZoTw3zd9ucxAJ4yg3vWB6ceg06KuyaGTJSdZ1Oa p7kBDQQ6Y2wkEAQA0RSR8vkmX33oyYl+LwlOmemSKbSQFZNImw5TDcRYX83fa1Z1 4oIgJSk1h5l2jx/+29chVR1nTNqPYlRQEDMxVby9rMq2RAnjorM6oDdtIQIBNJ63 vmUcUiORGnKhC0waajpmZibcxoUFk1KcLyfxOT0JTOLgsJfqdqUENIc6NqsAAwUE ALaLYnBOoIr5Wm/KC7wRtS4gHeeOeskZyyoa3+AeBorDl0VvpgYwlNdAaP4xJrx+ CH6UYnxrMgCXG1l4dupkGXOCRPlAcM2ouEyDIGHRTVqHy40khZnWzN7xfZhKNcVd FxeHqOG61ZrhcMboxZrdJC7hK+sYrbngeKRiDs4VRoOuiEYEGBECAAYFAjpjbCQA CgkQbGPaBITQ1+foeACgme+2LKdFkytbn/JUhBqPYVAD8KQAnjP+IDVQ3PDEKRkv AFGJ6i5SrWJ6 =j+GD -----END PGP PUBLIC KEY BLOCK-----
<dhartmei@FreeBSD.org>
pub 1024R/6A3A7409 1994-08-15 Daniel Hartmeier <dhartmei@freebsd.org> Key fingerprint = 13 7E 9A F3 36 82 09 FE FD 57 B8 5C 2B 81 7E 1F
-----BEGIN PGP PUBLIC KEY BLOCK----- mQCNAi5P5owAAAEEAMIKNuDnLGiTOzk3kGMmz1ii9FbYEM6fKdf0jSi0YSTxSWAn 7EZbBehJ3yTAYuCaGSEGXEWismycc98LnH2Fb0uI2EsJ0CVLJqxsOL3DK8XE0YOk HjSKUpmJkh/BKrMAmUnqhbD6YIBiKnZh3ABt9+a7A+SakJQxvtQ9cYxqOnQJAAUR tFVEYW5pZWwgSGFydG1laWVyIChMYW5nYWNrZXJzdHJhc3NlIDE2LCA2MzMwIENo YW0sIFN3aXR6ZXJsYW5kKSA8ZGFuaWVsQGJlbnplZHJpbmUuY3g+iQCVAwUQQGso RdQ9cYxqOnQJAQFBSwP+IIm2bFprpayabQ/VgXp10OD3sgIEtH8c99sU91LyotNT ySif8DS+ujliDk5wVnaOlzqrV4sga8d2ybM81hdW0nxI9dNxLIp+ti90OecZMF6M 4PlsdkYGnqZDzXlFg4o70GSAWKjL9RTG5JvNnYWS453mCjYc3O4dm+1zzADfgcy0 J0RhbmllbCBIYXJ0bWVpZXIgPGRoYXJ0bWVpQG9wZW5ic2Qub3JnPokAlQIFE0Br JFTUPXGMajp0CQEBkqMD/0D1K1hTJc8u5K3gpsk9LrnOVYpP3zHbSe94oLO5tHv/ b/Y1626xqcMKYfAIk435asuPnGRkMjgpsxPUKksfWMlUqW4aIiX7di6aMuWkgSBI BXguu1Dk/qRImOZkNzWc3V+/CQ+PIauy2rZubfW2+oVkW1iEmmO7I/nPqDxDBNBI tCdEYW5pZWwgSGFydG1laWVyIDxkaGFydG1laUBmcmVlYnNkLm9yZz6JAJUDBRBA cX8u1D1xjGo6dAkBATkoA/9aDk7yNvh6urP9EWcPv5mjJt0yYIIjGpV7VH2P+mTa dK14ah24HSaTjh4psJg/uFw4egAs2XxDKXrf1SHCaaVajC3VQGvKq6V2Ytmgw6qe Rtt+NtrXVJn5EUnMY3+G8YCXugulym6bUWaC1x6PC0Y2IEzRkM3H5Et78gd2zujB o7QqRGFuaWVsIEhhcnRtZWllciA8ZGhhcnRtZWlAanVuaXNwaGVyZS5uZXQ+iQCV AgUTQGsk+NQ9cYxqOnQJAQEV6QP/ZFHefmwjiex7zEU9uhzjEdZhDlM0szKULUoo TB4x3yiXiYlzK2aqppXbV+vl+t2VLhd3McH+SKSiKwoBVWrdqsXguruIjUYGMAJI aE+Zh3OGUs8sZhtQqn3nE4+VngpyXwPwXPrDhQiwwJRxj+01lupNwS0Z6cAPmD4A W1L0aSc= =HsTV -----END PGP PUBLIC KEY BLOCK-----
<ohauer@FreeBSD.org>
pub 2048R/5D008F1A 2010-07-26 Key fingerprint = E9EE C9A5 EB4C BD29 74D7 9178 E56E 06B3 5D00 8F1A uid olli hauer <ohauer@FreeBSD.org> uid olli hauer <ohauer@gmx.de> sub 2048R/5E25776E 2010-07-26
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =cHUi -----END PGP PUBLIC KEY BLOCK-----
<ehaupt@FreeBSD.org>
pub 3072D/329A273C 2012-11-17 [expires: 2013-11-17] Key fingerprint = 920C A49A 5A23 F9E3 4EB0 4387 AB90 5C56 329A 273C uid Emanuel Haupt <ehaupt@FreeBSD.org> sub 3072g/70183B96 2012-11-17 [expires: 2013-11-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =MqAu -----END PGP PUBLIC KEY BLOCK-----
<jhay@FreeBSD.org>
pub 2048R/A9275B93 2000-05-10 John Hay <jhay@icomtek.csir.co.za> Key fingerprint = E7 95 F4 B9 D4 A7 49 6A 83 B9 77 49 28 9E 37 70 uid John Hay <jhay@mikom.csir.co.za> uid Thawte Freemail Member <jhay@mikom.csir.co.za> uid John Hay <jhay@csir.co.za> uid John Hay <jhay@FreeBSD.ORG>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 =l5Xu -----END PGP PUBLIC KEY BLOCK-----
<bhd@FreeBSD.org>
pub rsa2048/B93D05A194D5A763 2014-11-19 [expires: 2017-11-18] Key fingerprint = D87F 0EDC 4B51 40A4 AD94 621D B93D 05A1 94D5 A763 uid Bj"orn Heidotting <b.heidotting@yahoo.com> uid Bj"orn Heidotting <bhd@FreeBSD.org> sub rsa2048/774BC281D252F376 2014-11-19 [expires: 2017-11-18] Key fingerprint = AAC8 C89E 7CF6 68E2 6CDC 396B 774B C281 D252 F376
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 7LmHy7wvCm28Wh9mV4+gqw== =FEeO -----END PGP PUBLIC KEY BLOCK-----
<sheldonh@FreeBSD.org>
pub 1024D/74A06ACD 2002-06-20 Sheldon Hearn <sheldonh@starjuice.net> Key fingerprint = 01A3 EF91 9C5A 3633 4E01 8085 A462 57F1 74A0 6ACD sub 1536g/C42F8AC8 2002-06-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBD0R0hQRBACPEDZc2XKdvIq9F4ofeq/EUB8ISFQ6kaVPcb5ingy5ND+0MUbz K9U+q6Ik8d67KfHHvqGn7XTOXxGu2WS6rIa4ElFHtG/9lpgYtOFRZJxM8nv5+zCn elu18skUNup1y3uIwvhNUY3OPSzVkHC+tUPWfW/8DqdJzud/l8sDFDRtBwCgtixB FHJ2jRXInApVzwLcjpgVJq8D/ixzt0O/Zg2p62/qyAHac7M1sEc2QarCAGwRbuNw jHRtglxQw/GT2NACWqy7lVHKd37ciCrXg9QrTjotJtMcoJbCitYvbQo2RHfEeIyN yw7rffTQ4CpB51KxNhUWHcUfe6Jhx2hgHzehJg7hYnbtSv5hJcn2DXMSHHyHwBri hpldBACI7iJxl2MtFUHBo3XW27WYDzTNTh2LUaMcIaowMW/+vIDds6EI71dCAjuU Ai8DcNacMtE0xRdtNzDMS8vgYWBVLkHv2ENVdLfpxhM72iu4tmPKGF5AXK191dvJ qPge41Z2/57191Xt+keYtuSQDtXwZfSu1uLOHBa0BBvmppBOtrQmU2hlbGRvbiBI ZWFybiA8c2hlbGRvbmhAc3Rhcmp1aWNlLm5ldD6IVwQTEQIAFwUCPRHSFAULBwoD BAMVAwIDFgIBAheAAAoJEKRiV/F0oGrNMRsAnAlWdC5LkmEF3hZjNAIA8gMxkfnZ AJ4k6LXdmHMSSPbd48MbDYq67yzOG7kBjQQ9EdIrEAYAib54xuFqjHpvLxXmqFRl qAgAD5XpavuJisxGjfm7aTVWIpR/OOVFYkW59YInHM7dDHL0Y7tQETeEKf9pj6kF TMyWFoBjtdazqSmq2YXOvI00N27IKT9eqxJ/qR8QgIqBMNkraP9QKi60ASDIRUtl OZSfokSbAKkZMTyS086CgWw0bCPXRCvQLHDjga3KCbht0AjrZFkGmi6r4+rXFnT6 D3JrNSQ0Hj2qFEixHtZvXTsqgsEkOEtoe5taMFSygM0jAAMFBf97Ip2a/kPkXNt0 p+2xmWIFEDim7J9Cwl5viTb1t8fOKx69hFDQ2BwPNDZd1HvlrYTpuJ23uTrDOZsw IT/wVc/IQ9nn4+mkxOmq9iTHCBS99OXz4IsODT3W1sgzUfl+mdqJP8xfEnsyqy6G ivOoR3QdZg7rxvOU98HhDQ1iJX3rCtLNFGisrovDF33oHMEE4oHvSMXeg65JXWiU EpEpioINjrA3P+TL+fMv1tb4+wSUPqTWX34Gx4UfDKnMedxl6j2IRgQYEQIABgUC PRHSKwAKCRCkYlfxdKBqzVtaAJ42mqzwmJCpk8fdsfkHUt5uGTN8sgCfdmDni1OD NWQi1mhQOXZX9oGgyso= =PTeT -----END PGP PUBLIC KEY BLOCK-----
<mikeh@FreeBSD.org>
pub 1024D/CDECBF99 2001-02-02 Michael Heffner <mheffner@novacoxmail.com> Key fingerprint = AFAB CCEB 68C7 573F 5110 9285 1689 1942 CDEC BF99 uid Michael Heffner <mheffner@vt.edu> uid Michael Heffner <mikeh@FreeBSD.org> uid Michael Heffner <spock@techfour.net> uid Michael Heffner (ACM sysadmin) <mheffner@acm.vt.edu> sub 1024g/3FE83FB5 2001-02-02
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 2Q8= =/joR -----END PGP PUBLIC KEY BLOCK-----
<mheinen@FreeBSD.org>
pub 1024D/116C5C85 2002-06-17 Martin Heinen <mheinen@freebsd.org> Key fingerprint = C898 3FCD EEA0 17ED BEA9 564D E5A6 AFF2 116C 5C85 uid Martin Heinen <martin@sumuk.de> sub 1024g/EA67506B 2002-06-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD0NjbIRBACZTF4rK66+y43uXsV8CHSefx5lRHaLPFMNga+sUBRIFcwu9WbS KSP/r60Gf/mNK4EUX3/+3gVljrgpAbQL9X9MV/SO50aZM8JMrUkUwjuzzzFKplT7 bdB2zWhexWemFsE0F1G5NpxkqMg/E0aiZb5P9MVJyGLlF1hCwhWsNG0OewCgzQ/b yAEMk03PPk3DOaM4d/Vdf38D/j4O+TJPSjMf58wRGkrT+BmLCvFvg1OsUOMgyQPC Y07yO6WmSiZV5ynqb4bS5m3jfQmG1I2wK+dIf8SHyaVgqZiUpfqrsFV2qwfZXcod C8a8b/kmEbdMk1j+jZ8qxSScrKCHKqdEs1UihCt/F1kVVd8gqYbWouICxF4GoU4Z ANmHA/4xVNIInKVghFk9lMaK9lDgQs02laaTWLWzcSfe28ADds3Jdur0Ox06tgeU zdktWQvRYpIjqiQCCFLN18l6Lc5qyTg6fnx2yWpWJMb/xumUz7A79X0TBN8WG71n zfJLHtn7fCjsi5009s7Ahu//Q7pGN8FvkrZHZ3xNw+3pAaoawrQfTWFydGluIEhl aW5lbiA8bWFydGluQHN1bXVrLmRlPohZBBMRAgAZBQI9DY2yBAsHAwIDFQIDAxYC AQIeAQIXgAAKCRDlpq/yEWxchZjRAJ4s0v1VXJmkm7kj3kMM0Z8xMNoJaACgkcMu T1ID/2v+A1X7+suOzrWMr5aIRgQTEQIABgUCPZGohAAKCRCteU9X9uLnUzW3AJ9T 0Hzs6ZZq3HAYuSVkLReaZEhyGQCfb7goCt5RLbxx+3AMyyX5uh1boQmIRgQTEQIA BgUCPZGlrAAKCRD5Ay7lt7i0eYdWAKDEeKMbkRTSZKsKelQwiD+T3me3tQCfVMLi 9mkjolOAXpAOVX3Igy5QHUS0I01hcnRpbiBIZWluZW4gPG1oZWluZW5AZnJlZWJz ZC5vcmc+iFwEExECABwFAj/Q6/UCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJEOWm r/IRbFyFjSMAniK+uu6ts+tLchT7+npgPJ0wmyCXAKCmCmXrSUTnPG5DwiVD66h6 aL2GHbkBDQQ9DY20EAQAh4G77oKy6pQB1+dhbbLsfb3UeRWv7i/w21Y1tSriZ5gm HhofJRuczvrhI9V23wRVOKs417TGJzytDIfp/huycYMigAQXikmFBJSqIC2ktJEi 0DGhhne4XBdJENiHV8rb3/mk+Ffes/88DmoU45fpAwY1YN1jH8WO5mEq2aKCjHcA AwUD/jBsaAoUeNO00hwuZuWYNM4nvX57nptObVzP54/TfKs4GmdWzcfI2JB+5eFp rjtNCK+tosTQd73VzMWKk0fwiIew+GsB+g/ibK/WJW0lS6fktW2nPG2mGRblLtf4 8W4ZmtZUqFTBSbmZOcsxQ/LahRosX82NbQyFPwuFMEBqYho5iEYEGBECAAYFAj0N jbQACgkQ5aav8hFsXIU0ogCeLnzxBftyPv5iS52Ear+q/mPZL7oAniB0B6mFArQV gtLJNL6KejWqSh3V =Z84i -----END PGP PUBLIC KEY BLOCK-----
<niels@FreeBSD.org>
pub 1024D/5FE39B80 2004-12-06 Niels Heinen <niels.heinen@ubizen.com> Key fingerprint = 75D8 4100 CF5B 3280 543F 930C 613E 71AA 5FE3 9B80 uid Niels Heinen <niels@defaced.be> uid Niels Heinen <niels@heinen.ws> uid Niels Heinen <niels@FreeBSD.org> sub 2048g/057F4DA7 2004-12-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 9RkYrA9581ilMd2RCkU= =x4MH -----END PGP PUBLIC KEY BLOCK-----
<jh@FreeBSD.org>
pub 2048R/F9A44D24949D44A4 2014-09-23 [expires: 2017-09-22] Key fingerprint = 2DFD B93A C98C A47A 6920 1FDB F9A4 4D24 949D 44A4 uid Jaakko Heinonen (FreeBSD) <jh@FreeBSD.org> sub 2048R/724C087956D7D3CB 2014-09-23 [expires: 2017-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFQhjr8BCADO4CDHfqgpGdWjrWJXKjxrxCASt8WNyyID/kvWaD1HzNMiF991 r/OYHFVGz402KOuPCqn9TKUiqt9Dws3xheehymQmhvIaoorLOGqmOMr14NLaCPgO kX3jtW/Md+iez6hFhc9TCPY/fJbBGostyRYV364Fht1Y9XJGeGQBva3Fk8fLQ7xQ T34HvgUhowRa+RaYX04ElNz0Vk/1pVWBTcbZVFkbaZhH2VT04FWuJYuP9pZ0b5aB F/K+0cXDsGhS1iRJJm/vGZGvtc3c9aKWxFTEeZVrpgiYJFEierzfSqGIdYZK9Vrf dztzrAzmDjVMYFQVb1VPOZTumoPm6ds8cY+vABEBAAG0KkphYWtrbyBIZWlub25l biAoRnJlZUJTRCkgPGpoQEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCVCGOvwIbAwUJ BaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRD5pE0klJ1EpCq1B/wK5f1T sXgloT3wvHcUjysBbHLtEP8tdKyalIPCEoW0BAcC5Mx5+8DV8Q0nKwMBRFudGfay YLddRg5uIykJa5x3Rkdyx1hpJxSzfY8KdcNvb3A8OXDpxjAC7Vb7FYmHA+dcKq/2 XBxM4ynuJxIzmVxc3jGMz1AiB8CGmehOBCzYYGYeffXGSjIv8nq+Ak4s2+IVRK3v cbbA8Bvt2C/PDp6aCiy/JDEqxBzf5ddCaQ0fzOoeR/wyUlk41umIgLhiF1r8P9mN g6kImIZ+YFy1NnKA8buc1qAK4Jyaj6wFr3A+v9BfWRTfvl0yLz4XnlzojswpIx9Y 8aBy1mdjUJp1CxknuQENBFQhjr8BCADfoUiys23bKGRjR02C58UTgnRtdL499Odj RS8kRG/At6qECK8XtX4w5qjHPTY005VWyU7HVK6DQ7IjokNkm2TY7Uq2HdYjBtUj yQr5Ae5vKJZQ5Miav9RLoFU25nxi2ob2rgvPNLlT0fsJ3R7dgZFCDbrkmTtoi8Ke 0IYnsqcbCGWwIZNZTeLS6Ykg24y3kADxsCcQh9i/WrnRTTSKFGVGAeD6Rxf+YNNq /ppOk3locuC5gcvX6CSUJdqf0gvQeJv8v+lvMXYBwPnX7FC5Z8kZ939LaFSs3kcU N5/+gAREA8o0H/lA1kiBuVgo+6Px42IyiUOIRI7OdCb7H+BiT2k/ABEBAAGJASUE GAEKAA8FAlQhjr8CGwwFCQWjmoAACgkQ+aRNJJSdRKT9iwgAgRb32jaLEAMtrKfZ XbWBy8bSUsQIG+n7WGaaTbg5DgWQODz5VgHyFZDAM8ps/pSMHXl3P6fZLLrWnxcK aL9o9/uY10X+BPcLF4uH93TSM2IZyrZvHzqO0V39Wi2pBnSrgYPbaQO72MvHidcG AzldV5QRRCHVUc5kENsUX75AdXm45fCJqG5F7l+Y7ij/V3TVE2MJuWBZLsPwmVtR qUd6g2D8/6fx7MUXOIytCtkGnFogzBNdKsSAyGRgOHK1m72IcW63oPEkO2VI4++W mEv5mI1LpxQfnEGxkkNiWHVI7BbD/jXdyUChPoP3I1lq3/o2WZ6Tf5SAyRLco3Jq Slt66A== =wa8M -----END PGP PUBLIC KEY BLOCK-----
<jgh@FreeBSD.org>
pub 2048R/4150D3DC 2011-12-18 [expires: 2021-12-15] Key fingerprint = 8E0D C457 9A0F C91C 23F3 0454 2059 9A63 4150 D3DC uid Jason Helfman <jgh@FreeBSD.org> sub 2048R/695B1B92 2011-12-18 [expires: 2021-12-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE7uUe0BCAC2rJ274YwwpqkG1SvbLlcdJPQqctt3ELAv/3Jhw7LJ1RjMbZs2 3QNs4oz/Qb0Ge2kj6/NhJ/VpBqDcv0av9mwbZvN4NR+eA78Nj8tKgRYB67Daf8EA NtmJJ1sfzMhEceRWjiDK71XBSGSzaUqGG3x2oJBpoWuaRAUEDl7TvjZAOUTw1/1v dXZvO5+cFIlBAhbsuiKSQ5IiWzlv9toqO6biicQak8e27pM8XCfj5Vx/xs3OtSbf lX6QZCIVW5lBgRihDjfR695w1fBe5nM+9GwifIhIBXA2sjAvsb1j+4te9PIpNo5q u/vn/y5Bh0S201zg8gbdAic/XJ+OpN5CptJdABEBAAG0H0phc29uIEhlbGZtYW4g PGpnaEBGcmVlQlNELm9yZz6JAT4EEwECACgFAk7uUe0CGwMFCRLMAwAGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAAAoJECBZmmNBUNPcKtEIALSkfF5Sem7A9X6f2jN3 u0/sshrmMzM2irUiFvgbXp4F5vbZk58Nb3O35ds3rSZ9AZ1kbrAWvXnbaMH1pyzo bnx7HNkibErZ4UmIG8i8b9Vrtllho2iIVaHJlBEAaq3OlCXzkvKeQbR1n83V4jB1 d+zeMRTzO1ItnxlqZajxDpiHAgopP7covZU456YvnrmI6Xf3ZP0t7gJCotOdYcTO EY97pEJQKT8CuA/j/rkSDW8GfUBb+T65L/h2zysQn8pMQfrLO2+wUwYUc0QyGZSs 9mdnmZs4XQmmQQUIwyzftzEMjM9KJKmJ6qhZ+Apm8UZ8snKy9jH8AWS2O+SaGrgP Ryq5AQ0ETu5R7QEIAKpA5Or5loBPXoTa2UWpSI22MHqHlKz8wHDjyWe2yyK13hjs VSi31Dx0KZ0K0PMD19OUXzsAb54UQSZZtbKjXdJeiJpzyzh9eVEBy11tl6AC0H4o 2qWLZFUOMbxaGDvfKWf6xkzIdjiPk+mBUx6AEsDUHX0alACmBgiulMzof9btGgQc oYcR63kscoNz2tx7M1pJ6Za50Eaal6DZCYkmp4yHv2xCkZ1cnTH94mN5YwmlWotS ysMUy+05qTrL5ZXn+Az1Bewo62n1pkOHWIgiogcTUpibAflZsgI9iFEQbJns3U+C kyQh9xiXs6I2CHTFTngG6S2a1NcFGplSxEBVuG8AEQEAAYkBJQQYAQIADwUCTu5R 7QIbDAUJEswDAAAKCRAgWZpjQVDT3POnB/0XZUzuA8ytqhnzkxY25Kr/Oc8wczM3 XYs4DpL1TnghePjkjdEKhbC+1qDyg1kSQmf7L/uGV7n1pLFLBLwv72lYnaAMmbOk Xidc1LhB4YMrxc6tyFfER+ypw26FqfuvNk3QAGdqWvFQqq8dSyvA8KKDaP3ehKha /pmEJOC80jqIp5Ofa7J2QMPJ/kfegsjAMbQEqgcBmt8Rb7xM7NrFkPDcWRoB75Ca xoRV2eiDxMmNoTPDnjGyycndaaOgoAhXwpoAnmxIVVHs26qOxOyoq9ZYhVgx9o/S dAHXDxMry5RLmXQj4uDPTrUvGpxcEbOzVPBWrmoqDJe5Ll0rwaQ/DXZG =hr4n -----END PGP PUBLIC KEY BLOCK-----
<ghelmer@FreeBSD.org>
pub 2048R/8F1CEBC4 2012-05-22 Key fingerprint = 483E 9E6C C644 2520 C9FE 4E87 9989 CCAF 8F1C EBC4 uid Guy Helmer <guy.helmer@palisadesystems.com> uid Guy Helmer <guy.helmer@gmail.com> uid Guy Helmer <ghelmer@freebsd.org> sub 2048R/2073E3F8 2012-05-22 pub 1024R/35F4ED2D 1997-01-26 Guy G. Helmer <ghelmer@freebsd.org> Key fingerprint = A2 59 4B 92 02 5B 9E B1 B9 4E 2E 03 29 D5 DC 3A uid Guy G. Helmer <ghelmer@cs.iastate.edu> uid Guy G. Helmer <ghelmer@palisadesys.com>
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 LHJVsBw1wu7qPsG6jx0IC/eMXZKIPSk/c+s= =p7q+ -----END PGP PUBLIC KEY BLOCK-----
<mux@FreeBSD.org>
pub 1024D/881D4806 2003-01-09 Maxime Henrion <mux@FreeBSD.org> Key fingerprint = 81F1 BE2D 12F1 184A 77E4 ACD0 5563 7614 881D 4806 sub 2048g/D0B510C0 2003-01-09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (FreeBSD) mQGiBD4dlrYRBADhXves+DDbhv8dD1LyC7e+RIASp8rEN0mJDVarhEy45KxRZcD2 hE9dLXZU/5hcdK7yfatneg5xGFiedFJ+u/HcsMkxeb60+RUcF6Ec5L8PJmCwIQl3 3xP7UmC203YufvyidQSayOk4LDyg5WVGEXiN5KuShJC+feAwvtAao5eHnwCg5CmE y6rO8Bh/K2MQxP8CXCoLG80EAINd8twMsRIIqAxtVWeG0yudtgYdvhpbGrNKoq2b cxmfunLAQmHim1jL5run1St3ZACyuP4brckPiBAOxVoRcIMOGPk04Lw3blKQ7u02 6aOKKlGvW2pF5/Wh6v/q7gzAucn1HJYcGK7Xc8IvfdIZJl/tTeCo0/smxND4EWhU C94zA/0bvNhgntEwLF8x6UJnZXfQ8/LGl/NkSTyTMA1QqRrrik1oN4mYOAHE05Y4 Oija6MSgD8YDRcrxxr8Dwh4pqS/+FlEsV5y4A4OoYbPW5L6FAbEpKO86jbE3FK20 lX9Li5+woBWaTuLRcU2Tk69WLeOTdOrs+f50S1xWB4DJKBjmu7QgTWF4aW1lIEhl bnJpb24gPG11eEBGcmVlQlNELm9yZz6IWQQTEQIAGQUCPh2WtgQLBwMCAxUCAwMW AgECHgECF4AACgkQVWN2FIgdSAaZtQCcDxSj1KNFQXWXPl+U27Sl2/IbKEgAoNDq Yn86zUh4NPJZJb3P174CFRK0uQINBD4dlxYQCADaMWMhYNWemjrdioJoZU3vYkup IcQg422OZoxWYcUz6zKVHZuPdXSAFO+Edrt8QwvYrjhSiOSF9NNnFgNGMBGmqOg9 Kfk5rIKnENNQP8H8CZtzlDjJXVoMAeTfaeV9+ztHwWKk6XagjLApl9Fx42Quu4Po JdvJNHhq5Bf299jecRsWmSo7DtpNnzGC2HFWRkGdkkNmpK7hFe9m3YsFuP3nCFps RXCFMx9t2Bneh1eM+NqogjON+vyZzOUB32WY+x9Kz6Xf29auU1PSNYz+1LC7JAYk f4CrFA6wexQHKe/nXwlik3/JeFSPAsp/VsmvaHOenZTOfmtBT4ruOwqn8DGzAAMF B/4tHAo7/sAMgvkz0qHAxV1DjOjB5AQSs4phksYWYN1uaJq2//oD/jjifmmkhAq0 JLEeKDquvuNot9dtJ/75DF/XNa0Upt4Hq509Wm4o5NBN/CxRzMn6oU+K86S6RF1x JidNNI+CsTfdkNnCn0x6OjRsG0j+CUbwRrs4CJ/7ZWkuMCclLBKoI+rAwd5YM4eI noSrSZ4/2Uct7CyVm2aGIh5ofR75L7k92qZ/D5hN0wwKrL42bO8gJqPGPgsCtr9m OcT2DtOxkS9ir2QRyD7SelKM4pmSbxvk8S/IzrNS7dvKiO0xQXsvf+sG9rZOJ2vF i3in0uB9SeXAzsqNCqtEkSbeiEYEGBECAAYFAj4dlxYACgkQVWN2FIgdSAadQACg z3dGbsy32PBhRn/t1lXp1120VrAAn04hxsFX0HEKt6sqAcpIuzdTVrEM =8gWX -----END PGP PUBLIC KEY BLOCK-----
<wen@FreeBSD.org>
pub 2048R/A03F07DA 2012-12-10 Key fingerprint = 0258 F2C7 C123 E627 9E14 B4BA 270F 30AA A03F 07DA uid Wen Heping (wen) <wen@FreeBSD.org> sub 2048R/CFC8D6A9 2012-12-10
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFDFsuEBCACSJ//UOaDvnQbfeQIiQsRcg1fc2GlcyKnJxTv8H4N0NVw4c579 D/zEPhRIQTcwrEL677xdeNWtxvYkQeePdrvu4OhXW6IfrZp5H8tedMNqh34MxykE J3EC7HmH8J85ondMFSsg8OtBolpDB7KLMJBuIbQ0GDXniijcp9muVVbiRCZ7vhqC 1J8BJKZDGALD7GLttTfkK56xvp2H69aodYBeNsJcUxAj09gYW5rBLId8NgyPwQhR vR7C+VQgz1vlVT/YTvzMX6ZigbaH2nCJTgC1/LK1HJT9hkJIeUNskZwcAOoBA2L1 DXhgTdkxFKVOb8F0d6wvYSdeVfAWZc8xzWVdABEBAAG0IldlbiBIZXBpbmcgKHdl bikgPHdlbkBGcmVlQlNELm9yZz6JATgEEwECACIFAlDFsuECGwMGCwkIBwMCBhUI AgkKCwQWAgMBAh4BAheAAAoJECcPMKqgPwfafzkH+wWio4GRrgvK8K5DoIkGgmk4 bVdXd6g9T+sVGw7F5HTkCbiW83BAmTb49a8uDI4qRSDIEPLOSBbbSlzYcBqHZ9gf 1/G2JaL6UzlMhdoUZUS3biIoGKFDGXrKBmFoSvMN3MKNnAajAP1rTyzk2bC5EhNV CsGL+KOC/JXBfHZ/wxXTgk++Wvm8bcZDXmYMptWsRaHMZKbkdakX9dmPtHmv1g7N 3AIPSLrrjYDdWfejK8KvPKQuHnq0A9tLS4NOnSY8Ls1Wg3WfE1qvYZ2oEziVrMEu GIAxDQfFAN31GR81lDFW9FybAPqeuakD/cUuuyJ+15hUYb4fcmk7RHbxQrTcfHm5 AQ0EUMWy4QEIANmhcffZZcinDeNMTFba+m4hSV28diXeGyoXfeRWkdk3+fOGywNl +/HfYrXXSoDcfkmooUljMvGCj+vupP4obXeOY4MrcnzUYnUWjpfY6mQXejXGgAQy x2lcNF6W/g8jl80nnz+hfTEncg0xzNwFDE9ZzR7+G5x6uub0Xl30Rsc+3z6eabFS AQ5fFw1lEvt6Y8CGXCx86CPB6SQIJ0FddoHPL2LElSiuenaS7AKnnau9XqxwouD6 MdFqDQJ601lZBhEWmIlWRBj9YAEwwgnvK6/OFCHcIRjFl6beQVFO2xyk35SZOq4I HL7GPs0+bg5D+f7a3ugzqt876LlMVuUQmEkAEQEAAYkBHwQYAQIACQUCUMWy4QIb DAAKCRAnDzCqoD8H2v+UB/9mpvePA5lZrFne+s/PyTZu0rI7+Mj67Yj3DywxVf3j pqzjeRlZgVoZ0HbVry+2wUk1IN2eWMJy1PECTAyK5tybdtl8ckNvGhrMi9ilF6gk WIn9wXRiduuCZ0hj+STtlsdGBCThz9JqMVr093uqHqe+kB6TSu6/uVMZ3LhyMEeQ oUkoDMlG3wMMKpD/mzLeJTTycXSZ9VzDmQMOOZAC7UypLri9ykjRAVc8J5c+1RA+ +dsNw0DTEtGxHsObfdTlrCP0vohTxOdGjWuXHKYTttrM5koc7M2eM4WSEXkpIKb7 g7S0ogl+qD7RokD6CChkH7fnFesT2ksU8KvE/0a+/8Un =7kGj -----END PGP PUBLIC KEY BLOCK-----
<dhn@FreeBSD.org>
pub 4096R/F7CDCAA1 2012-08-26 Key fingerprint = 0587 E730 68A6 2646 A991 505D CD9B 3A87 F7CD CAA1 uid Dennis 'dhn' Herrmann (Everybody wants to go to heaven, but nobody wants to die) <dhn@FreeBSD.org> sub 4096R/0A6D554F 2012-08-26
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 0JTFuwbvNUiIKGhuHbBvP3I= =EizD -----END PGP PUBLIC KEY BLOCK-----
<jhibbits@FreeBSD.org>
pub 2048R/37BE2DB9 2011-12-01 Key fingerprint = 8A12 7064 4F3D 339A 191D AD52 30C7 858E 37BE 2DB9 uid Justin Hibbits <chmeeedalf@gmail.com> uid Justin Hibbits <jhibbits@freebsd.org> uid Justin Hibbits <jrh29@alumni.cwru.edu> sub 2048R/A8DA156F 2011-12-01
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 XLo7QbjbR21i/BQSm+3OeFiS0o/BNee3bw== =bC0X -----END PGP PUBLIC KEY BLOCK-----
<pho@FreeBSD.org>
pub 1024D/CF244E81 2008-11-17 Key fingerprint = BE9B 32D8 89F1 F285 00E4 E4C5 EF3F B4B5 CF24 4E81 uid Peter Holm <pho@FreeBSD.org> sub 2048g/E20A409F 2008-11-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEkh8ugRBAC6djNybj/k+sW8z4TZeC9M1PuSSuJlmCxF/h35rN1bJMHiaVaz umG5AjNwYtKilXO+bpj3OUQDz86j/vMpETy44lOaxr5f65lkP/tXATjVpSkxuimp vUHi6wRaCHLbyMGHRfuOX1E1yrYm6E3UvjrNnl8bhOJ9paUkk3El+gKm/wCgtIS4 07Fb+Mft+7a9Ti8cUKP4rSEEALh/nGAsKInUmw3ybZ4c68yVjOUOhbDgAjU8zwb7 vVzVpCythAEailx0l5UDzVSD8oszLiSDFLf93rfS7AyWx2/C/6kayLH7nYnmHmI6 Evv/uZ/o4Tw8l2BmqEMwMIBRi37et9tTJNEKMAAUaah81KRcE9CPp91f3oKutOAq BkG6A/9e2II1FvJRLzeGRB4FuNm4yqnRvA+LCPE24qEWGoVu55KvSsrb/kQEUxHh 46K6d1UCWYIlAPhV/CGstv2CfW4zDXOBlDg8kdQz9VFlzyz8sSs6ZP6b7kUzrSRp tq6mgiLKaTFYtm/BaUgYXpSI2uTlgujhC2v40pzeKN65Ph2H8bQcUGV0ZXIgSG9s bSA8cGhvQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJJIfLoAhsDBgsJCAcDAgQVAggD BBYCAwECHgECF4AACgkQ7z+0tc8kToFTVgCfU8q5hy5tJ9ZEs9ScXPuIZ/vA4XkA njuLqq+giT5SvrrckuA8I1iFgsezuQINBEkh8ugQCADzK4XaJN07zeKtivb4sass fejhXyMJ5kwNqK+DRqMcHkbh6PCKpoOo7xjnk7e1MdTp2UeGifzTUEXz9iPdLFoW 0O2iCppIgUEVfeShzOqEtiP0qpdDmc9RHbA17R8V8jaNWxmJtbI3Oid/7ubVPBfv KkPlsyut4A0yXBSxhqpLnaDpDVfMuUFbdMK+aYLABZMQaj6SJOf8bsHrBL6/j05T A0ZJkwPrV+ATbCXLUCAQ8q9rza292OFdLq5/iOQQa8mXhR+egd+NP1GLDEze/kx7 5gNQJLnfS5GUBJMSIzLIC5Nn+WPzdmK5tMT/NLhzRbtqmWoAfQcW/kcEAUlNbGJP AAMFCADe1t3CP+Utgy0QAmqkipgKwvs32CsRgye2ocxtrN8GRaunFSutyESBNCHP VH/jh2rTZ6KjVvgBcruaT8B83YtYgOnFpe+4FZr7iwlSVL1CcEwWRDD+oujebAUL MaLTcToWbggvbUbOtu+VNKooDYFbFoZvUs9I/49RRdcLfC7dxOfl0+51WTUTB4g+ d/rxtExYkvh19QEWsj6lyR6icwRhtrn2S+0oZ0JQ/mjCoqdrGNiiGPXzKrUnpSK1 b1hrtZ3E5BoWJuXu4Y4hHHzoxGW3ggVeTp/+X2K0DfKu0itGJML98oe1hXbbDaht O+s3+Nrro2j0Hx3JiQB1wB9merWsiEkEGBECAAkFAkkh8ugCGwwACgkQ7z+0tc8k ToElPACgjLamE6WKd9zLyyoyZcV2H55qlZAAnitC7OHmghbHiw+LuQZ5Je7M6sik =KODn -----END PGP PUBLIC KEY BLOCK-----
<mich@FreeBSD.org>
pub 1024D/0F55F6BE 2001-08-07 Michael L. Hostbaek <mich@freebsdcluster.org> Key fingerprint = 4D62 9396 B19F 38D3 5C99 1663 7B0A 5212 0F55 F6BE uid Michael L. Hostbaek <mich@freebsdcluster.dk> uid Michael L. Hostbaek <mich@icommerce-france.com> uid Micahel L. Hostbaek <mich@freebsd.dk> uid Michael L. Hostbaek <mich@the-lab.org> uid Michael L. Hostbaek <mich@freebsd.org> sub 1024g/8BE4E30F 2001-08-07
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 nQO5zgCfXsb8wtA8I0ngWwOQxrnRRE7+Smw= =j3Mm -----END PGP PUBLIC KEY BLOCK-----
<sunpoet@FreeBSD.org>
pub 4096R/CC57E36B 2010-09-21 Key fingerprint = 8AD8 68F2 7D2B 0A10 7E9B 8CC0 DC44 247E CC57 E36B uid Po-Chuan Hsieh (FreeBSD) <sunpoet@FreeBSD.org> uid Po-Chuan Hsieh (sunpoet) <sunpoet@sunpoet.net> sub 4096R/ADE9E203 2010-09-21
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 KQ== =zTaI -----END PGP PUBLIC KEY BLOCK-----
<lwhsu@FreeBSD.org>
pub 1024D/2897B228 2005-01-16 Key fingerprint = B6F7 170A 6DC6 5D1A BD4B D86A 416B 0E39 2897 B228 uid Li-wen Hsu <lwhsu@lwhsu.org> uid Li-wen Hsu <lwhsu@lwhsu.ckefgisc.org> uid Li-wen Hsu <lwhsu@lwhsu.csie.net> uid Li-wen Hsu <lwhsu@ckefgisc.org> uid Li-wen Hsu <lwhsu@csie.nctu.edu.tw> uid Li-wen Hsu <lwhsu@ccca.nctu.edu.tw> uid Li-wen Hsu <lwhsu@iis.sinica.edu.tw> uid Li-wen Hsu <lwhsu@cs.nctu.edu.tw> uid Li-Wen Hsu <lwhsu@FreeBSD.org> sub 2048g/16F82238 2005-01-16
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 MTZHdxZQQYQ= =uV7d -----END PGP PUBLIC KEY BLOCK-----
<foxfair@FreeBSD.org>
pub 1024D/4E9BCA59 2003-09-01 Foxfair Hu <foxfair@FreeBSD.org> Key fingerprint = 280C A846 CA1B CAC9 DDCF F4CB D553 4BD5 4E9B CA59 uid Foxfair Hu <foxfair@drago.fomokka.net> uid Howard Hu <howardhu@yahoo-inc.com> sub 1024g/3356D8C1 2003-09-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD9TDBwRBACs0PcLGuginQVidy1QScHuKS9G7gd8smYI2FcSsk/AkBhqIkWv hieu+iXlpxyZYCDDPKPhieDLkTHc9hYOGG7oTJhBMXUrUqBIk+sqeeUAl/eh0grX wUU2khj8EkYC1f6p9AKu25zoyXHxjnKulMhrZRIItg7jVJLaFQn2A9KCkwCgyVeF jCegTvZWikBuoXmDI/K3OuUD/19Za3DHV+H0dmfAG7JdVwTW7mJ3nCWJFvlpTSSU 9Di4VCVj8kUGmo/kRgpZ6gwlCaPmwh/wWiT/vHVQqdd+EH/k/ITs+zWrPOnWCxLY zV0BEKtW4kdaP5H9ttNh3Wj1GRpyxh/FrMP7zJfdgze2WoRY57j+H9Kuw2s/42RU zYDAA/9wIriNXAj6pFB+J2sCqYXIMNDNDQh6lYFNFgTS/WPYJoA8PWY62oFc0V6n ES8GOXjyEya428vedVy/G9kj7cB/IiTTy8Hj7JjhUk/rSIPXMMtNyvM6vQ++f1IV 1qSzR9sijpmpk/M2RusUQwBP131PnCzSCmAZB8gvcNSlbA9gnrQmRm94ZmFpciBI dSA8Zm94ZmFpckBkcmFnby5mb21va2thLm5ldD6IXgQTEQIAHgIbAwYLCQgHAwID FQIDAxYCAQIeAQIXgAUCQh1SIQAKCRDVU0vVTpvKWcmhAJ996hkp7RKzCsO1R4wh 81QBqxZ87QCdH2JXwcclPFAF/XKpS5kbQbKdW8a0IEZveGZhaXIgSHUgPGZveGZh aXJARnJlZUJTRC5vcmc+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AF AkIdUuwCGQEACgkQ1VNL1U6bylmL+gCgle9BEVLP/FKDTEsz6pYH/hdVMzgAn2kg KyplWAdJKjQ4AHlKOzi1DKj0tCJIb3dhcmQgSHUgPGhvd2FyZGh1QHlhaG9vLWlu Yy5jb20+iF4EExECAB4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkIdUiUACgkQ 1VNL1U6bylmacACglEvdvs5wMSB3EEP4qp46uKdXlt8Anivwqzf9dhjw07omH35k Ll7D5wGouQENBD9TDB8QBAD+sEewy1REDPQWycqdZVWzxmiS1X+TzSAgfcc7/QKv AZEsGADvhHcvaACTBuYRVr8DyzUxFUxeNByWSkLe7N5Hmaqauw681zsI+2osfXbW Jkp3JUybeFSIN5pacLNP5+DEAOzzphCF8ALv9H/MB8J9dRhZwDkY7SKt/cSNh4Cz xwADBQP/aD4exhzoF1iXR4879xEAAsRy3CCaoiPNeE4Aj9mWmjqEMzWYOjDeZ2zF W8Jrn2i+tOVGFpg2FKwtuqU8JRs/lqbedYUlM3UQl2pqGSV2tAziuLKKkzPnKWo6 79hIhrjQCEPk1MqipoL6l8qZb8vbBpoCee5NF772jR85ai0ZdGmISQQYEQIACQIb DAUCP3rhagAKCRDVU0vVTpvKWU/OAKCE4tEk79yRFtmSNNa+ddafxcuyagCeI9MA byQOCAi708pPSIquH3oiM8o= =P50z -----END PGP PUBLIC KEY BLOCK-----
<whu@FreeBSD.org>
pub rsa2048/E6001C673CCD08F7 2015-02-27 Key fingerprint = 351D AC21 7E16 BC06 7CA0 7705 E600 1C67 3CCD 08F7 uid Wei Hu <whu@FreeBSD.org> sub rsa2048/0C7F6F103AAA0465 2015-02-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFTwOCIBCACjw43RBjeX+4OOLB7qRHyoSEr5oC/u8Nk6n4MeFFKRgcpqYXe6 ckoQ4jGg8rMTbnsiLUu0OcMUpp4mB/47zc0FXOVSsU8FsBapjxXRsgqLDUZl96Tm 3xgvgIp6GoIoOvC0m9x6dB5NywKrAvl5pVA0/g2QsinRqaHLrfIYhZpMqwLzGhwf m8DdRJ5D95vzG7bJBZyg6phmK5cgXnH2pLtDqo4NPp5weWl+BsvyoblPDocy0Hwx StHJbRGqstseDy0UASu9btje5DVlQ4bq897WbOi1yzwA/vbgaL+2B8QGBC+l+cjJ +S2pEdyDKSWCkeKJaMa34Mp4xs5/W1ZjZlt9ABEBAAG0GFdlaSBIdSA8d2h1QEZy ZWVCU0Qub3JnPokBNwQTAQoAIQUCVPA4IgIbAwULCQgHAwUVCgkICwUWAwIBAAIe AQIXgAAKCRDmABxnPM0I93WWB/4ojEVo+8zhVm5aM2gHNebIlVOFnOjQcMshX/dT 7NwNRpZEYV0HqJMJeO7ZMkJoirZrvQQm6WrLS91lh2Aw3Sp0mo9S+pIOJf6cOMRk GwzOQBhxPiLEPUIb4oqMeq8pEWT42iiOxEqUnKOBrBJJWQs9rnCkghzYyDVpe3NB g1pbD3Yhma5NK9aUCcC75heaXft6lwe0Dd8ddONEHK7ZMlBgem/Uf85SprFMBoRS NSQIC2gvJj7O1gGKcWxXudzFSaHKrN6iBUkTT1BqWSRwDvlwcnJbw83/lnSutodU B6UCIVST8jgrDNmb/7UQLguG0BLSk0UE2dKjPAf/ICWJu/QFuQENBFTwOCIBCACd axrZrShlEwTZFfsJM7uH7XusUJrjGEKPLnTikLcRXcCP1whXbhTinw6ehgm+PooQ rWzLIlh+Ogren/QgmKCGEA7WePQJd5DEVH11CnD32LligoRdN2P1ItHDwUdPg0zZ R4tR6xe05iUuTiErM9OZKipeFXNqjnr6ki0+hA0ZQEqcZO8rLaLoIBf5EdvNIy1V bjBSSuAIdYE0foZlCl+r7VLxFWnhB110n8vIvqmVBaKRkZx8lZ91LVVDBVJ3yuZE pEmmfbnJEdi9IPDKcTsfn0eqTDmc/dEiSrLJkKbAfvKMmlIu/cnhQdWCUC+Giyt9 kZakqi/ksgz6tSBZfY35ABEBAAGJAR8EGAEKAAkFAlTwOCICGwwACgkQ5gAcZzzN CPegVQf/WDja2xcoDFN45UCBDubdTi9XWshskymcY2WSRusp9bwo2DPTeZ9yJGn+ l2NBidZC4ppM2IDxhBCaaEtBZIbqztliVaW0mScssc3M49t26qzEHwIoVAGr7H0n RJIC1Nm4DNn1PUwMq8e82lBfRv/5hUdAKg0H9uksFr7jgDYnul3cAITujQWl51kP S7E+CS6hOok/IniQIj9Cjp1gcQ2qIP8jKRrNBNojtvQUuqUjv6605EmEQXaNkLrZ dm5daJ+me05fokmbkXgDRXyGhmcigPQzqz2ymROzHk1dSyY6L4SjF8/JL1u8fdCb G2ii6BtiESfaHof1AMVdYADgnJQL0A== =jnKf -----END PGP PUBLIC KEY BLOCK-----
<chinsan@FreeBSD.org>
pub 1024D/350EECFA 2006-10-04 Key fingerprint = 1C4D 0C9E 0E68 DB74 0688 CE43 D2A5 3F82 350E ECFA uid Chin-San Huang (lab) <chinsan@chinsan2.twbbs.org> uid Chin-San Huang (FreeBSD committer) <chinsan@FreeBSD.org> uid Chin-San Huang (Gmail) <chinsan.tw@gmail.com> sub 2048g/35F75A30 2006-10-04
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEUjcNoRBACNcrOsDaRrFQMnMjnNViPfgBakMnwy28P/tfZvg+vx/5iRt73p 5RrBE3dJZyAIOg+3st7sgtVuqeymh8JmoRlVFqLKEpCM1NNqq6TNHhlLBAuIYtTL hqN2knPM1m/IZp1Y4a5Z1OVnM6/fqItkxql4SX+GJ5815Lvh+1lokr8eMwCg9w2Q HgsgytJkYiFGJpkw1YOfwFUD/2oALyshDDCQIshX2xHPk+zLTMQva7uqDy8AUJLO o0DfaofDhkGjZnLpuFrc16eyfaYZw+mO149WTMpWrzCi+SmCXje6MSywINHneql+ X6OzJCazYCGUfkSbwtAH89gIRKJiQKQfi4xhDrn8Iu+x3YtOKKxnrEVGX2S8fKka 6YJ9A/99q0NX+543o6/kjfOz6Q44xzoyalBXT36THsFm239AaOejufu+HeyTZs02 rvrF7IGgga1eUeQwx9gvRNFX65CkUc3AOTVfK2Tn36QJcGfm6r3ZYFWKjAMJ3haf aElE7Bs2zGergI0KNOid8rjC6osA3NVYSGI4mKIuQcBoxUNf6bQ4Q2hpbi1TYW4g SHVhbmcgKEZyZWVCU0QgY29tbWl0dGVyKSA8Y2hpbnNhbkBGcmVlQlNELm9yZz6I YAQTEQIAIAUCRSNw2gIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENKlP4I1 Duz6zsMAn1oP0sY1yRMo8jr7iCCdGtw2FuISAJ9crrnri2tcPS3281HX/4xk66dq c7QtQ2hpbi1TYW4gSHVhbmcgKEdtYWlsKSA8Y2hpbnNhbi50d0BnbWFpbC5jb20+ iGAEExECACAFAkUjdFgCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDSpT+C NQ7s+pzxAJ98bMcpWM9Vd/YvB2tx2tK3zH89GQCgqOGeoJQvB+MWFM1oVbP5jmJS wDu0MUNoaW4tU2FuIEh1YW5nIChsYWIpIDxjaGluc2FuQGNoaW5zYW4yLnR3YmJz Lm9yZz6IYAQTEQIAIAUCRSN1FwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ ENKlP4I1Duz6QX0AnRiAfY8Ngh14cBzYH193/LSIuebEAJ9wY9Gz9WQbwb7QlJEX cOmrejGiTbkCDQRFI3FNEAgAsPAXITBR7gx+9AyYwzvtIUjzo+viSfVHusyZccu8 82qzPKYF3J1QewFczrL6GbPCNqw2c/IZ0Sn8leGgVw5cwP+eUNtcbuQIa8Hpgl0Y Ns5WZlr94NXTdU8+mO8WXugzsumUnScnKFhrzEQQKYbbAIavBAzVAoj8Bu2UDaCB fCc4S6OwHgUTuLHDRA0b8YXe4Zc/VbblSIZFosga3vishPOCuj0YWjLjdkXHFZ+Y We4oDxnMT/yPBcp1/7wqEhTid1dgJvu9R2N9IFSxHTxoHiEsEFa9z619/imVPXGF rmcoJb5vG/NSH6cMHr5KP60H4ze0pwMKJ3had+YJSIJGBwADBQgAm9eGbCZ3RUin Kh/AJSsVfzW0snA4V1sv3ovSOekROs9YoUkalx8Ywt4fZkGHFWvYXLVb1KnmW3+O juhfrjsgmaizQhSMHT47C21XJSvAWuXXZrF6PaIiPAo6q56wjfSS62ycj7z1UlSS SDEusPgFG3LfYBuM2wjRYYXZ2plAcxhGt2oM5Mf4Tjom1Y1GHp4m9VOIa+0D0HZI +oNYlOteR6I2tWg90bXJcAd6VlSwYi25b/KRkzYyHlU84o11UJnBnG8HgaN6E92w QAQTtIUd6PxLWYBG0ni4vtD2ZwyGKAH26QJIUC4bLYdfoZ7V7/MbwI4JEliGjZCl INqt4mrYsohJBBgRAgAJBQJFI3FNAhsMAAoJENKlP4I1Duz6TJkAoNRkeWHFV+q1 WHzk4XJLFtL8cNyBAJ4u3Mfd7xo3Bx8pAs1vSTWooWb7Pg== =IROz -----END PGP PUBLIC KEY BLOCK-----
<shurd@FreeBSD.org>
pub 2048R/B3B5A1B498CE5CD0 2014-06-11 [expires: 2017-06-10] Key fingerprint = CA52 12EE 760A BCAA 0D5E 2974 B3B5 A1B4 98CE 5CD0 uid Stephen Hurd <shurd@FreeBSD.org> sub 2048R/DA5C47503253C094 2014-06-11 [expires: 2017-06-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFOX0kABCAC+iZzgkUnWd4RaS+/Yx2YJIW6ZPiAs+/TgJI37JnCTCAjJNlIh /qwTBj6CCaT4vYqX9Ek7XaMtJSKnzeSA/WOtGhbY0ZKpSiEUqsTiMtiPII4qlrIo cB+MV/GxWE7hlsvvHNZ0xYlW4sdJ6HpxV3u7t9lhWuheS9RoFponZ/W3ZWwM1Fp2 RM7g3lDNOMT/u23hEIV1vLO6Q2AoD2McAHOj0BcFNYMdOsgll78duso9VE5pwBFm wK2ZT7xrspX/zOtDxXp1e8Fv7/0J2uwq6/FGlZM7/FCXEsHVPnZ0at2qJ6Y7F/fa Tru0hGDQiyWUpKUxY48UMuJQkVa6OvXiPkn3ABEBAAG0IFN0ZXBoZW4gSHVyZCA8 c2h1cmRARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJTl9JAAhsDBQkFo5qABQsJCAcD BRUKCQgLBRYDAgEAAh4BAheAAAoJELO1obSYzlzQET8IAJKzlzehv3w+nQcdpWME V493OmItWZ1dIeUmuNSE8QokX2ZSvM4PybF6l9IwZNrYtulr8LjcZ6+5+bv6YXne E6TQqKYRJrmBg9tbTlQeo1KsJ5s273vC7R+tKSesTlpLFbLwXv1wEGUHDDGSA7LM jJPvZCY5pcjNWuC2HV9xpRJTTIidzjIwzduLrL8qJ3kQeIO3osRMFh/BfY7Fr6Cf LiavTbB9MThS9NKENLOlPm4fFf8faz27+q9qo5vMxmsn8IJXlpgdJB6J7v4gimBi dJVSADPZugkldNE+7v2RlDmnMIYF/QGZRc/oTDaax94CXudjXB2VoiM6UOw3Z+xc 6NK5AQ0EU5fSQAEIAJfxLU3HHtSXfzMs7N23auoi5n3sAiXqWTWoMGlRp3TQXnBt fDHHkkHxUV0Vv2p4EUyjrhJA0IZAnJXlXh7yffIaWw1oSse9ggel6Bz8AeUgvJn8 W1ujjkjws3YKlXmVk7P4wgX4l+kSdVEVm7rExiXD1107/8OPYTNS6/8ntPSvLebX CQPKVRm5CaOgBaNnf3jkWgNTj1DD4XeIozO9rD8tTa5rkccPHZdCv7pJ59JpT8aW egbP8SyBz0JuoYKL7ozpr6PMz28wF/4p+wmLi/coo8h/Jkbdf3p+wOKmnWxyRPAs s0N00si9YWbZ32f83w3xcHowUxyOwE9q7G8Ot1cAEQEAAYkBJQQYAQoADwUCU5fS QAIbDAUJBaOagAAKCRCztaG0mM5c0CEtB/4wVx5hPwxBYQPD8z5zQl2refJsVQnX bDh+Ejs78XJ0isaqqP5tyCE4GT0Ki+zYIhIIxB2p+1SsvS7lNSSWBfp3VLMnd8We 5VWfRQSSgrs5RXfFpP+7n4hD9t1y0lj3Q3kFqjieeRrISjFi4N/YT2954z8VJkot v2e6i96FclmHiOzDIxb/Yc6+egkEQOughOPo4V9FitDc5Z42wXPT4GfP2ozyW7Xj 3kWSUOVZCnje56iBVHml8L+3DVknxjbrhNJrcScTWyuqcWK/FrNBZtAK1nPlZnHb CUFyb4Ufql3Kc5pJ6zPqHZ/Kor50FMlu6L+9S9VwIkCglYAJLwisUo5W =EUs+ -----END PGP PUBLIC KEY BLOCK-----
<davide@FreeBSD.org>
pub 2048R/4CB47484 2012-01-17 Key fingerprint = B5C9 77F5 1E67 D110 8D19 7587 EB95 EA82 4CB4 7484 uid Davide Italiano <davide@FreeBSD.org> sub 2048R/91F7443D 2012-01-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE8WAbIBCADhylJPj/E3+cPj2CH/96OKzQ1sjdiyzgQVeLinmztCCk+McsEf qOwyc5iZfZC0MPJUr7y/3E71HKPC+rTMkOQBHsCL4UWcbJB+3AsA5Ii5WsZKFfQn 85q8kT9m99MFn8oqZWuzMFkU8zAOEB56+em0xrAI67SyrCPHVS1oWd4Rj45YSUKr em7JmyrYEcTRg7rMkPYJyuiWkDR3nAaJw2lScobg+JaHN757QZTtspS6x277Nx8c CU7pYauCI/CNdEPUcLAMBH561396IajWvTKirtL7jYZWw0FYpamof2sBCq672Uzb XJXufe4Urg4vKoR9giG7Y1kI49XCLmplwnWVABEBAAG0JERhdmlkZSBJdGFsaWFu byA8ZGF2aWRlQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCTxYBsgIbAwYLCQgHAwIG FQgCCQoLBBYCAwECHgECF4AACgkQ65Xqgky0dITCvwf/feerE+d+AGvbecD7lQyk d/LJs2bshZz+CnsCsbF/mArpbPMJTlgYCMZmEKKSR//nEo0cFyi0B6RR5QzQsouL uadHPuwxpuw/7ECdS9QhqEU2O7uoWdgh6kJSR37cbRmmmu0zNp0pMYv2TKrHabQz 432iuF8I8puOc9++sYLrlFBXfs80TTU7S2+qAfTRqgqAz5IdWZM7F4w+CbbJGfqj ePWoXCB7+6MhYby+5JXkpCEpdyGMRL8WZElpB2W91k3zBmkE5bZG2r3Z99hMc/dN +nJxI94zYN13HtD+Yoaej2/RJh9zmTWF/pUT58tb63EOLlrOfiiw6NJ6x8PVM9v7 JrkBDQRPFgGyAQgAvKmBYKFSJur0CiXeY6m3CW0JTS8mK1FYjKp+QckbnRomG2Vf olXjcjlTLkLcq46vff2uI8MDNviE5rGYWSJxwYjAbY3QJR36pbdI+ulYEJqnFNii jFWv9wvbddNc/L34Pa9o5P/NUf733r+V4gvyqb/Rh5dWQGH8IJCgnZZZYK8YnRiq UFnisiZ6gsIXk9rbxd4JHOiOxUop8xSxdeRHEkxe2FQvN8S+HzxrH8lucoIvH1Fp red8KUSjOLD1O9LFFSabJ6lA8ytAJ01KP+4svBk/J6bEMwmNXITVtmW+dyTSmS7z ynOMre7AG6s8OpdWX2lAKyLL4yosGLiOFjDW9QARAQABiQEfBBgBAgAJBQJPFgGy AhsMAAoJEOuV6oJMtHSEJhQIAI6NAWdB4IRBoDfEuo3myxdTn+hKtUDk8jgsmfV9 6yphv3BDwvQDIoAPjxMewp0UrIH0yEyIduPdZ6Gs9VcDfqWxyP1kGxt0GbKJmHzK glmLF5VZbuGKsZDhv0JtWbi17NOt7uiXY9sW9efqaDxgvNSXrXHtDPNzePuo2wLg LZcw5VlCg+JftFb7OA72Brcir1zj6EyMgtdo5P2Z2iW/MgWiaKb98hi8tnycIDiu tyawSXvl7k/AfQ5hHjwz4zKf+2bQ9cf8ou7wsJ6pOT35AKP9/CeIOslj6cqXE3dL MjKE+ZKsBG1d7NkQSQk9MEDk6PdAtigwAgwdYpPhX8Sl2es= =pP7Y -----END PGP PUBLIC KEY BLOCK-----
<jkh@FreeBSD.org>
pub 1024R/8E542D5D 1996-04-04 Jordan K. Hubbard <jkh@FreeBSD.org> Key fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPog/AwUQND7kZgis sbaj1yqUEQIhvACeJ58983s/0jjThuj6WeTP6hLZNHgAn0o2KINvhw+Oc8uQk5m2 aTiVgVQxiQEVAwUQNcJNdAyPjrKngh89AQHA7wgAg3QnT0BcF/zp0VRMUZwAysRC o4Xkgv4oaisCPO5jERGEp8NlXuMD6wJCrGRZ9xVwTbSRXJVirNkiSKj1rnNc/pPA DbjsmQ+3nhLU+YwNgc2VEhiVpeU2iOL7ircc/YN8epdFPbzn2timb98b+/qlaSiz m+g8pxnY4USn1b4CnzyirD7mvHhV61k0mrUSmaKzgg2Ppeo2qPzn4w44hgT5/jjm iEMzoH8zFrN3pwcUYYhH5rNWNnqUIMwuPOEHn4Wp+sMti4yOqQxNHnP0Mv6mxS8+ UKRhtDXU0Ra0SaIhaNRw0k0YLEbO/lteTRc+7cAPBs+QUTa6xbVxIzsBAWLC7IkA lQMFEDF8ldoff6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1 w9sbfo4PV+/HU8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfa T/LMztfPA6PQcsyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJ O1Bnj/paiD8DBRA0FhC0XatM0mFMec0RAgaSAJ4kHkYXQO/74W5m/7ZvQa3CPR8E /QCgpHafK/S6PWQsSOChmVjwrZDVP8qJAJUDBRAxe+Q9a1pnjYGyp3kBAV7XA/oC SL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddBuJNiW/gz nPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJutrewH6P R2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4hGBBARAgAGBQI1f/BdAAoJ ELwCvAMsr1lwqUEAnjOz1VWwJeI2QZMNEHO8RLURWHSYAKDqG+S3NzCeiKM3RRzc FubwdsfYLIhGBBARAgAGBQI5ZAxAAAoJEMN1Z4b84RmYUt4AoOtidEj2yIZubvvT kB+moQ1+ZscyAJ9dhz4GLNev7zNNfdAKi8JqoqfMlokAlQMFEDF75Qb1FVv7jlQt XQEBdn0D/0X2Auka6RU2R46NqrFB0kZNL5rGH8BuTRz+cqEATLGkCXknJDeJ9iTo EeE++VOL0utmhcYDyyT95Th5FNlXO8YQLgb7Gxq+UT/HOS7zznlBMs+mQK6dSlB6 7XDNoitRQTpmOHTmKYVsljJA4GBMWm6pawKuxSmX7aavwgYjEbmsiEYEEBECAAYF AjmtSQAACgkQLKRaTx+AVKjiTQCg9FfHlNeMts2GcXWplPQya7GEQtMAn0nrzupn fRNx6+Gi0Km+WSlUQkMF =ZyVN -----END PGP PUBLIC KEY BLOCK-----
<versus@FreeBSD.org>
pub 1024D/A01C218A 2008-10-28 Key fingerprint = A805 21DC 859F E941 D2EA 9986 2264 8E5D A01C 218A uid Konrad Jankowski <versus@freebsd.org> sub 2048g/56AE1959 2008-10-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEkHYgARBACdbmFESh/3csPP37dJBDTkAfWcUck6myVTVYu3dFgwDPA0iCs9 HolmEV9qZA6m/ljZYG6b9ycHe2M7Xq3Mopdvw7Sa3ab7b2PRLu1WbKUIS/HlOXNH p3Dg3/Zhf1raBKMg4F0x0pbQm9+friN44SlnLlQK5M2224X786/VTlVv/wCg3YFE CufrZUsIPZndUVGh+/seBbMD/2fhNQhreWxF9QFCMohC/pGSfg1sddpWMqh6R0bF aSXfJwYivDLcTp4JYPpZilScBFgSxsfLKboRBElj+k7cj2e8nK4xzfoX+xsGrRDm t8uPqISnw8bvRGS3bZNuTt3NqHpXeiL1aEEEEMk7tKuGwlwf/KmA4BYq+eWDM7Hz EWPLA/kBJn5jAO99l/h1yGzYiWwy4a5iQd2sZg+M60bC3s9xP8ZvCPhm4qGuis9/ dxzKxz7hPQ2CamU9DlpnoCeZQ8mttyqnipsnMVniI3A79xSjCP2dNkVWvimc5uWw e9ME6DAa2ldmN7fkj/b6ahvCiBZLVc2jv/fcmHcP8IzvhHLhT7QlS29ucmFkIEph bmtvd3NraSA8dmVyc3VzQGZyZWVic2Qub3JnPohgBBMRAgAgBQJJB2IAAhsDBgsJ CAcDAgQVAggDBBYCAwECHgECF4AACgkQImSOXaAcIYr8cwCgzjJgksYSmXwES8lI vri3HicZZUIAoKfdyp1VxyUvbm39iwIMsUBpMCTduQINBEkHYgAQCACT3lbgvRwF lzEkL7JnyMaHkw5Lh77Sl2cRu1+fouQeGxRw5CZFwcIUkZWJDgBLxFHJiAtjw5xz UnVDm1RWBLXdNn4/KvWOUx2ElPweL58q+j/45qfwISg7JyJckRAvACQ2bLT+2jlc iDInZiV9OAnwT3OhBb0a6dvMsbDcIk25QlcS/axVdCYp/ELN4jlgL3Vk0NoQfalo rtj/vALu5soRJgq5keyroDlCc2fDp3iISCBngx1xoFBaYaJHo7XSbXnCes3NhAEd DkY0QCBWQGyqW/ULGrIdgyGtszpxSlecPmaRlxpmTjAQT0mX+rGE8vBkgH/pDgqt icql1p3f9ofnAAMFB/9NCp6oARpDfPTG6upM+oUPwginu23w2ux7uecZuouL640w Yj4vssTGDhuP3QRQsDrlhXdHdkUvSuguXpG8EGf4GjflV/AvvXJDmOO3LB4TCQmw I+Umsc/4BCP6r/YowSyYmQENJ8VIf+Ps+WfoeGS6UzbEpZbAFfBMpNSQbzwDSa+6 kh+eAHOZiPUjtoao+eyrvqEK+rpydN3G2D3UOJVsbYbG/3R0zD1sBnNBaqAub4zr vMBB0Fuml/pBzhFl+2VrS420Bfy6d83uPriNmlXlTyrX/kSxYVMkVm+lfqrjhSO9 dj2t5lqpUSCRLO3Wbs/97zIi6Vn2fphH5iA1qI/fiEkEGBECAAkFAkkHYgACGwwA CgkQImSOXaAcIYoobwCeK8Jy/4hOkaFBHbi/WJ/SHaJGyNkAn35fpqrdHuOO2L6C Tuizqar0AwZZ =xCbj -----END PGP PUBLIC KEY BLOCK-----
<pi@FreeBSD.org>
pub 4096R/2A4392E050E8798D 2014-04-24 [expires: 2016-04-23] Key fingerprint = FD38 1F8F 1360 2A49 26D4 4CF3 2A43 92E0 50E8 798D uid Kurt Jaeger <pi@FreeBSD.org> sub 4096R/2FC3A793B283D724 2014-04-24 [expires: 2016-04-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 qYzm6gQwKg== =iRq8 -----END PGP PUBLIC KEY BLOCK-----
<weongyo@FreeBSD.org>
pub 1024D/22354D7A 2007-12-28 Key fingerprint = 138E 7115 A86F AA40 B509 5883 B387 DCE9 2235 4D7A uid Weongyo Jeong <weongyo.jeong@gmail.com> uid Weongyo Jeong <weongyo@freebsd.org> sub 2048g/9AE6DAEE 2007-12-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEd0e+0RBACwYdXNeIplh+WEQ9ywP1wJyTpGe2rVvkOLlJNpTJpVX7JT508G KuYI2B+Rn/V+1+AicL9tsUAnWX/tDma3bYw0Ls68LvD/571k2GYG3CMTy5FSrrtp 3v3N75jHDsfulUzHL3LHsa/CA5qzuL819KIaUfTKY0A107vcI3m0v4emEwCg2BaW OyiO9pic/WnPi4tuFjLpeEcEAIzLSKzAiZZ7U8ESKAtonwYqdu0BIRFpp0kedXqD M9cTts8VjqjdMOm55xvI7h9EGjH+crFZBlZD0NWXD00NrrQdHifulSrv5l3Wtgn8 xilqUhiYUcPQu2DHSuVlShvNZO6/rYA8R45axAfQv8rFo8NV0oElH+bvGq1mwRKY ciJ0A/9lN68t6G3LKmaSfWz13IUJT0E2qy27NnSb4RuKE2TuqyIMFzXh5+jjnp3U zRDX6KrYLju5Ire9GGJEMsGs28B5r3HXUPADqVIS8i6dW/npZlyizU7MfoRDFiRe btMpnYx7d4qnpKMpEm1J15JF84YrNGvkE55z7+g5zG0ua9KZgLQjV2Vvbmd5byBK ZW9uZyA8d2Vvbmd5b0BmcmVlYnNkLm9yZz6IYAQTEQIAIAUCR3R77QIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJELOH3OkiNU16VAEAoKnaR60kp0PF+O70GH7y v4k26FJqAKCycX2eM5PzjVzbAKHq0yMRj7tkbbQnV2Vvbmd5byBKZW9uZyA8d2Vv bmd5by5qZW9uZ0BnbWFpbC5jb20+iGAEExECACAFAkd0fKQCGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRCzh9zpIjVNenkDAKCGZSCJTG2dSCbEH3kLTpYdAnfM gwCfay7fmNNMrN31IhC2jddWylvSDlW5Ag0ER3R8ARAIALZoci+sXDkhF0ahtePy ZszOeKUg8MHIac5RID5CfjGsTsbfAv7eM7TBocAJOKBxhD/suqsdomMBMwoMKYdv R4tKCosDopYGwNFNtryXrOQctNKxIf31kc8UnqGfgRAwjABorBRJCQdBZEBm+93k lDl0azEWPFuwzZ+dA12dw0jF1/n7TAIkvaA7joFfNvZ8a2WAfJvoal0/nUqmJCmB ntaWEdZP5rOEUvVBn117W8D5B8YHp//TM7T3eT4M4Lp7wUQIiwT7fGgRWCIfIrGd GZSEykjB/keyIip2Hh//0Ft0Ot8D+4wYz9YhH/RRmfBDMBhW898B1rEewhc0wmjH txMAAwUH/iB1/HLYV9ckHT6i/UDl8lEsw5CMxftnEI6wY2i9MWqTSTiuoNE+PQAA kicGwxrxxtvLccdFE4WOOQsh9oyzbOeWWBrtxzloRBzaxC9dx+tQaOzzJAUjaEaV wneSg2x62naLiztaQ9U66g81BwSyT8NF7uYjsCyvPsrHwDELNcPdDXQ2q0GKj0I5 tSgqMOPwohYRRS3hYfoPnYZOshdwYErtMCola0hZn7LXJopRByQyT/x2N6WW0zGY YxJemF80JqLrf9RtZVSsTeqT7Sd0+kcgPq3wcoqDXKTEQ+K4yjcE7c3hqhowQU72 2S6S4JjYQhKvdJykZRuvynQGeuT8H8KISQQYEQIACQUCR3R8AQIbDAAKCRCzh9zp IjVNepJjAKCIgdGxVdwuToMZ7z1n2mJEulHr8wCfdimx3iKjNLlAE154wBx3v9Rr trI= =5yOU -----END PGP PUBLIC KEY BLOCK-----
<peterj@FreeBSD.org>
pub 4096R/1D9214A2699F8CB2 2014-03-11 [expires: 2016-03-10] Key fingerprint = D8CE A5F2 F7C8 78E0 0297 8B94 1D92 14A2 699F 8CB2 uid Peter Jeremy (preferred) <peter@rulingia.com> uid Peter Jeremy <peter.jeremy@auug.org.au> uid Peter Jeremy <peterj@freebsd.org> uid Peter Jeremy <peterjeremy@acm.org> uid [jpeg image of size 4183] sub 4096R/E0E07EC247C92CA8 2014-03-11 [expires: 2016-03-10] sub 4096R/16A597A0E4A20B34 2014-03-12 [expires: 2016-03-11]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 LvaFqyOqm12vx+IzMVt4DwsPwp+t85vZbb0n34IGN6piJiFvot75G8zkiQIcBBAB AgAGBQJTKSXiAAoJENaX3zJH9H8fqV4P/16eFRu6vinMG3snqqB2IK6vdFsKBJqC M4AAEVgylrGORaaxKsvyugSVIyus/wCm0Dvjr/n66tTamu62DhR+rHY9vaOf+B0l 1cRpaOec6Un/kWzH5zQvH/4NrkvHHarHO4GD42QQKJGOgu4AQ6iHWsJOWCi7VjzW IgpkZkaeJ9iunABQRcgUIXXIV4d5vn4PRINr6/vpZ7vRdoVYnUvn+P/VVOs6meBf vq4LxGclnWTZ3QSs8nNaLrEgvE9qHAn+2xhZE1Gxq4Tb834idndaGxnD/uw+xTf8 +SmnIXuthYR2kQ7GLvZlBOPRVmv+OPdMlEdlGUVaFmtmYjCVBZC5EpzVpK8x0QcO Op+5IkzGtFEQMm1g97xJl4p9+OLZ0a1Jiz6tazxY+SB72SPCAqnU/GtYRXR33LGv fVTdS9zWfzzypo5Bq32LT/m02Vhs2PagMlfxcPl2X7LL/24uaauCgt3JMCI7KJSV NUrf4CxgfLQpzkNBikRgeAwd0k3APzG+xE+O0QvNursUSd2wfYUVlYluPhKwG/TA tPLd6aIh0wuKRleHakXnDdAcIPeDctJf/Az8iPU0L3nA6d7/i8ayKkPJCIBeRdq+ NWVgzjYa98UxDs3onkimfjKZcLboIzaj5xXBMamVODhTtALBeSMmGs6daEAyif11 NG2MIfQ0dYWv0c+qz6gBEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEAAAEA AQAA//4AXwoKQ1JFQVRPUjogWFYgdmVyc2lvbiAzLjEwYS1qdW1ib0ZpeCtFbmgg b2YgMjAwODEyMTYgKGludGVyaW0hKSAgUXVhbGl0eSA9IDc1LCBTbW9vdGhpbmcg PSA4Cv/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicg IiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/A ABEIAJMAdAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJ Cgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFla Y2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQAD AQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri 4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOzgOJSPetEn5aoRqBNV3I21 gaMrxHGpLj+6atXrhYyScDFYGq6xHpE32iQjCg5GcV5l4h8Yanq8jKk5htySFROM ikFrnc3/AI107S3dVbzJVONormdQ+I080qvawqmOu7mvP7nzC2Cx3dMVCqOZNrZ6 U7Dsd0filq6yDEcKr6EHmn2/xP1F5ENxDG23qRwTXDPFhTtGCOeaQxLKBk4anZBY 9g0r4i6fqU6wTKYXPcniu1tpI5FDRsCp5FfNSROj525I9K6TRPFGpaQyi3nZk/55 OcilawWPbLvqv1q7F90YrmdM1+21mCN0dRNxvQnkGulh5QY9KQmSHrUUJxcP7rUh qGP/AI+T6bTQISV8PRTJAC560UguRFdkvTinSSrHCWZgoAJJPanSL8/PSuN8c6qb aBLJH2+dwwHpTY1qcn4k1F9Z1KRVfdbI21MfxY71zkkKeaSwyVOAAelakcTbnnIw irhB74//AF1QNrJKQq4P8RoTNeUz5CAW4GRwKjGRk8Z/OtWTTpGgaRVOwdz3q1pv h/zYDLNnc/Tj3pOaRSptmIxLjhSTjrUMUUq5yCVzxmu0tdCXzEymdoIPHerU2jxI jrs4b9DUe1Rp7A4+2gYESHcVH3hU8sMO/wDdgjvz2reXTQjMuO2KgutNOw/L1Ham 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 iLH9lWbIPL7sMu1iFL8= =HYt3 -----END PGP PUBLIC KEY BLOCK-----
<jinmei@FreeBSD.org>
pub 1024D/ABA82228 2002-08-15 Key fingerprint = BB70 3050 EE39 BE00 48BB A5F3 5892 F203 ABA8 2228 uid JINMEI Tatuya <jinmei@FreeBSD.org> uid JINMEI Tatuya <jinmei@jinmei.org> uid JINMEI Tatuya (the KAME project) <jinmei@isl.rdc.toshiba.co.jp> sub 1024g/8B43CF66 2002-08-15
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD1b+Q4RBACetpZD+bWytVmQ3Itmu0ZBfSDF6FVyUQuKS3OZmvsZHxxqq1+u erHNhmyte/aCI/YrEUzHPT5LU+9LMpRQD0AwSs3Ot2vUzokSiTu8ZqhoWBcsosKK eKM73V7NiTgBGuJ3UxVmKNXzUZhRjGHuekB/ZCCv1pDg9B3HPL8ty+2M6wCgu02T +vMZW0VeByn79Lpmm2nu/F0D/3NN4e8ZtLTbUJxJb/hHhLzOr8XahZCqsNF2bj0C 0u2SzkelDa5iVDWwiOkg7xI154REAALOG1FnLyO4bRPkcQ/EO5tbzXoVn0I6MPWA EiwBfVRXzP10MDHhqH0NvT8pyA4ex/BflaeFem9HItRjfojdqEUYVAACceAdLQLG MknWA/4hfAAp+dPcU8iHmd7AemuGoOhu5AAKbp2S4vwozJEFiv67wD/+WFXVggUx wbQ3X7oNiOLeg9OASDV5qtbGPATHikYagWVjndqmvxO1FiL6BnQBnzAVzOEN3L2K Ex566bUw/2R/dr/zhOc3BKxCV50T2Xe4u/cEiYkUbLj6+Y8V2bQhSklOTUVJIFRh dHV5YSA8amlubWVpQGppbm1laS5vcmc+iGAEExECACAFAkYDPqYCGyMGCwkIBwMC BBUCCAMEFgIDAQIeAQIXgAAKCRBYkvIDq6giKEOZAJ0Z/iUCa6UrrsVmKiP4a9qB 0jFUCgCgn/3mQxdtXTA6SOlFFsisaxsIXIW0P0pJTk1FSSBUYXR1eWEgKHRoZSBL QU1FIHByb2plY3QpIDxqaW5tZWlAaXNsLnJkYy50b3NoaWJhLmNvLmpwPohZBBMR AgAZBQI9W/kOBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBYkvIDq6giKBtcAJ9DRqXt h8WEpjgr+sD9OuaYqmV8nACfSdo2Ml+Qfz2Rad9OtZodmELCCi20IkpJTk1FSSBU YXR1eWEgPGppbm1laUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRhkdkgIbIwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEFiS8gOrqCIo11cAoIJT7N2GMSNXAujnuIvc HnBtgk5zAJ4qDo/En3ic8E7h7zc4lT/WQQDhRrkBDQQ9W/kQEAQA1Q07/j0kScL1 WF9EeXVEyLpTxHZ7owTI+KrRcQ6Vc6KABu1cwhE78ANVfn/CkWVXHyDEnWEIvaz2 QYwz47sqOxdOg/AmHFVd8xouengw32KNjViVBMsW/l8VzyAVvvGGNuQ+f7zDZ/P9 v9WwwRcrgL9g+uAnrJJo/wttIBqhSk8AAwUEAIqcIez2zlkwGayFeLqgwuw4PCbd kGtXs0l2mQljv8GWuTRJ5D8aD0nlM9MNaSLB7xq6igMriP/NyfIVv0aLJwRH8ilx RBYosGvm+nEmUtakhU/77uXcLtipoUGi+y1reFRVSoypJil6lqDTjKtWQlWA7xOG QzGMdgoBC1d55jXXiEYEGBECAAYFAj1b+RAACgkQWJLyA6uoIigNBwCgsUFgZMfR sEybYW4cWwBNhNTqE9wAnRf9BFkzpn3ZyD+NBkjx2INcitoD =ISn8 -----END PGP PUBLIC KEY BLOCK-----
<ahze@FreeBSD.org>
pub 1024D/3C046FD6 2004-10-29 Michael Johnson (FreeBSD key) <ahze@FreeBSD.org> Key fingerprint = 363C 6ABA ED24 C23B 5F0C 3AB4 9F8B AA7D 3C04 6FD6 uid Michael Johnson (pgp key) <ahze@ahze.net> sub 2048g/FA334AE3 2004-10-29
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEGCy1ARBAD/K2SbL6XiTJ3Rn/weuN/L78ROUltIoRGOkZE4971fLcAbtIsf nANWDrpDqbhLgEbZLeCn/EIWOPqrYyKpCGu/IoZ6kx7UPtUH4eooJBarrrQPJVV1 mfW5ktDry3AoiaUH+jL47AxFCb/bh7Rc11vrhLKdnc74wI+nu2cyk2llkwCgwX78 nlN2qTrbXxOEAPpJjMontfsEAL+4sS9DOay7NkZq2B2p9AZnSsXQg6/r8Epqznqj yPQBm489UcIZy2FiBwaUR7w0fMh5xNX0FE3xFiTd4VUTgUJUSqpYtdfI7IHvJXml P/VK14CtgRY2B24wpDPMae32hGBFUwSE9Frb5NiKlxMC4+fR71wZS7MtxTnwJ1v/ MoVaA/9FyoKCAw3Dqnf5W89dj5W5x35jLKSLobEhhUB2S2LPiwBa5A79euMvgtk0 gKeh6IslXKOmCO148ws7HSaErBIBVBDpfOsqcQJTcd5lvEbslp+z2oCKeQK3pgQ5 aEHp8IJ3YgQEHz+YityOF0jCMGNJTFAz18U4RzVxSe55iyT/17QpTWljaGFlbCBK b2huc29uIChwZ3Aga2V5KSA8YWh6ZUBhaHplLm5ldD6IWwQTEQIAGwUCQYLLUAYL CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCfi6p9PARv1oW2AKC0xjNgjhL1EHPtFOXH kGz24lF4QQCfQxkoJBq0CkLQrYvdA3MLP+IJ6ba0ME1pY2hhZWwgSm9obnNvbiAo RnJlZUJTRCBrZXkpIDxhaHplQEZyZWVCU0Qub3JnPoheBBMRAgAeBQJBgtexAhsD BgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJ+Lqn08BG/W4JwAoJaU6MbisTlg4EMF jfE+wNptwO4kAJ46A0W6SiLWbK09gu7YlgfLgdYAmbkCDQRBgstcEAgAvD4PzCsh muLtNkPVKSlk2eZbqlIuyapbuIo6rHk8fo7fkfqVOOrnGOrAT5/sflmnG3H0BLvF 4pkk7tyRtg3hz8qGACCA4SRf48TxRERpIUoW5R2cVBsMBTnpspRaFu8OdBL0dwXs LmH797gxDXCGXzSU5xKBSQN4LfoEuLr1qQmPbuPW+Rdi3hrdk1eGsJ03rU5RExzQ ck+J7a5VWsyghNCSj1Rzuw+0OVGBijJW51FD9QU+Eqb3seL7E19mWC3FMU34RFwn 5lbxolY43iPV0jc0MFcV4POHUSZ8ot9xbQpcAClTyXZh21QEIFzYjJe9ZeVWKOqH UZS1naB4k98G6wADBggAnRlPolzcjJvqvv5Hfv7oDeDARNxqeKTj+fPXIHR0Gh34 8HMfmxsFzS6nsrrVc43Q6Iaso5hbdP4UvE0/HzhPALzCTeZGpZF54pffg9Pqb84U p+D59I+b88RDBvvfwF0OBg6du08Rdkv9JfG3R+QZembK+IhUa5yxhtfbQmI6Y01r phtx4FAKZw4Xp2eb7IBoZWktfcOE99UJcl9hUmBHJXRznQoCHz5OwAKA6a/0b7j7 B3bPxj+tLlQksdmRbEJKVBa3LQm09PkxfZj8iahvQbp23p5VSJDKzNDrgmsqaCpV CFNgMvYLvtxC2xA0uNtaRpdZRLS/11NUj3oJIULv8IhGBBgRAgAGBQJBgstcAAoJ EJ+Lqn08BG/WFK0AnjdWWBxG7slwI8u1W+7uRsuh6NXMAJ9r+6Br6mlEtsoWrMel IlhG1mVq6A== =I7wA -----END PGP PUBLIC KEY BLOCK-----
<markj@FreeBSD.org>
pub 2048R/80A62628 2012-12-19 Key fingerprint = AFEF AD33 1C4E FFE5 141E 0157 05A4 DA8B 80A6 2628 uid Mark Johnston <markj@freebsd.org> sub 2048R/47C7D3C2 2012-12-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFDRQycBCADMNjnbsXUOlvy35VnAJWE3zHAPqmXKqUTh0t0LWEtaD8KaNMHY egadQNWYwJAjzAI07+3grk8xcJLVjbbB+rC45tNPAxjAf9Jd5WZkZO7vKX0tIDLc Kteqp/5UB8SZ+XuhrtzLkObbEccwt66CF8vsUps5hWm1d+Nfxd798sjGmB8uzRJm gO2RrVtrOW7OQG+aFjBwlQvaiYavQ08z/xE2b83Y4Jp7c1FlqneFmK4xWSMO1qEE Qre8+iizDnPkGVabSLGJxE/EjTpHVBSawkXBgs9AOBoUR95fRr2Qc7GtP0NCHiNP FecGq5vCdIVyejUVzWmviYP7y0roG3yE+AppABEBAAG0IU1hcmsgSm9obnN0b24g PG1hcmtqQGZyZWVic2Qub3JnPokBOAQTAQIAIgUCUNFDJwIbAwYLCQgHAwIGFQgC CQoLBBYCAwECHgECF4AACgkQBaTai4CmJihAPwgAn9yH8EQiyS2x2qy5Zecl80Yz sLHSjc0uCBCNyzaLgGnMkqQDljyJzgY8DOL2vCWgSO0uJvb52Zl3nwxNoeMpwA3f rcaurFUUTCNmq4YfAHxjkbi5vQI0uJP7StFcFRPcnBOF/ddi+KUdc++xhqvcKBF9 uHVLK+6MMp4I9ofXNdrenfqXaODDTIaSO3SnL690OFSAAkueDN5hjJRuuEprbZFP qyfzwHAot/Owy6Db7LA9MrE4GQFDszA+wvXrreMDdPIVV8dXXZvuS2oEVV9XoTUY +VkcOdO+UlD1DWyEP1cZYhyzhwJo8G7ZZJO7JpLB6M6c5bdAyMtHW/aAinh+J7kB DQRQ0UMnAQgAxnBvgp1D8Ek07hhV89yhPkucEuxi5Gz8doYedzB6uOUGFdUK8y9B gwo8dSjIY3i4rVpJlarJNvd1XE2Pu3YlwvW1Gyo4pa1M5Q/QeQ8thW4k8F4r+RGN 6qqk085diUKWSwyhjAULOYSWBEbRaPp9L3FNr3uYncrAFhKN3n/o3+18DG2tS++/ DavKZdNgFKnoLEZeTSOAdvwkTjcWV6lRVcI8vsbi1bl5dA7qCbhfRmJJEaMqhCG8 bEIJ6r5JtmDNwOzCnl2wS0UsmsMV2lj5BGiRmyw3xdxDGYTICm0j+YUce9lb2V6H PWcHCil+Jcg1pJ5oKai4uR1Oo97slmoiXQARAQABiQEfBBgBAgAJBQJQ0UMnAhsM AAoJEAWk2ouApiYoo+QH/RLaL2ouB/bxkED60YgdaiOHX+3ZUeXwh5SHapS2cFXU ySUcYmFe3fbsXoyeOi4E1AG2k2PyVk/cA/HDNr8eiqgFO91dQ6RnY+VnbN+DGRGl 9oW7kqY/7kV0ExXpPGSmxdobpeCVkSO3WzY9XKC5VUosc/jCm3+6NqZaCnIIMUNA qUD25P9stIBvEv+QrkRn+9vnSHbyvnQvaHWMLrItMgyjrZdd4LevLQaCo3bc5+eI 4ZhBjHErzC4PmeKgy0ancqWMNfgdZ3fzk8Tcwfy20S+b+TicU0xlQnx8bkPlksCJ h7pRVYuHo9VkueYsh5UoyrMJhYe7DQ4lGbv2fj9KHZ4= =b1OB -----END PGP PUBLIC KEY BLOCK-----
<trevor@FreeBSD.org>
pub 1024D/3A3EA137 2000-04-20 Trevor Johnson <trevor@jpj.net> Key fingerprint = 7ED1 5A92 76C1 FFCB E5E3 A998 F037 5A0B 3A3E A137 sub 1024g/46C24F1E 2000-04-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDj+agARBAC1AfvgGQEVdLwS0dirwaN+pDDWWiaSWBNRNo4T4KKG2vyhhnUi f2PcjPx8rYLvbokJFltoTWos3lS8hD8PZGBDlImOPzffdm/GYEmr1mE8fQvzjdKD iOTqQi5IYYhLZIMmUpBTK7XN2zrM8VrkgCpb5TYtBrQUPheWs/SZ31EvLwCglUPA T54Joolfvk0Y8I6dSGYctpUD/3teZiYwem99CE3b1tsqavQ1MUfjwSPZQq8wjVe8 GZUtwaeExugAxNjXIJeXiaCij7S6JSTS0ytyxZ5/O1QFmBhuD/7zjNFD8yB8nu8x slma7mVhMuhqkwU06hTkp6MNNJ7kRItoVETtLqR5mW+0UUSZyePQFIH9U7TKPG3W vYMIA/9btsMQD/7QA9p/m5OP4sfdVdNCZ32tJ534bMjDYyf/P8k7QzvDWU8f7lbk 3vX5pSmHplws0PwSZITmRarMdEH9ucP+24m06MQ7YmDYyLlUCestT2gAxnB5/X1h fJnmdCLi/Vt19WrVM79ebddbCqCaoz0xv+1qOQmPue/vKXIH87QfVHJldm9yIEpv aG5zb24gPHRyZXZvckBqcGoubmV0PohWBBMRAgAWBQI4/moABAsKBAMDFQMCAxYC AQIXgAAKCRDwN1oLOj6hN4YuAJwOTOURcLpgAx4HT43jNxDYCsT7DACdFdGCwsi4 w5ZiCeoizmoBMFvYTa65AQ0EOP5qIhAEAMAerdyvcs7DOxpsli24gkKJxCwHSq9U 23k283XpZHOp/0eS6WEJMHMyQ7BRrx3X6mkSgBEnHdO6MetBQjOHdjSb8ycotrJa H9eMkZ/Iky6dbiWpPLI4ytS4Q8Z4oEGjUTm7pJiE/pgmaCX/kv0WMs/35En+42sY VoVU9bDI+X+3AAMFA/435RbM6ywO/kL8D3lhwINGEIqmxWpJDlXPPJf2pLiWZZVK MLGkHOTe2kUdd+E6WcoRZdGblOKxLACrlKpJa91aw1ftQT6rt0k8GDCGLT/33FWx 2IRSf5sHmz8IOm6L8TcZU31hdWqpDLmiIj+IjUCx8+eAUjZcVRoj6BYnWc1Z64hG BBgRAgAGBQI4/moiAAoJEPA3Wgs6PqE3PKYAnikfYo//UA7/jrDuTXzqPmi/Un5f AKCFsfcXDbLGfWaAqe2YzeDR2Z55/A== =N4HT -----END PGP PUBLIC KEY BLOCK-----
<erj@FreeBSD.org>
pub rsa4096/96F0C6FD61E05DE3 2015-01-28 [expires: 2018-01-27] Key fingerprint = C5FA EC74 96D2 C61B C548 FA37 96F0 C6FD 61E0 5DE3 uid Eric Joyner <eric.joyner@intel.com> uid Eric Joyner <erj@freebsd.org> uid Eric Joyner <ricera10@gmail.com> uid Eric Joyner <erj@erj.cc> uid [jpeg image of size 5419] sub rsa4096/D2427EB089BCF21B 2015-01-28 [expires: 2018-01-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFTJY4cBEAC1Pzmnlgw4ixv+YO+aFCLb/VyUdorvAUOUVu3XNp7UkanT5HgY yhSLGSBqAyfd9FW6zgFbuokOeCMZNcsZo6/WGDRSn9ps9EGU2VhJBfC2UaiXGpMi VdO1zE3m2tQpR6GaFNxjrGAU9Wg3M4BTAvpj2JGxfE14DpdZbS9cytrdPKRgSnzq ZT0ikvWTdS6xZRFWTkqFZ9Gwyq6NJtozi86SqMAJZ3xoRIzGBCGW/EATSInjNCcE UXrnHM4NQ+egqWwUxEYWl5oImvT8wUWCqO9YhheAHjVY+28BbMX7BK+ZoPXLqMgY xe1y3hRnn91rz791baI3CZQq57F/XREOcKm35iqap+l26NIYylcTM35P8AmcvE19 FRk6F8u6ZlwGlh/mlLcHprPKqy0/qy+WfRMqyvkvDxj/z9oHrdVYl/9v/ixKQjcp 6dJiPo+cQ4hMRBccirWI5r6eQ/F8TXd9c0g3EvLWjfVHGHlMcC2p0MhJUdeZHSWE Ug1DM/7b4P8wi9cAjjzFFIAQPCcHMneq0/W1XjaJ/tNn16aTVb2KftRE9jPQ4NcP Q96JKDrqtLXwnKySuIGBJWDqCdfZvBkAAp8PLjp2rmaHeZsBy79BBEi7N6RUs1OU 1nRnK7mYI9BEH72pmbbtv29wQimzxTyL0imUxwuYgFnik8I0OB0vuFjxbQARAQAB tCNFcmljIEpveW5lciA8ZXJpYy5qb3luZXJAaW50ZWwuY29tPokCPQQTAQoAJwUC VMlofgIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCW8Mb9YeBd 4zUmD/48eAhbjWQZHqJFnNs2cOM3pZcAdDzCBK7zzeSAHwQWixOnrwCOxgnf75J1 ccI4xujghCNDGlIyPqiABVKuWFGGCL7L/0Hmd3vpw5c34BiA2U5QviKqbi0xvzd7 Wb+pD0KZmu48ssUw78fTtPiphOqK+8pEtWvuyX85EfndTsxJiy/DLw1DiuRBd9Gz RGQssLuTidNTpzj7bK/2C1d40lGxkxNnyWF+UmYNtO679lVxG0Rrt0ReEQBMdgJx 6FDY+cewNP882GxgBhTMHtFoCh52PtdAx8mBCRQvvAYTGXznA4XGgpIUqaGiF1tj iy1LGTPnuT56AJwzzgP5+smiCyK5VZ80esDTJcip5MLCrpqCvnn4w7dM6sUzdkUw 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 XJHN18OEiX6BnlXLMNjd2nHWtqYs0LVDxz/jRxz+fTd946WAPQWr0cj6KkN+OqC2 BHuJEXd24127QS0SF7YqmooYAuyQB07JEvrIXgvQKhy4n1HyulSC3XfT11EtRaGd MpHEwsmHactWdf88LJFn3d7reADGTFaLy3mRja8LumwouL7edQYF/crPBsv2IkR+ eRfb+T7N1EbVOWNfY5ypGNg/BfIvoRK3cvkh0PG9gVaQJmwzBXSqpuDrAfowuyYP /O6IMSa1RpUpNGrfPYciqd6+L02LKZWKtzL+QTEs4gjR1H7UfAEQAAEBAAAAAAAA AAAAAAAA/9j/4AAQSkZJRgABAQEAYABgAAD/4QCqRXhpZgAATU0AKgAAAAgACQEa AAUAAAABAAAAegEbAAUAAAABAAAAggEoAAMAAAABAAIAAAExAAIAAAAQAAAAigMB AAUAAAABAAAAmgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAAOwlES AAQAAAABAAAOwgAAAAAAAXbZAAAD6AABdtkAAAPocGFpbnQubmV0IDQuMC41AAAB hqAAALGP/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB /8AAEQgAOwA5AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYH CAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGh CCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldY WVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1 tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAEC dwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ 2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/re+BH7N3w3+OvwP+Dnx m+IOp/GGfxt8VPhd4D+IHilvDf7Q3x88GaD/AG54s8MaZrmpJpHhjwn8StG8P6Pp 0V1fyRWdnp+nwKlukfmmafzJn9W/4YX+A3/P58fP/Erv2nv/AJ79dJ+xL/yZz+yn /wBm6/Bv/wBV94drX/ay/ad+Gn7Gn7OvxW/ab+L8upx/Dv4Q+Gz4k8QxaJb293rd +st9Z6Vp2laNa3d1Y2tzq2r6rqFjpunQXF5awy3d1Ejzxglh7mPzfN6OY5jQoZtm eHoYfH4qhRo0cbXhTp0qdaSpwjFTtGMIqMIpaKMYpWSR4GXZTldXL8DWrZdgqtar hMLVq1amGpSnUq1KNOU5zk43cpzvKT3cpNvV3ODP7DHwGHJvfj4B6/8ADV37T2Bx nk/8Lf4HueK59/2Rv2Woigl8afFqIyJJJGJP2yf2jELxxFBLIgb40AskZljEjKCq GRAxG9c/56f/AAUK/wCDg/8Abx/4KHfFbXfh1+y3rnxJ+B3wCudYWHwD8NfhqsOl fE/XrSPSG0m9uPiJ418OyS6lfw6s15qF9eaHZ6nF4Z0+J7O2ZJri0fUJvx/tv2N/ 2yvEOi32vr8Mvip9jsVu7a6i1Br61mSTy45LmOOG9uYFktrgx7EFvuSaSJVK7hET 4uK4wxeBlGOK4pxtCTSk4Vs3lTkoNpKThOopcsrO2mqi7aHt4bg+nj6aqYLhmGKo vmTq0MqdWn7iXOlUp0XDnjbWN+ZPS10rf61Wuf8ABPz4D+IrForTxn+0zoguolkh 1Dw3+15+0pBOEZVKTW8lz8UL+B1YFXBMUkbhgcENz+Tf7Wv/AASh/a/8KaVqfjP9 kr9sn9p3x5DZJNdzfCnx58fviPZ+JZLdPMkaPwv4th8WWWlapPGgVINL1y0sLmcZ Kazc3BS3f+ST/gnD/wAHCP7cX/BNjxHefC/492/jD9pD4O2mlaT4et/hT8V/FN7o 3if4YxaIbPT7G88BeJr7QtU1W1ih0aBdNPhbU47nQpoI4LiBrCdRPX+j3+xj+2b8 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 7ZjSJSgh1g3ZqXNDjK3hN/GDM3rTL6re4Q== =P8wZ -----END PGP PUBLIC KEY BLOCK-----
<allanjude@FreeBSD.org>
pub 4096R/9AC116935125929F 2012-06-06 Key fingerprint = ADFD C765 6938 A4C4 8663 A5B7 9AC1 1693 5125 929F uid [ScaleEngine] Allan Jude (Allan Jude - 7065213 Canada Limited) <allan.jude@scaleengine.com> uid [Near Source IT] Allan Jude (Vice President - 7065213 Canada Limited) <allan.jude@nearsourceit.com> uid Allan Jude <freebsd@allanjude.com> uid Allan Jude (FreeBSD) <allanjude@freebsd.org> sub 4096R/374364F98C697BF2 2012-06-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =ZejS -----END PGP PUBLIC KEY BLOCK-----
<tj@FreeBSD.org>
pub 2048R/81E22216 2012-05-27 [expires: 2017-05-26] Key fingerprint = 8EF8 36C8 44A6 9576 6ADB EB0E 4252 33DC 81E2 2216 uid Tom Judge <tom@tomjudge.com> uid Tom Judge <tjudge@sourcefire.com> uid Tom Judge <tj@freebsd.org> sub 2048R/2CA4AA0D 2012-05-27 [expires: 2017-05-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Zm0FKdW5eJP4ewW8 =jKVY -----END PGP PUBLIC KEY BLOCK-----
<kan@FreeBSD.org>
pub 1024D/C9BE5D96 2002-07-01 Key fingerprint = 7474 A847 DBF5 50A5 FC3E F223 43AC F58C C9BE 5D96 uid Alexander Kabaev <kabaev@gmail.com> uid Alexander Kabaev (FreeBSD committer account ID) <kan@FreeBSD.ORG> sub 1024g/534D9E06 2002-07-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD0fyVQRBAC6DXZDVJoFc4CPKODmJmep0t5dD+ObG0hYiMfo4ygDAvsftJPv ZR69EUbKCqVOXPy5InOR1o1xwERvNVXxBGOFwAdoU4eJt/f3ttR6YSLWDG3iHWRQ Fze9mtZ3bCBcdv8V0pXint/w41y9nBmG03F+Ag2toD5mHYqV+9vqH3XTmwCg7Rq9 K/Pk7Z5lAR/XWyJv6Bk8op0D/j6Jef2ate9+NwBAti+9GgIocBGx36X/SpZonGOV xtX5E2MranZGCVnbdW1hXfKLaiRrooSxbGpMnFbjqY+peHZ905pd+3v++L0sGSUA gLbGL+5GFDO/WGay0vTUBs7Bl+1cbsdeQ67+08WuIRfcbDjA9fYxI9LLTb4J+IrD Ni36A/9WBGxkXNJCTrtAqhCoHRgfo1CHNk+U3KiIlwFfvi1WRkqEgFNQ6aLNsPcT DkIoPLj2hqKf0Pfrr1MWGcQF1uYxtW8diFH9FzlZpkwXvHPOBsJSWtH8qcZ7atFC EIwvZzurMbYWaTGNYMEL3kj9aRjKb2OnsKABZ25H1cioFReMx7QnQWxleGFuZGVy IEthYmFldiA8a2FuQGthbi5kbnNhbGlhcy5uZXQ+iEkEMBECAAkFAlCtcHYCHSAA CgkQQ6z1jMm+XZYzSwCgx20s6h6+tB6nj7gs0mHRmXEd9rkAn3PbiVCY7AvRcQKd jzMg1fh609+NiF4EExECAB4FAkLcBooCGyMGCwkIBwMCAxUCAwMWAgECHgECF4AA CgkQQ6z1jMm+XZYJIACePCBQpk+mw0WvLAkE7I5DkeCv4w0An3MKAuq3Acnzxw5J 1U5XsB0nooiStEFBbGV4YW5kZXIgS2FiYWV2IChGcmVlQlNEIGNvbW1pdHRlciBh Y2NvdW50IElEKSA8a2FuQEZyZWVCU0QuT1JHPohZBBMRAgAZBQI9H8lUBAsHAwID FQIDAxYCAQIeAQIXgAAKCRBDrPWMyb5dltYPAKDD2YYKr7ZDEbVKAdyHOyF5dl+h 3wCdFWg9dC8w6dD7nUKvg9b8cq91byy0I0FsZXhhbmRlciBLYWJhZXYgPGthYmFl dkBnbWFpbC5jb20+iF4EExECAB4FAkLcBkICGyMGCwkIBwMCAxUCAwMWAgECHgEC F4AACgkQQ6z1jMm+XZadUgCggxcqTFp+zV2YOM+cDlVtreVZDo0An1kXV2vUaxap 0fQTq2QMfGyMbsG8uQENBD0fyVQQBADOlRurkQxMzKcXE8Wfb9dimYC9gyNso19f yKAJGxD1lgvJeVyf2OR4k/d6ctQAcNuv3qT0al9rE5DQMiI3fC6xLA/xJekqDCu6 LLjdwLYXJtjSq6HyY2qUS4+sdPJSpVadaMKE1jLVEYCtXi/Q1gTfwPDQp0GzSS7i gyouzi3QuwADBQP/d8b4C53pgkrcHQ/xOv4UW5KQrJg5DZMMxZ6gF3IGFGF99kHi d+zBtrzzlq6PmFpDf69LRaISk0qnjDAsrRt/ypnsRnQ6YOmTSSOKK6y7runPTwaP /gSFeDFk+9ZNxjebpcoN6SHFxi3V/4ITVJfXQJIU/BT05A6LeZGYykTdrCOIRgQY EQIABgUCPR/JVAAKCRBDrPWMyb5dlpHKAJ4x+Ltw0UyNi82weZpghm6b02OVvQCb BB6jh/RjnfLoZ/Cq2dke6K5Heok= =4r9K -----END PGP PUBLIC KEY BLOCK-----
<bjk@FreeBSD.org>
pub 3104R/28D9A6F364EB7512 2013-12-24 [expires: 2015-12-24] Key fingerprint = D961 95E0 4D80 45FF 4160 FD17 28D9 A6F3 64EB 7512 uid Benjamin Kaduk <bjk@FreeBSD.org> uid Benjamin Kaduk <kaduk@mit.edu> sub 3104R/BE2F61FDB528443D 2013-12-24 [expires: 2015-12-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 C25SgvaoG4b+0pE= =5ybb -----END PGP PUBLIC KEY BLOCK-----
<phk@FreeBSD.org>
pub 4096R/8E5F44BA68E689C5 2013-09-28 [expires: 2018-09-27] Key fingerprint = 4357 5923 B8E1 1D70 3C66 5540 8E5F 44BA 68E6 89C5 uid Poul-Henning Kamp <phk@FreeBSD.org> uid Poul-Henning Kamp <phk@phk.freebsd.dk> uid Poul-Henning Kamp <phk@ing.dk> uid Poul-Henning Kamp <phk@varnish.org> sub 4096R/1A605690A520ABD6 2013-09-28 [expires: 2018-09-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =Bvkq -----END PGP PUBLIC KEY BLOCK-----
<pluknet@FreeBSD.org>
pub 2048R/10607419 2010-10-04 Key fingerprint = 020B EC25 7E1F 8BC5 C42C 513B 3F4E 97BA 1060 7419 uid Sergey Kandaurov (freebsd) <pluknet@freebsd.org> uid Sergey Kandaurov <pluknet@gmail.com> sub 2048R/5711F73B 2010-10-04
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ZHTrB5rRodo5ARlH/LF9IQ== =RXWt -----END PGP PUBLIC KEY BLOCK-----
<cokane@FreeBSD.org>
pub 1024D/C5DAB797 2007-07-22 Key fingerprint = FC09 F326 4318 E714 DE45 6CB0 70C4 B141 C5DA B797 uid Coleman Kane (Personal PGP Key) <cokane@cokane.org> uid Coleman Kane (Personal PGP Key) <cokane@FreeBSD.org> sub 2048g/5C680129 2007-07-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEaj6Z4RBADnHGSN+HpgYx4kwj2c//kuW91OOYhYlstDCeVTlNc/7YpbgF3T KQKBWHu7uqygI7IeboCuCltP7D+PcXTVdBlh6X4aiwV0XSBCAF4ZngCb56OsSBYd MPjygHV3TH2TKe4PGqH+MZ3umogB3TZVMLpz4S0WyxXjUxLm5tYn7rOCCwCghTRd 00JiGg0u59cT1/GiD2KYE40D/03DKCm4IvMRFsxc3IGhXQc3rQJVhBBAxnnzBA+s R3i0xKzGqBslEUG+AxUMFjohjQgTWjFRa1PTFgHih95Z1lR0/oO5teyDfxjeAPA5 2hUoB3PF5NUFeMWXPCoSyb48uswJ5CCeX/IA5lVO891+jQh1LHIFQDa/rB6zeYzQ HaSXBAC3RheXdRaEFGt2JkNqAZxEQVtiWe5tebdm2oh1RaIfMQ+U1p4X9EBQQjGq 6JeeUsO56HXECEgCyk46fgo2xNwIXqYi42sQlIGn8JDBwOLyjD4iJpz2uxC2NO9J GKUOMdsdydUpfdkF7tWu1rGXXmzGcUUkHXgKsF3jf739FyGAubQzQ29sZW1hbiBL YW5lIChQZXJzb25hbCBQR1AgS2V5KSA8Y29rYW5lQGNva2FuZS5vcmc+iGMEExEC ACMCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCRqPskwIZAQAKCRBwxLFBxdq3 l7aXAJ9829PUx9ST75k3L6/nfkejftuUFwCeN5vqGr5uZlkCQr+Bx45HbcyFQp+0 NENvbGVtYW4gS2FuZSAoUGVyc29uYWwgUEdQIEtleSkgPGNva2FuZUBGcmVlQlNE Lm9yZz6IYAQTEQIAIAUCRqPstQIbIwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ EHDEsUHF2reXPTgAn2uPDHMfAoaLp+Eg2FfIuMlVNgfEAJ9xBcFz8kLTrAbKnthL S0yBqAUrv7kCDQRGo+meEAgA22OriKy6l+mvGIqbwk67Yz2zcVtHx8Jq8uuyt4Ue JfuK9H8rDOz783oF3++ywf07xqtl70rH+KHSNfVyXUetVXfBUZfo5bTwxokQWE54 eJukJyZeDYXpaJ8ro083lkHsqE9vtTSwJfU4rqRpu67nC80WSkke0t/35sHKqwJI WXlHniGD3dJt+ZTy6hxzcx3WjlNDNUEq6iSl28XNzWdvpKIrah/ksO5O2akmaZcB SXtHthWdX58hOCHBhS1QQSKvThL3VlFtsi7EhW4/rNekDomypLxHGErprjMGV3GF 509kI2vn7NoA1G4sxrESZK9sNIC+KmdWO0MQ4NYhB0NAnwADBQf/XFiDa83fYJUN LBqGGgeOPE+pyBS6gVrw6Kz62nFFgfW9hHtYgItzS4XrDHCc8TCSG4zOBqBY4Qvh HgJ1Fa8rppbMUMI32egtfY0/cu8NVWtHlYp9aQp5tM/0zPu5RaRpQxafs9e5j4gf fd6mY3ro3vJjZ6UczORKFBHxLDg/F6UCeOZsv8Ii72YDqzZEFdBUMJH7ArHFKndd ZxkN7+iGXZorHnTJj8mXSDYmvyaI+Gfn/dea9RDp9h75257cHhnbaDd4ZvlUK7JQ 8HFb6jM0LsadfDuSSMLUYFozqeG1MVCJgn/Rv0i4FMlI0QK/6r7njvvfR6p4mLl5 n9r0NOG11YhJBBgRAgAJBQJGo+meAhsMAAoJEHDEsUHF2reXJO0AnitUss1PV58K ++igcU+jU/EAsjbNAJkBlxLkkDzmxfWATLWri1+qzA5WDA== =L430 -----END PGP PUBLIC KEY BLOCK-----
<kato@FreeBSD.org>
pub 4096R/3CF9ACE7 2012-10-02 Key fingerprint = 5B72 AEF9 B2F9 069D 54FE CF60 444F 91C8 3CF9 ACE7 uid KATO Takenori <kato@FreeBSD.org> uid KATO Takenori <kato@nendai.nagoya-u.ac.jp> sub 4096R/1C593356 2012-10-02
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =jQtb -----END PGP PUBLIC KEY BLOCK-----
<joe@FreeBSD.org>
pub 1024D/E6B15016 2000-10-19 Josef Karthauser <joe@FreeBSD.org> Key fingerprint = 7266 8EAF 82C2 D439 5642 AC26 5D52 1C8C E6B1 5016 uid Josef Karthauser <joe@tao.org.uk> uid Josef Karthauser <joe@uk.FreeBSD.org> uid [revoked] Josef Karthauser <josef@bsdi.com> uid [revoked] Josef Karthauser <joe@pavilion.net> sub 2048g/1178B692 2000-10-19
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 p5J1gj4xWykgTuA= =U6zf -----END PGP PUBLIC KEY BLOCK-----
<vkashyap@FreeBSD.org>
pub 1024R/04FCCDD3 2004-02-19 Vinod Kashyap (gnupg key) <vkashyap@freebsd.org> Key fingerprint = 9B83 0B55 604F E491 B7D2 759D DF92 DAA0 04FC CDD3
-----BEGIN PGP PUBLIC KEY BLOCK----- mIsEQDQwdAEEANxnThVC8GNO9VXTjWFhJh7XgMLHf9jDd0B1804WUqc3c76r8y/k AXZ8e3kNH1rpa+VJ0rYQnurQg5BeFQny8TzU6PC9QSdqNKSCvhai6B+w3t15sKJK nGZ7DwyoyuShMFNMVF250KS7dEZnYy8yrtopCIWJAWzuzuQQtmUYk4B5AAYptDBW aW5vZCBLYXNoeWFwIChnbnVwZyBrZXkpIDx2a2FzaHlhcEBmcmVlYnNkLm9yZz6I tAQTAQIAHgUCQDQwdAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDfktqgBPzN 031cA/9ZuwCRbYhTHWzOhQuT8dm7Bby0wEq+KzkULXd/ExgxCu/54t9M7csD378X /Fg2erLP2J8cYIcVXmdtIJO8AwZRw5GgmVP+h1sEY+KT8jiJNlX2hB/9qCmng3FY ItLBY2t7XVmTPMw8BLANE7PJ1LKT/OoUHEk0OjK53KKGNU2oUA== =VzLE -----END PGP PUBLIC KEY BLOCK-----
<pkelsey@FreeBSD.org>
pub 2048R/044ADF500A4B194E 2014-05-30 [expires: 2017-05-29] Key fingerprint = 4082 2A15 231C 09EC D86E 63C2 044A DF50 0A4B 194E uid Patrick J Kelsey <pkelsey@freebsd.org> uid Patrick J Kelsey <kelsey@ieee.org> sub 2048R/CB7433052A5B26E5 2014-05-30 [expires: 2017-05-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ACsIIpVHmMhmqZAaJ5rRdtaoKNo= =tZis -----END PGP PUBLIC KEY BLOCK-----
<kris@FreeBSD.org>
pub 1024D/68E840A5 2000-01-14 Kris Kennaway <kris@citusc.usc.edu> Key fingerprint = E65D 0E7D 7E16 B212 1BD6 39EE 5ABC B405 68E8 40A5 uid Kris Kennaway <kris@FreeBSD.org> uid Kris Kennaway <kris@obsecurity.org> sub 2048g/03A41C45 2000-01-14 [expires: 2006-01-14]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 =nTL1 -----END PGP PUBLIC KEY BLOCK-----
<keramida@FreeBSD.org>
pub 1024D/318603B6 2001-09-21 Key fingerprint = C1EB 0653 DB8B A557 3829 00F9 D60F 941A 3186 03B6 uid Giorgos Keramidas <keramida@FreeBSD.org> uid Giorgos Keramidas <keramida@ceid.upatras.gr> uid Giorgos Keramidas <keramida@hellug.gr> uid Giorgos Keramidas <keramida@linux.gr> uid Giorgos Keramidas <gkeramidas@gmail.com> sub 1024g/50FDBAD1 2001-09-21
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 IgCfSGrV0biCeEg2LYvkY8r+qISrp8eIRgQSEQgABgUCShJ0sgAKCRBKChvI5PT/ 5qKNAJ9v7FrYn9H4JSkDSkodD5e58m8o7QCfYIYTc7ZtJezQVDfs5trMaZJ9hSG0 KEdpb3Jnb3MgS2VyYW1pZGFzIDxna2VyYW1pZGFzQGdtYWlsLmNvbT6IYgQTEQgA IgUCTCrZPAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ1g+UGjGGA7aY hgCgodxcHXJakfN/aTje5ptVDfnp9r4AoI8VuOfyfOa3oNG7l5b02xyBlB5atCJH aW9yZ29zIEtlcmFtaWRhcyA8Y2hhcm9uQGxhYnMuZ3I+iHgEMBEIADgFAkwq31Yx HSBJIG5vIGxvbmdlciBoYXZlIGNvbnRyb2wgb2YgdGhpcyBlbWFpbCBhZGRyZXNz LgAKCRDWD5QaMYYDtsu7AKCQ4dJNvHzvIY2N3TZ9hQgkdHCTcQCglV+YmYD5tfhK fxz6xA5tWYKsazuIRgQQEQIABgUCO6yjtAAKCRBh4yFaDntT0WGcAJwMjYa2mHPt EJnBP6+q5ibZKotr+QCdGcFV/PUvU+x6GFu51qYyjeWIucGIRgQQEQIABgUCR+T5 GwAKCRDuYs+nBbNfMveNAJ9ky78WZ1m2J6k8kAaR0WH8xyHp/ACfaElBolLsm9Gj YVJil7G6Hq3yyuOIRgQQEQIABgUCR+T5kgAKCRAq3iExvmZmv6UpAJwM2zEmjcqD p8aXCCDJ/1/2oT7IjQCfaMLk0j5ORVhqctDvAY+wwZEvzOKIRgQQEQIABgUCR+T5 kgAKCRAq3iExvmZmv/OpAKCYm2oSekQXnZqajQU1RfZKM7CsrQCgieh8jdbNAjRP o1UyuApv0ZPoZtWIRgQQEQIABgUCR+Uv+gAKCRAEoQQzidLT0DkXAKCcjUk/vXuz jTaCl+qbcWFUMhnsFQCdFXUhl/DaE/12iREGM7Gez8ksk8CIRgQQEQIABgUCR+WJ hgAKCRAEiI4tF8pLCg+bAJ9hlq2p/iT9cF49pLIFr0BdsRgrFQCfSpunlpTurbIY f7QjOY/2VavPdFKIRgQQEQIABgUCR+WmiAAKCRCZZAgVZDELDQUBAJsEwvc/iP8R dmQsKJVdAd7HmsCebgCdFILI2RcyU+cyaqSJnQtGpTrWs0mIRgQQEQIABgUCR+Wm iAAKCRCZZAgVZDELDcPbAJ9B86zJfqXItUmFsdbjnTkfv0Du/ACdEWm3KD6P8BLH YbmSrODft51RJQqIRgQQEQIABgUCR+YdBwAKCRBn8zEabg+0lFvwAJ9O82HTpKKG vFLoi4YgLNxnB1DikwCeLkyPVIOaGE0DwDLD0mfxMu+a3eGIRgQQEQIABgUCR+Yd BwAKCRBn8zEabg+0lMLfAJ0bVOPKNtXRo1DiwlOt7fzRU7jUHgCdGTk8w4f593R2 sy/AuP2OcyC5UjCIRgQQEQIABgUCR+ZKlAAKCRCO4Jst5hzfnyoNAKCQpB9PRwaU VUJ135MP11iFJDJ9IgCfXqKfF9jLE3yMjZgIcEpL+smlcWeIRgQQEQIABgUCR+Zf 8QAKCRC+0FYoWVDL6s5GAJ0Qa5e084kFMk/x9yi3ZJJkYGYoSQCgg/osMIqE0iap kgpMFHPDEC9/s0aIRgQQEQIABgUCSD+7iAAKCRC34+da/nDnSv66AJ9SsNj8FsHC PEf1/nj+/XfBvSS14QCgvrpmjWsneMDPc5KS11G5536l4/SIRgQQEQIABgUCSY3E 7AAKCRD9YxGtr70E+RNrAJ0aVYtYjGIUv1jvsI0e5ZSSbf9i6wCfSx63gTBilUjw ytYl6pksrimIdLmIRgQQEQIABgUCSce/MQAKCRAnH/bXGvzH05pUAJ9tJ7FyfhOW sF3A7ewo00h3ofJfjwCdFH30b9A+0IAClS/4EZVfNDVsMniIRgQQEQIABgUCSgc+ swAKCRA1vLp3h/iomBj/AJ4l3/jneMZu+goTdI7hKe8rsDwotwCgjto74WWmTNqu cNhr+kDMDr9ZBjmIRgQSEQgABgUCShJ0sgAKCRBKChvI5PT/5gmDAJ0W4SzU8pEN JGqvn45YusEpJIMBQACfd6t+Th+2EBgQ+oZh2Bus0N0CTl6IRgQTEQIABgUCR+VE mQAKCRBYgr49723CGoOzAKCg2M0IsBFkiCFqZQtjEOh6THH3iACg4n7nvzcGAVcT hqfao561aZ+b5e6IRgQTEQIABgUCR+VEmQAKCRBYgr49723CGv79AJ9DqepWswek rpFOW68PVA+PD7kAmQCglDC/OFB9FMFaNzblUgw+BHUHQQSIVwQTEQIAFwUCO6qZ /AULBwoDBAMVAwIDFgIBAheAAAoJENYPlBoxhgO2ltQAn37K+r+lNFAES8vwWD0d ANjiYkilAKCDaK9qiWj1wy+ccOkx4lp8Dk2nBohfBBMRAgAXBQI7qpn8BQsHCgME AxUDAgMWAgECF4AAEgkQ1g+UGjGGA7YHZUdQRwABAZbUAJ9+yvq/pTRQBEvL8Fg9 HQDY4mJIpQCgg2ivaolo9cMvnHDpMeJafA5NpwaIZgQTEQIAHgIXgAUCSgGFPwUL CQgHAwUVCgkICwUWAgMBAAIeAQASB2VHUEcAAQEJENYPlBoxhgO29LEAn1Jthpzv 3o36AS44s7WZM6/94PjRAJwOFfTn1DgYEe2sjxgTx/d2XIGq0IkAlQMFEDwZ4kGY 5EXs8/cRtQEBz6MD/0mjU7j2oD6tnDB2nzULCCoTqPojv9FEnZucyzNO/YfIsjJp 1GyqSpbftIf3QByvWvPt85+NHExomMy430uwZ5PJDsrc18/PpK6fFs0S0k8S4EDP D1uGW26Am1aCbhggGHJcVlL3vcoss6IJbjkC3naBj+UsJrfHJzxONgicvPTQiQIc BBMBAgAGBQJIa4MKAAoJEN1ejAYcAAcD1V0P/Rfj5mTmAx9gf2VnH4JPYpaKyv18 o/vFvq68yMI8yv+Ogg8dRXSGTgpSRSOUVva2MoXzL+3O18VKn9AYhByEir1A/cKb Ol+jKQWgUlqxCmJ4svl+QJvvIX8qBTQPVMgXxKt/OU8pt6Jynm37NMxbrueXjBDp asEe1Mo12VkXjeBW/ImUucKDM9UgXSqSHUw6DArpOwfq/pRazKPuj8cAuWdFhOck wJ24T/+smX78I0L2ELBYavbtpHtecW1cvvbH40iz26Zv5Tc5Rpo8i+uOfD6q0EIU 6rUzcvYqg+dxTEER2Q2UxoOb9fHgtg86qw+jh8lops7wKBBvZBW6nF0KOOl8uxq6 Xk/f0ilBJ1UbitZ1IQN7ztMKhodkXoDpyklfqN7WBm7A0YksLrxwRtEutUdGrv0p 3gqGfcMzyOAM3UEA23ulOtsFZ1JZcp5li4nz+xoHlWZnBAmm4+MdpKuOVn/S7wvM HMB/Q5ht+qjkPiBStdBfu0R90JbKpMWqHDwibUZ6+jRSXYepx4j7OnbRkXRpDCON Y/aQgUWmbMSYFawpD5J+jS92lIgA+ziSxBqEXq2xIpJv4V1BP48rPOst8bq0Afqa qyt2JI5MkkgtEG6ej+yJrNW7G3phYlaOdey93+oIVQZ1kg5a7yCMx514elb+B3O4 iNhUqyOGBZFu0/L4uQENBDuqmigQBACgw6sMUjrDjUWkajVJpp7IXzsi2Q5kk05m jTmw0YrXGRvQD783Tjv5Ceg2rXAqnUwwknqFXk3sF+haPKrB1HQC7b4QZvIwLdUL dO2rV8nnG9Dsv93nIF49ivYpyLt/y88fvKuyqbXYH0zIlrytNHMiIdPnoxmiyNpc kSf+tuo4owADBgP/eIIdo+XS2KFCEMqkssYyk28WuGshSd/8BCA3cTPZVyFIm5u5 OazjJs2xLeOvVy93iLKhgiqWfuJEUxD8FB2BSGQog4VbQT7A1FFQOhvbx53+vPhx HgcQyY5/e6ILDt6Cux2i7eeRXyCYjjbD0fmn7+qnEFElfXTER4s6z8tUIpKITgQY EQIABgUCO6qaKAASCRDWD5QaMYYDtgdlR1BHAAEBSdAAoJTXPDIJf2sqyJhE5E+M rkbWaRVzAJ4oA62xKNbHfUJWJOrlny+YSCPRpg== =PK2k -----END PGP PUBLIC KEY BLOCK-----
<fjoe@FreeBSD.org>
pub 1024D/6B87E212 2009-02-17 Key fingerprint = 124D EC6C 6365 D41A 497A 9C3E FCF3 8708 6B87 E212 uid Max Khon <fjoe@FreeBSD.org> uid Max Khon <fjoe@samodelkin.net> sub 2048g/CB71491D 2009-02-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEmbEFERBACe5xJF2u+R6020qrAb42ZcqdTUFDepqVWI/qrxXoEpC+fxAD4x 9s8zilNIZkG6NVpEr7swAWG3+XMSqM5vdtGDj09JFsGEuREB05JTzIBtqGGKWuEn Mhg/3K1ZxPPwAokm0Sr3kiGk0Q0O+dTesc1kq6xjuDYC1CrLKwVewp8GqwCg2irJ MsYAfODJFAXdK37hG9T5TB0D/2CqorXSukQ2L4U7aFOYlWtDnY61c+gLC9JKJSD1 TfNTjlJqfu7/1LqVglFZ54Pp6mXYSheq1N853jBFFKAfByiTvD8BFbUsCue/aJHc W+STjM8J9fY+oyi/OMZdgdseQ9fn4Y87sK9As/JsE/z4V+kn0V7+x2mqTJwqsSNe 1JyPBACeQ+yEVchDkoyK+lPgjHYQIqrPbu4SrRalR/WkAwPE95b3j8RHNsX9PL6T J3yDxXTOxQgfoCVhS0KPgLoLKTfRf3CvSZYduFkWJgeCtoKaYn9nBzcnlnCjrGvh 1bplgiOX/4x07aHEYgVRan1Wed2pPjpT7WWy6NDC0VP2HmvpN7QeTWF4IEtob24g PGZqb2VAc2Ftb2RlbGtpbi5uZXQ+iGAEExECACAFAkmbEFECGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRD884cIa4fiEr9CAKCYt+Yc1AiBqAkz1fwDxLC6Kim4 LQCfXGLJOc7rvsR7lNT8ftexwa36dq+0G01heCBLaG9uIDxmam9lQEZyZWVCU0Qu b3JnPohgBBMRAgAgBQJJmxB0AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ /POHCGuH4hLIcgCfZ8MJjAT+wFB5DfbtNELP72xoTqoAoNXtUquEkBo3pkt2M089 xPqKnBDvuQINBEmbEFEQCAD49pzUGeoNT6HqnHx56l/+eqMljCm9OMUpt3CeNU5j UisWVb4yv83VP8cliLDYw5pWCm4TTSbsG+OdYrwm2l+lIVIUeST0XMxK4VeoNTJF DavUs2r6XS0Lspr60Ynnp8z8bA5/O/C82DB9AGo4dpew6ybQoXRyY3O1JAWBucuh Y/ti5hGtKT/n82XHYtD/Z8BcHN6DVEsU+tn6FWeKu1yZqen98ZN/KOO0GhBAgTn0 AyxVYC7sbsul8OHBgNKhUvukIBIHCjZWPYTqJwrwKwlrGLENiUd0sgcugRP7sEEI iGdqT3/uy+IcaKP8iHPWUD3lrqV9d74JXjFu7GZoMId3AAMFB/9MT4CxcJGMBBs6 +icdnFwHIGAxBkUXFCSgQsVr4OyhHx8Ac+WDIIeHLF83kd1PKG+ecAxhxwF+MlgG kU/Qk9pVwBJBM/Gs+hrwOQODsf5+sp3CcudICSzAXtzm1A01CQVfqQYCscZDQvW6 ikJZspLLJkbHG+p103C6xsmcOM3qFJN3erQpwRfhqwvKSwH7/pjxijEc6tvTzj3X nW/rAUZIHlB4PzSlLZ4plFLgYMBt73ewlt6lKXmMrnhFwJtcA+2bIQd3dAWo3Eba feGK5hqHATowvVgLjx+ihE4TdpA7kXyfZ+nP2bGFaCR8JnWVtKZkTqaWrU9xRPpB 3YwQNOtBiEkEGBECAAkFAkmbEFECGwwACgkQ/POHCGuH4hLFaQCfbr9tE8O9EUjf Mre0CBDDd2Ck2sIAnigLJE2wP8hPmK9bSvzEcd1qKpnT =3qdH -----END PGP PUBLIC KEY BLOCK-----
<manolis@FreeBSD.org>
pub 1024D/6E0FB494 2006-08-22 Key fingerprint = F820 5AAF 7112 2CDD 23D8 3BDF 67F3 311A 6E0F B494 uid Manolis Kiagias <manolis@FreeBSD.org> uid Manolis Kiagias <sonicy@otenet.gr> uid Manolis Kiagias (A.K.A. sonic, sonicy, sonic2000gr) <sonic@diktia.dyndns.org> sub 2048g/EB94B411 2006-08-22
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =3/vj -----END PGP PUBLIC KEY BLOCK-----
<jkim@FreeBSD.org>
pub 2048R/FCDBF146 2013-09-24 [expires: 2023-12-31] Key fingerprint = 9756 EA80 A691 CAA7 D65E EFC2 7C9F 9626 FCDB F146 uid Jung-uk Kim <jkim@FreeBSD.org> sub 2048R/501598FB 2013-09-24 [expires: 2023-12-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFJBztUBCAChqNyGqmFuNo0U7MBzsD+q/G6Cv0l7LGVrOAsgh34M8wIWhD+t ztDWMVfnAhxNDd0ceCj2bYOe67sTQxAScEcbt2FfvPOLp9MEXb9qohZj172Gwkk7 dnhOhZZKhVGVZKM4NcsuBDUzgf4f3Vdzj4wg6WlqplnTZo8lPE4hZWvZHoFIyunP TJWenybeV1xnxK7JkUdSvQR0fA59RfTTECMwTrSEfYGUnxIDBraxJ7Ecs/0hGQ7s ljIj8WBvlRDU5fU1xfF35aw56T8POQRqF4E6RVJW3YGuTpSwgtGZOTfygcLRhAiq 3dFC3JNLaTVTpM8PjOinJyt9AU6RoITGOKwDABEBAAG0Hkp1bmctdWsgS2ltIDxq a2ltQEZyZWVCU0Qub3JnPokBPQQTAQoAJwUCUkHO1QIbAwUJE0/POwULCQgHAwUV CgkICwUWAgMBAAIeAQIXgAAKCRB8n5Ym/NvxRqyzB/wL7QtsIpeGfGIAZPMtgXMu cM3NWzomyQMln2j2efUkDKthzh9jBxgF53TjOr7imwIt0PT2k1bqctPrq5IRqnu9 mGroqaCLE3LG2/E3jEaao4k9PO6efwlioyivUo5NrqIQOQ4k3EAXw7d2y0Dk1VpT gdMrnUABhj7lGlLqS4ydcrf24DdbCRGdEQwqd9DBeBgbWynxAJMgbZBhYVEyIHuQ KkJ8qY0ibIPXXuF0KYDeH0qUHtWV2K3srNyPtymUkBQD84Pl1GWRYx05XdUHDmnX 0JV3lg0BfYJZgZv0ehPQrMfYFd9abTkf9FHQYz1JtsC8wUuRgqElRd6+YAGf8Tt9 uQENBFJBztUBCADLtSrP44El2VoJmH14OFrlOgxzZnbn+Y/Gf1k12mJBiR+A+pBe RLD50p7AiTrjHRxO3cHcl9Dh0uf1VSbXgp8Or0yeiP/86fZPd4k5HXNmDTLL0Hec PE08SCqGZ0W8vllQrokB1QxxRUB+fFMPJyMCjDAZ7P9fFTOSdTw1bJSTtOD8Sx8M pZUa9ti06bXFlVYDlaqSdgk181SSx+ZbSKkQR8CIMARlHwiLsa3Z9q9OEJr20HPy xe0AlTvwvFndH61hg7ds63eRvglwRnNON28VXO/lvKXq7Br/CiiyhFdKfINIx2Z5 htYq22tgGTW7mBURbIKoECFBTX9Lv6BXz6w9ABEBAAGJASUEGAEKAA8FAlJBztUC GwwFCRNPzzsACgkQfJ+WJvzb8UZcJQf+IsTCxUEqY7W/pT84sMg5/QD3s6ufTRnc vq14fEOxCNq1Rf4Q9P+tOFa8GZfKDGB2BFGIrW7uT5mlmKdK1vO6ZIA930y5kUsn CmBUEBJkE2ciSQk01aB/1o62Q3Gk/F6BwtNY9OXiqF7AcAo+K/BMIaqb26QKeh+I IgK1NN9dQiq3ByTbl4zpGZa6MmsnnRTumzGKt2nkz7vBzH6+hZp1OzGZikgjjhYW VFoJo1dvf/rv4obs0ZJEqFPQs/1Qa1dbkKBv6odBXJpPH0ssOluTY24d1XxTiKTw mWvHeQkOKRAIfD7VTtF4TesoZYkf7hsh3e3VwXhptSLFnEOiWwYofg== =apmV -----END PGP PUBLIC KEY BLOCK-----
<zack@FreeBSD.org>
pub 1024D/1A725562 2010-11-05 Zack Kirsch <zack@freebsd.org> Key fingerprint = A8CC AA5E FB47 A386 E757 A2B8 BDD2 0684 1A72 5562 sub 1024g/6BFE2C06 2010-11-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEzUTbERBACySFcOGxN2msGiMvx9yhyQuklGdDgYKAzm/TNlImVQF6q3qhcb CJ6FaE99kFG5EmQXT8uCRSzb3/dIvNrhjTxrmT63kjs67mKnyHky3wP0NHCNSmZs b5Ky3h/SPOpb06S4zmhI7MGEm/xwBkQqc2YqfYTzRW83VNS9e/sTNzzwBwCguOPz Hr++4PFj0nr8I6r5HKMrfzcD/i5B4dhi25M/KlQsM2dh3r/z8KZ/79gmHKBJMrHg zI3sczQvXNo7jgaJwqgSInlfSoKKFyBw6Oqr0kP31E0K6ZKdrbpH982BSx5qtGe2 xnDJNHrSOtgFqg3EW9DaYImdUmUOeW31evMwhjCYGSZF6iNVh6sahfZNFwmEgUXU +zBJA/0YeIPcQNdOapJ8H/ATRH7SLyMME+GIOx+85VCD2VBOq+WCSN8U7gJ/FFTn 0NCVAVtPt/IAOMCZTob2as0C4w3Ho3YZTnl0jl1taYCRQnENQoVoT7cCqN4auypU 0H2EvGPGUie+iZ4r+G2LLdrqPMiR5UTRcZuPk9O3VWXPpeJuoLQeWmFjayBLaXJz Y2ggPHphY2tAZnJlZWJzZC5vcmc+iF4EExECAB4FAkzUTbECGwMGCwkIBwMCAxUC AwMWAgECHgECF4AACgkQvdIGhBpyVWKvcwCfXGP1APXbQMWyacrwv4vfCjdTUpYA njYDgW1ok7AiabZjdT6APpGeqDKyuQENBEzUTbIQBACYKMjEfC82aby7YMRmNqCR IDU43ipbpRsUSz+TdHe61OYBL3eOFM5N4gp7tTmLisoW7AzFdiDgM9CUv9V/+ucO cM+Kmloqe65XWyCQchCISe5+8mMqFG617aDvQihHjho473IxlersxGS76WG7RDUn EP7gQeU/MzBcKi5Wk1ocOwADBQP/ZAgj3Oub0ntbBealsqEydjhysMMCOjOWJ75h lmBfH++UXiN3rFdzHzGlwLhTLY6I992YZM5fYPw/ta3w5Y2Cm8c3QqG+RcoyK+dH c9ce80Ddq1DV4F7RWNhjl3ej9kOneb0XhPdZ3FVDlc0P/88+5nL4bRLMuzp7g5rI ONhG5W+ISQQYEQIACQUCTNRNsgIbDAAKCRC90gaEGnJVYhriAJ0Y6dyrFOU4sLuR +KLw5h/8RgCNPwCfVayO/zLdURlB+BOpbmyxn6WnCLg= =sdsn -----END PGP PUBLIC KEY BLOCK-----
<jceel@FreeBSD.org>
pub 2048R/2AAEA67D 2011-09-27 Key fingerprint = 40D6 097A 174F 511B 80EB F3A3 0946 4193 2AAE A67D uid Jakub Klama <jceel@FreeBSD.org> sub 2048R/5291BC4D 2011-09-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE6BwQkBCACllA3LvksIethpx05Q3MwzG/bAcPBlclrl/tRlPtPGYqYlSfRc iVWKzOHq7k9+vVkaMmGwCyjj7/AE4vw2MPWCKODX2awW7xG7mcHWUZBYBcK4b+Wp 2kpUrxyeZwSmzdqj3p4t9vSyY9njTNkRaJ3B1ozlEx+8vq3SgFHZFglHjuyyDi0R S8jMIXrHJb3mhnTABRh90vIj0eHHsuq75YwnWdBNyFU8t50zT/mshUCGlX7UWqEX WhsXXlqNqcFRW/AGpqwj8lHcLC7SyrNB8wu37L+duIqcmnTeT6aOjHc57Zle8Jdj EtUVtRoJ4txRnHLQM3B4sZ7ybP3sCTMnPzV/ABEBAAG0H0pha3ViIEtsYW1hIDxq Y2VlbEBGcmVlQlNELm9yZz6JATgEEwECACIFAk6BwQkCGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheAAAoJEAlGQZMqrqZ9C9wH+gJzw7uvpz5VwJRN3buK4n46v8qU YFQrWwGzVO0R5QMrFcN6x7FzZupLFx3BOih1ak3UPVyJ3fcMCORAHU1QkCnwCBnm IUNRGPwC2WvD0hiBcBXpe6BRbshyeWkvqaclnSvcOWUZP58gmJnLZjCs5ke+se/T gZgSTTuN7mMFCG7MA4EXcvtIX8VWXWVyXufXFdBQnQkuLtboetYE692063YUIslK URw53loB9jonBkZ2lWPkN6Q0HF/34HrP/Bw4ZZnYZ/gzfFhoQdrRxCBaK7R2TrJ2 kF2FSUtsCHJWgLq0cYygf4pCz7oYTt9x5IuubH4SDAjV65JgMic2RKkehE25AQ0E ToHBCQEIAMopCcGmuQPYBVgEcl1bEtwG87mJJzpTNBlOaE7JCUK7KSI+9qE5o5Tu jqFF39mu3Gr1kecsmtNNfCNW+ja9MtTatcnsMWMhZ5uNFUG3y2+Kotp1DEWTAZcM 9TnX9IrnyLQvyLVJT5LI4qEcsAYHrLyJMrCu7c53M+RVigvimniKvW0yBZECxqYv nq/b0BSJovmtdXnO3wHLgz3dDcMnOAgGNsMpBztoRjiC5ssSCEfnCMLXVjmOa6Ji kRL740TTNK1HK00Wk0pfi5NEiTq+XTyFg0ekeMZIIIRQZHkFFA/ThJoEvvOb9pv5 vkxifCjz0NFTecttnpVDSPWq77KYM7UAEQEAAYkBHwQYAQIACQUCToHBCQIbDAAK CRAJRkGTKq6mfXU6B/93a1Us9ESZfzwjg5kd2Rf9GtzJkEUlEKKJWkG7eK/6p3pr Qlrv2S4coikPCbasdxi4INbQbtDP44Hr6LNCRXB4VCeDbOA0W5H4hO4y1kWXbdTN X1pTXBPgj5kFe9lFQK9arHDgJsJaqKtDETlTmH/iI9xc51ZM5aeB4i963KixnPFy KFHjjAynTZSIMd8JXYul+kWpSSP5dckvW4G97PPoqbz4lsDUsgjf5Lg1lhThjlDz Jwm8yXz0fqORkB+wlEj1fsF5itmP+sG0YipncjFXGf/0ToggRucsSlDWBV7l9wBo HeAGT9bpY64DAhB5SLQBDphtBChiit4TJqkWVs/4 =Rt4u -----END PGP PUBLIC KEY BLOCK-----
<andreas@FreeBSD.org>
pub 1024D/6C6F6CBA 2001-01-06 Andreas Klemm <andreas.klemm@eu.didata.com> Key fingerprint = F028 D51A 0D42 DD67 4109 19A3 777A 3E94 6C6F 6CBA uid Andreas Klemm <andreas@klemm.gtn.com> uid Andreas Klemm <andreas@FreeBSD.org> uid Andreas Klemm <andreas@apsfilter.org> sub 2048g/FE23F866 2001-01-06
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 7A== =E/l3 -----END PGP PUBLIC KEY BLOCK-----
<jkois@FreeBSD.org>
pub 1024D/DD61C2D8 2004-06-27 Johann Kois <J.Kois@web.de> Key fingerprint = 8B70 03DB 3C45 E71D 0ED4 4825 FEB0 EBEF DD61 C2D8 uid Johann Kois <jkois@freebsd.org> sub 1024g/568307CB 2004-06-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEDetekRBAD7mBgP351FCNnqp360OUy+ZKCr2IxUU/Tyffqyrrgiol16kTEO bpImo5cgZcw+y3wTSgGxwbb+UmUcJhLDO0olDNOCOYdBzzKfTyZwLzgVaC/XZ2dE LQa+3FnIp0btyU9vermk7GqWJqvVUTnMSjinqWS0MfgrcuEXjXTQ1b3b6wCgutKz BhEasg38JthFvIownezYwHcEALNJsxEnsfEMm+DQXPUvWTiScu2QR2v0BVVzfg1w DMaEnSjw44NF+cyyKXfqx3hYkboRw66GMvcbfl7AYh7ThfDjof5MHfBbe6aeJwd+ pyVS9BRiXMDbwnuPm31K1zsyCr6XeQquM204Jb1fdMiFEi22A2VxQxAY4cjenvgx 2UIFBACBHtPfsK8QyAXlNtTQqvMEQe01pXm3u90pL8DBoWsWR9vDIlnJLaMgi2jG xBNQp9UP9ZxS+BiAoEkUficsoPvoMkzQBSnfcDJfnyCXranBuuhsF4mzvEO8uLJw 4NwT+7jij0udeWe3Ymd4ppWHEADhx7PLdYdq4Kczuu0XcGqHarQbSm9oYW5uIEtv aXMgPEouS29pc0B3ZWIuZGU+iGEEExECACECGwMGCwkIBwMCAxUCAwMWAgECHgEC F4AFAkGV02gCGQEACgkQ/rDr791hwtgJbwCfeBGfFaR0IIUhvfVy7GYFQUjHuYQA nR0Vl/9xS9SbGpk9nqDCHooXgrCPtB9Kb2hhbm4gS29pcyA8amtvaXNAZnJlZWJz ZC5vcmc+iF4EExECAB4FAkGTw+cCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ /rDr791hwtg4zgCeNkjhClKqeDjTWvoSuh805WDuXnUAoKFid8813Hg7HATB4UwD 3KvmHBIFuQENBEDetekQBADtrxEvnshp47wNGP33Vwas4RtDVp40lC51yVFj9Ior zXhq9SD20gz8qPCwG3a4Srhbh3rgjPvzzqcjSE/axk5+LwJ2KHySlpfwu4wTtddf o6JzlJYWtQE+bcp65vnd6L5DGJsm1KmRTOZOL6wWxTXft4lgxfg1MEbzOKcL5YnU BwADBQP9FCPfDZYwAsZya5h3aAd9yg6dvDsObs1D1MMIiygr54/cmGUiPcI6zaga hTfDiDGanlBk1idFVKh0A6ZEza55NA45lJ02W9amWvrjG+PB8wTX4IWRAmDN4ql4 QuahtHsciUVzw4BtHhPtM1+DpT+C6aPwclpmxX2Az8tHDjHKdq+ISQQYEQIACQUC QN616QIbDAAKCRD+sOvv3WHC2ICsAJ0fvZ0rq70bwTIWfgYq3N3fSZfR6wCfdrgZ /8nwcdMpTA2LAo1YbndxFW8= =VCND -----END PGP PUBLIC KEY BLOCK-----
<sergei@FreeBSD.org>
pub 1024D/3BA53401 2003-10-10 Sergei Kolobov <sergei@FreeBSD.org> Key fingerprint = A2F4 5F34 0586 CC9C 493A 347C 14EC 6E69 3BA5 3401 uid Sergei Kolobov <sergei@kolobov.com> sub 2048g/F8243671 2003-10-10
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD+GP80RBACjmIRFKqJ337zOjW51eExucWRny0pu5fuGaxuJmGSbKaJRAORU 1jx9i/Cxcw7iwrnbR5xeyjWLDb7FIAemPltBItt0tE9H4pQXgP8d8VL3eehguMda o0yfP7WUm3U9uriJEJ8141Yql5IR0e8isQa+YsYbkd2RmDdCMDdC3W0Q9wCgsquv jc1gvAh7ypvhk8VLhflAeZcD/jQclE6S2zLZ1DSP2Q5mmuMS2ouRV6Z+fbWKF9XF TSxdLevWcXmPqvsXFT75cz8pcBIw4c/wVd8OsPU2fd+1LZCFdms1PqLjhUfXgVbP Q1Pl8zCAyriSnR2+BDwUMGzEgidkTjmjlbwhGzPsSJ8rv4i18xYs/JbmkeAV/ZBA e6jrA/wMU3ho5aIJ69KxZb3bmPVHYrqL8Q3n51uYausLxdHDMxVvjL06VAGWbF/h TdiFJ1ngMKfcfzI5/awpKwb9FPbERuNvmT10MDKumFW3xSAJMRzxh7O61u8N7dmc xLdirICQMRN2jPo3v8T2ANsdydVTn89nqdpg4Bo9Rsz/Fdnrm7QjU2VyZ2VpIEtv bG9ib3YgPHNlcmdlaUBrb2xvYm92LmNvbT6IXgQTEQIAHgUCP4Y/zQIbAwYLCQgH AwIDFQIDAxYCAQIeAQIXgAAKCRAU7G5pO6U0ASlRAJ4mnVHx0rA5dhw0scFGOddP cH/w9wCdG6HPWlDpXFB5nkpQalMnGzLAkka0I1NlcmdlaSBLb2xvYm92IDxzZXJn ZWlARnJlZUJTRC5vcmc+iF4EExECAB4FAj+VJGgCGwMGCwkIBwMCAxUCAwMWAgEC HgECF4AACgkQFOxuaTulNAHJ7wCfbcMzZiTmwuTD7wLTxvzC35OQE1YAn3et7KAt aLZuVXYIDROr33RIlfcUuQINBD+GQA4QCACIrLJbs3SkUJpuvYC1N/iykFYGHKPM L+XCCK3A4HL6f+GyCpvajz62cjUfuXv/pkLjcYANnqKKPJu6Bj2rFmOG785R/RPD o2dl+zlZ0fggQAv8zZqIP2KyQRSVa44Pxc/G1V5odcg/QOcKU+FZrkRXoz8SqfDU OEfarQP687+DU+Th0Nwn5M20+0ml7yw0/y9DtggWXzlWyIdYfhU+8HckvzgXnUFA tPdfDUzUxEjvVBUwZ5iHtUlId6sHiiTCS/fbnRzwJA1Pu1E52B2AfsLxFrwV5cRC ASfi7IGhZazGCctqZi4hbWQCB/+ipEVGct+bD9BpW9yS/JiMAxcwE0ubAAMFB/9F k6mZUzBbxQkSbXP4w1VSxf2m/lIV9v9M0LCMwjmcsJzsdLUG/i3Zo+hAjT+GznMU DVzPHq55LiNs2MKC8WKHXgXFCB2uoZvlGu88I2JjucoeibtC7zbKmVOntuY55zTk uiGkGRawIIKC6oqVFV0EGXxrcJ6v3/0vgBQSva08reETZaUFe3ivt0rU0NSbhVJ0 1WiPXk9wFY0ccemUVmdcX4hhC0yyBB0px4qbEBY3+mtHpFVh/r24GXvWXkbLowGd nmKeigX/tlRyYgPHLM2goUHUYe0erbKp2fyeQhockLOWY0DBFcFRK2kSx9HYdtcI N45tvtkBza2O8C7uCtwgiEkEGBECAAkFAj+GQA4CGwwACgkQFOxuaTulNAGwbwCe P3RXUuqmNGYCM0IXPlop9XLZIcQAn1B9zRfHFJm7tgMI0A6Avybs7V8i =EDjf -----END PGP PUBLIC KEY BLOCK-----
<maxim@FreeBSD.org>
pub 1024D/2C172083 2002-05-21 Maxim Konovalov <maxim@FreeBSD.org> Key fingerprint = 6550 6C02 EFC2 50F1 B7A3 D694 ECF0 E90B 2C17 2083 uid Maxim Konovalov <maxim@macomnet.ru> sub 1024g/F305DDCA 2002-05-21
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =WWB9 -----END PGP PUBLIC KEY BLOCK-----
<taras@FreeBSD.org>
pub 1024D/8ACCC68B 2010-03-30 Key fingerprint = 5128 2A8B 9BC1 A664 21E0 1E61 D838 54D3 8ACC C68B uid Taras Korenko <taras@freebsd.org> uid Taras Korenko <ds@ukrhub.net> uid Taras Korenko <tarasishche@gmail.com> sub 2048g/8D7CC0FA 2010-03-30 [expires: 2015-03-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 EsKTn7/B =meSB -----END PGP PUBLIC KEY BLOCK-----
<jkoshy@FreeBSD.org>
pub 1024D/D93798B6 2001-12-21 Joseph Koshy (FreeBSD) <jkoshy@freebsd.org> Key fingerprint = 0DE3 62F3 EF24 939F 62AA 2E3D ABB8 6ED3 D937 98B6 sub 1024g/43FD68E9 2001-12-21
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDwi3FcRBADkiWSSJSOX38CIPgbUnnDQ8S79eZ0zQYnYn5aeRMi7w0B4SnQP 1DcFZ/EHNtQWJTCaQBWQZZWvL1ZjdK284YrpSKs7gfoV5BufcFqKatewWZUfsUad FEKTXLXlZa55151UtFy9erkA22VWHmqkauDFYl4DiOtaUWCX1Gg8xCvB3wCg0sbC /VtANEu2XbxUp5pGmReNn50EAM4vLWfZk3T2woHN0VBOwEk0BM216zfJQGLFUFqT nLKezO/QqoCCcVpH7rwV0V6NI1w6YOSx14CU+s83iyyO0KlRypoptWKBoA+cjs/y 3Iy05K147YfWUhgkKcyw/Qwx8wCDaetG+qZCX4nY0EByezFe504uDkcxk5BrqBX8 E6kzA/9vSG+J4aejKRw9z7Ku5cLV9ygXCksu325uY2t+J6b+48cT8eFMOpgUHyNV m5ypOL31KYRPkOzK+iiDoTPODh4Zg8YZLsgWdTrC0ZQW2nWPNd3Zv+tLAmiwVjIV x4XqtFXh4nhI2eM/PXhdN37R48OKB0DmrvdH819/2+9upNvO/bQrSm9zZXBoIEtv c2h5IChGcmVlQlNEKSA8amtvc2h5QGZyZWVic2Qub3JnPohXBBMRAgAXBQI8IuKv BQsHCgMEAxUDAgMWAgECF4AACgkQq7hu09k3mLaWwQCbBEeFWt8z4HlnAys0FYB8 /U63eqkAnjKz2Lxj14N8QYtbtFThZRB5fq5cuQENBDwi3GIQBAC79Y5tcPi18bZd REXZmDOnLc0gHD9y6PHgR92BUCWQuafcxfQqqY2ESF/JQ0dFfBEkCAmYU2YkPZA5 A7skmv9zHun/bXAP02hrvMU1Gt0ZHIzDV0EaO+uxY8eSKg4JuxZzpgzWCIxI/6uh ZhOuEF/uql7IDKMQcOfsvVrF8cZfNwAECwP/UvxNG/RUOlOHdRo3hY3H5l7zmaCi AwUU6Z+LxDn+fwERX7wL5rasafi1r7/9VvGADfelpxKR0kZM1eKYPtri1zS6Zm5a CC+QVyyoTcb+x0mWForq6FxLDf7+l/O0TuEG7VOH4RgLaT2N33yoScEvxdB/Qo4w KnT39F7lYjbzBvGIRgQYEQIABgUCPCLcYgAKCRCruG7T2TeYth30AKCzp2KXBqsa N6wOyM+tHQ4DKNMasgCglJCipoxpnnvCsGiZJv9AgNQFDGM= =a9D2 -----END PGP PUBLIC KEY BLOCK-----
<wkoszek@FreeBSD.org>
pub 1024D/C9F25145 2006-02-15 Key fingerprint = 6E56 C571 9D33 D23E 9A61 8E50 623C AD62 C9F2 5145 uid Wojciech A. Koszek <dunstan@FreeBSD.czest.pl> uid Wojciech A. Koszek <wkoszek@FreeBSD.org> sub 4096g/3BBD20A5 2006-02-15
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =sg8v -----END PGP PUBLIC KEY BLOCK-----
<ak@FreeBSD.org>
pub 2048R/0D1D29A0 2012-03-01 [expires: 2024-02-27] Key fingerprint = 7774 4FCF 6AC9 126B BD0E DBF3 5EBF 4968 0D1D 29A0 uid Alex Kozlov <ak@freebsd.org> sub 2048R/2DD82C65 2012-03-01 [expires: 2024-02-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE9PQzABCADlsyzEaEjFoIM3Z0ob7pYdIDXZD9T1p1+4o3AMTlS1Bq4WWJb9 Y5er+hcpISDHVmn4FAnIJfstZa4x5jBpbs7D3NzF07yj+jrxJ85A1FEGrViS0YPI I2kannA53W9q+bSkj7PztFVnj3JR7HQR2yTCxWE0M9BTuXpmwJCMOD+GUJkB9/2M jCRmuZhB+0QD26BC20VDiLQcXN7Y3iQOkc/k4QUt0/bN8cTXghNnJEbWT7uFdPZv XPKmGfmNnfnI7cuK+Wc16OTe+24fn7y3CTnHm3tEai23ZbeT7qCkfsFG/5e5BRhQ XJNeMXbQ/Um3kHPD7LBkO8mPab/qsOXrkeO3ABEBAAG0HEFsZXggS296bG92IDxh a0BmcmVlYnNkLm9yZz6JAT4EEwECACgFAk9PQzACGwMFCRaOagAGCwkIBwMCBhUI AgkKCwQWAgMBAh4BAheAAAoJEF6/SWgNHSmgIzgIANNwch8RoaAW2rnpWVDGyLjP 476zCfJVIA3DDEhM5dhAIlEyqe7jYh4kwWw7+Dk8yZQMEnZZ1Dst3qasiD+CviQc pQgKOy2kERvPkYyLES8GiS6RD178RSRzZIpnhaE9Fl/rdjfSOOdtNlNFdmUK4WLz GCxaJx+betmXKzImIIhkgGhisvhTg+P9saDRiVV5CwQNPJnlJXUUraaxXoNMosVx BZX24aQQByaRxY2CyA0IVGhnwhgd5dCh/TI37/h/CW9RBTahvxhQcgaC2pCgPvl/ Pu6EdT2w5vAmWv4dF+QRBoEqZpdhUoOe70W4xh6oV3MhA+BwWMoPuZsYCLjfPbu5 AQ0ET09DMAEIAOkzC6DXsskYWl4NRlFnakaf/My802Jkw42cNuCIrClkl2R/sJZD wMLq0JDPcffNJJD8CP3ivo0huh6m17Jw/Gg92iijmfoL1YPPx2ZO3HOv+li0JMy7 yYOUYRNccUP3RqBpja1upldDLXharu9CN0H7VzIJxSwmQkqcRWvcw/PkM9brJ071 ghyp99p26pT2II65O6pQOnBN2MSeWP4QY/EiqLn2ldOm+aeH1VfoiAKyiObrgJ8h tEJrFfkdKYa4+mEQze47lVJAywTeojLKumswHctp+UiF/+Msk6Sutnkj0i/a23h/ pqYekr6fod0QkwJxdopfBHGLUyh7aHUwIi0AEQEAAYkBJAQYAQIADwUCT09DMAIb DAUJFo5qAAAKCRBev0loDR0poDDXB/ddOa8+TBg5aU0oVPQ+bDA60b7sRb0rmrn+ hB1mXpdMtI0kHnJxUUI6Rx3tlfD2XE9P89oFyDxiOKjLFLAs6Rj9fCzp3EijARzu 7EUl9+Guo9p4jAOiQ0e52XN+Qz+eYa3SLDj/A3Ql2hbp7jWKa8xtM32oyC5nAL1Z YRx+p9eVNT1UwwQkpiYG8VviSZZQBVoiG9h1mLzkzDj6EmEOaI78L/MjTJV4Gvcy tn0QaaYzTPIYUVbm269WNbuRaNbVdw3u0yhgV4OKaWjTpx6Ngv7EMJ8+SK74udGk nejHYo4sCxROs2Je3yo1hYgrVxj/8tNWj8Phl6nWoSssGpbdIOs= =iXGb -----END PGP PUBLIC KEY BLOCK-----
<skreuzer@FreeBSD.org>
pub 1024D/E0D6F907 2009-03-16 [expires: 2015-04-09] Key fingerprint = 8D8F 14D6 ED9F 6BD0 7756 7A46 66BA B4B6 E0D6 F907 uid Steven Kreuzer <skreuzer@exit2shell.com> uid Steven Kreuzer <skreuzer@freebsd.org> sub 4096g/76940A06 2009-03-16 [expires: 2015-03-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 lgCfZOa+QkqMPrm6oNaz6hEDARjrAu4= =gqde -----END PGP PUBLIC KEY BLOCK-----
<gabor@FreeBSD.org>
pub 1024D/2373A6B1 2006-12-05 Key fingerprint = A42A 10D6 834B BEC0 26F0 29B1 902D D04F 2373 A6B1 uid Gabor Kovesdan <gabor@FreeBSD.org> sub 2048g/92B0A104 2006-12-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEV1zhcRBAC4T9pbx3J+/0qY5k3IVGMGpI31SZHwtO0ijDBA3V0mIOUpty/E 2AnAQ/7GZEvWtMd3pE5xwoicgSQbPcnsHG9kqG43vvr2DdByY9lavqoXPOXKeQnr U/Z5eYvOgT5Da6USxXI5obFdNsCwwKYt7Sbvfj6L+FVWSS8HW54f9xuqLwCgwCRv TxVBZJ4xERWsk3nJH4B/GKkD/20ddbTHSTBuBpulmoOUNBcrnIEYPRCDvF/e07yz sp3KJeMegdPEwBoy6bF9R8HkVgSEx/jdMSZNeMeAOpAKDlTUyTNJRgzVwqu+SgOj GT8IzhLNFaZ7wiKoA0yRhGb77C3IPzjSbcOI9A3vn9DkStWfDtjTIOxh7FxF9+H5 c5z9A/9++LOF8L9VPHUNi4h/L/jE6CWSZgeTUIMkSwALrochNi9xIr+kS5pPxUPZ MHVdG0+gK3wNLD6KGpBnHB65wWbb85fukY9y4YgEv0+TjpPwkbwlAbKtt7cf7RA1 mYtYStbOedPBAE8Y89cAcmQ4a4ViJFWfSTLJorAAy73pVns7ibQiR2Fib3IgS292 ZXNkYW4gPGdhYm9yQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJFdc4XAhsDBgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQkC3QTyNzprFGOACfYLDfWSz4Ke3HN+suyrD4 iwnZpycAni9084/VZ5iAadc6I1o81cGFX9GtuQINBEV1ziAQCADQBlmiWzgTaAem j1rFzVhEe3bSRg4qmcyiUyIbVWj8Ecc71c33fSHdgjHnAqKGjxKIkf7qoSziLWL7 b2dxUiI/M7OUTi2Tdy3nJa/GJ+PK3CK4oM/oSMGOSUz7d3ZaKwZX4d/GmpCZ6U6w XFPymLOQtlDRTyz31QPCQXnI2CD2yswSdrHID/LuBDx+24vA2NyGy7WdUmSSchnE aw0fYTiHbjqI4xsTS6wkRJ4QRcHg8vyXc9Xd0/TKtaFBURWfHDC9RWNjisrhc6q1 89o0QHBW+UqcYdWPUgTO38hr7k8U8LNJT0a7axsgwiwLr1oSS8z/RjdiFwuArM5M PQgkvMYLAAMFCACIMIO2gjtPL64mLy6If2TPBTqb+g+HaWWk4lxsUN3A7A5y9TXk w3Hx2jcig6P95jIKyiTJkV5ZqcUuwtEWK/nK6M4o8x7QQwLAfH6x/wfsb9Gays+K wT448Xhi05cOnIuKyFXXzaNRgGe/G+fxpxqEjmgP5y2NjB+KG/h4/Am25h9Ylm+P EYq8QMxwYS+3TpfCMmgnqTymegNZpbQ32nJYKnxn9j58sLqgp7BjekgAYi79z+Zx 0HoeGPiehGLdymoj5aaiTCZfTB5CRMyn+dbvXUpl8hdAEG72q5D7JH8yicOANHUd NdMIcDxTJcHnDQeXdSrVWGTQmt4iuwfweKlmiEkEGBECAAkFAkV1ziACGwwACgkQ kC3QTyNzprFoGQCfZdGMd7cQFoCW1DBGMnNJ9AO5WmQAoIM4BtfriXvx3Tov88ES DHOhFMi+ =jLzS -----END PGP PUBLIC KEY BLOCK-----
<anchie@FreeBSD.org>
pub 2048R/510D23BB 2010-04-18 Key fingerprint = 0A9B 0ABB 0E1C B5A4 3408 398F 778A C3B4 510D 23BB uid Ana Kukec <anchie@FreeBSD.org> sub 2048R/699E4DDA 2010-04-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBEvLStoBCACxnU/0ujcU5D0Ph4eGJhRfFSxoH/CBIH1AnaQyrsmzMCfdFav+ IS9qdAHeNN1GugOKwvbP1TQQWQjGNiPMaUzWVE55PrLfQhTq3q2t6Q/9MUIXEKkX p3bruBe7eruQb4sN9Q113lLTZBTs8GsWI+iAqaeuT2eKhYuJlqI37Zp/36k87cTE sQg37HtSfkjLOCEbxH9q6JGCi0rwa4DqlPfwoPEyyMuTcwcRm4QhNKUvJ9jRFze9 YYMXQIgBMX5L0j94mnq52HkXstv2rK0xURKANtXcqb0ciQUoXTRN0K0cYHPbNHWS PqZMhpTYd9d+SKYHuOGUJbsLhtaGzBLK9SQ3ABEBAAG0HkFuYSBLdWtlYyA8YW5j aGllQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCS8tK2gIbAwYLCQgHAwIGFQgCCQoL BBYCAwECHgECF4AACgkQd4rDtFENI7ub6gf9HsBwaT7CmPenZPPJk+/GXDiNWPW+ Q7c6rAEA3072j+h/RDTnhKip9R6/4SankmrQSA0NCO1EiTzsgV/3cS0k4v0XKBrT 10B1WrxI5Tx0osEYNP4GhPWkEO/6jCTF+8EsKyPujOvw9ps/OBgdYhD+gwv94SX5 IymGWrBeyncmJDefcvA1UoL5XjhgGtv6qhmzPmN0+PamJlPd0X2W0fb/w9/od+5+ o7olzxiy0kVaYXBizKVQ482x/oN3kXwzMmxkhN4zmoJpOzvjBOw4Ar5WiYldgL8x ZggWcR0NLVejeyi5VBPxsPh3vfvfvvjhxfHuS/bLGyBa/tO0bKxTpbD9frkBDQRL y0raAQgAsOEgWecCnr55Ny/V3LI+apr6wq5Rt37E+szExLEzGPQCeSE2BKWDNHGv KWYuTow6dZtCySg7GXW0fEV+QEvWvDa3y/zGjZOSVwcm7pk3Vm3Pnuv9a52wG6gm +a0M/68T121UK37+u5u25OHZaMaGl2poaeD/D+jzzvYvEDk6C84FNDmLXZjMtiuS NmLsc+kZodFbsrUjdFZXykFKP4a4D8Gq4nPLvDjRB5ZNKFjy1HQxpOJAkZpK0wgz t1AymA+9oom984jiPlV3DSrxrJoAndQeHoKDz2dhdZ9E1CC0Al5aAhVn94nfdwee GEL8N1KTtQLBmP4QXFtOAupBiqq0IQARAQABiQEfBBgBAgAJBQJLy0raAhsMAAoJ EHeKw7RRDSO7B1gH/3I75IrWb9AAEQRYIoGJW4/vPB2CQ0juG2XX657wzgDzL8uD E8Lb4zQJa1RtSj8Ma/Qx+cL7BNWypZAUIrXrhZiVdAjvnQ87CyW2bjZ1w4zsv1Qm mbKT6TmfMuGQLUjnoOwdRh77TfyLirKsXx1535UY6gH3YFAiZaf5H4yosC49tizF l5WNOv4DmHSJ5npLItAORSrBDeJWk2wLjp7N+7Hy9lbyMegAwYMQSrQTwNRGok0K ufjKvZwbUTmo/MYaLncTWpWl/ZFL21s90vBM36q0RiPDVCkZvqrdwyqb56Fr4KUH yl7TOEgJibW2V19o1SPGrF7QFfC3nE7S407UmRc= =+R9q -----END PGP PUBLIC KEY BLOCK-----
<rik@FreeBSD.org>
pub 1024D/C8550F4C 2005-12-16 [expires: 2008-12-15] Key fingerprint = 25BB 789A 6E07 E654 8E59 0FA9 42B1 937C C855 0F4C uid Roman Kurakin <rik@FreeBSD.org> sub 2048g/D15F2AB6 2005-12-16 [expires: 2008-12-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEOikikRBADU4oWe1rkbd6R8HeOR5I/Uw6gGk0zrBPNkyT9PAtNKFYgAOotZ fJbo1czDlN5cstvqBOUKbmeOwqkMi3/DT1N0VjGq6eocBCvBhHZ/PIyIonV18JGI /wYYQ2k0jAOpehd7QYYB6w06gi+siJ9UY6iEhVxrO8rF5Er7RYXICubDEwCgszsF U/rIMr+yw52uGDe4d1wyICkEAKI7uw05tkwQutLzjx1ZOCu1o8zLepZ1QMRDn8io EyMRY/pCvge7k1kjmm/6eZ3M39fPrvwcpfsRF/dlgEeQI9Pn0HDJWG7eU/zg0wrQ VkvELJ6qtJvlQRKMh51EfLkR00Fy0HsBWfc4U82GvBLU5fPL1FujMeVLJtZ0W3q+ nHjUA/4z0JVp6vNCkPOr+BiJhdJsiAYkGUdqHR/mZcChcRD9jJVRO1JDQQSvP3o1 GvFqqRU5VsvYXKVKlVoWQiKGu0Hf/ZIOnY8ek49nTsUTm1MDPIFqMl182uxr3s40 DhBmKzhufDBkgtNdpC2SU0h5mwkF09Xo1goVMn5DTbQfRfNfF7QfUm9tYW4gS3Vy YWtpbiA8cmlrQEZyZWVCU0Qub3JnPohmBBMRAgAmBQJDopIpAhsDBQkFo5qABgsJ CAcDAgQVAggDBBYCAwECHgECF4AACgkQQrGTfMhVD0yS6gCfQyXa2JPiyfy0EFzQ HGwWrDPjzjsAn0IJZGfMUiTegcmtpu0lNv6nMUiEiEYEEBECAAYFAkOjJ6YACgkQ TclL2LcfYF1uNACgxXMrlmzdzmMwriLK+T4OKcffa/sAoOCL19v4pPw4R4KI3o7O MOacY9bIiEYEEBECAAYFAkOjvw0ACgkQryLc73jOEF8XvQCfWcxEwIwZ4eZld/Qf eB1hsxJeDxUAnA/ftOsZtbG4o299udw71y57GHMPiEYEEBECAAYFAkOj44IACgkQ hdRQRWtpGwOERQCdH2AVEiuQohXgOX2PdCIZYiufCEEAoJgGONTdR1U3cp1X4Hhc cuAX+Z1IiEYEEBECAAYFAkOj7gcACgkQXeTX/hlJ3IB1CgCfbgMdPkgLWLQ0HHKx rR1nB3hzAiIAnjOwE3TRytoNLPAAuECgudqkqpnRuQINBEOiklMQCACBiZ5wcv8t jUjCX2iZ7D5qQiWuJYPhMpBS4hV4mZXhM+pSjFctc9PFw+WHlaRFXn7zGYP404AS tvqmnZBInBdal+L7r9OhPj7vrQcYDHJTMDflHK/YhfBwMj8/r2jkV4Ja4ji9nazr Gbq1wJpP1jrsBuFU0Qy4HRZwSyKrFNGqAEsiZPxgMAY16fi3IuVbE78HlUq+0I6Z C90z5MbGFGSsZRbWJSxSCOqQ7YxqoaCqxxNeF6fIYQdL4hatuH287dqmru6ST6j0 ApQF+mnmlwKnrLSzXw0Hbvfj8ZrGyAc9cLz2oCwVwvLsP+ohiNBDHc+FFXcBxIcy kZi1+6AxjhXfAAMFB/9abRCZ9AoTa+Hd6ajC77l/Ul4jlj+R+DKQ466kj+WYOdeO XQtF3e1g89cEX1S3lnjIZGS3uGZ9YehtxMwBXlOCIyyLhNxlRWS4YJeC2E1q1kZm +xs6IC47g1E5yVpm3qcUp6HKwO0SGLQiN3ECSZfBtNEcEScAFGq802lLLKnMRBfV DpwXP4jop+90NSKP4RKzgYdXXz3SAq3heKeuBOHl3biaTmvh/FSoZtcGSqWLPR85 d+5GZVJRzrwGqrGN/3zRvd1PbTpeJ/pbT/saFtsVCmlPoUOpKeyDHGlPotQo67gu 1cwcr8h0D+oYPMLlspZFuMXvLPxaNB8oRLyxVzUhiE8EGBECAA8FAkOiklMCGwwF CQWjmoAACgkQQrGTfMhVD0wzaQCglkceiB8ksT3+rwFRApwaWTO8ey0An3w0Diff 8juSFfJ2ZBIPyPzTGgMu =0i68 -----END PGP PUBLIC KEY BLOCK-----
<rushani@FreeBSD.org>
pub 1024D/439ADC57 2002-03-22 Hideyuki KURASHINA <rushani@bl.mmtr.or.jp> Key fingerprint = A052 6F98 6146 6FE3 91E2 DA6B F2FA 2088 439A DC57 uid Hideyuki KURASHINA <rushani@FreeBSD.org> uid Hideyuki KURASHINA <rushani@jp.FreeBSD.org> sub 1024g/64764D16 2002-03-22
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (FreeBSD) mQGiBDybt48RBAC/KCE5CLVZsYvpmgrbum7JHgIgnX39EPMQmL9Y3LmYy6Iwh+OF iIjIqW6cDeCcxHoJBwbSUerC5ueriwZCh46gSnLVjnmBLlGFXyxYbSfFGetMVVSR 6OpiQuITp4ZhVw/UoCGloNsIFKg6l4JMwqZmsrZPdl+zUU79RV9Zb4XhFwCgsRIo 1mf9I3rNZ8f1Jv69nUR/lJkEAJB6fY1rtUNUwq+JXOnFGD0KnC8isQNyOeQ7Y1il HQ9mGVKuUC3Zh0FzvdsU7Ks2ss9ynxfbFXnyyAOqXwTzU9pMuW5oLOUmjqwEfAhV 4S0xcnPcfGGJ671NNeqa8X4LQv6ECWai6O4CbA4aluRqhHNxT9dgEai8RN434LQE tGxcA/4mIlvVoM2c2DRjD4+/Oj+i80ZMpOgE1RkuQmXoZ/DwLD3EHbIBX4cNffOd FzxYrKCrXD50MehIw/IhFfHN/GdEN7NT87M3j/ydSYFluoiLv8FXO00mr8cDi3wF q+LGbniEhVcW6wpUz9zVFmdLAp3HQi1uRAHqYmdSs6gqjl/+pLQqSGlkZXl1a2kg S1VSQVNISU5BIDxydXNoYW5pQGJsLm1tdHIub3IuanA+iF8EExECAB8CGwMECwcD AgMVAgMDFgIBAh4BAheAAhkBBQI+L/K/AAoJEPL6IIhDmtxXgj8An1YuXcp0iurB ZYHiaYMzAb+lYhALAJsEAKTyeqO0plIvHBV49L5CErZo87QoSGlkZXl1a2kgS1VS QVNISU5BIDxydXNoYW5pQEZyZWVCU0Qub3JnPohcBBMRAgAcBQI+OM7uAhsDBAsH AwIDFQIDAxYCAQIeAQIXgAAKCRDy+iCIQ5rcVwyNAJ9Y5N6lIMXVy4sYCdgQvqDR xkUN0gCgrsbQwfTOBcy8Mw/UmGOE4/fwrNa0K0hpZGV5dWtpIEtVUkFTSElOQSA8 cnVzaGFuaUBqcC5GcmVlQlNELm9yZz6IXAQTEQIAHAUCPjjO/wIbAwQLBwMCAxUC AwMWAgECHgECF4AACgkQ8vogiEOa3FerLwCfRPWW7lC/pAVdD2Jo+8rcWTKQ1xEA oIQ/on62k7YBO+buO+K472a/cW2MuQENBDybt6UQBAD/ZGmvwhzt9YWhF9q7mLOT iEMzL2AzBryLzzUphejgDlJN/TIoDtaJfMyNkO16FbUq/WLQbKYFKfDunqx+eVSi PsneeYw9nAdlcXVgHRjoL3vj5O7PIg4qqps2mnLKEOXLAH2PNTYY6+8T0NQicdht YIraowzLoKRdINuDQrCpEwADBgP9H4CwbNJtQAHwS9ATmfL6F2Bg9LWe1godSWkM N+nBxKvMqrajJWfxV09f9gzn0qmMZT9u2DwcADzRQLC3jkzgOD1f8UiAuCuDEE1a vg1iCuyiI6m+MMWCkOCj/69wIu1ilmWqkn8SeoEwN+hwqHa20ue7vBhXreQanJim sq38ZdCIRgQYEQIABgUCPJu3pQAKCRDy+iCIQ5rcVzT/AKCgYOyEMpIxXYVI5gYM CwQ3hkJ28gCePnTu3Ke6lPoQsMAo3TzKkUO9Wj0= =cXJQ -----END PGP PUBLIC KEY BLOCK-----
<kuriyama@FreeBSD.org>
pub 1024D/FE3B59CD 1998-11-23 Jun Kuriyama <kuriyama@imgsrc.co.jp> Key fingerprint = 5219 55CE AC84 C296 3A3B B076 EE3C 4DBB FE3B 59CD uid Jun Kuriyama <kuriyama@FreeBSD.org> uid Jun Kuriyama <kuriyama@jp.FreeBSD.org> sub 2048g/1CF20D27 1998-11-23
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDZZXiQRBACWc1PcCjIpTl6aCyOMVfz4jlRSKblwib2s07TBwbgR1zMhbPie O2K4ZJqTcG4EnbMLEyYMbYwvNdOfUIjMW3VI1PJhRwWthTcbUjubzTu8Zxw+sKME ansth0xZW7Ax29UWQcTPxs4SRsCPFO8t+aWwZOm6z0fb5l1vMmKNJuw1+wCg3ZZB qK93hQPaOObwglnAIrgNpScD/j0VCEeC8fTMk+ZIo+z0+bUGPGU5cq+4XVXABYLn wMfR6Wr5Ys/3VCx4Oyzzgp/HBzcE5HxJukJ2ur3m9IE+uFfY4+HEFiwL++Ke4TWU 7rn4rKjJYhGJ6iqGFwuxwmHdjcBh/38X0kmrCxyPYpt6xO+sJBP+QOABw3PFlMkF PUY5A/9RGU4mm6K7cteNdbHDI8yFNorQs8W8fRb8yP8bw1T8qB5+/rQ5jxAfA5sr FCuZsKNFdph9z/I3eFYVW4P8+9gmI2FAAAocWheSyKttAFHx63JRyBqXq9xmHKST kuaoQVXeFycSULAPkV67j0/zDL2mis6bRpPopINGgjkia16u6LQjSnVuIEt1cml5 YW1hIDxrdXJpeWFtYUBGcmVlQlNELm9yZz6IVwQTEQIAFwUCOmRRlgULBwoDBAMV AwIDFgIBAheAAAoJEO48Tbv+O1nN4+YAoKeQztEcbPBbbX7DZAHOsGZLrZ2NAJ9a WEoFGMT3keQDjtjUI9c8IMh/l7QmSnVuIEt1cml5YW1hIDxrdXJpeWFtYUBqcC5G cmVlQlNELm9yZz6IVwQTEQIAFwUCPE3sswULBwoDBAMVAwIDFgIBAheAAAoJEO48 Tbv+O1nNMp4An22RFzdv9zdNLlcY9GLPFyUrniqiAJ9F9Rhic6qBaXynksNw51Do +cLWkbQkSnVuIEt1cml5YW1hIDxrdXJpeWFtYUBpbWdzcmMuY28uanA+iFcEExEC ABcFAjxN7RoFCwcKAwQDFQMCAxYCAQIXgAAKCRDuPE27/jtZzYFdAJ9BFckSo4/r SMe9UqbRMPK+8FUumwCfYH1pt4t6jFlulLk+9wYA9wISL3e5Ag0ENllesBAIAMSU hrKdEdKzQXHzkoE4Nzl3hb6dtDmjgYr+3X95wBkUvtrk2CeYG3RC1PNwd1sEFEWp IiSzOaQDzxZmtBGpMkQ1It+CW4sC5Cs2TQ59VHLFw7HWSYMNj+RchWuWkhwipnX5 8wu6To12Mu2MnyLszX2QIUxrQme7UpKkJgCct60C1DZLoQuZmfEZEyXmSfJsizeq eeJuusZwOWDH0ixuFVK/5A2RwaWFMftdhh/Vw0EkxdQnMJ+7zJ/hbY64VR7uz8oI 5smfjVe0yqXMACREUzXmqn+Dc6Pz6ESVTv2XwIy0UxqxiYk1J98Cf3ffi5+e/q1d rej2PzArpfzaygu88uMAAwUIAI/IiiQJupz9BaCws/K6j4Qs5iWRiSB7vaZfgCr9 c6vx+mIXX1Pblity5TOn9qXMv7vUM/dgmWSBbkkrvfD++H4ybJjpcOZN+peeGd0G /UfiQFMarsj9MozAmhzI5L00JqLOf4u/XBv0rh5HOX6t+M9MfZYL3C7bn/LxmDif prT8jxoA2SC+lPGSzI+M+ay/mz8kDmGD7fCS+uAFo5T1kjU+ed2dhXnl16gRR8NO 6yAdURIC+xs6P+7L8uOiZfuk0gzn5RC6CYrEKiGZf9VqTRA2vcirPNEZR44jYXS3 nL7x9pIsHyCyxEvojut7iGWO6qbaW/c+MRjcA8jgp9OuFROIRgQYEQIABgUCNlle sAAKCRDuPE27/jtZzZksAKDbznARmDIIxZjHfAry2UJFBPQbvgCgl/ERQfF++Uvw hLaVfesP/NCIt5Y= =AoU9 -----END PGP PUBLIC KEY BLOCK-----
<gleb@FreeBSD.org>
pub 2048R/C2A8382F0952092D 2013-11-02 [expires: 2016-11-01] Key fingerprint = D1F6 F20B BB68 06AD D051 4BD5 C2A8 382F 0952 092D uid Gleb Kurtsou <gleb@FreeBSD.org> uid Gleb Kurtsou <gleb.kurtsou@gmail.com> sub 2048R/E628ECBAC4622293 2013-11-02 [expires: 2016-11-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 rVYlla2gIlu7iEOwzgX3DEY3Iw== =5BWz -----END PGP PUBLIC KEY BLOCK-----
<rene@FreeBSD.org>
pub 4096R/ADBBF8610A3789B7 2012-11-18 [expires: 2016-12-26] Key fingerprint = 101A 716B 162B 00E5 5BED EA05 ADBB F861 0A37 89B7 uid Ren'e Ladan <rene@freebsd.org> sub 4096R/CB77BE03B67184C6 2012-11-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFCpUocBEADZA+p2mpQBevhEqqRwwsiYVj2wPOsGRaTfyxSmRj4ZwAxuGLOw 0CVglKt6geZXnl7+OCBBVLkyJuMxrMsYYB93FlObQEAc5shtQa8EfypFUXqwC5OE C4rJ/e2gSZ+S35txDhXfz5+w2RYSVckrwSEEVWQKQV36rw5tbxHN3plhQ4+LGeTA ak1dKW1yP8nyYufJ94h8vyma4fUHVZ2GEu/lBM/YW1Kl4ofjWZ8w/HJlOt2eOy6T Bngjw7E167eqFxN+M5TRyK9XT9Yg6cSNF5OBaBEOgchhKwl2rWYcgJO5YncdpKmQ mbzNYIwYAlG9bILa+1usodrE7E4h5l5DHXNND3w0cT+oQ4+NZ7WvQSHVRuPRzJEc tjdev+saeNdfqFnJSx84tg6yrv11GMiqagFdvuUFWmcoyffJR46zMPEh/rKJRBAu 6kktwwhGdJIYw4t0V785Q9vs+xrcs2oKeedJCjQn4tX+TgiWTIEbRx3leA/7f7nI PsgaPDzFkKm6gkLKDmJVXrYUJYvyYxUasMO/LRD4CXsH06KtF6l/wQEAyEQRXFn4 0TnhDNvzT/c3GM3jFoR7rfesyRWqEat1YaI56rEc5TJTv/OlDzSjABZ7qZUhpukE NDQGlWAQbxWTfdUCE7Tvq94jG5Nz+OtN6H5sYK2aUdKsDoYkCa1eK8dQHQARAQAB tB5SZW7DqSBMYWRhbiA8cmVuZUBmcmVlYnNkLm9yZz6JAkEEEwEKACsCGwMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheABQkHuFNRBQJS7BohAhkBAAoJEK27+GEKN4m3 dGIP/0UGzQMN4bEaGJLnFn+7gkOMwug0i+7FTOj4voB0lOHpx0mq+IjwE8+E47Wi uc0PqeY3KsR7e6X9chvIdugw6o2kb1DRhRnJvjTKj7Q/LsWnPWu0JN0BhiyGBK8/ 77p6tTehdlBFQrmL9wAZf3B5IN6mVtPf9wNKl4vpPrQW5CpfUHQF8Jgfg0kV0qQa FXD85SO4G6yPHcvueyhwb0GweDpuQqJlIxCYQjap74/F4vHhPfbHk6lc2q5RjdMR tv+lXzp8U0rP8FjweOB4F0yx51BMVUumUCB6JrcbCqLxHMXde2Xc0RAMSTCt/C83 TCL4KljJdWeHPjg395tBwonozgFhtm0WJGO31cvRJ7NjTqvfvMHcekqxQLeaDzzG EoVKusuEjRgNm1v0UPBujM0edgJid6VZZRRsLfNDdcPLuZzohTtWV8WiB3c2UiRa glE2no5Dy/4B/VEl0N1zc10VPuKXiRH1Cvp9HIjv3HjSCnZWjPZSnfcSCrdH1goD H43w95OODruHjHggTBd5UG6KYS7gwssYbyQsU1N4mv6+UtH/UEUWXg2SFAQrnZHc nc0yvAxnKS/FCFdeI3IlYUZpS5HPWtfV5stDi4R2ghrfb7WEFqWwbkCEIylhbEOw LsxRiXY4Dw/73L1QaUu4aEhSGvnSamQv1rkfVfZH6Rb/FTOZiEYEEBECAAYFAlCp WAQACgkQjJ5keuVkK/xR0QCfTgWGJ2jvWobVNz7GAz7O2nzYovMAnRf9Ig3UsQYf h1VztDWI75scvxdCiQIcBBABCAAGBQJQqdM9AAoJEKnIbI3Tro06gRUP/iEZflr8 VqnbjeDBBYKXt35SWp4ymSIe7DrDFYSk3ZQqtPXO0q+GsUD7JQb5pJbzuSGjjGk4 MW+36O3ao64WKMxNjFhB3+6k2tk0Bv2VPbATNFvruxmwWPFgKJCInapuBXMT6p3i Roht+Hm7b/iN2T8CiZ/9AMLw5ZhtKDjZuiX7SYoMZ5dnbMRuTx2LRLdBbabDdA+H xpP1QJZQsiJ/AT9M8ZNyDq5SUCrIQ9Ioob1kt5ZjeEdzzlbzjeq4YuOZqyj9ZiVP 2xeDuJRAKdt1m7xICZEtJpDVqL+0U1mrWzVCrRZL/cTN46n1EJ3hljYvbR5qUZY5 DSqs1U56rSrg0DF0ZkIqeH+ZER66QoP6tGn/AZ5/Z5KNaQ/3ZSGNrgv6/XbfTitZ 2ExAixjtTlaprcbyENZx7d/Uu9adL5iI3kPXjCLXrRbJ+5l5qAgHQN+9Qg3fHULA BFgUj6QNseLT1k0yJl/J+WrD2pw5F5z62LGjUi8KzBaZFx40iW9toL6lT/NuqVV3 1QdWd8rVe1/UebExYVpHJL+TVhgGTwXykdFzDkITeH42PYCdV2qGcqOQYVHjiYCi lSSEV5OF54PlJy03hzyqJzKFhK4OXPSTF239JLn0faV3Mvhyj4J843Nb6aF4gvQU s9ltrKjkuO/nYDQfywWkXDaarsqvqO8qHBkyiQI4BBMBAgAiBQJQqVKHAhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCtu/hhCjeJtxfWEADOeoLUBZVNMSc7 bWgQo0jjTVmKac+kXYq8LLeLVHnBbGqcYzzdIxKYsaZg0bKZ2bhuZDfW6rP1JVLs gytqRPtpmCvDY+xvu78gHw5i4IX/3//MpKGfJDlhO3gOIe8nM+HmwIJZZXhcCKEn /EHBlRVr6OwWlytMNWiq0j8SV2s4UfnJhfGnbNn6iZVeAP0au+BnwqCLyLsiM4eL RtUoqqzhuvXbUFML5a4rTNy/pNFsW9VoNokrbf80EkaYkvZTOz72CmWSZF0R3w2V o3IKhsdwKdXeX8N0UvRfoTH9Y1Kf3ddLXIDT3tE8rR8Vv0YJnO7vDw23WdWBL6W1 kLuRgRmw+uc43K/pqtHk/PK4zsgMI3tjIjPlxd161TDNXzXvtqDHsswNgYDxRuOp zl3RI3OLgwAoH72+SXn35wTLZwUE5jumEPqIEuV+2/EFHYeiUJTXPE24NY0G7WFG Dq6jvSqUZkEfKGp5vbi7pfBBRoU8JVHwZIGN5LLYib4rEkJsFXYL+jGLnqEbz3/4 sFowvAKbJbD2OPdurqP9TBeUYichkdsMYTTcV0ActFoiKsjhmwnK7FJMel6+PGjb sP8sR6EYl/GxpINJvzQR1J/xvLy09izuo5HEly55SJSmP5VqCMEJzF1fMyp6/FsX BnY2ehP9laJi0EMdI2+Go/ZqdemA04kCPgQTAQoAKAIbAwYLCQgHAwIGFQgCCQoL BBYCAwECHgECF4AFAlK+C1gFCQe4U1EACgkQrbv4YQo3ibc+sQ//eigCNSWx8Lw1 BUgRurHgfD/SDl0/GlQ+gFHsCRISVXaYiUqaJ4bVoU+mFudP7DSVrmvaJgN6jhsk eksiikCbsdPn0kzwdVDC96vmQIGLxAOjVQNhQ4UrvtR5tGJWsnAQxRPDUgb/JVxz sycyKqrBIvFVfbagCot7ftpU5/+KmCCfkdUninmpGeLOIubqUqHhxET8hEaf4xhR If7pub/LKMHWnHeAW4e2G6Yl1ywyfJQFV/nO3uariTpWk7xhDkVCRQtpKVlZgB9q FXh9w2PVgK8DuLMp9akapkIUH5ycrh9PxkeKc7GXd8/xE/rfYRTYJAPubX/SYWVP HVisa+tK0lBTTz12rkLx74L+p3CH6QbZia7nVWFHJJNnE9H0kNtnx70LNfJjJNAN eOEUU0k5lSJC6ASg2widrfJxnIlFQyrgqPX14Vf4P8egLz0kHQDmO+jLnbGddfpd G5JNAXWsNo4v+eKC527zMObU+vjGgPbCCj8pcQmVSChP5UYs68hZmSJFFdp0eJzA jtLYucv6PCL8zgf3gB78nQzTVWulLxZM5NUtw3p3pnq+dlMUeOjnDDu3OxVbSK8F /EcB7tvQbykU6oGeq1PrCfBJBDyEwDhPE8OcvJDmtwSkFXl5FdU+tH00jLR6qas2 1YWtpCMlmfAN7G1nO6hhp0odACgGtneJAhwEEAEKAAYFAlLsHI4ACgkQv04tWzud iEed+g/+PoaKg5PPKybwE3eiKTb/ImPD2cUBJxyjyaPAHUIZnSzdx6AmqEV+fCAk KMlSLqCbd0/5lqtjf/FnyY6I/PvmpzwZwXYdrztAP4RnaBK4+Z5ycp2N/YqAv9+M 5BV/ZSPwTPjOYt0mgQ4rJlfT81lWi4sBH2MVVc/M6ntxiPqxMfBWqm6xSN8nrylS DduP9dvCvWs/hklt/YdlKzrotyieXJcuSQ5zrwnYlCgyMFtzxLwScyJJr7PnkVOM oQqjEuslhBuU7qFCxjcYxl1jkzscqCgazp7+GzL9mEJvZcrAUI9g4g8NHskvjd44 YyeNNVBGVyIQxnAgNBXPARmDjp4of8FJTvZJ95Kck7s35Vi6nd3tjboRveUQZ42w 4Z2Pz33D4EeZg+BpY9H3UVsT0E21BD2y9j24eGNYob8w8lYSbP0mDc4alh68YBy+ dtov1Mg2fHOG7bOfaK1E+/ubwDWFuf6JY6LtE1ZNyW497sJOM3ySul2XjYrVOs4J 0WiUYmepBz8DnNEbpU9OGDDQDwXbTEF9NokoH+7HfUUcPUblZTmdzWrjF8XBJnMs SlSzI9YR/u6LgfSRJ6CruhwiEaUUo41gvfvSjrH3TR6J9vJIHqncNXK5ZZhVU1pt UDaUTeV3sAujUGXJ75P5GSEhIKGM9LNhjt+6kiuQQVD7ciqkDXa5Ag0EUKlShwEQ AJ3RTcUKnGJZnPXzuA3A3sWbh1JXrQk3RmsNBbKc2g42pqmOI0iAbW92IL5OwQL5 HOjLsd9oVL03xgQ96mYRQus/whDyB5XzoAkduGFMOUwelqUbAmeNOBG9ReWUoiZs gNfuxuAWs8sWDlEcWX53x9rMT8Ipd5nlBnwhmeNXjkmbPWz7o4nxmBVqgf5XJanL ocShOx4qYQLYRENfzLk08MS8+SNWgf6e204vaofGwLCgfE90MAe5Vm2kfUMERcdc vIsFOBNSPzwKocbIkwISG23shwwip7Zd4agtPBEvfSfhxg3iYExFTaACDyaSj6ew 0pD2UJiTuPu/LG7GWuzprmEE4hht/rVn6ZQsqcV1g0Mz67nY17ZrVtZ8tTCNjFcS DrtPzM4+fpcoBIX7q2O25wrOMzI7EgOfUzTqy7TZTCr9/RQNBk15N2JQ/uR0TRb4 7BohugFs5d0z1sTi3kWXWNBK0UV7cKJp2mrk8jxtKGphYRP7X09KMkljQgs8yJfV O6I3sSshdnt30wo/AJtf1gGCCuSgZdi/jcwYFQeR28c/dlLpw864vJR+uWZnxfib PZjJ+MPQqoa6YuhOkJAg+dfwwkOEDIADhMfiBrPRMRThIWG46BXLaEBrWgIkbtQn XmYDPpz5auJVaRkIPZM+BnnQkobMNwQ5++m3TVKd4QT5ABEBAAGJAh8EGAECAAkF AlCpUocCGwwACgkQrbv4YQo3ibfaeBAAjvgpmIeMbzKK+6J1LYGqTNqYGvTjsGNk wgk3knCCz1HqiNNarFyPUiQ2R4qp7CYmQGUIZ9pdCQ12ArDCejiq2F0Qkg6Po2bO t2UUeuGr4Vf3HPcN1XYo7qX+xNp9UIaQpcFUu54RRlDmkq//74c9SxUL+fc61UPp m2VuRKsKSPBG2i+eJCxKp+gfmIWBHA5NTm6FAwL/1yTBKp3wM9vaQTuub8YW0ma5 ve0LkF80EQ4bXCUTfb0F2U974u2y9SrlLem5af3rOH6oUZsivbXnEQ3VoAuN7Ouc hXtH/kqCnCpNlmnfkQbNIvAhMrLgH3ZObjoVe0PXU4R/l4zq8yWmxt3mBNIy+XhG AGkdYWuvoxvoAws2MNIPVANp+21rLtm87H3msJTeUJsl+i8Tn2Ly/xZHXI0xfB7r +/tkZ4YWlq1VvH6RdKAiQeIIVsY62/VoVe6imG4hgeZgw7ezFi1HcSqOW/msW2/x 4D+hi9cN6HsPBCEwncLL3K9vP83Nof5/IOLNKcKAVabRcGAIR5gSumx6ByqEW1u4 lEXQV0/s6GtKAaBhI6yxHN46FNtxp9s+W3+eASV5JhFBcqcV+ibPh9waNmNVwsyI kOboDYO+KLfqMaN5TrVboNpLsguoy92NJSc7r55S5RjwPKAdD9IefE7WYKn87Poq Ed39iGD6Mzo= =aOqd -----END PGP PUBLIC KEY BLOCK-----
<jlaffaye@FreeBSD.org>
pub 2048R/6AEBE420 2011-06-06 Key fingerprint = 031A B449 B383 5C3B B618 E2F4 BAD0 0F0E 6AEB E420 uid Julien Laffaye <jlaffaye@FreeBSD.org> sub 2048R/538B8D5B 2011-06-06
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE3sxXABCADDNxQCO8nHrTUJMV3tTT4Q1m9Cx0ZVeo1f/qUF3IMO346VYbQ7 4ghzG7cwW2Ey8uGJmMl25p6CLIMG8eFPJHvtwCFa2CB8abab/WsfELNUOuMFyW8c HrnZp7B3I5YnlcIhm8RlP4labHTcU8mkjd9tlabmvWcXIIMKZO6IxSk43h8Btnol AUW8eyHi9so5ohwnGT/0OYskYlPKpBUAIXIOmaXmg08bdix/EjWtWRaHVWxdMIQl ZMseByIlSTGCSdEooZOFELfaPWOWFFQ0wTi/fiepDWB9WG8VvZH+1wcxotlCOVnZ jcpYeK2scPg4BabHtd/r2UxDsxMClZkg8LG/ABEBAAG0JUp1bGllbiBMYWZmYXll IDxqbGFmZmF5ZUBGcmVlQlNELm9yZz6JATgEEwECACIFAk3sxXACGwMGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAAAoJELrQDw5q6+QgIl4IAMEHNmSxHv8XxeGDNWwJ iw6RirQOcm4WPpWGtvChlvZ8uTuZgPlqdSBQEGu7bSWTTK6zplOVmK4DYpUL2Hl3 /2/SursUjkKO2QUkny7m/fT9qlJP+PAbXiqVa2naI55QvOuXNNx4zSusP8q7abbR bCtYHDeFE/DPNLI8GD/0Hmd8NWrPvHIwhGsK2ZzTuoGUV8q7zqgjlu7JB2JwH9dI tdMrVM2OgFLt3Mrb5F1C5J26nut/UVSkHPC1eW7mg8HnvCUK41HA1tKhkbXD8uMP 7D3zgsuU35GHA5p9ARlETIauiVNsDzNgxWwU57BJ5hvGsmycF4M5i2/IOx/V5p2g yr25AQ0ETezFcAEIAMI/+5rGOIwZwC8qGny1upk8z/XxCReW3liTVOe+f1CaPOIh nLTpyD7+Mxts64IDO2tYQWZTw98yayGP8xCRKjBkgjOIgX/SInoAc5YAUMWMOtl4 3kGqR+RboQWKKq83VPNGRnwTXu3RMlonyt5T2RV86lgIbDSabaAUnLjWDpgP7POI /IrpKLSJp21TXHMGobpxeLcXqPApRdKgJL9bP3+jLqbKJmLzhgwzjxpIosAWqRkb PJdZejCfdC8mU1DpKCDUQRLVD0Sbh69jsSiepSh6BIn+lDpfRH1nLoGAhomG6kwC pG4hCXAB6V2EvF0EBQmDMmORlDJFejDpHEbXxlEAEQEAAYkBHgQYAQIACQUCTezF cAIbDAAKCRC60A8OauvkIN0qB/iBrnK5dmFQ4aGQesa+2myOCMgiszggnbzXDFA/ eky/jkIQiAr2xUAwQZz3iPrwzSpopCcPXKHnN7gsfRBUZ7ns2JmJWmyU4gxadbFl kMvB+i24Cav9/ucE8r0wyJKcquI3PiS4qpUzDEdNG/k+B9/Z4oqKRCcxrjSrwnuy iNFiIUl3AQvTgHQBpZGl9DA9zdAM+iPbm7zFwQBCpFeysEOv4bCAfHFuRGJ4xKyq tM+aBqAYzEWQTj+WBz+zYBHOY8VOn42fwBRWeR8+Ml0BxebrNh/uJZOjJp/IBZbc 39ZjPt8SvaBUTAfKGXPZ9O2NSNEExRAKFQ01NDQfN8xxH/Y= =QYhu -----END PGP PUBLIC KEY BLOCK-----
<clement@FreeBSD.org>
pub 1024D/0723BA1D 2003-12-13 Clement Laforet (FreeBSD committer address) <clement@FreeBSD.org> Key fingerprint = 3638 4B14 8463 A67B DC7E 641C B118 5F8F 0723 BA1D uid Clement Laforet <sheepkiller@cultdeadsheep.org> uid Clement Laforet <clement.laforet@cotds.org> sub 2048g/23D57658 2003-12-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD/bH3wRBADoVem06r8ivhxQhCOEH06GAg5J6iqqlKIo5BmOiQ8IHo8JzA9z TwFNbhUCMWzUusH56nNHKOTuFV7wHiR8nvK0y2yU5qTK3MHbfSeMVy4rFAKgyZae Wf1lxRHU+W/EksFaC31ljkF01TGHVMtpKPzDSttgrrMtgstT7QKWTKcggwCg8bVn g7MH9udGaSNY5hO3l9wIcusEAMD+erpSZgVfwojT/pliCwnvKRwNByhIWqz2y3Ly M2+VR/IjFlpOvT4Ytrn2VC4V1duahdowNQh5x0vUPagRRYKx67OEbIcisKsGQTnT m4FSRUfULKZ3M016uSsYNbuopctjrxHE1YJfskHmLnIHjnXhJjfmouQqOX8nQSh0 ryjCBADTi6z4ZvH3CF/C1egPsmYzJ14H2t51JUSHwEWWaj3LkILEGvHsywCIT7Xd R34B0hPIn/ihsJF4XBEiqJlZmFhfFUmSR3/No4TYKOtMAzfo6GtMv8q19U/LQaVY 1wYY0rWCqfzwcH9vSLlpHL9afqNBnVK3XiBGMCmXZw+4klu+f7QvQ2xlbWVudCBM YWZvcmV0IDxzaGVlcGtpbGxlckBjdWx0ZGVhZHNoZWVwLm9yZz6IXgQTEQIAHgIb AwIeAQIXgAUCP9sirQYLCQgHAwIDFQIDAxYCAQAKCRCxGF+PByO6HcPlAJ9gLehC AhRMepAZrGdPsPFoMB283gCbB6y04aeQlXaa9+xAm6C0ciAiXj+0K0NsZW1lbnQg TGFmb3JldCA8Y2xlbWVudC5sYWZvcmV0QGNvdGRzLm9yZz6IXgQTEQIAHgIbAwIe AQIXgAUCP9siqgYLCQgHAwIDFQIDAxYCAQAKCRCxGF+PByO6HT+eAKCBj8MXtxmq l0PuLGLnR04gnauqPACg8Rtgb2XwCrgcZFcjS1Fl7/SmTE20QUNsZW1lbnQgTGFm b3JldCAoRnJlZUJTRCBjb21taXR0ZXIgYWRkcmVzcykgPGNsZW1lbnRARnJlZUJT RC5vcmc+iF4EExECAB4FAj/gQ+4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ sRhfjwcjuh2wLwCfZ0Sqh6DY5U2ZDj+JrdqX1qzEaGMAn30UALtH14r1jMPPq6xn UuMfFjyLuQINBD/bH4QQCACbO8LantesOQKcxZS6WPSLhIoZerdMJ/b4DCd22GGu IM4eoWiYPX73cTMbN9cTEObaA0hvXEdn8vWl9/RBV6aL/fYhAqTVGWhXu6MBJiAv 0zFeliJl2+7MqzZjjr8GSFkhM3tXEzFr+7r7/Bqnp8hdzMFUS2dLcL+ZTXJuq9s+ xUNnwt0+Qy13VQU9whTZNZy3PHHa3XRc5IbZ5FnqMM3D7twlt0sS6j253b3CXw31 qEREoLutw25X8pbQeYJW8st0xIEY9z0MikBOJvKPAUani5+eWjuJC0FlXYM4qSnz zhBpDbQBuhQu5JgPPiXlBq+ta/prm6FyJjcK+EyJsMGnAAMFB/9DIGugG/5F+4XC dTvFluD8zbP6zwqWRuHX9JmA+oso6ruDHiZ+Ckdz0xBfD8yoyENIRnLmBxx11uZN upAlM2itsvAwHMm6zKGLwlN+74vhoCTzvDFtnyTSgC8as4kk4XCax2QMAueFpW+2 8/SSLqIK2UWT8/5SkP0QaN5qSFgRwhGxYgyVP8pflrjL32u+fEwo8EjNnOUHX4WY uzdzq1t+0K2AnZH5TiUCPy9iLP8o3rBm89Qdh45wzqN9DOGePoc0v4opQK9+3TRa vYAx6izrRajiGgUHLcYeL2nQxyi3LBkKvbp4Bw/dpxGTdmPhtyU8jYqdP5SQbrFJ 4DwXqs4biEkEGBECAAkFAj/bH4QCGwwACgkQsRhfjwcjuh3mfgCguHMdGD3Orm8e pAU+aCOCPVkkx7AAn2yhe79FYbHDx5Dx2LAfRRRyfxjR =lVoL -----END PGP PUBLIC KEY BLOCK-----
<mlaier@FreeBSD.org>
pub 1024D/3EB6046D 2004-02-09 Key fingerprint = 917E 7F25 E90F 77A4 F746 2E8D 5F2C 84A1 3EB6 046D uid Max Laier <max@love2party.net> uid Max Laier <max.laier@ira.uka.de> uid Max Laier <mlaier@freebsd.org> uid Max Laier <max.laier@tm.uka.de> sub 4096g/EDD08B9B 2005-06-28
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 01jfP2YAn3DLpgqbfVb0MZfxffpFg3K6fWkX =jGQA -----END PGP PUBLIC KEY BLOCK-----
<erwin@FreeBSD.org>
pub 2048R/0x517BE614A5C1EEC7 2013-09-24 [expires: 2018-09-23] Key fingerprint = 6AFC 44AA 53E9 82A4 4BC7 1DB7 517B E614 A5C1 EEC7 uid [ultimate] Erwin Lansing <erwin@FreeBSD.org> uid [ultimate] Erwin Lansing <erwin@lansing.dk> sub 2048R/0xD7698209D2B4D6C3 2013-09-24 [expires: 2018-09-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 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 x3s3+he/erSO8nh9XIoAAAz6JG03Ncy689PBrg== =9wsQ -----END PGP PUBLIC KEY BLOCK-----
<martymac@FreeBSD.org>
pub 1024D/10B87391 2006-01-13 Key fingerprint = D59D 984D 8988 7BB9 DA37 BA77 757E D5F0 10B8 7391 uid Ganael LAPLANCHE <ganael.laplanche@martymac.org> uid Ganael LAPLANCHE <martymac@martymac.com> uid Ganael LAPLANCHE <ganael.laplanche@martymac.com> uid Ganael LAPLANCHE <martymac@martymac.org> uid Ganael LAPLANCHE <martymac@pasteur.fr> uid Ganael LAPLANCHE <ganael.laplanche@pasteur.fr> uid Ganael LAPLANCHE <martymac@FreeBSD.org> sub 2048g/D65069D5 2006-01-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEPHZKURBAD/4O6BhuBlZH0ptJMLl3p/A+Ts0gBinSPtBL0tA82TBSm2uFRd 8ehlKBMwyNQg1coTJWW8omEwAb+o4E8vwS4OOzzSCesNMgnXganMEE/STapgbXvi fh5Equ1GEeYyFvj9jaUGVoy1OxQzRAmVWtsV3RiV+mHDrBSJjLkS1CdaiwCg/RDB GxVmtywOwdmahcaHZb+dMD8D/1j417FsO9vnsenyS3fjLRNJJuIBevyX4WFqn9Bu fpt9M2l1C7YXvu4TMGkobUvmMsyEoPmQKAm66ickDUEnrwsLGzRWJBN/yoN4CSoS vqS04f59qObOfJa+a64Lg6Y5EGzzqnQvQK1A8Fdw1uSXAcauzucEMyld4sOsIEXi sLuFA/905RotLj6DVEl70+z3in4J64G9lLWdwOVmlANi8zUpIVUYobTJOMTdT7zI xNhYcjYqIc3WIAJycCJPMk9hk9SCra9ETNcU6GkusmyFdNr5YmRSRnz0etlTW6rF P7Dgj9b/jKMPh4NHJ8+cO77EPCsN8tz60LuMLXRboHAdrAi5j7QwR2FuYWVsIExB UExBTkNIRSA8Z2FuYWVsLmxhcGxhbmNoZUBtYXJ0eW1hYy5vcmc+iGUEExECACUC GyMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJMmnBZAhkBAAoJEHV+1fAQuHOR SloAoNpk638zaargeIyuzTKfV3OEt8bDAJ4oXhCjGOmIhDbIjILHQLDG9ozsV7Qo R2FuYWVsIExBUExBTkNIRSA8bWFydHltYWNAbWFydHltYWMuY29tPohiBBMRAgAi BQJMmm9xAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXwELhzkZ/q AKDyek8AbHNoIEFU4aKj9ZAxCyy57ACgtCnaOXA8TRY4ehdyAKHwwYROoJW0MEdh bmFlbCBMQVBMQU5DSEUgPGdhbmFlbC5sYXBsYW5jaGVAbWFydHltYWMuY29tPohi BBMRAgAiBQJMmm9OAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXw ELhzkRNMAJ9gKkxH4i/zQvgtw32ilPgyVvlnqQCfRDI6ESnizQdNyXWwnTbzXnD2 Afy0KEdhbmFlbCBMQVBMQU5DSEUgPG1hcnR5bWFjQG1hcnR5bWFjLm9yZz6IYgQT EQIAIgUCTJpvXwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4 c5HzwgCg1hCgLsdxVIT6kx9/ejMcfITITJAAoO6xYuVfkCBk0lprOgAWeeWXsP5O tCZHYW5hZWwgTEFQTEFOQ0hFIDxtYXJ0eW1hY0BwYXN0ZXVyLmZyPohiBBMRAgAi BQJMmnSxAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB1ftXwELhzkS7s AKDpM9SQcvBVkmHQBrb0B0ZaRMIU2ACg6NTKumOvbvDgF49sRaVXHl3WLZO0Lkdh bmFlbCBMQVBMQU5DSEUgPGdhbmFlbC5sYXBsYW5jaGVAcGFzdGV1ci5mcj6IYgQT EQIAIgUCTJxEgwIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4 c5FD5QCgyc4QAoRqHFkyCcPIn2Onyh7OcLAAoIahqNOxLn6qTNKHTEc8uhKauHvW tCdHYW5hZWwgTEFQTEFOQ0hFIDxtYXJ0eW1hY0BGcmVlQlNELm9yZz6IYgQTEQIA IgUCTJ02PQIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQdX7V8BC4c5Ga NwCg5LZThwqJ5ArvQVRDlgJDAub1jWEAoKUE1GjKMNd3y9H4AFAqr/kukqhTuQIN BEPHZMIQCACJjfWn16Cg7jpvy/SsGAulMEcLI6Glkzp+g0/JyYvNfvvaRGX1hJNw 6pr1u0yU2FJuZo5b+avZu7P7UnCu2ZWRk8y0WVNHG5lie/jPy0rQBF/DhP6FVqk/ TdcDECa1Ncp9EE9vCuZGvEgzjvzgxhQ06/d6Rtzxy3C1P79c0j661raPeWzX62M0 Cj0a0ljdvvm25hv41VT1GAyX/punhrhnBiZwm6UGVu9SQNsOD15pWqMKD26lpwP9 qA9XHnsOknL3yXl542T9BWffZh2I8OUE0XL1LSSsoPC6a7wV/Vx7cgTDLU3Pv55l ERY0p8uadTOCIu36tPkmkuJfoWJF4OQfAAMFB/9YTQ1dN+c2yl8C80VJO07wdNln VKQNcCKtuIJXRygcqC4gj8EI4qMofuJ4JTSWdApJjp9AgxFWol6AyYnW6oQU9A3D GVfeCc4MpduCFpdnex4U82UdwPB8905kAmuH13OIV3vIEqknpqaygDrJ95E1rYUQ lHzlQTHk+JxdqeDvvQfmrLRhPzgQtlukl4wjy+Kbp7Cr3X247c+5y1iAFCJ+o+VO dSlNlckHSWbV8yKvJMy7iF/HfvxJmMR1koU+SvCuOcL6A/CvS0JdLo6gIJJwRHFb +4iZBR9UUuU4AQBH4HIeSCFREczk8BTIPR/97OQI7FmGUSFTafxLHrww2p/3iEYE GBECAAYFAkPHZMIACgkQdX7V8BC4c5HIQQCdGivImEAN/fic1R59mKWpF2NRNJwA nRUyAyZp4AGCki3wKPxtkeS0295b =DB+6 -----END PGP PUBLIC KEY BLOCK-----
<glarkin@FreeBSD.org>
pub 1024D/1C940290 2003-10-09 Key fingerprint = 8A4A 80AA F26C 8C2C D01B 94C6 D2C4 68B8 1C94 0290 uid Greg Larkin (The FreeBSD Project) <glarkin@FreeBSD.org> uid Gregory C. Larkin (SourceHosting.Net, LLC) <glarkin@sourcehosting.net> uid [jpeg image of size 6695] sub 2048g/47674316 2003-10-09
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD+FkxMRBADL3ErUi1Ma8ItiZAyif8+XF+sjNQkEzw49rLGShJhVGWqRXbPT zGtTkyDmvhWXx0Wo0ogcEZPuKG8gJyTvrDktLVeDus33zNzemuBVZWYyvdOAA+6e 3kDIodoFC/ZjrdD3fFO+CyisIKfAee3xqX++izsbxw5BRZ0ra0gFlcVcnwCgzkdF I6KcvzNUso6rxD7yaKXAY+MD/2OpMpMIbUDCUh+oTyV2WZsEhhZqlg1L5omSnzM7 D8weSSedaLXyfxcrNhvuhJ7pX2sTccIWwmaDZ0cvw9jK54hZuBs+GdpglWIxyKIN j+V9rQdZbpFk2/36LpxB/FDC2r9ZrQYXSEghl8gVKcFYfPgayvhZK0qSbux8LPzV mDMhBACn+e4vBMZykbTGaCT3GvFX0uj/zu/gm0WrgLjg0K/aDPuF3CF63FMX7O36 ui9WAW561UPEq8r0rpZCCWlUXuAsI1vaVrGn9Qp65LmBaVC102LlKGd1rULw2wOo LUF1zuHv4E+kftv5caYD0uY18ZA47VKGA2iRElDvPT3gs1KJdrRGR3JlZ29yeSBD LiBMYXJraW4gKFNvdXJjZUhvc3RpbmcuTmV0LCBMTEMpIDxnbGFya2luQHNvdXJj ZWhvc3RpbmcubmV0PohaBBMRAgAbBQI/hZMTBgsJCAcDAgMVAgMDFgIBAh4BAheA AAoJENLEaLgclAKQhNcAn3vHb2b2ar/sCchPl+lR5KPI4WaIAJjp9HHUeEUIJ759 BxRYO1W08nv/iEYEEhECAAYFAkg/sKoACgkQJqR8av5thQ8htwCdFGhhoo6q6UOc tmLIunGOgQHpK0wAn39DnvAi22Xj8ed96mjRNmyZNAk1iEYEEBECAAYFAkg/TK4A CgkQAklOUvzaV4dcAACffajzObxNZVd/VC3rCd81XsK38VwAn0XTT5jNSbZRIi28 5WjLpnGZ9tcy0dl62XgBEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQIAAGQA ZAAA/+wAEUR1Y2t5AAEABAAAAEkAAP/uAA5BZG9iZQBkwAAAAAH/2wCEAAQCAgID AgQDAwQFAwMDBQYEBAQEBgcFBQYFBQcJBwgHBwgHCQkKCwsLCgkMDAwMDAwPDw8P DxEREREREREREREBBAQEBwYHDQkJDRMODQ4TFBEREREUERERERERERERERERERER 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 =VNnr -----END PGP PUBLIC KEY BLOCK-----
<laszlof@FreeBSD.org>
pub 4096R/012360EC 2006-11-06 [expires: 2011-11-05] Key fingerprint = 3D93 21DB B5CC 1339 E4B4 1BC4 AD50 C17C 0123 60EC uid Frank J. Laszlo <laszlof@FreeBSD.org>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBEVPgQYBEACvR8zsof8gLi7pF4331BIVluP61Z4ICzkg2lWLB0Gj1feCbBcA neds8gqHJ7vxArQeYTBV6Gefk4mvCecxo2LGFEcsDuns2X1hf1pXz4AKvtYoVL0e ytW5s3bRdxX+gekv3KxVQjv4tJU2surbW0Hv17Z4m4ZbRfn17dzvpMwtiZmP3kMX N0qAeBs4MZxmWhfYHapc8du75XfpvvD2W4I9VBJXd6DLKNksjq0/Ih3Ygh4kEVxH 6xQT+lL+6yVWTl8XQpJs3u0OPpY/dVjI98DaZucW/Lkh/+uxZm5ndExi4bFJ40rY KfqCsbGAYPOj4HKDkcgNZu+MbC6nIuIuh/eK8ZIpSlSdkzJ2r46wOBHLUJlJoxH/ P4Ly5cXu5lUX2Mf8/HahPSY++5xIoSI1mpqruJyQZxhF4J56X1Bn0BnMmFt+uXF7 O8bjQi4XQJBurcSkAuBnTQlohuAXDfIqeGqqMN6iDGTGCOL9R5WZ6nasyDL+qPA5 WK/ooxINQWPWbTikYb3PZK7v8ABBj6TYAAGxAYrly7boIVKxYUFbotH4Y8dmXUEr p8Hj+tFZCk6AKBn/lCLsM/vTs0ylaSHJOhQc49fj/PETGSQLVjd8iH0l87MfLd9i iLnd0m/Y+ecCobgQDGnDQiFqvsJF6VI+/bisOJiE/HdOyo9j9K3jJ1l4gQARAQAB tCVGcmFuayBKLiBMYXN6bG8gPGxhc3psb2ZARnJlZUJTRC5vcmc+iQI8BBMBAgAm BQJFT4EGAhsDBQkJZgGABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQrVDBfAEj YOwJtw/+Pe7qOPCqTUyi+w9k0829sinZIkLxpqJPSzzYaHQ1QGIOg4wO5yCER49n Sp7V/S1cNKXTIR+YU2Pf2dj/s7Ot6bRXl9dDnUgMjkvNEEIO6a9gazZSfD6+5ECL DFEcJ6n4En02dCjsZQ3uR9DITAZcd/Y3Gczaplwd9LHpUoh/nG1Dj02+6fB0E1wQ ebm518PDvbCaQvggYIPc8DvS5DO3GSRLQ64a2bILYOP1UXPGn4X/0yoayieyO6lD HFA1gVCROtgG1II0ylDWH+Klp4nAyRcqoYfF5kHWsvQS9N27gf90F0XEALjxCCEu Osy4rtDvg1mU1AK0eflyZImJBFfEOXZrEM2TYo+H5X1KLEMlCzgz/5MoOQ3F896u K1Rb95LuF2BJOJsnYbHTEURwloif0U5VIbuH6s37bVjkXDbHcQo1UGwQM/v6tPaG YirZCgh+NpKChuO43XvQTG7CL21qqten+DOh6MBPtBK9TeZIeuGPiUkS1WcCwRbp QwmK2wZeVaZKReqLJO0QXq06dgd4iaiN7W8p6HZe3LYbnR5d8SWyPp2RQxESOOF7 3atOTQXB5hn+pXuHpH1qKK6RkiD62pMd2RgRJlCdKZXM5UKjpAV7w/k15qiZuZg+ N0Jkod50e8O7CLTZdXTTYpifOkjdnycBY24X1Ra0IqkTC69zPrs= =xm1s -----END PGP PUBLIC KEY BLOCK-----
<dru@FreeBSD.org>
pub 1024D/C6AA2E94 2013-01-22 Key fingerprint = 6CC4 2180 F27C 29B6 5A9C EC0D A454 DC05 C6AA 2E94 uid Dru Lavigne <dru@freebsd.org> sub 1024g/7FAC82EA 2013-01-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBFD+vdwRBAD2rMN1ZfqBN9PCvrGHaatVwfORzhr6gSFFjxk5Z6HhnGsQSO8r NAmU9wdINOXJ2M9tqpDXV7R9nEHTvcvjZ4Eolc+fNwGTpglpDX8F8bp5VaQ4+aW5 nwDs+JoLw94MSfbrviXCDe73Eyp4EGMoZ7PlVwvJ8oloIv7T2qtlAeUlRwCgjH4v BOGZab9uoAqaBzMYk13FM/cD+gKe8+bewQyp8sthXrZWYbyyyIu0MdfMxpRZ45aU eDrxuZL536qvaiAy3DmnF/nHkZX3/6XTSlkgyQbzLnI9OZVcDFA/Dke5qVk+xUqp Vyei9HNOsS3u/Nn70HoFijsYUq+hY7aefxoMtJfer+aiJNJRj32DvUP/ZdeJ8jCQ 9ZtdBACEmRZ2UjYYMklBZdp71/HFLc+0+hxl7IU6H609Fqace+aCKRrZZ1QzzNK6 /DEnR6BYPN3eSzMoLLoAvLIzpfaUx/IfHxbyjCaXi0cYYZ9FkUUt7a3qJLSZGnK2 tA1Fw3kFBBO60t9T9cQXHv/sd3bXmIP8eUe++5dfJ5UmmK1f6rQdRHJ1IExhdmln bmUgPGRydUBmcmVlYnNkLm9yZz6IYgQTEQIAIgUCUP693AIbIwYLCQgHAwIGFQgC CQoLBBYCAwECHgECF4AACgkQpFTcBcaqLpThwQCffhk585hEfh9LHkYzVZIpu3DT cqAAn2BgkvA9qN6qJnDtpcKoQh+nnjCeuQENBFD+vdwQBACc80FRBODUmXvpVKxZ ql/tAKl30ij0OVLHLdQQH4W3+LuO0U1Uxle5IbwQHfZh6KtyH1AwafBLZ/lg6ihh ImtvvlAoPhGqeKi2L08djYYRsaQl8snCPrcwVtUiAPqVXCkIFzmcA1dlFRUg68re /f8uSKt41FqtkR3v+QsHdflOHwADBQP9GaQUxdrLssRNH/fEkMg8xZYLGOOg8hcX BwNujIol+Yyq5QZFMZxaFbmdKhCnVH46cOFheHpgRQcwfoMLk4yfZkmw4W1ANyI6 hzzFHtnSLYG7CGkgQE6NS+bjTAxVWGK48SsUxS2RcxPAQmLqTEHTgoav43L/6gAY N2QsQo4b3NmISQQYEQIACQUCUP693AIbDAAKCRCkVNwFxqoulMOJAJ9VIUzfi5Y5 GN4vvJ8KQE4+RZBRLACeOgRRbnd+Xsbu2V6mez1KHF4UUVw= =lVUC -----END PGP PUBLIC KEY BLOCK-----
<lawrance@FreeBSD.org>
pub 1024D/32708C59 2003-08-14 Key fingerprint = 1056 2A02 5247 64D4 538D 6975 8851 7134 3270 8C59 uid Sam Lawrance <lawrance@FreeBSD.org> uid Sam Lawrance <boris@brooknet.com.au> sub 2048g/0F9CCF92 2003-08-14
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD87mDQRBADpSK4q7J5JpjHMPdlp4ieo4jJR9V63tvptpBOAk/nuhWnY3fpu Z7pcxOy5I5hZDIu2kn2zkBv4CTsn9yxdWgJaSKU9nQMYpfFdCnajo0HTwV72+7eK u86VDWZeWuuUIiHVNBUILClbOadmRFDxuCCjyE+V97o4CiUu350M28YdBwCg6LE8 dpO9NELy9LJxyhPBE51iS4cD/2CdsCXzmKaFTa+w5fCOSBzNv516qY1GEkNvmDrD e3dgeyxaembidWjjU2vqOZmWFP64jgayvyFZChGMlRab78GKXH7DIGGrXWp9v7B9 JjCqDyuX3NGaxCDFUNJYR6nt7Q93sAT85oAV9EPeFFEx7Ksd4C1iKlGlohGwleb5 TCngBADX+A5DR9eI9E8loh9NmT4HVzvjk9kvk/vq9i0MqxgcEBodgRPibVKWTWOj MR0T+3qOzLGiVjIL2FzVF1na27hGJmXupxU4dWoKVGR85JYNOoFBNuR2HZsim+iy sX0gK6ejsxVhhx6Q+CQgCQ80TzuY/dD2qFuOGkda0P9Ro62yt7QkU2FtIExhd3Jh bmNlIDxib3Jpc0Bicm9va25ldC5jb20uYXU+iFsEExECABsFAj87mDQGCwkIBwMC AxUCAwMWAgECHgECF4AACgkQiFFxNDJwjFmBaQCcDJfb0SfPgEimiFVhsQOJccxJ F1UAoKJrgMOoY10RAqM822JzOnn9mGXutCNTYW0gTGF3cmFuY2UgPGxhd3JhbmNl QEZyZWVCU0Qub3JnPoheBBMRAgAeBQJCWzEGAhsjBgsJCAcDAgMVAgMDFgIBAh4B AheAAAoJEIhRcTQycIxZWoEAoNefUsJBBCoZSmfVIPEh4g1oDmOFAJ9H6Q4/hfh4 hFTLxU7p2bLgbdjGHbkCDQQ/O5hBEAgA5LFaiwqsnyrdVB+Y7S511ZPmQOi8UwfQ 04PIWyt9a1MwGSYdUpzGAieMLe4KG6olMlLH0X/qxkVjbukwPyybeN7RNUZE1DD7 KGbVOWpyQHhAB4EPfzRJFYQEmT1x7tk0nVbF7emuK9iG+Z3et6Io58QjOgyEMLYU UjwzCE2NYjJmMLEy1e+icfEkOs30s8XPrus/GNffVlsxmHEzxtsicw+AVnlrjLtG xZ5DsNRqJM14L9X5qR3O0dq3BnKGZPOctIF6bRv0AC9lX9kQ1saFqv8iEHoHZ2vD 2eIplYu/bviD+lI+w6zrq/KgNHQ1n9ngzs/N14lN9C57dHTS7U9nJwADBQgAhWSk YnYr5vUskZgVmf0joVgYNBqXIBKo3qXx0DYxGOT18EbKhtSYCar4Uhjob9fUhQop nEd00GQVZwDTL3/STCXUUSaHRJhK9yCwgvQ+/q58yW1JvMrCA6uaca89y9DnfWxv 0lFbOdLJJQNrgLCyNweLhZcEjOSTQO6EZB5OX+z4Dgfxd/5DKWr19JKw54Qtus3s 9zZhVoQoXzWiDlYdtuGUjnVQvycegOxwjFN/TP9IQpQS8HFMfEu5GLTbRAQ3zirS W4FtGaeI7cUqap6ot2BRd1prAXyThXHxYAARaYib/xvCLRDTfXCHgJXbqEiJ72Yy FgGYqFTRrTTgxiXo9IhGBBgRAgAGBQI/O5hBAAoJEIhRcTQycIxZLQgAniGrL6cw +rQG5xLeJ6hrbllYV+8cAKCmIpsp54t97HWvJTKN9GhbpQhojQ== =iBxM -----END PGP PUBLIC KEY BLOCK-----
<njl@FreeBSD.org>
pub 1024D/60E5AC11 2007-02-07 Key fingerprint = 18E2 7E5A FD6A 199B B08B E9FB 73C8 DB67 60E5 AC11 uid Nate Lawson <nate@root.org> sub 2048g/CDBC7E1B 2007-02-07
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEXKYeQRBACVxgl1l+IwFK3aZ96X+BHzeUuGfAAWSqzZuJq0rVXhUU0KnGy6 r2HLJKwGlSQ0tP7rsYy34fDZy5BB1JajHNUIhb5SJFZH3VltQuZ3mnaLWJajm4Q2 c3TRBVVFcm4y0x/QiCcz3JvCUWHaPUUWlpbrkt57O5NTVlneOtruZtYPwwCg+3Ft WjNU4ppXEbbsLHsIri5gPCUD/2e7RFkq1KaaqA0wfwictFgxuOZX00Do1kIFfoE6 0jKSxU3P8E01H68vZs8vGuVOLVE1pXoWoJa68zVOWkLCTE1z2U5YJumZL1mDRRHt VfqlsaHNBLIRd9qAZsj3F5aSFu1/hCOiUkgLWQa9e/BAv76L+mCIJ+g5bU0YTEhx XoFwA/9dF3JFdQCkrzbhS9/BSjEIXDCl7e9Yt4/6jTg14fr9Pb5hyUYYxu6i5v59 TgSdxSFUd3MaZmH3Kewg++9oqewNEYdOu/gmx7GiSKr3k0FlX+aK7UsVDjEr55Gi XH5pqUce7y8bmx03a/pa0Lq5WLvPnfUaplWeoCmmAXeYmRFYqbQbTmF0ZSBMYXdz b24gPG5hdGVAcm9vdC5vcmc+iGAEExECACAFAkXKYeQCGwMGCwkIBwMCBBUCCAME FgIDAQIeAQIXgAAKCRBzyNtnYOWsEUGfAKC9mTqJd/PjHdTG0YZkBr0Y0PLmCwCb Bl/VHprr5SrFDBdZy+vB5GIEhme5Ag0ERcph7BAIAJKt5PBfx/CEqBDS+JkDyYLG RA3johtfG5HPVPOX1iFJgDLx/5ZKIsK3oxJLkkZQDBjzJgU+GcffBwafaTObEbid D2rtwtqfM2EgoSntvJhrP09Qfx1/MOZs4MVJbGEec9egMgFRzUSKZ2xiYNqKOWL4 dL0TOyeLg7HQne1fuOOFEJZJtCxHAm75z6Q8deYHr7bQQ6NZuYc2qsOLjBX+M6Ig d+r5p3vhkeg0uUzkRR9bAmtaDT3BFfxfMG0b4iTBpDW5UQ2Cp0NG+SAEaXVCYNcA kKHZGTTI9e6a8AimsP1wOKs1TsE7WSLsk0Y1U6E7OuHLdmGwZygipfkUXR5v/hMA AwUH/jLrMCAzZaCh6m6mrJ2HYCASRSfGKAbmfqPymEICfZ3Y+FeCCFopeatMZPyE R6gEzHyu1hlSHV6yTfxRDV+gO6Pl9snsucJtD//ZnfNZenKsFoGJM8qu758jBA5m FY5bTlkySmFJYHGAtpMap85j32iA3B24VmgIZ+rE/YVQUbbkaFrKN7Crvm+PgH1u xbLrkjypklyo3iZZQo75W7SobSvyqnG3LRXkXsS1U1m3QWcLqIjKZTrrhbV3IIRK +A0rSRKXpDt5lOYIqbJ+PwwGexlgzb31vJa0+N8qjdvbbMZIOA7mDVauEYsETkU0 Wtl5Rc1M8Qx2IISH+K3AGXHqn3iISQQYEQIACQUCRcph7AIbDAAKCRBzyNtnYOWs EcVTAKDj9JrwUwygZFNG+oWsOA3/ikA7qQCfQkYnj9q6E0Z21p/ZTDptic+qSEI= =yO1b -----END PGP PUBLIC KEY BLOCK-----
<jlh@FreeBSD.org>
pub 2048D/8BF6CF92 2012-04-18 Key fingerprint = 66C9 B361 16CA BFF6 5C07 DA0A 28DE 3702 8BF6 CF92 uid Jeremie Le Hen <jeremie@le-hen.org> uid Jeremie Le Hen <jeremie@lehen.org> uid Jeremie Le Hen <ttz@chchile.org> uid Jeremie Le Hen <jlh@FreeBSD.org> sub 2048g/045479A3 2012-04-18
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =kKtL -----END PGP PUBLIC KEY BLOCK-----
<leeym@FreeBSD.org>
pub 1024D/93FA8BD6 2007-05-21 Key fingerprint = DEC4 6E7F 69C0 4AC3 21ED EE65 6C0E 9257 93FA 8BD6 uid Yen-Ming Lee <leeym@leeym.com> sub 2048g/899A3931 2007-05-21
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEZQ5iYRBADg09p5ljHhIDwhH8i265BFEL1AyW3EPEOb0CyFErp3K4H7+IpG FeaHUrB2i4MYs2r9gAMHadBMTXZJv7ECq2AUQfm3vTKeBjVVz/N7jsEDcmH6bObY XvfRlp9618IBRCDdcbD3Qs0Bv4tM+e0oNYBTsOWAO+bfpHYPk5wORxq6ewCg8DWN J/THLd42Fd4HTfxTC4tTa6UEAMPz7iASUbyJr7//O/Uu+05MBKX8wuNdrH2XPUWq MwLcgEpKSFl0xjpJUMpr3eWGvAg0Vz1UzxDUvZUwbj/5nXh2olNoMH2LQY0QwXGG TPudevBeJ6W+UaEGCAH4Yy25hxxr9h8XI5KRlPCOjQ8i6H+EZbLRTLgOrvBWvD8B Ob8dBACGxoySAQP+leHIe9nrKyZ00tkNI6WPEPAG+14yiCgWLJnWKi7maIHzjG+1 1Fz5+nyMUtHofmLvNyDA/V1e2LFXDjH3v/PcTCQON8EnHAoYmqSRAZMBMmDpU1Af f/vbiOg1zwhwAhdO8y6GZHcJGJjJ8lJYs151ehSS2Oa+NRCfH7QeWWVuLU1pbmcg TGVlIDxsZWV5bUBsZWV5bS5jb20+iGAEExECACAFAkZQ5iYCGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRBsDpJXk/qL1q9tAJ0fy0MkFt+hNcvb0OMqTRJvjYlB KACgluazpF5ATo+dNtJifOd8kMBxB+C5Ag0ERlDmLBAIAKOlmONAuOtrVXvRw2gr wYNA4bjQrv44PLCMGuicddC1S6+Ngp+F2bjq43iyDk06i4eXBop0uqzkGA56pCVW 51mSLThl5q/1dixiLDOSy/9Scuei57KuP5MOk5GpFBU/OZv0R+1ZaK+718+jI8/E NGOt/rZ3ZaTR94rAn9yQzVp4prVw4F7r6Vrp9mVu2qgoYKpwpfuR4nw1kq80Z1R8 TxtUrGFYSY7nRTPI6FI6fo6BVPMAw01Xh3oKfDfrecaNtNNgM/DvkrBvZsVHu3NO M2yAVL6LP/Sjv0uF1pK/WjP27hzvO3yha2KYS3oBu4zysyVbi7QuFvm5FmF0mKik JosAAwYH/RWHzWWtpgXdbMUrPxFTmFhXCVVuyiHG0h3bMZigKtAMcjjYRMenhiRm e5Z5si4VzzpaaZaVY6T7hmzM3cran4VH6dFdZy6qhBFzlJphpLwnJti/FMrF2CdY 1kthUC0fxeEDPBkYvV1izBrPQ915XYXuXdJjbk/ATqeIKsqEHWSmTCLcLLtWn9Nt X8DWU+GHMbaMAbtEfL+i8vg0WIOeSE4tlQwIkvSzfXh6Rysr7NtOuYzADD6ORRkg Q9K802n7IYXqWhZTWKijXpf+n+NzWdXC/1UZambcfo1gcS1fotmrO3Fmq3+FgJ/A YPmudGbHwUlAXVfJ47Atxggoe0znf5CISQQYEQIACQUCRlDmLAIbDAAKCRBsDpJX k/qL1tpnAJ9MKjKh4P+ePXeQ+yIwfPza+MnFcwCgvVONrkQ6Byi+tZ1ilTlKR+8+ xnc= =XiOT -----END PGP PUBLIC KEY BLOCK-----
<sam@FreeBSD.org>
pub 1024D/BD147743 2005-03-28 Key fingerprint = F618 F2FC 176B D201 D91C 67C6 2E33 A957 BD14 7743 uid Samuel J. Leffler <sam@freebsd.org> sub 2048g/8BA91D05 2005-03-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEJHnP8RBACRTtM4Fb2oRITEwfTLIKSa5Mk0m1A7Pitd1qkjtAyFCi5V6uF/ 2FXPP3Ux3M8xzrvkQNnWkYvGh5MSgkkJ0nszUvh63m5Lp1Yr/EMQr03v1HfqGKF2 SALv7eVJ3XHEEGsYq6KOcJ+2n3FkL6bwGXkXSya85a+EwQ+/aBhpEOEKwwCgl4N4 oTMEgh2Z06ZkMJrqbf4/P38EAIAN93nvAN14v41zw25b4USFzqH/JFTG3utAVxiB NgTEkD+OkktxJFoTrZxfxoU6Od4tl+yIyhKJgj/QlH5pA/mpMeaXh+TQ0/EQAzml d/sw7vXV3WJ+zXIZeh51yuHBY817e7izcnfmY33UrOdf4DtcplmUrfQd1eVMSo45 K2b3A/9a0tg7NhdfkL06b97oyKb0L8F92Q1sO6J5sgsEjNrUVrFnNU0DIDgbi/0t oBpnqIDa09hhBJ1XYcxU4KMxBLpuIeuk2cDCUCVeeEDmx98GIss3hKO8YWzB40y6 7vtdh5lveaNV4+CA2xL/cDXscl+poRQA5tR0efR16jckEaEcVrQjU2FtdWVsIEou IExlZmZsZXIgPHNhbUBmcmVlYnNkLm9yZz6IXgQTEQIAHgUCQkec/wIbAwYLCQgH AwIDFQIDAxYCAQIeAQIXgAAKCRAuM6lXvRR3Q7whAJ9e9jjfVscKVirvWN5IM2j0 60Q50QCglAppekJH6jWStTwoq1EroBFPKUy5Ag0EQkedCBAIAKmxNvJW/W+PrE+T JjKw6dbqUqAUNIGWnr6xgL7KYBpx5eo0XH3RCVzvRSfboA1+nXauTn/FhOtWMw0J dkHrMQhxKSDhWOxeftKuiRiVLPXxF7PX0JMOadxOuqNSt1VWcuTxxBB2wva2Rb48 JscdFbT2u7+PHNarDgUnEobobdvbzh4F1ACaesUq4s2y8jH+YJTaBqJJuZLjLwti C2zv7skf40I5ldud4/7ARGuumpjTrqZFQeQwPKX975X+jw5SBUJXA1ckKcgTp0s5 Yk+O5+yUkt6yzDO+CAYEaZ/xfpOhwmqSIXtdo+ilm2q3y5l+nyEVidYncRWRWYyO iaXOJdcAAwUH/0Ixl92WezOXBqMrKVaA+abCN6t6n9zxSnwfVo92Vlfqj8Huz3Hk 55e1in3P01xXdNKnapYNkCg70WbtNQtCh0nJdGGDEWVqJsjiqDDMYa7QLahV7HPB RyOtoAXnTWPpyk0d5WEXPLJ3vPjxqv5wKTmav3JcvVahSVWi2wmWAgfQJXYRvCU3 EEQ5KqtCBrQNdBsSRnzgDsMY2kAh02VuGTbkVlQz/rI7HAYEOL8SoR489O/MTE+b 5HtUT70rk57/3jR3QtiH/3Q7OqnPh/ATjO+pnPuhfqHiQWLWRDigJNheH/B+1Hmn sHiSWrUmlaI0bzyIVW4Xft3nu/wH3QVSSWOISQQYEQIACQUCQkedCAIbDAAKCRAu M6lXvRR3Q1SUAJ45iX7Ka9rb5pwAmY+fyfpuO4qgJwCfW4VAl3+NLCCP4A0Y8wlb UtEtg3M= =kR9a -----END PGP PUBLIC KEY BLOCK-----
<jylefort@FreeBSD.org>
pub 1024D/A3B8006A 2002-09-07 Key fingerprint = CC99 D1B0 8E44 293D 32F7 D92E CB30 FB51 A3B8 006A uid Jean-Yves Lefort <jylefort@FreeBSD.org> uid Jean-Yves Lefort <jylefort@brutele.be> sub 4096g/C9271AFC 2002-09-07
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 3bMQAJ4soo0qCyPCVz4Y0Ly5jvYWToXt0w== =kszM -----END PGP PUBLIC KEY BLOCK-----
<grog@FreeBSD.org>
pub 1024D/22E6F290507A4223 2000-12-10 Key fingerprint = 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 uid Greg Lehey <grog@lemis.com> sub 2048g/61D280F939E8DAFD 2000-12-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 rwa/z+RdQJKHw3NKv4VlmB2zY+IPAOQJqvN6QewzZ7tdmX/aIfLScRoV4b25eguR 7i3///////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////+5Ag0EOjMwYBAIANkroxVKVMv7bBPi 0Jol1OHkWwUye2tuPlCp5mZq1F3pfGYJ4+7poA2eXkZabLq5WGmtTMbExjdgw03C mdgBnkbDkiro2vJWsIUeGchLyWrpUGeiLXcaS1KJWW2m9r4Wu3W5i26EBtYznkQE 6SMaAYZqIEaU6xaw0IgQ1UArXR6ptzfSerd2Y176Amp6msTpLSjAbvhsLHVnyjBK IAx1IbAe/A3uFrZkN9XmyV5ALNC/opOhEwf/wFkWe+xM60838U0GShlM1hDH1Y9y Ak0XFVkksXTwhc6gfIAKp1igffNcI92Hvlq9uAa4MvAgTDX/n5Ce1/SSr5VotZE5 fbugHmsAAwUH/j3/NFbYWQn1lFUzhdMweC89Wih93JlRjDt0gxjNJf+aaVAvfQvO 2NCzurzMSpWJMg8/wWYTKZk1Z/gveXCHQBDYyRast+jP/AZDzfJj//nDXB2CaxO7 Ri8gAMi4C3S3d38n0TJypetnOmo/d2QnAXXOK+zjN8w3EhV7r8FceiKwvmfF3RqB yVUdq6+PYCWfHh6lSbJRyJlWMASXPTh0gk4Zdc85k1EYaKFqAT7yG4AKgsuGFUzH 3Tpuk9+Gb5p9fCXhfCRiHAH9HtPHbA4He/Od8KjkCJCmY3ZvuuSjuSMcdDIJWIC9 WzAz5jRhycbMxQv1JgvJqhs8pzbZYyQkNp2IRgQYEQIABgUCOjMwYAAKCRAi5vKQ UHpCI0yVAJ4r0wyl8y0pyHeLbP7x9EMxUKU06gCfddJeXcPKtL9afAfIWmamNuSN w70= =cc22 -----END PGP PUBLIC KEY BLOCK-----
<netchild@FreeBSD.org>
pub 1024D/C6043C5672077137 2002-01-31 [verf"allt: 2014-10-19] Schl.-Fingerabdruck = AA3A 8F69 B214 6BBD 5E73 C9A0 C604 3C56 7207 7137 uid Alexander Leidinger <netchild@FreeBSD.org> uid [jpeg image of size 19667] sub 2048g/24CD30348C9828D3 2002-01-31 Schl.-Fingerabdruck = 6CDD 7708 F4E8 EFFC 9972 A277 24CD 3034 8C98 28D3 pub 4096R/C773696B3BAC17DC 2014-06-21 [verf"allt: 2016-06-20] Schl.-Fingerabdruck = AEB2 6917 4B92 8861 7AD1 AE54 C773 696B 3BAC 17DC uid Alexander Leidinger <netchild@FreeBSD.org> uid Alexander Leidinger <Alexander@Leidinger.net> sub 4096R/8E10BC04D7D8F82E 2014-06-21 [verf"allt: 2016-06-20] Schl.-Fingerabdruck = 87DE 3516 D6A1 A373 3C20 7B97 8E10 BC04 D7D8 F82E sub 4096R/E4B3A9F4D39E3666 2014-06-21 [verf"allt: 2016-06-20] Schl.-Fingerabdruck = 51FC 6301 8CA2 DEBB 243F A453 E4B3 A9F4 D39E 3666 sub 4096R/33DA1AF69A1EE38D 2014-06-21 [verf"allt: 2016-06-20] Schl.-Fingerabdruck = 3D36 7895 2013 21A2 A216 3994 33DA 1AF6 9A1E E38D
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 69ruAJ4gdxhkupzsuLeXEdoZjngqbtDf3dH/AABM6f8AAEzkARAAAQEAAAAAAAAA AAAAAAD/2P/gABBKRklGAAEBAQBIAEgAAP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/b AEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIALkAjAMBIgACEQEDEQH/xAAfAAAABwEB AQEBAAAAAAAAAAAEBQYHCAkKAwELAgD/xABLEAACAQMDAwMCAwUDCAUMAwABAgME BREGEiEHEzEAIkEIUQkUMhUjQmFxCjOBFiRykaGxssFSc4KSwiU0NzhDYnZ3g6Kz tdHh8P/EABwBAAEFAQEBAAAAAAAAAAAAAAUCAwQGBwEIAP/EADcRAQACAQQABQQB AgQGAQUAAAECEQMEEiExAAUiQVEGEzJhcRSBByNCkRZSYnKx0SUzQ6HB8f/aAAwD AQACEQMRAD8AudOkYzMI5aZJpe40/tQhcbYwjuCCTtKCNQxGQxPaVNpUxh0ky7N9 PG8skXtRQSu6Nmd1JCbxHlTtHIwm5fcMF6FoVV2UwzSztnswxxBnSneSCPuzErGs JaobYr1E3ILSHAU4MaSyRpTgyrI80oqFkkkLLGzxTGn7UWNoCRkEKOC7KZZCTIVN uNWxijVIyvZVHppsJR3K/LKle9viJkxG7gf3XN0891x+q7G658MnHpYSzlGpnEax TEsyRpmXLxw7ZC/tR07sjP7yEMBALyKvrpFoxZjMvajAhiijLPB3k3xBUO8qMAr3 VZIo3b+8DPwpy/tHphpHMk6xqoq4JVUYlqMCKdJTEpAjj7QMcMYLAJI8s5G8necQ 6b708ZWnKQPuZoi0fKQrMMhEZRmoyrIzlhGEUsucekQ1OSX8LZe5uvZoKBBGwLFL 5GJYoC9NCLx+v7r31fTyDXhjP2XPHRyKkbLBGZVVW2xPOYA6iQuAiqGkxhs4V4QV X+L0n59Ffm3E8VOpqJ4BMixROYyFYFXZ1RmKsskSq8rqZizMSWwBJtdNo1HI7UW9 ljnaGKRUnZngkkWN2V9sSKZT3IUZv7mWLuOzHaRVNo9pIpRUmplYzIspR1jVikcS 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 CwZ1JzjIz7v4eOSMYIHH2/l5I9AGkwPjaRyM8HIwQAMfB+wGSf6j0TmJWbBGFxgn HP2zxyPgY8g58+u/cjujIWJOPKBOyJXO0eOLVlV8A/isj7UtBK/xR4a4pW+Tm1q+ LPBm1QZZVgU+0YdiPAVScqceCSccEcDnwfQkE+SQQRkD/YAfPj+eT8Z55JqJj2jM 36523H4wozjz8/Pz5/kfQ0zcYBz4PPA8HA5wPOTyPnPj0m4XZuibo0UG6VlWbZBf K1Dh3Vu2xPDvPZz7MXlCy/e+LE9274OzBZRkgkYXgHAwcDz4/n9zz/sMKNtzg4Jz t5zggYyQf58kfpYcHJIyPREkjEjCZz54zwRwOQT+nPg/0+fRzbg8kqKq8lhyM+ft /pHB84x4PpvJkNq+ngaSPUdt8hbKNLSN/He7x0AvhfbuNUyj/wBVVdfN0Hd+NJ39 nH6NXbUH1QdRutb2wnTHS7prXWNbpIY1jh1XrquoaW3UkJlYF5msNu1A0wXcIUZC wHeQHY5WVUX5iQtOQSQeXZTyPkQSCP8ApgZ24HgD1TP+Av0Zpulf0K0GvauNpLv1 w1pf9YTAwAdm0WSY6QsdP3G97RsLRcbkpXODcCECp7mt5qbgTPKIo41VWwQd4wxA Y/oQj+L75++PADYZk8uR3ejckWQ0kUicnPBFpR5f9JXiHqdspylJPyAZdUIFFJT2 bQofZHwgO01NDO4lqJBHIGAjLAF4Y0SNNxYkIgQsMEBdzNjx6zB/jS/XTYNaai0j 9GWk9ZPbrD/lVYq7rXq2hqhU262U9XWQilsjmlmY1v7HgqP25eoBhFmgpabDMkqL Z1+Kb9QOoOh30RdS9RaQvlx05rG9y2fSNmulNUqtVRz6nuJp7h+UmWTuQ1Mdj/PI lRFh4WUPGQyq3rBnXXCquNXPWVk01TUzyvNPUVEzzTzyzNulmmmkYyTSuzO0jOxL uSTls+jMmeoyfbk7SMYs5EI3DK3KrFBgxJG7iSgv57l4ftxyRntJEJxkwlN2zBFi 7ZRmReRkV/yj0+NGPTttefQTVUtv1FfU6+/RbqWoc1dTQU8d1u/TyO9FTDqiihga qp3tpZ+/dKOilamlSV6xIIqjf+YkNVXbSej6uq6cafvHa6F9YYFrtMT96Oaw6X1D qFZZrRd9OlyFt1n1BLUxJXUELChpq+oiq4FgE9SfWYLQ3XDqV01qQdH6tvFLRupj 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 H8DnnICsgg== =XhVe -----END PGP PUBLIC KEY BLOCK-----
<ae@FreeBSD.org>
pub 2048R/10C8A17A 2010-05-29 Key fingerprint = E659 1E1B 41DA 1516 F0C9 BC00 01C5 EA04 10C8 A17A uid Andrey V. Elsukov <ae@freebsd.org> uid Andrey V. Elsukov <bu7cher@yandex.ru> sub 2048R/0F6D64C5 2010-05-29
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 JrV1mi5i =KVzv -----END PGP PUBLIC KEY BLOCK-----
<lesi@FreeBSD.org>
pub 1024D/96C5221F 2004-08-18 Dejan Lesjak <lesi@FreeBSD.org> Key fingerprint = 2C5C 02EA 1060 1D6D 9982 38C0 1DA7 DBC4 96C5 221F uid Dejan Lesjak <dejan.lesjak@ijs.si> sub 1024g/E0A69278 2004-08-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEEj2LwRBACdxv/Z/TqPsaxTmKrXZSOPnQca8L9UksW+71kI7YouAkbnnTyB maf7zCs0BDcUU6t2mO5ijJlxXe7Y4yMx/3mwGX9iWfWh5U9xobG0STcU8ET3ZQmZ /AM1vSL/weLK42YHxyqSrudt/oWxH4iDZFz5I/HI1DRwZMFhft3ja+pdYwCggAu5 GwYrQlQJHJcCFbxnYUGJX/sEAJXyzea8rzP7dTUsaOYcLitIpy/eDI3vkB0aW7Uh JSicWASPW2erv99f1p2gkVQ0b0lrpMwPrysotfN6wLLYR0fowCWHm7hnASgohFpq VwB7aj0HDEHne7EIr6geSpnO8Y4QUtbFVWo9cq7HGzrB8NhwpLXQ5g9RgB+H9SS7 SzVXA/4qPOAoJ8Fp+ZSznd46yd+dgFmVpSJuTs3g+hFolSioEkbi66fHwPMWeifS i02AkU8m/qiGMAXRwBm7s5jeLwQyJX38S4PnupPg8pOjZtLVYoTWaM19yuMGS5S/ ryF5MaCGtuB72Wnsp67aZIkaHjfS4QAKo0WVH8yucnyOS+BFsrQiRGVqYW4gTGVz amFrIDxkZWphbi5sZXNqYWtAaWpzLnNpPoheBBMRAgAeBQJBI9i8AhsDBgsJCAcD AgMVAgMDFgIBAh4BAheAAAoJEB2n28SWxSIfMJkAnjxPSokKlZtVhYhAcgX9as76 sadXAJ4yo003F9ilZw6avaThCBltR/MqWbQfRGVqYW4gTGVzamFrIDxsZXNpQEZy ZWVCU0Qub3JnPoheBBMRAgAeBQJBJQwqAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheA AAoJEB2n28SWxSIfOHYAnA9quQ97rU3eJHb1LzOTpwZVMSDxAJwJnLzSFQHfJu1f seG9fTyt5UpBAbkBDQRBI9jCEAQAza9XDZevfbu9BYjDESbKo38SRgyTd5/lIgzH IlF+9zGr2e9PH1WOIPr0m9m3LYQzkL3YiUm23UoJO7uhvWvCpxfChwVx3VFwM7Yz WqWBV+W27aZNROEmh5KheJACE/m6j0R6UECiRHZS/EsHP8FNG8roWro23ApNR0Vh zZ6iVNcABAsD/3glWDyCWMA/eX/YGPw3xN3hkENgruwtWKkK6TW6kYv94k4iD/b5 bRsmIvGd31AM5/Qv/IQd7epXb2ovDaKvMl6+jAJb1NMCSzOkCnoqcQoKB0ed33d0 JOVWuA34WCMZ2zHLFEtwuQkHZqmyNQcxRLGLkODo4WWsYNU7KeGHvAJDiEkEGBEC AAkFAkEj2MICGwwACgkQHafbxJbFIh9+8ACeNr7M+KLI/eWu6Nig8877cjrEP3QA n1Kfo14Pijwx26kysheLFV1jutrq =IfeN -----END PGP PUBLIC KEY BLOCK-----
<achim@FreeBSD.org>
pub 2048R/2E15B3C1 2013-01-22 Key fingerprint = 2A48 0317 D477 2A07 2AD9 CF1C 7C1D 832E 2E15 B3C1 uid Achim Leubner <achim@freebsd.org> sub 2048R/E275EF01 2013-01-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFD+q6cBCAD8XsjHzsyljaRIF8Qz8NeXaiZWq0KZ8NHRJ4ahZLN5kvhk2D3+ Y+iiMl6AesqTP/oobtXkeUFVlr0bwBBHpIRoOmGzxI5aorMH5Yv3dfY9u5HgkAW1 E//0VK92QyH4O7q0adquRmymjR9pD2yjoXgIFg6P4cHoEg1hLyf3FOHHCSEYdXVm A5iBP7w+7aIkcUQiRVXHc3CojDZrkpSGwA/Pp9ywple8p7GqxoBr/4i/qYQeCNMI 97EO7c+BSfBrbgvWiYPY7+eIyV6AZFl9NfEfdko/7HLRkbL6Hh3jSXR/SZQ31WZ7 ct2z5GqJpEx1CDcIw1nxFYQ5uCLbzfyWT2JpABEBAAG0IUFjaGltIExldWJuZXIg PGFjaGltQGZyZWVic2Qub3JnPokBOAQTAQIAIgUCUP6rpwIbAwYLCQgHAwIGFQgC CQoLBBYCAwECHgECF4AACgkQfB2DLi4Vs8EW0AgAnkiKp8Hu40tgwLymXdK5eM2K nywLNJ7MBUwuX9rn0QIQ5gy26ktHCNxONZLacsApdsCAlH4vKk89G38wXUq6OgGn NQ+4uqoSVuUeR4A4GKdGjVNld/r33v3nq+QgGitGHjgpMtEPf+ZfCfZ8GxZG/oi9 kBpQMsA61sigcYZytbhGM8qy4aCqpgOKys2VifEgtOHx5jr7JZRYLrBkyftyvVS6 t9BDg1rdy9dcdKCaXp52H/qEZL/CO2gFLDR9t4ul+NalIN+nkPBiwS3hu9kn0Y5Q vDU4Kw8D7CW4dalqOMipOetvMwYVEmv5YiCJwzcoMIFpl2aOvef5yoQdozagGrkB DQRQ/qunAQgAzEocPpUQIsc5dlY3+Pa69WU6+qjIlVHbH6eZ5hWgi1AFMRf/KJGv HzZJElAXUz4dEhSAMhbHdWD0h6e0NalD7Uzea5Ay0m0mrKlZ1Ijo3lCrSXpKRwyZ terxnHZ3kc3XFUabk6kZfLkZsnm/+L2n0OX/dXvugeH+uAbjtYggBosun2mYSKtV x5+8WK3EaeLkh+0Ml5DiYfReQcS8r5ZCwfM+EtgP+ckmqHVQOXIy63WwHDPC/82U msQmbLGBw1RMezEckpQMksgC6pbqbp5gVxl+xUjz36JBHEW+MeOZLDiKasNw8tO8 G5sQIYSKh/Vcb1imeZIb/bvagtLIJp4EEQARAQABiQEfBBgBAgAJBQJQ/qunAhsM AAoJEHwdgy4uFbPBunYIAMDQe8m2VtABvUq0SS/MubKRKVASiWQZkvxqh7stDgl0 J0bsk0O6egWk++lsXTRGr6SwV1fkYawZVLAkoiMyovLC0iFoUZTmkHE4fYUFJX+u S6C9UURhpGpETLVI9sLfREDYWIWf7pvaSUmhF5RHcugcLhu5I1JZdJjoHXkpCbFO 8xOK7D0KBFVCSnm/b2yo8cfHi8LFLqsqPvf5mJx/iKuTSGJe2XRvA3D7BgH8/Lcz QKsWBslP5TlIwh0Zy5mabAEKzGzVWY5laM9lXGbZrG9ALwEzSRgZCUWTS/EfC9jE WtMvwG0kYv1rFDqiRdjtqD1ja59uRXGdiUb7++BX7cQ= =jnyf -----END PGP PUBLIC KEY BLOCK-----
<cel@FreeBSD.org>
pub 1024D/8FFC2B87 2006-02-13 Key fingerprint = 6872 923F 5012 F88B 394C 2F69 37B4 8171 8FFC 2B87 uid Charles E. Lever <cel@freebsd.org> sub 2048g/9BCE0459 2006-02-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEPxAWERBACkn7HyvqMEJbJcf5eSJ57WR4Xoo1PU1GIsAYhdFhDOvmeWRZcH kwUyFyol4X3P7RyibrvZwnvc+nrqXqATzVeDHT2NhcTTeG7fq4E4a3VpdqR10uV5 nswMRw/Arci7vuAQnmHzOYfnNP1ng6qLjA/CUizQ01WakhQeHGtbM9Q5XwCg2GEW H6d78/rWY2Lb2wo6cS+9Du0D/01cO9zPg+Mh2T43XdLMjnVp17jR99SuNajqJbBJ pNehq8yA6wb3ahZPjKtXpgELu7YI7omxhqcq1mxKvXa262aV72qdWqWoqvZzX0hU lOckg6Q6EO7qGvU/jOY02/tmHdzQy6UJzHB7JVsfZ9DGH5xW23AYmbD4WF8jXtyL Ey2eA/91IZpxEK7guIBt0FE0qMSCh5VOOlzOQkV+KtLswzEVPOWw/93wGpd/uilx jZESPZ70cSWuCWwY15FEFts/gs5gPhCs1h4asQI0Shft3sgQrBhE1/hg2uENccHR y1Af75hwezkwFkE2DUXFQqLuUlGu0sOtG+b7+IPrYuaGAB/yBLQiQ2hhcmxlcyBF LiBMZXZlciA8Y2VsQGZyZWVic2Qub3JnPohgBBMRAgAgBQJD8QFhAhsDBgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQN7SBcY/8K4dpvQCeMv7yFBMFOPxa8lF15IYP 8LRYjaYAoJyIupvj/RgaM5zZXZdPUS+gro9SuQINBEPxAWkQCACPOzcRL0LbFubW 3c8aJODeBG91aQRPz+ndMItFW6/+CW3EmyCGyaG8uxdtY0SOx0yALj4PiSj35s8u wqfsWFRuNixODl9lE8ihq4d5qfeiwpcAR9wVNwgnXD9boKXOOFwb70W+9pI/I4zX igHFxZQpndROhIFO1RLdoBlB89vV5iX/qzPKHFfmbbIkY4zvAsvW2MCly1WiEC2y GT5GJTFZgko5/VBFzb3VDvA0grCGGTbHK1hnfuuvouQPnbuawdSZO2XGMc2pFcKW gh+fgdw5Y/oQZelJKhLaL8Lz27buTz2sj5O/cYv5n7wDD/kSnb7+pd//qagox3JZ bGXKTED3AAMFB/42KW+FULr4keaGuhAZ07hrNs73Uw3QTTNIUYYOkSJVvgold8RX HMP38WANIkHtB3LBaZBxhqAOp2R5AppIPfyDrp1q0lTOGpzWfsQNQd10KRsXZGkf K6INVa6kpzQhNDxBUyLh4onp7hZyt9zXdZrfYJLexbxrxkP1LDRDNJJAY29LnVR2 vyDHPrB6mmgijy07S6yKwC6iJIRoU8w4X3xFqIQ+KcA6VBhXqtqxSjk7GQnwyB7Z 7l4Qg8iZvX5qj753w6BDEwDtXlCCbocDVsu5xcLRPwMN8BgH7XcYCwmZFEU7IgEk RAhqiHsjpnO7al5a+HQJi/KMOs5aDfwdkI48iEkEGBECAAkFAkPxAWkCGwwACgkQ N7SBcY/8K4fTZgCgiVDpYWzuROUmau+CUT/UVCatpHUAoIyg/KnHhe9PUB9Gav5+ /KWhtyRy =T2Vu -----END PGP PUBLIC KEY BLOCK-----
<truckman@FreeBSD.org>
pub 2048R/B082B167EC3362D8 2014-02-20 [expires: 2017-02-19] Key fingerprint = 7016 6C9F 3B88 E5E9 E7C7 E056 B082 B167 EC33 62D8 uid Don "Truck" Lewis <truckman@FreeBSD.org> sub 2048R/76F1C2A82FEBF95E 2014-02-20 [expires: 2017-02-19]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFMFv3EBCADzzY+3VAk7Y/IR72OWwPGG4MOR6rnWqGoZ3EhVwSN/yw01U5/T jAk2nrCYdW8qZzCXqgAnJGD3015iPU0h4c1PNDqi7yNy+jn9Z1dz3vb+GpM5Mkn+ FddEDtB3hpAXFHTgQCt5Br/3U+vO9xls5ywr6LxotrzMANQTLPBJI8abFDKA6MXx lCoe7lN0Cj0iyBaG+Xm2yckFWiT93k88LdftMk+Mjqg6+9VnfoCm4VaIa7bVbbkP 84AYyca1FLlYTMAj7wikQlXH6V7ujRraujW0w9nJ2dLO/es6rRe1aAUVJLW16pTZ gmodjQNsGna+ynFY3grLaspAo3u2/fCdiQRRABEBAAG0KERvbiAiVHJ1Y2siIExl d2lzIDx0cnVja21hbkBGcmVlQlNELm9yZz6JAT0EEwEKACcFAlMFv3ECGwMFCQWj moAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AACgkQsIKxZ+wzYticRgf/bbhMTRD/ zoGmuAo1ilw+iJLfsKtkxDLGtxbWEwyhEeeg+ewYjbMaeWeyM5k7AbTeOsof1ixx IDU0M1hpyXXUOYYzBIw8y7VWTCCuWQjqBcFKtjX1kwsNErWe/00BYRvSdNJwQo54 z2RCjIWTk1NoQoiulvEP4bgFaYYA3ZoUiY2h2+gjarndnIFiTVBLRz6dyTCanb5R c0j8NqQ/82K+S82oezo0RrGhy0H5n0ofHD/rUnwpjHmo5JVk++bNGz9AfziEm1Hc PiUXRfYFZm5CKUs/yVneQgU2T/hiecmp8Z+0MkYO4yxzcNa5b08SYFudiUdvLs29 Wspc5yQI0O5Ak7kBDQRTBb9xAQgAyWQJod/1+Y004rGbXU/YA3ovWpeZv9NlmUZh Nr/v6CR8A45S/LVc4MXxGQO6b8mDX03/cVRcSOVXGj9tPXB5cngivXFLeBUWTCRA WnaiVugO0lNWqjkumPqdFaWZhMKYuNCF9zrCBHbw3jXygarZf4vTOOQ3j9E9bnhG CvAoSnUAJsvQHocGFA3S2/YrPm6yCmFQl4nSLGV+5WPPH6SiJN0paHk3sLuG5dGi l+K76zhLMqujAQUJOiQXl7SoTKc3ejekp8cZWdGlgXk+0xvwjB+emGtq6mQ5VOFB uUT/pvD2zxA5aO/meaJLbv8SKu85bSMZWKuTf/NzdCvYdlhpbwARAQABiQElBBgB CgAPBQJTBb9xAhsMBQkFo5qAAAoJELCCsWfsM2LY3nEH/3NcU9xD5Lc053hIqs/V 69X0UJv9geTqYkFgEuUcRzxFfeQRFOtrWL4r1R2X0ixN/8kCW98oiHdQEeLxAs9F F4JtyKUd1+F4RLfMBVE6Yf8j00EVn2EOesHEGekMFfd3mkwFNbrb6d7fGm8kZFKS oUhyGZLQB8MPpam1KyrnpiSCDv2o9WeCorMxKnm+//T5GqAf/0OOcU6tswrAfCRV CGUfyxPIlFnek2sXuvk7CgCv9/1dv/SFt1R3w9AhCSNv1+WClrn0CFX+HvFmBjMt PwlWh9ZN4Z3ZzmCrL1PK3QdX35UKjV7QeFFrHKWXsS8oVYiV6Gsbp5vCIOvx9A5e pmM= =k9Zb -----END PGP PUBLIC KEY BLOCK-----
<glewis@FreeBSD.org>
pub 1024D/1BB6D9E0 2002-03-05 Greg Lewis (FreeBSD) <glewis@FreeBSD.org> Key fingerprint = 2410 DA6D 5A3C D801 65FE C8DB DEEA 9923 1BB6 D9E0 uid Greg Lewis <glewis@eyesbeyond.com> sub 2048g/45E67D60 2002-03-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDyFNecRBACKn+4b36n2/e55yTfpLXS9a57gQNgx0WXBfbK9LMLf2D8otD+0 z1DW2eclAOwJVtPftjvYP0HKFVC8Pes9Wvp6Z0sIEPpdkL2NPlUuxXUyh1b92u7n Bpt7Uwsom88fnn+BOPrvvPL8Arg3JBen+Jd8o9yRoABCYku8vQF6CEUDcwCgmHJd 9hZ/kRb1rLdSLssB4VMQ3zED/0/SVm+6XV+2ObXn9FKQpCC6sMSq+PCoR9NzAVRI njTtkpyR0fjJZr69IN2E2MWPonv38Xg1tWJnR3fKUOnNqwiVHBQKKrKa9lGWsZQp TrR+ihtJ9hC626dCq9JDb1Ls7TXn9ha+d0WNuqiwugto/myHm/GVlCANhGzUuDNU Mo27A/46YEAMuhSQWOxgSZ/Z5g0ybgpswVePrxvD4sX2/AVfKClOYpPiNJe+S7YT JmfIPkpP2P7v+87BaN/uWgaFmxlhpUOIuat44w52EwwGB+K24cGgq52XncZsYTYH SrLitkRtt35tVdnn1v3gmDi83M8W/YunflpeJAgJC0QzxKuar7QiR3JlZyBMZXdp cyA8Z2xld2lzQGV5ZXNiZXlvbmQuY29tPohXBBMRAgAXBQI8hTXnBQsHCgMEAxUD AgMWAgECF4AACgkQ3uqZIxu22eCkCACfUuNYpGGlFboDl5FZeXlor/k/hogAnjyq /Vw8amjEN34PGuqBPQpMnFrwtClHcmVnIExld2lzIChGcmVlQlNEKSA8Z2xld2lz QEZyZWVCU0Qub3JnPoheBBMRAgAeBQJA/XNpAhsDBgsJCAcDAgMVAgMDFgIBAh4B AheAAAoJEN7qmSMbttnguMYAn14cqGfabS626P1D4GMcSkSagzaZAJ9LyH+vMrfn OI2x9+VLyaTSAvm4zbkCDQQ8hTajEAgAmuQukPFaefkzE7DTIgSDIc5vRmUHDs01 bGp36R7f5GEmXwNtCZ+Mf+H54QSzuNh1QaJ6Nq/iYd35LA03/I7AgUFwSX1cEc/n fNjxqS27CAab6nIt9Syb9WAAKUKDMwZCjHBNv49CAPyVVb1aTUCJyUcv1gGSMNHX r2bkWpa4nIN4+rqD3hifHCX1j/2XMkmYY8NCVTY52zqO4sCbh+ohAMfYtW2yV2Iz z4ngppp0fUbmlGV6DVvTC1Mi61UCDkhO+TZFlE3qXeGlP5GR0SbpdQmPiI0Jpinq Zs43gcd2xtiUBM7HAMoQDpyFirDuyDKUgMWJrtJtAwWa4cf4Luh/fwAFEQf/dqpH bl48tu+REAPrjk9NWaGVqi1vv0r4LJXo8db9aGxwwAzKXDhwqHo69E6l4/Rd+hsa sIJE7vGNbGK+uerTg/W3jot90MqraplXHuS54TjOMyzWSSG7S6ypmDf5YnK3xQE4 NfTYvC2GxphotkE+QmBzmeft/Mo3opVYlv3OOBqiQoCYB348rXczxEUPam3bFBw1 wp5XjA0kqYRcUbxNE5AK9c+g6R2c/jT96EnDZDpMRCNZiAKHFLEjtHy66BiVHKvg tijWD0kxtlWV8KAKN6OhUpSSsCv53jsCIntNARAVENOKOV0RQVDfJgykeK+3eeNr UdIjAWFAWcVOEw5TQohGBBgRAgAGBQI8hTajAAoJEN7qmSMbttngHb4An37mZU8r E3SGCAlTJCLV1JxRDXVyAJsFBVshxisn1GycdT3UCwcJVAHJ5Q== =bx2+ -----END PGP PUBLIC KEY BLOCK-----
<qingli@FreeBSD.org>
pub 2048R/A3CA4C13 2013-06-12 [expires: 2017-06-12] Key fingerprint = E37B CB18 35D1 F01B 7D7B 1000 0EAF 4BEA A3CA 4C13 uid Qing Li <qingli@freebsd.org> sub 2048R/EF3A9370 2013-06-12 [expires: 2017-06-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =pGx/ -----END PGP PUBLIC KEY BLOCK-----
<delphij@FreeBSD.org>
pub 4096R/95B6181B2D33E9EC 2013-10-03 [expires: 2018-10-02] Key fingerprint = 0E1A 6039 BFD2 1F02 DD1B BFF5 95B6 181B 2D33 E9EC uid Xin Li <d@delphij.net> uid Xin Li <delphij@FreeBSD.org> uid Xin Li <delphij@delphij.net> sub 4096R/7D0C88F036C2299B 2013-10-03 [expires: 2018-10-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 6tRGZlF0odP1ZB6wub9zq2DxFouSjHgH =cjvU -----END PGP PUBLIC KEY BLOCK-----
<avatar@FreeBSD.org>
pub 1024R/F4013AB1 1998-05-13 Tai-hwa Liang <avatar@FreeBSD.org> Key fingerprint = 5B 05 1D 37 7F 35 31 4E 5D 38 BD 07 10 32 B9 D0 uid Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQCNAzVZoYQAAAEEANP5N0PqWEDO1ml4yfxXCQ+hEhaXyaGyNboh6uLX7uNPXQTI 9veETXNd20Fu+8yuzVFJk+KmmGerUzduHLXm6q+szHBvEQoJ2ZGk9AL9jj2JjFRj rCRsf6mk8SWuL0xDBTu04bZZ2ttNDxNiymNTqdBVZmX6Mdg/T2i3mv/0ATqxAAUR tCtUYWktaHdhIExpYW5nIDxhdmF0YXJAbW1sYWIuY3NlLnl6dS5lZHUudHc+iQCV AwUTNz0HC2i3mv/0ATqxAQGQ2QQAww0WfeHFmupfTBWWdmNSX9eCDIfN7Wsuiu54 DgCi7T7ixQa6reIsMAKx1KHNX/GSBr+t3nyHT7N12Ee09qKXywQAw9W2nrdMGE1V nENHEFgJtvnoN76U1goANEfZGnLLhyuDoMyZGCZmVG6FiV6EoKrWxfwq+jV0Y9K0 3AI/Cny0IlRhaS1od2EgTGlhbmcgPGF2YXRhckBGcmVlQlNELm9yZz6JAJUDBRNC H/ubaLea//QBOrEBASTEA/9H+78uZl6JvHwGKOXyZkrRCLTUgifJcR3thVfynGrM AImheJwqgVP7FQojDk8xBCBQ1b3tpwpeRPwE0V/Dr5MkFLfiaVgCIfMibqcc9zuH i4RYcRqKswiO3pFeDMyHiSxylURcHfx73CYijIDyG+HPiCQ4OGd95VJywUzOVddn +g== =jIT8 -----END PGP PUBLIC KEY BLOCK-----
<ijliao@FreeBSD.org>
pub 1024D/11C02382 2001-01-09 Ying-Chieh Liao <ijliao@CCCA.NCTU.edu.tw> Key fingerprint = 4E98 55CC 2866 7A90 EFD7 9DA5 ACC6 0165 11C0 2382 uid Ying-Chieh Liao <ijliao@FreeBSD.org> uid Ying-Chieh Liao <ijliao@csie.nctu.edu.tw> uid Ying-Chieh Liao <ijliao@dragon2.net> uid Ying-Chieh Liao <ijliao@tw.FreeBSD.org> sub 4096g/C1E16E89 2001-01-09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 gJ4OtCdZaW5nLUNoaWVoIExpYW8gPGlqbGlhb0B0dy5GcmVlQlNELm9yZz6ISwQQ EQIACwUCOuXFUQQLAwECAAoJEKzGAWURwCOCLMgAoJGhtnPbzYhZWHm5S9Dkgmvj QsgvAKDq9LzJ14Sojrtpxka5F5iViLoqEYhGBBARAgAGBQI7J4TCAAoJEGvZyNJ3 mDKxzzAAoJFFuWMLf6HHO0TiPdafPjuruVpuAKCC0eE7oh9t4xMlTb2SYWMpZS9p hokBFQMFEDsyHL7DfcPfQ7mVNQEB9KQH/iLaexNwzgB9efMXg6RH+TtaWzxBdeEc 7CD9oxjG/1tsfd8S10UScnr+JHTDNn3eh5KdQDjPmKkedPngAIjKHvb/Jux7jcxO OLmRnVeFD1kMyNlv5ggtJcHJ4QXe4rBko68qyU5ON9pvA/h7Xe/ulGw71dOCx0T6 jBlpmLF8AZlHW7z8OS+DYa7fJFI65cDbtd6c9hM+O4WNj8PK7p6MPgilIaWsnJq1 lS5fkaQK+dqaIaVEE4WqTt8v8xC805X58HZXRFma5D39yGFNd3LRCpu48mM5LDLT Q7tfs9jn1Ru7iUHyjI1Jel0hvRGblL8iW/zvwmS/XTXPsh3H0U/WfWG0KVlpbmct Q2hpZWggTGlhbyA8aWpsaWFvQENDQ0EuTkNUVS5lZHUudHc+iFcEExECABcFAjrt DlEFCwcKAwQDFQMCAxYCAQIXgAAKCRCsxgFlEcAjgknjAJ47s3GGw/KsEHKDjjRi D/kcOgiNZACgxKgabQRGmvwKMl8fTtNxiTbAyDOIRgQQEQIABgUCOyeEwgAKCRBr 2cjSd5gysSzKAJwOKSwO0ZIm9II4sjcxWPeNUHAl5ACfXShCxB2mVs6kRDsD1o7f aWeuChCJARUDBRA7MhzCw33D30O5lTUBAaMTB/0S70cAqqqAqrJBZosRZhmXWixk Ah1gMH8SkNVygA3BE3k4A9LC3LNyvlnbCGPFH8PYvN8ymcn3sSPu9nyHVZ31VDU0 mp7JvKeW49tWxBeoFWpNJeNxTv2aNpFCLahpiwcDt/HW8/1NC5dJirDrIrVTrhWG 85UUYeGmMX/5qC7bFh+Y5FC6HxnFTCWlxpZQDtWw4Dbf8r4dMrw/2I9Uubj6brEx LeOG2gB5UAuSS5Brp/9eiAlJs6jRgLU883IzpIhYanz37nJcLV5MVHhbGiR1Yyhr IQlO4pQ2f3VhaEpkUu63x6lxfyVVJsZZ+vZU6EvtJSFACWR1nK2SbszGt/FRuQQN BDpaoxcQEAD5GKB+WgZhekOQldwFbIeG7GHszUUfDtjgo3nGydx6C6zkP+NGlLYw SlPXfAIWSIC1FeUpmamfB3TT/+OhxZYgTphluNgN7hBdq7YXHFHYUMoiV0MpvpXo Vis4eFwL2/hMTdXjqkbM+84X6CqdFGHjhKlP0YOEqHm274+nQ0YIxswdd1ckOEri xPDojhNnl06SE2H22+slDhf99pj3yHx5sHIdOHX79sFzxIMRJitDYMPj6NYK/aEo Jguuqa6zZQ+iAFMBoHzWq6MSHvoPKs4fdIRPyvMX86RA6dfSd7ZCLQI2wSbLaF6d fJgJCo1+Le3kXXn11JJPmxiO/CqnS3wy9kJXtwh/CBdyorrWqULzBej5UxE5T7bx brlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJP PT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrU GvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVb GI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcp esqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6z3WFwACAhAA4vXK JfvHChbHRCc0z99UHVCluHwRUDopIFNfuBmiAOA7Ozz19dmYBKDgudZpDNZtbE4w 0S2eW3xVTkPUWdrhr0jDcibkhpdFI+Cp3x2zOhL16Yug1xFSqWDSOo3QX4eBVxMH 0sCHiZMlcx/QGl1bwZ9PpO10PttjloI2SqWGUNK9FGDjVfJoX8YMy5DG4rLcaS8+ m2IOb9BiYoRs2Dot9KZjWtL7+CDrFmLH4q8P6OHiE0RJy+7YoTvsHr0JU6suasHK NPfzrXlWZ8C5sKX0XuZTJNkfKojMVucM6olzpaE04NAtKjDffHr7Rr0md/6Zy7ru gJIOwClDyfMmVud0J9Sx/pLKlldakJl25Xfctcz/DXZJNGpvfeMm5+pzR/zulQc1 zDopdrSq261hJKE/5N6tPflXz9UreUdRm1mZV7SEgCKODMxSxexRfw51O0fk3vZ3 rfSjSgeIz9Fs3ypJHCd2q5C4LDa5XgX8vNSYxLKIevu62BnQXJVTKCyuvzUGOrvs nhKzR4GjrMm2575e+pxojQPVXcytFqzn4CS3QTWHvm+J1EzFwhdpR2kXAmaarpye JbUjuCDHDhJPegXY0oRa51lLhvcij1U6smqutADIQSck5JmyQKuC+x7Y8iLk/HSO 3uni8G44oFCf9KJG69f5Va0RHgjBUOZgKMAlKA2IPwMFGDpaoxesxgFlEcAjghEC 3KEAoK+jSxWG0hQa1aK0vkQ+IvD+Ag7EAKDahnKlbMifGmPSpYjK0zcUeojzyw== =NLH6 -----END PGP PUBLIC KEY BLOCK-----
<lulf@FreeBSD.org>
pub 1024D/ADE1B837 2009-08-19 [expires: 2014-08-18] Key fingerprint = 3822 B4E6 6D1C 6F71 4AA8 7A27 ADDF C400 ADE1 B837 uid Ulf Lilleengen <ulf.lilleengen@gmail.com> uid Ulf Lilleengen <lulf@pvv.ntnu.no> uid Ulf Lilleengen <lulf@stud.ntnu.no> uid Ulf Lilleengen <lulf@FreeBSD.org> uid Ulf Lilleengen <lulf@idi.ntnu.no> sub 2048g/B5409122 2009-08-19 [expires: 2014-08-18]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 L1JhS/1K =sCn9 -----END PGP PUBLIC KEY BLOCK-----
<clive@FreeBSD.org>
pub 1024D/A008C03E 2001-07-30 Clive Lin <clive@tongi.org> Key fingerprint = FA3F 20B6 A77A 6CEC 1856 09B0 7455 2805 A008 C03E uid Clive Lin <clive@CirX.ORG> uid Clive Lin <clive@FreeBSD.org> sub 1024g/03C2DC87 2001-07-30 [expires: 2005-08-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGP Key Server 0.9.6 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 tF/cItKqIqZ9RhFcg+IisxgUtQ== =g51D -----END PGP PUBLIC KEY BLOCK-----
<pclin@FreeBSD.org>
pub 4096R/865C427F 2013-02-05 Key fingerprint = CF3B AB13 4C94 6388 B047 B599 8B28 1692 865C 427F uid Po-Chien Lin <pclin@FreeBSD.org> uid Po-Chien Lin <linpc@cs.nctu.edu.tw> sub 4096R/F31280BA 2013-02-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFEQZwsBEACkqROTbfKgAUYdaT+6hIetN1r9hcN8G7je42QWC9+zMyZemqhc KmokdKrq/l6HklJMjzISCKK2tWPdqhYV+NPkcZSvLPpCcba1MIvMVGr3MWuKxbD4 Hb4dZ5c8t6gs3xM9hdP0ENNTLTchZrxydvmN8NBnzUbf7ZWBjuuT+HodSARVFBIs EDe7Qwa6ubUNpFYzWhbqQO9lJJRqIH4hNRDJaps6Hxdz/Hb3F8xR+SYne33ytU7H h6LWS5eVY1DMFG4vZq/hhZoymmg/TVDIe5msOB7o7Wlo3U2p4ybs0ySMjtDUk6EX 0nwMEHfFgFpSlJd1G914OZWK3fFnL0ZXlkaQiOkfFhL5q1bwDBXFG3EXXS9x/eTM wJIk1ydNiMUhvdRbfaQMpaKWnv9r/EycJasqxbpXyEH0LSUH1vCGxDJ7o3KVWm8+ LTxR2oiSHIL1Y3ucB2reveDFjP9yyensq4BW15bY10bqVT2RS80xPmK3eRU7qwPW 9E02Uw7FYWNyFAUDXV73vhroHhdoBliGOGGcAQBUnsUdPzmSyqV1iUczcygEq1mz Ef1dS9xAoY/ShwBZQspPT0GiEeTIRORKQtmcf1gzVC9QA3ZCtldJLfkVON3gklS2 98Haq5fkAjffvufhMld7BPggKMxSzKlRlrAsaWQdNLQSq2lS4itiXK2NAQARAQAB tCNQby1DaGllbiBMaW4gPGxpbnBjQGNzLm5jdHUuZWR1LnR3PokCNwQTAQoAIQUC URBnCwIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRCLKBaShlxCf/5yD/91 wEGhITTEW/UM3fG5v4JTbta/33Dy0DChTnPTR1Xur/pGzgtIC+hSk0OOUhGLE74H A/YamQcB9KR6jxXBQEuEmSFlpBp9FsFcdtJIvBFxj9G1qM5yS1QFqHCykko1I2EQ zfS+3tbh8Vs/Q7pKV5Qn10ezJLz9jgGUeQcSriexgYC79wHqMkk+fp+0bNXpBnht 2zPnxv5wns1JIX+k4lAQCrM6AZsu9Po3EVJYFblz/z/6KCxeih7FtnUbCO2PUx9f x2OyQV8ATgbP4sjwjiDW5mwxU7ngGu/GHsGI9AqpuPJw3FVXPbqcP7tQ2hoIe7ic 7HDrew801nxVQqvnGXABb7liReLVEIRKPgEHvEjNAraCf9OUU2o1hT76TNDfPW+w Qyf2iX5WwVFnE7Fb+fKl0e0vOvrGe3+EZsy97E6kX165pM+dQCFY+B36wkddsCd2 0z3FcygbAclxtwUj/osGJeP4bcJ/nuK2a9d/Wx7vjx3hvGAheIOipb3/qWkBIFWE cedz2PXl8mdpW04Fjlu5nQRNVUU4MK2YS7bigIOGm7o+Z4Kw8cUy5GiYWql1vaEM JC0JD5SwoP6YleYQbBV9NeqyFIX0KzaHU0CEkBMsQzk1dY6sXa+gVesXzX6tEbNs Pc5l3BBx2MFofA9AhdhE5wO2DWoKO4sndGkhzTWihLQgUG8tQ2hpZW4gTGluIDxw Y2xpbkBGcmVlQlNELm9yZz6JAjcEEwEKACEFAlEXxtsCGwMFCwkIBwMFFQoJCAsF FgIDAQACHgECF4AACgkQiygWkoZcQn+OOxAAhQFkrTuhTUEzrrENwm5hxwk556Lb Nc/w+vr/HxUTcsYHzVlefyVaSvoMgInN8RFU+FSPzTv+y56HvsNhLXBZ8elWxGZA CZWIhpwG86XGoOjY1BAuXTPRQ193k/h4XMS4zVZ9qrS3dmQZZjR/7y7RzRLk7cNH cjjvXDLKLnaEJfcMOqqePSF4Wh4O8jwjZERCsn3hJwm/l2LtNlIXCSvg9RTVhaNa 6yYP0h1Y2pLD6QyhSiqJvyobD3e56Wt5GD+q77yISPSdxxoCh/7r+VPw+KxedYL4 9vitNjzbbsUH/l88cigWbVXTawuGq1JiqFzpsjRn/tMq1rz3vWJBDNRM9lbRqWdT 2gd/SNLnKQ89RCH9ZDBlUAduh3Qdcwe7ux+3UYW9DK+Hg+WpkkjFxYfNICybkKzC P7MoXbwaiAkyeqGVUGleec17aqQG+Qu2RxmMF6rGhjZEbofYbxMkTLmPr+0uPN2d buSDgNtY+3j+PbZuy+l4auaCL4b80WCQ0TG1kQxknlLsBAsIyOkkCLkTdktejKNw 5ZVLqR5gxRKzUVp47jvQI9m5QNpPz3BChgpuG1skOUNflW0Iho9VHtWv2wPR3apS /hnygJ1WugXYsZND7WKmZNR34nk/8/a7boI6NhrMrx5/LpoP/1W0U5czLWVa3diR UFSfs+FmH4WUMc25Ag0EURBnCwEQALlNKjHQABEQlAS9OI6BgnlM+jDPclwslKPR WTcPWp9Of4C5qU1ywg2qzPiuAEn/gQhYHifKmnzW2b9tvl+ySgn7xTxU5L1yaIux vBciS3ffyfhmC9cHMudkrpMX8iJ6tCV0qlbzBclNTlWlO4OjR6k+sONfRyVnySBR S9E2Vm6LQDfIbZMAyZ0OAeES6uYiqi/MucgjaKS+tSOa3IWpkXuxmXy4t8B06QPU ek9U3kJR/rS8s59IiFnCskyh8FJwSsg6o1hiuQCiozLxI0UAM8Pq1U7+4bxbOoil kNYzbcHsWHTVbopD8hPIlncQDbY8RKKg7ZAu3BZIez56LlsqDGuomFwz6yfuKZG7 VpuZtvz5mSO63GXOFyeNuC/RhZ8lYoWiT4EYESqSJ8kHwx/EnJjVboALoYGcmdP4 nkY1NwntkzQSpZBuvixIahyfyFLeSpC2+wg7cr2AyS/ze/FMCR77mwviA5bpQXim OiDCt5zaqbPYElXza+Mt6cmlbXt4bINvyAAlJQTz7RX1DnjLQIlG40ad2CeJJROk m2OhFzYhIHJScMXHGnOxyJFYNvI22xpMhorH1mH1mc2pjUDO9amzbQ5qIo0CTy0J O28/TIZ2jiZusfmbFvrQ4Zv/aTy7qwtoK7FYyHjgZOH1veRjT42EGsz3bGOyMz8b QQC0XLjTABEBAAGJAh8EGAEKAAkFAlEQZwsCGwwACgkQiygWkoZcQn9zcA//RiOx +c4H3hHXBhV1vnT3eZhCHh0fVkH+OZU7n0msO7Qp0b5tM6/GMeGpxC0jLIK/lQ9+ PvwRvlMENO//tES8ZGnDuqC88MmxlNP3qb7fpyNZX91QJt+oDDUB+WKPvouTBF3H rzSZBJGa5ChttL0QSare9enKhu0axeH5DufRMzpAtg3mbzPmJlO1EdU3FGQDP351 VuDNlQSJdvJwk2KL+X2yfu5gqMa7dTwPfqRhN2rWklZCTBBbYiWlUqb/zgiFz4I0 JCjGdL7930SJZD19EDWSxHweNzmqSRt2u7tvUOpxd1XDLaBQW4WfOzf2gYpPhTwS VwJK3YZPpLH3xvbRiCRSY3Lj5r3KpstzDSa7YnRD7WqUcya4bQrs0CppJDisaR8g LCvM9B271wAC1+aS4xIPqbWsCVhTUAg5pxiwOHMqdSBayAXVMOduDLJ+fUy4qknJ gk2z6X8l0w1YUVmbXlNw+pdaFIRGw+TneQMAeI9FJHewKhLGN1MP/6ZyvUiZ8w/t h5F88+tsxlWOY6UIXsZ3p2qGbAGd4qfefEVVJe+Ab5FwtvEH0/auj7uZ36oenx9A +WF98OpWjUhDEi8kigV34BysDSQx1nsbILJYlFsQJauO9LSebv9qYwX0yLPZJJoR uDqUBEUq3MHcpGRlsG7GQlW40AibKEA7Gd1OPbo= =2C5J -----END PGP PUBLIC KEY BLOCK-----
<yzlin@FreeBSD.org>
pub 2048R/A34C6A8A 2009-07-20 Key fingerprint = 7E3A E981 BB7C 5D73 9534 ED39 0222 04D3 A34C 6A8A uid Yi-Jheng Lin (FreeBSD) <yzlin@FreeBSD.org> sub 2048R/B4D776FE 2009-07-20
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBEpkXvABCADnsekA8rnN29OpRPBgLBo2RzYI3b+FCSkPqDatHJuGSfTqFUgi 2WI8QItI0toqcePNpNtgyHie5jqsX3/yFBRGO1xyCSIEMSbMiOtZZizYLqlLW9pZ seNxwHBetogToNoveYHXNGsrptkqir5mx+vtSO5o6DFcDZYQRgZq9NTnKnuJkYwK wnujkHcTpUVw9pmnwj6ZxZ5V8fboCzd9ET1SmWH6194tpJ0Fq/HX9qGfF/c6Kl+e Hwz7TFi/hpMwsdwjz07SrDi8bumuWNpwZprOzHKORbHfdg3GZaEPcLhF7qjvYunk osYrnyUmz7+FpTJVg3u2Pp3eL0xdXU4TuwTfABEBAAG0KllpLUpoZW5nIExpbiAo RnJlZUJTRCkgPHl6bGluQEZyZWVCU0Qub3JnPokBNgQTAQIAIAUCSmRe8AIbAwYL CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEAIiBNOjTGqKQTYH/3kkQL00ibVSNCHH 2VNfnV9tyIDBIorMHFctEZ+zTQ/mQRxXUS3gpD9pg4nYNJtrstIWxH9Y8GxDTjQ/ pJsVbZ6WcYXANwihoH1jQetSR4ZZDLrVynSWQ2WeYg0XEedKxV6ZmxZQPAbN742o T8ehZpThFSaPVDtIYFh0eVnPkwsmR/mC5DQDGkwb2p2bsxdbkYCWLLRiS5buGFyZ iHZSe+D+mRJq5kxZriy2pSXcQUlqZk3jvpC9mXr8QzAwyzbPwHRak5NNuQxxCJGh CBDzTSB9OsJrLd7WOxISii2k9ZszP69EymO3wTpSnoCPyUllOsdMa0291xv8kw0c 3ytWz/65AQ0ESmRe8AEIAMYk6s/25zGN9qnfbTjwtxPD2/K5AeyJaQ+kZ5kiOZqn DlpMawMccq+yvh25oX3j0NUug4j35FKFZqnzpLx4KizbJjhZX+V826lVsf9kx6mR UmpYAlOb1qQUZMuR2+41eVnuieAqNyFH4pjp2zR6mhaoI82a1AMeOdhVOLfTl1+Z mj2sL+1J+fkcBxuhMEC30elVKxuQo/8NphZlnZe/819Q3HDsuw2mEiQMWH2y/5B3 aSpm7/LY/L13YI8oUNWZrvjJZYSYyFyhDryzkP60251Dhfwlu2792Jt2Y4dm/zVW Yi/QpUdoPLRqEQjipiBg1sWLH1UGYys4muUxBoUQItcAEQEAAYkBHwQYAQIACQUC SmRe8AIbDAAKCRACIgTTo0xqimB4CAC9MJzYzpUgnlhh275aZs6pXJnK9dty7HpQ zJ6UpoR7oBcmYivlAXaFBB0jxsAAzu3wKXwC9IOZZAB5y9keXWkG/2zdutJJ687a HAjXUUPi3QIF1uPGgvpEQPNfn+Gki8c3B/QOCVhKg9UEtewRzT8tZqCubeZLmc7L NbNX5xOta92KD29XOCXX+6htRJ3aBTn6nNzRdBpuVxKhzd+eLg4gRMKJebDfDXrG fkDmHta2l1EdhlLxyLCvLd0x0mMGS9rMBuEaTvc5hka6YsM7hhGMZe//CjCO8mGl CZyUepEymoFG7nCPpMTgZFxCHzOOljsoaEeOxg6aS2kNv2sTcDkJ =cF/N -----END PGP PUBLIC KEY BLOCK-----
<linimon@FreeBSD.org>
pub 1024D/84C83473 2003-10-09 Key fingerprint = 8D43 1B55 D127 0BFC 842E 1C96 803C 5A34 84C8 3473 uid Mark Linimon <linimon@FreeBSD.org> uid Mark Linimon <linimon@lonesome.com> sub 1024g/24BFF840 2003-10-09
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD+E2XERBADU5F4DbwP8KaHN1H+yz8zaPjOSLJushNA8Qu0hN7GXqd5vgRDc zzzeZIzVVxPVdrQ+I24UwSIYu4ww6nfum6kRv/i5khxbYM4zGGPG7s5pmqIECum1 tKvJ21IE823lcJtUp0C4qhCTZvoc3lADMn9cPgOSJClzHjAYDasOTy9hhwCgsTqP aHntu6Uj3BYpurWHJSePWrED+QExF2asNPehIOZ4l7dwpaeGSTxeINH1FYnlF+J1 N8lvpFQ2H3sfSViVgAtqM27Y/jOf3EkQH0Wym0iCczOxEUFbNH5NWAm6IOVT9owo tkh2PZgyfN0AJZBPh9d/oMN2MEKPb6wcqr3c67ZmQG7B+LGliBSVYhWDbd6E2YHb bvKVBAC0pL8fzNldEQUUYDTTrWhMVCr7IGzwrd6cEhIZ6b5kqQd1IsIChVG3jCVL wWGSgmXY4J7i4Ujsx8k/f6CluNLwmP5t9caycz32QdJAWkzQq2x4AQUy56HDbvui QFOqD+PGWqvoUUyJqLbzoASI5dcV35OY+m37Z1Wxhsn22WBE0rQjTWFyayBMaW5p bW9uIDxsaW5pbW9uQGxvbmVzb21lLmNvbT6IWwQTEQIAGwUCP4TZcQYLCQgHAwID FQIDAxYCAQIeAQIXgAAKCRCAPFo0hMg0c5j/AJwO+VSVExRY8saToDKF3hVe4wNE EwCeKFf5ysZjQIJY3pJ9tUzm8o3tX+i0Ik1hcmsgTGluaW1vbiA8bGluaW1vbkBG cmVlQlNELm9yZz6IXgQTEQIAHgUCP4yK4wIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAAKCRCAPFo0hMg0c8c4AJ99m0hHLctAVXjfZYurZBnl2dUL7gCgiG83BXm30rBa POtWm2AstMb6uVm5AQ0EP4TZcxAEAMQPPoRMfBR3cRc/T5NsWunFlZA6nB+3BkVd p0ham4FoseEh7q+hqa8udARMpTc4LIIL4FU6lIa4L0s3Z77d4bXfJmwlUHuUMSk0 tnG003D4VDBc3HWSSX/W/CRyN+OBxPljJywTjI4goyXx9Lc31qwpGqYy5Ao8X6EA TT9g3IgzAAMFA/wMgON1JxPGr8MSvSLHLMY/xn2PR8lSVZmOlbhNE5hL2FzyFME+ Pnc8hR31cohFjSXR7hb6SOWrZjYpdIVsa6qdqXIRDbcb5sKEGv9959W8yt+L/kNr RlN3oExA2pkYpEQfLpH0HdMmbU61NR0cI6p4ZZly4p6JR0kEajaUOlq/cohGBBgR AgAGBQI/hNlzAAoJEIA8WjSEyDRz9lwAn0pJVzrxxaB/PqtJsu034bH5PnlDAJ9G axdzE7A6F/UPmrURep9QFDq70w== =GflG -----END PGP PUBLIC KEY BLOCK-----
<arved@FreeBSD.org>
pub 4096R/6774D2A3 2013-09-24 [expires: 2018-09-23] Key fingerprint = 4E07 0A2C F66B B844 7E9B A25B 6CBE B6EB 6774 D2A3 uid Tilman Keskin"oz <arved@FreeBSD.org> uid Tilman Keskin"oz <arved@arved.at> sub 4096R/8CD560FB 2013-09-24 [expires: 2018-09-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 0A== =oJfd -----END PGP PUBLIC KEY BLOCK-----
<dryice@FreeBSD.org>
pub 1024D/77B67874 2005-01-28 Key fingerprint = 8D7C F82D D28D 07E5 EF7F CD25 6B5B 78A8 77B6 7874 uid Dryice Dong Liu (Dryice) <dryice@FreeBSD.org> uid Dryice Dong Liu (Dryice) <dryice@liu.com.cn> uid Dryice Dong Liu (Dryice) <dryice@hotpop.com> uid Dryice Dong Liu (Dryice) <dryiceliu@gmail.com> uid Dryice Dong Liu (Dryice) <dryice@dryice.name> sub 2048g/ECFA49E4 2005-01-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEH5vYcRBACrnHaj1X13n0hL3jIXgjAzr63mBoKyJ4YOxJmRZ0Zg/PqmV3m8 a6JoUrzIeDpgGIqzYqoTRM2vj6qCh57vml3CWJJo1armgTkhOaZRQprrpQ/Hwl6Y dTw/ptyZoh5IGrplm/UHiYy+aeQok19cNh7Jd/DePkrSm0IwtafWV4Z6twCgkzpM /oO2360jPUbYhr3blugFy3sD/jaj15xl8GU2d7EFW4xXvK+nZFaxfo7frC/OCae9 k2LmAvgYfG5PrRhiGFERwWx5+a35N5hXhsGktK79QJaHk/8Eir54a7eCDN/nLXu7 6D11DQJHMUvIISgvffeAJODNjnYu8qMOD3x6S7kmp3BsrVnlO+SJ3L63sO85SdAq txC4A/9BobGoDqZGEfgDlDyWNLa1OSWr9Ummg+NvgGo+twKtxDfVgTm2K2G8xvVY IBvnYbOMhyokT0TLHwX8ALO2uWhlupmSaF9U4JbUBBeLB0vPuE8wRXq1/L/+PVQ6 7vNqUIK/rDKtf8XkKOXFpJcv2YyMXkwpx2ZbkJfQ2LQqyR94T7QsRHJ5aWNlIERv bmcgTGl1IChEcnlpY2UpIDxkcnlpY2VAbGl1LmNvbS5jbj6IdgQTEQIANgIbAwYL CQgHAwIDFQIDAxYCAQIeAQIXgBcYaHR0cDovL3d3d2tleXMucGdwLm5ldAUCRZC5 RgAKCRBrW3iod7Z4dNAnAJ9VuaLBzcQ8Uo9Pqgz5WgxeuB5BIgCbBhak9RpYegH2 VrTH1RPKTW/3ZhC0LERyeWljZSBEb25nIExpdSAoRHJ5aWNlKSA8ZHJ5aWNlQGhv dHBvcC5jb20+iHYEExECADYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AXGGh0dHA6 Ly93d3drZXlzLnBncC5uZXQFAkWQuU4ACgkQa1t4qHe2eHSKeACeNUVs50MWpAtb J3InqDgm4Dq4Q9oAmwfIY6EOBFTjAnezfC8IPtK2heAytC5EcnlpY2UgRG9uZyBM aXUgKERyeWljZSkgPGRyeWljZWxpdUBnbWFpbC5jb20+iHYEExECADYCGwMGCwkI BwMCAxUCAwMWAgECHgECF4AXGGh0dHA6Ly93d3drZXlzLnBncC5uZXQFAkWQuU4A CgkQa1t4qHe2eHTGLwCfUBZ0JjgK8wSPAM5Ym3qHZVaVIvMAn3sQ6SY+k4MMG4rg aArF3cV+64uLtC1EcnlpY2UgRG9uZyBMaXUgKERyeWljZSkgPGRyeWljZUBkcnlp Y2UubmFtZT6IYAQTEQIAIAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJFkLlO AAoJEGtbeKh3tnh0smEAn0EP6UJC0Nk2QkbSIqU+vka21Y/vAJ9DEriyRKcuxU4M 9/cF5Veh5j/wDLQtRHJ5aWNlIERvbmcgTGl1IChEcnlpY2UpIDxkcnlpY2VARnJl ZUJTRC5vcmc+iGMEExECACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAIZAQUC RZC5TgAKCRBrW3iod7Z4dD3eAJ9Y9J2jCe6ZXtkC163oUSruBS3zFACeKTP7ggGE +jYjWiWA2usVKjARdIm5Ag0EQfm9wBAIALlY2EbWQGEJ+8JPbKxUYra75P/ng1h6 BTK2SSiSCq5y64acd3dRtkhRr5RKsEFN/6KApRlrwgYMl7hIQHL39oFKf9NatTgs aUxX/tmy1SYPKwkxXGIH1XMOwyPVcSMGFOf/y542xdYg3X/Vdm2KrDWGeVGOtY8M dtOA4yXaA987meCbtTmPCpLx40z0QCZHQ/llZ9k1sVNlSsUodRz1FFdhfYKX30+B 76J4PuCvi1al95FS2CulesoNkDKVTZOCydM5wYPbMilr9fDd914q5U2Kv4MRWTRn CyFazvr5qn5QXm/4DrAjn6QhgFhTJOlSbW1RbKPOibQNVwShJkis4uMAAwUIAJUz L2r6tFmgtw4pb3+INO07UzJaQ9EuOy3R+cdFOOJjXVCiXUu1hXmr37TXq/UJMU1f V+BFhw1JfK7r8nqGo0Uh934uHULku29cCm7mdvoqere+SqeD82UClZWwIJUokS84 LJSDjNdGt31SuogziM9kEpxdWnMODOfAGTKA9Vb/KYE4hMut3jreEACHpDXEyjJf mBmYNzav93sJhUn0RaTDtpnAz3zPCNOYmWcX1u0e3i4Dr0Ll1jms6YilGoov9CiF F6ES3z1qZflpYDtqFNJQsKKzjrRIkQoZAnyWnl5mMGYbZIQiNNChpjlDkXdj3waV ZVYhiqyJJx7OwGR54qCISQQYEQIACQUCQfm9wAIbDAAKCRBrW3iod7Z4dAKpAKCH NB6TLQ63B4potbH4PhOgr2MgaACdF7mPUJhqXN6mPboqNZdkVkmnjEU= =No5H -----END PGP PUBLIC KEY BLOCK-----
<nemoliu@FreeBSD.org>
pub 1024D/ECC7C907 2007-07-10 Key fingerprint = B62E 3109 896B B283 E2FA 60FE A1BA F92E ECC7 C907 uid Tong LIU <nemoliu@FreeBSD.org> sub 4096g/B6D7B15D 2007-07-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =nL7g -----END PGP PUBLIC KEY BLOCK-----
<zml@FreeBSD.org>
pub 1024D/4D65492D 2009-05-26 Key fingerprint = E513 4AE9 5D6D 8BF9 1CD3 4389 4860 D79B 4D65 492D uid Zachary Loafman <zml@FreeBSD.org> sub 2048g/1AD659F0 2009-05-26
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEocVOYRBACUSj+Rt8ZAKD0QoT4yHgh+f74lmw0pegpzvQ1DNBhGdVWfIM77 n6hK4QSYPhSNT/Zz6qqsZlcnuSyXwKDcu82rOUJmo44UalWbWF/wvz4ICuMMttCy WRko6Z+lfzILBr+simnAUX2v9mIxfnkg8mEN5/rMc4rOda49Vbcdc0aFEwCg4/or HctUnKwa6r+ArXlZ8bxLX4sD/2A3JzXegkrD6LOwGA/STqNhuolad6ZZpvJGpr1n gsYX5ihLaYuxBBWK1ech3Rm8GojvsOpmcc5YTtjb37n/YU9WYoKcmpJukdEYNeSZ BQPi7jVXUb3joJobOT1LFYjrOX8/MoOgIxPI7RBM27G5Uarxe0RpF8r94bUxEqMb SkgHA/9KqKfxHB7suexO993OtM4fTcnJjCfarcL8qpBOQlYLAP2Q3IGZpjE39Bmy tnDNwrZ/8jZrJxBttZ5Fjt01pvMAEpFVHm+QNheqBOqpyN4jmyOsvmSjd4YL5ZZQ hUhuPS/dtInONvWvBmOHBsoKdrgoUPO2EuMW1pCm/0i7xHGCtLQhWmFjaGFyeSBM b2FmbWFuIDx6bWxARnJlZUJTRC5vcmc+iGAEExECACAFAkocVOYCGwMGCwkIBwMC BBUCCAMEFgIDAQIeAQIXgAAKCRBIYNebTWVJLe4bAJ0Q8l/7TIpaYFGoaHUkv/YF VdcR/QCfVOdEcCe3gPZ2k5KLC1D8V4ESKue5Ag0EShxU5hAIAI7OSBr9s4l3skaB +lVNxA/eEkigb0ghP+OoLVRvd7k3LZpjM27jqMhdmu/8U9bTRTX6kA7Ur7uRF1La aSrc6unoufkWcm+w7M9sQv1vwdxOg/D9CZttjMxNJs18VRQokair4OAR9mMXybMT hBw3H8B+H0AZh7eLTMXUX8q6fc/Dy7u+sOq6fnCY3vIVUUDaw5XaRKI/mWDmQcMa 4hB79gvNxHjCs2oF5ntyaCF4nsggmZ2guOjN9oBoo6gm09QFlVA5Nwz/g5s84m0t Gtz8sGSPK339kwaT2Tym6yR8UszENlyjG1wVVaQhBPHvE706jOlPXc2JasNKoSqX Flyj7icAAwUH/0z2SEPs78Ws3eZq58axkafUowgB31tEM9Ke0jLNy1nGkcC+poyh Shl4DNyUbLb86J4FrkFa7bmJi8VHteZYjTxrY9usKLKGkbZV8qNd8ry1emG0Lx2g JM5jcRp6ghT2qufHF9PukKwkmNRJJgvAbgSgLi9dWkMymmpo0LsKfKmnoVCy34tV 704K7JOOBHob6Gi9vMXLYkBUPJCn8BALbZi0WRR/D5bB+OHucjJpEp6lHXYihkX7 xgSyrzkI2fvDLmJg6/jmtsrQwJFScf2E24IWO5JGLRsuqoE1UUcnmqQKLZ+iH7vI fSYNaY/TcB55V2TmpzpYmkGBgI8G1dygrAqISQQYEQIACQUCShxU5gIbDAAKCRBI YNebTWVJLTvyAKC5FWGAM6MJaj/cNvWfkdMFaZqAGgCfaktgPFqyozZiZQuoJM5D +FztFoI= =isE1 -----END PGP PUBLIC KEY BLOCK-----
<nox@FreeBSD.org>
pub 1024D/1B6BFBFD 2006-12-22 Key fingerprint = 33A7 7FAE 51AF 00BC F0D3 ECCE FAFD 34C1 1B6B FBFD uid Juergen Lock <nox@FreeBSD.org> sub 2048g/251229D1 2006-12-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEWMWfERBAC6P55NRPt7PWHQk3e3cp6yAYpxsNH4TyMZUNKFjE9E+g4GDe1F fd1ebE/as+qcZ7rnIoEqXMYyXW/8X8kdE7FJVoJBmH3RdlaJhHSxogrAHZJ87PWH yGC4mP7F2zvLjUqB2fUC6gYUJybmYi7F6run1zPKLr5A5Polx/SpqL52IwCg/5Kq vo2Lc3ceBT0L5BKOWFLHBWMEAI/OIOXhv4Hsu0k0Ol+Zdwp3vkw+geBo0MVHp0/P XItW5TM5Xi0iqQAcBU2KmPKUinaIJEEPAat5sPMZ/0BUsdmhlD6BqIp0qC8LXm9g Tqmenm3WpiJPsd486lW6dxzFqOZKdb6qq87SJ7ajnPB12SykRW26VkyHzNCqiETL LigDA/sFPsm499ccL62BwkRGax93iYylhsrV7zXT8FXAPIS/S7JasvaiyHTvRv8K u9XSO453WZtzN7TkNp6i3Vw1SSxbrwCRZZ7nspEdMXWF9ZdTtSq8mpA3R74X7dKM SXPbbsTFfQ5JR9v8x5T201nFiM/jPteU6WbfyQc1MuMCUqwzm7QeSnVlcmdlbiBM b2NrIDxub3hARnJlZUJTRC5vcmc+iGAEExECACAFAkWMWfECGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRD6/TTBG2v7/bkFAJ9/NodQJ3G3mLhNkT/rv4ncgpOV KQCdGm6jx53ESn4s8YJAPKWgym0AKTq5Ag0ERYxZ/RAIAMR6vbusFDGVMpB6AWhC cru/N6Qz/kfB6+Ufy2nXcYMMaD2c4MiSUSV6pF08s+xx8oqh6DiGdPvdJQ19ZAdw BJaD3tc2EeIv7Eh0upHhC7CuRk3eHHd+KaKFquLGU4HNMEvxXkW+DZ0wWrbVIu0N vRBYXJlil7B3RE9+9yQLdoK1IA/N7DtUvbezVC3Px/ZuNe+cnI5neXZVnm9ks9E4 qlghKSdb2LLghwfBy0JRqssZnvvqS+kRz0LJgKIX57pSrHfx0L5Rwu1JWqvmWKYV hkCogZFXpn31ArmmJ54O5KEP4hYNR2FcF8hwNjMqfij29QRi7xpxDLQYgUjM/kTl g1MAAwUH/2TJn6E3LtPX7ceMUKVyJRO/OsS7/r8nX8hPRmX/cnnoHTtYOQ1S2F9J 0IFTZKubxfyhp9ldRx55GiDWyRvGhhjCOuUH7VCSPMCURbMOHi67EDfqbHPzhKcZ 1lmeqpETmPx4SbVQ9vQ1802gsyZzNy3BQcoK9GIw1Bg6KLYVQ/9rcSDHAB+ULVF+ YkthjJcPDQPdcn8Zy+xGDuciav9HPaeRXK8nXvx8ERDti99GiuHI/S5+t3wDeTPT dZuMiiJYsVc3QuuEN4eMseohFUX6R/Mnm2L0qFc43k3h0vmOoTu65dMEnYZdsKiI wXTiy7GaMXH69Iuq9QK5wAQGHwTDbJGISQQYEQIACQUCRYxZ/QIbDAAKCRD6/TTB G2v7/Z/1AJ9MfhLFFNtQHDgvIwjgQa2xJX+N5QCfQKUy9vBwNhrVvrH86hoDMhjV d1Y= =E5fg -----END PGP PUBLIC KEY BLOCK-----
<remko@FreeBSD.org>
pub 4096R/3F774079 2012-11-11 [expires: 2016-11-11] Key fingerprint = 7EE4 C4AF DCA3 E0B4 479B A344 7135 8ED6 3F77 4079 uid Remko Lodder <remko@FreeBSD.org> sub 4096R/59F38CB0 2012-11-11 [expires: 2016-11-11]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 5sGIhylLEgeij8uoeFOeA1qMqbhYORfYOxE= =+q/B -----END PGP PUBLIC KEY BLOCK-----
<avl@FreeBSD.org>
pub 1024D/1C47D5C0 2009-05-28 Key fingerprint = 8B5F 880A 382B 075E E707 9DB2 E135 4176 1C47 D5C0 uid Alexander Logvinov <alexander@logvinov.com> uid Alexander Logvinov (FreeBSD Ports Committer) <avl@FreeBSD.org> uid Alexander Logvinov <ports@logvinov.com> uid Alexander Logvinov <logvinov@gmail.com> uid Alexander Logvinov <logvinov@yandex.ru> sub 2048g/60BDD4BB 2009-05-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEoeNvgRBADOJSDLfbgPuLl4Y1QO/1BjX2MFveYtMacSLpaJURRewkBmoKBz iXa9a5A+uKiQTtX8S8bnkvwmpzEua8RMWUN/XXb8aZc7DPcZbP9NFNaNZ8BLgnLC FK1gIEpJpcodAQ0K5HAGiLwjsK3RdM78pvDUJDDmWPaflk8llx4H7kjjTwCgwIRy /8f8FHQV3zUIGqmJDt5019cEALE+LTHjCOZkk0YKqVETY7IAKX48t/o3t+ybkqcC zFYIRA0v7FR/ipxkNgSzi+tKMaExDuFuV9aZEhepS54eXriXyGmzvevINlHlFgh+ 60WrUGIlkVtQYCW4EeP7kB66u6uV6PnKqFUXPLoF7MDg5nrJqaX7r4+9d0JopClN 1L52BADKV1retnbON3PP460z4j9IJspst9n1AZ3y9S5ojZ0IvhL9UsjazvRheTCm fArizJMTtDUo9SxWXCtpfxruYJSB5jlhkZFMC1oj484mxm/MgNxJ8mov2RAT1Pu4 85PjDNtAKq7yrTf8x7PbNVpoJkU98lZQ84Bt4RbaqechA3l/l7QrQWxleGFuZGVy IExvZ3Zpbm92IDxhbGV4YW5kZXJAbG9ndmlub3YuY29tPohjBBMRAgAjAhsDBgsJ CAcDAgQVAggDBBYCAwECHgECF4AFAkoeN8wCGQEACgkQ4TVBdhxH1cBPpgCfYR9i yz3P8GnzGKzKacDhYSSRdlAAnikohHSQEqzFyKimalh+Vk+yv1mutD5BbGV4YW5k ZXIgTG9ndmlub3YgKEZyZWVCU0QgUG9ydHMgQ29tbWl0dGVyKSA8YXZsQEZyZWVC U0Qub3JnPohgBBMRAgAgBQJKHjeCAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AA CgkQ4TVBdhxH1cCloQCdGWWbAGInaDd3AqGI07kIeHUfZjMAoKmujjBeu/1n8bsO OwUIcOutIiBRtCdBbGV4YW5kZXIgTG9ndmlub3YgPHBvcnRzQGxvZ3Zpbm92LmNv bT6IYAQTEQIAIAUCSh43kwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOE1 QXYcR9XA8FUAn2F8Y9LTsvK/GJAMU2gboZY1DCxnAJ9XnCdD3w7uQscd+sqIJKuV KlYsDbQnQWxleGFuZGVyIExvZ3Zpbm92IDxsb2d2aW5vdkBnbWFpbC5jb20+iGAE ExECACAFAkoeN6UCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDhNUF2HEfV wG/MAJoDJLimxPsysGqpRWMYb36855NBLACgn8ICeVtfyqCoxAv0YIYk3K0M9we0 J0FsZXhhbmRlciBMb2d2aW5vdiA8bG9ndmlub3ZAeWFuZGV4LnJ1PohgBBMRAgAg BQJKHje5AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ4TVBdhxH1cBWygCf fvEVUFOSzEPylUJMZt2NKaiwomQAoKY66bHiWUIReF5NliBlsM3bv5qyuQINBEoe NvgQCACVC9Ks/nhrOVuHu9rj52KRW5J7S+20ZOZFOb90iVFCwFSn3/TstqGnao9X NQBiopv+i5s5AdmVjUyHnTSMggqVGfxltgG6ttxmY+iU7N/+aIXkbPzHZ/qZgKv5 ey5MhS+kFV8Jh2IGV6beaQM0KNJ9LV9Hq1+V4ae0ulaGYFrNnbwI/rdXZ7vEETCF EVM3NP6xsgiw1NQ/V6b7iriTroeRytu7XoRlchik/7sQBLBwUvIVAD7BdHqjQ1NF SILyTr3aPagu1CxARmkCCDX2sfcqT2/9wVECubbgcUMRjVHm7k5BsZK7fGmHcBZg /5Rl7ngtUYwsR4h47A0aH4IPZ7AzAAMFB/47qL+Rb4wqF+sCWM/QqCrgFqMwz1JI qc26U0+a6bZ6kJBbMzvBcdrVFRfn52qacCdfFpdI6Yz3fWQyzrAZwqjCTPaGBeEd rSVbonW5dDjJTkSiKMlo53D19PcNklSjFnCrPeF4aFQ4VbT3RioWh9P00xhCHPQB hsg+cU9rm5ZASMht3K+k+bgpHT9gPVzckZTC73l3xaNetTDnHlRDw8ATvBYcUfYr kDp3tgkZ7a1pPRMz1oOKNWtxW5Z07HLj0Lt2xyZDe0BSImiAa7MYC4PKLi5VlDKB GPjLDrM9K1XUM3Gp8O3bd5qjnsueu6XOdGZA93g4wjXmzDqhFIXy5T69iEkEGBEC AAkFAkoeNvgCGwwACgkQ4TVBdhxH1cA3KwCfV8uCW9P5gm0+Dfm1miO/j6rvexcA niBfAchAUVjJn+UKjAd5RD1SFTAm =bSSP -----END PGP PUBLIC KEY BLOCK-----
<issyl0@FreeBSD.org>
pub 8192R/0x66E1760E20E8FD7D 2013-09-26 [expires: 2018-09-01] Key fingerprint = 6E31 23BB B9AC C8BB 441F DC30 66E1 760E 20E8 FD7D uid [ultimate] Isabell Long (Personal) <isabell@issyl0.co.uk> uid [ultimate] Isabell Long (BitFolk Limited) <isabell@bitfolk.com> uid [ultimate] Isabell Long (FreeBSD) <issyl0@FreeBSD.org> sub 8192R/0xE1FE57DEB9FE6B83 2013-09-26 [expires: 2018-09-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - https://gpgtools.org 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 =qrMq -----END PGP PUBLIC KEY BLOCK-----
<scottl@FreeBSD.org>
pub 1024D/017C5EBF 2003-01-18 Scott A. Long (This is my official FreeBSD key) <scottl@freebsd.org> Key fingerprint = 34EA BD06 44F7 F8C3 22BC B52C 1D3A F6D1 017C 5EBF sub 1024g/F61C8F91 2003-01-18
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (FreeBSD) mQGiBD4p5ccRBAC+tbiJm4bc9dO8oaRhVGqWmNhYfi2GnX4AM2h+L7bcIU/7jWVn uWGe/PFHDcuOpEov/XRw1gmgoNh2DopTxf363DVMevmGW3R1842YMmLvCYZ7C0Rd 0GdbHW1xXeRSygs6peLcPGQ/7ISK0BHMudFim5FrpD0tq3qrqRmuGgls2wCgyF37 u+ZoP3xiP0wANhoWJtyBWQEEAIeYSHvIPKFIo9FG/+wckx9Fc+hLXPKwoETBPof7 Wft9zXiYyowuGj6/ydb6v229nI3lJwVPR8X6Ptjf6rO1vjf7uUED9dNBLr10vdW6 jYClBT8lqJAq3DzEpDk2kOlhYwtrykyld9Ys/7vgliuBB0XRUxGVNieqDck7PZWL ewz5A/947m/ZrlZbn6+jsshGk30/pEXZUhcDnUBwW26GuFk0TGlXBha3N0NFwqz3 a7qnJcvSTKfeZJY5NCwqzCo/rLpmaNd9JCUrgwSd1MI9Txrbj3lDRy5dj4FZBQ2N BVgni7SRKaiPw1KeEprSOR8yiM9ZjbV1g5zPeZ2bZhSMCP7mdbREU2NvdHQgQS4g TG9uZyAoVGhpcyBpcyBteSBvZmZpY2lhbCBGcmVlQlNEIGtleSkgPHNjb3R0bEBm cmVlYnNkLm9yZz6IWQQTEQIAGQUCPinlxwQLBwMCAxUCAwMWAgECHgECF4AACgkQ HTr20QF8Xr9fvgCfUMy+qlN9qQtwMFAKWViSllk0xYgAnApLMv95d6Ecrj7+U9Et liAwNQXWiEYEEhECAAYFAj4p8nkACgkQtNcQog5FH332EQCghR98TNpvYGdrsg6Q S3BngO5n3VgAn1zo89iPy8VMP/kXq2jlzs/74+i2iEYEExECAAYFAj4p9igACgkQ 2MoxcVugUsOwsQCfY34hwJIc8MapwIy8fWmCeLs4T0IAn0aVpewWF99H6SapelNP hvDzTYLIiQCVAwUQPioA7mVgqaw0+fnVAQEUHgP9EJXxzQlkaN8VsfRJo/UFmC4z wGkwu2yatUjMSZR58VpS9rF6CH1rzmNFtZZmIh6ItQ/mPaUDW2yObWBRL2r9vkVx e+DPcpcZAebM3ibjsOg05cftcphv41rLak0C2Nec3MXnxT15O7fcO6aO+d4oJ2Yi oL7YJX6RHrqNCTQn6/65AQ0EPinlyxAEAIGtuZXdf7K51Gb9jijgdV1NMPKwujoq K9f1PZocpDve0vwXN6AvzJ1L/LTrZPvBZ0UCAJR/zVtz4H2bnSqalbd8j8bmxfYx 0SA3QNAKJhgBGNlnK4HvAGJCs8oXYp+6Ph9WWlTcPzkfscPFc42VcUEdfL/5kyLr OvGAUW6D7iCnAAMFA/9CWXarz2QMrkduiasc8bhSmv2lVOfUVcIdz9imc72Z5GUk FBiQJ2kuqJrxMUqAgoccnJ9R0QVZwCaQyRNakEQEcENBKq9Haa5LLo7nD3CAiqIi URqloJORSzXoQCrw8OelbBp9RaEqVdCecbNqAbA8Ru4NIwcyZCgvnX/bUTKq54hG BBgRAgAGBQI+KeXLAAoJEB069tEBfF6/XBkAoJtQ4ECj3ntS2xlODgB8N+cKIsdb AJ9Lwk2EEIZhvzhwvhpwIKAhWhHcmQ== =C3Jv -----END PGP PUBLIC KEY BLOCK-----
<rmacklem@FreeBSD.org>
pub 1024D/7FB9C5F1 2009-04-05 Key fingerprint = B9EA 767A F6F3 3786 E0C7 434A 05C6 70D6 7FB9 C5F1 uid Rick Macklem <rmacklem@freebsd.org> sub 1024g/D0B20E8A 2009-04-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEnY+RIRBAClGSwgcIr4i7G4CYEa2cBHRC2UOB75/AXFqxmzAOcype8WInbX f4xLBa63VMoM7eis27BouVRcHI64oREIL9yvvMPwRD2ZINY5UD/zkls7fw9F2NyJ AgntQEPRDkk14AEiIX5uvB3l+JyKmbMNpJuhrKpbxc5qvaDTgD02y9TurwCgguAy pMVQu2mtVccXkSb7WEh95SkD/0jTFzDTcuowbxALrPgQtlGEXo7RYLPIFxTI748F h8Tgra3flWp2QPAnWBJEzrz+9rl8wqQ2ddb9IydwtY49BjKIrXhj2Lh+8l/1oDKr RXzRbNH/lGHhmphW42DgM9mOCCoSWugUEu458I89FjuoncdBiDdi7HUxPy/rZ5MA tnRRBACWL22M5MPfD9dl9SHvnoBz47nwlBeg0Oxl22oNfiyTQdJ1q+g/wGpDPAll eqs3Svky7gj+f5375K/DEYaeFSRynXeetpdqpkBDlp4mRdDGcpd/4ImAx6deQTXo EraidVlZ0Fjr5cP+mFzoI41LAhTJa/VUoUkMxq+gJAsXsSF39LQjUmljayBNYWNr bGVtIDxybWFja2xlbUBmcmVlYnNkLm9yZz6IWQQTEQIAGQUCSdj5EgQLBwMCAxUC AwMWAgECHgECF4AACgkQBcZw1n+5xfFFBQCfbFJpzSEXUgmoEl4RBgoPNzu9SOgA mwW8fBCx0RDGfho/8S/PjZLQ38JCuQENBEnY+RYQBADMlW1YS4ZhBh4PCOXTJsjT Vda2DEn1W+2BzZw9j/DFAFjm0U05rlEsfz584Y/SLlPNbCZ979//3K7XxicRw7zm E1Mzahy2jrmGGJv2GfAZ+YyJPGA/xndNA3/ocT1x03LMWNbZwFBe4Kk5ShoqPgl3 cO28w3TJUnrUZyo+h3WhpwAEDQQAkwVB18LmtI0CW4H0/jMgiz5B0z3yZdlinbif +EEFHhhdp1tXtxA/jyp3FsW7hOlGXQi/tACcxJ2UBcYAZh03+x7bUMnJpisPDnJ3 UilCuwk5cAkQmGeAQ7ukNNBwVhJ0ZfW7p2lZ2RwW7zSjPK7RMW1EL4Scwpey/ojb Tv9fVXmIRgQYEQIABgUCSdj5FgAKCRAFxnDWf7nF8WUfAJ0TTs+DTEkwHeE4mHAA CqfpXJXMhACggkoKIIAH+lHNqv3Uy9q5RFd8t3I= =F39a -----END PGP PUBLIC KEY BLOCK-----
<bmah@FreeBSD.org>
pub 2048R/4984910A8CAAEE8A 2014-01-17 [expires: 2017-01-16] Key fingerprint = F85A 3820 4369 F71A 34D4 4E83 4984 910A 8CAA EE8A uid Bruce A. Mah <bmah@kitchenlab.org> uid Bruce A. Mah <bmah@es.net> uid Bruce A. Mah <bmah@acm.org> uid Bruce A. Mah <bmah@ieee.org> uid Bruce A. Mah <bmah@freebsd.org> sub 2048R/3FE58165F851A044 2014-01-17 [expires: 2017-01-16] Key fingerprint = 32E2 00DA A25D A8B2 87F1 7CC3 3FE5 8165 F851 A044
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFLYd6cBCADHPcs4srbu+OyftI0SoPefUGJ421Ibtfh1iK/NkvUOp/ueMdKK 3QI2ha1Dt5egMG+pMjiQRio1EMEhkobWL15nX7E5WH6xKgZz6Oml2psrYHKo3AIu TXFPkj+jG18RlfZELn9EwTHFrvOf15hTQdCnilfbPsYCCz76rzzo/1jM5AvrBjoX R/zAWzEqCcTFTVxtgNw/QrSqvfGntng/cLQFY7oB1OZOTXYT/8zs4q5aRDZnZPsA cgMse/3SWf5CwCdPX9Y9jnBj8loTHHOrhGarROLeeTlFoNs0LAd0KRJMDrc9+fIJ 1Q462T2YBAIgbN4P7SJhHVc9rr1iat9vWnp3ABEBAAG0GkJydWNlIEEuIE1haCA8 Ym1haEBlcy5uZXQ+iQE9BBMBCgAnBQJS2HiFAhsDBQkFo5qABQsJCAcDBRUKCQgL BRYCAwEAAh4BAheAAAoJEEmEkQqMqu6KwCcIAJuCGiYFKYt6vv+sMoDvaIy++obE ns5Z6mc+ToPVv0ABwA6sC1XAIvu/DF+im0HGmJqbM5JwHK3wyUTWltQkQ6g2BpAq jez4xQLQ7Aa2E0enGw2heGFfZpdEd178n8GaB9I4B7n1o8ECX36hsp7kpuZmqDOu n/DRRUZYZXar+iUH0vZkGcCA7pe2SClQyRuj+t+R+4w6ZdJXZmaAIXCd8g+DObfF pHFXHVdYYOKco7Fng01YS6n8EPrBnbq9U9hHgOGtESaD1hoOcpvPMu5vP0MjWG3e pebRK9NuUEhiVE+pVQ5pw08pMNmoBqTrNFvN/kZfJasBk5SAhEmM68kUA3yIRgQQ EQoABgUCUth5gAAKCRDYyjFxW6BSw3GsAJ4maIvaYYrnac0aKK6vqMdb/sHyuwCe IGhfec128ZPWrwxkC8OU+PDbAa+0IkJydWNlIEEuIE1haCA8Ym1haEBraXRjaGVu bGFiLm9yZz6JAUAEEwEKACoCGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgIDAQACHgEC F4AFAlLape4CGQEACgkQSYSRCoyq7ooTmAgAszBsc0sOmdZTqYyNAAiSNGP3DOnw Oxn2hDchpuzdZJ4HXhprBH8OTQUWyoeHgQxZlaTOXlH22+li4m1yqkouedcz59wl XUT8nec/g/6OIIy0BAtiV/LN9z7bvq1fSR3Ro8IcqdD49Dl8fX0D7uPkXTa++6Nf cmvFusmDct4YM5X9FhMAbxEIMHucoON80NVhAgF1GlzJh0Qq0x4r/Rzr7Mj0eUgX 2SmAKBJDJEojZKztpjweKZ/cOzAlIWkDe7h5xO+wiMH169RdgtDLwExZY+sdTA+q 5maoJ6LKczJgD2vbVW32SH2fVO7ATGhhskSAcefnDtLThy7dmJmozseOR4hGBBAR CgAGBQJS2HmAAAoJENjKMXFboFLDOLUAoNZbLf8oxthKbnK5KuPNG2fE12/TAKDe kt9wOvXdj4eAECCZecydWBBQQ7QbQnJ1Y2UgQS4gTWFoIDxibWFoQGFjbS5vcmc+ iQE9BBMBCgAnBQJS2HhKAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheA AAoJEEmEkQqMqu6KfooIAJBJha5Y+eMNCYMEcEMdAKGlBX2U+orLzft29Z4IU9YT k1a8eXVc4Rz4cXwLGkyyr1wOHUCdDkmZae7cFPZxfAyisf1lu8D7TKdULso9KorP djC+d4dvqm5mlVZMg9hMvP/vbnkewTbdxDBFMvexUD4L9lxPxEu8EPfj+oD7JMWm Y9nUdkWDZX7ErvT8QShXw1XytZ5+EGiFzEjSH423WMBaguTlXllbwD9GohdMIDwR u11m68+MjOdFIs+WaeYY8yGfm1kbYoQhRW5zHFa3dsT2U/ulGLWsQ2QRsqZ1Zzlw O0ABvHF2bo0zJs6ObvVJPuFHVW4yG0tGaU27Kx1TLz2IRgQQEQoABgUCUth5gAAK CRDYyjFxW6BSw6s1AJ4koK0BLnMHnzBfqK6wlnQJCwBfZwCg1nSN/o0Rv+Y7UseF ShnJ0Om9IyW0HEJydWNlIEEuIE1haCA8Ym1haEBpZWVlLm9yZz6JAT0EEwEKACcF AlLYeGACGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQSYSRCoyq 7oqCIwf/R8YthWvB1nbbb3cxuX3dbKK1seTZ99vYcPnkrlFCCitekh/2+rhe7Hg9 6ILg7whHpm2P8guLzudTidVMCUHpFjWfyMGUyZHsjrNfqoHZwR4k2HKKOEXP/vTu IFzoE8ezU7NVnW4uSjF9tKEtRUJLRi3XKBGjcHYJhXmA2mFhQJXCmb1YipaM/fdl Zr7HwG04C6mrn+vg7I2rhzRq4a3aUeHKMWHsaUMpAc+oWoUW0Y/7jt1btRZFuyrB YbBxtWZZ6qcYosf6J1li0GcrPKYvv+LX2GRJtMD4be81C95v2mHAJHJAq60FWoNb 74EhDsuoc91mMvwsxGH5x/aL633WnYhGBBARCgAGBQJS2HmAAAoJENjKMXFboFLD rzoAoLmPmQT9qzXSNmkMOHV/1gpQwDEyAKCjU0Szp4CowqLqJDQXyo7hFrrIi7Qf QnJ1Y2UgQS4gTWFoIDxibWFoQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCUth4dAIb AwUJBaOagAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJhJEKjKruijPPCACC XyTgDdJ8J988fK4ZfsCeQbHiUwWIP3epqCIyMq8DlN0sG5T+Xzb01u9kk9+XxYic IYgWImpAh645QbTLTfEfZzCaPVNtcZRgzwhmqUiBv6QunP2G1rx1awttqB7uIgLn ZQpea6AVB7f/cNvpFIWQIx6+yaSnvL2WpAs3CnQeTcbELw3MY2v7WI7cGZKqYx8p z0H6g+oAxj1LAqen1LoPdQFNjNBa2o60K8WPgSmq/SyJSrfb9eJExe8W+hQZJsri BTtI8y2D1fT2MggGd9FsXQL0sd/YfllQ0qNVml2U7hB/vqqALjScR7xFO85OFTQx dnegIHXzZg8us6qMzPgOiEYEEBEKAAYFAlLYeYAACgkQ2MoxcVugUsP75QCdEbo8 8bGfaULB7Dtflyr9nRB5g4EAn0yjkckDfBQKZXDIppA+1izEv+ZhuQENBFLYd6cB CACqVFQGWpmLMtfweSMsQE3JD2XDy4dyux7wcI3MNE9Qx1HcpbVRAm7YB+bDbi/r wyV+92x9SvLlviOj7iRTi297xInn7dB9Q9agYcNTQbKX8QKia3Ie6bgbKpSgeeZ9 RgQLh7smDJukqFWofL0PfsB4u+Z7ISWIio7ZS+jRaReyz9Ol2rCyxUmqYzztA3b5 yeviY8uAiUrEJTx515TMNHf3Wx+Oa/iJROXWTaSZgRhA8z+l1+v29VVPoHU592kI E1fkxrWYFDmkvnnpdQ3gKkKe/OzjMWb8Ildz/YZB8PheLrA8cA60LeeQr/INzD02 pbFyA3YuBa7n9FLNLJ4mfAnhABEBAAGJASUEGAEKAA8FAlLYd6cCGwwFCQWjmoAA CgkQSYSRCoyq7oqNIgf/YrmF/MXLa7hh0+LG2f8NMSaA69ghD3TO8yQgy7BM1rAR CYWQ3v/9OHv9ccyjuChraJLr9Gos7areE1zYiTRk52X+jBUoWz/i6brGYswlQ9+y c+GicfUxz7T7vbUF2k7C63o4wL72IL63OQaC3RRKBbyZ3KY9sqqlernP5huwpzye XirDY/usH9Xfih089U+z6a7bFKfXOroqNBariRIba9Ha2eepstWhiYIDD+GKRDYn xCLfHtR1jewZGoiDXJZ6RPsmicIEtPdvXH+wkmBp5pJ5YFyb+p+mybhtJrsF9Rxn leh/NN+tJT5UoKVMR/8hPgyMQtxLiKOyevony5GmRQ== =kYDr -----END PGP PUBLIC KEY BLOCK-----
<rm@FreeBSD.org>
pub 2048R/F60D756F 2011-11-10 Key fingerprint = 9D18 8A88 304C B78B 8003 0379 4574 0BAF F60D 756F uid Ruslan Makhmatkhanov <rm@FreeBSD.org> sub 2048R/B658C269 2011-11-10
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE67bzoBCAC/blN8XOxBx7pBlsAAwFJgxYOSYCw4fTFMoyoUBWEHuq0LcNIn BO4CqVyCiWcwMl/cLIh/1OHLjpU9orNrMSnJGdCvB2FAFYNm204ZMi3guRMe5xXZ zvxSa0v6zQtTRCEs5ny44XryxbZkPE5GGgyd4+sZVAcW65SX8hbmoIvL3v33Fq1w eom0nYBxU1EDIwZMl09FWaL02vBvlbSh3CYvmDTS6WD2t1ItDxhUG06+zoJs2YCb 6f+iUk3ZLYon06aX3VB3lmT6ffSdAEX6uT4V5NJ0B60xhQP7WAEmSm9ScbnFIme2 jpZcun5TKywwm7OSyOk36Z3EQyyxOSHRNJ3nABEBAAG0JFJ1c2xhbiBNYWhtYXRr aGFub3YgPHJtQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCTrtvOgIbAwYLCQgHAwIG FQgCCQoLBBYCAwECHgECF4AACgkQRXQLr/YNdW96jgf+Kyc7hvCTNlkisTOAYZ9+ 9n85WGcPLO+vyZJ6xlP41V02opzCjCVrddz3t4sq7eCFw7DTSIFovC6Cw7rAWgx5 pa2idb6fhk/DMUwpd9I9CG9dm41WBWVkxRV3KMYyF2TYwH7VgL8KdvX1C7ZkD39V NKWHcSPwWxCEnrvfcGZz+wOHeZytSeC4Gpd4sEnAVj0HjulLXmF4YHN/cNy9Zl52 +Pt1iSzjV5WJ9ywbruhOxQ7B8q9DQDveWdtSMbaZNzW8JHlj+gy8Ww/UvdsesjQu NE6Tc+QPIigBsx+MTbAwByDY6xj9OOCGNPeAxQFjNpz+iRS3Yuz04VxMy+z3cD5t YrkBDQROu286AQgA5FORCn/VS3x+aUO0zAHm/WmTJZFRxrmdkDexFZgxuHjidGUU fbGzvyu/1fRtft/3Np/M4aRpSI96qbYXLyCeJgQjNp36YRKqJkBiPBDQ9QLZpP6L nJn/NzF6/5pKLt+Sg3SdOV1x/4t+tkmcMa2+Y+yEjd9YWE67Cc5RevfO1As4B00v jFTl5LWxOc2kzVoB4OxxOLCdj/2zkIyxEPe4z/KswGDQsmsAfivHVcT1Kpas6Jr+ sxCwZhSNy/BSuYtwHqGV8xw8vZlJkrOIn25StwW7hVf1oNYQnwTSBRwGnU8WVsqH /2VfIatSzoJ9L5EzoVjkgNxQ+9T5xrqf8G2ddQARAQABiQEfBBgBAgAJBQJOu286 AhsMAAoJEEV0C6/2DXVvDjcH/1/sV6J33aR2Wk4fT8ChWWuUl3Dx7CnDUuCvKo/v oppP/bW473lbV+AlbG8WUpsCUqKy5WkU4uHjSfp3F1UAPDBTU0lgcj30jr13sGLH n4+WReFFZfDIwIBWNHqbLmPHEG2jItF7ssxL/nsYqTo1UWsI+3fToJX98Irz0PXL mX0e8pWdDe+pR34OcYDRB6Fe17cKE/5wpVSvd3+YZ7AYuq5wxfwvZVdOhcXSnWS0 ksMRQMkG5A6BEY0ZpAZWNwRO1TcVqEJC4L6ujls1/sZEOIKSDj9UU1OC4tQYAsx2 /yW99HFkq/4I+yL4zFzmqPug4j3GXKkNGqFNmExVys5uXv4= =Ykam -----END PGP PUBLIC KEY BLOCK-----
<mtm@FreeBSD.org>
pub 1024D/7CD41F55 2004-02-06 Michael Telahun Makonnen <mtm@FreeBSD.Org> Key fingerprint = AC7B 5672 2D11 F4D0 EBF8 5279 5359 2B82 7CD4 1F55 uid Michael Telahun Makonnen <mtm@tmsa-inc.com> uid Mike Makonnen <mtm@identd.net> uid Michael Telahun Makonnen <mtm@acs-et.com> sub 2048g/E7DC936B 2004-02-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =TuyI -----END PGP PUBLIC KEY BLOCK-----
<dwmalone@FreeBSD.org>
pub 512/40378991 1994/04/21 David Malone <dwmalone@maths.tcd.ie> Key fingerprint = 86 A7 F4 86 39 2C 47 2C C1 C2 35 78 8E 2F B8 F5
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3ia mQBNAi22tqgAAAECAPARUB5VpJvYQyHAzL0WITkJmKG1lpwFMPz4jenjJRplPr33 OvKxQcXh1bAWNVFiJVDJsWwnfif94wQdVUA3iZEABRG0JERhdmlkIE1hbG9uZSA8 ZHdtYWxvbmVAbWF0aHMudGNkLmllPokAlQIFEDCwQ4yqxsuiiP+uKQEBricEAKAE f18kbKpFKU/DPRVhVYlLHCkzXLzZCiTxBUGjMaXZswKwrjVLF2l8mrNQhqC9L953 AGyUYNfPLtqw7b088v3ATCIrZ+izWyE27IrjZWSS57GZiDtnkm6moarG79yANBql LBc0sK077cHEC+/gDwXNBLg0NNpHkaVXPxixt/ETiQBVAgUQMK+p+pFKk8pIl/up AQF0QQH+ME6vPoS2+FgSN1q9R1hwmwEPAaYdyfhv2lj1/6KYDEaO9Lhw2u57nW7z CDpir9gNN0X9U3XrIxlJ7wWxa1k2PokAVQIFEC7vu/zjBB1VQDeJkQEBWFsCANX+ qJO8J6qeJW8gcrmxMBA0l2MjEHcu8XNky6YT3yS6So72yL1lZbG78Sew03fXnWNS GyhRrPz7sURNLtJDNDo= =wpn4 -----END PGP PUBLIC KEY BLOCK-----
<amdmi3@FreeBSD.org>
pub 1024D/F9D2F77D 2008-06-15 [expires: 2010-06-15] Key fingerprint = 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D uid Dmitry Marakasov <amdmi3@amdmi3.ru> uid Dmitry Marakasov <amdmi3@FreeBSD.org> sub 2048g/2042CDD8 2008-06-15
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =6qxA -----END PGP PUBLIC KEY BLOCK-----
<marino@FreeBSD.org>
pub 2048R/A0AE6229 2011-07-19 Key fingerprint = EE48 4F90 C861 3A5F E39E AB9E 33CF 4190 A0AE 6229 uid John Marino (DragonFly) <draco@marino.st> uid John R. Marino <john.secure@marino.st> uid John Marino (NetBSD) <marino@netbsd.org> sub 2048R/71D9FB68 2011-07-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE4lqeQBCADCjJjZRgrwytnQ42fHt8yCRSRu/4Qd3OXx9ZKNOhpqzXwWGw/Q P41zJj+gQiCcpMa1mqoAUJQLaq/+H+Gy4oYHGQZiRa6rOIyxJaFqJP1UBfankNv3 Gj9saoVJnnay2m62BKyHE9kclgJ2ujg0cOmUDB/RuPVUyyCOQnB7MU4iPpydrw+N 9xY4fks+cTvzT1/dJqYx8/phMHDrRBie81O5rkz6uP9jDJhCsObVZbr3zvBulzzb GlxdlskIZAPYdqoHrY2oQZ2iY4QSP9MYAbLJV0dMaIj43vlthsFLBH4bn42WlDkA aDux9+kFOHtoE9p2PxkLRcnC9Atqq66rxDc7ABEBAAG0KUpvaG4gTWFyaW5vIChE cmFnb25GbHkpIDxkcmFjb0BtYXJpbm8uc3Q+iQE4BBMBAgAiBQJOJbG4AhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAzz0GQoK5iKXlzCACOKoqsG4z5G7u3 DyfPNSNZlExgjNjnF2PTSPuT6fP2VV8U0sJfXT7aWWQ57XIeB35ApgN7a9X0okJ9 Pfm2+yTHY/OGJfidVIoEpq8JsCsIq2SYUFT3qAYoHr2dEnZ10KRagbfxYgQVYAB+ tbBociJfHYgfPI6+LTa72nHe6W9v522kLRQ1BWHf4ELrsVTySOIOd0ecAhFW5hsP 6nBIh0+zRqSHl2qoMl1tukNEcCPuaZLSuLlyFPiC3/H03XD7CIDjTSucuRfxXJfs ggq5iNz07qTraTZee7UtDXzilfZ+ybUdavzIC3eER/H+YLX3Lh4OFr8SBXODD4VR jnDWuPPSiQEcBBABAgAGBQJOKT8LAAoJEAeVGKMo0YKet5gIAJVsQUUDQKeuVXIm Ji6/zaP2whlCwewtNsf3uGWpQb+Ede0XZ+fb9O9uKHqkDaawgCv9JT0DHFD0H/LC PlFSax0CoGgjFLIjuUZtVUoIYrooPYDWHSMsjKQIJWq83ZxSjJcPDczc0E55XYd0 wn4wlXRQ8EzyROi3o6ewEWb3OTH7ivQY/erKXV004BabkzxP3ta9HRLzZljNKrU/ V1e7MiwZ7efaWZaa7KL2b6V+T49RnWISVfPvyWHXNN/rw3fPFRW0yHVZANic/jXO 6lXEz9uzfbofT/Gc5Hoj7BQFkA0eDtZ+PhsgjiI3IH12PXmDmwpxgl7p0Db/LTXp lMbNjg+0JkpvaG4gUi4gTWFyaW5vIDxqb2huLnNlY3VyZUBtYXJpbm8uc3Q+iQE4 BBMBAgAiBQJOJankAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAzz0GQ oK5iKcnOB/wNzXabOslWeJyJpktWsrGEkwvLco3MTI9U7g6ywmUfBSsF7VNwQT7t 4sXp3xIxxPOwa9EZUc3rs9tnjqgzzFOtkFxvxHCnfwUqxDFAXQXTgFeaZUQkWs1e tFA9PnITl/CjGH/Bzl8ACfGJ057r246uiuyEmYux/zQTIteysZ5E/2rH7PJUJWji yL9Fdv8EEXvSD/fn8XEbhFgY0iN47YnGbWyDw+kA4ufHyLFHYx96SN3s1Cfr79+f cU4oU/s3P5u+U8aFLxsjtu+UxEDxLUOr0U0oKF6dmVxv6N1pkJojTLRoOEieW01R 9k/ee/aXWNTiR0G2s0TxwoqDwG0F/E54iQEcBBABAgAGBQJOKT8LAAoJEAeVGKMo 0YKej3cH/2RPTukUaTJ2MpRAltPgLM1eQDFDAw52lLvHd7fI1c5DYOjQJVASaGTS phyw8/6gc8RBhkun0zHi+O6WX4PlZrMToeXtmUbtBQ3iildjfcE5+EGXBTgZNuea 7aLA5pUQ20k9cRhUx2imxM9U+z9+DYeXb30ah2dXSlOTVebkGPvEw2VVdn9cHK5m 741S+UalpHmRhFKB52PaQjuJcGGDbcMt6gEIG/VaA7McFqm/0y/n78Tcvc6o5+pA vp8Bg+y98FD3+4Gl7mKa5OjRNRz2XDsAcOaXeBElYyVzsCgMExNhhPLmcbuYN8ZV ST3aQ9ukKTSW4ZDp3UvTPKa7VHMkZA20KEpvaG4gTWFyaW5vIChOZXRCU0QpIDxt YXJpbm9AbmV0YnNkLm9yZz6JATgEEwECACIFAk4lsR0CGwMGCwkIBwMCBhUIAgkK CwQWAgMBAh4BAheAAAoJEDPPQZCgrmIpHnUH/j6qMNlpMdn0zd41bJQLwamCDwSO kN97v5WfzKhwhxhRjgoN/K81sU2JXdibmwYtFVTgdD9cucK+7jdOSC5AQJQuCrcS UzeONPnXZv+hq9qP4UZKxNfvYT2u6TDSEeYDWpSm4UiQXLJdxlf7w0y50yHTq8jF 9FmcF+XWCcj53YaEFG6cHzFC0UZWltRzl5nK6DlropS0DJWcGO+x+WhrKyeSZ0+E v8N48x2E0OM5nDNZmG5NttnLUgNIAN2xyGHutmRSdVN650e8A3LociwfDdY6M/SD j6jKa2MJoWQ2rYVVNR5xGj0Ghn/+2GURZwxaDPWriMvTb0cSzccvDLS7XgiJARwE EAECAAYFAk4pPwsACgkQB5UYoyjRgp46rwf/XQTFn3kM80mFf2J5Y301SlOC2RwK K84rL3IskFRT1GEUhxhmOdZDzvwC1dyqHiRj517IeiSbmjP+KTw3lUEmErjsnD2X 5fn2rM5DVrlF6R/dCjJ12GgqBJG4quuFPva/Fve+h9bHW84bYgjcX9J5jCzp0Otd 0uqZMg2OPxaQIJknho0a/aDtDh3FepH79mQUjybGrASACOt5HMgzoUpchm1bE2mL CVw/Ge2n83mTNJWAMT0Ya1QCMtZofa0PSGAW15h4TqjIYQ6mocJ0/7Ugggb2PMME JilASJdwBEa1RqsLCzI3RTH5hhhCuLJwI9uPRrXc6mNZ6JWBD/7KfIArobkBDQRO JarKAQgAt5aULAv8fBdhniQGT1hfSHgj2lFFA0AkJj3wifUOun23u6dcXCrk/9PR SZQcf5tPhp3egCm0JaL63MQdSNL/JUuG3zOBE+OnYAfhUTNWLfWnZkKdyjqw9Edr ztsiLTTlkMowrZUM4gmH9EP/rnf2WvDuZuTTG/gB4gQX5nCADKmoK4pphE+3ka44 4GiIMcEAQY8GALBCpz5oi/hC2AMbN5+1jchqx+yDUnoOaRTFxmHo1yWonbrya315 lIWI7YLXycnK9QDLCJsKwMRZWoJ3XnY+/3jwi7dnZ2LW6yf05hfPcPsxy/kVpIS9 qLtr8v4Tl7Iz/2pooJQtUu8raPki9wARAQABiQEfBBgBAgAJBQJOJarKAhsMAAoJ EDPPQZCgrmIp5eoH/1WmNDoPvSBZDkLwjEPhb1uFDvmttGAeHsrcyzvan/C+vo5q VW05AD0P/pdz4qjmvH9ohG5DAqOkoORbOysFd+8cCCYScCmG7avqhfg2sAezXdpv 5LGtTTrQIBNayERkCm0pLaIypE/ExWKUv+cnZtsqONzADLBwgkGO1DcpUnmXaQ9P MHPu8AHPVTttFHrSOgPSHc7X1B6j/z2AHzR/l3LG39w3K+v4WQbNHg279eyDQCQj HS7PvfnPkKP7ujgmLA4ccjZnuPzpDkGetLs/CKWhEoKd/bqle+dP7D198YGrdGky Tm94E0oHtw3FC7U6Z1pZtMs8W7h6lru1dCauFP4= =g1mW -----END PGP PUBLIC KEY BLOCK-----
<kwm@FreeBSD.org>
pub 4096R/BF4E2D5B3B9D8847 2014-01-31 [expires: 2016-01-31] Key fingerprint = F986 EDE2 B3EC 4098 7820 E1D7 BF4E 2D5B 3B9D 8847 uid Koop Mast <kwm@FreeBSD.org> uid Koop Mast <kwm@rainbow-runner.nl> sub 4096R/19C3701D1BE7F671 2014-01-31 [expires: 2016-01-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 xc/1gnP81Zu1PqPlTGWJKtzL4XjcSA== =hB1P -----END PGP PUBLIC KEY BLOCK-----
<emaste@FreeBSD.org>
pub 2048R/50A17BF4 2012-12-18 Key fingerprint = 0C08 ECC9 3A0A 8500 AB95 B553 49C4 7851 50A1 7BF4 uid Ed Maste <emaste@freebsd.org> sub 2048R/08FA5F72 2012-12-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFDQkJMBCADPPfZXZY16ONN40Z6afHF3hxGZsczwVUQ7qlNQzjfvUk5MJV7H VeKpLAN9pHLk9tg2xTXzcMbGe/baBQrw4kt23SwvQ1Q034nRcolio6rx4sq/E7EH vxRmwCgn4n/g1b/S8xzcXqFeDpdhY1RAbWdpQwscaj4hSCEAo2KrJ3tlsZqVRu35 wKAW5eVlrPZghi3jTPQxzdz4QNqLFR5aQdp5MrxhKcm6rnC7JeyuLAFruWoHBoqg 5P8dKjEMNPBzIJdWC2iEWqsiVOrJZ5YbCpZtbPlM82oGCUoC1QmW4kip3BJSBAJK wZlwRvHiMbjhjDGJaliHVx8G8NiJPrdDZlMdABEBAAG0HUVkIE1hc3RlIDxlbWFz dGVAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJQ0JCTAhsDBgsJCAcDAgYVCAIJCgsE FgIDAQIeAQIXgAAKCRBJxHhRUKF79BotCADC09bvfZqcpiFH3HeQbH2SKeK6vNpI v1Uoib443EBajOKw19JkjOmPzwnFrKF1WSXrKYpp1iwUlvNgR1C+nMeGPOQCtLzU g49uuoC5q6FdMJIdYKjbVziga96UZme6kuSUUdv5/aumEuOfVvHewZQNWUdq1zbj RuBBesSKWULmUW4K7cBRGGvmAqIpWLL2lmZheT3WHzmLIwwqE4Xs8sgfijxxXrzz tAi7NVVEbOtDxlKZYINKXGXm4xfomuY4eAg+pCH58kEwgEudEspNQP+axJ0Bovh5 yq7cVm7zHbmrxSWSzLjAfprs84m3XIoX9wzlit2tydUbQxlALqcqpDffuQENBFDQ kJMBCADODYSrW+MNgYsqOZpg7hQL+oWPak+DJW+mAe93D0T6iS7g7ZDX7XSSl+LE R/9bLa6alA7qXDJFf41yl9Gw7vP7k5SFAT0mukffR4wiXqsTKcdGj8LxV8JllAQT h3r38gNhZRDr4UQ1MZxWseeZx6myj8vskCiv4Rd0qEOlOE7AgiJdUdUoVLnjZkDE o+UbOhqSfSCWEQNItJ7dRGsmxGAUH4pIZcdu4NIYINt2yNIQCO/NTDFj80dpIWxt Q1BNqL45ZkWG0B3J1j4tsze7dGvWnXZfJQyvTeNeSg6WteyqQSQ98WgvFQkWceUv 1ooA5bHG0xAtg2OI4L2ZvzLINfrRABEBAAGJAR8EGAECAAkFAlDQkJMCGwwACgkQ ScR4UVChe/RV3wf9F+TfpN7DC7m7+5aACXpDB86xCSGG4COtSyU8Gs0tgS84aE/b KUCdRZOwvz5dHAQUaPcgRNuNYscu2aAN4DYdPWrU59tn1s6+xYvWpgkzt+GGsni3 gsz7vot3vUEzf7kOMV+NgdBEEIKgUT3TuIU5wQ/fevYGN1gdMeXiYSJ+PSfaZWnr Eee3zGU6TtR1WUgjQLoSdvDPzsFaNYSbCGYKXwSQOw7ysp1tY6Wai3teMb1Q9YNe BpQCsjEhGSuocr1R34+Nvmo6OcOpSeqEN3XRlz4PIGcXUY9Jp9gtGBSeFLasihfC SDQa/FThS6824wFQfaya638NZbjhCzrtxx4gdA== =aAkV -----END PGP PUBLIC KEY BLOCK-----
<cherry@FreeBSD.org>
pub 2048R/2D066FE1 2007-05-22 Key fingerprint = FBF1 89FF 81BB E1C7 6C1B 378D 3438 20E9 2D06 6FE1 uid Cherry G. Mathew (FreeBSD email) <cherry@FreeBSD.org> uid "Cherry G. Mathew" (NetBSD email) <cherry@NetBSD.org> sub 2048R/7B2C4166 2007-05-22
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Rg== =lSy5 -----END PGP PUBLIC KEY BLOCK-----
<matusita@FreeBSD.org>
pub 1024D/20544576 1999-04-18 Key fingerprint = 71B6 13BF B262 2DD8 2B7C 6CD0 EB2D 4147 2054 4576 uid Makoto Matsushita <matusita@matatabi.or.jp> uid Makoto Matsushita <matusita@FreeBSD.org> uid Makoto Matsushita <matusita@jp.FreeBSD.ORG> uid Makoto Matsushita <matusita@ist.osaka-u.ac.jp> sub 1024g/F1F3C94D 1999-04-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDcZe6YRBACDOZSZ5cWE6IvNkx2Ht6S/VdIY1OXFU8n+cOVxNIHFWXPUOrFG F526VZoPfjURnslubdxXC8TKGspX96uc1jdROHvEwsxUUELyzZ7G5oJ5wd4jHwjq K5zwV5FZoNm1SHdeN0FqZB9rlJdOt0kxVZS+b1PUc0j1i4oDNZz7+8rc0wCgltLi c2i5RQzjuvJvF9P8OYGujHcD/3Tq02ov/aNX+jIoO58uuOBZpYFL7ZfbCeiMs+4A dmvjTI9MpfLBP711iu1asuikx6HLQts9UTVk36qP9ubNmFi54kDHsej7Ce8m+dOu Cjcjle6Be71MGLq4YUxd9xZmGGDPhEFnHWbB/QPP4n/m3DN3hblWBgP2PsgmqDyK 518dA/0bhL5pvw5LSaRtGxxWvFBInfWGzC5EuLw4ERZW+bEFB0To08ZnocLRN/E6 tZ2JTr2O5aMLqUEM3jgsIvs9EOGUBwPRzyOQXpc2uQemn7J0pL6PQfuBIaUI/NOu ULM0gQfLIV3wOP6Y5gH0FBcLt/ofrqdYys0C6zTq3LqDW5FdQbQoTWFrb3RvIE1h dHN1c2hpdGEgPG1hdHVzaXRhQEZyZWVCU0Qub3JnPohfBBMRAgAXBQI71CCFBQsH CgMEAxUDAgMWAgECF4AAEgkQ6y1BRyBURXYHZUdQRwABAc3PAJ0VtHlKCmR8IjdR KJxY0C5fdmaDGwCfecy3f/dYGQsljHhv0Wr2PxciscS0K01ha290byBNYXRzdXNo aXRhIDxtYXR1c2l0YUBtYXRhdGFiaS5vci5qcD6IYAQTEQIAGAMLCgMDFQMCAxYC AQIXgAUCQ5F4YAIZAQASB2VHUEcAAQEJEOstQUcgVEV23p8AoJKAqle5nC6Wi6yO TZtcr4axeBnAAJ9ABx4gqACagCDc/OMk3pmtb4sy1bQrTWFrb3RvIE1hdHN1c2hp dGEgPG1hdHVzaXRhQGpwLkZyZWVCU0QuT1JHPohdBBMRAgAVBQI3GX1RAwsKAwMV AwIDFgIBAheAABIJEOstQUcgVEV2B2VHUEcAAQE6EwCdEPG7N7vmhgYEqmZqPLm6 oqjHOpIAnAr1FfVDPXpfE2SmXUZenG7+5MwntC5NYWtvdG8gTWF0c3VzaGl0YSA8 bWF0dXNpdGFAaXN0Lm9zYWthLXUuYWMuanA+iGAEExECACAFAkORd40CGyMGCwkI BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDrLUFHIFRFdraSAJ91gKAjNH0XzAKohpQV vo3uT7LNvwCeJSxDm0hpmaOpa+LCcabNP91SyhS5AQ0ENxl8HhAEAITl4uP+i5aY Wr7mPBLAaWfoQ4fyT3pUThtStiymqsrEDFKhVqA/KD3PUV1CeOBc9oq69x1+pUlk VYz3vDrvk0hP+dy6nerUEbkdGtMKLvGzakdond55jgSTZ6CPHxqyLva06QpY8tj9 CODunFUE+MPVV4Lf9U4wMeEDZFEYvcajAAMFA/9kKoDY1ur1mAPJRWAcEONxnwiW qe7l++fg/294wra8IkAbF760iMnqq63qavsGT6xStMi9EwZC687p86sFex6KF+uv P04CTAyt+FAph7oa44AdWJo4tJ4SP8xIznOiZS8clWwxTaqv9Ncy6LZwbZf/P427 egF1zuv5A/MTO3KD7YhOBBgRAgAGBQI3GXweABIJEOstQUcgVEV2B2VHUEcAAQEr 7gCdHJTTs41XBpfprQCErm3tGXwRrG0An1zUSEtG1AA4jFXNgIlud0OO4aMm =aY+v -----END PGP PUBLIC KEY BLOCK-----
<mm@FreeBSD.org>
pub 1024D/4261B0D1 2007-02-05 Key fingerprint = 17C4 3F32 B3DE 3ED7 E84E 5592 A76B 8B03 4261 B0D1 uid Martin Matuska <martin@matuska.org> uid Martin Matuska <mm@FreeBSD.org> uid Martin Matuska <martin.matuska@wu-wien.ac.at> sub 2048g/3AC9A5A6 2007-02-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEXHDPMRBACme6PyRAt6LcfVO5LiPbtq6rYu4e8zrUjd7o+FiCEYjdF8VwXU 3RQ76f1cx2tnNyvv7KEQX2/NyPHQH/3n3Cu5w8BToQrV6sEAMP59nWOIKSNTXNGN BAbFXvRDC1vlPXyXaeRt6InF90FmJ/ZJpTX1wYGenYymZtBSPd3q1iK6DwCgn/I2 9FLTUjOm2qknqLGGZJ/w96cD/i6CDQa1VzwyplIKCbPDqNyJh3qW23JMkW3OGwRk nY8H4RrR3LNfCpiBuzw8JtO8vDT/NoUKG4rXFMYz0pPfPbWnJD+qtGEl3fXtNC3f a4YwTTDil5VSi846IjHK2rEwDvUkMAyiEbthOIf2U8JRn0KThPYb0alPyNuF+zaM HUUxA/wNYHb/qjqCI0iwSNxTYKeruBcua4yg7NKeeHtA0an95CfT+AyEW6inQ0Od WSrDljmZbq0YGFndRZnxlwClzA2ueS3+/F4ADvn0kONhzXfVewRayOHXLiXlcV2d 4+g3oYMWVsR/DAi12ezzvkHnDWsSeeXPKkBXMAczmKd484RpbLQfTWFydGluIE1h dHVza2EgPG1tQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJGEkt4AhsDBgsJCAcDAgQV AggDBBYCAwECHgECF4AACgkQp2uLA0JhsNH48wCfbHM5Tu8ABaGHO1Nlv0jtrc8L D4UAnjIzKUyR6A0ReHlqZyAQA7XQ0lxztCNNYXJ0aW4gTWF0dXNrYSA8bWFydGlu QG1hdHVza2Eub3JnPohiBBMRAgAjAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AF AkYSS5kCGQEACgkQp2uLA0JhsNH6FQCdH3LhF9TLVQbd5q5sYYR48zmXaPoAljRf JtDTR6ZLdjVowmZAmSlsFda0LU1hcnRpbiBNYXR1c2thIDxtYXJ0aW4ubWF0dXNr YUB3dS13aWVuLmFjLmF0PohgBBMRAgAgBQJGEkthAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQp2uLA0JhsNHkiQCeMQACotd+npbhK1pJMKBcFOHrzUwAoJYn ZRIacsYvjMBNsx4UUkfYs70wuQINBEXHDQUQCADlHvWxPueR0sgha8L1Fwp4yTE6 AbqAnkYw/nC/2q/oUDg97VFdZM0tOi67sLYHic3Fj/Il7w78jctdlpagW52b+R2J l3LFOYlbmbWkUj7iUFrDA0QZwO9IZw2yxDP3zkEMvPh9YtngmgI8CKRtXrxgY3+7 9gEN/evBiEgS9rN5/tGI5V2Pt+VTXWfw25zRnOTTThgL/sRtqKykSJ6nsJfwO2DY 0VFpb9ndFR/zG4ozJLupV+ku0EQv2xXlOdvhdWkLgXN+JRtrP1CxWzPTA6CP+m/X cYiT498yBauwk+JTGqeOKUfn27vpycGmf/VGwBoh2GrhzXRnOVBkDXb20ztzAAMF B/4/cFjtT3rdyJpFRoSl81Nvj8/DvP1ICovH2YUY+bIdUU83Id6AqKv5vOWhlhbR 5Np9EtWkdyInXHhzs1MDm1xdNFmwkVFJB+M/XNmj5lgZ+e1riuoo07WcwKN8LdBY oOoSoKViSzEoJwlkQazOCAURSWHIlr7rYwM17oAgDjJ4PjBs4l3zjIt+wNU40wYy JOnBxjyK5ucKUAHq/6vgLmvj+QZvhcDLpKxRvw5M9PLeD1iomiY3qzNRlOF4aUr7 GX8wbk+a9rsiC8dIGn++9D3BrvGvVLqxEruflXmpokyalalitIL3N3WitPjMu7gW EUotHnqcf3TGK7N7ffv0SXRpiEkEGBECAAkFAkXHDQUCGwwACgkQp2uLA0JhsNHl SgCgn7/wkepKhD2TrONJELS0/iy8WjcAnRhJSMsrJApfDOhu0ER1TqP+cFy5 =HbmE -----END PGP PUBLIC KEY BLOCK-----
<sem@FreeBSD.org>
pub 1024D/B71F605D 1999-10-13 Key fingerprint = 4704 F374 DB28 BEC6 51C8 1322 4DC9 4BD8 B71F 605D uid Sergey Matveychuk <sem@FreeBSD.org> uid Sergey Matveychuk <sem@ciam.ru> uid Sergey Matveychuk <sem@core.inec.ru> sub 2048g/DEAF9D91 1999-10-13
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 /CYAn14opUDUCjxXXd3vrkwzNCIrYQ5i =iDu9 -----END PGP PUBLIC KEY BLOCK-----
<slm@FreeBSD.org>
pub 2048R/E523D98C5DCEE9D0 2014-05-13 [expires: 2017-05-12] Key fingerprint = E5A6 6376 9B87 C35A B41E 1F7B E523 D98C 5DCE E9D0 uid Stephen McConnell <slm@FreeBSD.org> sub 2048R/0A1BC20E46082DDE 2014-05-13 [expires: 2017-05-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNySZgBCAC5psmrGTeYIY5T7nGJUQsXK2uL+6WZiULOkmNpmH9v5QBs86Yd GLQBBj4czWxwJMEDGvZp+BNMHZ1XfPL1tY4N8ZNB6XBKk6xj/M0oDQGBFdOKvihv zRgU13fUiUdMbBu43OVzVPlzL4XO6P5NRfQAXtHVFoNRm1haUjatE/Yg+i4xxghI r1qHukYNJ7pO+FFjd1CJBidUQg44w1+MOfEksWW4vPq3uNMVIt8HNh3OStUUrMpi l6yghEdXEMYExDGzB1V6tNg678VW/jBJZJJxc+fEE4v41j6xX67cs1pazW/pqRl6 RH/hzrfZ1X/ye0wBXreap4MxFIxdBRC8Z0G7ABEBAAG0I1N0ZXBoZW4gTWNDb25u ZWxsIDxzbG1ARnJlZUJTRC5vcmc+iQE9BBMBCgAnBQJTckmYAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEOUj2YxdzunQT4oH/RdygIY1kj9gTtb2 A0xyvbtWUWgVG20mdBNg4fBzOd22iFeytslh4MnfpsCSUiaGL1Kyc8WHKF6r9KgZ /ootJ/jXsBURNX8SMWzEsApvoMo+XB6d+wBgbUOd40z4qOeNt7bzvgW9czMFxD7y NyX0Cymm1PfOWMMea4x4YaqbVTOHJH8myVkApNxMQ02RMA8kUGPI69yfUPFkZZ87 t+0+Cf5zC9X2MjnCYqGe2hWmrAd1GBOoZze63dbxeiSAK7XanoP/1EElOFi6kY4R jW8AT6Apan10WS2IzoSnjQMT0bKbdjUakGyTzZspCzL1DwH8BCMng4eI23wSDqXH NQG17ji5AQ0EU3JJmAEIAKRCkTvenrGIGOfFgeYMSIa/dnoZqLO6K8HAvEYX0peH QJpTgN2Hot0871FekGi80JoRFsciKZVi0cAv5pD75dAq6uWDCLEhg3CiMqMEg19m 402GC87Jf291Lc19/rRt1Qj8qJyAJNTn2taHb2mXl4fyVA3l6D7t0lCl+yGZGbpl r8fPX38hiZXquFI7ot5J7RmbOBVcszNNbkk9wivgZfYKBJOvVe2HWi9lJ9OYDnLU pb9uQQ0/tvsFF1nBBvZpzlY/70ViS/w++ZrwlrPb0KGTZiXQjdhgIe8j136fDyfm 2bwS/K5XLhLKdoX+Ilc5fWdYo4ZqQLaMW2fuMJxrrfEAEQEAAYkBJQQYAQoADwUC U3JJmAIbDAUJBaOagAAKCRDlI9mMXc7p0JhxCACG/HWrZ0XDrrLHQK+N/AbKN29L OP+mvg9mTnn1hmvyq2bBzgHUP/YFHbDjoSxEXnigfkyHIn7fTCZL8NEWW824oop7 417O+4zOd/h2ECwNd+o95kZzqFdk5NimRzBogbuJOV8WbQ8qDfveTCTTE5AI198a hY4gMtimd/3Aq85ZEKgATkbMdINxXPtWeIG4MosGp9fekqky/3AMY96Dd3t1DNcR 2e8RYfYtUdudIwp30JsmtmicQgYgoeYivIjvKl/DtWNqj8resD+DNCH1fzaxHZAy 9C9vj/vuSLW+EkenPOlHrSx5d9bf44fuiVoEFZUDY4TGswG1E0Nkyj/A6Ghp =vAW8 -----END PGP PUBLIC KEY BLOCK-----
<tmclaugh@FreeBSD.org>
pub 1024D/E2F7B3D8 2005-05-24 Key fingerprint = 7692 B222 8D23 CF94 1993 0138 E339 E225 E2F7 B3D8 uid Tom McLaughlin (Personal email address) <tmclaugh@sdf.lonestar.org> uid Tom McLaughlin (Work email address) <tmclaughlin@meditech.com> uid Tom McLaughlin (FreeBSD email address) <tmclaugh@FreeBSD.org> sub 2048g/16838F62 2005-05-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEKSlvMRBACEIyrOE2NlPjwg7bS3nUC4S/D1nPV22eEJ0ga9+LNHlQnsJON3 lGOU6iMGa6QaBoqg7Qw3aL6FaJlogNQfIPWZCRZdfJjlbw0Yd6EzCpMqoowB+4y6 XuObOhie5bdHFK8NVk9n1BZGUELcnPGMdhPPIQ/UHq7Rlhbqh8qkcA0imwCgzNEV oPAY1SeozW0kBE6YUXXGQXkD+wRzl9As4+1CE3ZgxUWtoNqYvZMNWYTbO0ZWMx6i YWJ5GkLCMdVqNZ7iCteeDBVoRzLEbD/FyVzazPm7FBSxzK71EC+C4Ybt2IQPWfBK Q0GI+2ghQ/HyLh4gLCLP5XEk9aw9DwXGJt2q7HngEJli5o8LFVo3Qiu5X+QeC7QN r6uGA/9/raZnDF33jfAlx1jrHnFVEa1xzs81q2LK2ii+RdU5bvTJQchoHFRKZMBW HszbXB4f+wqkSkj6B7od8hBINJwdumQXdjO6nybh2abkCT2f/nyK7ktCcq027AD4 BjWWFltUZpvspzq724SOEyBsbYJp4YTB2wys+gcyDF/ugaJCl7Q+VG9tIE1jTGF1 Z2hsaW4gKFdvcmsgZW1haWwgYWRkcmVzcykgPHRtY2xhdWdobGluQG1lZGl0ZWNo LmNvbT6IYAQTEQIAIAUCQyJDcgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ EOM54iXi97PYq4MAoJeuQSfnGZsPBIpzOZ0vHmf/ZV4ZAJ4kKyQrqbxup6u/vMWG lS9JqYlZj4hGBBARAgAGBQJDnF0IAAoJEMYEPFZyB3E3kccAnRcxLZQIxgo0T22x GUDB8tkAUUOTAJ93N4aVydp/zrDo+OE1HStNFEsWvohGBBARAgAGBQJDnGKmAAoJ EHninGCwBj/nLhoAn3sa1+X0ccAhA+iPHo1mypN2uKUqAJ9B46J73q8E7PU17U6k RHY/7eCLaIkBIgQQAQIADAUCQ826swUDABJ1AAAKCRCXELibyletfK2IB/9GoKeE G2qDTfQbwG2Gbj4sW2FjaeNryneSTxXRMpK5dBwiMi07iM8Ze+8NdE9KlOzA9I1r tkYgR32UCfteyQXU8YvsKf6Q4wRqKbpckqI43zXMdvXyzG23P6/gR/Ozqh96Z9vA i6WdnvxjZaY6jItk357LJPQDP6zQncKFfcw7W+QAPx2N8BrUUy8U94kW6URhS01R d3NP8JylEXqqF6L7cSxcmO3A2QAVjzDpmfWu6AvREuYY7dkSSZWGK9hpoEjPN5GS LDgwRaiYZKHYz8Bx2UUA6sqaoebqAHY09bHIZ4fMiEkm7SSf5PsoS0emb9O0q5U1 tHI8+6LkM6Zhs57CtENUb20gTWNMYXVnaGxpbiAoUGVyc29uYWwgZW1haWwgYWRk cmVzcykgPHRtY2xhdWdoQHNkZi5sb25lc3Rhci5vcmc+iGMEExECACMCGwMGCwkI BwMCBBUCCAMEFgIDAQIeAQIXgAUCQyJDgwIZAQAKCRDjOeIl4vez2IaCAJ98fPNG gmITFIYH+M3UBkw1YTvfAgCfQdAkDAFJxVrvDZBDliO2NB6jAu+IRgQQEQIABgUC Q5xdBgAKCRDGBDxWcgdxN2PzAJ9d7HmdkCyM5CN7cgG6BaZ87AHY5wCfUjblYg9y tsrTj2+ip8f05PC7zhCIRgQQEQIABgUCQ5xipAAKCRB54pxgsAY/5+exAJ94yol5 HuRwmESdxzjj9S70GoYbsgCgxad9osFjtuxHHX37vaxUgJyLEbGJASIEEAECAAwF AkPNurMFAwASdQAACgkQlxC4m8pXrXxT7wf+Ji6vtaE5wjEI3/puKsHfGJmmHklL UBkcl5acntPLPxhXa2Z742ZZW+3QXeUyyXnqU1/BSn6/NBYO6I8yUJc5QptnlCvQ sJpwJlnTd7jBhSzN+L1xGxxvmmq2LfzLIleW8ye27vBOW4JDPDSgz4gVTKRqc0JV 1EYULkWCGpfDA/xPP+4Lhizz57Q6EqLVurxMjNLE2mqV7feIvYoGLxOX0RxbNSpT +uJ+6ydpyE8UhykkQwgN0vhaokwSHC1KWWFH0ET38hcdFvaVrWZsrG/GwGg0T0mG 23CvIdBUGH9U0roJjUa6CDDQz8ohR0P04lFpVsgDi9AVPEFWTX4gcUwyILQ9VG9t IE1jTGF1Z2hsaW4gKEZyZWVCU0QgZW1haWwgYWRkcmVzcykgPHRtY2xhdWdoQEZy ZWVCU0Qub3JnPohgBBMRAgAgBQJDIkMNAhsDBgsJCAcDAgQVAggDBBYCAwECHgEC F4AACgkQ4zniJeL3s9hsCQCgjLOKwwiG6bABO6ue0mjHpvR6nhUAnidSAywDgVQa nv8Ev+hIv4/QpD2PiEYEEBECAAYFAkOcXQgACgkQxgQ8VnIHcTcenACeNyN5PiZU TJ72eTxbc60q6PpkVOIAnRInAWvK8iW8I7uGOMBmyYtZWfu8iEYEEBECAAYFAkOc YqYACgkQeeKcYLAGP+czFwCgkAtsuKGoojwfo/Rg6p9RCazIUjYAoJ0xxWeuZ/df 7lkbyqcRGJOfLeBBiQEiBBABAgAMBQJDzbqzBQMAEnUAAAoJEJcQuJvKV618rKkH /1kUl4Cqj3n9a+acjUnl5gH1r6SVUuNK6pPJPVpBXDOGWQQPfVYl2LTtFfzIh+e0 q7J5os8timFbi/6HaI3RNV21XoqrDVgmRA8lApxM3dfB0hlJ6jx9eoUjHgi4n08w nX3g43I0zoRc3lQPHFc0jV9yRhgAln2yHmrvdcW0SUb8Zv/FvyG26W1gyEvl0cPE /AvKerTr2oP3aKnWtQfylovIw6Y+MmP3AynlvYghY7qw5QSnw3PhITvoFh4Lg4hI c/AoY69TAdf4d+kHtbo9vssMoT/NAIaAN3K8hdzSmJ0Ifsj7/K9+qtYz3r3c/+Qz 1pH6hqz1u13upXLo/slPV7S5Ag0EQpKW9hAIANJJ8W4+BYSzM6ihW2ElYyt3h2hp WXptNPnrZDAoqx7YtCyPnUpn6dJrlsz2NTJiW7ahdsCQqrCyMTRCzAZAbFN1s8Se 0hlREeHxGBIw+trapap/B2u0VQHDfVEL/9ib+jUFm+Gp3izgcgf4y3tvJRmmPCgj Y9fFcFu7PrntYsK91OkgungUriZ1fbjx0OkHRaz7nnq+On+dVElFh2iTwpZKrG3L 7Qws/iVWamLOSQ14d3fzWN/Y7pF09QjOo5i/iyN1QEYiOffYaUthWr7lJ35muuaH yEMeodSNkKCF+BqpmmWKgJohopQ1/f36WjwlaVKaRh0zCIxcpX5xPtSoMzMAAwYH /2OiL+gBLaaTC5okydoeHAE+G5TobT4CI2fw2P9htDWVYf1eIriTRYKywSyjF+YS nCc8hleBDCwrUY03GXCFEOq0SAR97cfRhzxlHps3n3iAuZp9TwcGDiskL0wAaNS8 43AKNHlKRNWxXoCE4oBlq/t1+DV+7BnjdI+MCAUe8h4y/jACIxpxnRKjmAcN2qDh THauJKvmUjw5W9SvgDU8sHNXRAdTbCrDj3iEAvZ2bTUMLmh9h0tKhwmVD14IMpDp 7ZELqCgJgtHjv9kAg0Yz/Dy34jdLgypTJzUreQcJYvv5Krp1QLRTMMtoMtkop56+ oKcUsj5bqschZLFzuL2hj3WISQQYEQIACQUCQpKW9gIbDAAKCRDjOeIl4vez2KQu AJ999gXGK70qxOzC8xOb3luxRKE/TwCgleUyV4VszS8i918p+td30+xsf1M= =DTOK -----END PGP PUBLIC KEY BLOCK-----
<xmj@FreeBSD.org>
pub 2048R/FC9E29371B1B0D0B 2014-04-09 [expires: 2017-04-08] Key fingerprint = 224E D70A A3AE 3EF1 23B0 CA88 FC9E 2937 1B1B 0D0B uid Johannes Jost Meixner <xmj@chaot.net> uid Johannes Jost Meixner <xmj@FreeBSD.org> sub 2048R/A9F0E3193C0C8867 2014-04-09 [expires: 2017-04-08]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 2BO4N93zxL6j7Hkj2sXMaY+9F2lH91mo =Q63f -----END PGP PUBLIC KEY BLOCK-----
<jmelo@FreeBSD.org>
pub 1024D/AA5114BF 2006-03-03 Key fingerprint = 826D C2AA 6CF2 E29A EBE7 4776 D38A AB83 AA51 14BF uid Jean Milanez Melo <jmelo@FreeBSD.org> uid Jean Milanez Melo <jmelo@freebsdbrasil.com.br> sub 4096g/E9E1CBD9 2006-03-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEQItSoRBAC0Dd1LYWYUcjRH9XabIefY+5q+Mwi7iBdvUjq96c/LgGZLXbG8 ZlK92kraOdWvwrPcYUCjYQwwesOmjXryXPoS+AYiz9iVs7AR/A9drFECh50wfaiL J7X4kSpR9zDgju/yVPyT3rhE4ZEZ/81txqdu5DSG5+vD8dLoXdb3EziXFwCg8Njt Lcb+ETI3MvK0M4A5HpuBvTEEAK2H7mNZ5BoLCrB81244e1BFwd16raITUv7DiF11 Wl4kFowGt0K9P0d6QxmL3bEdeud2wfNaVjAuiO2B32XlV4xskZmfalniN6fsX9b9 jnzJzpFvR4tPeZdpw07ePYJXh5vZjx4Mkflv9X2+rWafLiw5vkmwPnkQPcnhWnD+ Ia0UA/40hZZvC9h20eH9hAcJA865wLxzmUijzgAGHjXVjhNT2oYGneNeY70auub7 hGVL7GwsDSYc76W6IhJOcAjgHcCfa3uGerFR56T9se0ysmlBrONiYTokVZ3vKFp6 m9ZceaPiE94RtHsVVkDa+F2KWeGU1As8gskVBP8MycodYb8XgLQuSmVhbiBNaWxh bmV6IE1lbG8gPGptZWxvQGZyZWVic2RicmFzaWwuY29tLmJyPohgBBMRAgAgBQJE CLUqAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ04qrg6pRFL/NCgCgg1C8 cFGpWahx1wgZ8IQxsmCSUV0An2YnP/Q4w10WTe6qp+I+H7c7k900tCVKZWFuIE1p bGFuZXogTWVsbyA8am1lbG9ARnJlZUJTRC5vcmc+iGAEExECACAFAkQxmpoCGwMG CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDTiquDqlEUv6McAKDC5MusdUU0kl9T /ymavKEu9a349wCfXWEu9GgVb0CCZ8Agx3BHHIuZNo65BA0ERAi2QBAQAPB4mj53 L9vbS2WLCAPMMn4ZGDYGXbe1pB/mjRbZlTGnUYWE3NO1fLYXEaoilRsvcEKtbsWp Ynuk8Ou4DaNoVyX9I6I18rs5KMZBiLOvQZFYCBbJYSIn/nNycOqsTy6Nw9mz7mrw I6e6EhiYh/AQ+MI3zID3iYnbQlQFZo4gLMFTLKklpiV+DaPoDiEkQPGn+0mmLEIO pmCqiDTxCIrig7feExCXJa2+CXLj2OS+r6su38O7WJiGMq0i9nCeu+4NnezoKPwt +s5kVYAjOSzDRybWz0UDzi9M7Kxu9tFoxEQUikLDMdqSklPfRs95TEmpXIvksn3A lub2Vfum6/kdRNkxPPbUuyEvtzeCc87LB2cLpP2+EXcfHCe7MdrtowWleRqXymXa Lyun7uKk2etFpEIfAqCPC1Yd8Jf2coyVY/n+a6yotWzCtQ4vogO2dTTKmj17kkcW 1CXZz4W73Jut9ixZmYL/zOJj61j+2S7K7VLfSNrP8H8SACH0oHxYP89BaqOSOO2N 0DtvyhFfS0OsxAEBa/EgtCAZiON4nZdQGPyDvq2/uQ1SGxbykTCvgxElAQfyUh7x lctdQQ6f6MEEPHapdDwpnqX5TAcdY7v9eE+/DZNTeswUBc03qtqxee1II3K3+Rvl 4R+DuGn/oPdgksnX0kX0wtHgclXRsZ6x+wEfAAMFD/9S7Z0ee7WeH4WwU9Mf9gSp 3JGafoInoJZNSRsKAl4VFC8axivUGyUzJdTbADoRXDR6NfqJE94u+pP3vx4AAvVH cvzfGj10GlUOwQGbQxaYGgYtqVgQ6MKeS6A3xaj63WgBFtx8bbt3e9XTnjPto2ZC U/pM3lmwsvxHoJGgisRvEfdQeWW2cJlxcBfpqat1/2MFBK60Wd0WAr0x6A3m5xpy ejftkcUa08BT4LSiGAsmuNKtUYULA9OrbvJreUa90lrM+6sZy2Edh/kulNmXgS4Q Y+OVptuhHSgBeME+j/fM5+p3Uyyaa45xmCFxnx5u/XBWhzMiPvi/m+qYkXPECFLx CiZ4OC7Xso79UeMmYq+CTDMWR6pe6iGVQZhRH69ShA+c545Eic/RoOv4ra8se7/U R5BU29AWWtapMq50/h321Oi+JmmfJHrte9Kd6RdyahuvtlWb7bgnKPwzpaRXYtbt H9SskRTdESK14AwH2eUVAP66Dfr5xBoyuS2g9MkRxxhjHWmMi4TAyh47VgXUxOPF Uh1eFsIqVa1scXFaimmicdnbg7N5iVoqIIiuc2Q5P1xIuTUdxw1SjXOInmjAszO7 Ckad599/WaNFS/pkDOgt8yfQaLOKCqVuKkimWa8YuZkm0g/aY1n1cE7TvNpxdrS+ dw6TU3idxbY/DuNsWfHfrYhJBBgRAgAJBQJECLZAAhsMAAoJENOKq4OqURS/QrYA oIelyoPYInm4v6UTBo3XhOwNkHWbAJ0XXqE5J3Zv8FCqjQsJTFCmmNSoGg== =CyrL -----END PGP PUBLIC KEY BLOCK-----
<jmmv@FreeBSD.org>
pub 1024D/B889BD5041AD5625 2004-01-01 Key fingerprint = 6D6F 53EB C86C AB33 17B5 331D B889 BD50 41AD 5625 uid Julio Merino <jmmv@julipedia.org> uid Julio M. Merino Vidal <jmmv84@gmail.com> uid Julio M. Merino Vidal <jmmv@NetBSD.org> uid Julio Merino <jmmv@NetBSD.org> uid Julio Merino <julio@meroh.net> uid Julio Merino <jmmv@FreeBSD.org> sub 2048g/91A5E9E695283F9C 2004-01-01
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 mgCfR6B/doEGKg+jXNlwd4MKBkm6roc= =Hq2O -----END PGP PUBLIC KEY BLOCK-----
<kadesai@FreeBSD.org>
pub 1024D/B58E09A5C6E4A571 2014-05-22 [expires: 2017-05-21] Key fingerprint = A14D 4FB6 333F D61A D202 C547 B58E 09A5 C6E4 A571 uid Kashyap D Desai <kashyap.desai@avagotech.com> sub 2048g/9372013F74B44808 2014-05-22 [expires: 2017-05-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBFN92iIRBACQX03tg+bd9uos52h5L5lAcV+seSkl41bpb/DF9BG4wZu8hvTo FWOPHPpUuvbk/44iGIZn1ybnShn3FrbrRO6y25l510BI9bDyPkwVVICStajaEG+3 c6col47TAbpBvGwUMCXJGCoUqaqOxKVLRMq3VSjFASizDCf/ldv3ps+RCwCg7kN7 QcZR1rxsHF4bFgqs4KnLLe0D/jLVzv6yIUewCSAcVycN8CsTgDFXGGG33K1iuH0Y UQpTJ9oLS+0WT/l8C48JkPwKz3eYxYMsoxcIgACxM6urVv8vRUqw782UWSBpL7ZF NtWREIfWg81GCaP5tDezMiBe6KRFli5pl+ZInamegGgBJC3UeK4m2kF5Chb3NHTb jOqUA/9WVyC9I9wdb6oXtvZVdjP1xrjGC2Klv3wPhqYRNw9ObAnOcJ9k4/4lXsyi DdUYqfnWrV+dAp/XQr3s3D5i420sxk1myD+xSDcloxPEP+a/Yte81IMPNNl/fxdl Gpm56emwbL8JxrnZaFrnEywXPMiuDLLnGz6M+ozufeuB7AN18LQtS2FzaHlhcCBE IERlc2FpIDxrYXNoeWFwLmRlc2FpQGF2YWdvdGVjaC5jb20+iGYEExECACYFAlN9 2iICGwMFCQWjmoAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRC1jgmlxuSlcUOf AJ9AZL5Q4ckr/UWWjt2fjpBtubnuRQCfUwTGLie+CEm4d0PRUAxrZqlN5I+5Ag0E U33aIhAIAImTkAaa0nQCoN4/ZS83PeO2bD75/VLCiirvCWGxeqXfnJnGY2TRECc0 Z5vhVanopBxUl4GFDwd0m8VHMAxZt6/khLxzb6FsGAAQVPUZDaQfzVn7rgLhBpZV m2aCswFUIpRi79y0J5YEYY/XXPw5qpCSo0YPqBiQVFbJamYvKsEOezPO4uXxA5rC K9g9Q1i0e3BVvqfC5YLr1dydwgceO+RY5kcv3//1vYvtS5UF97w2qyU8R1tdl02L y/lfwQ+hojh4REYhlGLQeP8oxMQrLsmHWuTjYugu0JXkqo5ACLrE1+fPSeVedDkx EMOXg+i8RWnNUaxoh29rOqMxuK6dz9MAAwUH/2w+GvqUoB6JSQXN77xoG2/ehx3I 1lExIJ1FtMF/wXkAZtttzdTWHweI7fJKaxYPqLs34FFcaxp7GbO61lIy3NhFATt3 AtLKwnTm6WBieeUqbvNeeNEcnRPZjMt5YHcHJbo8DGy1GSnbd1iAzShFhOmZmz2F kvpRdY++nDOGZGTnHFgdxtg8fM/PSwA0OI7gdSUFURI/715Vg4fcoVDo/eGpd6yK KdSlb+M+/aTDbpNt5mwrSS0ROyAsQx0V4iVTHGGxFqMRHUmFjqdfbeXnjdJYIlnU cSgupMx0KkaC+rUzr0iCyWy4sfQFzzGqge2q4Z5eR87ktyinpHtELWtMcTyITwQY EQIADwUCU33aIgIbDAUJBaOagAAKCRC1jgmlxuSlccx9AKCKt1nJGyagsZ154v7W xupYtFAXRgCdEjAn0wPk5ZEYpcwwxmgN9/VpHXM= =5emX -----END PGP PUBLIC KEY BLOCK-----
<ken@FreeBSD.org>
pub 1024D/54C745B5 2000-05-15 Kenneth D. Merry <ken@FreeBSD.org> Key fingerprint = D25E EBC5 F17A 9E52 84B4 BF14 9248 F0DA 54C7 45B5 uid Kenneth D. Merry <ken@kdm.org> sub 2048g/89D0F797 2000-05-15 pub 1024R/2FA0A505 1995-10-30 Kenneth D. Merry <ken@plutotech.com> Key fingerprint = FD FA 85 85 95 C4 8E E8 98 1A CA 18 56 F0 00 1F
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 sGDiYyJDVnPYxZcEN0h06w== =CRmh -----END PGP PUBLIC KEY BLOCK-----
<markm@FreeBSD.org>
pub 1024D/FB57D793 2000-01-20 Key fingerprint = 3FB6 3D12 0CF0 611F 0441 CD18 CD0B 8A35 FB57 D793 uid Mark R V Murray <mark@grondar.org> uid Mark R V Murray <mark@grondar.za> uid Mark R V Murray <markm@uunet.co.za> uid Mark R V Murray <markm@freebsd.org> sub 2048g/EB82BBFC 2000-01-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG/MacGPG2 v2.0 Comment: GPGTools - http://gpgtools.org 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 =l1Dp -----END PGP PUBLIC KEY BLOCK-----
<dinoex@FreeBSD.org>
pub 1024R/331CDA5D 1995-06-04 Dirk Meyer <dinoex@FreeBSD.org> Key fingerprint = 44 16 EC 0A D3 3A 4F 28 8A 8A 47 93 F1 CF 2F 12 uid Dirk Meyer <dirk.meyer@dinoex.sub.org> uid Dirk Meyer <dirk.meyer@guug.de>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 =b0g6 -----END PGP PUBLIC KEY BLOCK-----
<sanpei@FreeBSD.org>
pub 1024R/391C5D69 1996-11-21 sanpei@SEAPLE.ICC.NE.JP Key fingerprint = EC 04 30 24 B0 6C 1E 63 5F 5D 25 59 3E 83 64 51 uid MIHIRA Yoshiro <sanpei@sanpei.org> uid Yoshiro MIHIRA <sanpei@FreeBSD.org> uid MIHIRA Yoshiro <sanpei@yy.cs.keio.ac.jp> uid MIHIRA Yoshiro <sanpei@cc.keio.ac.jp> uid MIHIRA Yoshiro <sanpei@educ.cc.keio.ac.jp> uid MIHIRA Yoshiro <sanpei@st.keio.ac.jp>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAzKTzO0AAAEEAMVsAcUX89qHkwlI03RlAYBqQa00TFmgPwZs8sWvNUqTGtlK kOXcN9WNBvwzMYtEk/u5C1HukqISnFkDW7ZKYm+Um1sQPioFHTwDC6R2HRDZBCV7 0fROlQpb479iBlr8wNAYDhOs0rl25FpE/uAXYThW9Ik/apgXN4rTGxk5HF1pAAUR tCJNSUhJUkEgWW9zaGlybyA8c2FucGVpQHNhbnBlaS5vcmc+iQCVAwUQNu4ch4rT Gxk5HF1pAQHYiQP+IoxOpfpSPg8Gr7MUtoU3WZPY/5IuKoOwnFNFcSyuhrgn/OOB pbxkYjTO3MLh7Xa+9sPigevHy/sNA4vVZdjk05sjRfAZxIWPrinRy/kzva0KOY69 u1QfX+Vx2mfq/EfMJMHP/Am0H71nOfAZsscKlb/jmuo1TxIpCUx+wWmNn5+0I1lv c2hpcm8gTUlISVJBIDxzYW5wZWlARnJlZUJTRC5vcmc+iQCVAwUQOY7IlorTGxk5 HF1pAQGQBgP+MXSjPfcnNhNfUmeLu8sM63DnrFIfRP9E+n/yhZT0wO51r2LmF4ZX YI04IJCywJiPjEpCFXNAhqDfypkTXWcbLTxX6gE5GNqii5iq+z+UuO4panpJO5OY 4H0/90cH6I/zl93EZN9wfZJghn66vgL4tDTgILdRPekIOB23JQIXsf60KE1JSElS QSBZb3NoaXJvIDxzYW5wZWlAeXkuY3Mua2Vpby5hYy5qcD6JAJUDBRAyk8ztitMb GTkcXWkBAf3zA/9sDB0n/UlsH9hzaw4r2k0FT9F7Ixtk2i/vqmHDUUcrlEqGaeko /3Q+et2KzepX981mI7N2jdClqJgjlHapGoIQWZL3Jy7ocgCXDTYwGU2cFRF7kzkz h3FyYotm6bMi5F53GamkVbYZfogLo1MW7jmqIydJNdT1oseDbrwkjvXwdLQlTUlI SVJBIFlvc2hpcm8gPHNhbnBlaUBjYy5rZWlvLmFjLmpwPokAlQMFEDKUUFiK0xsZ ORxdaQEBjuIEALtVC6fjyDiRnZ3ReckdTO7k83VUTZiQH+2cMFNd8gi+O2sZ3YnW 6veQI45VB3oHD9kzMjol3B1ld7iKcQzHC6qUEviW+mTRRN2Y26DB704FNeUrqm1A LO8NPL6iNKFvUNsu3T0ZRY7oX9a9nMmcD7M2bm6jxrhckS8hY7x1D0xftCpNSUhJ UkEgWW9zaGlybyA8c2FucGVpQGVkdWMuY2Mua2Vpby5hYy5qcD6JAJUDBRAylFA5 itMbGTkcXWkBARgCA/0RBudh/8z/HWdX0GC0m3I0zIAOiGfmnJMPkzLryXuOQsbE dg28b193QnwTz6/ASF6PLJkivcd1vREXCz3C+jHz6OGs5jUKcSf5c0ZaIE4T21Hq LPKHSj0cYxgiC0auwY46m/yfO8I0bdiM6Ki3fSBTlTmDlNhWxOQ4Ic2RamKNNrQl TUlISVJBIFlvc2hpcm8gPHNhbnBlaUBzdC5rZWlvLmFjLmpwPokAlQMFEDKUTtSK 0xsZORxdaQEBjWYD/i3EOU8lEoje9jTBHfQaps9BQgviFSaHk0G41emKszLSLnGQ BeMGZTyWda6sTSqeLKg56HEmmVGzC/nHlhwspC6bdYaBmOpnSmmzxVstcYq8oiXI mlfFEcL5DJEau1VTBP56Fk4GCffaibCTRGYrQcJz4yLfATjYsni5Y8zXqhWItBdz YW5wZWlAU0VBUExFLklDQy5ORS5KUIkAlQMFEDrvMx2K0xsZORxdaQEBTgAD/jO7 tb78V3muNw+rfD8tA+yWXw8IdC4QHCa+Ga6Uwf9nw0WD+fuuz0I2La4iaC3FPtTs 1hz1QlmrztffL3tfsePDeN59nz89m+WPW/Cu+mLY2Eim2Hm6AWKVvtxtndunOSls xQLr0uhvNN5BOzEqv2V+l0MrwadPxUrHG0izqmGJ =cmvD -----END PGP PUBLIC KEY BLOCK-----
<rmh@FreeBSD.org>
pub 4096R/DEA2C38E 2009-08-14 Key fingerprint = A537 F029 AAAE 0E9C 39A7 C22C BB9D 98D9 DEA2 C38E uid Robert Millan <rmh@debian.org> uid Robert Millan <rmh@freebsd.org> uid Robert Millan <rmh@gnu.org> sub 4096R/65A0A9CE 2009-08-14 sub 4096R/41F37946 2009-08-14
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.10 (GNU/kFreeBSD) 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 =WNe8 -----END PGP PUBLIC KEY BLOCK-----
<stephen@FreeBSD.org>
pub 2048R/9A92D807 2011-06-14 Key fingerprint = 2B61 D82E 168E F08B 6E08 712E 2DF1 2BD1 9A92 D807 uid Stephen Montgomery-Smith <stephen@freebsd.org> sub 2048R/A4BA6560 2011-06-14
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE32uWIBCADUDbhOVgIwECdOVmR/GT/P3L2S9r/E079PRooPFPxLoqAxC+Me DoxyYoAR0RFWBs3Qcrf6bilhuovPdZOJ9+BgkGNp/Nu6QayC+4m2IvEZqFhV4Lqn 5Dk+qmHGbCaM4K8L+vebdzDf6CAdIWo/ufaxBW2OzsuTi43QjYTH1/bs4NhpJRc1 vLgXEgxE9JJ1TJVm+B0Oa7tnsr6VUZg5BszByFtSnnt0sV0pFaQ33/WSU6XdYUZ+ RT1nhxfJ/p5NiP6e9h+IqnGf9yz/DtXiW9sqs4bYHs3qjZUB6HhECsSZMyaei1eh lvzQR23irMXHYHLI0aJUuNoC3f0qDLjzqJTdABEBAAG0LlN0ZXBoZW4gTW9udGdv bWVyeS1TbWl0aCA8c3RlcGhlbkBmcmVlYnNkLm9yZz6JATgEEwECACIFAk32uWIC GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEC3xK9GaktgH4DcH/3NBVtRd HMfrieIAMyUYkjw0ddcAsBqakaDPDkNauv2+pAUDNhvJ4XUBPUxRm2OyLatHnHPe CPPTibNyb3OYgrbccBI1aMQPnKn5s03X0+5Y2Y/5qYzls6bA97MlJWNaWDl9rI7J hV7T6YPxzwkva7R8VRHdMoOY8qsErfA168Iy0pm3m28KBU+dnOHxcdA7GHqkggVm T+KpkuRnTv3Z1wrna4ejkbl+VEF2VXh6e1AOENSel7ujgWg3j2ZfOwy4wzBGxe4m h7GO/7AxvMfBqP10KXBOc6Vp6bw54O4n8CTX+CjGKP2ZvrwntOwvLThj4o1y2lyZ ojqcoYjGwIxx72e5AQ0ETfa5YgEIAJgDBvxMoNpKwuKJIbi85a97J8dHGr16XADU 3xBQe87nNAgOKj4/LYaO93syaFHoiP4KgU+A3l93tKXrd9vOpyBASID1VJehDPp0 3wHpQHGdVuleaobWJjSGJqCxT+fIa9s0vZgX4uGqa++neFKYTKsYC0T4ZglWsVfQ /ZFYLZekCjmW+GUR1k8pfR+n8YN1Tnc1kBN/iytQ7BZg01HA3376KyoKbQDR3XgO /fQPySu0JUJ67xNyxz0HsxPEvn3q4+34+SwNjh8pf/7dS9iyfr72juo/MqxU3sSa xz18l0RsvZk2YBpewnN7AFQf7fIXObFzr8RXpOGE7OVI6tAMvEEAEQEAAYkBHwQY AQIACQUCTfa5YgIbDAAKCRAt8SvRmpLYB7krB/48W8EaOYk8dWPMw4QF55ozMFD0 H4ooqQdRV+83ddWg3BNjX8w3aX6kxG4JZkrIesrl+ZLh6HCtinGehociZXNhxYMI P7FwGl+Q2i8YcMqHih3/7/Hfh9d7C7F9JWB2Y048tfs2jXwpnGY1NRngrnWE8mJ0 XWQ+5Fk51xR+0qdb62ly0PVv3zigypBLmkOFK6knmrZo2E1s+rAGyadcDZSrHodU tgvV8afN+V95Qp5vH2WGlK7wBPyteqXLrIO5JL+cTcKuZBAbpmUrxmHlUE3t2QTm BuJg0zCxtNGxMlx3WeX9LtWqsGx4VFOpfTwF+DC8w976faOY4QcGgD5WcV0y =DJbN -----END PGP PUBLIC KEY BLOCK-----
<marcel@FreeBSD.org>
pub 4096R/875AF2DF1FD2D8E3 2012-11-17 Key fingerprint = 745F 456E AE8D 07DB 07C0 998B 875A F2DF 1FD2 D8E3 uid Marcel Moolenaar <marcel@xcllnt.net> uid Marcel Moolenaar <marcel@FreeBSD.org> sub 4096R/8B35277B73BDD377 2012-11-17
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =peM/ -----END PGP PUBLIC KEY BLOCK-----
<kmoore@FreeBSD.org>
pub 1024D/6294612C 2009-05-26 Key fingerprint = 8B70 9876 346F 1F97 5687 6950 4C92 D789 6294 612C uid Kris Moore <kmoore@freebsd.org> sub 2048g/A7FFE8FB 2009-05-26
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEob9xURBACHaqCbAqwyIXO0HHHCAVYPqVkhhr2FIS+yTvVJnCQa6G1KIasT LKGK0Z/Ae+suMsQoT9e1Pw/zhErm++aRSYqdTzyuMUjEDXtgsfp27rdQZRNiWDwz 2/gd1nSEWYAKqUh5i0iJ89tkiL3JJx7/FD1+Nfp2sk318usUshT9/T+L6wCgmRvG A61Yo0rszOQexAwZ6PqE9fUD/3tGobQB17xQIca/AwUDyR2cw1lGs3S2ZN2G5xAT QL+h30wplhrrIO3lkyZQ7p71ZTPiAf5b5eTrXWrXVtO2Um3+wU04yhBVcmO9DeO/ F6SLVzJLCRyTSNUSZNmWrl1EOFWooNnfBI4Emjke46g89hIbhYlS+qRL+qN0ugpR SnfmA/9d/UiazKlhp3fX9EwYRQmOC4WXDxuWS91I7kH0xsbHR/BHFJbUHDr0shsB lNRmfxwaZjiC6oHsJE0Du6FcSncYSfAChLrt+fqGvNgXf4hDIjsUtu2d5sxgoarv EvaSwfh/gelNuTnsgQll26LaeYjgmJgwf4Hb7I62UkkPuU5LMrQfS3JpcyBNb29y ZSA8a21vb3JlQGZyZWVic2Qub3JnPohgBBMRAgAgBQJKG/cVAhsDBgsJCAcDAgQV AggDBBYCAwECHgECF4AACgkQTJLXiWKUYSypOQCcCQagomGK/P/P4OedoFUDw5ZY 2qIAnjRRTC0mRqUbIjaf/FWNuU2qtbiMuQINBEob9xUQCAD/zeiP1+Ru7ffCZwZo QTPjuYvm/PnAeeL2fBqN/Q367UuqR6RlqV03lo5nFxD1phheP0BmH6b0qyMh2dxi /6nq32g9b0Wb8s93pqYimxtujpNnWmZhwparaUm9tPyIGRdJ6wj8G43gOwyjDdwi GBPDAdSAqVZI0m+l59F5lsPiYJDGSkYENjLd6T7aAd0JzDjd0YLTx1+WLir6OrLG p1j81rBRCGRNipN7tGB0/pEB/mutU8GlDTTFaD1cWT4X3RGGP9MOH1UuS4wZXzJX 8duq+4fKlpKEPOyJ9R51D25a9V71Dybdx/5mo+Bsec8T5+N0f4hK6utrnJvSQTes vinLAAMGB/wNS78TRKqFdjz83F/LB42srwFqDCKz03Pns6Fzespha8zWKOTiNOk7 2WuXl6qWXhZ1aSithGzoWX3Xm6m0m3ZYk9wE+rDqT7Z3/T0tKiHmwG5z3QpuLOnp LGuBH/ra2gbyC+Ycj/faYXOz6Chf0e67bNRru9OGf289Q/EVcm39DinYBK1jrHcq xZ+b8jxtOWygo2D0SIS/hl4ljMDMaj/J8itwJXj0OyuoJ1IZkW32L4RN3jIXTUgn pGyhtw3wO4V5nhdj+YgvhP2VW1K2SVW1SqExlYdvB+HigKV5oHzTNluILcJgs4BY ntHqlJQ57QKxWImxvFZmS9MBaf69Tb68iEkEGBECAAkFAkob9xUCGwwACgkQTJLX iWKUYSziLQCeOWM0aLs+/NIGsNo/Lc2N4YTQ4pUAn0rL6J3fe3flPx5pBoj/SSto jjB9 =yaw0 -----END PGP PUBLIC KEY BLOCK-----
<marck@FreeBSD.org>
pub 4096R/0650BCC042473949 2013-11-25 [expires: 2016-11-24] Key fingerprint = 6BF3 EE15 5E2D 46F5 0B57 3A81 0650 BCC0 4247 3949 uid Dmitry Morozovsky <marck@rinet.ru> uid Dmitry Morozovsky <marck@FreeBSD.org> sub 4096R/948FF5948B7DAAA4 2013-11-25 [expires: 2016-11-24] sub 4096R/65AA79C860E297A8 2013-11-25 [expires: 2016-11-24] pub 1024D/85D450456B691B03 2001-07-20 Key fingerprint = 39AC E336 F03D C0F8 5305 B725 85D4 5045 6B69 1B03 uid Dmitry Morozovsky <marck@rinet.ru> uid Dmitry Morozovsky <marck@FreeBSD.org> sub 2048g/EC88D8AE44D656F8 2001-07-20
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Bo5yKzSSgAUpfzjAw5PKW481T6g= =/pEC -----END PGP PUBLIC KEY BLOCK-----
<mav@FreeBSD.org>
pub 2048R/8318C3955BAB227F 2014-07-02 [годен до: 2017-07-01] Отпечаток ключа = E98C F3C4 E69C C3CD 0E57 9D55 8318 C395 5BAB 227F uid Alexander Motin <mav@FreeBSD.org> uid Alexander Motin <mav@ixsystems.com> uid Alexander Motin <mav@mavhome.dp.ua> uid Alexander Motin <mavbsd@gmail.com> sub 2048R/0644E1A545DBCC15 2014-07-02 [годен до: 2017-07-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFOzxAwBCADkPrax0pI2W/ig0CK9nRJJwsHitAGEZ2HZiFEuti+6/4UVxj81 yr4ak/4g9bKUyC7rMEAp/ZHNhd+MFCPAAcHPvtovnfykqE/vuosCS3wlSLloix2i KVLks0CwbLHGAyne46lTQW74Xl/33c3W1Z6d8jD9gVFT/xaVzZ0U9xdzOmsYAZaA j4ki0tuxO9F7L+ct9grRe7iPg8t9hai7BL4ee3VRwk2JXnKb7UvBiVITKYWKz1jR vZIrjPokgEcCLOSlv7x/1kjuFnj3xWZU7HSFFT8J93epBbrSSCsYsppIk2fZH41k aaFXsMQfTPH8wkeM6qwrvOh4HiQM08R+9tThABEBAAG0I0FsZXhhbmRlciBNb3Rp biA8bWF2QGl4c3lzdGVtcy5jb20+iQE9BBMBCgAnBQJTs8mwAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEIMYw5VbqyJ/1YgH/A5uqC/GzWXzKKSv 53V2LbNlbHY83wZ9qmhNgnZsnh7wVFjYTTMj3ovLJPmm8NQ6y8KUs6EShr4cBEUA +eqHKZpMEV47E9Wgj7DUL4ZPkyBXr3Blnti0yyHcN/MzOoxsL5g+jjKXPjqZ7lXU eIgfmPtf3FEpmzJoFnEJ39YnOJqrn7uvtCPtX9hGJK+7X4Kd3d2M3MHGN1HdNWAM hgOS+2qTzRK/GI0feg+frFex+9du4glggTq6yR93sr2PXBSp7JJ1r56KEQDDIRCk 1MauAOIeESXkMYC+RT3q8mkXFzTM/40MJjOK0p75oNXpA86jPo++7dPndGCNFw6Y 8jw2uJS0IUFsZXhhbmRlciBNb3RpbiA8bWF2QEZyZWVCU0Qub3JnPokBQAQTAQoA KgIbAwUJBaOagAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAUCU7PUBQIZAQAKCRCD GMOVW6sif7UaB/4gc8kWJcZmuKGL5ZS3n80kUAFZcaKVeLjKgVwjBCP3KGiL/Zuo TF10EcOJPKfqQ5HThEmVFjZGuNXDubv8/wHYDAHfa7T6sb41eqgZ+QMWmYt8kBc+ cqEmoj6Nb7WxC6LduYwElmMHn3nQzRKqZoqIx9sOFIsEG+Ti3AdWIx+L+sOOSfiC fAp4uaG6Wihue9h6N5OIx53hUwZioWQudqacg/FYydAgzJ/ASVKXThJSfvvX/48O EARgTDJbi+kJeBIRpVO7ii8eEZGJGOZIDHW22rUDsPog0FKH4fAruWE+ELE8HWQO MhrqtljRvIA0LBohl0gdYFpH08X5BuLeuPA3tCNBbGV4YW5kZXIgTW90aW4gPG1h dkBtYXZob21lLmRwLnVhPokBPQQTAQoAJwUCU7PJWgIbAwUJBaOagAULCQgHAwUV CgkICwUWAwIBAAIeAQIXgAAKCRCDGMOVW6sif+RCCADP6DmzHPcYR6FNFLp8hEog vA1aAz68G0ieU34Gh5gUpjWbfXC2Nf5A9jH/mIpII02qLC+r7V3tXkxX5h2GBFaN DNCd5jhDo2t+d7oU0Jei4fUB/iHlyAWxocZ8znwqVLVZdXkYa07aOwwOXYLzaChG T/U1CWh/SNoyO5CQGkQNJsbPET9Hh2Z5hC7R8Ka7v5Jze9K9R195tjRMo814A8H4 Zn7ovHSupGnKdJ30yK+bQevV89v+iD9wHBulA6g+q41fXuR8yI5Nn57LVSk49VQo 1kBb/BOIX7SEv7JQvjuza1NqwaEQTyYJPq5807RY7r1ZcIA7LsdFO88AwMl8cjBp tCJBbGV4YW5kZXIgTW90aW4gPG1hdmJzZEBnbWFpbC5jb20+iQE9BBMBCgAnBQJT s8mLAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEIMYw5VbqyJ/ eFgH/R3NJ3ZU5/zEPYdUYy69ljJKP7kKfJkUyJckLK2D4B5Tjqnb88RBlDhYCRsk psJfezXC4GC4I2d31CbszZZaEkHeleLIdXExmEBK667/r9Wf8Wsh6rZGCky3eepi OrQLMkDGGCE6Ha9jF6Vt/5U/atHxC5ucGLej0m21OSjofP9qS3m1F5HjuDs/Jxtg odLwKWlXD3bPJl4hJQ7QJNu0eKdtXWObJ4lAOXOBwbq1IHu9caKYc+YpxzmwVn3C 2cZcrLCrlZUcLyCR4gYy+LSw5EvhyUI9Gr3xQU5W137G47zR/9GKcGXGVDZfFWMP 2HXqeM4s8jRA85X+ab8oC6tLODu5AQ0EU7PEDAEIAOZgWf2cJIu+58IzP2dkXE/u rj3tr4OqrB/yHGWUf71Lz6D0Fi6ZAXgDtmcFLGPfMyWuLAvSM+xmoguk7zC4hRBY vQycmIhuqBq1jO1Wp/Z+lpoPM/1cDYLn8FlvmI/c40MhUZh345DA4jYWWaZNjQHU WVQ1fPf595vdVVMPT/abE8E5DaF6fSkRmqFTmfYRkfbt3ytU8NdUapDcJVY7cEP2 nJBVNZPnOIObR/ZIgSxjjrG5o34yXoqeup8JvwEv+/NylzzuyXEZR1EdEIzQ/a1n h/0j4NXtzZEqKW4aTWlmSqb6wN8jh1OSOOqkYsfnE3nfxcZbxi4IRoNQYlm59R8A EQEAAYkBJQQYAQoADwUCU7PEDAIbDAUJBaOagAAKCRCDGMOVW6sif7FRB/4k9y/G aGqUfcJiXdQHRAKHCUvbKMFgeEDHOg33qx+POS2Ah85/PXVa2jYBldCZDmYc+zl4 8aEMd163a7s30gJaB7CYElwxlKUk6c+5gwoYIJuJJzSzW0JzSD5ch7RIRxbfxrKd siHrUW8AeduZWzlK6VaWRmWILgLmxfLdhEVFWxbr99GSeVFZaZwn6tl/8CvBcgYo ARvJvl0V5zS1akQfEISYkwL9EfUIW44EOHranL5qUXkedXBYp6fRsooGrIimfwYx aC8FbXhk3FMgMjDMRiVq4POHo1iGeYETsUrLNM6184E25gPVtX2fb3RhM8Xh6Bkw CZ6ZYbQ+AcD4F/cK =s7JZ -----END PGP PUBLIC KEY BLOCK-----
<lippe@FreeBSD.org>
pub 1024D/F2CF7DAE 2008-09-02 [expires: 2010-09-02] Key fingerprint = 0532 A900 286D DAFD 099D 394D 231B AF20 F2CF 7DAE uid Felippe de Meirelles Motta (FreeBSD Ports Committer) <lippe@FreeBSD.org> sub 2048g/38E8EEF3 2008-09-02 [expires: 2010-09-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEi8sBIRBADJt1SLW/mX5HmXKgbG72GXupRR8V+lDbtquXx6dJ+3E62S9xFx KehNrX8YcYnp+dcuHktXxQPJ/BAzOnvPdHKgzdXMARO5ApOfQ2VDgZgAcs0dVEnn LILvxiwQ7YlyJjOTJwbcHBpsTdolhNooi2FEE3N5ShSMRlPoH3GXF1qdnwCgqV/g IlQTCLudKrApFqNIbDCrPh8D/AmN2MdnlnIk6d7zUgLWuu3coohYIYOxaZ+ovKDb S8siSZ5uaEZOhWHVLVGYXTmzLrCK7TUBKdK1sW7YrYKQdPjhYnYXrwS4AaWupWwX K+fZWTaZsJiGLbOIrszAd2hRHUgQ5VeeoM0eD9eyAWHp5SVi9YcixMUNbn5ERPu4 ppK2A/sHynDjmkXHXzuNwN8dwcUjTMTVt9bxGrLVJHcJUsK527dv6/UG1CfZYnzT nca4GNO42/FBjQtyJaTQd76aJQ/PSU88MMGuMUh9LYl9rRdMQKn4FXm/6t7NZOqx qvXzEC8jFw1BOvxhmykSEZDlwZFwQngDre9Ux68Eu6Nut554yrRIRmVsaXBwZSBk ZSBNZWlyZWxsZXMgTW90dGEgKEZyZWVCU0QgUG9ydHMgQ29tbWl0dGVyKSA8bGlw cGVARnJlZUJTRC5vcmc+iGYEExECACYFAki8sBICGwMFCQPCZwAGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRAjG68g8s99rlhsAJwNTFc1W0eu3Em6+RjD9WZWtX/1 0QCfb2riDssKYX42D7HhVjDvTe1BtXq5Ag0ESLywEhAIAOQrj0PRt1WOC3Gh1njF KDacQl1aJ5f52yaz0FLpu7igTRS/8ET1+uHvIwzcSbbG/4xWqPwirMxpNZwpFMzX 9l8bURIX5szmJ+bEl4VH+La1p+w31YswBn0PDTSYtWhaIn1LMXED4e2Kg/wUCpLT M8htMa1pg0F2ZcmvbNZFuXMd3BBAkvWrRJTYuDXy8HHnbALjUd40laUDT3Wi6FRB W3HFj5lIiEjnJG52iTSxWVEkoChy7l/qDQ0zsguCCZZvLfdQz2DAFscjX/HltuUK s/gkzVR4jZDVMQPqCATuCvDYHrDWJnfU/R317Eg2kp2tJrNibrnFX+ciISSuq1+t UmMAAwUH/1XXvFtLACv8NFLVFVWM9wA70ZTLjZEEfewbWRYgT1yvOChn7H2ef3mn I7/WoLF3ntm8Qcw6TcSrzVbZjgdWpS65Wc5YZn1rMb6nP419kjDQPjvB8RUA1g9v 7LuOv8qeqqo1/mT6PIh8ZnhWR42ei8l3QcbyGJMQGPHyUZk84qbd1TI9gO5GjWHZ LIi80DPb0cpazMCIgYjrqZsOoq4XcYJZah85Eu9jdqbx8aDNnag4NeO+9jhy1msg xC7WuLYPctfFZ3q5ZwdvvtfluyeKjqY5mzkAuXKbtK66yMLugU4NnR1IeS7oI212 NF2FmCRAkCMB26n8sd7xavpd9uF+6ciITwQYEQIADwUCSLywEgIbDAUJA8JnAAAK CRAjG68g8s99rkWyAJ9b53BhFJ6+49cr0IIZLxVBGlWNnACfX4O3OOhx8kClRzsH 1wm6VFjn7qg= =q3W+ -----END PGP PUBLIC KEY BLOCK-----
<rich@FreeBSD.org>
pub 1024R/583443A9 1995-03-31 Rich Murphey <rich@lamprey.utmb.edu> Key fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1 FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP /2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw== =QoiM -----END PGP PUBLIC KEY BLOCK-----
<knu@FreeBSD.org>
pub 1024D/9FD9E1EE 2000-03-21 Akinori MUSHA <knu@and.or.jp> Key fingerprint = 081D 099C 1705 861D 4B70 B04A 920B EFC7 9FD9 E1EE uid Akinori MUSHA <knu@FreeBSD.org> uid Akinori MUSHA <knu@idaemons.org> uid Akinori MUSHA <knu@ruby-lang.org> sub 1024g/71BA9D45 2000-03-21
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDjXWqERBACDCxgN9+yMfpm3yvkYp+P4Uw6xxPdcZ9RvnTRkBX9zXaRgSPmM zeZ63LpB99uVphVZrv/EdlyTf+cRdz6VXXRcTBloA/FsyY86IluBnWCH054WyXzr 7az5WB9yDbPnlwcSL919bq0UqTuQUlQswdQAoDQG5LNNZNa0T01ydYtNlwCg3weS I/nEJrGCXGy2wrjg8LiwQ28D/Re2JHQPTYqDEZl6wj5U83wT55ChnTrjPRbGmr/C UdJP6CZQg6+DXYGYulcp3oL4btcdFDRFglJzmQNkUYmqiVC20SMVKUctrOCAI60P 7VE40UtXz9EounPSRQQ1lSdMNeRwrZ9o7IcrSj0EBw8lw3d2WxyM2Rs2crZWfOI2 mu8dA/9LbmAw5sLk5Lo5i41nAWP76pyuGxSia6zMRdML6ynoC5kmyrI9TwW5LNU/ Lsq1Ru2XSA+CwSBpTt0vdwS88dDwPGxRuUHhWVpa1M5t7K7uYODB1cD5AyNoNnR/ lHpxfPZOJNdA3OPgfssN9K+PIuhbBU5xONCoAcdC9TEqSezfUrQfQWtpbm9yaSBN VVNIQSA8a251QEZyZWVCU0Qub3JnPohWBBMRAgAWBQI411qhBAsKBAMDFQMCAxYC AQIXgAAKCRCSC+/Hn9nh7n1bAJ4vkEQX0JkcYgltt0Vv5qkS3bGqNgCguxfhuEzZ vBzpAW9/XdstjA/DSPS0HUFraW5vcmkgTVVTSEEgPGtudUBhbmQub3IuanA+iFYE ExECABYFAjnly3oECwoEAwMVAwIDFgIBAheAAAoJEJIL78ef2eHu7RoAoKn5Lw0y C+/lju5+pV0WI5dmxTzxAKDJRtsRSTBcJ7ohvzztxZqyjfSK+bQgQWtpbm9yaSBN VVNIQSA8a251QGlkYWVtb25zLm9yZz6IVgQTEQIAFgUCOZGiowQLCgQDAxUDAgMW AgECF4AACgkQkgvvx5/Z4e4t+ACgnr8RmYw81/oC7MKS2CSoFb9cg6sAnjKay6ho 14iMG+YcFNbjxwGvSE9EtCFBa2lub3JpIE1VU0hBIDxrbnVAcnVieS1sYW5nLm9y Zz6IVgQTEQIAFgUCOeXLZwQLCgQDAxUDAgMWAgECF4AACgkQkgvvx5/Z4e5+zQCf Z/09J5FOgAqw3UrTTAzR6QWicG0AoJdlBcdUltEO4WV+q3FRlw4RVnA8uQENBDjX WqwQBAC09OxAmKbGn9FETdMA/5abvOY7JgNcFhQutEVnJ90mF/npBucWkCRbOr83 t+NB0h5Te+lV/c+mjPyOemfWdAK4R9zQsat+ZqATv4Vgiy0UbJ/5TPfSraNK+QkX nxcDrhpcJXZhX6VYzbWdRSn8xSZzPT19qq0BFafz9UhZKXnLDwAEDQP/dpZe0jWw rED/Kbyr8CDoEKuun/5gPi5xmNz9iJlyvcsdOgok7yen0HHWgdaZAGX3GzjpB5gA aISX/kK66s+NeM1XQ7YXpcI8naf0jPa6N3SNWjLf3xPxLbMk0SyaGnrnSQNikk/H Bk2Nqyn0kcEaaBbdfrgkuuQWPnBDrq2EdOOIRgQYEQIABgUCONdarAAKCRCSC+/H n9nh7oxxAKC+gMyhZmSZdTvT3a2Y0RDOx5kRLACeP3JEvGZAZuo1sJeEw504+jr8 1Xo= =M+Al -----END PGP PUBLIC KEY BLOCK-----
<tmm@FreeBSD.org>
pub 1024D/419C776C 2000-11-28 Thomas Moestl <tmm@FreeBSD.org> Key fingerprint = 1C97 A604 2BD0 E492 51D0 9C0F 1FE6 4F1D 419C 776C uid Thomas Moestl <tmoestl@gmx.net> uid Thomas Moestl <t.moestl@tu-bs.de> sub 2048g/ECE63CE6 2000-11-28
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDoj/ekRBACnO84k2i5lLHZKscyV8tjQSkkr26hasdbc/uyV7HTiPhMUjEAz Pamk+bDmy/Ls8k0SJ1l0vILBBd31G5VYtKonIrgp4vZ9gV0fBdCyFDXb8bh11Pk3 pEZiG9vJevq40OPvsThLKHCLNhZ5zLPp6gd0IHwRJ0LU94pouFXd33MzrwCg4gTJ K00Dw0w1hFtUsq6WjNC+1B8D/2WiEuzBMnO6gz0p/eJ1eZ7mvrBXLQZ0u5vJ3eg2 CCPrtS1ZITq3ICPDN6biEiMgtRmlYn/VYvDQqxwNE0X2yMfB/9sdah45zma9EeVn Iy8meaCFDLhm4aIYc1foUuz3WbCNlJFY5xYPXCMXLkC65xdybHKng5TXh6NOOWf3 PfCWBACPMotTRKttAuw5YcZE5VDrSXPYHu/jm2CpIVmrac7+kDj9pGH9sB7BdUxw vczqtAT0jk7MrT+u3FH9wBtEFTXl7ksGTmDOFWJgYn3ZOEaVaX/OqD89UNhrOA2v ZOaaoKMYxK/pszPdr1Ghd6BQCmYKtLBlFYiTDRM5UMVHTqN7VrQfVGhvbWFzIE1v ZXN0bCA8dG1vZXN0bEBnbXgubmV0PohXBBMRAgAXBQI6I/3pBQsHCgMEAxUDAgMW AgECF4AACgkQH+ZPHUGcd2xMLwCfdEkPZVBgEmYnlyOKfyTSslMhud0AoKDKZNXA huNslb4KF8yKWBNRwfPStCFUaG9tYXMgTW9lc3RsIDx0Lm1vZXN0bEB0dS1icy5k ZT6IVwQTEQIAFwUCOo01FgULBwoDBAMVAwIDFgIBAheAAAoJEB/mTx1BnHdsOfMA n1xd4f7iAe6id42DLg4W3fibsCwsAJ0cT2lf08RhHkT+zLVoubyIDoY6ILQfVGhv bWFzIE1vZXN0bCA8dG1tQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI6pO9pBQsHCgME AxUDAgMWAgECF4AACgkQH+ZPHUGcd2z+7gCdF5fq/lebn3/gp40O8xP/J0XFbiIA oKJP186L04qpSNamc/qG3gs7h3DGuQINBDoj/wkQCACl8M8ObSTJaOY4SgoQkKgB CkJJP5ScUpfYV9w3dxKL/77cyfghfYsnAWuA9yXJcjA0F+u+jRf8gS7OaHD9H9Mm pMGq54Aa0KUQaDbL/Jzf5zrKS/RASHzl1vYXuZB1OIzPfeAIx9u3UaziVEGXJha3 1KgTur+TU+F94ZFTi8uApq2VoNT6sFi/V2x79bxlLFr9M9yD/0+kMZKovWRODy6T gWJzzcdd//dkvKp22tNf6C2wq8Bu60cWR81+awgG2otgZjCPUs2Bwhqa5opeUqGn J+f+PXo6+m2UF21m1vLARENuumu6SXf3XqGIUiQbT6jCdJORzwaxeCiMfu0qNnUX AAQLB/9u9gZN0N0r21ZjM6ZRmDC/REouCdYHEj49+f9g/xLXCfacpWVcrK9lIrcg hxRE2mQ/nlQLeHroC3Dp1AfThKSPFX3PRD/9CcRu480imT84ljf+6vonAZ20Edm5 vVO+UoJMZQ2G+rWRRf4bDfwFoyDw3DsNmUL4yH8m2RpTxXn0pQtD2riJD8CBCXEP K95TYT4MomJ7Szg7O5/QLngfw0q6QdKRm1vEIP7r6t+UbVNp9+5g9qvz4aqm3beY pw1QCDHcqpDITnlTxTdV2SgNpF8JPg7joaOa36AxWwRzfLFyzyw/JGQE8RwJa8BN iTu0IrKuiF1biRxqiYO887GBA/8QiEYEGBECAAYFAjoj/wkACgkQH+ZPHUGcd2xN TACgkS0AGqqd2nLtWhpbE72tD660tv8AoI24cRkUa2op32mti5zfLLMsM4AZ =76WN -----END PGP PUBLIC KEY BLOCK-----
<max@FreeBSD.org>
pub 1024D/CE356B59 2000-02-19 Masafumi NAKANE <max@wide.ad.jp> Key fingerprint = EB40 BCAB 4CE5 0764 9942 378C 9596 159E CE35 6B59 uid Masafumi NAKANE <max@FreeBSD.org> uid Masafumi NAKANE <max@accessibility.org> uid Masafumi NAKANE <kd5pdi@qsl.net> sub 1024g/FA9BD48B 2000-02-19
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.2 (FreeBSD) mQGiBDiuMYURBACEgL3d4mL0pojugj8TZFEQef+MKkXB3lazrqV2ahgWqt6K24qr 5fZrGkI8vxmYR4VkI1eLfe0Q4LoBZifL5nJYEvMvWPmdLuYjp4iwjgBdzLnwr59+ k8+T/fohGDOqx45voCdq68Jmxg283zFGQ4FChMP3ZMlOPmFRIp01C84xxwCguNFG BVPeuM0y7JH0ucRygUqc4acD/jfe/UEjGBWxOCfZYOnXEp4NXWis3xRyUDO3cuoG 8M8MEmg0dX0onFuNU5yrEBFtzPw2GO6DMM8h5hJXdSWkiyusn05PGk/jVSP9/MD5 TYyqKL1tG/fKUgtevZSi7o1x/N0bgIBqmzd30Cqx29p7juVV+SBcKCRT1qloz6fc a5B6A/wJD5n3HOAStsWpZ6To/Apdb4A3PD4+ePfQxSICsHCFg/M04FkrG48So2qc 7dSq6UH3xLsoiRIUonwCQsT+PaQQMrZNKjfal9xlEFfw1TV/squ+oNE8E24Lkzxt 8Kkn86Ec5uiUlRulSMG9HJuWM+9Qu7TF76FWP8llVp6ELkYCGrQhTWFzYWZ1bWkg TkFLQU5FIDxtYXhARnJlZUJTRC5vcmc+iFcEExECABcFAjv4RDQFCwcKAwQDFQMC AxYCAQIXgAAKCRCVlhWezjVrWUEIAKCgwVSawCg1Lzrbf8uZdMAfeOWFXQCcD7EF tsdhbEV62AOUeQQWPr9de1O0J01hc2FmdW1pIE5BS0FORSA8bWF4QGFjY2Vzc2li aWxpdHkub3JnPohXBBMRAgAXBQI7+ERfBQsHCgMEAxUDAgMWAgECF4AACgkQlZYV ns41a1lUuwCgsIhWJdtPBebkV6w+NQ/8jlkJgrwAnj9lZkiTAgl1E/vcF7yPbY7f HlHetCBNYXNhZnVtaSBOQUtBTkUgPGtkNXBkaUBxc2wubmV0PohXBBMRAgAXBQI7 +ESBBQsHCgMEAxUDAgMWAgECF4AACgkQlZYVns41a1nv1ACggYgtKhaprmMs30oz yoC0NatFJ44AoI0XSPh2G9zHEjF8AyYAe6sVCLqvtCBNYXNhZnVtaSBOQUtBTkUg PG1heEB3aWRlLmFkLmpwPohXBBMRAgAXBQI7+EljBQsHCgMEAxUDAgMWAgECF4AA CgkQlZYVns41a1lYRwCcC8l4PdrwHKNrZlTW6vod6kYgR3YAni8iLUZW5Se6nTH9 WuN0XYPpZRG5uQENBDiuMdYQBADVzBBn5+1UQVCLS51y6eCD3TidT/uJAr+eeiWZ IbTmXrltNm5rGs7OT9QYNLhCFFPYKJxa9hFbrGpgserEFnqBfxcbMLa/wyIm9m/l MI+NNCAU4IpgDWtgjf1kjzwnJPwH69YzcqS2jlEKIjkCrEa/Bpr1Nvo4aLvqlTR8 tJh+1wAECwP/YBMEMx/zgTvS3Jtji6nPceRe8icGRHb4SD7MVF/WxYu5VK7wlmuw 9I9WXnHyYaL4c6Q49FAvwhkppByqJFL0txyJ8+nNa6H5mit8m6dcsCMG3NzyvxBP 082h/MWbJn3Xdg89lp4UG3UP8sV1oWyIchd8rqxFk/EVB7fVQWNz/gKIRgQYEQIA BgUCOK4x1gAKCRCVlhWezjVrWUlcAJ467I5lFNlkwcENe5vND+DPaWyreQCfddOu 6Va2/bf7Ln4TKyl17uRro7Y= =VmY5 -----END PGP PUBLIC KEY BLOCK-----
<maho@FreeBSD.org>
pub 1024D/F28B4069 2009-02-09 Key fingerprint = 3FE4 99A9 6F41 8161 4F5F 240C 8615 A60C F28B 4069 uid Maho NAKATA (NAKATA's FreeBSD.org alias) <maho@FreeBSD.org> sub 2048g/6B49098E 2009-02-09
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEmPtPkRBADEcSQQGME+Df6I9jnjUBNMxvX8aMAH0+SKJEn0xTZvu9WLQmJv Bx1Hh6AN8fD7OONFBYGsDAxbbgFnwxc/KPBctXHUxoTE3lRTFRwYJJKIKvrDhFjr qDWwLJ9TsUn/pDsBflPFe57okBlPgSywTLGLuurOaT7oda6Z2K0FOiALVwCgn/b2 7R19gm0uKjzsEPejafW6lZMD+wQK4qETffrdqRoVRnzzpTa+xa60kQxxsIeibffy dovqH7HIWeqiqDwls17zmbMc7auNliyN7VJ1bQ2C5SkojMUqgEsVle/8gfe0cWhS 2jJ8A3Xg+/IzYwj+TtlWqUkzx/b1Ck8v/9aRmLtTNo9OdC8H9Nu1onF3Cp0WqsiN gwNHA/4+8w5D5gouNWfuYkkzoQQ2jIFJ4zhe0GCb2MIrqKrf0N40NOcYFLi4eJ8F W1DAdQbQjfMMlYAknm7MBpnsagTqjS9MniPVygYUUre/xMx0tszvWdGdRSjEY/5U AXoCevBci0meKTm5ZSDb2RPOLezF/zOV82IY3T+OKXTHcLSeubQ7TWFobyBOQUtB VEEgKE5BS0FUQSdzIEZyZWVCU0Qub3JnIGFsaWFzKSA8bWFob0BGcmVlQlNELm9y Zz6IYAQTEQIAIAUCSY+0+QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIYV pgzyi0Bpf4UAnjOqrSHlb4NdW+ulVFu3o8W1hbTKAJwIdn91S2W9V3ueKsbFqq62 8dPYsbkCDQRJj7T5EAgAuaHr5IuEXaxoUcoZryGZweRs+G2Oh+jsMIvMABVGMZJ1 iov7vSypm1EF6/cO3O+rn+Zcpuf4XKPP3TK1oKWLIYRgdkvTWwzVc/PGWRHdr6/S fo1B8/jr9tWW50p+s+KZoMPV/Rdz84AN8bNZVAMxNWXooYrGMxMvEDg3rX8KZW57 25KF+GlYYBoIXxatMYGlZKz2lcaeD7Mf9EFs9jtpyZ2lhlXjWu3NZBdf4ClzWt/C uQI2mM2oEX6oZEDCgWvGoIPKzMruI/lAPi8I4Q9A3fH7azEz/BHW6yqLcXfmUrMe jsGTS/ovpV/dyxqNzsVpt203ZBxSSkSjOOMO4OzBOwADBQf+LVc888G6GxeCJGxp X+uACx6ziuaGO2AIvfUWN2KlDEpiCHwKf1L4FBE6mKm2l9ZloNyisnL8nvC/lmes whiTQkiVgB014EDhR7IoljZQJwpJqWC6HCwED08In2O/fI4JX3XiPbUzYSmQSpd0 tMMBVBwkB3m8SnTaF7cnYrZVGL2oCrBxfbYYhxDtxmGnD3q1/me7dixUJLbEHSmj wXvORtzMuADmNuz3RkkEKrtHXgqtqYluZwb3VNlRa9T/MxMYMfMA9V8IYw4gQkM0 xEM4UOUuweNyXRUSyuvcLQJthhWiw+Yfi9ATzdbnbwh1rwwVOoIhcM4QHBgPhnir vrn/k4hJBBgRAgAJBQJJj7T5AhsMAAoJEIYVpgzyi0BpqXQAnjkUgOmypg8bF5kd ZDVC/M0s8sUfAJwIJuJHTepRSP6qVkZKiXF5TRMt2A== =Rtch -----END PGP PUBLIC KEY BLOCK-----
<yoichi@FreeBSD.org>
pub 1024D/E0788E46 2000-12-28 Yoichi NAKAYAMA <yoichi@assist.media.nagoya-u.ac.jp> Key fingerprint = 1550 2662 46B3 096C 0460 BC03 800D 0C8A E078 8E46 uid Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp> uid Yoichi NAKAYAMA <yoichi@FreeBSD.org> sub 1024g/B987A394 2000-12-28
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: KUHASIKU WA http://www.gnupg.org/ WO GORANKUDASAI mQGiBDpK8uIRBACY5SwFQXiqzDlO1k/syoFoiFIFl/Dp+QmwK2oovIvlBVo/1gbx EhXrKRrfC67KSxxdUsgN290v/VVTmq8Opy1/RF+RAdxM3JrUfkcm5+IBWbSUfXFP i8OXBVgh7wNENVtwwD52F+0CFIWZXkClaif4DGkf38V6LJ6hBIycxuNDQwCggXTT Kj5SP2hFC0ueyQtPDoJEgbED/0bPL9R08io82IQqksOR9IUy0OdFJkLVWLnollEY LGjXa/AHgE8L8oWU/2eF1WM4JrtVRdcKe0Ja2e9LuH6IonGAdwqUeeAOwA/RdGj3 63EglH5ugv4rZZKWZ3/piuNXvtq0bhAfl6zBHi5iUB4bgPVoVJGn3VyykPWxdqfX sT5+A/wIml11cFMogN3RXy/2Y3JRWeBtUCfdoRjeQPgK8++krm2Pr/AtHgcqNSjI W0slX4cLou2TEhV3BHb/4npsdaY0BzYgL7V1YggCv0Pu1s2D53Nzi30V66SRP0BZ OlNTA88WdMfoF3ttb04swSenG9X8dbpyYEdlvxNbbKKbUiBORbQxWW9pY2hpIE5B S0FZQU1BIDx5b2ljaGlAZWtlbi5waHlzLm5hZ295YS11LmFjLmpwPohXBBMRAgAX BQI6SvLiBQsHCgMEAxUDAgMWAgECF4AACgkQgA0MiuB4jkZz3wCeIi857V2zyRA7 gRVsx+DcoCLeC3YAn2G3gFd+v14iZHXrPaqpd1gSjjayiEYEEhECAAYFAj2pty0A CgkQFwU5DuZsm7CchQCfdD/itI8d/uhmH9A0upJYYoYS46YAoOAfpFKvAGe/vBpw dy40SxBG/qELtCRZb2ljaGkgTkFLQVlBTUEgPHlvaWNoaUBGcmVlQlNELm9yZz6I VwQTEQIAFwUCPai4HwULBwoDBAMVAwIDFgIBAheAAAoJEIANDIrgeI5GKx0An1kh KzDAfR7Fzba/V7DHq2BRLcRQAJ9nZFgBncerxFMYAanwJruIYtPnJYhGBBIRAgAG BQI9qbcxAAoJEBcFOQ7mbJuwe4kAn1E2VVFpLajGFYgipCmMgpxRXPmxAKCUa/ee BEW5LPNf8xhaeIGlAtPZm7Q0WW9pY2hpIE5BS0FZQU1BIDx5b2ljaGlAYXNzaXN0 Lm1lZGlhLm5hZ295YS11LmFjLmpwPohXBBMRAgAXBQI9qLhMBQsHCgMEAxUDAgMW AgECF4AACgkQgA0MiuB4jkYrnQCfUgkHO/ioUTHeBtYJHGeL9qthlnMAnikYzk6K gDV8cHI/ETcNoh542Q6piEYEEhECAAYFAj2ptzEACgkQFwU5DuZsm7A/JgCgvX8u hjU7WPofTfM2d11+j+ywHm4AnRS8iRNMqbP9+crcNzCRSQ7OZFqluQENBDpK8vEQ BAClmz0m/wuG01nst/7X+riyNgZ3j3oRurb9Fg2pb7wkci6nlhzCHTcFNCZiY1nS Vp+/3tRkC7HQPz3zhYo3ieCf12NUweJ8jhbZubp1fYY9ubKoj12I+LXTfZf3kA5G UD/n1nkAqxH2yP3eVz1BpKUc+Lz+5USiDo+XfrvfxQcZHwADBQP9GejakrIdVKcA /4UTWnMh8HK2b7tDLwLKyJg/8lagBkIAH5tPpCXi1qXuvHe+T9SjbdwW/lyxSARV FAz1ejp4QEWsAGQ/pchjb+S+iYvNq0VfzkZPqFFllLMaQc9mo6blgGgSEqLNpba6 gDmVTJZ5jAhVxFBhRPwchSdPP3ewVRWIRgQYEQIABgUCOkry8QAKCRCADQyK4HiO RpwtAJ0alZHYWdBCXaPF9G9HCl/T40wzJQCdF5K4aEEsIG1P0WmNjbY4PEAVndc= =NZ/b -----END PGP PUBLIC KEY BLOCK-----
<trasz@FreeBSD.org>
pub 1024D/8E53F00E 2007-04-13 Key fingerprint = DD8F 91B0 12D9 6237 42D9 DBE1 AFC8 CDE9 8E53 F00E uid Edward Tomasz Napierala <trasz@FreeBSD.org> sub 2048g/7C1F5D67 2007-04-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEYfTV8RBADcVRh6fWX1XI43cTrdJBctCOxf9jZ6eedmhajkpMRhg7b0JPPL cYL6H1x1xqKbXtKxWE+BzQfdDJNJhwjQIwaXityWHihnkw5XBCRMuCGrUuaW/pPQ 31EX1Am9d8k+ckUK8tPMNuWM8+ZYjXTJppLg20pIPBRwvmRR/hrHDhMvbwCglDGC ZfTHYkv36MFnkPHJH4iaQIkEAKoy+bcyOiJK0iuAx5KeF3CxP53Nd4sbsHKcbibP OsWJKKUHPlVTts6bUvM6RH+zUHOeWpXmgNvZTsvmoLU/E0I80BN5ngdOwV7oqeAk V03iltsBGIeBv5B0xxYDyQBuo52LV5CGZ7F65o1jGF8LWfZbtPh02gTmhYymmLeV QryDA/0WbmKavL5Dh7L4Ugz1JVIC6miD399IsLV+XewJjcaXnnngIplz0ZjK9hHx kuG4w3pi450z6gMTmpY1IPC7R158j/fLhygYLhB0sffXaGs50nizBlBoZNR/RZRJ 7Ik1Q1E4dV5kVhgqBs6qPCfAdVMKGTWpM3xF2uyFT5xbuVPxIbQrRWR3YXJkIFRv bWFzeiBOYXBpZXJhbGEgPHRyYXN6QEZyZWVCU0Qub3JnPohgBBMRAgAgBQJGH01f AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQr8jN6Y5T8A7L7wCfa7dxDhHm WYOcaZ3PiBCxbMyMeW4An2regIquPmK4ZyrJkfXGd7BmmgGKuQINBEYfTV8QCACv /cPnRLjvnYJdozvbzoBqC4m2sAmBClDV9cRtIGXu//ULZ0CnDmEByfp7W2Aqlm4a +WnDBlbKaP4td0uwvly3m2hNH3DS/7/aBaDYhPUeetmIP3GZrelGlQHqe1ldJuwD KEiR0ANagAikuSiO8Fv76YY2dFmUSWh6mNd6+/F6hYahByJbDXrsYNSMI7BtpH/C fPaSew66982uu86IGIZPREfKSYouLuuHPUwrGRbcwyeIL5y/0i6Eyxi3JuPHCYSa a0jX5VQ8Gn3P3SukTdK+rWaJQMlzjbdaZknB/GeRDEc6ND3eqdmQa/PdnkGVwHeI S17IutKHDCsxDqSJgak7AAMGCACJtwmr70SqnOxtHugDB0G4tAEN+poeol9zfEnE A1nZImvDNLUoX11YZRLHCc9nz2V7HIzTacNL8ue5DenmtSs72S3zHM/DnIhXjx8r hBFrSW/DdJB80LLcC/NhRcl3U6sof4nzYuipkgr7evAeoZqWpHiYcuag0ZRRH5Jv 4Yh3R8zFYAg2NSKs2Q3CCX4c0vs1boZ1f2x4QQhxTpsDkjJxGPJ8OEAR7W5BjDOY KZBL9+02bzJKnOcbrtRkbylGZAQCxX9DoZDGHSCqaUBZMJZzWauW6xcwd4s91pMQ MVG1u5WHvZlOEo1Cg3Y9QSyehMKkcLwyuBj2zP+ijlkIBuFhiEkEGBECAAkFAkYf TV8CGwwACgkQr8jN6Y5T8A6VnwCfZdSh5TaDbb0wjcyUkVYAWZIo4n0AoJOfSvnF MeOHsJ51PEblZGwvjW0k =hc/r -----END PGP PUBLIC KEY BLOCK-----
<neel@FreeBSD.org>
pub 2048R/8E023181B17DA72B 2014-09-25 [expires: 2017-09-24] Key fingerprint = 1251 B214 E559 D763 A12C 96F4 8E02 3181 B17D A72B uid Neel Natu <neel@freebsd.org> sub 2048R/1F906913DB152E10 2014-09-25 [expires: 2017-09-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFQjZ78BCACziBSlqhqftNyHaiAfMNX6WtZXLaBcvlqj8CW6EXynIEPsZttG E/nMuqsF10lUteNwvToRLA7Yf309INW9IG6m5IGmHh46KVWD61dxwEKELg549Uuk 4eacgJslT9kzYptd0jgm4BYhBxnkZ9iyYSFyQZyLoD2RyxqI7BdcWo/wqn00YCBC th4pRJYfasWsMEBWuHRyNMpTLeQC+4H1aRswZDlUBuRKTx4DHDFYARIpyaM8keOQ yFE8oDr8pI+SAVeqSjXzdVD+kGWXCINcKCVat4huD5PYL16KEkgjsoYDEo59Cco8 qloJGEgM4IXXNu8w1jK4H1ePRjo1fZuln9D7ABEBAAG0HE5lZWwgTmF0dSA8bmVl bEBmcmVlYnNkLm9yZz6JAT0EEwEKACcFAlQjZ78CGwMFCQWjmoAFCwkIBwMFFQoJ CAsFFgMCAQACHgECF4AACgkQjgIxgbF9pysILQf9F5FNI3rRX8Wc9Snn/7LGcUd6 7AMm3J5srMPtbndC5s3JWAipRViNyhxdjAIel6NbE5fFa+MZtjPWVYFF6QULTMAJ yNhD/P/uMDApFNg2+q06s2aMrmqEn0e8ImYf+HV1aQvSwS5FcTkZdVaTZRSGGHMq 5qjt2RmZkGEcMZZlDoPN2hiD2G9yoFdNtVcEXTHvn9NerhJkX20KAwc+Pzs73Jur FpyrGbc6wF9w4+CNrD2+YvOlYb/Z/MxWmg595Nr4do+ffCl/U3E5s5PjlnvjwzVp DLaqPK4aI9rgEr6f1lan72TymZXX+k3FyIE5Omt9UOwP9QMFTuz0VZS+vLmFJbkB DQRUI2e/AQgA+NNryMwrm8Lkl6OVTUqWyL3DQ9weZGwEUBDNa2Tte+BvcZtD4vCe q5SyMT3lUSl85Pi6J4Ng7xcGHHabVrHaOoKCVqroRdyqBxg8LtDM4+5r/Rwn3V9f x+Uy2YZT84lSzWt1HMhcCFkNQfOUWHutHJ0wT3KmY96FA3oF+ucTJlnxCI1yXJ9q 6OhlDsGg0OzAnW9yOch2wqtDErOUrbduWvGaXpurEOjXYewY0IHmzF5MQz51/QUp 7AEidu8a/RcPYUzODd9MJ4xW8/8vw5ANloetAV+zeynSvBuUxhsi4cfp7PurrYlo cYd5PYgmtAXee/YlAFdb+z1mpvJe04TFSwARAQABiQElBBgBCgAPBQJUI2e/AhsM BQkFo5qAAAoJEI4CMYGxfacr57cH/REzsfzD+5xSKzLCQ0lba8b0RMpobgzNuExd l7GHdrDOYQXdESWpW3MWwYLabawcqB76IyQxkFK53xQWvpiogb9+5NMDgKAadZiL /qrdNVHVIxANJQ0LyxkRs9LiHM2F+C5uid6xHhqvn/dGDT0I8Ngp544dNAdqf4dR WGeslzATL5Co4qJlWKVaF5KPTmLur17jD9jik77Rfb4ZCLYy3SuAIqwVt5EXp/NZ QM/etaZsvYWyhznTGt2F6K3vFkkvjrVv0SMW9BtsAfLYCCta3QgHhd1ueSF5Yqyy NtQbkNuN16pXBWdWTaeY+3xtni0Q4LWvIp58rUanM56aQ/7F1es= =eege -----END PGP PUBLIC KEY BLOCK-----
<dbn@FreeBSD.org>
pub rsa4096/35C84A0DEC1D97CD 2014-03-06 [expires: 2019-03-05] Key fingerprint = A372 D3E1 D587 2D99 A5FF F243 35C8 4A0D EC1D 97CD uid David Naylor (FreeBSD) <dbn@FreeBSD.org> uid David Naylor (Private) <naylor.b.david@gmail.com> sub rsa4096/AD63FA8DD6B2DA55 2014-03-06 [expires: 2016-03-07] Key fingerprint = 948E C511 A27F 0302 E799 B53A AD63 FA8D D6B2 DA55 sub rsa4096/88D62359F19D95D0 2014-03-06 [expires: 2016-03-07] Key fingerprint = A198 8E3A 1A14 66C7 ADE2 13F2 88D6 2359 F19D 95D0
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 iBaYIKcXOBGAjlKX =iDzQ -----END PGP PUBLIC KEY BLOCK-----
<bland@FreeBSD.org>
pub 1024D/D004116C 2003-08-14 Alexander Nedotsukov <bland@FreeBSD.org> Key fingerprint = 35E2 5020 55FC 2071 4ADD 1A4A 86B6 8A5D D004 116C sub 1024g/1CCA8D46 2003-08-14
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD87tOARBACkfv0/19ar/kUNsj2vL+APjo/cx0A0bubEmaPhwNuLOjtafdNm /pUULYi28lDVDxQJ8UM1voqrCcue+finCyy+k2L0nR37tlUA4t/+GH4gq4y2xL7S o/D5DqHDA0cTDAIQCbdD/rj3Z7nJw2Vkn3tAwZ6NUXV7OdLS+csbpJIjmwCg0HB1 tzahpgegUe5XauCly+NXNMMD/3UcnNA7kBKSZMcuOVq7TkqYYvQZPoroK3yYcAZL Yo4WoPEyjtlD/ZpZVysQiSMxLXRHjsEbMAMZL7Tx/Sav01XUiBHBGDHXaWWVdqmg efxtBeoG7MZxAAXBLfcSeV0bjkd9oGWW/inHrl0NgEljZQqo1kbIEb5asooyT18v vZgjA/9l8xZdOlSJv7Ct+VGrfMStMmpBCn7IRSjeJRq2pNe0pbJtzXAnAwyrB62X gF6n7ONKdLk/WPihRdfrc4BZnNIWZU0q5P11rOENQEnToprAOYebhmS6cY0lx0SR M00HVTTgzsNVWDy9h+uOobicBSHPh2La7KGnFRtMb6pZFg5Y2LQoQWxleGFuZGVy IE5lZG90c3Vrb3YgPGJsYW5kQEZyZWVCU0Qub3JnPohbBBMRAgAbBQI/O7TgBgsJ CAcDAgMVAgMDFgIBAh4BAheAAAoJEIa2il3QBBFsAUoAoIGf7gn1DPL+Miw3/2W1 YdJPT3TjAJ9LOVjgV1mZks+FjRdl1IETcJ4fPLkBDQQ/O7TjEAQA9yIaEvU/Vbj0 L1xFjIOGEyM5vFvn5xP2LibOI7hUH+cMDaWkBgrSLqsI7k6P3HSTVWpkKUTl+vJe OJnIx1gFE/WJDPK5trnjzHQI9kWf6j8EREXCFuuvDy3QhuJiHTjB+I8IVYh+oiXl 6SNo0ekvQd6KZlkPUXy8rczb8Y+A7GsAAwUD/iPYrIWC4xSX8kL6HFjaE2fS42EW iyfyb7slFSE2xtRf+xZyBa2Mu5XQsg+vJcSBsjrxpYdd+OuyTLuYRsYvuLZnB65H tTli1/ous2J56useJyeik9wJfFyZBlOtmw1QFLxELly+XgKiyGRNkTrws+smyFjC GWwhlhc40r824oWPiEYEGBECAAYFAj87tOMACgkQhraKXdAEEWySXACgwFVr9ZgH TYnmgWGXAmQWvJV+xAQAn2HlGDmOpuTDzfO5PvXOOWnFjvIt =bcPN -----END PGP PUBLIC KEY BLOCK-----
<gnn@FreeBSD.org>
pub 1024D/440A33D2 2002-09-17 Key fingerprint = AF66 410F CC8D 1FC9 17DB 6225 61D8 76C1 440A 33D2 uid George V. Neville-Neil <gnn@freebsd.org> uid George V. Neville-Neil <gnn@neville-neil.com> sub 2048g/95A74F6E 2002-09-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD2Gwe4RBACw78PVfE2fA9U0mISJrV1ohjdkzVTly0WQ/YwMgyB/J/Z/M35G zIc8yKi8YR/6QYGqgEzeKAhrUIDyBfudhaJ527gyR3Xi+QHgWMQDvd41NlqM5DBn yIVKj10DmDYjcHm29M1OHAkXKZT6tHCqp1dKFD7EXtY1bOakvN7TIKld7wCg6AS/ iPmIvGE7wpFlcFkYIjjL4ksD/iKpKneEwB7dEksyDQX8l18v58x0lH334WDgRO5a X3Wlc4He8b3kWzBWK0z81XE8Z7ip0Io13LHhamLp1P1eDX4sWKQpJmdRtHziC9R6 4GwW9P7aCUCCf91XxaYEU2j755u1Zby3gF1tbookwO1iXQERYuo3ZHezH1bkdRk2 HNecA/9+HCfVESjRFPfOEVqljx+Lm5atTx5VX/D/6iprDUARn0YgW5xrwM8doeNI UxkBOUszEUPDpXPnMI5RWB+0siQhZl3yX+lUPtASrEj84rpOSXZtNPAkHit/iwva pW75gZjt9yN7IhVQVw8O2OMTRGNoWsshzKzznqxNP3p1JYYq/rQtR2VvcmdlIFYu IE5ldmlsbGUtTmVpbCA8Z25uQG5ldmlsbGUtbmVpbC5jb20+iFkEExECABkFAj2G we4ECwcDAgMVAgMDFgIBAh4BAheAAAoJEGHYdsFECjPS6hUAni/U8Zbrr+TFHLt3 cLg0VWnWxCI/AKCNqxRmA/HlZLPRzhVCQODgfbOG4LQoR2VvcmdlIFYuIE5ldmls bGUtTmVpbCA8Z25uQGZyZWVic2Qub3JnPohgBBMRAgAgBQJDtkW7AhsjBgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQYdh2wUQKM9LtQACfTi75crWjtxxVJUmGSn2+ CDnlCesAnRqM+XSv9/KnZ3O/GRtpkNwT9NCJuQINBD2GwgUQCACvJfoCKfRo3y1J kaisLLtSVsqCeF1mlwfBGyvD0Lu0VnDGuy9aHExafNEbUaW+OQe0YXtZeX70CUPF nizBcDEsHEj1pC9HoZCSoYXtqORBa3ZIUwz+jJbjHJErs7XM/EshhAollC14rXKt K7+UVCw5JkCmialF7LAyWgqeBilwtKUBpIaXquf0/qws+uOikcZb3UttamQFUW0Y l4KKHP24cvCOXSlx8Kl9l2rQzfedjQPXI98zkcR3SEjZ07cDs+mQOTax2OgVS3F2 nDUEqLQmAiftHFWQ0h3RBpEYLGTNd3gXXxJPxZdR7YIBnxvJ7RZM5qGgZfTc0Jm4 aM5s+As3AAMFB/0dVB40Fvk74U6mwHLMwEkzHiZoVVZPBUMsuqb3FlgZrMYmwa3q APNhPhWSO9pLQlPJ99nFFj1lRUU7OO/oihsdKLEfT2CT5tqa6fAWoiSQIKBBbkrm bQedeXPWtvJezS0FY17rOfK8242Lnq+djS8ihBxSKpCVbwWO1DPktu6hGzWQz+x2 B91jbMfM9/n00xEkZ4Z2H0dSZNY2WKqK+MkqAiYf6uJBs7BZV391WWQ1fagCP/Tf HPM0gDnwFfqSJmxJzPm3upTmYgoSRqri7NH3Wec5pY15b67JFHMpMFbgauEsiDSi CCk4YxHfge4SMe6noPICAjN6PCkIMDldxi+ZiEYEGBECAAYFAj2GwgUACgkQYdh2 wUQKM9KJgACgwzfFmUB4diy5sTzLVLE3TCqwnJYAn39ByQnv/FeLGSY/blYrVsQK aCpC =SotO -----END PGP PUBLIC KEY BLOCK-----
<simon@FreeBSD.org>
pub 1024D/FF7490AB 2007-01-14 Key fingerprint = 4E92 BA8D E45E 85E2 0380 B264 049C 7480 FF74 90AB uid Simon L. Nielsen <simon@FreeBSD.org> uid Simon L. Nielsen <simon@nitro.dk> sub 2048g/E3F5A76E 2007-01-14
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEWqLYARBADUgEaHYK73qi4nXVO1DfcVKqzWZw0lDYXv3mVQO74Y41hP7QV4 IyvRuuWmKK0vm+ibh4WQTRGhqeSr+tDrgUIqs/tavDVx27DdBeOi5fQwFiyM0s3B 1o3VOzfmW3nOEAEEfAd/zQJVrz0GG6ao22zFSVRHEpJle8QD/HTsZ5sWIwCgiYNX Ok6oK9IdCky3kl0xwE/wkpMD/jKoZaj2/rc7t8ZtwBf9mQFECou+SsM5YFFMx2JV nHShx/6z/d1PWu59fnPOP/t+QkqBa4ds5msot4wJFqsFwuTmtCYySsK8j9yBbh6B KH2Iyjwnr3IFU2PopIxzscuGT4EKbLes925X6tjCfx+r4uGIVSJ6Xzu+9jGXK0KI TZshBADIuS+wneCYZ1Wnc/cwaG3SMXaVTOkThQS+l66o3BfXX77TN0HbjB+/CmP/ lWjcUv4tTYfmI5kQg4pRA7rSEsMBwec19CIy+mf9QD1HDVNGex1tGdGNz7oaOvwm oT2nug8mCt+77q4ESQOmfHzLjIQqKh9D8zX08atp7EVhHw2sH7QhU2ltb24gTC4g TmllbHNlbiA8c2ltb25Abml0cm8uZGs+iGAEExECACAFAkWqLeQCGwMGCwkIBwMC BBUCCAMEFgIDAQIeAQIXgAAKCRAEnHSA/3SQqxOqAJ9qfsJx+6hT6qXy9k0Hkuto pyh+lgCfS+cAvWkzwcTlZwmj7xnVMqex1T2IRgQQEQIABgUCRao0HgAKCRAV1ogE ymzfsoOMAJ4qsIQaHkhYT6FB06o9Hjd0JElbzACgkPVfATTcp5dDhiry+UMCPxfl 4Wu0JFNpbW9uIEwuIE5pZWxzZW4gPHNpbW9uQEZyZWVCU0Qub3JnPohjBBMRAgAj AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFAkWqMP8CGQEACgkQBJx0gP90kKtq rwCfc6UlwvCI+OQ8PV4Y7xVVNK8ZWLsAnjAOOQET1C1XacStkK9icK7u/n/fiEYE EBECAAYFAkWqNBwACgkQFdaIBMps37LD1wCgmeJUFusBpliqQMpOYaP3KL9/HDIA oJox4FwHo8yhvqG7ww92FMeknNCxuQINBEWqLa0QCADNQVSiZOL9KwsEGkCLtUGQ l7hmf9iuis/GxokTE/9aPYiCKx29wjo4b4pURS/gHdNGU70KNfqli96Q1zlS9CGY KhQoce0ZDOxpO/6ZZzaOtLw5x2/8M45BDJU45STx54+F/7Lt3hZMNMlNvjZGF/W7 f5vcsPHqGAyFjDkjuL8QQqhsbaPsCTlqngFYh8/4F06+cd4GM85xGu/LM9M91TP6 9ulvz4H/5TiUNvDjt1e82soRhwY9bwHxq7b6s3Q4Wgwo9l2Y2oW4T+TVpcCvgu2D vUSXo4U1ygPFl/CQ2Mz5IEp7e0aanzOU5FhMeEoAkJewRq5747noEcnygiPUuoOT AAMFB/9KyjWpXwovVjmNITIB1JPuZSO7NLhA10SpeFz0YXJVIiteQcHnUHOUn+7i tO8XbOg79a2Pz/5tLuX8YqNQQjODFKpFnFymlFr+aPpzEJPoXWHG1FkcM7rjmLpy gj6eokmEdQdr5CflY+IkJMNC0DxDfhsI17fQVAsaScWgnmSgfCNYT7uPFw8K8omH WawyIlZuAKa+l1Q03IFt0oDLqLrcMK7DnSJvSkyM7WcH+3ObsMaCXVziD9LOlW5B M3mZyXS3Z5A8/menv1lRYm7kxCt17HEmhxnHM5waqFyK0y++X86lNpwmBQZgzTN0 2bCE2wlPqyT1LCVu4s9RAyET4hy6iEkEGBECAAkFAkWqLa0CGwwACgkQBJx0gP90 kKt1pACfS9WAfr2P8Vx/ps3WYdd8QYumnQsAnAwoaIe1d968x4FIKOewpptF/JdB =ggBj -----END PGP PUBLIC KEY BLOCK-----
<rnoland@FreeBSD.org>
pub 1024D/8A9F44E3 2007-07-24 Key fingerprint = 107A 0C87 E9D0 E581 677B 2A28 3384 EB43 8A9F 44E3 uid Robert C. Noland III <rnoland@FreeBSD.org> uid Robert C. Noland III (Personal Key) <rnoland@2hip.net> sub 2048g/76C3CF00 2007-07-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEamZvMRBACgUM3B+Z/7yw5DtYP+4jNaSvvJBNPtLbHeCcXzAytD/Le3Tx/g /joJFJZS92agbQSt6p9SPnw1xguQ2YMdBQ5LFbE5ZgrXnDX9JUWjhyjTPKRbkFPx 5G+JkTG9I75/ZVq6AhcOjXwsq/mkANhu87uOPRO2Uf/e01o3CplYIjRVPwCgiqwz wycuIxPvmWX3ao5gkV5iUgMD/2cVqZQ/uareIN2HF559LZkfjGdBA7U4H1cOD7hr pK27HTNcSAMpHP368AY5nSEUezQ8iOArCxx2xYMIvyxeaQ5wFgQ0kuwb21JieUdm 6+cQ3uynJMSVVic5T4qoyC3mpu00VNBpCLJIk2zLk8CPDPQot6yB41622xXXHaix 1efSA/9oJBP+6Ffdrni7hxAEgP2uG/lXQ/oG67UljMC1LFkiV0irE9O6G5UXFEVE FOQfXmXqLRoIjWaqDLdfADerSl6jeva70UfbiGfxHHkbltMZi2v3Xd6H2wmZKcSl RDYhdvNIhNDXfGAoaYneHN+JWYPDYebG5MyN1QyU5+kB7n7grrQ2Um9iZXJ0IEMu IE5vbGFuZCBJSUkgKFBlcnNvbmFsIEtleSkgPHJub2xhbmRAMmhpcC5uZXQ+iGAE ExECACAFAkamZvMCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAzhOtDip9E 47ceAKCI+rqu84IxKD8Rb+a1hL/+NqHotACeIg6ZGwFCNA2OOUchxF3hXvJ+mfqI RgQQEQIABgUCRqZ50wAKCRACwq9DxPQf7Ay9AJ9xShA298xcySmevKvX8sWC3LQ4 iwCfbsQ7+AB2L4j25YgHK9CjF6f8s2K0KlJvYmVydCBDLiBOb2xhbmQgSUlJIDxy bm9sYW5kQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJIhOEYAhsjBgsJCAcDAgQVAggD BBYCAwECHgECF4AACgkQM4TrQ4qfROOE6QCcC085r5aDgvzVDPvrZU+pSitB+BgA niwufou7zDg3AJGyf1MeuuFaZ1r9uQINBEamZvMQCACOvnyHYPRaWC7fFfrdqGxj C5ZnjHjYTg4vIUgVmPE096H+WflesmgOZ8bQH6J+3Pzpf+l6HimYtF+gMvDLIz0I HD1K2z75Ne6WlPKh8Is4lty1+knbOIDLqCSgFWcU1hAkj+Yr//oqUTlJ9qIrghoj L4w7QdMHGb7jMMLL/VHg+MXnQliD/UFAk9oF+/UbTfQwsanJXaydby0yjmXecyMo X20orSA/UKJe59Rc7sGOHf7uFoVByqsWQ/yesRmVsjxMNFGNMz1ekKFKHop7xcAj 8DLYnrvdilD3MuC28USAZjSa2b84+oQJADQL1r+wT1bqWCEUvaIqf64b3Tpt8bIf AAMFB/9J9pOfPljyE3D0jy2azVr41mK7FG32FBpz4S1SIeq8DAz9OI+XuCoXd2Ol FA6oSepyBxG1Cz2dzhkobE3COPzwS6jRzPdsmZtkJ1Lp/t7w0FSMlOYqNkdD9OCb OxraGoL4PfoPgCsH80dY/On7e8COQs6rRPTOmx+FGqkdEaNXVyF8A7EoIUNi881j Cn82QjfR4pwFJ4KNeJRt+kBVE2j//VmsqlMcc1xBPzSwcO2YaURhF90qB9ql+bZx ENkoYgqdbkQwcPugdKJm4GzaX7OhdGprjH/E7Yj7fFmXhE2VsyQ8heGjKrRHgy/g 4mTYKTTJnYHSXO+MThJ6JPwcgHxUiEkEGBECAAkFAkamZvMCGwwACgkQM4TrQ4qf ROMFAgCfYpxRT6ReISfiSqGLMBQndCh2ol0Anie8hp/BanOvY2jOiUUcfvyhIqrZ =bQIC -----END PGP PUBLIC KEY BLOCK-----
<anders@FreeBSD.org>
pub 1024D/00835956 2000-08-13 Anders Nordby <anders@fix.no> Key fingerprint = 1E0F C53C D8DF 6A8F EAAD 19C5 D12A BC9F 0083 5956 uid Anders Nordby <anders@FreeBSD.org> sub 2048g/4B160901 2000-08-13
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDmXNAsRBAD0WcmPy11DRvDsEpadBPCATmPrvAImfj5XjcxBAJlBJoc9fiq4 8OcnipVdId6STdVKvB3K3h9aNsb75+rD/W3nMi8MumjyXJoHAf8d68cnjppizcPd uQPOy76lkbiyV9OYBtaNQqmU8hE8MTr5Kew9NBCoC4SB4NX8kVh8iglrZwCg8J4F ltBYDz+Z5ZGoh54fnYN6IAED/jO7ISCvWbFtnzCw1FOghcgueqrWoy0OYKq8ZfuO m046fuIlHcswJOKLLexTajsYAC0WWe9H3SvKvv1etexMh5SsrgWTsSuIvlPfG4oj D5vIYqvH5NiqJdh9qiFEzGsv44jgESDVy9qaErbXRVe9htuRZqbtEPnB5cRRwTr1 WhfuBADW1VLXj3UGw4OeBBd5KPIYXCx7RKS4nfrlBCqMcIaiD+K42U+7PXEJB8uM 2sJ6uRYs0j4tTLBbDC2TC1QfT5NIVLG5wWkIh+jL7PODH+i4LF8n0pQyuLwJOFAx s6RIHNPB2fdI5sqB9lMIBszlb896wVJf9PPWFAt/5Aekw7eTLbQiQW5kZXJzIE5v cmRieSA8YW5kZXJzQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI76xZsBQsHCgMEAxUD AgMWAgECF4AACgkQ0Sq8nwCDWVZnYgCg4fzk40pYLg3iNayO9dDNp4yHS/MAoLi/ WCYhNOS0TMpap9SQXC/2e0MZtB1BbmRlcnMgTm9yZGJ5IDxhbmRlcnNAZml4Lm5v PohXBBMRAgAXBQI76xekBQsHCgMEAxUDAgMWAgECF4AACgkQ0Sq8nwCDWVaoNACd HR57Uuyyti+OqVr4zaVEIgg+bYwAoMcFR3xdqArQmp561541p+k1IBUWuQINBDmX NGsQCADRkDqg2uW9mn5YCXlzx9KlhAfPRny6kF4+B+ga0ZaIzJng2pY8EsAxKn88 yH6ERs/PYdsy/AyksG8vzuc9CalW8JFEc+kvtJIL0HhBonlInaeUWHPixGEcOPcW ab8dPhW3zfEgOqquky21d8Zg+G3Z29tmKGcYKSQgt6W59z7vITK7+gv7tOGp2IpZ 1kGqPZn+JqvB3n/uWo3rTxOGA/tduMwfESA5gHmEzKmU/17yIkE0SflKOp0VIGdl Fp1A1ULJDDVXjtDkxFvZ1I+WpqF7p9FCgy/OHUfUa0py3uHIEKMahqpAZ9e8D+GI nGizPR33ZY5PfM72ABXeGhFnweP/AAQNB/9HPBzxoJJFJNLyosSlI+Wkmh51K/nC EawQG6a+tgL6cPHgJQkgthPUywkI+2g7SUSurgPz0hRCPg2PjHP3PwVhjKzUgfAj y9eVnu+JSpst/a0Y5LEQdNnwG+Y+Cs0q9xj4T1VXw8B9fA3y1wS1a13zCQjfLrZP ziIGjHIBvpOFrSU3ML1rRaVfQpm2wQXsGHzjkaZq7HQy2EOVLzik34XkPBY1DrnY nSEwSurfjTrKTLNYsN53xCGwJ2w2347qXr04j87XhRmGCJQ/Nrrin4z4LQ/zNm5Z bErlts8PAfR13kqP7rx/H1n5obhpOoXUqb4Rm94c0r/s9JRah9ppgADRiEYEGBEC AAYFAjmXNGsACgkQ0Sq8nwCDWVbTvwCcCG0X50Tq7V4NeGgREttltmR7UlYAoOgK 1OFsIdCCq6JjrwvfN7ry3pwc =clge -----END PGP PUBLIC KEY BLOCK-----
<lofi@FreeBSD.org>
pub 1024D/6B2974B0 2002-06-06 Michael Nottebrock <michaelnottebrock@gmx.net> Key fingerprint = 1079 3C72 0726 F300 B8EC 60F9 5E17 3AF1 6B29 74B0 uid Michael Nottebrock <lofi@freebsd.org> uid Michael Nottebrock <lofi@tigress.com> uid Michael Nottebrock <lofi@lofi.dyndns.org> uid Michael Nottebrock <michaelnottebrock@web.de> uid Michael Nottebrock <michaelnottebrock@meitner.wh.uni-dortmund.de> sub 1024g/EF652E04 2002-06-06 [expires: 2004-06-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 isNkDxI+R1w= =LE25 -----END PGP PUBLIC KEY BLOCK-----
<obrien@FreeBSD.org>
pub 1024R/34F9F9D5 1995-04-23 David E. O'Brien <defunct - obrien@Sea.Legent.com> Key fingerprint = B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A uid David E. O'Brien <obrien@NUXI.com> uid deobrien@ucdavis.edu uid David E. O'Brien <whois Do38> uid David E. O'Brien <obrien@FreeBSD.org> uid David E. O'Brien <dobrien@seas.gwu.edu> uid David E. O'Brien <obrien@cs.ucdavis.edu> uid David E. O'Brien <defunct - obrien@media.sra.com> uid David E. O'Brien <obrien@elsewhere.roanoke.va.us> uid David E. O'Brien <obrien@Nuxi.com> pub 1024D/7F9A9BA2 1998-06-10 "David E. O'Brien" <obrien@cs.ucdavis.edu> Key fingerprint = 02FD 495F D03C 9AF2 5DB7 F496 6FC8 DABD 7F9A 9BA2 uid "David E. O'Brien" <obrien@NUXI.com> uid "David E. O'Brien" <obrien@FreeBSD.org> sub 3072g/BA32C20D 1998-06-10
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 wFQ+RbHSXThyO1HZCYdfSaaYVfrrLv5ooTBRHzP5DlSXk13nddBOE4g/AwUQOT3B NOMeMj1ArjBSEQKxUQCfY3XjdW3Yun2hWKmKaPpXDBKonz0An1Wr4nbjBvlsovrs eysWYs1ovDgKtCdEYXZpZCBFLiBPJ0JyaWVuIDxkb2JyaWVuQHNlYXMuZ3d1LmVk dT6JAJUDBRAw9rraP9k6yEHOCYkBAZjmA/9lczxVp0UjLAXM3jfErQv2dzpLDAiT QVp10pi+a8mAzPVCnmCfcNy4fQJbInAfe5FC8gxBe9DnsjLfHh5vlZzDHANpbq5P MLW5C2igBoAg0Im4RpevDhD664ZgYgB6HXHhPBSB3Gaarnpx+R6JpfDBolSg6Boi IN3q+kzftlTaDIkAlQMFEC+a5SFlYKmsNPn51QEB/tEEALKURfb7Y7metDHx5oV5 LybWyV8cTJKINUllX8HDnz6zZQ7bMYlQ0qsqRqEIDMpMk1tojT+/HI4te21uW0T/ FCemdm7leZM6g38Ne358L8jY/34iz0bIFeZjDzLoOKW5C8wtG/N88voiE0grVR3e iFEmtwWT5lRaV+DmKYQ4kXxAiQCVAwUQL6UVDceLqoSSZB6ZAQFokgP9G9xfWcKj CxbEr9TAEDsKIsNkKQKEFlfqGuAjSVWOBqEIyG0Wb1pZEQKHI379aEK9nVNSsQ5m Qk/E6JRvYENt9q5uJ9mp6+wPUVYt83YL7uv1YJJSy788tdr1esutgiAeLNmNMmOg Rw3vz8iKYJozmSyDSK/HwHS7zZ2Q9K5hpDCJAJUDBRAvoGvwym8rg/wMAtUBATFj A/9h8jSR5py9wPy6WkjsYQbml8B2fVjsLzoQbMI+b5IFYeDkRYLTnSLJKzuK8zHn 1aFeXIhD0CRY5PC9jMAu84I59iE90x95uLPAH00rSJam2gEqPovRYcinADluivOT XGAn5qN9bKlmdsFNLMIFs/rohnIFab7wG3+t+i+8YYY2YIkAdQMFEC/kX5DT8j9C J2rqEQEBOFcDAKcdXpMcMjw+uSDwNc0pjOEYkfnpaW6MKnOo0qbwALmuSn/l21+J eypp1kr9VeWKn9tcUHucBHyTzswxeu21jI/KUUIRzuQsupgnop5LyNNrpDjxbQvN uiBIX+jAVQvxsbQoRGF2aWQgRS4gTydCcmllbiA8b2JyaWVuQGNzLnVjZGF2aXMu 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 lSVmAKDF3kyQAZDAyz+21MQJnmJ2O5dFJg== =cMCa -----END PGP PUBLIC KEY BLOCK-----
<olgeni@FreeBSD.org>
pub 4096R/FCDB3E82F778D8D7 2013-11-10 [expires: 2016-11-10] Key fingerprint = EE37 B427 91C5 7707 EC54 064A FCDB 3E82 F778 D8D7 uid Jimmy Olgeni <olgeni@FreeBSD.org> sub 4096R/4B2EC123F42A1D2C 2013-11-10 [expires: 2016-11-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 HPrSTODRadUuVrs= =f2gj -----END PGP PUBLIC KEY BLOCK-----
<philip@FreeBSD.org>
pub 4096R/BB5E2C462A0FA8B0 2013-12-19 [expires: 2016-01-01] Key fingerprint = 73C5 0671 B4B6 7E19 1BAD F87A BB5E 2C46 2A0F A8B0 uid Philip Paeps <philip@trouble.is> uid Philip Paeps <philip@paeps.cx> uid Philip Paeps <philip@nixsys.be> uid Philip Paeps <philip@fosdem.org> uid Philip Paeps <philip@freebsd.org> sub 4096R/5E0637B4BCF333B4 2013-12-19 [expires: 2016-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 wA24LQpxL7QfUGhpbGlwIFBhZXBzIDxwaGlsaXBAbml4c3lzLmJlPokCZgQTAQoA UCgaaHR0cHM6Ly9wYWVwcy5jeC9wZ3Avc2lnbmluZy1wb2xpY3kuYXNjAhsDBQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheABQJUdHVsBQkD0mg3AAoJELteLEYqD6iw7boP /1IQkSJWRMxdj++59YUGzhG6/Z6h4XrpkcmAkcwmeVTutktYE7agHYF18XVvptgl TJZqXId7prabTdtzXBvH8+YTgUNBW/OqFVFVoIlEcf6NVYBKGgiqwaZyyGAN/vyB 5X1gcTQwKfGVeiWcyu2Iw7HsHEOD6GoDFT1GWfT0nBSB109lAa/5VJOrUrf9ITsj GmydMEqAycKjlwAnc3pgRSDUJOQboyWefhKRcFLJnXM5kiPTlIW11vV0ujqEtAVV 1S36heLx3nnKUI8xe7F4Njz68FNCd1StSeJx2BRTcYGD+3HBotv/a5nd//sLaOvT 58iy9qeaAiOxxJGazMneMm1NHdJA+SCImh2erun6RV0Z/LRFEipymYH3n4Dnv7Fg /pROkLbBssewudq5LdXQrYyBEDP6Nqr+7M5R+T3g2gPps5RmovrobI8LAvK0ja2I Q8xQNuGKWNY8nLxEtkgh8teTmUkmZdbcxF/Bd0VAMoMFZnvRGObEnfRKypEXcuSs h6t/wpNazrLtK7Fg/TEuQyf3z7h5ZHc3sd5Gm2mIOLDQpZSwBNXtKzMnScetTo0f PMVsBv7H2zuwF/19b1k6aMqJ4+/7jZJt4pGE+IyAeB4sWX/73qojF/VYNAL/tuH4 R39ompL66aSng5RGwLNjkioN28IidHttRbAoSOFuabQctCBQaGlsaXAgUGFlcHMg PHBoaWxpcEBmb3NkZW0ub3JnPokCZgQTAQoAUCgaaHR0cHM6Ly9wYWVwcy5jeC9w Z3Avc2lnbmluZy1wb2xpY3kuYXNjAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheA BQJUdHVsBQkD0mg3AAoJELteLEYqD6iwCswQALUXQyxw6QMfeW4ANiGUc/xhKGZA rhuqiZmo+X9049S5qzOUVMtC8pPGMrHIr+ZSk9YBZQ/AeIJ7w+GFSwUcrut953C7 JNabd67NQp+KQNLp1LbA9LzaUg6RtCezmtwJLiA5q4SNMWTPuAyzZ0CU5J7iIs2a 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 +OI+iBEt4rsO =v/9m -----END PGP PUBLIC KEY BLOCK-----
<jpaetzel@FreeBSD.org>
pub 2048D/F6F63F01 2012-09-21 Key fingerprint = 1D8D 506E B58C BD10 DC8C 97E1 D6AD 8621 F6F6 3F01 uid Josh Paetzel <josh@tcbug.org> uid Josh Paetzel <josh@ixsystems.com> uid Josh Paetzel <jpaetzel@FreeBSD.org> sub 2048R/F32EF801 2012-09-21 sub 2048R/51F1335D 2012-09-21 sub 2048g/9BC280CD 2012-09-21 sub 2048g/CC793500 2012-09-21
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Nl2zzZmlpV4i =ExWp -----END PGP PUBLIC KEY BLOCK-----
<pgj@FreeBSD.org>
pub 4096R/6D7E445C 2013-06-14 [expires: 2018-06-13] Key fingerprint = 7AD5 76BA AF2D 14B9 6D45 440B C013 309D 6D7E 445C uid P'ali G'abor J'anos (Primary identity) <pali.gabor@gmail.com> uid P'ali G'abor J'anos (E"otv"os Lor'and University) <pgj@inf.elte.hu> uid Gabor Pali (FreeBSD committer) <pgj@FreeBSD.org> uid P'ali G'abor J'anos (Magyar BSD Egyes"ulet) <pgj@bsd.hu> uid P'ali G'abor J'anos (E"otv"os Lor'and University) <pgj@elte.hu> sub 4096R/A57B06AB 2013-06-14 [expires: 2018-06-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =gT6K -----END PGP PUBLIC KEY BLOCK-----
<hiren@FreeBSD.org>
pub 2048R/8B9250E1563EDFE5 2014-05-13 [expires: 2017-05-12] Key fingerprint = A4E2 0FA1 D878 8F3F 17E6 6F02 8B92 50E1 563E DFE5 uid hiren panchasara <hiren@freebsd.org> sub 2048R/EAF1BEDEBEEA242B 2014-05-13 [expires: 2017-05-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFNyisMBCACrZrzKYjA0mDnxqJk73ASWWgmdzdASHD1bGmCI8SelzeE97sx4 +g1FbrHb6KKWSCDYCNuKIh5CVHFSRe0kvbwxfj98Xs1o02ySVeIvIUsNN28QDgiM Yd3Tg3KPrggpb5Tucn62Mv7VhZmyxQlWD/bU3mjBImBFAY90xjP/d4DlAHYffI2a LfGYjfJ7z/P1x62C02SbHTCIGcp6r0ZVhhPtckivF19+PZ2CzUZH3LCCT5A1FewN sNMxiocMQh0ACvDDw1XhagGzVceyvKE6NiOt0+ZKmKQghEDMlTpOkOTYXk1tg+Ix xbaNtgdJUOzrswwJXJXEP1CwXj1RlM9OU9kDABEBAAG0JGhpcmVuIHBhbmNoYXNh cmEgPGhpcmVuQGZyZWVic2Qub3JnPokBPQQTAQoAJwUCU3KKwwIbAwUJBaOagAUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCLklDhVj7f5fO7B/45U88YM4rkb9hu QMga/l9KWOfL6cf0H93P5mmRVJRp4YZZ6nTlhpZxJNCRsMX+sLoeE7X1LSSk+FFY 90w8/4OwPHBFQi3iFEFEG1NZphBDzJO4hRvtfnrMUlesRLFcloVWLSOcD1N5KAM0 VioetXj81jNjeCquk3o7pIaGKBTH4IW+dk5PKyMO9yu7JO488PbZ8cgN6xdt6xMN 39f9WEpAWC9Dg/dQdy0Y3gXyNSD0XHqmmkzuXS85dhzm65PN1ZRiULS5alHOK5EN PsCEncfxcmuGSqovQWu3IKoF1coIQDSc9HchibaLtit5UkNUDzKMBwmaEfWq/dSZ sXPsKI+nuQENBFNyisMBCADZdKb3Mwo+bqwvjTbM5+VHWeUCrpl3vnNZthdCEkO9 aNDA8AqdeRLdyMAXndGUI9oqMEMdRqz+lEqTHVIMFOppl4xHcb95gsEZSl+uzk8d JBMboGuqVPzYKw15MruCRU1kvB3hzHwcgy5TvKqKA3SJHgebpk9uw7Ff+5mdkHYB mNZQbHDx97USsfrQEbg964IO9s1kGiNfE34Iuq+WBVThwU7p/l7hxXvOejohRUT6 rveNiAe7XMNt5xySIwUQGVmve+5yzRoqAUNF7Uc1mEtgeDUTlsxcC7NZeC+ABoA5 Tn1pKe6Aw5Cahg5AdyocCWqhI6w7/RmzVRObDjNWVzgXABEBAAGJASUEGAEKAA8F AlNyisMCGwwFCQWjmoAACgkQi5JQ4VY+3+VOlAf9HK1ZSuLH+ZVrULIoZpSiggcR LOfrcQjvMb9obk9quL+j+niYGqjgL++rkxcVVaMnfeKwaHNGwYea6RRkt3lQmR2e N0xrZVAZWH/GgJCnwts0+ddHR1butOcXYeMJqY2pQraZY7Wpm8Z4GMKHt8B3UFU+ ruKcLaF0I4S+pO1HYQOGB/4jnNgvV4FHBoiBYYMtpLPe55mabCDy5+D+QsfHaiit uxsfzk45QeHPRr9A1hvh1JVpDPQ4PFPrUYlMtb0yA8PoG3G2ZYNJUMK+lA5kNPUR VXSnQYGOMnOrHB0D3nhLhphVo2ouKaUQCZgB9ly2cJG+itya5b8Z+zL+m46Q2g== =hg/J -----END PGP PUBLIC KEY BLOCK-----
<hmp@FreeBSD.org>
pub 1024D/938CACA8 2004-02-13 Hiten Pandya (FreeBSD) <hmp@FreeBSD.org> Key fingerprint = 84EB C75E C75A 50ED 304E E446 D974 7842 938C ACA8 uid Hiten Pandya <hmp@backplane.com> sub 2048g/783874B5 2004-02-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEAscLQRBADERe+RX2eJpYLoaJ7d29B8YcTYzNlsfzghM1R1/Dx2RDy5poKa Jn9j+Iptq1qS9GkTHXFcQh8LT2K7wnE/MZTCxkZvg2ZkfQbJ4Z+0z3A1A6Kvg0tH X5aqmPUeLXvnps7nqZxkhl2ibcjhH/VYZK3mdRikd1wtJD1EhbbeqaR8BwCgkQAG vdJHN9gfjLLcM12EitkjoUcEALoo1bPoULWd4YhVH7W5L3Qp0dr1vf5pYC/V7FQ+ 8yPXZtGzMvIld8iX1sv/zsw4EoXXsaRzJo/ixdCS1WYBPowryu0G/LX5w0RTTGHc ihcHLm6ZmyNuIsTQ1ifLNASJoLkNBlQAuA0VG4evAujrmaWyEHbbIDSQKUJOjL9u jb2HA/9pycrr3+735Aa7B5jThN6p1XEC8GQg5MDx23QnTPj9QHXH4qs7s+hwxZq9 3WkVFBcJtDBi8PeEVqfD/QPeU3ewbnNnfaF46miGV1iG1mzU4zMq4n5oBdijf5eL cRRdOJytYKTvlSCe8gf0MzfaB3RqD8+Cjcs3PtQOy1VT4aQiv7QgSGl0ZW4gUGFu ZHlhIDxobXBAYmFja3BsYW5lLmNvbT6IXgQTEQIAHgUCQCxw7AIbAwYLCQgHAwID FQIDAxYCAQIeAQIXgAAKCRDZdHhCk4ysqEPZAJ9ByMndfTtnnVIbsyHc2NjDp5F/ vgCeP6o87Lw4aHuGo5guA9yeWwtwAla0KEhpdGVuIFBhbmR5YSAoRnJlZUJTRCkg PGhtcEBGcmVlQlNELm9yZz6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAUCQCxxDgIZAQAKCRDZdHhCk4ysqLchAJ4+01/uQVdqdDeESGodcvgKsrieqACb BIW7HMvh85WqofTeAK5pJu7hCM25Ag0EQCxw2BAIAPXEkkg6lSxGRmVH1yzRnSKr /M48xyRXYDrRPaVVBFkC4Af3CR5MjncJtjbzm7xH82glC67cksRTfTZRs7kJsid+ g62V53dAu1Uoj8ecSDhblb8yW3rTLKVqGcliGcTRFivcm+ZFm0kc0xCQE3rd1COX NLEomMV6xuZ9PVzDAbJwAoGdpCYsCl09eZrTErueQ7pEVsLx9/0zQSmC/uDFEVZ7 23GsJg23+EUBT5KuTxQ4i0k++Ccr4HR/OiUy6KmyXSNsKsBsXwm3map3Debqqqx1 ssrDXa+PHkKEUrONQBoYbZ17DpPZb+NKWibi0Vp1HKPP2vZl4NZQC0GBLXbEudMA AwYIAOYhwVTWKQSgeEZUNe4PwvHczx8/3VNjYZGY6/ZRjgmfO3+MagjonZqfxYha GpsEV17NXm4WIg6HWtI43JwIWfkUybsdxQVH4i5lWYuA26wD6UtNXw9laPHKXonR DvmKDC6K0iFbSxTqXRZVQ//wMxh58/Yw/fX+fYtmH6u6kPaL+CPRkhQLezTzZWHj 2wF6v+frdglW1/LpwpCFndb1i5+36ogZ5ZudG/iz53QzlOF0IZSGHIb9tlQ+4gUn KfxpQloI+5vAyqpHDKIH9K26wTBzKsp5Mt4W6cLfgjXs7TNc8BVT8d4rmmbGpGnG pSjj7b1q6EhpIVBkAMLw7qanLlCISQQYEQIACQUCQCxw2AIbDAAKCRDZdHhCk4ys qAuZAJ0VNEtJSZOAGetxBJ/BMWahVD8xeQCfVKwTHdPh83Qcf28xx81icY5OKY0= =rF4D -----END PGP PUBLIC KEY BLOCK-----
<fluffy@FreeBSD.org>
pub 1024D/93E3B018 2006-11-08 Key fingerprint = C73E 2B72 1FFD 61BD E206 1234 A626 76ED 93E3 B018 uid Dima Panov (FreeBSD.ORG Committer) <fluffy@FreeBSD.ORG> uid Dima Panov (at home) <Fluffy@Fluffy.Khv.RU> uid Dima Panov (at home) <fluffy.khv@gmail.com> sub 2048g/89047419 2006-11-08 pub 4096R/D5398F29 2009-08-09 Key fingerprint = 2D30 2CCB 9984 130C 6F87 BAFC FB8B A09D D539 8F29 uid Dima Panov (FreeBSD.ORG Committer) <fluffy@FreeBSD.ORG> uid Dima Panov (at Home) <fluffy@Fluffy.Khv.RU> uid Dima Panov (at GMail) <fluffy.khv@gmail.com> sub 4096R/915A7785 2009-08-09
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEVRWoMRBADzr63XtBQiGIA98UAz2AHVhg+5E7rf4KhRRzwIFwsdqZhK9ErU Ep+G25QXRqjxGYiEO+oC5nFnk7fzHXPTLgvF80goowBeuc89I5UyiLeMoY9tkLLg /M2/UiEr+LYX3BAzvZSIGG+IZ6cIDgpGEyaey03koQkMUSIgHc38rTsdewCg8+jQ oIqgyxmz0w57HahG3wYJh2EEAJU0Ap6iSmknLiPE4a2bYUXUK1lSG5SMo8C87dkU U2BVgqH3K7PKYAUIawJN74PgvehKG2iq9ALsyL/oX5G82sKZjgaIJrSBMw9+yppw 22lespasyK2GXV+5sK0QKfONUAUAqeXNH5kzNI1jmt31v61o1M2Xc0bVeK3wXGCi 9a+rA/4rlsZ/fHLpiSoKtfSEGC1hKM7XbqBmOB28lNQj14JQJZB6BOF0o597dWHX SAQF1NUZfNG7htDr/o8SoVQOLN+qws29004XfyCOMCodUx8UC/P1bZ+PozF8l9DJ hyxD0ZoRDT0Drpy71kzt1dQapDZ4BwyoTVLdsgMwAsT/+duHGLQrRGltYSBQYW5v diAoYXQgaG9tZSkgPEZsdWZmeUBGbHVmZnkuS2h2LlJVPohgBBMRAgAgBQJKWMPY AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQpiZ27ZPjsBjq4wCgsKuehK2f 5CALYdGSTf+5xiYzahUAn37WOdQpdI4Cm83owRtt5EnapZ8FtCtEaW1hIFBhbm92 IChhdCBob21lKSA8Zmx1ZmZ5LmtodkBnbWFpbC5jb20+iGAEExECACAFAkVRWoMC GwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCmJnbtk+OwGKSIAJ9bmwywJuJ5 3N5Ebi/P7F8YSJi/VQCg0wNR4h4sYrMsffGqm4WqbeiHOo60N0RpbWEgUGFub3Yg KEZyZWVCU0QuT1JHIENvbW1pdHRlcikgPGZsdWZmeUBGcmVlQlNELk9SRz6IXwQT EQIAIAUCSnzREwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEKYmdu2T47AY SvoAoKAd+Si/4z8BWaiStznUwrRPFL4qAJdBDDunxHvkAbIbvGSXEfqRkm5HuQIN BEVRWqQQCACLhrO4OX/M/LTH8b0phvAcYUeT/Q4sBxoOFz9uDgQKPXl0GVpBbEn7 KlBLcITrVDEtfl7Amrj+YflAmaWwsTnyRXOo5LY/d5S59pzOURMVqe7pQih009xF irbQ+mpRaP8TaZiVGPGH9ssbiEA31DM0qObyxE1Ecmz0Kg+Z5If6snxYxA+tGXZY QUihFxsiFrJ6KBxP1B5UIhM2/wZyCOGPjrFEQE2sskwjLtr0S+rJNldLSODF97KO XS6cUhka+QGa2VNVatVMxy7i7wWZD0eyhFDNbSjfaMQ5S6J1ESK27i+P7clv2moi DYeFiXm24f8fqPSYBJP8GmWJVY+BxWaLAAMGB/0QdsYjXUDoR+gAV1IE+oiE4Omh /rptMW8lTURxF7FYZmy4EgwLScn6Gvyj/b0BQ4z0vjv6NWtXUy1qlimR9plb0GiL cLMfqgFw5RIgves3rYnWn01RxXys523vUq8/aHCLdJB0ElODN9FS1FcDU0WbfvHy zpnLcPnBpcdAlukTAjB+t5FKj0LKPlsrS3bwjv1DdZRAjq2IVs3kEz5uA9CENQFI Ntet0+j5u3/i0q+kYaYZIdSuCL6a6pPLm6e2c5ayroU6ErBET1ZhSdTfJj/VANjM Zkh1QfeAZrHvE8geVLvdQzULeq0OOTSO48eQuqIXMHaqD7pIXCH9NsEE57LaiEkE GBECAAkFAkVRWqQCGwwACgkQpiZ27ZPjsBj3AACghzIuVIcv49c/2zsI4IqV9qvj kzUAn3nvaEiZES10YNIxgbQYMYFkB0RomQINBEp+xiUBEAD01RkOYcyzU/Fnam2F I7PPwYqW00SwVmfUHihvVniiaMwzaYzchb+mzShaNsqRgjIN/i59OBpnS25OXMLE pQP7jDJnY2xKyJN2H4qn1HPHkF9cYuqvqkm+r5459g+2ZoGY9Sr1PA0XSzXJMSQ1 nRK3cFfqlN/L2//P36U5VuOWXGZUTwr/n2B/N0HAsYsqDOdjofLg7x9z8p8elqwJ bT/O4ltg8JBVAnof+FzqefYW4CzqkHRjq/9ORiGYh14ST9ECsCaVpfdDUTor0wgp JqzCN1HsQcHqgdMmOqigWIgN7Eg4MRQU3LDCISrNJ/45zvcKUXR0RHOjnSuflYba 74q58XhZ4eCTqHeMHjA8st4IWRzy9l0V4RunnZxjOTb806jyIhdxcb2m8o5tXwsq jf0TQ7vYowDHrQ6gXlhPg4Jvvwf+BwlB2p+w7Cs/Y9QA0YHnIOIVZAwU1wv66YSI 9IDL2AbnY2gQGx+dkHiC3S5LG8HcPrMcjayyThKKIi5KQsWa3snFeK5ky+cRpVEO PQfUXFOas++91v90Xe9j+lsmRofsyvuygzoaZE2fud0kCsOgYEg+kiLPlQicNAx5 IToOs8BrVFLcxmbPKuVBfbLdWsYLjXGzbXEmzV9fNDZ1r1uNmVema8YYCiNjUDZh xIfKt8nbp6cx8UgVLGRVDEfXeQARAQABtDdEaW1hIFBhbm92IChGcmVlQlNELk9S RyBDb21taXR0ZXIpIDxmbHVmZnlARnJlZUJTRC5PUkc+iQI5BBMBAgAjAhsDBgsJ CAcDAgQVAggDBBYCAwECHgECF4AFAkp+xzgCGQEACgkQ+4ugndU5jymB4xAAgMLM Mf0/tfIXHbH5JHsY2Pvb5wyA6yM9ruROVFYABipPyQj3TXEvTk519Roa7EgfTiW0 JKYuWuGBgKoJyoq0Tu9iu0ycnYTq9BXS/EXonJH9NBwlqH3Azp+ZEH0zwk0gu6L/ xfOfE6zhOob050XxAkjh9Zj35sEswjN5dldXvLF68w9ONBXdEIlsyj6dJ8oM+Hz7 yBEBvJG/GOIk8+vVdM/SF94Xm0R+eDIiwHvy7pMBMukhTvUx8JV8KXGJcN5086Rr Br7L4UPO+HlAbgYxlvwZE2cu4W9GWBssg4Hxd3eYmFC4cyA5n9gAiQGzat53zaxq xlNXhZntixD5pgZow70UIW4EFpWtv0yORo0bZNbbhNJJNh9hBwfAU0zGnG+EAkau 5cYQB5+BBNJPaPIt6dkW5Rcvw5WwZgxfZbujEOMWSZboC/0hT2MkC8U5iX+Jyi8x Wp3I7jAq9p58yuTyKp5ZC+TfZumWVlkz7C/iDfMbABDT3c8HaoVRgBsmiRxy7NTi efGAtx+/bNLnujZZtk3jy0lMD33Y4kF0YiNw3I1GxdsenKEWJjbiWLENpgJ7Z4fM UW4kaimQgBqSj2918UPSRKWoaylfr9PmVBFQAcQO7JJvKN2kTlzKzkHSQlkkWPX5 pj2X7ERM4TZ/8TsJ3lSVvgTV/l710RIpe9F70AG0K0RpbWEgUGFub3YgKGF0IEhv bWUpIDxmbHVmZnlARmx1ZmZ5Lktodi5SVT6JAjYEEwECACAFAkp+xywCGwMGCwkI BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRD7i6Cd1TmPKb5kEADatAL8Hq26Uaqb8hem nQ+YAqVPhRvELz2Yi/RoLlscY39i6OelRyELdzlfrNCfRl4et6OT1fSuq9b950mf R92Ah5J3uvaySD4bpz8rvzzSCKkP3xGpdeS9tr6JTTvyP1ySkWOcOJCb2CXEmKch 2+IJNNXfXcCppM3+yzVrClF+icwlBTH8F0mOFAFqEEUzSoX5hXRrLp+/qcavQPtQ szG9AhuwWcAqfiC/GnCKfLhyDIUaEmBCMH8hGiff0GyIvkyoskmAY1eUUHg5XUQa i7FtWH5iuktl9aLmuOiXglNubE5T5RWzyQvyelh9f4MSo4tlq5iPIuGmFchazJzs yck1ytDOs+zkeWRmakjz2Sj0s07CLPv2d2RZxtqYJyi5ZUxGEfmnWlINAIsXaREl M0zVXibY+xLVaFU/JzpA2TVaDHG6OEJoQfpsLFLxEOboygULRNMBUCufLwmsLOr4 ITJRP9T5Wf38gqdjXAm7C1MWG5DPEt+lzqyzc/TSXxwdR3xw/zlxPMLMiKCIjpfc SoHjDmzz0iTesGhxuu3Qb7O6rbDhUAV9bgXcMi0JlDLK8mAyOY733XyC2S18FTrN vJ/opr3ROHzJ0g/ojT0QzkpspPbpgf0DNn8v+gEBZKPyg9zuP3bR7dj4M76xf1yK lu0WDIO4NGWdnmAqO99nc5AhIbQsRGltYSBQYW5vdiAoYXQgR01haWwpIDxmbHVm Znkua2h2QGdtYWlsLmNvbT6JAjYEEwECACAFAkp+x3kCGwMGCwkIBwMCBBUCCAME FgIDAQIeAQIXgAAKCRD7i6Cd1TmPKREzD/9ANKU02qbh78yaccFZqvjyVE5Ysdo+ HDOCtxcGKVxsVTiPJubLqv3KiCIL8alemZWGlLi69wnlaSAZiuB+5l6Y+gWYFrFs tGAY6PPuyeQcQxaGpb5j23PbADaOrqfIvVyOB4Ld2fPm8r+t0Bwb4P8epmbG4mOP jJA+w9Eq7KMwFK0vIGuCFIOfK09bKNkjEgMYr/1KG28uVw8CKyQj38ACn1oojpV0 1E+SpbldHqFUoGkNbba4ojnZVST1IzO09V1X4dDs4xGDvnJ04iSeifiTNYEjDnGb VA9TMFF4cUuV8dVeJQrc2+5iE3H7mSFLNCe9DjFkmrRV+AnCn2bE5GYUiYA0o9N5 OwRICmz6BhNZUMWVVGytQy0g4pdmxNSkAiMCA8FzCbY8BCn6XOOelF0EsHug5bqG vaKCn9CyoLEHhnZ6ttzJlpYO4AQlds3Rvi53HouowEbWhQQxhiKRfvKPVwpXphR4 PNIgkLXckv5MJD1IPL2eyzWCYdBY1lCCTA8sdnzdk7WLfDJzyAk5sEbf+mlGhywH Ksu87yGOckEVKH2x6L0WGdroY5IfR4NMhzGQOPDuLnX0r+SY/R6l+5vLyf7xni+V NkNpxt9PbVLt+JfdIbpVIe7HvQoxbBpqwy7BMAq23N31gROI6N31i8bAayoQ8YC8 CPxH2E4J4bMIybkCDQRKfsYlARAAwFMwdCBvS9w8wCJG9vfnuKGWH9hgDbYVePin ddOsOUGVEvRAJGrUjxcN5CYveYbezc0G0NdJ5+c0zTqNndcIB8cgMF3Ekm9BlkJd +8un8kruecS6qh6pPr+gqzUx5lV1Se+HWdmGmGz5np2XTUYgTxgOnNPUkwPZ/cb0 8cKEaLcN3OqbdV1e3/zuSFgmQ9tp/oQ3n68O2EqAyNtryPBtD7shQ+qR+c0UhlLq KtnYthvv0Es0jklKX2VF5J8RfZ3wHJCUvO5/RNLi+jLedYZ4LKPoEg4yJFLGD6Fm YktjGE2TIrgZBUK3+stPt0h8FAyzIFtfRDDY05x9tr1WB09kGB2trDAHj/EX1IDc 0HQnSVSOGOkf2Ibw3GWmV4SDw5JQCnIVkQmrYD9+WeziQrM0fsAZgM4U5HK0PMDe qSAImtnufNBKx21napvICjN7S2X5itKEmE5yZAG0V6aiaFZV4nxP8HDUofwzWKGs Q0FNLNjMu83XxiM0/o/QOH/tl1rnJgjx82p3zgrdSrnEGIjRLr6rFWLDzjPa0mPx PGI2oUCTtNt6jZeKa2ru5D1ScVFIrePD3rKLX0pT2tBBmzTFSM3mCf+0XmUFlYqP C5kKRw6IjQRYcBH4BMASwU1dy6gL0IAYrkcVbicjha0Tem/Upi+K+Ua0XXDN/RCu HJ5GubEAEQEAAYkCHwQYAQIACQUCSn7GJQIbDAAKCRD7i6Cd1TmPKaAqD/9G+cjv MQMq/qdBSopHItrA9OsIoK1Da9KhbJM2BEHpvI1LXDnA1IAyepoRLHZt2Fq5rF7X rtUQliqBDLbjXIWyWkLq//GUfbk+miz4mDoAppAb8kAEc7oKji0e0Fs2Yz7XgcRL ECh0Dg0m4RTX2Ig+NGFQoLwXxH3EGZbW4uk+KWNT0qbQ/cQgqMB211k14wuHCxtI cHAlE4WvEUaJPNY1ERZmhmlDGBJsdiHBhvEcRsmLVzJuX0hC9IYevKxy1mzEPTgn GHqiBrOKJPxpXp5qvoE2HTTzJF/rUW+uKd8bdRItHeIk7xodqnhAYI+NndzJP4MS rz/NV8N16J1N40SFKBEqTznpFwD7IATv0ph0qS+YNSILymgAnsUYRgcwH6D/X4tz MKvaD0ZiSIH/nduhh9T16xhiVqvEKB50KvBe/pPjwVnfHGgfdcnYpXwrozwJRvTi OPeQR4LCr5HoGTZleuczPJCaafbbdf5mnz0H+ByEffYljzLePsEgJyhmaAy7rZc0 yBYj+FGB+LcmVUKd7pc+Pf/DTQlgbu+j55Mk5+WpivdZFM9iHsPHNi2yFmzAeaaR m3CLNRBRnMX11fYIzydjtwq5wSa1ydSmMbBcw659r8OYJOWTyCBFnS6QJRk6UgDg gvGn3mxLairK5wBG/6nAxa+uon8t9tl7FKwiMg== =Jlk7 -----END PGP PUBLIC KEY BLOCK-----
<sat@FreeBSD.org>
pub 1024D/6F38A569 2006-05-06 Key fingerprint = 4E94 994A C2EF CB86 C144 3B04 3381 67C0 6F38 A569 uid Andrew Pantyukhin <infofarmer@gubkin.ru> uid Andrew Pantyukhin <sat@FreeBSD.org> uid Andrew Pantyukhin <infofarmer@gmail.com> uid Andrew Pantyukhin <infofarmer@mail.ru> sub 2048g/5BD4D469 2006-05-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =47um -----END PGP PUBLIC KEY BLOCK-----
<np@FreeBSD.org>
pub 1024D/ACAB8812 2009-06-08 Key fingerprint = C897 7AFB AFC0 4DA9 7B76 D991 CAB2 2B93 ACAB 8812 uid Navdeep Parhar <np@FreeBSD.org> sub 2048g/AB61D2DC 2009-06-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEosaGcRBACOXnXquGEW53BjpMt2jViod/TUf1xgjMekcbDxqOODPeX7eYfr wJ8G6BCNOpGjBmWDu/JcNj4Z+gmTilJ6WLZQ7ecFZfEeO91pt6ys0cyWh0xfO+/m T83D7W81S/kqrJBkQbBIdV6LumevdErHo272r8RcMELC4Ru87eRtX3hmEwCgnnGN JMpQFUfYTt5XE7nY0yQoeV8D/0OcWmJbEZWxX9O7AuliCe3zd2Dw0B4LB9SZ2Dis 7+gpVd3xVgYnt5wRE9kM+ThgrMA/wqr807qmEG6bcfUsfwwGN9YUtNF3xAN07cXT s026sCIFNZK816PrThBzCgkwR7pDpkMzGWIBr8WiXXy0eB+JlQ6UV4PEiXuZ5ulz P0b1A/9CZm3wJfrNC0r1gMyrfVedg4zwKU997bmPLGcYs+rWXDTI9CvMseOUYn4C oDZQCp/9zxuHK+VU7Y/w0c/hVE5ERACSn4SjN2unEDstK9njZBMHEPVkAe/YvSG5 cmc97SHlVE+eu/bbLKcvFb6rRLPOaVFQJMJA2VJEGWtYhvP7ZbQfTmF2ZGVlcCBQ YXJoYXIgPG5wQEZyZWVCU0Qub3JnPohgBBMRAgAgBQJKLGhnAhsDBgsJCAcDAgQV AggDBBYCAwECHgECF4AACgkQyrIrk6yriBL0MQCfUJOiS2PbJFDeiav1ylcXXwfp ggAAoJRoS7GDENGyM4BzjJ4b0ptZqTLRuQINBEosaGcQCACFCWs47SL4DQA6bNDl VJu4w8wLf8uVOyatuGmdXX8Y/OTVQJgA3vS+ODNVJCxhKVlvhcn7bhBdGdWKS9K+ lr8+eEvr4hf2bQpesoHC+uFgKyILkCBNL8raixbhysyq0pfZWWDJMyn+G42BG1yJ Ji+bykygdpYnbIVA8dYHmBibI8mkPKOHSohjXT1SRfGGn+l1w54OO4NlJhCXMkjT A/Z9Bt4XeaiR85uJi0UUfV8FGZHhgSvT+/P1xIvz+nytuehSP/QLXl13CtAG/nKV kAcZnsT/3NrJ4Z2r45k+c50Wrf210scAaBogrrV5eIHfNGgOANApN8+8vj+aXO4p XRuXAAMFB/44ea8rd+P5N3OMrfuM8i91Qe1bJ+BIoroKPOr8jvCry0h3QpdfLKUN IgaqbS3JZeBJ8HHnWSGCF+o6H5gzRe1hvylPEclLPDCuPe7T746h9Mzejf2hNDJv Og+BuweDZW4KhovVbdS+syJEvpGF4bO8qgHT2CKgruXSHbFetdQWbkM0rfMmTuo0 GcR2BEVrPb/SPFv64ZZyAZzmnGO4vT1bzClnTzJixrDpH74M3vSEYegMB4KdbLYB i8Jx4QUKgVEhJHjJubKWX4etyU/uuehOC3xYrmr1UXvsom3U8r36Dvdo77Yr3dgD VXa7bolNx0TIhdWxZI+R4z9E75QY+/wgiEkEGBECAAkFAkosaGcCGwwACgkQyrIr k6yriBI+JQCfUxgyqGtzZvLh5Al7gsTmRc11PLwAniD3NfWGRcO2+9uxSSQqRH1y wC4n =tqY8 -----END PGP PUBLIC KEY BLOCK-----
<royger@FreeBSD.org>
pub 2048R/A5D976A532BA64C0 2012-07-10 Huella de clave = F443 1572 D188 7D22 3605 A2A6 A5D9 76A5 32BA 64C0 uid Roger Pau Monn'e <roger.pau@citrix.com> uid Roger Pau Monn'e <royger@NetBSD.org> uid Roger Pau Monn'e <roger.pau@entel.upc.edu> uid Roger Pau Monn'e <royger@FreeBSD.org> uid Roger Pau Monne (NetBSD) <roger.pau@citrix.com> sub 2048R/6927D92634ED085B 2012-07-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =HRNC -----END PGP PUBLIC KEY BLOCK-----
<rpaulo@FreeBSD.org>
pub 4096R/39CB4153 2010-02-03 Key fingerprint = ABE8 8465 DE8F F04D E9C8 3FF6 AF89 B2E6 39CB 4153 uid Rui Paulo <rpaulo@FreeBSD.org> uid Rui Paulo <rpaulo@gmail.com> sub 4096R/F87D2F34 2010-02-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBEtpXcMBEADA2Fye/cDy2Tiay+ieM9avchk+igtnLNdmHv+07rHP4OMXfJ2D HcAl0+Mbehs7vLQBKvpIFXJAE4z2JAaLw16g/o8AUEO0/tchFy+RGjqxzwrY6Xv8 ur3+lyezJ/Xs34yQb7h+m2i7gxp2lXsk15zc/V3bJ3EGnTPAxTD0/UGT5UMBSK8a TVH/YTvYuAoQ162qtjrfdSWgO83+mJHtyO52asF6Jcv4PxTc1KjPNJ4CF4qmRAGn 0RH+KCHN4PWxfLx7tZm3W1y28rEOkzjezqRs+etz4yGwK0oiQU0l0xJ/HocgmQyK HTytMRU6SJZ0YWqMOr0avZzjIkupcKYwVjOEy0p80gcREj0ka3aep7PCUh07ftgJ w24Oon6xMVt17sGyqqAAzfVVWiCa790SRYsuu5cQdel9RnyH9ozWWM6Ki6q+cq0v mSWwS4TIqWWkXxZsF0H8C4TM2UkzskwfZDvAw1qlmmEsZ18x5+SWCYf2k4j7as49 jXFUZRU2XBF1enVkqFYKnHwTpAMk9JmFsFXMQv+WMTndoEjSi1YG/NRLRboaIT0X i6+AHTAdh3oZ8bqdifE1jJCivWPn/sAsUICkpuagGygDFHC3q+5BgYVyMnJuS284 +gB5HKZ3ww0gk10xc0EG/fMoSUEed96vceyk4qTBxfCl+bM/2KstlXfAjQARAQAB tBxSdWkgUGF1bG8gPHJwYXVsb0BnbWFpbC5jb20+iQI4BBMBAgAiBQJLaV3DAhsD BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCvibLmOctBU4ypD/0ci/Gt1KaD khN95sad+8ZJFK4K6W4o0g+dMjDa9Bb1U2gfyKobO/I2FWg9z9a5PTO5BaeOtU6L iGwhNVJ0iOfZrAr+cnUvbDL6cJa1gy9khzvNtVj/eUAd1d7RPImTcwq6Dn4fTstZ 122vuDQZeh82e8W9srJPEcGgPvSk3XIZF/gilRBPcfN6KmOt0Ixx7U2rqU0sblG+ jQKG8nsDO1huNt1dYgCh34vxeVzvsvGqFeilh1a0cvxN6+GQa07uF732lA77lMB1 +1fEhiS/n7K+6T0w51sNjoieQAn5pE2hw8Q4QZ4HTaXaI4YG2n7dOclTtDYm3FCv Vdtd+4Wn2l/2VpUQfJ26Ge/BslqgF4RiljyAQ2fLcPhR1GWFzsvgDuNZRSM395xi nS54SGVsmMkEPoblIPCvhG26C7UszmcUfjyI++0nMRhCK/R4n/aV0VKxBWoUIhrD uksOFfO3jmI/58fmYD4WvDyvv9nyeo7E3MpGQMAZdNPKBdJSmFHzRFvC7LGgLxaT lR5uXyPEMrly68FjPiYqHDhUP4TxsBy/IBwPkizxoTtS2OEvR0uQDR0vXAY1+Njv YEeob+aaL8WNM4FfDZ1ZBd7Ux+qnDXuxuvR4MU7WlrzHunqWFirC1o3PslMbHNP7 oz09YhXXNLSM+6j3Jb4zDEfsgsg02SpqxbQeUnVpIFBhdWxvIDxycGF1bG9ARnJl ZUJTRC5vcmc+iQI4BBMBAgAiBQJLaV3zAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe AQIXgAAKCRCvibLmOctBU8XwD/48GsS6Zxmc1I1qhnGPf7+b6VeHgSyTHtu62TjA BGoGHeBcBiMe48ws8Atoi92EiA7pM+43aW6Hkkc/h9/1cGugsPHz3G1haw6/ikSv X1TU4Z3Sf+5E9NaWL0nT8o0LtQ4ZJ0BriesejV3fRXckE9gbsqOaP5legSqs8xje mk9lio2VkHGlBC23d4z0NFsXv2+Y/ilrvvoJMWANGaV/Ejgscb2EvK3xGgxOB8cA MvybOjLvDKbXAx0LfL2VtPIdsF38n744B1bsr7yreYQvMkjYxR5ASgaVVx80Bowb CntPsNWzyTSNMeL9IfKd5spO7QawJ9dNQzTG38SE3svv2iAf6f8uS2WNmVQxQHDv oB+mZ/ertNsxE0VdFBTzOuwnoRzurtOHUZnRvt4zLFOfunEQOMeo4HnXIoCHbaIK svXmSRl8+lK/jn5Sm7uXFVMPWCEwOlGfcey/30mAUj+9aY8TBEII6xy3d6n64cpf 26scuS9KaYBCuqOECmQ4wDZKHHVsWQqjSeH1WOH94E47IYYhecJB+yaleP2E/4LU CokiRbyLlAklpT4P9x4RFt+MoWHrKMlesiR8NBVpdhV/rZSk0eF+vDuoqdrNA+8k dyPkWCRiKra3rRc+cdQeoD8tW+7Gg8mcFnyC+UOdTyHF1bSxP/hoODW+eu0mm+Q5 OPlB6LkCDQRLaV3DARAA3XVIRwiM8YFt2haoWsU1yoBPTQhACxaH5YNXfgtbV4dn ENswRzVyDi3UvOSmC4CX645b+4RslzFTAW5iq2b0ExV0TQqEHsCuujCItUmdYeql 6stEgVfNBiRVeYFa+6a3rWkh7dD0UDxk0PDA6pkWbUMgOGUwm+oVB6irHvcllN3q DAGouG23BuurPyFXC8ripXp1Oj/1PJcH5gr6Z675raaRbQuXa4ysLAPMbfxKPpON FhVJ77ilFzDFRknFPYBNoodQYLSmFqOZZ5rqYnBK5aiJFiDBSgYQtCJ4cbx4gCwd Xs9wF1lOZcKSiA9L47BZOmUL/nvGOXff/ImN5abBhJzxgm37niqZlRbHEaQ+8pJ/ jLLqL7wzRXw7YpzVyXD+ru431nFBO5nUbfa9Q1b5VPVgsYV7r/3j8Purv+PeCZTJ RAU/qUBm7FhxStwPT/5jBM/oSdwLYX16naa4xGKgXwyccZ97vUsspRQnSDaxmbaz 4s1iwClPauHfRir57opc51sL7IypnGBfnKXzebApbZcnKgYFKxVZbIVoaNFlHc5S Ti5CcP031vFf9R4uB0Til9qIgyzdUVpRTg0XNGxQjSh/n6/76gpQqah0jh60ae80 frB74alM6JCdJHmYWzr664FMnplUx4JTiggAL9CMpU1Y6kYTkPMrk/dpfcAf4JUA EQEAAYkCHwQYAQIACQUCS2ldwwIbDAAKCRCvibLmOctBU7KiEACFQ4Dd2cR3ybc2 rppjM7hI4i6wvpqDu3qD+4xjKfa1h7Ihtxh/QInl6a6cwTwKhM68gIM/43nrMrsD vfukfNGvgavrxdNQlxAbItEybDP7PFJEqIEjCBl36KAAYMbkzlXloYAHX3eyIz4Y ZOKGVF2lQkhqmA/SrmM2Wqk/uB4oATrbzOUvKFa+9R+PVV7MMZbpM0tiVak2fUn1 M2N3S+t2usxMXVIfHjv9LexEokaWZcr+vj8NM3X/HVYiv+YXf3bO5D2Yw67ISa49 ucFYpbOChs5a3ONrfd5v3smvkWE1ReWsPzpJ286lnGj8ZOhe0R/P+xv+dRBJzf9M mQTHR6L1VOgVmYkjONbZDCd+Q/Xhcuj4qeTPQtbh5ek5PqsQ6sukppn7YccbyMoA HHyZzZJsByT5M1DqjsioOiiW1iCRjXZfKttxx1So7aTmpsH4i7V6P0s848sME30p 6yCsgCJgt3YPJFQqtMRCczmPWYMFKqBxQT//akRnThlIRCC1rjJBML1yoLvTzG0u 16vOXdfscrwaGM/fOyC1sZEypyeXT7LjojQvVPfBBY/qXKjLckdpZ0YeXNSoquku dixFpPDnlUBdk/iuCcVRtWg8B5fPN/fbeJVRpNXnedw8aNes9JZhnj5jmTXYUlqA ik5Vxm3qOoCKPgBkTCUAZTCmZZ13YA== =vI+5 -----END PGP PUBLIC KEY BLOCK-----
<dumbbell@FreeBSD.org>
pub 4096R/D938F9C86816981C 2014-01-14 [expires: 2017-01-16] Key fingerprint = D72F 4B84 7098 9244 20E6 2B93 D938 F9C8 6816 981C uid Jean-S'ebastien P'edron <jean-sebastien.pedron@dumbbell.fr> uid Jean-S'ebastien P'edron <dumbbell@FreeBSD.org> sub 4096R/A185D28321B02B03 2014-01-14 [expires: 2017-01-16] Key fingerprint = FDC4 0948 8453 5198 3EA1 5F56 A185 D283 21B0 2B03 sub 4096R/39E99761A5FD94CC 2014-01-14 [expires: 2017-01-16] Key fingerprint = 6708 7FD1 AEAE 0E12 DBC6 A6F0 39E9 9761 A5FD 94CC
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =Xm13 -----END PGP PUBLIC KEY BLOCK-----
<mp@FreeBSD.org>
pub 1024D/330D4D01 2002-01-27 Mark Peek <mp@FreeBSD.org> Key fingerprint = 510C 96EE B4FB 1B0A 2CF8 A0AF 74B0 0B0E 330D 4D01 sub 1024g/9C6CAC09 2002-01-27
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxThkERBACPf5/QHmyM944qrl3hWlWvK9fZZR2c37rhxAeqDJ8WsEMPBTZK WPn9BsMk+2d8e62FkzYo6L5juekd8invwd1nnszFFJdTDWx+vpMMgYuHBmme0QuP OnlU2FwJUCknw5Ed5pYV8F6azGgUNjYKIIJi/L3D9S2qDZ7l+3DgD0knKwCg4o8Z ZE2vd9uQw0AZ7lIa+li3hB8D/jHrVZqHxhOuUbxIXoJG3g54mH4i9GF8uN8ZdhA0 9AxLVLzjLr4CQd97++LdSLagSvgD9N6OrtMPeqge4Frr1anJ+LRPDeOQhd0meJZB iCiekil4DSOsowqgmIG7DlAJx+PNV66qO1ExX1fv1ugyoWHJqYmdBSF9x1fHU788 GxCtBACC9DLBMmMVu1Fsw3rnkZaR7xX1a1Bu95ZUu6TKJP6qUS5GnQOxF7dDjuwX /uRinkQ7W9vR4UuVvcV+Ct5R/yq7e+SfLb+YFQ2BmWeGNs5AVLxIZsZ0ar16fwB9 XdxxHU/IkA3kYo4JfTvi3QXjLn4mbYUuBIVGAL63UO1kx1c8crQaTWFyayBQZWVr IDxtcEBGcmVlQlNELm9yZz6IVwQTEQIAFwUCPFOGQQULBwoDBAMVAwIDFgIBAheA AAoJEHSwCw4zDU0BXeQAoMlSoeOO5WtFMyC8viNAafpPcT6hAKCcjmQyI/cI0id2 PMX9ZOfrKd/ma7kBDQQ8U4ZDEAQAw9gcDj02cAlUh8G9bLIQazPLJnX0fah7KB3O kxh8wFn0LliP7W7HLB+nQNyO4TfNgI0bhVyKDQQbKI2xJ4hylo9Z1K2R7GilgCnB FUqIp0MdqAswX2Dq7KXoyYAZRBOnQounUMaQ+6cfRI37mWc6dC2uY5qHne4zmLML /lVOjVMAAwYD/1ZArkN4IDk/VALPnzW4VYcCcT+101DMZfIMvHK2MiwWFmO+Er/K gIo9DrybHNQ6+bVQh/F6PSlxDrgWey7dQbHQSssC364v3RPOCmuBJCMTEszaais3 VekHF9i9NMsUzbGpowaQv+YKMFQu4Rtlwaq7NUp/cD4a+jaxto9ij4EliEYEGBEC AAYFAjxThkMACgkQdLALDjMNTQHvuQCg1PrMlcafQ3BUaXAQRlGoyvF2WcQAn17c HA1RAO/MXM99nT62+AKLlpeb =mfY+ -----END PGP PUBLIC KEY BLOCK-----
<roam@FreeBSD.org>
pub 1024D/16194553 2002-02-01 Key fingerprint = FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 uid Peter Pentchev <roam@ringlet.net> uid Peter Pentchev <roam@cnsys.bg> uid Peter Pentchev <roam@sbnd.net> uid Peter Pentchev <roam@online.bg> uid Peter Pentchev <roam@orbitel.bg> uid Peter Pentchev <roam@FreeBSD.org> uid Peter Pentchev <roam@techlab.office1.bg> uid Peter Pentchev <roam@hoster.bg> uid Peter Pentchev <roam@space.bg> sub 1024g/7074473C 2002-02-01 pub 4096R/2527DF13 2009-10-16 Key fingerprint = 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13 uid Peter Pentchev <roam@ringlet.net> uid Peter Pentchev <roamer@users.sourceforge.net> uid Peter Pentchev <roam@cpan.org> uid Peter Pentchev <roam@cnsys.bg> uid Peter Pentchev <roam@sbnd.net> uid Peter Pentchev <roam@online.bg> uid Peter Pentchev <roam@orbitel.bg> uid Peter Pentchev <roam@FreeBSD.org> uid Peter Pentchev <roam@techlab.office1.bg> uid Peter Pentchev <roam@hoster.bg> uid Peter Pentchev <roam@space.bg> uid Peter Pentchev <roam-guest@alioth.debian.org> uid Peter Pentchev <ppentchev@alumni.princeton.edu> sub 4096R/D0B337AA 2009-10-16
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 KXQCmDuAAhfLF4IJaH7iSZYLqolgrSl6l0j+ea4kWhgfeHcSoKFsMjV/uKn9qCV5 Mk4UNEuEDDSqnQTXZjcmMvhyMvzORMGLN9bRsdjLsa4UjcoLoz91wYrrrdAGxxiL CvVcMfU+2JMsf0GuK7CjP7Ije4qkxDojjPcorQ6hW33KKrc3R2tXUwQqlnZzZ4xT Yxu4um2uIpuEw/CIKZpZb1dwKcny06XF1CWAsd7nfsU6EnUVnQS4Ik3xSAikgmZB /VX6N475Ky7ClXKK1ptoh2YCJMfrI/RIbaWPftJC110kAJgWfrsvAnkbK+g/69yi mz9NUQE8zf9v4mf8IUmYElPl3UeqUX9b+JhJiYIGlqYw7eWX0PqUJmGgkjsizPR8 l5GcbGFvcYEq1ldVrKPbyJtn58X9cEX+4Dw/ushUaiPiaYN+7NEK9Gw0mCaTjveB QLfAcj9uFoPHvrWzTKn1caO1febZawer5BCEtPZxHzTxAJ9Mwhy7I4lI8KEKUW51 hbb7hNPFCokrqAKRMTAMiokCIAQQAQIACgUCRUzvCgMFAXgACgkQvJlvTb+wLG90 XA/9F9qCy07Km3qz9c6x3Cya/37ev6YSo3H9OUbR3DkB3LqPBab/6qvYUxemH4tw RETpRIIEWFa2nhyhaj2My7g0I0STQtavOQIsoy3Zt+syS+2slvXY6w3whLnxg1bd AyZieKMOrZdHnQYB10o291oIXTmue79Dd3Q7TWaZyrV5NkRrAVWkVz7lz5XH/rVr m9FWhEox6iDY06NyeIDncDf0aHPfFQYK2KhSVv2OM+u5jBc1EBp+EP9+hlluj9t4 u7BVhqQenHcROYZ9qNiDDC+FxCa5+rUK2muXQTlMz5i10o/1hkxL4NCyz1TjyLWm cGhEGHwDBjnxdkr9CO3SZdRfandPxmigwMGZ44zsf6WeEEhGkkaUR6nybZXZfdLY AGUF8g+h8Pf+BkQLZLnyu8L1zgj0xOBuLPexhA5Htdkkd1pFX3UrVMGeSXMbxWIE ve9GY47g0Qh51qu7PVGH38HKUHa2hVMZ930s+jxN4apKQgh7gcAqMXXlvcEIY/zc NtbK+LHKI/Pq9Vvw1Cf5Ix7mnfPmo6LZp3g3ZXkNsS68z76r+MFIkvYKpuCEnP0j dGUakq0CtrKbSTG5STHkp3Sx4CKRBNRYpinUlZCSY6nSOHcCmelXVbkfCQCt37vr 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 jjAqbYfJRPjeyqTOUA== =S5L6 -----END PGP PUBLIC KEY BLOCK-----
<den@FreeBSD.org>
pub 1024D/485DDDF5 2003-09-11 Denis Peplin <den@FreeBSD.org> Key fingerprint = 495D 158C 8EC9 C2C1 80F5 EA96 6F72 7C1C 485D DDF5 sub 1024g/E70BA158 2003-09-11
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD9gSfARBAC0ZC5VEuEzqk8KQ3tFam5rugDTaigVzYDmT6XBrQuVwYrFY5zj gz3o87e/KGmvh0FgpulhoJpkOW9l7oPQpp0wvEm45WRq17+7quW9VppgVCzs79FL Cc77A4g5LAuO27i1yygfMfPrr6J/M5bM2FyuUS35QvKBTlkZiB/Zt1d1QwCgzJML PdRvozXQdg6/bPc+M3Wh9AsD/0NxL7cwGExg57hnxA3oNB4M7IM1MwbDDaEQvJbW Ls8c+x2UMzdE4XHMhr940GiwUzEa1lyy0M7FmB+cdFgqhJ1VFjYE6VyGkyYtticL my6Im5S4Pfvx7pO2qLmYW+OnbnC6FFgFPbsAZVl/1fy4hN7U2zQIMw3kIodFBnyN RMsvA/9uzITCim3ov/9x4OYX0BfUNNmczIZMvXbmcuDH+NfwkGu9pmRitx/AWHGJ chOv4vMuMnBHU12TV1dstlWrb+Q5DVrnbVUq90mUbxg2emvlv+xK2oZ9EBKjAv/z NFqySi52vd+OmgopbVI6bI2+VdKrKeNcDByt/2zRGo9Y9hDULbQeRGVuaXMgUGVw bGluIDxkZW5ARnJlZUJTRC5vcmc+iFsEExECABsFAj9gSfAGCwkIBwMCAxUCAwMW AgECHgECF4AACgkQb3J8HEhd3fUzKwCgj1hA+IDNLHGdD+ua2bs3nPcL+vMAnjR8 6CwsvOZIL5cr0EyveMsGNWqnuQENBD9gSfIQBAD+YKY2v46TD994B3h0KtAI8/Zd aJ+K1yUNIDxjueo7v+c3jKaWPgX1h+Cr/O936IVnG1zg81zEF0Ly6NcwWrj70UDO deA4tvx8HQoYfjwRA2kYAv73yvt+UG6WS3cGkX28dcLb8/JEV5M64AYKhgqRX12m VJWIKdqMYzho8n0mCwADBQQA9WcaZB8RVj22I88DA6okYxiU2vqAN+QUvZfX0X1/ 7Rh3mB8iAXBuASEw6NbQnGtky8RlkTDgYu1UJt0aSV2U2CXKOyPCJut0Ka+YYtOM prdHmnNSksNvwThju8F6js51nrf3D/7L9SFhc+W8JTfa8iz9Zfgq1HQkZ3foSO5J W0CIRgQYEQIABgUCP2BJ8gAKCRBvcnwcSF3d9Ut3AJ9WFh2gFxmqE8O3B85dO4yx z/OvxQCgsQynjVGZI9JJn1W0KOAYSbihdu4= =kQUf -----END PGP PUBLIC KEY BLOCK-----
<csjp@FreeBSD.org>
pub 1024D/033FA33C 2009-05-16 Key fingerprint = 74AA 6040 89A7 936E D970 DDC0 CC71 6954 033F A33C uid Christian S.J. Peron <csjp@FreeBSD.ORG> sub 2048g/856B194A 2009-05-16
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEoO/iURBAC3FVq7xH4uRIEWRvmPzD1azqtwlQE3zipCf4K9B4EjKidksgP0 56qAkWMvngWG7OW9YNCtZYgDNAINOGdw2pZYioERq7U+cdIPKSZrIP5WrpORdi8A 4i3VmRKh19ztJEGb8jvthYDlEyvoABXmz/Bi3YHDkfjT0py02SnkcjikxwCgkGkL rNwWGviRd6hsBZZEeximSKcD/0OAthVoMmk4bMByWPoEWf5i3I3JHDeC4g3oEgYp 7dxMaxboqjFmiTZ2xMwdR9wlpwE0ITSeVj5pMtswr8q3ghLdlXOpd4wn/vLu51/G ra7cFgNex3kCb+5tLfqZQCiK/Y8fQ6TJdowaxN0xtrdGbTtUR0BJMi7/AhNF1GxW HeE6A/4n/K5Z8EDq7e5HZ5S0lx3MAKy1QgS1tnO0aaHK3v+DtD4xbe9aV2ls39sh 2Xu+z5QGkrx7q3HOSnC/DzMSYDG5I45GGNdDoBVmJ6IfvNICzXgM4hDh8KgIXNZZ PEkHN+uwTWCnIj1yhothpk86XBvyiEAbCTwQ5jWBmZkvLI2GdrQnQ2hyaXN0aWFu IFMuSi4gUGVyb24gPGNzanBARnJlZUJTRC5PUkc+iGAEExECACAFAkoO/iUCGwMG CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDMcWlUAz+jPOYNAJ9WfWDy0ZlOC7q7 KUyrq7e49no1SgCeO4nUcK5nLZKkyGXxTbnghFZegGS5Ag0ESg7+JRAIAM8UbDPn dVBYrvJqBwdWQA17XN6jycQC2smWLnJ6geaQfBgXAff5/Hn1LtPPG58k048yF6QF xOCzPOTrkjaL8GlyKGLK9jfctyC+zRl5FvNyJIBIgFRsJjBB9K3FpZEsxWltSyqc 5mxf4D8VwJeDfWdgeqVgORapBruHm3MAf5B13PfBN8lV2Yqbo520U6ZWUtdTscsL 2QLTZcrIN5aq5Wsuy4r8H90h3JYcOUK4PJTBNLmlmLEuTlENbv8E5YVvvgx/ZJ9H lX9FWz+w/hrEQIR2xnF8MJeAaOR3Q6cKgvFrH7PUHwvYxAXkXGWv6xsJ4VEA7a3g IOytL1l/8Zo0fiMAAwYH/3Sn6JzdbiF7peLiQ3SqbNSQV3aKxNP+PuGvuALiHKKd WgF5xjrBfgSjJbybwm4YtNfqLU/x8SEtEXVkyMozgWSMn2K/vFrgwURjG92IhDXJ bOzEDyx86/iJosMn2glcb9eBYGrmz92H+9a1Q1xMyuk7uD/+nFcJOj3GqnuFK54L //A6ott10Ddgg8JB3jehrzrOeg8/IdPifhT845X9q24b3kG0orzCIOk0/xyUyps+ 9A3j54Fp/atyVmHFPRedjGMwYPIqKQvFnzYuaoN/NT1yJZEFbyud/h1Kpi4+Z2/C Te9glz71eqlUSond5WFnLSd7GSuUxXprwC0bGQ61tASISQQYEQIACQUCSg7+JQIb DAAKCRDMcWlUAz+jPNDzAJ4lJdUYDs8aONEFRW/TpLMiepzPqACeN0HmbLJjwaVk tI1h5vM9MqGGVwo= =p6fK -----END PGP PUBLIC KEY BLOCK-----
<gerald@FreeBSD.org>
pub 1024D/A5B3A004745C015A 1999-11-09 Key fingerprint = B215 C163 3BCA 0477 615F 1B35 A5B3 A004 745C 015A uid Gerald Pfeifer <gerald@pfeifer.com> uid Gerald Pfeifer <gp@suse.com> uid Gerald Pfeifer <gp@novell.com> uid Gerald Pfeifer <gerald@FreeBSD.org> sub 1536g/00EAD7F3F0156927 1999-11-09
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 CgkQlxC4m8pXrXxzFAf/fMyEmUVxLqCNCHB2mo0KvuapPv2ResmeJUzZxVnATuAV 01FE0gaXbgj3fKZc0WHmj20y4a+ufqZRfeJDacoE7HWZPuNa5zK7By5A6wayTNUy YPa8dZe3bizT5M9rS+mMto3GXqPC8P2IvQI02ExBWRlcXSUg4iQ6NxKoQWZVAl3h cVA1VNutO9YYWdVt1Ok2id79cTiOtmhSDouz6YVvmjYVCddDsXdRqb1TR5GAkEQO qYLuZTao5K/Q9Ix0KJwQI/////////////////////////////////////////// /////////////////////////////////////////4kBIgQQAQIADAUCQtGsBAUD ABJ1AAAKCRCXELibyletfA7DB/4mXdMTUrPw5RhkIaGywAI6wIYO1SFzuMaYN77U 3hJvG58sJcefWHArRvd8DCkexx11Qp6JGP60ensjxZGK2YJdJ+Hjn2uy+TdArkim nCrIgO/6NJNsMzj67h9kwmYZcSuGWX6RhjdiekI6nuN9DEV68IokDUATEPYYe1p+ mc3qpeo7cb891oXdQofBmZ7AbsM8FzloCo8uljw/Q0neewUoeGDjKEDwLJsIl62+ wB6Rm5EMaEhpLaWQj6ENEMMQkDB/D5+yILBjHURWD49ZPWnbUIr4hckWPVXfTmW+ 9zYpb19RMOX/UwFcq3Ltx/ip3cz5WT1d8sFEw8acw/tSbX4fiQEiBBABAgAMBQJC 43X8BQMAEnUAAAoJEJcQuJvKV618ltAH/12T8pHWvKt3yRAdyF5XuqO1SJQa5sMZ giQl2dARckOi57RACdbVkhJ/KrXvt9QF8sPhfnVNg3U2tb1Pv7L21IbXNHJhcYD7 1quYkvEWgZSrf93Ct0HEbWQTtgJnczdhyUakeirWKTOy1QWsNR0z364jNz9hKUXC PsIG77vD0366xlR6lDRjcRdQB4CLNLeUvICubPi6+aT+Z5i3gCvqonS86snQX3V1 1jFJo7fE1jfEVMICrsJqgrWlMcD1w7L8APpN5eHkgOHZ9YbwdiETW+qKv9WESg4A lxhT5iVzfj1ZNFU7pKQfbzr2fSCNLRdFsvaROLzSScsLIQt6SZVr1MKJASIEEAEC AAwFAkLstAcFAwASdQAACgkQlxC4m8pXrXy6ewf+Mb+JYySoNL0SoS7D4EqgXo/e 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 o7/7EwCeOvTpUh2KYkATZ1D2yfKh57GRxcw= =QCdT -----END PGP PUBLIC KEY BLOCK-----
<jacula@FreeBSD.org>
pub 4096R/8B9F4B8B 2006-03-08 Key fingerprint = 31AD 73AE 0EC0 16E5 4108 8391 D942 5F20 8B9F 4B8B uid Giuseppe Pilichi (Jacula Modyun) <jacula@FreeBSD.org> uid Giuseppe Pilichi (Jacula Modyun) <jaculamodyun@gmail.com> uid Giuseppe Pilichi (Jacula Modyun) <gpilch@gmail.com> uid Giuseppe Pilichi (Jacula Modyun) <jacula@gmail.com> sub 4096R/FB4D05A3 2006-03-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =jIdO -----END PGP PUBLIC KEY BLOCK-----
<jdp@FreeBSD.org>
pub 1024R/BFBCF449 1997-02-14 John D. Polstra <jdp@polstra.com> Key fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/ I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb +45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm 7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM V31K/PIoYsHAy5w= =cHFa -----END PGP PUBLIC KEY BLOCK-----
<krion@FreeBSD.org>
pub 1024D/AEB426E5 2002-04-07 Key fingerprint = 58E7 B953 57A2 D9DD 4960 2A2D 402D 46E9 AEB4 26E5 uid Kirill Ponomarew <krion@voodoo.bawue.com> uid Kirill Ponomarew <krion@guug.de> uid Kirill Ponomarew <krion@FreeBSD.org> sub 1024D/05AC7CA0 2006-01-30 [expires: 2008-01-30] sub 2048g/C3EE5537 2006-01-30 [expires: 2008-01-30]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 6MXOtw== =3Md4 -----END PGP PUBLIC KEY BLOCK-----
<sepotvin@FreeBSD.org>
pub 1024D/3097FE7B 2002-08-06 Key fingerprint = 6B56 62FA ADE1 6F46 BB62 8B1C 99D3 97B5 3097 FE7B uid Stephane E. Potvin <sepotvin@videotron.ca> uid Stephane E. Potvin <stephane.potvin@telcobridges.com> uid Stephane E. Potvin <stephane_potvin@telcobridges.com> uid Stephane E. Potvin <sepotvin@FreeBSD.org> sub 2048g/0C427BC9 2002-08-06
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD1QNM0RBADbw1IMsD6ShBkXQirwG9TUFkBfZOaGUB9nZZTGZzkDWsj9/8FP TacAKze6REEdtfADFyYolZrps+o0xVUI3ib5kzXnzz8yj41HTzR7PG0FcgINt5Ls yuq+d3ETSu2AALwNfolKy/9yIIcRFl1bI5cawOua5MB4VUaf4JHiyOikfwCg/zsO QReMvoKLcZkn9pcCH6EZHtkEAIxZKMcRaIuGe0vF3oP4GfuEXIa7K7R9ez0u3iiD inNPQ5vQuY0qJMLbZAu6wyqEP9wVXCdAiclBbPYRb9tabcV5gFkuXpLvq5E7pGkN hRF/rUeDxf/EKIklqe63KNqgzMZ2nM8lvoDkUrdSQL5dc2Y5a6VIq22QsgaraYmo j4p7BACAfCiZjND9VcNAQmTvEyNGslQ63gzUfE7D8Xlx2Glv4PP9AmZ2X+FRliY4 YaARKDK+62bNTrJjQGiaIzz9LsFV5zpYvHBQ9KP6NIp5bP3ljaUwyAJt5+GT8sGZ ZOBpSmau+s8RmSPajjvSwACjWF9tP19IJMtnk+pMn1SGiVbMA7QqU3RlcGhhbmUg RS4gUG90dmluIDxzZXBvdHZpbkB2aWRlb3Ryb24uY2E+iEYEEBECAAYFAj3s8qYA CgkQpvaYsfdm3ZH1VgCg3x3Qbvq/n5W/xonGXqI6+LJXLw0Anj5AgE0GPTC1naYn KpFmD9Hb+m6LiFgEEBECABgFAj1QNM0ICwMJCAcCAQoCGQEFGwMAAAAACgkQmdOX tTCX/nvccgCeIGN+hK7GND/4+9BbHpXOOnnlsJ0AoOavUpZeUj/t6pw+ld4CU7t5 iUrhtDVTdGVwaGFuZSBFLiBQb3R2aW4gPHN0ZXBoYW5lLnBvdHZpbkB0ZWxjb2Jy aWRnZXMuY29tPohGBBARAgAGBQI94tEZAAoJEJnTl7Uwl/57WiQAniYT7h0K32tZ 1+PkyM0UUvu/Vg3JAKD2VXNsiI3w3o/xm20IqR/UwZtAVLQ1U3RlcGhhbmUgRS4g UG90dmluIDxzdGVwaGFuZV9wb3R2aW5AdGVsY29icmlkZ2VzLmNvbT6IRgQQEQIA BgUCPeLNjQAKCRCZ05e1MJf+e0K7AJ9YssAR7btTX0oE9MNYYVQBbfYNpACfdyiD QeQhD+7FNqs4cZ+GEsWMxJ+0LVN0ZXBoYW5lIEUuIFBvdHZpbiA8c3RlcGhhbmVf cG90dmluQG5tc3MuY29tPohxBDARAgAxBQJD6jKhKh0gSSBubyBsb25nZXIgd29y ayBmb3IgTk1TIENvbW11bmljYXRpb25zLgAKCRCZ05e1MJf+ewE7AJsEexwRGNC9 uR8JUPjttVJG012/VQCfVg4M1xq2+h3Ys/DecKUVxt0uVsK0KVN0ZXBoYW5lIEUu IFBvdHZpbiA8c2Vwb3R2aW5ARnJlZUJTRC5vcmc+iGAEExECACAFAkXQf8MCGwMG CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCZ05e1MJf+ey10AJsHFjVs9WEaui/i L9xfITeCmwkd/gCcDlRcmGUW3ov/jmeDzGFrE+MQsqK5Ag0EPVA0zRAIAPZCV7cI fwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ +AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm /xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1F HQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzh sSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZ Jrqrol7DVekyCzsAAgIH/3fG4jw0qo+iUk3wwS3oLPf5USbiPYOjUZ9jpaII8pYE iH7i741cPL8qNpFgshJANd4sz3Iu/hu3xj8aWaZ+jDOM674U69lcv1hl/rrHESIR oHIwfjmExLtnFl/2NvQ7uKM2jKoJNERtbi5P7PfLqD2Y8xK1W8cFZmPuD404SBRu ubk5BrYXv94VU8rxE34uhOEuAW/I6uv7DhCcr+bVJzJQYCsHxHh79kHsHEW6KAGb W34S96t9m8mgl7Kb+KCS7CqmqlmP4/itf/26wfXf5ynhRrWpUuc+jbf6n9afjjzm 0CWCBS6/f2OALgJX+J5DUG5TggtFVKMMQRf5Bv79F0mITAQYEQIADAUCPVA0zQUb DAAAAAAKCRCZ05e1MJf+e4YEAKD8ArLrD9l/sJDn45ZDBjs3PxAEWwCgoy+go5Wt 0MmiyLIGfKRYTeFnh6A= =AbPN -----END PGP PUBLIC KEY BLOCK-----
<markp@FreeBSD.org>
pub 1024D/182C368F 2000-05-10 Mark Pulford <markp@FreeBSD.org> Key fingerprint = 58C9 C9BF C758 D8D4 7022 8EF5 559F 7F7B 182C 368F uid Mark Pulford <mark@kyne.com.au> sub 2048g/380573E8 2000-05-10
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDkY4OYRBADvB+3Uh68SGrlbrq1MTAN/gnVaj4ztmA15X13bunGYdLKLEJdq rd9xFv5OgxGZXJ+sDhbKomJ7yrBGtUwC5kIrKXN+MPbO60yy30+kIVLKjXIv1d+c MlWhjFzHra7WGFmvhzYnbOI/zjlOR68iKHnwxhtKFOK9m2O3voURWLEuqwCgzK/S j4UGrPUmZf9XOZcKdnN07nMEAJrNh6aoVgK1xwpyO9uTURuCppqAUym/fr4xNQqh mngblwIACnV9FpBi1ogtX1iDo4YeQa7t7ALgdwTBbU8upVFYzoVByid9ibNu3OKv j9JvL55jUVg0wv6a8bEWjxnNK/zVa/HCzTbAzHob0CSgH9WmEJJEUIqI2/PG2dj+ ZX3QA/4y6Gon6iya2wk0Zs7mrTj80kxLRMnuPN6geTGVNTfrxat+sA1PVpT2WWSo qOrPoyxcpUBbJ3VlFmuYDDgld4lJiGD/2SG5BkD6OoGlRnD5AMgUxQtQFnkloao0 3md8UDucIJnJRF94pttQtv4lVKaocm4z0Fx6cWC4Ysupj1AG0rQfTWFyayBQdWxm b3JkIDxtYXJrQGt5bmUuY29tLmF1PohWBBMRAgAWBQI5GODmBAsKBAMDFQMCAxYC AQIXgAAKCRBVn397GCw2jxyVAKCbPwK2rDZx/oahfd4M7XJ4GoF0xQCcDExtL+DK wOugUQwfVIExB+HBM3y0IE1hcmsgUHVsZm9yZCA8bWFya3BARnJlZUJTRC5vcmc+ iFcEExECABcFAjse9k4FCwcKAwQDFQMCAxYCAQIXgAAKCRBVn397GCw2j/OXAJsF bdYQGgCs3sXMOdb7pNUi2DL2kgCdFOFSojmWV9mulpzH6ceb/fKgoJC5Ag0EORjh UxAIAMrmc2VXtnp/WWhGne6yTirnnWjR/c+rSK8ixbAqTkdYnocY6gtBJliR7LSh Cv2RD8TaUc0ZZseHC5vR7VZKXobXUF7QqB1Rgzz/CpsFeEmxxQxZrVKNjwcMloSt wmH17yW5tBDg8+6KhFwHj40oV88/49L8utVMEW80gh9O9TlYw5qCAp5QKqkFS52A hO54xjTNdEpv/9yXpwQfgUqkAHM8MQhsaxmKCIQXUGt6Lp13aHDAYtMizED0LBjV 3P3qCoc03P9k2nWwGGU7dukncYNNuLDW9xwkAfV9VQuPYCHEBiPTcRnn99imyvNz FNhOElHDttCyKtt1FdZZVAQzXusAAwYH/18mnEMMv4rMZglYb0PRCxaxwQYkxESt KyXEclTc0kgyaZnf4Vbdz1rroxxZLIf+16p/MVNFierz/7d5FbJYggCDSsBAaj4r Qe2/Os3oCnHyyQY+zF9Ac30CsxzgDxMYxYGJHr6x+s9cloZ3WwBFAO0bMoS/9T/9 /S7L0d0litecox5et2yEw4AqHdCslGx5mX0os66uh99eeEwW2EQHSLklwUPReb7U 6m+fNyWxq5w+qTPG+zcXdiW/117T1aONVmg29tSNW8S/syha2PCJ+IoordBus4mU kfa49yCuXyZAYDNLbkiqMVTDCqrH2+n1mbUuhRBaSZEvgqVfVLZzRziIRgQYEQIA BgUCORjhUwAKCRBVn397GCw2j7T3AJ0ZDGzVqNQBE07ntRKuzQQmou8YhwCgibYR ZJyP31xlO+Lt5FgzzeqcQwU= =DKp2 -----END PGP PUBLIC KEY BLOCK-----
<alepulver@FreeBSD.org>
pub 1024D/945C3F61 2005-11-13 Key fingerprint = 085F E8A2 4896 4B19 42A4 4179 895D 3912 945C 3F61 uid Alejandro Pulver (Ale's GPG key pair) <alepulver@FreeBSD.org> uid Alejandro Pulver (Ale's GPG key pair) <alejandro@varnet.biz> sub 2048g/6890C6CA 2005-11-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEN3W2YRBACt8uucrC3Gv8Q2PoAppL0Gdmy+ufJkvp+e3QpNnEvYPU7jivtZ MBuMVzadeiE2FMfzAhD90bLOxomZSwIKAc+uiMqqXrciOGMEBFFcHNOgHGI48me3 fBvzQ4weJjGQrdUVOuQOtCNEmPHHdXOG0Vks+2ZD2czYDmixUkysso1gXwCg5ETt H/u9qXgKHxwQN1znhppBHu8D/2/ikj7Y8S5evZauwQ5m1qBMz7GS4FyXH8LZPPC3 KJW9AHiNSOl4a0g6bH17OTaa6OOljyO0MzbM0UQDJON9JvGLH4q3ML0QQ145yfvQ fxLbFMU0B3MSOgFUkpRrWflbsleBp0BH6MCUNzdhDVgyQxyLkyr+mdX6m7N+EiF1 m882A/9hz6+cmex12xdJnhx/frVL2Ji2deY4JntneNcZS7FBCWCe5d4weYUlLUJa sAZuwe/8q5BftMfHXeJzwLc+8zJ2EU6HEX7QdJTezSb7Mjh8Py8T/7TkyjK9LYJ7 hg8BSx7hQ0xo1KJoDx057GjkE2PGW+ngUyAExGvZHc4Gos3lgLQ8QWxlamFuZHJv IFB1bHZlciAoQWxlJ3MgR1BHIGtleSBwYWlyKSA8YWxlamFuZHJvQHZhcm5ldC5i aXo+iF4EExECAB4FAkN3W2YCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQiV05 EpRcP2HiqACfSVe9jQLEj8zM/iMLO3S5aLY6EawAnjIo6VapDopNW66BjRzFKQ+D P56HtD1BbGVqYW5kcm8gUHVsdmVyIChBbGUncyBHUEcga2V5IHBhaXIpIDxhbGVw dWx2ZXJARnJlZUJTRC5vcmc+iGAEExECACAFAkQy/PwCGwMGCwkIBwMCBBUCCAME FgIDAQIeAQIXgAAKCRCJXTkSlFw/YcLPAKDTcYP8Uso5mQls/wFYuOsfruyyXQCa A/xZlNpAz+akVuPQZRh4qqHH0nC5Ag0EQ3dbdRAIALqYTavt1809JFOCuiaOZBeC /qK5Hvi70rgyIyUJj6q0RrC6FzEOTKGQIaLZSdxhG50lw2KFOCkq0ARfhdrezR0a 0WQApeSb63hd1lvOz8ocyPkUI1IKc7aD0aQfcplaf3NmQJ6HF0rEzenRUoxy3mro R1yddUO/HosbvaeSCRabM1ORqx/G3WFfmX6dHuLltvbModDmOr04QbQ4+gctmplR qtk7eRXAFAG+Fo7lkhF0z1KUFQF56kL3rDXaAQzE/Vv6Rgk9vOYGXLJQdngNIXhC KVzrkqrZXj4El1gfSR1Dl32AzZtY6acGF2GvMGm2R2udTHsYeyCYXKlBRu6xakMA AwUH/iRn8SsuszctzdLqNxideej+9FQ+nHaMBw3Y+N1tlkHeDVmPDNiTotOzYo/V aRhW3bAebwEQr5bOs/6bnDrK86b2PUuwC/XtE9nXF9f1QQvApIyKzW6VG/FsQIpd +5lNWfRDKmoUZpMeKg9bQCjeFk8tFXsnp6kn8NhEAMCCeDwiWYUl8pcFlNIwPs1M brkZ7QCbA8OFAK0YkzUqYmvKPIS2SjpMA+uPJ0674v8kMuh9VhcQj/1RKKR0q2Fm sUykWFoGEp1FAVpMkKa2cKS3vYgpobMjVYeMWhsWXAFM9hZT9gI5oKVo7ECUZEBO f9dufNDZ1UHAHlAojMMCW53/fGSISQQYEQIACQUCQ3dbdQIbDAAKCRCJXTkSlFw/ YY8XAKCxojHrj/8OzUI3PFFTS1/afkj3HwCgz5wfMMjyDZG8rUt9ZFbUVN/RPs8= =iWC8 -----END PGP PUBLIC KEY BLOCK-----
<thomas@FreeBSD.org>
pub 4096R/9495D5E10F2C905E 2014-05-14 [expires: 2018-05-13] Key fingerprint = 6048 5466 BE2C 284C C140 FFE9 9495 D5E1 0F2C 905E uid Thomas Quinot <thomas@quinot.org> uid Thomas Quinot <thomas@cuivre.fr.eu.org> uid Thomas Quinot (FreeBSD) <thomas@freebsd.org> sub 4096R/DF8E0B5C7CC62EF2 2014-05-14 [expires: 2016-05-13] sub 4096R/4FC12CCCCDF5176B 2014-05-14 [expires: 2016-05-13] sub 4096R/4B31C02F7F15353F 2014-05-14 [expires: 2016-05-13]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 RjwKY8w= =tawl -----END PGP PUBLIC KEY BLOCK-----
<hq@FreeBSD.org>
pub 1024D/85AC8A80 2004-07-22 Herve Quiroz <hq@FreeBSD.org> Key fingerprint = 14F5 BC56 D736 102D 41AF A07B 1D97 CE6C 85AC 8A80 uid Herve Quiroz <herve.quiroz@esil.univ-mrs.fr> sub 1024g/8ECCAFED 2004-07-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBED/zxERBADJcZlF+Rzm8wL5lPTTPA1zLwa9u4ZZeVheS9vRGTOC6Sfi2NV9 feWCM4TR9CVtp2tAcVlrXjBzvhbeNajssCPn94qUh4z8ERJKT1R8n4zlilTcMTSQ qZ9t7mIpcpsmpCO1FvfozjfexpUSeLHONKlwHhXXQFdJm6bw3X+kZKUeQwCgut4g ilrxtY66n6pzC7jt8GaM1ikD+gLzk88lPNHA8hZurRaYoRD2cD7jOMk0WNuuRZLA 4LsG+hJUyrPU5vLKou+2iXl6MBvjlYwY3FS5wc1PZ9tRRbMNIq71xCTXmSapks50 M+/cVYhJhQTVWCFhY+HZLDJpiaeMEkTHqoXo6ePVSMgFDQXADv/hMIPkNheXzmXM yhw0BAC75FBSMcRJz8jOaHXSZ7AM9EdMhH4mru1YyfLzwqk0DQS7ToXc8mEpo9SJ c/rYfSHf6Egx9856sncCfLvoTScZDwWXvB7kJPOfXK0u8KK1uZBDAqEacmm2oEHd Xi0KbfW1zyqIPnLKjgu57OqSGyDBKzC2XuQvWcNk7Sol/Yxp9rQsSGVydmUgUXVp cm96IDxoZXJ2ZS5xdWlyb3pAZXNpbC51bml2LW1ycy5mcj6IXgQTEQIAHgUCQP/P EQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAdl85shayKgHKNAJ9/qmkJgaMW zOFnMUGcH/fc9ksrZwCbBhYIuo/nnHe9tC53mIlqDoXOz/a0HUhlcnZlIFF1aXJv eiA8aHFARnJlZUJTRC5vcmc+iF4EExECAB4FAkEOc8MCGwMGCwkIBwMCAxUCAwMW AgECHgECF4AACgkQHZfObIWsioA0SgCdF2eAlmqyihMQVf/T8r/x6x385vIAoIhZ hhYxTsWZ4dUA1XmbEfZxMQPvuQENBED/zxMQBAC8M+1oDgxVjVnYlhapOHWNMDlU 1LolN2B9sUm56K0UaCpnCsrm2Jc/kzr1egmjqxGkV1dIih65W+oPZQOBqq4mAvPI SRlE0MrcPCeRyzN4zSwqwu1o0rcCWaacPpNxnG5icluD1RPBDucRPhc8gFMmcfEq 5pgw3LU58ZIrvB3FLwADBQQAjM9l/u6o0CVwRZ6XshuJQnc7Kt+su/xyZjkYqURp sZ8Q9xWgKI4Tv/x+IbgkU5D2vCu6FyfDpBMWsNnSxVJ8FaHCWDKLpDHxB0+RUcme HRcpvV+HnLvJtF1V0dRB3XVtD8h6TcGuntFlKHFTKKQk4H5X+fbsUdq4ycNwgNm/ IfyISQQYEQIACQUCQP/PEwIbDAAKCRAdl85shayKgJrjAJ9S1aS1G9Vpq0kYjZHp pFmvrw+CbgCeIgeeepmX9+n+2YEAuWfJlX2KZCs= =Snnd -----END PGP PUBLIC KEY BLOCK-----
<dfr@FreeBSD.org>
pub 1024D/59F57821 2004-02-07 Key fingerprint = 9451 C4FE 1A7E 117B B95F 1F8F B123 456E 59F5 7821 uid Doug Rabson <dfr@nlsystems.com> sub 1024g/6207AA32 2004-02-07
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEAlXqcRBADYFElOoUIMntNwwMiVO/7bQQGYgo0HOz2ih10GpP3iyNletvOt AbH7AFCB/D6eHO/pOs3khk3ys3xL618e8vxttN7/jC+GWlPb6zReE92A75iP7+ud aDCccDlpfsoLfTt8FlZnFuA+d6gJ48Aie5meq1T/IlFV/EJGZ3BfTyKkAwCg545G dnVFL0hRjIJkz6Bs5xKqpxUEAIpfe1Ik8aXgwgbW35dZPUtUNDU3OmullZO8z2BU HefkZDyL+y5MBO/9aGtjN+TpnhmhWcVKD7rhTsL4w8v719Kq3cGFfNL/E1D6YyCp /BU0/Hm9+1MMxPg+nIUkhU4HmtZGoLT71xRSendbZjCr+s31XXxA5YbLruztTRFT YcNyA/oDbsyMIcEemO7F2ypq2FPlnjjCISS2Fr0HsBQltedY1Kr+hfOnjYAcMfIQ QyojMPl3bV4IFcavIhkiQBPBwGJsj/SNgNhOek9v9c4iuLpXzzbOfO4WiRBkpUY/ Fzefogi7d+9t/PyPVzd5Rzwx4eqrTYOeMT8TJmGLWkoUwbMe1rQfRG91ZyBSYWJz b24gPGRmckBubHN5c3RlbXMuY29tPohbBBMRAgAbBQJAJV6nBgsJCAcDAgMVAgMD FgIBAh4BAheAAAoJELEjRW5Z9Xghhw8An02BsS5+rEgyF+f+byeZy5sIrDnJAKDK GpoGPWfwZ8leK1MqENlxZZerx7kBDQRAJV6oEAQAvo0FvU58ew8t5XAo27wvwpxV pdWoKRTF7lS7ENfhwoiHVW2qsX/TfxyRw50BEtDUlFe7lBqSyskJ/3ejcVXuJ5cm vYmxrUEfas57AnBsJqFerQhqB2Pr6BwDUU9kpmJv9vAlt/vdX6lIkXTfvGcrSFWF 7cDEL++0tD63ULOVQ4sAAwYD/1CUpkXjwmFkg72LddRrvmXtKxk3crql4dYj/wjQ JeWeZQT+HKOOIHYFENZAqC8GSfQ621DeFD+TIN9SNeBG8K1LNqxUk71QAwiYSz2R Cm3n97esKKD2SB0yJDQJo+MsQ7PKdQPJtCDk34x0JvA4eijiTj9yGdQX8jWi8Sd7 H0NPiEYEGBECAAYFAkAlXqgACgkQsSNFbln1eCGOuwCeLy66OJdIebn1pU3UXo8O xlFnyncAoOYrXS8vPETOhlx/yeBVsgfX1vcL =ZXPM -----END PGP PUBLIC KEY BLOCK-----
<bofh@FreeBSD.org>
pub rsa4096/BDB9B5A617C0BC91 2014-12-17 [expires: 2017-12-17] Key fingerprint = 4DF7 5112 8506 8D06 4A05 2F9F BDB9 B5A6 17C0 BC91 uid Muhammad Moinur Rahman <5u623l20@gmail.com> uid Muhammad Moinur Rahman (Official) <moin@1asia-ahl.com> uid Muhammad Moinur Rahman (FreeBSD) <bofh@freebsd.org> sub rsa4096/3D4FC5F1173A113A 2014-12-17 [expires: 2017-12-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =wxn7 -----END PGP PUBLIC KEY BLOCK-----
<lbr@FreeBSD.org>
pub 1024D/9EF6F27F 2006-04-30 Key fingerprint = F251 28B7 897C 293E 04F8 71EE 4697 F477 9EF6 F27F uid Lars Balker Rasmussen <lbr@FreeBSD.org> sub 2048g/A8C1CFD4 2006-04-30
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBERUw7QRBADJY85JY9QB4nxv3rXAPnlW59gLmWzuuVNnKBrQsoD5jq6WrDEs fqqU2h/JwHB06RZMm/VUSH9MnsrxpGGKbIuJ9bRn9zA4qbgP0kPCMoyb9AmyGEYx bIp0N1PeYni64IQH3XGaycloWNhNDDLv6o+c6e+wNnRfUv1qygKhM8vf5wCgyN3/ KgxrTIo27FnrLDatjxYgHeMEAKtOpeyGk8VhkxXX7t6/sD1HPvDiuYLfM/14VKWB ZXaWcOzhytZRFbu/DDG2sMiMFdK8Xu7a1Zsfa683kmpgqHkG0FYcS14Y8yHDU1IM GpCRz18v8tZwW4N1npJ/vthpL1B4Hx0SUhGo2HgE85pRHdsDbhp0S6pZW2ff25wZ ljhABACI2/zM6SbfibbyRsvJcyW/TOfnEOxHUFfqT3SFYAP79hRBsqCN8v4fSR54 Tf+jHv7uYVH2lK3zED3sXn2VCgjD3jJNLkeGB6qY/WnWYCB63YwUXk2igOqGijJq XEVplNG6ExaQIco5vilOseqWuW5ONJKMM+iEi5TpfV1cPGFpAbQnTGFycyBCYWxr ZXIgUmFzbXVzc2VuIDxsYnJARnJlZUJTRC5vcmc+iGAEExECACAFAkRUw7QCGwMG CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBGl/R3nvbyf/xeAJ98F2AdELJxK6Po 3rTPUqnJK+GZawCfX/0jvc82JWnGwbDcpyp0+xUJ/xe5Ag0ERFTEKxAIAP2AWduS +WfuTAqZlD2aIzyvzZPOJ7a8ZDmUtBDxbxuBetLMqC3oFMoZ1/857wV3J7Jvxx7u LFbpdYS/0zXTjyKE/NWqeHIuGH9fDOIDuUKT1ZkEh+OzfWQaUihYTib330LwWP1s 9J8zLCJM1SdQSHVDOG9m+28JXH4ITmK3LkR3zdb/QYEOyFmHfhSqVQpZ/KEBYZ1K Kn0gItwqDILuk4v8BvR3ioWF1Ywod6JEMAgJvwypyDlyglvVVvav8UcOYIYfyv2i 6g2EjIqmCpzaEa3m/RumCWaCLIIeZUqpM+rIfQyKcjgU8J254dFMqFYFIX7iFGnO FVhT8tyNXolkKWMAAwYIAPrna0LxXoNVdwCyAW6pcNR9LkWsalQ+cCTS15jnguq5 V6HmMHsbAIwcXqZn6benX5g6Gx68gIrSS/c3iBMS3jiauIu/bjvhdTMLr0v/jXpp 7HjdOkgwfdE184hxVzsO0w3UeWFVhmb6sW/Wb9OtdRTj160mHj5UsCycg7Q75R20 2sBke5vP6o22CCNOZQxM615oFDgotYO/D5I8h/x08IQHlyxzgG2VXFbb/vvibOVs iFA246TaRzxYjo4pJ7apRKhXWX9Bm6Tl/X3X41idqbkZXXcdOV8i1jjJ+8hvmUXX BTrU4DyOHeRrKD2GRBGMn8WxhPL0DN+w2zBRpRdM7sWISQQYEQIACQUCRFTEKwIb DAAKCRBGl/R3nvbyfw7kAKCnpl/jNh5Hx0mkJ6BEDWlmGzuvMACeM95BWxxghmcn J6BmOEuZ+TPmHxc= =6byw -----END PGP PUBLIC KEY BLOCK-----
<crees@FreeBSD.org>
pub 2048R/900F45A61E12E96A 2012-08-26 Key fingerprint = 8C57 BE3B D320 5FFC C4C3 C0B0 900F 45A6 1E12 E96A uid Chris Rees <crees@physics.org> uid Chris Rees <crees@FreeBSD.org> sub 2048R/A703CC3500749D52 2015-03-08 [expires: 2018-03-07] sub 2048R/D589B12E85B13424 2015-03-08 [expires: 2018-03-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 bCaBGQsRytckgHLgvCqkfgciHANXcn8MkoXNbL4= =0F0I -----END PGP PUBLIC KEY BLOCK-----
<rees@FreeBSD.org>
pub 512/B623C791 1995/02/21 Jim Rees <rees@umich.edu> Key fingerprint = 02 5F 1B 15 B4 6E F1 3E F1 C5 E0 1D EA CC 17 88
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (OpenBSD) mQBNAi9Kb+IAAAECAOaa/3k5Zo+9i/fUPQfU4fzrRFwNifp7ujcxLNFsnMgcWeJZ XMd6iGiomTlBSlIHeNKa+JMGPmBTRrL7I7Yjx5EABRG0GUppbSBSZWVzIDxyZWVz QHVtaWNoLmVkdT6JAFUDBRBDA7AqRrL7I7Yjx5EBAQSTAf0WL+tTm+n0NFF2xQUO ZfxpuqnERjNQY5KaWQuC6qk4UOVCwoBNA24ZxY7TifvhsNErMHMc6HTKGvzhyGyV q/pGiQEVAwUQOhrmBjZ8FqYKL4flAQGcEwgAwPj2xt3ITbeUWf6HiqA1u6FiIy+w T+GZC2Mit4UQNdjKuNJad7t56Wqem57IhOGDWGYZJoZki65y9jD0BB7MixjuQhhW CV/vjdiX+pDxa0HG/75CNS7PVribIuhpbTFR2tG/EZh0sl8yMUpYho81yUDMeHVN UV8YqerlqntgqVra2cfPanScFve9YYXVgEbM2wQyWnEG6q0wPL+upmoZ8ppozHfr dVYiOonwl6QrgtzavI3tHTHtxDajMJpnQLC0rWHQRmY0Xd9xs+YUpaoUcOQFUH8L PEp7d1OQDd6KJOV+mQ/Bf7tZwl7as3cl/16nCMZoDJVGNGCuug4vEeV36IkAlQIF EDMEqXeGvtRXff+FMwEBX3sD/1Uf0sqHFBfFtuphKG5ZK9cz12NRANLpVf0welRX Y/Yp9AIL9xGGiEFvlma1TN8IA50Gxgxq7cEiHDWT2Zh4Hps0VWmuH9vGwc84D6PW JXuuPV4sdfCZnJUj+g13P7ypSlPSS8WIDVET5vG+K5m8jOQJ0NPsWGaZMGknXfLT ZDWDiQCVAwUQL8yKYkDqOE5/AdFlAQEmFgP/VwyNP37Vaunu7DdvBblDMpfMStds 9GY0Jmhe7q1EkkGjwSJHtkn31yPwdb/93d25puCU6rZ1+qw5jKMY9qa8RvCOnnNF vN0fOqGso+We3q2rGamjBYtVnihYBni7jCBTJ1lvHixWM5XjyGkIQsRBoh3qNUNA I3LeH1ArE3IHzDSJAJUDBRAvxTnlxS1HbQ2/kG0BAeaxA/wPKsCrDl3qJsxrLPUP tMfXhGBeOZWPMx1rulCknHpTgfjPpA7soh7K9zi9LAatR08sotD7oAFWslP/OR/F DsaLWztFjSmu1laZyU5E7yCIsHgILX0aIsazYW0UoYqCm87FDzHP1kjXs7c6mgOJ g2YIY6o3UH4azIigo37B52J6Ng== =O0QA -----END PGP PUBLIC KEY BLOCK-----
<mr@FreeBSD.org>
pub 4096R/335E9D48E27A80A0 2013-11-04 [verf"allt: 2018-11-03] Schl.-Fingerabdruck = 8695 9903 4744 6EF8 E18D 177C 335E 9D48 E27A 80A0 uid Michael Reifenberger <mr@freebsd.org> uid Michael Reifenberger <mike@reifenberger.com> sub 4096R/898AF56CFE7CD649 2013-11-04 [verf"allt: 2018-11-03]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 B9IB7Miy4TuCbcaZDpxT7Fs= =R1xD -----END PGP PUBLIC KEY BLOCK-----
<bcr@FreeBSD.org>
pub 2048R/041ADF59DB3C3D8B 2013-12-23 [expires: 2018-12-22] Key fingerprint = AC98 CBE5 7865 7295 A5C8 6AB3 041A DF59 DB3C 3D8B uid Benedict Reuschling <bcr@FreeBSD.org> sub 2048R/07BCC4D75C7FCDEC 2013-12-23 [expires: 2018-12-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFK4a7MBCADKxAn+ua9JZngOUnSb20QAPDQHN2Nz5YyZL2sYnC8a74dj9a0V jrBFKa6dXac91EmhwK6ajSpEvgzH7SkN+vtsOrFdJo99Cqo4Thw1dRfGJIhJuPTl CQY5y6pjW6eY9z3Sv24szBJ8jMtxbuMMVXgvAXrso/vLlHLcNTn6cAp6OcnXMejm Zmfh5Rf+G1IzOGVoffkXv14FBVHyXGIMslFA/PX2/W7VX41XNxP9kuxNqr3qz+b3 sle9hkjIq8trMudDxd6iYL/necWsV6Am5cj7WtIngQRhswHf/vLpbO+fzWD8XegS kBwe1fYjNImQ52twcSNcT5Ly3rX0fnMwdb31ABEBAAG0JUJlbmVkaWN0IFJldXNj aGxpbmcgPGJjckBGcmVlQlNELm9yZz6JAT0EEwEKACcFAlK4a7MCGyMFCQlmAYAF CwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQBBrfWds8PYtYSgf7BhJuev+XeeVZ DaTReINCTrQZCtRXe29KutOZxFHEkQ585TV1voC+gVy7NvWiVHIVt3GjanI2C2G/ 5n2XnqmSD+1mxHfoW4XlJaBBS0Gc5HON1aovMlD1j6mFFpF26VxQu0/2cNDQiabF KpXGkbPdPHKVW2JLsH5WCKrNpzlGRzTMVvfJ1TOqygPPQmtXGTPMFglYPqQCtl8L j2hKJB98PUwWI1YvxlhuUq+JgkfykE4NyeCqnxEqAxYuqd0xI48Yq0Qp/ercwT+e WgTzFvBnkB4c6wABUReRtjSdQnUr0f9cPR/83pzC4jhvauYXjNWYKUctzns6hm0i 9F5+I7ihTrkBDQRSuGuzAQgAm7NRO9QYVtaSWYLA5OBsGxVAV1F0cWKGx7hQ6/yO 2ML7drl6u1vXRcC8OnoX+sHcECXDeG+gJcsOsRqYs3RAYv5+cTsYDY+IXViWPxTO 4CB+WN8ptCFKsS1d9ghvyMDbajM1dGtSc3sqPnZYkRaqhT0MIVOCKxdBHdl5JBIX 6WwfrG7YwrjXDHdwmxaaDiZar9EiCIF54uQw0wb9Oo8gGPhH0/bqrevKRkEgq2rz p+N1aVEP4XiWsXGvuV7j9VRBDUrZQsGz810NQNXS56L1CmuTHUPDcpoWj9+6Oh90 dPIIvX/cm5WEL8JjnHTxXjm6O4GxQ0/iNPWaIvRY3cc+MwARAQABiQElBBgBCgAP BQJSuGuzAhsMBQkJZgGAAAoJEAQa31nbPD2LQpsIAKWQX1sDxJfTf9n7Msvf7G/Z /WjOblnoST5Ym6Wbl1B09uwTAQ+sfTyJzuKZ+qaDzNOh+5IHgnhxsuX4laMBGjqr +RuT5xVy1QgpfNG+budLs/w+93nE8ueG41zDUefwb3jzOkR20q3I97NXRWdyKzcB qNmqPRUQ2SSsNQybJjQTo8fuUoW8ZCbvPoQGvB8Qp+E4okYqZGrKFu1Xif9Xet7/ NOs/3HLbIfZxhXIS7/i29PIP6+yn6IIeDxlJN7/BPlw3e93OrRGMk9jSa0BRQ/ju V/ZW/yiXi1213l8BcnBgJjifXobyTJqPwm/XGHDEIfxS1clpbqWXr+Goj0yO9iQ= =ZHs6 -----END PGP PUBLIC KEY BLOCK-----
<trhodes@FreeBSD.org>
pub 1024D/FB7D88E1 2008-05-07 Key fingerprint = 8279 3100 2DF2 F00E 7FDD AC2C 5776 23AB FB7D 88E1 uid Tom Rhodes (trhodes) <trhodes@FreeBSD.org> sub 4096g/7B0CD79F 2008-05-07
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.9 (FreeBSD) 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 =S+Kg -----END PGP PUBLIC KEY BLOCK-----
<benno@FreeBSD.org>
pub 4096R/B8DAD01271A4B35E 2013-11-23 [expires: 2017-11-23] Key fingerprint = 01FE FD73 9E5B 6F14 5FCB 47F5 B8DA D012 71A4 B35E uid Benno Rice <benno@jeamland.net> uid Benno Rice <benno@FreeBSD.org> sub 4096R/9AE831D60E72927F 2013-11-23 [expires: 2017-11-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: GPGTools - http://gpgtools.org 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 =S/KX -----END PGP PUBLIC KEY BLOCK-----
<beech@FreeBSD.org>
pub 2048D/68DFAE1F 2013-02-26 Key fingerprint = D58B 3E9D B0E3 E081 EC6F 69D9 CDA3 51DD 68DF AE1F uid Beech Rintoul <beech@freebsd.org> sub 2048g/960F45D9 2013-02-26
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 0roDMXVUSkNFP4PN4u5jyuzVBQ== =EWeR -----END PGP PUBLIC KEY BLOCK-----
<matteo@FreeBSD.org>
pub 1024D/1EC56BEC 2003-01-05 [expires: 2009-09-07] Key fingerprint = F0F3 1B43 035D 65B1 08E9 4D66 D8CA 78A5 1EC5 6BEC uid Matteo Riondato (Rionda) <matteo@FreeBSD.ORG> uid Matteo Riondato (Rionda) <rionda@riondabsd.net> uid Matteo Riondato (Rionda) <rionda@gufi.org> uid Matteo Riondato (Rionda) <matteo@riondato.com> uid Matteo Riondato (Rionda) <rionda@riondato.com> uid Matteo Riondato (Rionda) <rionda@FreeSBIE.ORG> uid Matteo Riondato (Rionda) <rionda@autistici.org> sub 2048g/87C44A55 2008-09-23 [expires: 2009-09-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 zIEAn1IOi7barh7DDNvdtZ5nQ6V31XmDAJ9Lh/KNe/dgiX6GnqA5ti0fEwB8N4hf BBMRAgAfBAsHAwIDFQIDAxYCAQIeAQIXgAUCQXVk4gUJBTfOpgAKCRDYynilHsVr 7IKJAKDU1KY9xWJZmmoLaHnOjNcMt7OsewCfVaLCIj5OI51InSN6rube6W5gmtWJ AkgEEAECADIFAkVVuYgrGmh0dHA6Ly93d3cucGFlcHMuY3gvZ3BnL3NpZ25pbmct cG9saWN5LmFzYwAKCRAmSeYoxdNNBcf/D/9erGdyo3vlqA2jUIOQRPQMNCS/71J+ 2CFBSmJ2I9WmeFDR/aMFSVrd8AQ8YmgaeC0qA9Ql0IYaT0dTfd0FSb/vwFlPsd0J xBSTAtnNVxwFm70WT/Ny11MDqveZwbG2/k/JKICDQ9bgfe5CVwTybrtl4scvTPDS KIPUG73BDMurgRsUF4zHXbzo9ltEO/b2++sq3Y0f+V1IMMMGGWMU1NF1SbkbQyx4 T7jGJUPbDrMF7lmdZKRW89EIxYQ3jLPVB9A5zksSrc7oWSQ02NUjLffju4wi2nbp 4SVYmkaL1rDP03j3QrCVHA76wtNg3A9Z7pwPmau17dcvFxmrc8VTiiaIwz0ssClK Mcf19qeWNDvnD8Yx/4xUL5QpJe0QpRzY0kI8IWhiLqZAB0NveemmIZT3OoeDBXDM Xa8d+WD7N8O8LZkjWqKDAP6aMAlZ+Vc6Rr6xkdvQlZejMWqNIgQTnfi+DbEGG03t CFTiH+ymssuph1yz0EaP3wwwmIqLO6onFmemVfStgfww7jRifnpeD3jWKicgL7PY 6k39Lsn1WTBHXrCM3nIfHGn6toKdoPMUsf7tCKcjEcdpzWih1lEbBwRK9GExXeKw 3FtEToJJtyCEWVIaWPR4js86/NwQOhWpIZqYLaGMy3OtNdTYfvDSKQmoOhfU9Ma1 MdgFreifHUYrO4hfBBMRAgAfBAsHAwIDFQIDAxYCAQIeAQIXgAUCRvJKowUJCrtL 5QAKCRDYynilHsVr7Ct0AKDGZfOIDsaFhDfcgsQyosFn8MGztgCcCSCU7JryVjKj fDuu8pFy1BNwema0Lk1hdHRlbyBSaW9uZGF0byAoUmlvbmRhKSA8cmlvbmRhQHJp b25kYXRvLmNvbT6IZAQTEQIAJAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCSMP1 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 LlxcQeUB =cJab -----END PGP PUBLIC KEY BLOCK-----
<roberto@FreeBSD.org>
pub 4096R/0x8BE879B028731E1C 2013-09-23 [expires: 2023-09-21] Key fingerprint = 6E4B 152C D90D E292 5B97 D338 8BE8 79B0 2873 1E1C uid [ unknown] Ollivier Robert <roberto@keltia.net> uid [ unknown] Ollivier Robert <roberto@FreeBSD.org> uid [ unknown] Ollivier Robert <roberto@keltia.freenix.fr> uid [ unknown] [jpeg image of size 4268] sub 4096R/0x13B4B0E43FD6021F 2013-09-23 [expires: 2023-09-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFJAfoUBEADUsHJdPP6YM+aqspfqHGBXjLnwIJejPvm4oKR0QrFWlulPs8LQ p/nmVk5Ikcuex90/blHxD9Y4abVBabgEnXIgyJvVPZDUHxt7h3B9AwtVR5vKvqHq qtUZxT4Vy1wCXlv/kYNsDoF5LJeSx2//2PFP0Fg9+CV20XrO+P569tgGzcG9p7Yk iRORV9npVoXHofrIkQei8HbiWU8Gr+zz05IMWzVJEk54WDDAAxBoee/RechoAUR1 jsfCFPNK8ClQDd4t+JLmSwPLQeuqj6AH6ZBwUleKpnpJ+y3/NwBdwgIIiFtGx41J Oe0Y8piAExlXKdMXK3yGae60aybnbCqnlrP3lh8+Qk90L/+aWFkD/nOktuX/Jdm0 pZqwfZIJavTFPyh5zd5yRz4bv0XPNxQPm7RjFejam9ojLWkEPDwZEb9TVoos/fDX RmORb6BEWjBrWrsUNoiI73uY5HMLYQbxES6zhurDCW5njtM+xTcOUDGX71OMFHnu TmEUkDpyMT4ZntsbnZeY/MLlk0zDufvtwQ3llbWS2T57MBfHKwR6xGZE/P1wD3cF T6EuXHxCJT5t6KfPVmjAV8Z8uTHNIRCUilq3nUyOQQ5EKZ7CCoRHTP/TYCNszif5 KEV6pOG7atJVycoaYA967Uzw5rOuWfRjhvsCKDTnH6lcQOhDioUz5iJILwARAQAB tCVPbGxpdmllciBSb2JlcnQgPHJvYmVydG9ARnJlZUJTRC5vcmc+iEYEEBEIAAYF AlJAgAkACgkQoE/7G33K6dNTogCg9mhByuv+tyqanKtIA7/kMM+Y9swAoIDpmxGm DsBUsLWmPfMwiir/JNfXiGsEEBECACsFAlJAg94FgwHihQAeGmh0dHA6Ly93d3cu Y2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YMWkAn1SYHSGyQSTx2jJIwflQ 2hGGKTx1AKCTMmij3NDK+oLToTh4ceIcJXFRGokCHAQQAQgABgUCUkCYpgAKCRC4 DqwV5A/9D42wEACcyJIkawIdJf2i4U219016ZaQ0fNxB3HdSMIwNviWeRr5mB0Dc iIHDLcQv8kBVCGECyIcEWblQw/P8f5jmwngI6rpBfoU8BWmpch1iUZOO/KeLkbuu O69H8/DwfuRcljucJiHAxR83MYTAz0FBjY1tmORyL4n8qNZbk/7K5jLxl/8x2EQl 5mB4AvNEtgWB0d9UYoY1siLw5zAYUpoKkqCUQMMR8yxgkhwlpnBHSMY8dUl9I3GK +8/ss5Fo4Fmx+ZDVLzLrRF6un2JIIWOROmoX6A+BHbJOL9iUp2ai3JPk6bH1Tkrw MJWFmtG7UAd81kiE7Bx9XgnD/uI7oKRoJim6gtuQLBVVEtVONuB6kbrQskZSaNbS 8tLgswT+iQDMwFkGSR3d8JDS0RqZ13ay5+myHod/awnfyzd3YTVZc5nWKDQdHzOr VuUV1O8qhhLVbDtvnMrBIF352yraGrRzs/5G+qI7TgA7dzmRJg/wNU+gQYPWwNuo tOLqJ4Vr38dy1dkhipVWudn/L2t9vbhWf2yOa8PbZp1RX7TqSKjveHhuROu3JC6x ITAoifTj1a2CceRXkDbAarHKJEzK1iDwPqCRw37Qbo7StxnwKlCsHiwlU/QbNBYz swwaAnQ2fQeL2HFILRCV3+Q6ejppcTCK1kJdi96GcngE7S0qMb/LkPJY3okCPQQT AQgAJwUCUkB/CAIbAwUJEswDAAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCL 6HmwKHMeHCc1D/97E3ZmSzHh/6zmF5ePJFHiIKWWH0NLv6qLYSzRXolS0OpuwlOo QGvYOeubPMorAPG5nvmAI6NDkm7evNe7AfZtPkEfEVUJMnZs1ePOPghga/ihCxvI 8+UBqEJshTYbmquoipAx7EppG8UuP3rb/D+FDkqCWz3me5S9oJrgAq9ndApNPQxL 6ToK7CR+GAe/PjNNOOg8l702cUgxTae+B1uEqKMlE3f4dFEkHCFEddj832Bul7Dx SVO6Uds/aNpkFfw4EqTeIIsZCNqZGlYLi5uWbDsL6vusN97J1Mk55aVd1bsbdHoW nAbksuhjEneI7zlsCRMutqLEJjH7hNiJ9meV3dFtQV4LsO9Uxn7xA6ISGABENY2o A0WzhyV6Xd+c9Gn9feB8cqXRIuZPs6x+23SK6RAv2w8D0ENd2SR+zqU1nWkPGIwA 3bXzwAB8nNsmQMVCxC59c1jza1loo6lzQfBASEwtwomctdOmI33caPITHXjXnEGn mAgifeSByCshlXyqhau+Pdua50B/vsZY4Z+jgDP6NihMYrmIMTHg7VAGZKlYCaNC OensTq7gnNVTOCobnhKV5f1833YnBoAdsbXgJai8HAZ5cY8TamK0Z2oEeONXRs+Z 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 /zmb0m0DfhX4GLg6Rhqfa5bi1fytormB9kNrzIEZuHIIlcMM9dMnCspXIHjJuIAQ KRkBlhW6LqT0GhJBmUgGW5DZskZz6E3GnkuYwCXWFiz/S5Ph7Qvx1UNlYbX/OqMe kRfERXxvp1nkNul9RB+hanm48CdSG0oGwZFgaMmajmOmFd6nCjCGSvbUiPe8TjSW +6DckPVQ775cI5lTfyJYVv6Tg/MD6fDhezBNjkEqM3yipljRz//P/QEQAAEBAAAA AAAAAAAAAAAA/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+A jIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4 pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4 +Pj4+Pj/wAARCAEgANgDASEAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAEC AwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6 /8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcF BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl 8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6 goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBrSEnkkmnJDLJ0 XA9TSAnSzHV2/Kp0hjT7qj607ASUUxBS0AFFAC0UAFFIBaKACimAtFABRQAUtABR SARvun6UUDKqQxp91efU1JQIWimAtFABRQAtFABS0AFFIBaKACimAtFABRSAKWgA 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 =rbLV -----END PGP PUBLIC KEY BLOCK-----
<rodrigc@FreeBSD.org>
pub 1024D/3998479D 2005-05-20 Key fingerprint = F01F EBE6 F5C8 6DC2 954F 098F D20A 8A2A 3998 479D uid Craig Rodrigues <rodrigc@freebsd.org> uid Craig Rodrigues <rodrigc@crodrigues.org> sub 2048g/AA77E09B 2005-05-20
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEKOK8MRBADOO9VIucM2dGygVera0+Hcu9ud2f3MrcfVgsB7/awfE/MgIYtC CFtCJrD1Ml+p/spmiuzJNDSamT8NHywsG5R+GO0EC76+mfL3hwXvGUJoQV+NcDu6 99s6OUWTimi5OPOURzG7lXYpO0wVysx3R5Nzg7tIC06fmXNXuj02JvCm+wCgqkPx nZgCFoqq2mHoiLL59CUExbED/iOnglDOuZsncR9xRZJfbSLUJf5z9NE413FXAx3f THY7+akGk8kWChrOeyIvLvSGmkHHFQXgh1umG4fFd7TCJ0Sexh44s5q0ROjEK4ge nwAsS0iheMB6JqW8ibBfawr2iwu3ZAkqfelU+NSbHm4sEeHxEGyJtZKA7rOPGDm8 YOBZA/45n2E/Z6hv6D4Bm1xEDGNICK28uTqzXh0wyCJJtVOortd4CmKZZrZJj7am 3aDdtFUZ1yZc5FW2E0xLa7Oz8HUj7eMT7Ljfd0c5yNna7WcNjqWNAz6WMhHByRZv nOPiUMQNvCbyrKw9OsFKNNbrSnjQcc/5yy0SiIMVm4rydXzK0bQoQ3JhaWcgUm9k cmlndWVzIDxyb2RyaWdjQGNyb2RyaWd1ZXMub3JnPoheBBMRAgAeBQJCjivDAhsD BgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJENIKiio5mEedzB0AoIXeENkxV41KlJMV z0ozHJ/q1ESdAKCimzfOMwz7Qyauo4VHs4rk7NEPerQlQ3JhaWcgUm9kcmlndWVz IDxyb2RyaWdjQGZyZWVic2Qub3JnPoheBBMRAgAeBQJCjjVzAhsDBgsJCAcDAgMV AgMDFgIBAh4BAheAAAoJENIKiio5mEedT6wAn0IjcGqARj8Qe+JZThbQCQbH0ERp AJ4w1pYLdsKphwaEB8GakvaeRsrBTLkCDQRCjivkEAgAo5DHUcjEBK54Vo2S403y InnfqiiUDXqb8Oof18CICB6JgA3NjP5g9BE5+7dI8relt4Q0ILg2IJvISIlfmyDl +GuegA3dMo1IrghmtI5+IWN2mm1iNy96jpJ1TQhvHTFDlETdV/BE57CcO1ZnKHiW m9G3GjnMrunVyLMEY+6TJ6ykqP2VzYBsc847iCv477LdYFe1+vedZb8Bk9xpeeZJ tuT3O+JiR+B/SHISpycxyM3ei+C7eRRC8wV+khOw/8xirJ1Wzyg3GrolQPtJsTNG mqg6DXIYPY5wbF3SUBT5ZA7pLPxXhUWNewU/8mXisuM0hp7nz9VLQ4JfbMuvGF2j wwADBQf/SCUw06q5l8qdJ9G3WFfPOE449mq5uXHGlfeamCkjx9/SzI/8yldrxwdF 5XiAZWRpeQoksUbPI+tmxWqi8NDxt+KLDNhSCg0+C8KRFBY0ZI4CDmUg+MX9Mix2 ir/RK6eoEYNXdt32raX7MzQP87LTL+cnxJzbQ702HYpVqrJUOgSRwQ3posbp7hwV djfiE38r9Hd/E4ZxxAIT3GafZ12KzxQZ8dSxoa/2tP8VfAfe9jt/XX4F0QD2yIGV 2wJMd/CZWTZgDfNW1anGR+9AyV9dT+8cYi36fkgTQb5rN25rJKzHd9RA/EGJXSU4 l1hNG4gBpYjF5gD/UTuSgGI6XInycYhJBBgRAgAJBQJCjivkAhsMAAoJENIKiio5 mEedTS8AoIa+gNX84jClqNvPR5lMlQGKeB4HAKCaEmhTA9kGSY5JW3hsfDiwfr0a PA== =hHZm -----END PGP PUBLIC KEY BLOCK-----
<robak@FreeBSD.org>
pub 4096R/280E1199 2013-06-17 [expires: 2017-06-17] Key fingerprint = D292 1363 AE61 D2BE 1740 9ED2 D99F C356 280E 1199 uid Bartek Rutkowski <robak@freebsd.org> uid Bartek Rutkowski <contact@robakdesign.com> uid Bartek Rutkowski <r@robakdesign.com> sub 4096R/36F01FFE 2013-06-17 [expires: 2017-06-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) mQINBFG+2CIBEADb+e7GbRvqysoHOegE8lg4lqUJwVV7KQaFdZkILk6vYn4kZjoU S/dLaUuj4/3mRvwnMzv2p7cyw/f6hgvGZhXPb2oZ6YK11fSZv9y1Pjc3yUtonCnF TMaDkk9H+BpEApbU4Rks1mCsgaJA9jlxjSmPeShAib4Om1wBd5OMoMclJ5j5msne hxn5f+8WT7t+PCdRw5ml4FGQfOzDU/dyHt0w/xUzGfdYXp7fr+cfy78UGxnpfenD DdyJwWV2eRf3DPeLywwad+NsK4FnAJ4HO9J/8nyQLqXsV9rw+O4DbD5v7gOvVHqx 4tlDdG0VYPC58uigVKBpBZQSN0odSf6Abe1ZjH4G5x4DtXL+Lr3ENAieNpIscGTN vfaQuLGFUdyvnlJn/UXgRoajEy3ThNqjzumVIlWVhN52x1gEvKvIkz0O6pF/Vx20 eapMV8+vqB5SPBCPEbwPEf/xKM1Tr3QaFkXeIrqsxhhq7qwrkFyPNwuoT4IUQSbo imDf8A0n8sl5uCU2kzQEoEXM1MFBLPD+OPFwyotmI9mUxJUkV4wjFzgfC8Ugg7iT LA49ZXnEUuveBl/emcdXtrrEFJqLY6tIF5NPpHhVLjl69g/D0QpVSThHElPwIptL gKwfM2uic2QTq27cc99EmVUxKhNtL0MfzVRf5JT3uFYSxOjvhS5IedrAOQARAQAB tC9CYXJ0xYJvbWllaiBSdXRrb3dza2kgPGNvbnRhY3RAcm9iYWtkZXNpZ24uY29t PokCPQQTAQoAJwUCUb7YIgIbLwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIX gAAKCRDZn8NWKA4Rme+tD/4mCdONuF9v9+8wsV9sl8xqTOQLPHGert2lfXeQp0RT 2G3jOdtmA9tqqQYTrIg2O0QwE6Yygi5yfdjJ5+moMABChuJY3OJnJ0WBIAxvFd7r q0XzjhC0fR4Vi/1pfkUY3iNQlgGx17mOjWSCX9yaKnqVbozlzoxmrqdWUC1CNOe5 yqHs8S4xZEOXTWqc3so6pMa0iY73Jy/AuEzSWt0/YIufPGL1nTS9fOJmvHJM/mq+ aEmk31VzuI337e21sYLggj29mJwBnHbSu0LXPp4UJTKFjIqyOofQa+m4EpCMs/cs 0QfghjJzMs5qxF43fzbLCO9NvHLibTfNSfS+i1uCkkNgb8cTP/2Lo4yLmv8jHCWD G/LUGYq1SzX0ZxaEL2K0A+svGuAASpgGwWhGiT186cJCi1oDqf2Hg9HbNIIG74G2 uIm+4URelbw5SMzhu6k3aCqbshzydM0RhgImS4uuXDoW/t85KdjLXhfoOhNZMEQg kaYqDyfYcFE7KbNp9QnvTELytIaD95rmDShEMZqlPj3Tw0p28JKfSyc/cjHF/YJM rH8+hWHpsOK/+HaH/MCRfzQnzc/lMoTWoMY7seQvVzQQDO5meK8wFoc3rAVscRl/ OhHc0Gdev3JE99f+YHz/bqto4keXzq844IifUc/BP2PN0UDzwFFJZOXreEmT/oYw 4rQkQmFydGVrIFJ1dGtvd3NraSA8ckByb2Jha2Rlc2lnbi5jb20+iQI9BBMBCgAn BQJRvtsRAhsvBQkHhh+ABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJENmfw1Yo DhGZvn0P/3KozTC98BUzNN14KDO2vVpRiDs4ChPhsKtj1Dwb9bk1Sl6fbNVhO09q MlRyMvV2XqrMOiqF7mFnanLTaR8NWNVzouUrQf73vjA7Gg1whE91BhJZGiWPf7i+ Y53D81Va4t6F3Io+fC/YkGXopCd9I1vKLdD5aRfeuvn/u+zKaY+g2oZlHE+y0tS0 XaHVngiUf2i4rG1vGOxdLX/BRvuByDaPZnr3FRrP5Nztmo90Rp+hfjwXMWIYAyeO gzZcAb84PDsN+2WvDY/Z1P2B8psw0AMI634wYNOZ+kik9YVCId8VXuuCIZrxqJ9b kpMIWNBXH5zLdjHh1xbhvssc2i0rsNMv7S6VnCfdekmTefPxGlKcJZxzeanBT6Kk 38TtE3b911ZDbvmJP1okMRKmMuAjPXVysBO9kDa2u1DiUSIUVeq8lYMoDr6R1Tdx ux176YuPof934htr9p/9y5fyHbtNlOzkbnCmIUinqmBk2kgpLe938G31sj/j0vUH IA/HDeSGUJPUTLss0v7/+Ht6yQokrMdQxlHJBeMxxKcyDO92i75YVAAdNPLxY5x5 VecOYWAnuEazXrZo/u9dcOGXk/Dl5DXrhN5Glud5jUNZqo69WuGWveP5PQXfWI5O gT0Sx3WjuLSTYDFPwqLgKB9wqhPOxWrj73ceO43YIuGtPzYys1C1uQINBFG+2CIB EAC6KAf2VSlbfmnebyTmEjSs4TgNYyYcDAxju7/+kuT6b2S56Y5C3FVqYdMcLma/ 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 =0RCA -----END PGP PUBLIC KEY BLOCK-----
<guido@FreeBSD.org>
pub 1024R/599F323D 1996-05-18 Guido van Rooij <guido@gvr.org> Key fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED uid Guido van Rooij <guido@gvr.win.tue.nl> pub 1024D/A95102C1 2000-10-25 Guido van Rooij <guido@madison-gurkha.nl> Key fingerprint = 5B3E 51B7 0E7A D170 0574 1E51 2471 117F A951 02C1 uid Guido van Rooij <guido@madison-gurkha.com> sub 1024g/A5F20553 2000-10-25
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 jwCgnb++jBLoAgqu7BiWMBVe9sCLfMY= =qL8T -----END PGP PUBLIC KEY BLOCK-----
<rea@FreeBSD.org>
pub 3072D/8152ECFB 2010-10-27 Key fingerprint = 82FE 06BC D497 C0DE 49EC 4FF0 16AF 9EAE 8152 ECFB uid Eygene Ryabinkin <rea-fbsd@codelabs.ru> uid Eygene Ryabinkin <rea@freebsd.org> uid Eygene Ryabinkin <rea@codelabs.ru> sub 3072g/5FC03749 2010-10-27
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Edu6GCfjXE66i3XaSUcQWu+g8BMQUo5Huw== =xPkv -----END PGP PUBLIC KEY BLOCK-----
<ray@FreeBSD.org>
pub 2048R/4B7B7A4E 2011-05-24 Key fingerprint = BB9F D01D 7327 0B33 B2F5 6C72 EC49 E6ED 4B7B 7A4E uid Aleksandr Rybalko (Aleksandr Rybalko FreeBSD project identification) <ray@freebsd.org> sub 2048R/99F9F9EF 2011-05-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE3b+zABCACwiwsbEdmRqU1Tsb/ErrEGYPO6uGPy04niDFSwT4EoW9tJmX94 bZSfD07hMUHm3yk3sSNBVPYYqvolCd+Wa/aSBo22Ru8MT5gtFT6QmRmo0r4ye6hp 0jddGbTE3gS62ojQCDayRrSWhqYDtxMTVhF28+GVf9Yb8xD7booHz+soOEOp/lyi rMbAKKpAKKzlbTg+JF4xuNAOCQeYq/iw+5/Yv0WRdlPFlAhefpC9HGnm7Ci2oX9O yadz6O5B8Z3mvXrprHVf/gZaxpMbqHtiCwUCOjyu+65AJxZ2RtXOZGlgixVldzZ5 1/PkPjf66PNOE/jei7lQfoiXSelbMsn/0m89ABEBAAG0VkFsZWtzYW5kciBSeWJh bGtvIChBbGVrc2FuZHIgUnliYWxrbyBGcmVlQlNEIHByb2plY3QgaWRlbnRpZmlj YXRpb24pIDxyYXlAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJN2/swAhsDBgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDsSebtS3t6TkqnCACNpw7DnH7mPLVtJ9Hk 5V6kzsY0Fkt155HcOw5IqK2UJUqGZTa1Y6SMjqC7Joq7P/3myjWOyN62xByQ/kcL VT3Ee9Nonknkjx1S/7Y9aVlCoT3koB/no9BQRgTsWX2oHUEakBftYq/8sx/1jzAc YN9DffiOIfXH43435MtYc5dct8lRaQkMXL6hDrswqqnsC2lefISiRojWgSpX2Iax VsR9KA/gDGXcFQLYG19ivgQ/MWMwfHCQd5EyPa3JGsx/G3Me0uA2YC8igzuEG/PJ 29G2eAhA48T1iDbmD7rHsMRdNvr9+0vHemNLyBysyzS+d1opwAE3HPeFYslbRfQp UxJuuQENBE3b+zABCADfEA5d/HafarrCijuoKqv7miY4JeknD9CezUiI9KgsjIAQ Nv6ObNUoAAZyO/tmKyK1c6ohOQn1m5knH9ldSU0aj/loeBwD/tSjqenqI3rk+XH9 ZUW1t8U/2fEt152hbaZIeW3X5ovSwNJxL5GCjvqiy1bNq6rV7hiQfnwET3cV/FmA KJUlxRZKNbJn3VutSIF4vgOVJTdZy/0dDcpUubHcfVFXeZRiBMQiBqy/WW80VL9l /RZ8js/ArM7fNqnHtGN4Hgxfh5HEUJtQncYs1JNkFiUD6aYL3zsJAbcXcfyEwo6Y Hpsn8hxuEYpAVzsaO7E63Vdgyag1b8ELRBbYpranABEBAAGJAR8EGAECAAkFAk3b +zACGwwACgkQ7Enm7Ut7ek5nnwf/V0kzZ9N92h8oes2ZWwnuWWbZewdp5p1AZmaj FDeM2Usiqb9tOWizJwKI6B9Z66S2TdLTrCwtcPWhrr/MPfWTNffCgrVI4jOczCeT Jm9Y6OBVdlT16sqF2gskwLlA73R64TYJxS7uYAjOMvhFzXeZuJv2BLxSI2NBvpfh HfvoeBAM7NRmuJrUXz90ik117bzEcuEBwIDRc/fGUvSdWm3a+AmbVtyPR24RFMGb OK2UWrTXa9TiTAKKLWKyDDYf/B4nOtGoF+OCkpwLgTNJE5kwh+PnJjN7wsdiAvL0 2cUXjLV5wX/C2w1FFMtM7PA/7aURr6CNmS+00mriikVFT++FDA== =Q1YE -----END PGP PUBLIC KEY BLOCK-----
<arybchik@FreeBSD.org>
pub 2048R/BB509584A3F4AEE6 2014-12-26 [expires: 2017-12-25] Key fingerprint = C2E0 7B36 3A25 75E5 75EB FF79 BB50 9584 A3F4 AEE6 uid Andrew Rybchenko <arybchenko@solarflare.com> uid Andrew Rybchenko <arybchik@FreeBSD.org> uid Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru> uid Andrew Rybchenko <arybchik@gmail.com> sub 2048R/BB28B694A902C314 2014-12-26 [expires: 2017-12-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 orsdaAqLj5vYw6Nflb4vp/S3Gbf4cA75xZ+EblfIqKSYv9IDaoPuqSCE24Bn2hbm MrRupcnqzJaorN9wtj1A5IvyudBt5oGSzDUmds5u1JAvWLhW+SgcahBcD/Kf5+fX tXa0MmL3TNB6ajI9oUB7It1pUuDKkZP55TOHClGvjtM2/WxlgJeqIVRg/UScCqfI sLhSh1gUwfSVqXg2K9zkXSKCpQw6biGzrilrABEBAAGJASUEGAEKAA8FAlSdZDUC GwwFCQWjmoAACgkQu1CVhKP0ruZjwQgAztYi3Ir4qlGliLL9khFt2afG5gxXiD5W 4G7zRj6B7mfjizxL/pyYsXdevRmP1to7Q0cMVdcWB8wfbKOE7B3hN8UcIUM0vzeZ K1xtKD47drMq4nrFRn1YBCdo70xle/r7UqmTnKDc24XPeNjgZbGyYQ4RiF2bH8BQ ewrzzbZtgjIw6pfTmXgRaKEasZ6bIxrGuGHzvqUBpqmvIujOMwvL27WK3+J8B1QG W0n+hoczmumzyqKG85EnWwDz/SPhhlvNwW02cvMVKX4m9r/eZSNnofkN+7C2Q3Z2 YISmNznKfhQY1GD9ZNd5lI9N/8ADKhh10sBtlURlTZd0EgZtnhoq/A== =J6zn -----END PGP PUBLIC KEY BLOCK-----
<niklas@FreeBSD.org>
pub 1024D/C822A476 2004-03-09 Niklas Saers <niklas@saers.com> Key fingerprint = C41E F734 AF0E 3D21 7499 9EB1 9A31 2E7E C822 A476 sub 1024g/81E2FF36 2004-03-09
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEBNxyoRBAC22NnMqcH1hXXkz+jC+U2QGzOJdGHZtLRXDRpS4blFtRgAf4ab tZY6LJUMnjmdgaPP3Mc7YE/ITF1hGnzYF2jbJazNm17nMSP/66dGJt9dK4XAE4cc 5nYo3GnEkacAa1zUvM6e9OGaAIkndBDUW6+a9aSQNcNyMnYL1/APv+wdIwCg2G4C N221QrjrGbxVQPiBM51lY98D/11d/h8aOHYkf+nirhIj9GvRmXJfD3RANZUDjOsj OKGgUNlXm/AT6I226v9urfdtrhMg+5zdO+I2p7dZMad/RpnSYo0GMdLRzOlN6aoI +4JYoACq2C7iR8pmItb+L4Nl5nNBwmcLBXD+HaZebGffZy9Uvy/A5G0ty08I8LKm 5STvA/kBMybZhX+RTq5v1Kzau63bMBJR8MPHyWYAIBW2wTMJM1ndW5RrbIMJ71qC 8DFFTHFJd97s/fqBMQ9rj094CdDxCYQJUkZy5+qiBkRta//iSlgsi54Xhj9prgPj nBMWxUjAI5Ih0VPIp3/z/q5aQRvey8Ro5JWmduzH0KpLv2Qe17QfTmlrbGFzIFNh ZXJzIDxuaWtsYXNAc2FlcnMuY29tPoheBBMRAgAeBQJATccqAhsDBgsJCAcDAgMV AgMDFgIBAh4BAheAAAoJEJoxLn7IIqR2/y0AnRetbhzvjj3kKOV28bx2Qt+YRA/j AJ4yY9wDPJpwq63IsGeo3BYXi32zPbkBDQRATcc5EAQA2SipeeJJjvrzqqILHNA7 X+m/PAJonO4QhyIEXXMhzNGdiUVJ7wli23gGVF0Cj3V97Yw5KFGco3qOvvsWkO4c CLwd3NHbVL6OHKM36LcFd+a6RiJO9qAGGixyqUIkqYeWCmpObihrkZy9WADsSJTc /qOrLghJ0GyR4Ga8CoFNT/sAAwUEANfA3lWeTj3QZcDnJZYejt1aJWt7oUBQ/KOc HhTjY/A7zkQsAdgbcmuhzSiIH6eoofTwNOl/Kl0ieSdIyFMFfVxrmYEN/HUUUI4q J+BgWZgppinaeUEabnZPfY03T+ZanJ3DmB8s8x4HdpFi3jgtWY0KfDhDfHtNIeRu CYmLAzjYiEkEGBECAAkFAkBNxzkCGwwACgkQmjEufsgipHbIOQCfSaudT6wnsh4G 6D9TZkji6aDqUBwAoKqxWnOya/v/MqcgrXGSCih7phIL =Hz+C -----END PGP PUBLIC KEY BLOCK-----
<bsam@FreeBSD.org>
pub 4096R/960E20B03A3F6D28 2013-11-22 [expires: 2018-11-21] Key fingerprint = 8848 3672 3C1B C02B EA0B 5674 960E 20B0 3A3F 6D28 uid Boris Samorodov <bsam@FreeBSD.org> uid Boris Samorodov <bsam@passap.ru> sub 4096R/41BFAE676CF00B2D 2013-11-22 [expires: 2018-11-21]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =5EUG -----END PGP PUBLIC KEY BLOCK-----
<marks@FreeBSD.org>
pub 1024D/DBE7EB8E 2005-03-08 Key fingerprint = C0F0 44F3 3F15 520F 6E32 186B BE0A BA42 DBE7 EB8E uid Mark Santcroos <marks@ripe.net> uid Mark Santcroos <mark@santcroos.net> uid Mark Santcroos <marks@freebsd.org> sub 2048g/FFF80F85 2005-03-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 IdA= =F4/l -----END PGP PUBLIC KEY BLOCK-----
<alonso@FreeBSD.org>
pub 2048R/FF8F6B6D0AACFC67 2014-08-27 [expires: 2017-08-26] Key fingerprint = FED5 7BC8 DEB9 94D9 B52C 0A35 FF8F 6B6D 0AAC FC67 uid Alonso Schaich <alonso@freebsd.org> sub 2048R/34F58C3CB680DE68 2014-08-27 [expires: 2017-08-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFP+UtwBCACh77leeox+P475Y3mI6dZq0EcWpgpV0mW3IN+ob9bfeLJLNHdF nfdCiYEDNnybDE2w1eoxR7e5bEYqrFveKjXOfqz/M3U19qxeps2GNms0Hcl7pjQg oaJDAkJi+cQSQ4xk/DWnBFW5MQhMTvm8jkfa6CgCd6XixU16DglT+CFc/70+RYig j/P0YGDzvUdYqThopOjdTCtUp3VQG6a8GQCZ+R9082URwKG0CZQDlWlUZdthHK6T ll07ZHn6VovFPo6oqBpdYoq/mfrxSYMcpOYfUtilqwCiEVTPeAyJzOTrSaGtlh2H tyjKpPuZfgVs617CSM/mQWnpE679sj4/rZ6zABEBAAG0I0Fsb25zbyBTY2hhaWNo IDxhbG9uc29AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJT/lLcAhsDBQkFo5qABQsJ CAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEP+Pa20KrPxnlpwH/jVOKczB6S0e+PWT T69x8tBSJQ7d8lFGyxkK+Pfwj0ExuZsxBWIo9Leu/nw0szaM3448708prpb8Mx+8 67oe2X1k3ostrEoyk9JQQ027v53dMGlnR+SrKihvonawMh7jycjVJu8E/LWPp1nh vX/mhQxLBqYJahampKa7LdkXP4Havb86FGwbGxOx0tVl7W/73agu5iRqKWoXbRzt dLoC7xbPktgKLEMihc/6MFq8GlkaPw4RhAIy2lVcp/I4mGIpSrvo8jVaXyhZ2uLD 0nlXm2xvSsPxn7G+7yPh0P7bhVRNR7vYMBb7kTOc7uRdp3866jf2K6PvSXCkst3q P9elzSm5AQ0EU/5S3AEIAMHS2rg0/gnbTqd3CcOXy+MPnJQ0rCKTGu88cbhlFFYi JKPbMKfy1Bc3c6YqXHWqzWCHF6ZCmsrmj4ObrNudnNf0TJj+WO0gu1Bl2Rp5DUPj aHVrnRRGeCXzvm8rKkT2XK0bEo49ip9bG2Q9yTuIJV3E9JMBM1PSsROJ4GtpafA6 JoQpiBmxp82qr2LfYNWd41/SlaHFHY7dxRF198OhkC3nJSdgkpRm6RH4ywXjLa3o nC3MXfOTHJngkvCE5zg/g0LDScjYIsvGu0lwv6lm5U+u1cWIQhPIH8ZV4uF5oNH2 rHVJpS18DqzbjN4CFVWGKQlEabqdjWpi0nTIW97Us8cAEQEAAYkBJQQYAQoADwUC U/5S3AIbDAUJBaOagAAKCRD/j2ttCqz8Z2VFB/4sevaGCBiKg90zgkO316SpbiFl 8Dz5a+yFV/EiHzhd+ybe8MQ0nHOtd5CFQ8bePf19LXV+I4XCPmLIoF3cC35K5bVO CVw6QLaxcXA7jDtvQwXz9mGje4rLWHRH5hBSM4WufoaKDCrOxalg/fTeeOYw09GI Ikr/yJh/gYtvUevMS4+wlGVSN69YecNE2xjUJzpfGv90veZaIFic0N+Gieqa/1Vc 0rR1SPCsIsrGWSGEy5VOZU13zsKIyvHFRjTULH7/Nd6bD8KW05a7uXYGJawSJo9/ AtWgWIP+1S7v0gGFWhMHXOlzrTzlzwTiEmz7DN2u4pJw4WrVS5h5U0kK29At =dkSO -----END PGP PUBLIC KEY BLOCK-----
<bschmidt@FreeBSD.org>
pub 1024D/5F754FBC 2009-06-15 Key fingerprint = 6B87 C8A9 6BA5 6B18 11CF 8C38 A1B7 0731 5F75 4FBC uid Bernhard Schmidt <bschmidt@FreeBSD.org> uid Bernhard Schmidt <bschmidt@techwires.net> sub 1024g/1945DC1D 2009-06-15
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEo2DaERBAD6iTY24oR5YgIAGmKudAPxNNLLaZPm5tsa1eQjNCRp/WPLIXCS /x2oZPk8JoKOPnHNuvfzKnDwh3sB/hKAQOwSTHmtKQ7Gq9Uq/IpuQXHOfF3JqJ8p 4pOEHCSdJPv1rGNdv2Uh5Pmas3qfkI1pcn44B/XAYDVoYC2CsHmTHSMfwwCgwKIP BELVfQZDMaV/Zkv1etazaLsEAJXHS06o4TFVmrHzvhMPlBmS/MDJyt04MaqJwCkh IzZGpJ6c2rS+a9UOj5Fy8zeim3f94U5L4pUJUmn2SitHTGm14A+ZN7r2dmBC8jw5 Oki0tbz3yObM6KSzYV2BuZ7BLP65KXAlUnHM5h4rw/EJaTL6bm0Z0sOLpc74KnZd qgi9BADzkJnZ0VKRRZ18xfdbPqa8FMeHJI/IhlBrwEPSeRqEjZCtTYfePzutbpm7 YRpXk2cMe+k6Xt+FrSVF4elNT5/b3SjWjmZr7jLQ+/RvN+AH/5Ru9bQHVfuL6uSY zoHgl9Y5RKJMkzWfdn1LknaRIqE/ciWq22cESYJ8e/Wrk8lFVLQpQmVybmhhcmQg U2NobWlkdCA8YnNjaG1pZHRAdGVjaHdpcmVzLm5ldD6IYAQTEQIAIAUCSjYNoQIb AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEKG3BzFfdU+8UXMAnRd2NUzksPzw xY9oQMyjeP1cg1R/AKCWoPmmPjJDsf1/CQIkMFMb7RuTDLQnQmVybmhhcmQgU2No bWlkdCA8YnNjaG1pZHRARnJlZUJTRC5vcmc+iGIEExECACIFAkttpeICGwMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEKG3BzFfdU+8Ht8AoJS8LxsUX8jA7J6S WKwM9JPJ+adJAKCPcJC5vcz1C78IB2XBmnbbKmrYLLkBDQRKNg2hEAQAzfaS1s2p EOwwH6ZS9JJ0mnoEfVUkO2I3yfMvXZ4HVkf/lmjQziSsgtbOUPIsIZxh/0V7sDU6 4ShmeYcY2GpBRE5NFAOo721nOMzXtSbwhUt8ZNZkWXLOCXE/oaS1UoPTQ8KW21IN prsFPuVORaZPn1BKXSt/g0l2mkKDdgjMLe8AAwUD/RCMR4fDfuKULk+PG4DrGuyz sz/6MC7cmxH76SBzLARw7HOKFXQoVPUfBbQ8oi5ynqFobgENEL5iiWrPhRHLYiJ1 ee/RiroqJlDxSHno5qU4FIjVGm6b1WbunQ1m3bmK4ExFrygOvHwI0RhoySoAhxiR vttEGBF27GMdkRaaUyniiEkEGBECAAkFAko2DaECGwwACgkQobcHMV91T7wEHwCg tY2Mbu5ssnZVqMYfEKlx2QIJvZYAnRkudrXyV2F4QME4eLCgAXrjDptm =FKOV -----END PGP PUBLIC KEY BLOCK-----
<wosch@FreeBSD.org>
Type Bits/KeyID Date User ID pub 1024/2B7181AD 1997/08/09 Wolfram Schneider <wosch@FreeBSD.org> Key fingerprint = CA 16 91 D9 75 33 F1 07 1B F0 B4 9F 3E 95 B6 09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3ia mQCNAzPs+aEAAAEEAJqqMm2I9CxWMuHDvuVO/uh0QT0az5ByOktwYLxGXQmqPG1G Q3hVuHWYs5Vfm/ARU9CRcVHFyqGQ3LepoRhDHk+JcASHan7ptdFsz7xk1iNNEoe0 vE2rns38HIbiyQ/2OZd4XsyhFOFtExNoBuyDyNoe3HbHVBQT7TmN/mkrcYGtAAUR tCVXb2xmcmFtIFNjaG5laWRlciA8d29zY2hARnJlZUJTRC5vcmc+iQCVAwUQNxnH AzmN/mkrcYGtAQF5vgP/SLOiI4AwuPHGwUFkwWPRtRzYSySXqwaPCop5mVak27wk pCxGdzoJO2UgcE812Jt92Qas91yTT0gsSvOVNATaf0TM3KnKg5ZXT1QIzYevWtuv 2ovAG4au3lwiFPDJstnNAPcgLF3OPni5RCUqBjpZFhb/8YDfWYsMcyn4IEaJKre0 JFdvbGZyYW0gU2NobmVpZGVyIDxzY2huZWlkZXJAemliLmRlPokAlQMFEDcZxu85 jf5pK3GBrQEBCRgD/jPj1Ogx4O769soiguL1XEHcxhqtrpKZkKwxmDLRa0kJFwLp bBJ3Qz3vwaB7n5gQU0JiL1B2M7IxVeHbiIV5pKp7FD248sm+HZvBg6aSnCg2JPUh sHd1tK5X4SB5cjFt3Cj0LIN9/c9EUxm3SoML9bovmze60DckErrRNOuTk1IntCJX b2xmcmFtIFNjaG5laWRlciA8d29zY2hAYXBmZWwuZGU+iQEVAwUQNmfWXAjJLLJO sC7dAQEASAgAnE4g2fwMmFkQy17ATivljEaDZN/m0GdXHctdZ8CaPrWk/9/PTNK+ U6xCewqIKVwtqxVBMU1VpXUhWXfANWCB7a07D+2GrlB9JwO5NMFJ6g0WI/GCUXjC xb3NTkNsvppL8Rdgc8wc4f23GG4CXVggdTD2oUjUH5Bl7afgOT4xLPAqePhS7hFB UnMsbA94OfxPtHe5oqyaXt6cXH/SgphRhzPPZq0yjg0Ef+zfHVamvZ6Xl2aLZmSv Cc/rb0ShYDYi39ly9OPPiBPGbSVw2Gg804qx3XAKiTFkLsbYQnRt7WuCPsOVjFkf CbQS31TaclOyzenZdCAezubGIcrJAKZjMIkAlQMFEDPs+aE5jf5pK3GBrQEBlIAD /3CRq6P0m1fi9fbPxnptuipnoFB/m3yF6IdhM8kSe4XlXcm7tS60gxQKZgBO3bDA 5QANcHdl41Vg95yBAZepPie6iQeAAoylRrONeIy6XShjx3S0WKmA4+C8kBTL+vwa UqF9YJ1qesZQtsXlkWp/Z7N12RkueVAVQ7wRPwfnz6E3tC5Xb2xmcmFtIFNjaG5l aWRlciA8d29zY2hAcGFua2UuZGUuZnJlZWJzZC5vcmc+iQCVAwUQNxnEqTmN/mkr cYGtAQFnpQP9EpRZdG6oYN7d5abvIMN82Z9x71a4QBER+R62mU47wqdRG2b6jMMh 3k07b2oiprVuPhRw/GEPPQevb6RRT6SD9CPYAGfK3MDE8ZkMj4d+7cZDRJQ35sxv gAzQwuA9l7kS0mt5jFRPcEg5/KpuyehRLckjx8jpEM7cEJDHXhBIuVg= =3V1R -----END PGP PUBLIC KEY BLOCK-----
<ed@FreeBSD.org>
pub 4096R/3491A2BB 2011-03-12 [expires: 2016-03-10] Key fingerprint = A110 5982 A887 74A2 F4B1 D70A 6E5E D8FE 3491 A2BB uid Ed Schouten (The FreeBSD Project) <ed@FreeBSD.org> uid Ed Schouten <ed@80386.nl> sub 4096R/81BB41E6 2011-03-12 [expires: 2016-03-10]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Y6j1y6QnLaPN =FiVI -----END PGP PUBLIC KEY BLOCK-----
<das@FreeBSD.org>
pub 1024D/BE848B57 2001-07-19 David Schultz <das@FreeBSD.ORG> Key fingerprint = 0C12 797B A9CB 19D9 FDAF 2A39 2D76 A2DB BE84 8B57 uid David Schultz <dschultz@uclink.Berkeley.EDU> uid David Schultz <das@FreeBSD.ORG> sub 2048g/69206E8E 2001-07-19
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDtXc9MRBADg4tN94el8rq0ZMUqB2jEVACg/UfYjtsaboDL4HBBUH+P+Wxic 9JqotcTbT8pJGeRpeXbfO0YHaAFnUfilhoFkeLyAgDvnUP9Z77DjFpliLAKlvuCz Lxi4UxgQXRdedNCg3omrxQWx7Yx067GT/yw4RgvogOuYBX0l3AJ25/WBxQCg/6Dj TMTu6iYR2Y6dEL4NGs9PnBMEAKBlhelAhzYoMpcWpk2VITUgONMW+Oi2JDTmwDd+ 1FAUDc1mHSoNBKPUrCWyXiwfzL09/ROlK/KMR6YoYtV6d66zZ/dQNuzrMhsis+Ou PCtvcaR5NGln49THgcw7/K5gTjwrG1xA/wcwnvUp6sxjh4p88meI/LNBAstixb3z FiLDA/9pAqn42B9ZBL1le98DTiLDemHvQFgXu8Oj20IIF0umyJRBfKwDY6iIx0gd 1rUKua6XnqMSEg+LmHmSfDBaAOsFTdnL7wVU0tLF0V9goxU4qDZjw5EeMEqnk7tg /6REIvtdOA/GLOmr/Q0WA4JEukcih3AQ9iFnwg7WAp0S4GF6gLQsRGF2aWQgU2No dWx0eiA8ZHNjaHVsdHpAdWNsaW5rLkJlcmtlbGV5LkVEVT6JAEsEEBECAAsFAjtX c9MECwMBAgAKCRAtdqLbvoSLV78JAKD4iJ2kNeTsYQnWZ2DeytAeqVaKFwCfTIQE lFPZyaQr7yjthREE+8SPZCG0H0RhdmlkIFNjaHVsdHogPGRhc0BGcmVlQlNELk9S Rz6JAEsEEBECAAsFAj5S1iEECwMBAgAKCRAtdqLbvoSLV4b5AKCljokqRgi/pbDa ZebYLluQCIkbgQCg+jSKAIi1r+CZiaCJdqk193IZVnm5Ag0EO1dz0xAIAPZCV7cI fwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ +AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm /xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1F HQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzh sSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZ Jrqrol7DVekyCzsAAgIH/1AtvAGCJchvLFoaR5KNocKcoUMe2NrpRrFS3DsYOsXU 0U95pmAHJaMt+wv4UDs/wNzOzC6stRML+3lg6sYnSgddH+N/DA0b5jQSAyNWlL87 j08h3ATaPeDD6qhqFRe3uzpQMAJJWbeTdyiT2vwgglgcaJWuVjYSfkkxX7AVDFHw C4IOuZ0aQhHyHQsGQURTg+sotMx+kX68o7oGZqBBOcr8VdFyrlq0Tq1b/i0fJnn2 Nz5hY+OOXbyeoJbaY0KiGnnMwHmeZ2eJWk1cCHUZnrY5WOxYQHail2KHXxhYuPoI xsL0y+XdErX+lc2BiEbvXROs+VxEo/3/BVJXAIar3nCJAD8DBRg7V3PTLXai276E i1cRAsj2AKC26JMJWsvd93UUWRXDKmU46MgLggCfTOIjPheQwY9VCN3jO9YROzij QVE= =qhh7 -----END PGP PUBLIC KEY BLOCK-----
<scheidell@FreeBSD.org>
pub 2048R/34622C1D 2011-11-16 Key fingerprint = 0A0C 9ECA 18EC 47AC C715 2187 91B9 F9FE 3462 2C1D uid Michael Scheidell <scheidell@freebsd.org> sub 2048R/8F241971 2011-11-16
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBE7EJJwBCACw/7AoltcqlzLBZfdNZTb/9zMBRV2X7Qz8jtOrmFj10GpasMCe oHWLXHyWbuVgsu2QeANorUcEMvVpkCkNWG8EewKH5QbUcehqPfs8L51N+8Xxdzr3 LlAoOiDFI6FWhDrHvdXRgzWM0xU7OMAxPkXpVNhT4cTmLwWGXmVNtxL48MRTsUz4 XRMkXpfEEfXJ0xGsz+Q5AMSUbUIAOq6cKCreIk1s2Ir9UHHBJ5E68W4jHFk/PnYP WAx1z+PugI932b1RmnZEycjs2U+QN925vJ+V1172tU31TOPF3yTVkeltV/R7yXgB Pn5iDDrhILjOjWxj3xOGXJja/ikERYAPUEqLABEBAAG0KU1pY2hhZWwgU2NoZWlk ZWxsIDxzY2hlaWRlbGxAZnJlZWJzZC5vcmc+iQE4BBMBAgAiBQJOxCScAhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCRufn+NGIsHabBCACaxRmi/WgvVt5y r/9DfYDKMBRZwdvTmPqSc3qa/HyCH5b8pIzEep0UsVw977LmOnMbHr9TEzU9YuF0 XyA1WZNdzjnVjlRl2VW6/Cwo28jnwnESiGD/KNdU0e0T4ntqP4eLEd7t4Y4WhpTk JBidX0r6d2+CQyCFk74zDc5eTXS/sLZZJommr5JIo75L7LWetuxR6AFrZ3SDdanc ktHJspZAN69yVb3XxoDveVF0XXE/RSeStWtWHLJNN0r+6Oq2CAf1fJZhFOZybPhs zYy6xWFp3N+myhq9HgPmlQcB8BCPHu++S55Ybe+4ZDqtuLaALQaT20zr73Vv4VHi QMiB/TYnuQENBE7EJJwBCAC7Qjm0lGOxZy0JoPTkZ32KW84TxsQ8IH/6QhAP2AVN kCaVrlZcGaZKd2WBQIcd0Br6FErD+jrYB9+hv1kGj/2Q3dL9UbB/Ee7ywm6++rLc RdRhlyeG1or+zjcQEvJyYEzyGdJi4R1+6SIQLaJiPrGL2GvGWfx7xk7UoJe9vayX ie9LNBoqq/qlXNRRRAu8DvOk4LIRcZHwv1urwZIGoK/Kmj0DQJ8+mrqXBugkI35G /XVeIgOzAoDGHkIR+eHGp7iOaAxDWwRGgtcYp8hgUASLgMxOM7npc1agozdFD20A PmI5uLqS0nmHiGaQYbS9azkZh5zwDKXaq6xz0LDuBcgHABEBAAGJAR8EGAECAAkF Ak7EJJwCGwwACgkQkbn5/jRiLB1lPwf/bQmsQnuQIM1O4cWxS8zKqFp30k1GaU9k GEAUEeY9JB6z/vhhleNwiMV6DbIfzFN71JWs00iyI0NAXDjNp+PLR+lBXH0Ztca0 C4N7vqNnbsg5CleKK5n66fOc/HVB86rpmBFU2ji2ZQ3NO+A47XlGKyHgPvZ//XfW +WfeuCJ3tCWnx7lVTFXh/tIKO4fPyJ+dmp0JzumT7lmwG9YPwKovx6s42DD+62NM kf1yKac03ta650N6s90zB6XswCa8Geb4pn2f2PGkobY7OUfqymf+Rnj/kfnkRFo6 sHoeErC1UGxAi59bZaVJ69y1/fmJrRD92ymTEj4DZowEs02c5NhwtA== =S4If -----END PGP PUBLIC KEY BLOCK-----
<schweikh@FreeBSD.org>
pub 1024D/0FF231FD 2002-01-27 Jens Schweikhardt <schweikh@FreeBSD.org> Key fingerprint = 3F35 E705 F02F 35A1 A23E 330E 16FE EA33 0FF2 31FD uid Jens Schweikhardt <schweikh@schweikhardt.net> sub 1024g/6E93CACC 2002-01-27 [expires: 2005-01-26]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxUIHoRBACGAbIspofa2HTwV0Y81ZgrizVgvsHduKRMYmu9scX6eFSQWC2a JLXXnMJMK97LG2m6qX/hzjxZKU/n2eNpHa3h9zLYQ/8VdN+AFHGZtgmZ7xe7UpBI V2YohykdmgKqg8WuVQGrNTwbkaAFeLnG3yXhR83qukRvv+qFfXbEF+1S2wCg6lLg YJ6U4J1pfTO95Rd4hw5v6DsD/0hUfa6C6C6xjME6P7r/ORd91+nJsfO0pcV1rK0s yCMdAy/zdUlKpsNF9vS0qhCFonuOHWxMEe7D8L80oUAwlk4RrFBm+Ch7RoBGYGru aEom/7JGNoRqUD2CKbFnkAYi9HP6XlXcpgm3GO4c4VtIcEbgywjw7rNhmNoYLrZV YUb0A/9mNCqpPTd8ngm7kPyTTMJitYEVaBPXEdiPueYJND+eI9AQkcqYhs6LWq4c jgmTNeImQ+kR1UeDj3dOwUDqhGmLPN60nD+Q2oHHBif8NJOu47mx1dgdriM9FsTN 3UbeSve+mY8Z8zcPIYKl2UJLPZckWgq4pZRrE147cnKHSHHM9LQtSmVucyBTY2h3 ZWlraGFyZHQgPHNjaHdlaWtoQHNjaHdlaWtoYXJkdC5uZXQ+iF0EExECAB0FAjxU IHoFCQWjmoAFCwcKAwQDFQMCAxYCAQIXgAAKCRAW/uozD/Ix/ZB8AJ989jyDH1G2 T1KMoNd7gPk9tAw1VACfXJgkrI42ShC4cHz37xrVLXeJp9i0KEplbnMgU2Nod2Vp a2hhcmR0IDxzY2h3ZWlraEBGcmVlQlNELm9yZz6IXQQTEQIAHQUCPFQ+0AUJBaOa gAULBwoDBAMVAwIDFgIBAheAAAoJEBb+6jMP8jH9P+YAoM72fnNwxxcDjb+3Mv3A CfbHonYCAJ9lfK9fIbkgfAHo+2kwnOEN4yWxzLkBDQQ8VCB/EAQAzzIqOgms7u+e UKampP/5U9G78HA3GIkVLcAeq5FfpFtls4NmSKz240zNxXmABWTSlBmOQvMdhB08 vRbzEsxPoVdNaF+QvRZYEr5+2bOM1pnHqYYMyUKwN83LXgTDnXxas4mtrkgngZTe tGdFQ3PIVqW4jV0MmnEmaqde0nMJ6XsAAwUD/2z82PDDwFBu1Ogogh63qE69HSQt 8weHX+Skmi75jE3r2niUlx6B0IfLXzFqP33vyrsov7QHgAuOjNficisbC73o3gjp voJ2RYB2IfUCgeFvipLpqY1TWJ3bF52TYnJg4rrEWd5OWs4FB0iaJ78LVWgq3WsN zfgcgfQ38d+scJu4iEwEGBECAAwFAjxUIH8FCQWjmoAACgkQFv7qMw/yMf1PIwCg nSP0i+q9jhEf9T5xA0+qg2yYB/IAnjvd/tA+2/5bP4pObE/oRNjIVZBZ =YPu9 -----END PGP PUBLIC KEY BLOCK-----
<matthew@FreeBSD.org>
pub 4096R/036F6C9EE7F39EBF 2013-09-29 [expires: 2014-09-29] Key fingerprint = 72CF AC21 79BC B024 B5B5 4590 036F 6C9E E7F3 9EBF uid Matthew Seaman <matthew@freebsd.org> uid Matthew Seaman <m.seaman@infracaninophile.co.uk> sub 4096R/5D0DFEAF7BFB01B4 2013-09-29 [expires: 2014-09-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 E/XX4thlg5b5JYTzmTsytw== =ouo6 -----END PGP PUBLIC KEY BLOCK-----
<tmseck@FreeBSD.org>
pub 1024D/DF46EE05 2000-11-22 Key fingerprint = A38F AE66 6B11 6EB9 5D1A B67D 2444 2FE1 DF46 EE05 uid Thomas-Martin Seck (Privat 2) <tmseck@netcologne.de> uid Thomas-Martin Seck (Privat) <tmseck@web.de> uid Thomas-Martin Seck (FreeBSD) <tmseck@FreeBSD.org> sub 2048g/3DC33B0F 2000-11-22
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGhBDocG/ERBAC6QZ2lUZYVTAqov7yLfcDY6CFKncdQH1k0aV65fME1va1nelTy qIE9+1unTXyFCTY8ZWhlrgblwH7oSHkVgk+WOOcBVEYvjY9n3Y5reNqKV3Qj3gYH GzSheBeRvgDgKKF0kaG01sQby7zneJMDepy4JkuMiXqc+S9nM75Gf7naawCg+viP cLaa0z0UzbO341zHTgerHacD901GiZS6SgHrjmGKorhmul/CPyIN5OIdbt9YJANh /R+w8c1XCgbmuHS0gCHiyYG1Sy1rRhbptlqWxEhJjZSud3Ne2Hxh16IUFhTrFqr3 xgkH6FiGw+a0tD6Jk44UBsbdgNcU7Qr424phgga4yDYjn+lDW0RkO89ElhHZsrLj uGkD/1Ela0htkQoWgZW0I0XO+LNBsnuxPwqqG3vM1VLhSzrFH0CHKeQqYt9iHV/M eD1KIdIXzoPBfRbFLM1ktE/3AlomrgXp9WtxfXhzWNcWFzYLUajAxlGYD2wT+3H7 Tpm1/hKQcJJG2xMRCyeZcOf+pTWaqCbLLTsy0G+MY/j5Rug1tDRUaG9tYXMtTWFy dGluIFNlY2sgKFByaXZhdCAyKSA8dG1zZWNrQG5ldGNvbG9nbmUuZGU+iGIEExEC ABoFCwcKAwQDFQMCAxYCAQIXgAUCQR+T+AIZAQASB2VHUEcAAQEJECREL+HfRu4F hQsAoIYCMipK3ugbNfOUW+1BMpPiNnm8AJ9kyX6rm8M8Doj/qCKJF36gxrTo/7Qr VGhvbWFzLU1hcnRpbiBTZWNrIChQcml2YXQpIDx0bXNlY2tAd2ViLmRlPohfBBMR AgAXBQI6HBvxBQsHCgMEAxUDAgMWAgECF4AAEgkQJEQv4d9G7gUHZUdQRwABAbOv AJ4y63dcgJXV9Vcw0SUMdJ66IK7d6ACgzX0WCMIVWiNBey1/ZHOgHaE5Kku0MVRo b21hcy1NYXJ0aW4gU2VjayAoRnJlZUJTRCkgPHRtc2Vja0BGcmVlQlNELm9yZz6I YgQTEQIAIgUCUTZfLgIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQJEQv 4d9G7gUH7wCfUxSv8PJY/gF8wYEY9xC2YJdK9yQAnjOz54d/B3GGMsBiAKzM8qZT zTXruQINBDocHF0QCACoDJirnOAYUdRKgOpFrDupOuSPexu6Dz6WRxV1hNwaAajD lmgHK+7W8Yb0wd+8bKASi7aonkbZOhRfkJ5DbrjgqNGyJjCRHgqGboyGyR9Mezyc W5kNLNWhwtBiBU/5zExgSQaQKHOvQeFXIfa9gJQy9hn4qMAXs80jvns1siNwbQHn TKRP35G7FI69FS5tBfEFata3qyhv2KP2yxlRyTv532yq2k1di07vXKEiS/UrbFJ7 tRpO+cfXy0iXADtRMPt4EMeBffmDI7B2DS75Hn3RArKjk9/8AvuFLbkgbdEzvsB4 l706H+ziB7X9YmDDkKFpMW/SONbCWETrjK7KP0wnAAQLB/94xzi6sqLcJhVp4QBH ekzCYoxrUmlb+wH8DerIftT4S2BpV6cF2vVD2KfmDpwmZ3MaF83OvaT7dcZ8fZ1r 1afkqIpXdwjI70c3cKOAnrZkVZAma6E9EYvi1Ww8mxLJ+ClvWh7fVpQmppqJMfdM ZgU5egCYliv/QQGp+SyNXNOkfttIsA8EWruJo/33nAvG0bqzwh7X+SQsK4MVidD1 7/5srXHMlBN5zBqRaRq0lakpT8xDlB2NqlQTMb6wnHscV3ZqUzaszEXvhXnUwSPr a820urDh6o/hnsF/VH7gCJmkkVV7Ei1MjIp8H6Zs0A8se/XlYlf5OlZB8chqJ+mP r2tuiE0EGBECAAYFAjocHF0AEgkQJEQv4d9G7gUHZUdQRwABAZtlAJdyRMT4dZ2D wiimJm8jZ2BOhV/UAKCBrBb3jVIe9FUC3JpwMajuZ1gbSg== =p6Le -----END PGP PUBLIC KEY BLOCK-----
<stas@FreeBSD.org>
pub 2048R/5617EAFB 2013-09-15 [expires: 2018-09-14] Key fingerprint = 4C01 9D03 543E C623 3FF7 0D34 6D8E 4C9F 5617 EAFB uid Stanislav Sedov <stas@FreeBSD.org> uid Stanislav Sedov <stas@deglitch.com> sub 2048R/55012891 2013-09-15 [expires: 2018-09-14] sub 2048R/8E60582E 2013-09-15 [expires: 2018-09-14]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =u0s4 -----END PGP PUBLIC KEY BLOCK-----
<johans@FreeBSD.org>
pub 4096R/D3AE8D3A 2009-09-01 Key fingerprint = 31C8 D089 DDB6 96C6 F3C1 29C0 A9C8 6C8D D3AE 8D3A uid Johan van Selst uid Johan van Selst <johans@gletsjer.net> uid Johan van Selst <johans@stack.nl> uid Johan van Selst <johans@FreeBSD.org> uid Johan van Selst (GSWoT:NL50) <johans@gswot.org> sub 2048R/B002E38C 2009-09-01 sub 2048R/1EBCAECB 2009-09-01 sub 2048R/639A1446 2009-09-01 sub 3072D/6F2708F4 2009-09-01 sub 4096g/D6F89E83 2009-09-01
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 jJLQtFy144uCNLgL5JagmqMiXx9rL6dHFHc= =sXgu -----END PGP PUBLIC KEY BLOCK-----
<lev@FreeBSD.org>
pub 4096R/EAB03C58BFDC478F 2013-12-01 [expires: 2018-11-30] Key fingerprint = F96D 1CA0 B5F4 318B 674B 330A EAB0 3C58 BFDC 478F uid Lev Serebryakov <lev@serebryakov.spb.ru> uid Lev Serebryakov <lev@FreeBSD.org> uid Lev Serebryakov <blacklion@gmail.com> uid Lev Serebryakov <lserebryakov@smprc.ru> uid Lev Serebryakov <serebryakov@devexperts.com> sub 4096R/AE6ABA6A21EFC325 2013-12-01 [expires: 2023-11-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 5qKk4Zor8Zg1H4B3ptSaiQqzHg== =3UzD -----END PGP PUBLIC KEY BLOCK-----
<bakul@FreeBSD.org>
pub 1024D/86AEE4CB 2006-04-20 Key fingerprint = 0389 26E8 381C 6980 AEC0 10A5 E540 A157 86AE E4CB uid Bakul Shah <bakul@freebsd.org> sub 2048g/5C3DCC24 2006-04-20
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBERHS6MRBAC60MHcIa5gqGjSmHLxJeZTkLTDK0zEo7MRJuMeF90Py7wdP9Fy jmRhyBS/tYfOtPrpHwAdn5FIkVzajEklv9L0/JiUx5WDrmJFWqIgRLdRPYw909hE 7pW3uTs2qotWjeA8ecefzlTX9gdZVgy2uPhihMG9cn7pL1aXluca8AUsIwCg4lUf 8pL0Pn6pZ6xP7nG1hEvkzr8D/1LR5Bm47RboJ+dvoMf9lwlXiEBP0m40100urcxR 7e+AHDX2yr6s4edx7pPRCq2ubPgzK2rYv4NHN943AY8EYbrazp5F3EItDOLHmIus JasvCgPTb7HYWO7Q28redJyUIfBUTPgVVk2z4EuCb5QKDU2/2DyqWThrLEwTCTRh mR82A/sHQE/xib0291VjMxGKiatd2Xm5hu7dSzCeZwc/5uF0g33OYcd02fosyERd 96SWmGigFWLbQ/kFiAoN0OAlQQoNPuWjGzIJVrxiy9y3Fw2hnoiV3MAWAGr43+UI FR+XB/MxOKIozYrMouhZHtmw237fKVH6Ewe/rFkthkgm9P9BpLQeQmFrdWwgU2hh aCA8YmFrdWxAZnJlZWJzZC5vcmc+iGAEExECACAFAkRHS6MCGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRDlQKFXhq7ky+oMAJ9Cth9LlPV2on7lTedInW/6T2mh YQCgm6bY4yyoJbjUxop0bcuKYGVVuSO5Ag0EREdLsRAIAK/+InMhz/qJB/+Rwq08 K6TtPPkAs5+IcFQqjShCtFWiaZrvBqvcTPDqVIMu6CAnBf6QTOKQc+L7lSUE6QdI 0mE3jiieYJ/cDzSqntYZBkC5glW0AzemgyllQRlqKrIawWu8M+SwZipvKb0YCIFo rmhoHCjzK/DKlSi0MOjPVTbsyS/rTvhAoXxodogKfNzRpb4MwDjM4Lda9mO+hKlI 93CsBCzNZaOECYJ/1vkpuGqOBhvezrLtNCYFmul2JtVMyCb86mOIJAeiwn/hiZu5 eU3QYdvcCOfYh//B8AZOVSW1x8HYzMFXuznVtx1P5ygvtWY3u+uIlXC274XuV0aJ NNMAAwUH/1rSg/fSdVGEG3ge+sGtFKHPOaGW014dt5nHCePrhLwHIe/udyZPCD3a axp6RVlx5Yvw2+nMBWiW65KACBUQslSHbeM5u2aPH6HaAAEYCJ682vKUWyEHGljJ zDBBANYKThYwle1xRxiE5MT9B2Bz33z2/BQnCgo21KYAU/2bwi2qVG0jyF0i6ryP 6r5w2zZbZA/0IINcwENYRhYdtU+QtyB/HqX//nshVnxZFgG0pIPET5ltq9VM+6Fj hxJ2RXwGOxBJW3+yLw5JuDVrqoOz2lAOulY2uiQY1Nk9xHDBKZ1U172BugHuOIbW EAgbLB4QFuIE0HF1h6bNSISULLt0/yuISQQYEQIACQUCREdLsQIbDAAKCRDlQKFX hq7kyxbGAKDdITbPvXRBxINGLWTcNxtRqjXl0gCbBVmMqSG99Tl8uB7wTZRDjtCX 5DU= =iFzp -----END PGP PUBLIC KEY BLOCK-----
<gshapiro@FreeBSD.org>
pub 1024R/4FBE2ADD 2000-10-13 Gregory Neil Shapiro <gshapiro@gshapiro.net> Key fingerprint = 56 D5 FF A7 A6 54 A6 B5 59 10 00 B9 5F 5F 20 09 uid Gregory Neil Shapiro <gshapiro@FreeBSD.org> pub 1024D/F76A9BF5 2001-11-14 Gregory Neil Shapiro <gshapiro@FreeBSD.org> Key fingerprint = 3B5E DAF1 4B04 97BA EE20 F841 21F9 C5BC F76A 9BF5 uid Gregory Neil Shapiro <gshapiro@gshapiro.net> sub 2048g/935657DC 2001-11-14 pub 1024D/FCE56561 2000-10-14 Gregory Neil Shapiro <gshapiro@FreeBSD.org> Key fingerprint = 42C4 A87A FD85 C34F E77F 5EA1 88E1 7B1D FCE5 6561 uid Gregory Neil Shapiro <gshapiro@gshapiro.net> sub 1024g/285DC8A0 2000-10-14 [expires: 2001-10-14]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 LsOLmQ== =GprF -----END PGP PUBLIC KEY BLOCK-----
<arun@FreeBSD.org>
pub 1024D/7D112181 2003-03-06 Arun Sharma <arun@sharma-home.net> Key fingerprint = A074 41D6 8537 C7D5 070E 0F78 0247 1AE2 7D11 2181 uid Arun Sharma <arun@freebsd.org> uid Arun Sharma <arun.sharma@intel.com> sub 1024g/ACAD98DA 2003-03-06 [expires: 2005-03-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD5my2cRBADKOgeJz+IX/4UT65iwvAMoR5SMctMAEGNHvTk96H0DSYmDmqPE 6D4PWxjiAmbFdMmxGvmPlZDGRk7IpZhrvmsAuAvwImA/UyGb3Qnb0zOoOlAIQiGz NXRvum8vzoTeW5r9ghLOKkBuze1qi8PZdT+ztreaYcPPZBI9zPNfnZd29wCg4Sqo eWA46NgWICUsOpC3dkhAmdMEAKBUmh8p4kOZQq5LPv3y1fo+5MBI1gnawiJoO955 nzVuisH5h1yaNjz0nkB5VtEG2Ub2mhBjckze4EP4FzPgIpOhSMdGfNh67rrByvv5 DD/SBwjULSEGbBlywn462QDb1X0PxFX5C6IYK2Q6i/vbWkOFMI2dVuQX0PUq9zjN D5QJA/sFeXR7NcutCUaLknFCaV1cBTITJNurKn5Vm3QQq5s6R2cFTxdouHcSNkto EbhcAvMapxlWl146h7mAtLsXXa5s3wuMWq+igOXUk0wkcm8CqvSQtnVYl4Xy/Ll3 zXKxtzKHZ1YxAdYQXGkesBuaSafCN6VYDFFSEwChHrwe1sV9obQiQXJ1biBTaGFy bWEgPGFydW5Ac2hhcm1hLWhvbWUubmV0PohiBBMRAgAiBQkDwmcABAsHAwIDFQID AxYCAQIeAQIXgAIZAQUCPmbLaAAKCRACRxrifREhgYRWAJwLdcAEvjkJf5bHy975 R7q7Rp4KUACgq214dvKu35ysWriNNxu2jtIj1he0HkFydW4gU2hhcm1hIDxhcnVu QGZyZWVic2Qub3JnPohiBBMRAgAiBQI+ZsydAhsDBQkDwmcABAsHAwIDFQIDAxYC AQIeAQIXgAAKCRACRxrifREhgVrxAKCXiBsYhu++BPQX9prGf2BeKNYaswCfaS2Z eNyZsxSNedBb26k8ARWrZzq0I0FydW4gU2hhcm1hIDxhcnVuLnNoYXJtYUBpbnRl bC5jb20+iGIEExECACIFAj5q4pcCGwMFCQPCZwAECwcDAgMVAgMDFgIBAh4BAheA AAoJEAJHGuJ9ESGBbWIAnRAlo9PVZzdar5pmWDGspeyGk63ZAJ9X3x6ZQSD7uYeB ajKe61NpPAamJbkBDQQ+ZstqEAQAkgu4UWlgyF1IeMM+vwHQ43zik3Rn6nhpJXRb Arpg4QyVHQNQshVT4XsmSvcgw0TSUub0x5m23dqnhcoB/mk0kAIymVQiEaa4SLjI tTXd93yRvSgPd8JEUNFwcSE43ZJrrmSAqIc6MUJ0hI/pAeCFvRWYQ80+82xx30Vn fJLOJR8AAwUD/R2xFX5geJ7W8OyLtB5XQirkL1YPGLNNx4lyAPXFJc1s1KwfZ90q LYNw2qLRIacYKmY2X9BrWADXPrEZIDKljn+Awz34lSwerLHWwYDDoeyjfMt4Mmra MsV8UIjaBGO1ptbqEDSVeb1tiWQGa622pT5YaZp/r/OFdlmg+JvkAzHkiEwEGBEC AAwFAj5my2oFCQPCZwAACgkQAkca4n0RIYGWkgCgxhDAezhK5kiSC4N74g9ifsF2 jl8AnjujFRJcMfV2R28jiZ2BS9mnvqjU =klyl -----END PGP PUBLIC KEY BLOCK-----
<wxs@FreeBSD.org>
pub 1024D/17F0AA37 2007-12-27 Key fingerprint = 96D1 2E6B F61C 2F3D 83EF 8F0B BE54 310C 17F0 AA37 uid Wesley Shields <wxs@FreeBSD.org> uid Wesley Shields <wxs@atarininja.org> sub 2048g/2EDA1BB8 2007-12-27
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEdzy+MRBACwXYsfLwZzbzYru+XqMIFKVIIszXJK61UejvQqcuaZRNLSQyM8 Fc5dI6AfciZV9tH8LDqYmd/vDtzjmBp/h2SPqQfiVuREQ0+c+aplvWvWc2TjFQg6 CZbb730TtazPXbObZvSMRvLeRM32W9Abj5L8DXoQbpMtC8cllG21fsY4hwCgyngp xK9e32zih9ddXk+NgjK627MD/iPPyo0N4cb9omNwOCot8YIRpdJhmvR/yPh+8rmW NUu61gV8jn2XB6Ldto8/dR7chqqbBU7bS+hsk/lmbOuLNe2XkQA3e7dd0EEHSYYf mx6zjw/dEb9EBANAWI6QOyjNM9npWb/shZi8Pehcty08t2eytd4M7wPI9zLAXsMV M3nUBACgxIoW4e9yXeNQ3CI2KD/Dbup+SNha1uCEmzN5A0VfPJzyi4Avdtl9URGC HUFnUAs5B366yQTgmkjUcfcWqTKBicp4TAZ2KbuDzMX6f6cikb9bdbl4P62vN718 5iclN77KfTfc6j4aOdIbnc6J9GStvYY0R2eZRKkr3CsqSuebxrQjV2VzbGV5IFNo aWVsZHMgPHd4c0BhdGFyaW5pbmphLm9yZz6IYAQTEQIAIAUCR3PL4wIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEL5UMQwX8Ko3juoAn3bIDWeVAWOfi1XjXdaA HN7HKkMKAJ9RJ4F67NZKo37U5E3UnnVSRLCZ27QgV2VzbGV5IFNoaWVsZHMgPHd4 c0BGcmVlQlNELm9yZz6IYAQTEQIAIAUCR348ggIbAwYLCQgHAwIEFQIIAwQWAgMB Ah4BAheAAAoJEL5UMQwX8Ko3KPQAoJYfbksQ/n/1FitmpqJb+AmpOmkPAKCVXF0g Clk43/Af2rVb3Vm91NmuvLkCDQRHc8voEAgA6Tped4TSVLcdXmDMeHvt29i/9rGw EO6lbwUZfamHGasMALyhWC2/nWhoCdo6tTP2XT9guEX5eu/FoN+nAEIKKHqNiiuZ 6jyOuzUFD/d6n8pUkjHRLqLxFznbgW8f0aaG4rNJTQEQy6+X4/yKEvzRxjroNbZQ l300+liw6Q5OztzgMjhkcva4Gxf+aVhVMueGVuANj1QhPPqvIT2roRsBY6PPNCGY AaymLWBq51UbvE5j2jtCF2nfxYnajauqnJpZK0tSkLMkxWd/Khvv7GmO4v47qx/U DTx6iQP/i43JZIqSg8zSGjY9Lr9XJpzxr4FVyW/rs5X3Fp9ZCQxF3Sty5wAECwf/ Zs93KXphXLWhCal07JQsu0T2y81+EXRue7QltZs+VTHvGZuc949dgnZrq6iRckpD unMRJUXNrKP6BFNOJuDAVRVOxxDQc+ydVGwpQFzJes8/9C0TYOaw0k+ayCZapfVf L6zktK+g8oYOXVjjdo8hX9xsus5ie69x73Csve59VmGgCwvywuLUcjCWEgMZGRY0 hBL9ec4uRDVRIdsl15hQ3NGwdxiDEPkJu8QzQv/t4cde+omnI0UdH+Ywk6FZ2qxj 62QaoTvFhuNfWUdmnEAbIkfRCFnHVEL5KcQs0Z9CM2V6qS4kdD9wzthhYtcRgWjS paW/fPyNYLmXuYgvfyk8XIhJBBgRAgAJBQJHc8voAhsMAAoJEL5UMQwX8Ko3AxYA mgKQnqx2baAJtOI7VsgWeTBFEi+HAKCaIQDFpsRsUtsuEYpqj+/zH1bwhA== =kNwv -----END PGP PUBLIC KEY BLOCK-----
<nork@FreeBSD.org>
pub 1024D/7104EA4E 2005-02-14 Key fingerprint = 9580 60A3 B58A 0864 79CB 779A 6FAE 229B 7104 EA4E uid Norikatsu Shigemura <nork@cityfujisawa.ne.jp> uid Norikatsu Shigemura <nork@ninth-nine.com> uid Norikatsu Shigemura <nork@FreeBSD.org> sub 4096g/EF56997E 2005-02-14
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =/u/r -----END PGP PUBLIC KEY BLOCK-----
<syrinx@FreeBSD.org>
pub 4096R/35047F7A 2013-09-24 [expires: 2018-09-23] uid Shteryana Sotirova Shopova <syrinx@FreeBSD.org> uid Shteryana Sotirova Shopova <shteryana@FreeBSD.org> uid Shteryana Sotirova Shopova <shteryana@gmail.com> sub 4096R/E509C37A 2013-09-24 [expires: 2018-09-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.19 (FreeBSD) mQINBFJBrysBEADSu10akwktMSVYeCFQwfYvmDjw2VlVu7cAzzNpCK1CWPJIoH7a WB5Oq1RJhjjXOM61Uk0Ph47gdwHbL7nSxgUUagADKdWwjp5NX08CStCcn6uUKJzt bvNfe8r6/bp+AuAR5HED/Hgn+mKYushdpdZzhrNyJNurIRO21scydOVeb4Rn7z5v z/NNd0kT3YBWDtTQm+RS9iAXqKVHrMYnd4Z3YTeoH2U9RLcgpA9iNNo01VYNulTw J3/UbSElTs4Ub9j0d/DEJnxRleoa6pFdlJUQuek72m7/s2R9vvWlrX6Pyx7dU53e lBtcaQbsHbzcI8ysFhOXk6i1wI7JYwawgZh26nsx4hZ4MkgpU6nuqTx20Lx6Ady2 mherH0UihW2somc+lXiM/NytHCu/afMKe+DpVC0IdClsKfv6XPwsXA4iFgRPm6cb 7sLclNayImUHwpLrjdaFAxiHHunl0AUz5fxZwE9g0x1ucC7a0t/75dglxEIEybw9 yJKb3FWHhOMytYPXJPS3vxwiZ9HrG7kYWRzMywTbr2cMF+Jm/aUbnvOzjyjxk3nQ +k42g5fOiRyx8lxZSHKke/OsArWUPq+/Ec4F5o5cvm9zPxADjI6+TrqLDIxbROeu 3+aAE1jUDtBMYgIdmsE5fQWYddVmO+Ga9GJADWR4gxG9b70nhXp3bNIqLQARAQAB tC9TaHRlcnlhbmEgU290aXJvdmEgU2hvcG92YSA8c3lyaW54QEZyZWVCU0Qub3Jn PokCQAQTAQgAKgIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCUkKT lwIZAQAKCRB+n0S3NQR/ej+lD/4o5a/cdA0Nx1nvNEbvkxWxw8HC+mO1qdMO2QG1 iS+ib4Sp3/ws9gu2YS6wfgaPfkw/nAuvhLB1E83qjOS9jiGKy9c3Dokp5HqFkCiH DJR1vdTN4Ium8yEw3af2/CIRTO8Q5TRs00q6fMqMQ8rJCc3kOi3B5kBEkrJZN/on Qhe5XowqE+J7N6wicIEwHJQoINmtEbykrueNQSlwQ/2ItH8+i3c87hLp+NdIKKr0 TshPLItiHTvBw6qQHbliJxsVouMQJ6cnq065VVNNEoHzMw9vzqQHmFGsAV2Eio6u mlJQYluPK3i9WSrgsdaSGJarp/erMQBcWXmjXvapzVtJrPsWgPVnQxi7aCROUmUO LMjH6T1lUZsJLpKhGXTPHtzuF/XL37ylyi4o8In7RR4Cmb413oGmL43odiNK3h0Q 1aPCLtW1NCy0HUeFQKbx7s2HNADSq77W9oEZeBUO8Cy1LZp0wSQ426q5m8sGxsEJ LlvDm78p6MBJHLvNrZXwtgPIentt8ISYic1t5aWOg+xCrUyrIlLlqhpwESM74dWp ZEd8ajmrPqgB2YxwGV1IRZI4K4aZw3VzepiE0tZhoAKTcP6fO1TGi22oybsg7u6y LdjxIYAtMtognDf3zaADf2t1Yuwye8UJyNqqyk+8HRCc3uiYo5qobDmFdZc+RDpk Tr8m7bQyU2h0ZXJ5YW5hIFNvdGlyb3ZhIFNob3BvdmEgPHNodGVyeWFuYUBGcmVl QlNELm9yZz6JAj0EEwEIACcFAlJCk0MCGwMFCQlmAYAFCwkIBwMFFQoJCAsFFgID AQACHgECF4AACgkQfp9EtzUEf3rKqg/8DifDLjG3yYQ5d+dfCGm6pSEKgBtjsm28 F8gISi1xaENOZnL3tAElMuaU0lN81mOzJXp6+FzE4v/eSezQXDmrFApvvCuBUkI4 2xUBo50E292xI2CKZz4otnzWbWE8nTkGRBoT5GoAJfl+osUirEFAS8koTib/0i9F qLvvMWGulwazG5LwcK4X9HipFVJmvU4yxdlARVmxmQ9urDFrZpmz3MARS6xy9NxP UwXGxGLXTfcbi9sAkq6fYStLAYDFIHTqsQJ6V2SCwv7i2DdvxqinIv+Vvfi56B4D O5BAOTckSGCR3FLico8kFGkcm5UgMQsIF5EMgMwglZALltGwwq+FXSf53CZJ3OqD Hu15GTLEO7ys0tH+mPxFFE4o5uws/2PaLemphmJ5a8MQ3EOwqY7B/fhcswdHaYpc Go0aMSXuNhyAo0aYwCHVz8PHORAFF1eICXfn41J3UdFCUutf90+5eibdbIAAfdbK TpHt6RidocBwrMXUsTO7LYVkZ8d8KK/pEaPK8zBLxrwfupi/JAtO8SDHgjSIVkif OaJ9DA7k5rppNPxerqGKs4rpmza8i5sfgxnAFeXXFPCzgL+0G0olXDNv4Z9mwAPr Yc3+njLQmMTHqzkm8Dqe/4ZOVpS8ARt9zQq2Ov0jIy/TEPAnnj5bjlLNO1kFpViU f1hpPUa5KVm0MFNodGVyeWFuYSBTb3Rpcm92YSBTaG9wb3ZhIDxzaHRlcnlhbmFA Z21haWwuY29tPokCPQQTAQgAJwUCUkKTaAIbAwUJCWYBgAULCQgHAwUVCgkICwUW AgMBAAIeAQIXgAAKCRB+n0S3NQR/elb4D/4n57qSBwdVZ/eC2ILUUD2SdtL8m/FW t7w6jIW+DYCH2C7B4Vn0IvY4aFMVPGgrZxq6enKPGUMf75GwdnSbe3nkO7OUAVkP mkcI85i4FzjD60V58/yEHts6Y7qvzc2iYziP95LlWqeORt6509PiSvRVcBo5hcXd AqvIajECck1FrYcG/1Q5C11ClHk+vX4fepoZ2g36iXfDu4ltAZeMAj5U0ttgS+0I mlT57I/f1xHScdQwMtO+6XtYRL79FkXMQmGpFzxTBSeN6sqHsMI1qdybCHcNPtCT N606QXs+QWDxKXGRZt1kFozp/vR6G1bj4Z2H00gHeI3GrPXE7hKCFdv5iwKv1xI8 uChRlzMr5CNM0bnQJstI+RV3aPZVRW8NXDPBp5c5zUOgL7WjyiJrZNsUMJzy/a++ mo0yBi7INdhpcpuVyfD6vtaqNcph/ZyCIuW8cTNwFThlcCbLzoJkr7ZSqFDU7pYU evvPWO5GMwN46CFNE+KUhVzTeZMjBUJlPcUWXwo76LVVbCXRAtwvVvimO8bEs+es yThG/FuTlk4dh9Oy2vp4ktLngOuPWNV+mhJ46mQAu16zZpBpF3nivCvqO6KQH787 meNJJ6YoqpCBGWjOsFcLgsjkmrkjD/yny5PWCNOq6YYj2Txk9Vnuvw7ASLTWzM6c i5rvyVueOL9a7LkCDQRSQa8rARAAvLANnDd49E4gdlMvhmQXYmuaobMMpzrFZatN ydsdr/KghWFNYYro/QUKvIBo8/Er/FAzOQ+crXDwLRVR5yhWiBwRd8qgx+Ii8CvU oaw38y9Yr8XavSLucWAdfoYjva8k3TbgNCdlBBhtLhE/JlebfBhnQq1fRmub3pCt fULTYAdpgG2yls+ExL9A/7EGeBarbYV3eDR7x6UK1v78pXvtOv5HDPDXkkhPzEXv yWRZtgqN1G5UQW2kojmRbwqoTqZYkXbhw8Kf2gXAXbePvci97hIRZWgrfLkoFEMU lGF1hANFVKoPgIQ7G9bysObG8JVX/jorwdoQQR8PK6vF/vhjNXFXVM2y90l68zqO wlgQoeJTHI5ZHMiIowUmj8UGDoywHUzZSXSCnPzESb8BDSCLwo6NOwYemdlhdKoc QXjznrLTeAwdlnEQTTSi5ODmDgON093mur8Cfeb/YG37ZJeOJ42Hes5+yr9DKDTZ uFeMiVBAqJzEmryutSdsK56EZdMRey2tpnNDO66UtDKPUwVoJNBa0EPK6ny/rErA JAHPJqx6kSz+0b5cTGROaRCfWmvYFC1YNwbPaFgs7Nkdcd9xgyqO0nq+qOAgxhaS 0B2XTHS04LG5FWV+LT4ACRAmZYzMJP7dy/vWe8SRns7AaONwSCFNnyF+5E2luesT Xn/h1R0AEQEAAYkCJQQYAQgADwUCUkGvKwIbDAUJCWYBgAAKCRB+n0S3NQR/egRk D/99vxQE6CK52bz16iFwQdMc+OWgtAlNSumzLhVnhfqPSNSKYTIKFE7wrPWQbTe6 arV5QUdYFVu0n/AMlpke/hyj+q14Ntj6SEkPPEmkq4MWtYRm39ux883LyVH8nTM7 QpAI9lJepcYaNaZ4bUgKTaCHB7YVH8nBMS8vp/mxr/DQ7XLPeTAo1FRFUEId7OpY ZehmBdBXAW1GWFnFdKNyHr9aNQUCLVP4pKLWsma9foPfM41B9RhN77MLzNWONBLh UXoJHOULdlRi6BUM9DpDAVNvq29zV+wC7oiJOIAPT3wKJyjdBTn9rwcAsg5t0RTd 7tjPUtHuzCrOd8KBB/LZNAqdLmZE3VILGgrSOIFA4mw1DGHYS5tjvqWmBjEcLLh8 g9PX13vPhAK4Hy7gV4/ND5JNcBUU9o3Nzqg2/AQ5GNa087iHGZEQz8iQftvWkicQ GBWHR1UfQDlijh7MTweVFzlW18CJafAfz0K0+6Vhi5FlgVjW5BOfc1bBsaMJmsmr a4823qdbMGG20rNM6PlOhIqKNEmkWIAiK0dJ42lxchiFPYSheaoSQ0vhhR86fzGw axwZK4B12JVbmcpmvkX6h9iWvaAvdkt2Z8l4qJ1K+WGSanJ53uyg7tK2Gs1hmgL4 5I+If+bgC9eQe0ofDmYFiYMx1uZ8+ErEA9wan9VPv1Ln8g== =nmvG -----END PGP PUBLIC KEY BLOCK-----
<vanilla@FreeBSD.org>
pub 1024D/ACE75853 2001-11-20 Vanilla I. Shu <vanilla@FreeBSD.org> Key fingerprint = 290F 9DB8 42A3 6257 5D9A 5585 B25A 909E ACE7 5853 sub 1024g/CE695D0E 2001-11-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDv5ys0RBACm/dkRFFWNFb6pafzsHX3YHfyYBQAhyoT5ZPvvh7e6RdHYdxYc tYjgtOid4jL20Uz7kXYwT5OVYo/l9j/AqknacYoboO5AHcJrfO3QjfztJaorUSqv w9dv6DSOQWwTmexeshp6v5aEsOpDbfPtUnFBwcJe5lOBsokk2CqkzI/XqwCgv49G uNLbdtIN87CrUwyiLG5nsSED/35/A/9b/KNwjBoBbheCJDByHNPd9svQIpVWTuk5 i5RKVQQET4ZD5tPQWPnSZ95ztkkwcjjOak+esHK85yTYXXjrfcP7JiE3HIZhyj3S dxWaOFEbSE3Xc0BT+8BOAPFfb2WMSdCQFowkRqbMiFudLnz4tZnBmTQcuxqp4G7S AFh8A/4jBhhkKaw0KeWtkFKugVgUWZNWZ54aJhUaLg5wGbSTNME74YLO0Xc+wkjY id3gG5ayJyecZXCMUf175/ZaSPeNRCBOfMjDnl3G05b/huBFUnXzxTkWCcmopOwW 5tz4C69UVP1UHg4XMu+f6D48srIaFu+DOMTwniL95vqcGkCUJrQkVmFuaWxsYSBJ LiBTaHUgPHZhbmlsbGFARnJlZUJTRC5vcmc+iFcEExECABcFAjv5ys0FCwcKAwQD FQMCAxYCAQIXgAAKCRCyWpCerOdYU/oHAJ4kKjpX6iMF1Y0FjPMyFiyUlgjT7ACf a3czQMrflxJC/VNuzMAmzA19j3y5AQ0EO/nKzRAEALHq1lBY0OBQBeV7sGOvTaBN itMZeVDrGDYUQ9xunaDsEHfz2fD3jXCZLaUayv4LZeWzRr4DbnK4F0AmZLR1v5h3 LxBuvqHPRma5RyyFRftwTNHM+DWu6TSqnE43QS7Ci+z8ua96CmcDa+PnEfubyNLE dco8gfE4oHDqni1R2qVfAAMFA/4uVSYj/DvIzckbZ05FjG+pg4HKsyxyFeFsrm9D 8JD9tC26k4YxLG5FPBdKRsDrN/lZbnLWHTtZqhE3WlX6DRlea93T9Vi2skbujKcN mbao5pyVXWl1dboFquP8ku91CRTZvmdLF6IBnPo0LfOu4jD6DsD5O0UZ7lD/Y+6p 8WcDfohGBBgRAgAGBQI7+crNAAoJELJakJ6s51hTsJUAoIB80SN0z90ocSdxYGwl xkOSm2cvAJ93DigXb3moOsw3BRLlLPQRS6TZxg== =aR5H -----END PGP PUBLIC KEY BLOCK-----
<ashish@FreeBSD.org>
pub 4096R/E74FA4B0 2010-04-13 Key fingerprint = F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0 uid Ashish SHUKLA <wahjava@gmail.com> uid Ashish SHUKLA <wahjava@googlemail.com> uid Ashish SHUKLA <wahjava.ml@gmail.com> uid Ashish SHUKLA <wahjava@members.fsf.org> uid Ashish SHUKLA <wahjava@perl.org.in> uid Ashish SHUKLA <wahjava@users.sourceforge.net> uid Ashish SHUKLA <wah.java@yahoo.com> uid Ashish SHUKLA <wah_java@hotmail.com> uid Ashish SHUKLA <ashish.shukla@airtelmail.in> uid Ashish SHUKLA <wahjava@member.fsf.org> uid [jpeg image of size 4655] uid Ashish SHUKLA (FreeBSD Committer Address) <ashish@FreeBSD.ORG> sub 4096R/F20D202D 2010-04-13
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 KuE+idQxbU77Z0BRtvqrcDwuelghJOUZ4KvLT6s8BNb5rJqJASIEEAECAAwFAkv7 ddAFAwASdQAACgkQlxC4m8pXrXypJgf/RDjEqFUMxcyAXtsvncpNnJHjEqtlm8uj GyDOK69lMe/td44ujCJsqvqP2Pjj1dhZ0uh+R1Nd6mCBPviM0uH6lJ4QDoq8WRgf Fq03HGHxFAe2CbTaZbUa7aRHuevHzZwsAksNlsqFdp5Xq0P9c/rt91UNW93Y18cs edp6vSFVIcY20j5xxc9Q/xbjBIqcDJ75Mm6h+5ZlzgD6LDuwg2vQ2cWScUGFAu8M RzcPkCfLMBWdaojlXRCVYROA2UIwHknWtfEMtCuK7JiPRqzOoz7nRDfYvR6AQSLC aBsjMnf9fMfdd/XHaPtH8DJz5qlrdmZ4a1e+ByNhVxQL9T1sWGThQokBIgQQAQIA DAUCTAyZhwUDABJ1AAAKCRCXELibyletfM5aB/wIo62JuZQKCuuw/yry8x/TYAVb nhuQaD3HXZeiw7FT8bX58JQNGhRE6cWze9ziI9SEiCQ+n8J/VmXcYezXTOwWENSB u3OkE4h133CENnyqgJhmDboQTKbpq47jgHpBpATVMnLcDpKmg1ypXHUK/1zo4dWB hdNf/EK4adzLOCSnlYc4/4knkAiaBuy65oEYVeob9FogGK6q9xIFehzpRN53Pcgz I3LSf+I3gaHlNLIpmqvLAOZK88ZsnidCPhA4u0br9ce0FOKaTGzNN6zDWl95pBvB xoy+Jgovp3emI1OVNW+aNqK6Syt3WdSqi7UXNabpN0PgfqoHzU8a96aEYcuU0dGC 0YABEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEBAFkAWQAA//4ABE1l/9sA QwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/8AAEQgAZgCA AwEiAAIRAQMRAf/EAB4AAQABBAMBAQAAAAAAAAAAAAAHBQYICQMECgEC/8QAOBAA AQQBAwMCBQEGBAcAAAAAAwECBAUGABEhBxIxCBMUIkFRYXEJFSMykbEWgaHBJCcz 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 72HtYsmNE4TLbl0fMctolg== =ID+y -----END PGP PUBLIC KEY BLOCK-----
<bms@FreeBSD.org>
pub 1024D/860DB53B 2003-08-06 Bruce M Simpson <bms@freebsd.org> Key fingerprint = 0D5F 1571 44DF 51B7 8B12 041E B9E5 2901 860D B53B sub 2048g/A2A32D8B 2003-08-06 [expires: 2006-08-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD8xcj4RBADp/ttN/vrU8xXimyZDEJ3NbJXMRAdWin8hhY5cVDT6n6t6Kih2 5Z+orVfRUA77yyYprxpkMKJvfsRspWvJeM9/7duQe6C7CSUNwB3bXCj5Q7PG9Oqa a6ZNPQ8k0EGZkFRgbbkru8wpcttMr4ngsdIm5cU7Y/bk3O2L8kh/Do1XwwCgraUA 0z9KKZR+PpMgM6YXmAy0fh0D/3EP//MLIF7RW+wyabjmTGxMB9RapZXlZLTjFFeX sOrAhgcjFodwigDHEqLtG5I75wz+z2vuyaLtTPHYy9fkFxKXNE8wNWj++6GMJO3l OWRyWNlDLX0d3D22vVWOeh/rLq+PvsEHso1TnOJrYn4Dn4VwVXzSIaGmzGAPuPoO KaT7A/9Pgc8gwGPtG31yrp6AixoMZ32wVdxuqndD3M9XK+jtcdDtKvICQcMWCL5T E8dwmb2qzN13bBILJHktut5JvjgOgYOJeLZKPAMRZz4MON7KcKNZKmPBuNw1a6cF KGkBJfbCh1GIx7DyF/CcFeg4/7IhQoANYZQNc9Zm/tRbg531SLQhQnJ1Y2UgTSBT aW1wc29uIDxibXNAZnJlZWJzZC5vcmc+iGEEExECACEFAj8xcj4FCQWjmoAGCwkI BwMCAxUCAwMWAgECHgECF4AACgkQueUpAYYNtTv0bgCgkdyW3YFhooTeMExQJT5Q FbCTYS4AnReju20M/WngliTt9bdbnbmPeGFOuQINBD8xclEQCADhc4W1TgKJBO6M bEnWC16IXR3U8sXU7meMMbclb5vWt3j1jHVczrYVdkEyGxzu+ydxVlPhdGXtxT1W 8CBjXsfz8DRKs9nMttqPj5u6KQdr+O0zWiZZkoqOdT29X7WZNKWQreKK10PgvmDu 1rzf0Y87B7M0qnqjKjhqinVhLrOHqJIwfFQmB/E06MOhE3BQqYXc5qvBuq4U9y7X Qt/Cxfobw47iwAJEJIExai4mMsbXXtydsj9O1tg20c7IBzJEEDecOFJPhIKtcQ7p kRNjVGwAkQhWmXsPZHKkMjgnkhTmH0L7MT2YGK6LHvLiuAbjULYiSZ7WLXMDe3iJ al4lDNSrAAMGB/9X9K1Dmdu6pWOub3zkgNybFFh8OoguKJkdO/bh1RejzeNfI9Q1 M8gO3ePzgXF3+BgJIblOA77t6OhNUQLRcjSs/xZwXG5KVQjRF3XJGkLZQIl3JGmB i5eNE/rBIMHSPn4GM8FSDZ8bPGzgaTBhEIos/8nCMpyxf70f+gsbjjW/Dq2HXHNr wToHezXX1LzzCqIl2fJgubrMXVbKYQBLy7d/IQnfZp1sGfvTcSJSZXT3wo6MH1EP jUpwmfVOGDN1NDQTbuu1vYqSETt2xzIq4R/+y8/xbm8YKBYDCL2EyCGQcwWhFU4C RAgXFkuWPiXx/PjfYC4YpKd57/7xgRO9i++LiEwEGBECAAwFAj8xclEFCQWjmoAA CgkQueUpAYYNtTtwzQCfc42CUSzItmXxtmWaVRxFSbnwJTsAoKPQ1LsUmEHNo+1s X7criQoU0Axa =iL/w -----END PGP PUBLIC KEY BLOCK-----
<demon@FreeBSD.org>
pub 1024D/13D5DF80 2002-03-18 Dmitry Sivachenko <mitya@cavia.pp.ru> Key fingerprint = 72A9 12C9 BB02 46D4 4B13 E5FE 1194 9963 13D5 DF80 uid Dmitry S. Sivachenko <demon@FreeBSD.org> sub 1024g/060F6DBD 2002-03-18
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDyVYkARBAC2Z/8odq3zwRIQZ9XOF4ZoQ8ITJRrTUwwYjwOf4Kz6gTH+zIGt Q57m5w1Scse3J/fDdIZzw0gJgH0XRpKOonWi23di4B3Oyvrdr1Zm6OlqUjoty8CC 7jo5WlLF/05Vai2HCUmFeqiukCN0mfm3Fd8S+hf1IpE1gaIxCKNvYaf14wCgpoVG Tqi+lIMCktV/vxUf3h7KgOsD/3nBeANz3U+Izr9g/AsF/FnHXeawl2m7USaIB7b1 4CFrQp8FDl6TCAtPHQyQ6pdnh0HZ3h+7cfPB1poRaXUvDimQZR9KHZO9uIilpC2n MdBjbkXmvVQ5FhOJz49cXw51Lck11n/+OuP4N4TcIHdt0DQJoUrGIB6X6Op9aOrP Ob70A/sFsFfebYdfH8loLsJkHU8VbB2Y0KZBXSnhysQ9muvj1HqT+n66o/3SliCE R3cNVMgg51pqxzUC0o6qTVKJbfOrI5b2tbYjvx87ejugQwafhKu8t1liDuUYQK0Q S549pzLKUr/NUvJaYU//6QlFIPNSzwB6x4wjrWAKBv6Vn+x0c7QoRG1pdHJ5IFMu IFNpdmFjaGVua28gPGRlbW9uQEZyZWVCU0Qub3JnPohXBBMRAgAXBQI8lWJABQsH CgMEAxUDAgMWAgECF4AACgkQEZSZYxPV34DFVgCfREoIUfpKaEeGyzl0zKThVC7J XccAnjiB85SwuNAxMraQuGDJXojukUfwtCVEbWl0cnkgU2l2YWNoZW5rbyA8bWl0 eWFAY2F2aWEucHAucnU+iFcEExECABcFAjyVY4cFCwcKAwQDFQMCAxYCAQIXgAAK CRARlJljE9XfgA6GAJ9RFwXlNqYap2SI14IPRjX9ZAzvjACeOC/Elh0HkwQ2HZMT edpgzOuknUK5AQ0EPJViRRAEAO4VdFfYGd/amgG2MDGqD269Kb5vTFbS5mDczgjM 6gXZgOjhbvj3x2auo+Pfos6M/bOtHuIk7QFOeOEJ1wcg8wgE3L3kFQPeEPeOgKBk /eA1ExIW3hiPeuwNxT3iWEv0GF/rvCSeSK3nuuDBNmkSpJ4LHIyO8Kf5YJNp8+6D yJ8rAAMFA/4jaulRHxSsWlFIm3gpBR9aiXGGX1pZTuJpXqjAQcRzDa9cuVatiSJS H9wzfE8R4353s5HpaY3AkVRjY6s9AB8bygGdUCQjuIuifTS4+tG/wmaXNgyqBqaB 6V9gTgfW/7XqcJUGeLLMUpccSRZhlQvHd18aTfPWPB49xu2+arw6P4hGBBgRAgAG BQI8lWJFAAoJEBGUmWMT1d+AYlgAoKZWZs7rDLdQbn2d0CVwmWb6hQLhAJ9E/r8N n3jf2PI8Psl2wtgvWazpaA== =mkxU -----END PGP PUBLIC KEY BLOCK-----
<jesper@FreeBSD.org>
pub 1024D/F9561C31 2001-03-09 Jesper Skriver <jesper@FreeBSD.org> Key fingerprint = 6B88 9CE8 66E9 E631 C9C5 5EB4 22AB F0EC F956 1C31 uid Jesper Skriver <jesper@skriver.dk> uid Jesper Skriver <jesper@wheel.dk> sub 1024g/777C378C 2001-03-09
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 Crfzumk= =Ru0+ -----END PGP PUBLIC KEY BLOCK-----
<scop@FreeBSD.org>
pub 1024D/BCD241CB 2002-04-07 Ville Skytt"a <ville.skytta@iki.fi> Key fingerprint = 4E0D EBAB 3106 F1FA 3FA9 B875 D98C D635 BCD2 41CB uid Ville Skytt"a <ville.skytta@xemacs.org> uid Ville Skytt"a <scop@FreeBSD.org> sub 2048g/9426F4D1 2002-04-07
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (GNU/Linux) mQGiBDywu5YRBACKxY/5WzdUtpL2aK2Yy/Yde2spYiEP2vKj3bs+ovV7a9129lki ldCu8PhoJO+x+96+AwbrR/T5FlXyQrInMa9U5os/8/HQjTXtY/oeq+UNDNFZrnMR Gu0zYICbzgd1rW/tnZJBkB3X2Ao6k0hSATGmP5/sowT7EBSdaM7ZhhqOywCg5A5n J7+062MfzdS/3KoSn+Utex8D/2BN/BMLvrItQBUjy0tn8Vsomx+FHbFKOm1cuOeq smhsOmsANwIafiZnK4+SnQlVbXJLM6exNTqSimH93y7Q9BX7hmWYl0XVpUui0mBR UrVG00PEa0jTLasOkvlyYBS1En4gZ5J2ArE2cYFPkv7jndqJ/pAAZkG+tQnXJ8l5 g0SLA/4tJHLJ6kPad98V3cVbTfhY2Dn/i+QbHvzBbBj+bETLEUdqOKzADGrWoJeE fADfxYi24wHkpH3U781p4SldZpOUvkyYj7YmjqZP0AH6SsKI3i52z1BDQF49gRcD uc0sSmv57yvjKCk1Cehen4/qaVcqXWTZ5NfyGb+hbHLtA2FxSrQjVmlsbGUgU2t5 dHTDpCA8dmlsbGUuc2t5dHRhQGlraS5maT6IWgQTEQIAGgULBwoDBAMVAwIDFgIB AheAAhkBBQI8sLuXAAoJENmM1jW80kHL8KkAn1yTiwsMLq9GsqA44hkh1Sk0etM/ AJ9BiDSqgX0S/wzyXAqfYcsmxS96qbQnVmlsbGUgU2t5dHTDpCA8dmlsbGUuc2t5 dHRhQHhlbWFjcy5vcmc+iFcEExECABcFAj0dWzwFCwcKAwQDFQMCAxYCAQIXgAAK CRDZjNY1vNJBywFtAJ9NCVHRa6GxtfTxae+6ZkTh08xQZQCfcGNMwhcSGJUyjKI2 eYucgrkwp2C0IFZpbGxlIFNreXR0w6QgPHNjb3BARnJlZUJTRC5vcmc+iFwEExEC ABwFAj0di4oCGwMECwcDAgMVAgMDFgIBAh4BAheAAAoJENmM1jW80kHLzoYAoLqR 3unds+O73Z3EppJna4gECkQ0AJ0Uye7ZXLMTJo7pNmZSBSz6bA/qFLkCDQQ8sLvS EAgAinenfe1g5Cdp8bf72+idBePq0zHyPUOpCuFGkiKXecXpgQUHCVYM8IiafB1M Or9V97vy1H56sr+HaBsC75mpuPC7lnltoY+zq0zIkNbi20+p/546W7A5MV66xtTx D6uUSyZ3jksAaVch+6yQNNxr3CDWiNSjomkK1ExPsjaPAA82L4yExAJJGwUYAPOS B1Gw6N3dUtoNuQwJdcw8fjsaRektXsHm6Nnm++3gB0YJ4/x3gcvxlNlONHNp5vdW msQAJtWj4isSMfqi6Y4SQsw2MWOKrYr8Lt++m4cQC6/VZXafTR/TrDZCqYhwovyX vgLMdKfxTZLqsyZwgWDxFKOEewADBQf8CCEh65lRfWQG3MopboOs2fFp3BsfVMvA stV5AYktLHvwGXTW0rx7sCdb3kBtKjiuNFob3gis2Nd05NUxFrzrZsyaktyDiZmT gjmEL1LvodDg/mXLRQgl3QDzUL1nlfFQRkcKqlDfCYezbgYFxCy4EGsC86cf8s8F ZI0hyXXY+zir+xJ/w4KBtL+cY5LJExh0FyPfNnL+tXUthRuN9wxZwVyQ9I4RTlkv ybb8VTWEgzkIf5BiDZalvcOJNAujptlgz2cLnV4Kzu55Xy7jOi5YfYjMbSDa6W5c vO/wbcAG3gwZOoeHBRjwTNkn4iBkDPq71o1LDDxHvWUVAO+jU3TrZYhGBBgRAgAG BQI8sLvSAAoJENmM1jW80kHL1RMAoNsmDIuxlUf3YwjAr/fSqBOKWgN0AKDc0CBV uZAqlAL0tDv8Fiz3HvICMQ== =mEvy -----END PGP PUBLIC KEY BLOCK-----
<anray@FreeBSD.org>
pub 1024D/AE7B5418 2005-12-12 Key fingerprint = DE70 C24B 55A0 4A06 68A1 D425 3C59 9A9B AE7B 5418 uid Andrey Slusar <anray@ext.by> uid Andrey Slusar <anrays@gmail.com> uid Andrey Slusar <anray@FreeBSD.org> sub 2048g/7D0EB77D 2005-12-12
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEOdg/YRBACkP7DeG+wypqbAvKYmIYMBHsYFCmIf5928MvpCgwO4idtg76IX Qd/AQH0sF2uFJiikI9NiJuq3OUXsyRk+7xltLLrgzl7/0GTT6jej8tWFH0AU1/0r nYhUJ/svVe+QNNEbMOvCCcZLslv4/fuak4Ilvgcb/SAir8iUL+nfNzwLwwCgw+fG 2DBpULmZtyMUMZYwyi2UQ2cD/jycHnx1+AHLt24OajcWBoBG88DlcK3ERpg/J+D3 PYoNfs4qcEhU4UVQw5vhMXBnWxD+BiZf6yrh/GRay11oqShMWl/B4UQrZZBwXBVN Lvx4aY6LRA/DAUd0R2CUIwsjaaeBQ2gmvISau4UjtE1ezNI5s/E7oFDNDKkv06Z2 hrucA/9G3+UlrLhDWd2+VMt99O5FFEhtHbClMUXIhXYwFS/41zy7cGf9p4wA+IQC SeXns1bvdZYBxPAYTgDK0XGP8yi0TMpICcXB4v9gkqKIIuO3scB3mH+We66RG5mI 7sls5BoJ3ARfsJuidRS1Uu0TXqCTcj2NTCtDNWd82nRarNpDwLQgQW5kcmV5IFNs dXNhciA8YW5yYXlzQGdtYWlsLmNvbT6IYAQTEQIAIAUCQ52D9gIbAwYLCQgHAwIE FQIIAwQWAgMBAh4BAheAAAoJEDxZmpuue1QYMTQAnRGPeBTIOHdEj4nOmVtECGhv jpqsAJ4pcMFoOwSyCqy5YXoetkQWrsq3IrQhQW5kcmV5IFNsdXNhciA8YW5yYXlA RnJlZUJTRC5vcmc+iGAEExECACAFAkOdhSwCGwMGCwkIBwMCBBUCCAMEFgIDAQIe AQIXgAAKCRA8WZqbrntUGGMkAJ45WS+CK9Uh2UYk3kGG6/jmx3kVFACgl3ALZehS E1Z1ifNha7XLh8C+U3G0HEFuZHJleSBTbHVzYXIgPGFucmF5QGV4dC5ieT6IYAQT EQIAIAUCQ52FUAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEDxZmpuue1QY MzsAnA1T9Wkp8yaxQmPBuuvZNrTdJOBjAJ0TJrwVeQW/+3zffBICU+rptKA8xLkC DQRDnYP9EAgAjavYUHgBttL7+qFwfeOJ3oW+sNVNsMp4VGWvy6QeVCeFvVK+Kpb/ eN9ScAFJM+8wzhNHv3eyXFht0jwSadX48a0FzcYApm+pP3OH6y4Osxhz27P2tc2u yzKMV19nZz28cikY2mtH3Y2GtSyn8pOIL2Ar4sc+hK1LnszGTPf6YgLSBlJSnGH5 +TMg1Pxq/CSDIq4zEv9IyBLlbuK+w1/fqDzLBT5L51FdKDUpsCBZNPaRiin+ZkBx LI742GusIYz+aIcwsRBDONnWdemAHbtSFDxMup5SSEvlAtEU5O0gO6bZx3tv+WZT 6EJ66QsE5IszzTGkw0qK/H/BrsEbyOPbOwADBQf9FOrU6qF1Zj/ONad4vzbjDrn5 nI1vnrBkJ2QJnMM/d6V2ItUVjz9myqXTgteERmwN60DD1jrTqsw5xWHJ/rjJCoW6 mUHWjVkUram3OL/HO96t8zmTZDynrGXfnzLqykkLgJVsVmoU/1OCusY6h0CMAiWr altooE6mD4dpBQq1svwJEe98/X97LJix0J8W1QLOwOi8lD5kApFf6feTRCzJKcOy Szr3NiiwYGGRyHDQhe13KiGoJZQbhoJlbpS7krBTAxyUll6RRtQmlITLF5wmP0jV JWPN2tZ5BdmqYEqOoH4h6Dj+D1glXT19YN6kh+CV1w/d6iWWiB1lDXwDOQMtFYhJ BBgRAgAJBQJDnYP9AhsMAAoJEDxZmpuue1QY+tUAoK4RQLo2F+0c9PlfrfUOYpOk GAzYAJ0dMZ6xeDy4UKlIBdDq4KPZk8IGzQ== =vOBB -----END PGP PUBLIC KEY BLOCK-----
<flo@FreeBSD.org>
pub 4096R/E7053DF9FF86F076 2013-10-03 [expires: 2018-10-02] Key fingerprint = A701 0320 3BCA B44A 98FE C844 E705 3DF9 FF86 F076 uid Florian Smeets <flo@smeets.im> uid Florian Smeets <flo@FreeBSD.org> sub 4096R/F779EEDFE754EA9D 2013-10-03 [expires: 2018-10-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFJN6WUBEADt70ZvmYfw4pnXrkfA9YEIaCBIJH8366R+2W+nlkflUsz1xr9z /rxUOpijD1QMBdWFlYB9GsGGeUM0AiFazjMoVPoTTfO2KEb/zhaOSMQD4jTYPUTk s3p06rhQr+4vGJ5WuQeTfTvZbrT/AX86I/OEoGKlf+7MvChxbN4jqEDbek4Ed8Hk ctM3/MMMh/scMIchVVs02pVb2sJZ3WnacrrhUQKArTquowtq7kSG6vIBPecvl/Zu JlUd9ErHKiG7SH+RYGrmNpZJyEFqZ1qq8lhWy73OjdCCsm0KRyLyTNMLMkBChoJC RKKF70HxR4AqpNAUuQn02P9cDSfkWAHK3lk2ppKpeyGN3dbLSuafG1CohNYVm6kP RufPwTmdbulJ2XM3EqDz6r6X0U7lKuNPUNwySBiv1I8AvvhhxAdv5sF3XafJaycZ 79bgN7qD8wcpQBrfJzNdfaYzI6ALao9gNeZ55y4RqVsFA2yewLuTa2qQyKiEX/To 0tmpADosXBLt9Bj2bEqbpexGnTJGtTSGHgsUf+oHq1oWN64m0wGEFvKw2xEJ/8K3 hB8Mq2KC7zAyOktbe6W8rMvrJmm1osS/TZVe1c9N0UKW7Q2oyY/A0aYhC/uRuNuo mVo34rO2+28GWOnWDfbz1IxiMmM7neDWrvSk2TqJFwA/Hqc8aYDIXBZWQQARAQAB tCBGbG9yaWFuIFNtZWV0cyA8ZmxvQEZyZWVCU0Qub3JnPokCPQQTAQoAJwUCUk3q tQIbIwUJCWYBgAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRDnBT35/4bwdq8d D/9/c/9DiPFItyERv6aomu+BUYrlpsEVlZinMGbcBr0qm84ISzMabN0DssqTuAx+ JVq0nXskP5Di5Pgbc79hmucWHGU304bnvcTdPZLVsRlHKRlreGvZPjOJZymOp/Nz 2Rp80WHeA37fyBCuIDiObQqJlwMs2S+eIIa6axU8S80BN6J7y0wHeJle6Z06Cer2 ntYfOJbNd+InjdOgUmUE5cMj36tak/3K0ptbxlXpCowRvh116HeZjmf6P4Vw1BmU +j+Mt60Eu75TlEnwDJ5yLLc95i+q3NN52+u2bhIfO+sxZV1XycfI1kqIQwiZHZqe R0Lm/0Ms0IGdtTy3OJoHzqE71By1B/1L1S+yvI++JxeKifbVFApvmx7C6jtBplVv uOHrK+NIRPQ3GG235TuldJGwEzU/Qd2TUNsOka08InbOA/uXLlSqUj+DlZNrR8av JRbsu47w2N4BZIZBA6udozPSSkhsDZqLm6qqXlAsUaSaRqy4MC+K4w+kVW9pgkWU IwioyAniy+H/D747mHfPwlnJEzy5Zj/F+dpAIQFZPb81LyYzDGI95h6S0oVRhN6n /2ieINoFg7c72DpvVkjDLlUk955hhihcGU6Hp1dqTkOFgpIR3T1ETbN2kZwONAye A4hRXhnlj0kgBlX7IzLJMvXYdduwhj2xszsYy3hUdsTo7bQeRmxvcmlhbiBTbWVl dHMgPGZsb0BzbWVldHMuaW0+iQJABBMBCgAqAhsjBQkJZgGABQsJCAcDBRUKCQgL BRYDAgEAAh4BAheABQJSTewLAhkBAAoJEOcFPfn/hvB2eT4QAK5fiuFfQNFWpfLB GZDHSHdZl36BE29n48N85pH0qzN04J7RDwjfNzqezIhaZJIUtndxuCVCflJfVPvt GiAFYZGnC8pm29iNRgogEu+MsE7ZXZDenokM8kJnwXoZJ3UpsrXs4KRijlcjTvfV Zd7X8wh/edxSLfkoGtn0U3agntJucdtsgiQF/UOe1iVjSngTO+8lBS8MfhZcuY2m CbukGU77bDd7VlwkgbM7aOvwPBFWKpxw3Wr2nU2d2kMK504UF3WL/DjoXIIezil1 OtFnpW1Dd2f9sp5ZSt0jX90/r4cwVAfuRX5gRWFI2sdzEPE2ltUOW1D+PYcbLzS8 bc/iat7NRqM2EtRNEo9ARuVsUPAlPy4dkmW/xl4RIm7mOC3z7LNFhYM6uK3M87Jz AWL90S6oRKXmlTTa+iEp05KAtBfF6x2EKBOsvzl2KteU0VDmkdUp0FK5o3H2HqpK ujpdMo4V243fjDteBTe1ifdBpxPdweHmWKVfsh1ARqN9waHySL7C18TMMvJbYWwq cjlMjNFIkbQkkO60xMhD9+ctcV5VD3W7YgWPU8zYMvG4UTOGMJQLqk2z8rH/aosr FDy9/pwboVVpSWF+NHZ903aYhkl/jnsW8XJyrX+bctFIDVj21L8sXIXJCjbxR/c5 QFX+xEuJzcKu2hPYPijOCGlO2/BjuQINBFJN6WUBEADh21QG65NakdDwfuJ1ST0O J8ad8MzhqQ7/thQ9j8aRTBTymK+tqPsbDhioQGu/QfEwpmHTSPhfgvjEdQXGJlwb Ccbm5ztEB2rTIbadWqNGWbJ6xe2/0mOQPdDhjzfFPfnF9UVfJffGrMMSyO0hXwSA Cqflhxg/cHHopvH2sOycNSD8AAGBbdmOL8WLoLdHbxHOaZzKyBU7B8A1dB80LGnh v+y2LiMrq9ZsZmfXwf6wsnxiCA+4f67xEZI4qA/yFlzSL7YvYXLgy5ejoIXacPiw AWLMco0pTsFN7OMN5k1JEytsBK7jFdcNwpZiPF5/gyz89mqZJHNib3792htvvCP5 fysHhx9J+EyWdfXvyiDCdQIUXd0AGkSFDW7lUrrW6OY1qpjjwrrN8R37kRCUosuC fetR/q4TIiFPWooCuiQaZnQ+vWOnqDK+f6dmYhylWWSls5WsjEsoDmR8m410xzLa Dhla6K6hHn6qPy64mhkw+pEpert+JZvXQAx3gOZaQ1B5eGyMKTW/ioaQppq+R6uQ y89xi5qVDGkWtfNQzW5oRYz6I5/Bu6aA0S0/DKP+EVCh/WWtu3gRNemTSUmAJFJQ WS/bQ1WP9mkajIj9ayX+jPGu7zZmDumbsr6nzuS/hfNEwT2THotB3ApZg2lO7bRw XQn6lw0Njq7YxZEk7BreHwARAQABiQIlBBgBCgAPBQJSTellAhsMBQkJZgGAAAoJ EOcFPfn/hvB2pvgP/04l+Pqc3NRHEgeCsPDGPQiE7zi5YePxXSdvd+dvYb0h9AlF aJcjo8xw+vd9OLA3x8YX9g7kzoKnWfUUIU/QK4D5P4sTKlGi8Lf7NHsZzmH4cQ99 10v3iF1zdJaB5ckdeFd1v7AspVVSonGf2aDVMNBhouEEWpl2ki6P1prWj7LpVQtc yHrMbiTFf1ZIUnT7HRczwmdWhrQwYcIi9ziS7Ww77EJDt6Wzco9rvqPtI5pEARk7 kp1U7zK6x+j3JyDr+YpaH036zgfJz3eXPHJVkaJqa8oaNooDZn35lf2huQxi08nC ZPAjNH79323wCPWvAhtvZFS1WRhOcaQYWOBHZCx3MJD4nZmpJRr9p0iA4JMBeF7b nTASgynz6VwWZr98NE1kOWwGH8kmGGz7n9kDoB/P8ewTdoZ0hj24ehkJRiN8rQTM ib96wkNyD0JMz0NXF2JtTuu52R0fHyzVyzwXRvaH0S1fRzkLGDyTeds/gkYa0s5F PiKgiEG3etM+KYuWleEK4iDi/zhs/aCDEy2qGdVm3592FiRa6KzyX84Lq95FL97B 6wz7+D30y8vWlts/mdlc/nk6bqRkBTX0dIrDA3+fPlX4lfuO2a6LQPwfqTsVcVbf v9Enfls3XTfVpMUaESCRmKj8Vu0wbm/z5J1942N3u8cCReZTbOTfOFo/GSqn =rJYA -----END PGP PUBLIC KEY BLOCK-----
<glebius@FreeBSD.org>
pub 2048D/6C7E5E82 2013-01-30 [expires: 2023-08-25] Key fingerprint = 6E06 7260 B83D CF2C A93C 566F 5185 0968 6C7E 5E82 uid Gleb Smirnoff <glebius@FreeBSD.org> sub 2048g/11E89DCE 2013-01-30 [expires: 2023-08-25]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =EioC -----END PGP PUBLIC KEY BLOCK-----
<kensmith@FreeBSD.org>
pub 1024D/29AEA7F6 2003-12-02 Ken Smith <kensmith@cse.buffalo.edu> Key fingerprint = 4AB7 D302 0753 8215 31E7 F1AD FC6D 7855 29AE A7F6 uid Ken Smith <kensmith@freebsd.org> sub 1024g/0D509C6C 2003-12-02
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD/MDZIRBACfyWbQW/cZnu504r57DAQbCbTYNG7V/TgfZwphIPyC8YnLtmJv vLdtl7+ToiG7UJUJsBE9OJdb1qA7JP5+jha/TlzIAUMW8doWNyI52nM1zHzBAZVE aB4Gxy7pib9yBsrGYiLbuV5YfB7TUyea31OXpZ4jPl1E6RxlYdVuzEhq0wCgnOeC SuO0cJZMXisY7DhoF1Q8ucEEAIALzShJ6bbjABbcvMWmoRwXvIcBsAcjKSdRcIp0 AP+9i3PSZkNXV7rfYM3+SydTa3sJIVBbdXChQakcZqu9+rmfL53rErErYuRwKqhX mkp4+3GO7cKm0Oya1xLF9es/OfkKcQ9LxkEytNEnU7xlUNoP8fkCMJcBIwagzPfY 7UAzBACEwGP/o1e0R36jOAjrUZsxe63Zopz5138bYdZtmsqwI+QHK6+/tS5I7FCL EQZL6fEjR7gF1lcj3gC2nypjO1aqodx0hShlNnz9d3uJ0q8EChjJuc30UhjgTcbb ZQv3hssKHkvTJ5ch0x+ohYCfH+Gcd8jbXCZvvS8PcI66DRaz3rQgS2VuIFNtaXRo IDxrZW5zbWl0aEBmcmVlYnNkLm9yZz6IXgQTEQIAHgUCP8wW5gIbAwYLCQgHAwID FQIDAxYCAQIeAQIXgAAKCRD8bXhVKa6n9nfpAJ9MHcwNehlbFRJn8B9tlLBE2JvU aQCeLuore1PhiLZPjHriz0/npGn9xDuIRgQTEQIABgUCQLQblAAKCRDYyjFxW6BS wyFIAJkBI9/2PBvvTvB0FZUF2yd3JEQJMgCgpWVGTdChec2z/YGMQ/EeTgNDThy0 JEtlbiBTbWl0aCA8a2Vuc21pdGhAY3NlLmJ1ZmZhbG8uZWR1PohhBBMRAgAhAhsD BgsJCAcDAgMVAgMDFgIBAh4BAheABQI/zB/pAhkBAAoJEPxteFUprqf2oVkAnj0Y vcFOkVU9JWyJJKieWL/+OuNSAJkBvi/uFt2RgkNgUOvHR61SxZrGeYhGBBMRAgAG BQJAtBtxAAoJENjKMXFboFLDvxkAn21uVgtvwLN82vOpKTvBzwAUVK/gAKCKEQDk vfyMyQZayoFeC8cMagaUCbkBDQQ/zA2UEAQAqYnqd58qHyrKfsw3SrTE74/4qneU ra7FY74jcUhGhrxOElG5hXrHHEHo+0M+0zFwhqedecj2GZbrzGEl5SxVsme3slAf Gt5OaAk/ojOY5d5rTezG5v7jSr4EX0JKDkdlve8RozHsutXznsXmUY/BfO1qACek herQeczznycJPZ8AAwUD/1MF+jo626W+4/gMgjgCQ+saOiNI6AnGlS879MUjV0Ef j6aPfAJ5Xi7zNqkM+HdNBxjPtyxIK8RqmdAjHDMR8FjlZjf+svwuL2CfXk4jCk02 OXD4dxJK74w/ZTK2kSW1VW63+5K1lgsRmZvnTpGZ4ijxj4H0r2bJFQ7iUd2kNxpO iEkEGBECAAkFAj/MDZQCGwwACgkQ/G14VSmup/YeOgCfcaCQpDfKaEvYiw7XJryW b4OXclEAnArceW10G489Csi2QR94q7clHU0G =gLKU -----END PGP PUBLIC KEY BLOCK-----
<ben@FreeBSD.org>
pub 1024D/2CEF442C 2001-07-11 Ben Smithurst <ben@LSRfm.com> Key fingerprint = 355D 0FFF B83A 90A9 D648 E409 6CFC C9FB 2CEF 442C uid Ben Smithurst <ben@vinosystems.com> uid Ben Smithurst <ben@smithurst.org> uid Ben Smithurst <ben@FreeBSD.org> uid Ben Smithurst <csxbcs@comp.leeds.ac.uk> uid Ben Smithurst <ben@scientia.demon.co.uk> sub 1024g/347071FF 2001-07-11
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 =D508 -----END PGP PUBLIC KEY BLOCK-----
<des@FreeBSD.org>
pub 4096R/BB9B471BF94E87B2 2013-02-15 [expires: 2014-01-01] Key fingerprint = 578A 3F4F 9E04 9FCF 3576 BF82 BB9B 471B F94E 87B2 uid Dag-Erling Smorgrav <des@des.no> uid Dag-Erling Smorgrav <des@freebsd.org> uid Dag-Erling Smorgrav <des@usit.uio.no> uid [jpeg image of size 4779] sub 4096R/A1F1FE07F4DE87F5 2013-02-15 [expires: 2014-01-01] pub 4096R/92C843456DA6A66E 2013-09-24 [expires: 2018-01-01] Key fingerprint = BB57 22E5 C9B6 77D1 73C3 8CFC 92C8 4345 6DA6 A66E uid Dag-Erling Smorgrav <des@des.no> uid Dag-Erling Smorgrav <des@freebsd.org> uid Dag-Erling Smorgrav <d.e.smorgrav@usit.uio.no> sub 4096R/9B90A1FCF8FBEC80 2013-09-24 [expires: 2018-01-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 GS2ZxjbniRimQBCx0Rm80Adaz1hryJ+2rw== =O+W8 -----END PGP PUBLIC KEY BLOCK-----
<sobomax@FreeBSD.org>
pub 1024D/888205AF 2001-11-21 Maxim Sobolev <sobomax@FreeBSD.org> Key fingerprint = 85C9 DCB0 6828 087C C977 3034 A0DB B9B7 8882 05AF uid Maxim Sobolev <sobomax@mail.ru> uid Maxim Sobolev <sobomax@altavista.net> uid Maxim Sobolev <vegacap@i.com.ua> pub 1024D/468EE6D8 2003-03-21 Maxim Sobolev <sobomax@portaone.com> Key fingerprint = 711B D315 3360 A58F 9A0E 89DB 6D40 2558 468E E6D8 uid Maxim Sobolev <sobomax@FreeBSD.org> uid Maxim Sobolev <sobomax@mail.ru> uid Maxim Sobolev <vegacap@i.com.ua> pub 1024D/6BEC980A 2004-02-13 Maxim Sobolev <sobomax@portaone.com> Key fingerprint = 09D5 47B4 8D23 626F B643 76EB DFEE 3794 6BEC 980A uid Maxim Sobolev <sobomax@FreeBSD.org> uid Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@portaone.com> uid Maksym Sobolyev (It's how they call me in official documents. Pretty lame...) <sobomax@FreeBSD.org> sub 2048g/16D049AB 2004-02-13 [expires: 2005-02-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDv7rWERBADAnp/1Nc02OyU3eiXisqYDw2CaFNG7CpTNalQbJCX9KDuCzNbh RKS7slRG0Cp/IsCIoJ0WLugslAZHBtLigl5XxdVeTYKJfXV1gKXLBnzW942oswUu zMeZzpcrCYHK7AVaTtZJEQTDf/SIx/ZYu8DJPv/7m9I7aY3EYXQsHIqj7wCghRzg vhbpzqR9KiIsH82z5ctlGHUD/AixgJJ6dCf/bxIq3siaijMs1fM1JNLTIL5W7i+I LWUjM9PJztfasAZMj4kXjimZl9345CW+0+jV2oe7y+AFWGZUsQHKb3azruH9frZc a6JSUOwvy4mQjMwtQC2ngJsUQGqrfGl3DLaa4hJzlgQ6i0PHTN1ljKvrMNgtgnZg dypDBAClZuCCjn1RffnM4FzWuDZLYL/wLhqbtzMNvQXe5gwnDeg1QM1xgfUtaaa0 7f071Ayv+K54wVk+7XIRZLP0Kbgo07kJlXw5AzznzY4167RkcrifLPtG4nbDQCaS QreYjUG902h8T7ckkmTV6VAPGUEh/ms9aAeFxAg2XOXiwCaYerQfTWF4aW0gU29i b2xldiA8c29ib21heEBtYWlsLnJ1PohlBBMRAgAdBQI8INsQBQkB4TOABQsHCgME AxUDAgMWAgECF4AAEgkQoNu5t4iCBa8HZUdQRwABAZRqAJ4ypOHGqZA7mf+m+R1k kUCSxtirZACeIXLS54rLLTauEHQtuHfNKEQolCC0JU1heGltIFNvYm9sZXYgPHNv Ym9tYXhAYWx0YXZpc3RhLm5ldD6IZQQTEQIAHQUCPDcdsAUJAeEzgAULBwoDBAMV AwIDFgIBAheAABIJEKDbubeIggWvB2VHUEcAAQEdMQCgg67lgOG0NlSy6RlNxeqT mREvqt0AnjoRX4MwyfWsHmD63XoByM5XjdketCBNYXhpbSBTb2JvbGV2IDx2ZWdh Y2FwQGkuY29tLnVhPohlBBMRAgAdBQI8Nx30BQkB4TOABQsHCgMEAxUDAgMWAgEC F4AAEgkQoNu5t4iCBa8HZUdQRwABAYJvAJsGythE5SUctWSmAYIxYHagnEUU/gCd FQv6AywESIEMOLK5iaONMFb5NGO0I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJl ZUJTRC5vcmc+iGUEExECAB0FAjw3HwsFCQHhM4AFCwcKAwQDFQMCAxYCAQIXgAAS CRCg27m3iIIFrwdlR1BHAAEBbJQAn1tcab5GD07XKi33AdcyP521kGhHAJ9eo7wb PMLk4e7y6ZiQEeMd4DF1/5kBogQ+e3iWEQQAsxiirVfUk5G6X5YyhHT3pX2Tt6n0 F5hj36BLxU/Cbn7viUMP2x6qafIolWC5wW3JEklsql3wXovUl6Uuaah6S57XD+45 YNAztjJ2rOp4wW9KD6i7IWkbtgz0eRLQBNzEvcvdMfGqH/1XujGn033Q3tpgT8sH WfbT68DXuaUTJCMAoJhav+twkmoLhT0o5KSjSgcmtjOvA/4oJZ9D5H4rSRKWhQNG 5A5FZlNX1q7K9/WYcSKWsE6R+jnOFigZOt/wEXA4tUiI1b7SaVnSPNgQ26iMPDIZ uauEmvjQmVDSdO0ZsS545VQ9xJtksJdHZXnTVKWyTNiRWGHWT3ucR2XFJ40U+so/ AxKch0N5CqtYy9A27aO6KLqBOwP9GJUvIE1zB5plWP70d9Kii6Gf9c84VwK8sYcd w45M4DozPUJqMUcfP4ycvK5AY80MRvNr+UP0VgfpuKElh2JCUpgj9XTE48vuAdyd 3q6lVEC4SpjZu29oFNyzcX0dILPHy49pTaNOUK7EQgdS1S7OWksP6XCWQ+Fmd8E7 vtcT+BO0JE1heGltIFNvYm9sZXYgPHNvYm9tYXhAcG9ydGFvbmUuY29tPohiBBMR AgAiBQkB4TOABAsHAwIDFQIDAxYCAQIeAQIXgAIZAQUCPnt4lwAKCRBtQCVYRo7m 2FP7AJ9QC+MpLfOgfrBZ62ylXJbgV9rSfQCbB+djelAeWNwsPCSI1ztdLW71gIW0 I01heGltIFNvYm9sZXYgPHNvYm9tYXhARnJlZUJTRC5vcmc+iGIEExECACIFAj57 eW8CGwMFCQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEG1AJVhGjubYpG8An1bD +5ViByos/wyRoQ3fL5eRnPbYAJ9orRZWWPheXO7sO4kRB4p0tUGZQ7QfTWF4aW0g U29ib2xldiA8c29ib21heEBtYWlsLnJ1PohiBBMRAgAiBQI+e3mWAhsDBQkB4TOA BAsHAwIDFQIDAxYCAQIeAQIXgAAKCRBtQCVYRo7m2EMFAJ0SKWhO8mbbRHNjJZhr Z6gRvtM7RACfXwBb7dbxG1ZEcJHfvaJxo/VxF2G0IE1heGltIFNvYm9sZXYgPHZl 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 =Z1Sd -----END PGP PUBLIC KEY BLOCK-----
<asomers@FreeBSD.org>
pub 4096R/DA05FCE8 2013-04-25 [expires: 2018-04-24] Key fingerprint = 9CD4 C982 738F 8B90 25E8 E6B3 5F74 63BC DA05 FCE8 uid Alan Somers <asomers@freebsd.org> uid Alan Somers <asomers@gmail.com> sub 4096R/4E121B3E 2013-04-25 [expires: 2018-04-24]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =wnb/ -----END PGP PUBLIC KEY BLOCK-----
<brian@FreeBSD.org>
pub 1024R/666A7421 1997-04-30 Brian Somers <brian@freebsd-services.com> Key fingerprint = 2D 91 BD C2 94 2C 46 8F 8F 09 C4 FC AD 12 3B 21 uid Brian Somers <brian@awfulhak.org> uid Brian Somers <brian@FreeBSD.org> uid Brian Somers <brian@OpenBSD.org> uid Brian Somers <brian@uk.FreeBSD.org> uid Brian Somers <brian@uk.OpenBSD.org>
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 3mPjEgv3yQyXxmScDQ== =g4uu -----END PGP PUBLIC KEY BLOCK-----
<sson@FreeBSD.org>
pub 1024D/CE8319F3 2008-07-08 Key fingerprint = 64C7 8D92 C1DF B940 1171 5ED3 186A 758A CE83 19F3 uid Stacey Son <sson@FreeBSD.org> uid Stacey Son <stacey@son.org> uid Stacey Son <sson@byu.net> uid Stacey Son <sson@secure.net> uid Stacey Son <sson@dev-random.com> sub 2048g/0F724E52 2008-07-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =uagC -----END PGP PUBLIC KEY BLOCK-----
<nsouch@FreeBSD.org>
pub 1024D/C744F18B 2002-02-13 Nicholas Souchu <nsouch@freebsd.org> Key fingerprint = 992A 144F AC0F 40BA 55AE DE6D 752D 0A6C C744 F18B sub 1024g/90BD3231 2002-02-13
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: Pour information voir http://www.gnupg.org mQGiBDxq4ZARBACJSN3t0e7d8A7LNfvsKsNNfMWbANu/f3vEhDEj4D4X2QLKyk8t Ti5/wO2Z7HJiT5QfI3zeRWetvHMWXhAYc24GrTUMdCt2zhUjufi5BdysmcbLiZFt 9wjJpJITW4A6W7YP55ORkZs6ye/j4Luf7YN4xISWvM9/kzpUtU8R6txC3wCgq28H 0tdFPUDvyAwr+97vHs97z/UEAIFPSIAsrH00DuudiLpqZB0LE+BcDsSKgxBQsZJT 06EQQaE9XMN4f46nAtxzFhSbGZL4qIBUO3Ny1Pp0rqjCfumuwONLXZSK829LaaJn WfZ5ux9ZjvfYJ86NgUV2tFnwZm2UYQXc4234FfzfebeiSmYI27BMvLJ28xXU+pNw vUvhA/9uPu+i3Dk+ha+0UaBTp/HNTAveoTKH6lNOS12XhCNNPQUL0gonJTeWThRO z4YttxgLa5I/MoNsub0+GtNrlyhLyHKzjBBHEqJHJp7+zkyfCODnJaxUqoKskUSD QF5VX6v6vEQl5UBjGwonHmzsrnuqTb9pyYhfPTch9n22eS6ZqrQkTmljaG9sYXMg U291Y2h1IDxuc291Y2hAZnJlZWJzZC5vcmc+iFcEExECABcFAjxq4ZAFCwcKAwQD FQMCAxYCAQIXgAAKCRB1LQpsx0Txi0J7AJ9q3/ulyXnWjGWlR0L+3QtfPKI5EgCf WTLlr+SXYF+nrW4VvQcJvuyzZyG5AQ0EPGrhlBAEAKQjsjIRO+kHT+9qCYsw6HPi BYzH++xP0i5143trUJ66FoEfqOl4UqHwNJ7GEXq9MWgzBH9wDL69Bb4kSKQ9vKwD EgAnXObS3FOUPLK5AMXc5jy8rRaUru58+cGs1cNIg69zgQ3FQyWF0FHI7kGsAdz9 8iUZhXL22I7+EVBgd9DLAAMGA/9oK+Xjo7xdLZvkW8b4nNIA7Xyml2uMLYjg/OVg qRkVU5f7KM2oHna7+VtvdJrIl9bTVc6mrTl6GY1/0GYb1edgSu2Axg+msj3fVkGd 8hWuNQ/T5v45kgPcoJxWLzaWWkDeLQAf5tq/QVmN8hofl6UsrsNDvYTBbl7129uo 3BJbG4hGBBgRAgAGBQI8auGUAAoJEHUtCmzHRPGLta8An39UVQwz3OgsZQ5e8upC VEBCvTUmAJ9/8mbmXF+Ii/JdY6STmU1MMfmQvQ== =A6my -----END PGP PUBLIC KEY BLOCK-----
<ssouhlal@FreeBSD.org>
pub 1024D/2EA50469 2004-07-24 Suleiman Souhlal <ssouhlal@FreeBSD.org> Key fingerprint = DACF 89DB 54C7 DA1D 37AF 9A94 EB55 E272 2EA5 0469 sub 2048g/0CDCC535 2004-07-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEECPOARBACeiKSpedo952tApwSI+rrDIrp5LOC5FG1crAiTpAqy6aP+n60z c2euoVDGjH/ncUZ+TxUK/MkzSOFXTjU0TETFgq2UMxSzZCLwPrmQibfHbmnF08+g 0EjlslsszccPgTEZz6F85aZGYWjU4dhQ1VYP+y5Im88CgahggCB6J+8hHwCggMu3 f51egcdCrodzFvL8poUYKi8D/i644gOjVN/YamHS5QUGNPJ9xkcq5G4OfK+Ubjq8 6T1dd7UkJ22sePpKGtRhPNATeEar/HwzLB7r2h+UAD4Yrl6+//EwWB73BgxyCqcB X57s57K3+UMblbLR3NWJAD/HpxIBFxXfj55VPk6aH6GX5LzayMxfZVYccMyWOcsK UZaNA/0aJkearTpmitBL49fOhz8Je/QIF6riigkdOuyx62yAtYRNrVbDrQvvornR Z1CLUp+mixUc3bT+emLFpz2ZXmGqCr9BMAqENh0gayGeekyk8IYLQudFSidL3yHo WErc76neXoBE/5M/v7jZCrQS9loS0vITFsui0Rv95BcsNbV0iLQnU3VsZWltYW4g U291aGxhbCA8c3NvdWhsYWxARnJlZUJTRC5vcmc+iF4EExECAB4FAkECPOACGwMG CwkIBwMCAxUCAwMWAgECHgECF4AACgkQ61Xici6lBGkj0QCbBe+RP2fX0+t1fiU/ oOcORVeRc3UAn3Y7M2TfTKmSh+5RXsaxcVKWDqZauQINBEECPPgQCACOxltxnJKq MHIW1P1u4pjby/v0ZsVWbhqmPzW1L/o0SHbBdPkLn+NZmOKG3sXFkitq1nnXQMq0 pdWwEK55rN3+iYMpq2OJgubsEDJbo39Lom49w3xXs3ElHKWmgjNUMmiGi3yA3Q5P p9E13ze+ZBTTZrlj9xtTsXYPCkoihcjA8iD1G52CJYuVQOCxeKo3d8EZi4sFXhTs yGfK7ipLN2jO4H8LSrImMlT5z/ePmhTgo59A+vsIShklJpRlHqYB861sMobUlbCd 0n7Fng8pD9jIG63usHJgU32AVEeZ9BMaZ5Gjsm7KvIwJH+w8DGnR7016hleSXSEk wVbS7zjXKfAPAAQNB/9GQcWpnuKYlVa7olq9XOVHe2pHrnK20wLy14ormB245Aip gTCN/SEIgwc09nF2QXXXhzZrxsFCPphgJh7CT8g25LCJ2rchOhCpShNS43I1ol3d II4nK0DtXUJc/3qG5PgPaNLHHyskwIIyfL2rKRlufTgByzF3AKXHweJQ9suxGkGS i2+l1NBwLwsjee59gEyKXT/cbfkV/IgA+NBpj7QaDs0yhsbPSDAJszbo53aBAB9U sZjWP9tkrzaP1eoSbl+LFttLtrivG/v8HZuPlI4lELeRboslI1aUUfZVt7xx4A6P u3L1DWOYm9rQ0q1KMlhGQKa/JBtaKy73wwzZujSWiEkEGBECAAkFAkECPPgCGwwA CgkQ61Xici6lBGnrNQCbBljRUNo/9EHyCk0D07YM27DYC+8Anj9wU0uuZE798XZ6 n4y0m1iMcuSh =Fl75 -----END PGP PUBLIC KEY BLOCK-----
<loos@FreeBSD.org>
pub 2048R/39165690 2013-07-03 Key fingerprint = ABC9 71D9 016E 8D4A 936D D748 6252 872F 3916 5690 uid Luiz Otavio O Souza <loos.br@gmail.com> uid Luiz Otavio O Souza <loos@freebsd.org> sub 2048R/9D089395 2013-07-03
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 XxbFUKdH2kIb52M= =KzSj -----END PGP PUBLIC KEY BLOCK-----
<uqs@FreeBSD.org>
pub 4096R/B63B27B647B7ECAA 2015-02-05 [expires: 2018-02-04] Key fingerprint = 1AA3 5EEA C54B B1CD E11D 4CFE B63B 27B6 47B7 ECAA uid Ulrich Sp"orlein <uqs@spoerlein.net> uid Ulrich Sp"orlein (The FreeBSD Project) <uqs@FreeBSD.org> uid Ulrich Spoerlein <uspoerlein@gmail.com> sub 4096R/FF9F5004BCAC9ABE 2015-02-05 [expires: 2018-02-04] Key fingerprint = 056D CC69 B995 7125 E3B1 E04B FF9F 5004 BCAC 9ABE sub 4096R/B3E58E5279652B6E 2015-02-05 [expires: 2018-02-04] Key fingerprint = 59D8 A3AD 344A 15B5 071C DBDD B3E5 8E52 7965 2B6E
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFTTwjYBEAD5xiV5Wjyar2aSxMPfQVUUKYmoIlk3uSNplfJnh6YQIH+qiV3s fXN08V6K+vpcBRTuJkN8rMVIKrYZU/iOylRZ7+dvW6obsNkkA7CH4cuXUE5nmWM3 36JWitdPuSB5mYymMIDZ79wWsBVRkFtjPtCEUowJ7uoFJbO61PfaWWMfmAjgIZWD OYHE4RtBHssw0SCPBfB1XWKrYGT5ENavn4wxpgHbjHl4ldMEr7frRF3eAssmyRX0 aKrI4PREMfya5xbmA+f4c+57GrXMr0Lu26d68wPWyOiZwni4+A9Zgmc9n3bgVmRK vZTAW+FQYHHd3WiyY499wJ80oe804ayk0pIU9DMn7gpu0ekpClZlSUieiZj/0u3l DIy4KQyU3MerGJnc3aaKOtUIIo8ZGjybc4TjoR6TCAXkqqKFbr6TuWPlCKC9LRA5 cccs0/YPEvSdp6Q+cT6IEYSQCO53kYyqmOxsRRx1zurpAdzE4Odr6I31bv+OJXP9 mCxy6RBCY2jqIOh0Ik+mHTLFVW9IVdppGZRgOMzbxkl2UyY5wYa7blhJ4MaLP1zm lXtyk6fT8azhhIL4ULejtnfin9UObI9jHzt0qyneDoB3tQsAMQQnox0XJ4h069b5 7SJOPK0AOuqcBBuDT9WeZ1EoQzbND0LhntCIrLgS5S0omyVT2+bqfgHZ5wARAQAB tCRVbHJpY2ggU3DDtnJsZWluIDx1cXNAc3BvZXJsZWluLm5ldD6JAkAEEwEKACoC GwMFCQWjmoAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AFAlTTwwECGQEACgkQtjsn tke37KrfQA/+Nd/bNnKKto6zIlxLRRsZGTx8KQ82ZnVWp1DvQbFsyxTWmBSkOxH7 GdJLMO/9JoCbEpuoNzH0amK2HFQct3FKHxrQZDi9IVoSIk/rkcWSPbZtEuY5p9h1 2a7D1LIKTWqe4VJNWAw4JlVR6Bz9vSdCtl0r2yUJ79zPyMj0XB64m3WrX3+fWKII 0ObpRWMTD2jhfhH5cILGLsu4rzASdAwUVOwO4rkTUn/DCBUnEDz9ZsYk13hdmg5g xM9wk7vnSWnH2r/IThxTaTZzJoCOutQ9Pyrw6dcexkv2Z8jOTTcW7e7PvlHjyMSn wU8srNu1LLuDpBYV4FMhOdxDCeFpr62k88qMlZcdijsxZDTrCPh12yFgn8G8heH0 HXa53ec5ujU8RPW0MVY3k7EwRD0TQtWr8g2GozMlDLWeqRpELixPN0G1dkPyO4fy 8BKM56yoUGEnxfTrIicvdu3LPrVTpvJLLXc5nfKZEWsTBocmadWuLXqQ15By9GYm trR9+fsY/76STF2zqNFKXfgJ/x6RTd9ofjzffk0OXnV5W9UtegiM4l0oY39lYT9c SUpd20u/aOyUG7pcJSzTee6dReuJgESXpYY6WKX+CQu28kxsQO36xTmDdojzYouN rsYqQLFgFOeZOlRPZhF6blwpp0bs0d0z+n6B2R9uqN+nKhjjXNR5rQmJARwEEAEK AAYFAlTTxAgACgkQo6aYZEqvgs7xLQgAs+gJ/XvR71T52Lr/vvhmnLw8PDwTWPog K43xGzJZzhFWViCrx7VG1w8rMqcuEc+CcOYmJhegwjGV0n1ybuDDKtViPVSwrsJL 1js0FOYnUFvSuyR3RM9kMMTE5Ly6pu2mOhqioCtRPoFagMiHZWKs4BTmEm/2JDVJ l3/JoOACo/tXhZo2g070/EzSMEGcrV7QHhZ29YL8kex2pyrtkRYDoQneao3+Yol/ R/Kue3KNvb5wEmyXgODKmXNW/QseGPS27ctk4noYIZ+SHioXU53KUBChVfycouSX h9R8n86jUrguNgjPUpbrQcOF77KVpPu1Wn1EL4ddohbdiebbNcTlQ7Q4VWxyaWNo IFNww7ZybGVpbiAoVGhlIEZyZWVCU0QgUHJvamVjdCkgPHVxc0BGcmVlQlNELm9y Zz6JAj0EEwEKACcFAlTTwrACGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgMCAQACHgEC F4AACgkQtjsntke37KoPZw/8CX6FjNRA3941qj2m43lBjwzIp+4EX3yXZVyjl8td 9QUckN09Ls35lGSb81Z+RkHSFDT+INwizKhSLdLhg+2ROft8XEywq8vnbLPeJBZc hsi222ftNoDe2qDlQKqaQujT4WZBQMOQ5DHqj/XsJ+2DhEcR+cyzilSg0eB5twGv lOmcZMthH5Vs21p59Qi84zOZzyIz68Oak783UM112tJawbUWU4k8f6T6nvMWWedo 2k47BiLQ4xSHd7eO4Q/xkzmQr1+aNjf8BTOE+lMlQky2KiwCNlyyH4cAt+Nc1MIZ dfE4TEIfR+OM2Va7y4REhZaNqdHT4PQ1MB2LfQ5nfWTFJLOSIpCF52ZJP4MGyLXG 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 =V8PQ -----END PGP PUBLIC KEY BLOCK-----
<rink@FreeBSD.org>
pub 1024D/ECEDBFFF 2003-09-19 Key fingerprint = A8BE 9C82 9B81 4289 A905 418D 6F73 BAD2 ECED BFFF uid Rink Springer <rink@il.fontys.nl> uid Rink Springer (FreeBSD Project) <rink@FreeBSD.org> uid Rink Springer <rink@stack.nl> sub 2048g/3BC3E67E 2003-09-19
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 hpneRV17ciF5APqU2SSiDrugQg== =Gfya -----END PGP PUBLIC KEY BLOCK-----
<vsevolod@FreeBSD.org>
pub 4096R/90081437 2012-05-16 [expires: 2017-05-15] Key fingerprint = DD9A 126C E675 1EA5 2A97 04A3 0764 7B67 9008 1437 uid Vsevolod Stakhov <vsevolod@FreeBSD.org> sub 4096R/4A5A0B54 2012-05-16 [expires: 2017-05-15]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 XCbWVeYyJqaMXExTQIx+F+uj =EHpi -----END PGP PUBLIC KEY BLOCK-----
<zi@FreeBSD.org>
pub 2048R/1EF8BA6BD02846D7 2014-02-03 [expires: 2019-02-02] Key fingerprint = 9079 51A3 34EF 0CD4 F228 EDC6 1EF8 BA6B D028 46D7 uid Ryan Steinmetz <zi@zi0r.com> uid Ryan Steinmetz <rsteinme@cisco.com> uid Ryan Steinmetz <zi@FreeBSD.org> sub 2048R/A8A08AA9D827E5F8 2014-02-03 [expires: 2019-02-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 wvaUH/0vUg== =Joy5 -----END PGP PUBLIC KEY BLOCK-----
<lstewart@FreeBSD.org>
pub 4096R/9A50BCFCF40D9B09 2014-05-08 [expires: 2024-05-05] Key fingerprint = 8FB2 E9A3 39EA 78A1 5E1D B8A2 9A50 BCFC F40D 9B09 uid Lawrence A. Stewart <lstewart@freebsd.org> uid Lawrence A. Stewart <lawrencestewart@gmail.com> uid Lawrence A. Stewart <lstewart@netflix.com> uid Lawrence A. Stewart <lstewart@room52.net> sub 4096R/ACCB4CCFAB4EDC2D 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFNq7K8BEADQFhZprR6joPIvqFonlsbZ0M72rkzHkCtGzk+hiE/TZh8df32V aGhXvgAHyP9ictqRai6lYRhO5LyjwR4ysBu4jAZlLCwWWBMY8l2JjuOohsv2+87+ hQy+F1nVcPYuNJ4OEqvqmi/RTU2+kZYGT2kbsSYVWiCUqwzSNWsbVZ8Sw1+ds2e3 80655Cstm+Ewn3gmX/wXPn3Y22M+h5KRj3yDn8aJ439lUTcVDQ+Dah/7h4DTn3cX fZdKFSb3HEoiwPh78R3dyQGOQgYnJ3FpKfKu5gRlXMyB1+6wUBh7G1henvYFrN+H Clr+z1fBmsm22Lb7LLs/g6p0FtWslnNxA2CvIC9IQ1nbBoA0bKji/f0S3K7LlAIv /scUqPChfp1EkBvkTOek9N0znzcVCwJTjRjfS0uu6TMWuMXrqpCCrGKonN3gdqKW 9pdWmn33kDt0GaESIPOgIRwBk8Ak9/j9Hd/vdtyHab1GKGJTZfIvnJB6xVy/zwBh UIK/h5dboYqYZds+Ky5g+j+Q4j4bsKdgwjlrRO+eGQTCjRcZoiE0M2PZGK/dt/eS zuHWv0l6r7NkQXn5RBU+5JpdzECyyolKoBrDhHMDdI+Cc3KeQfMSkftKV7UwkSco plI86pLgyKHNxyrmqp3NTE04yxpY1KlEAUv3I/lnkikpj6j1PzGXyReMewARAQAB tC9MYXdyZW5jZSBBLiBTdGV3YXJ0IDxsYXdyZW5jZXN0ZXdhcnRAZ21haWwuY29t PokCPQQTAQoAJwUCU2rtuAIbAwUJEswDAAULCQgHAwUVCgkICwUWAwIBAAIeAQIX gAAKCRCaULz89A2bCVMgEAC1HIWOWsghyVFJaG2C3YK6VEzTsGrJ6r+eHppx2GJU 3hunc+KfoELLumcXELPffqNuCYlQZr07wcwTToZn2WfVrGzixLc3j8FAN/uEv9OC tPkl4x+VonoCWXQNCJ46zlzpCGouG+vs1tyW/HlelqSUtIy9dMNZsunJf27zDj70 dPcxfJVIjcjLbh2oKNckdVOOyEwp4G+uJJXqcjo0q0MtiY7aOtoQLuuAry3eLhR4 zZJiEhJqZkXfEvGfOTZTaisJiMhRSEkbOWA/M725yGkQaRVOY3hOdZCA/g2XeQf5 sdUdeCfEp0a8G3nB+esWBfhUn7Op83lC8WdbKeSa0X22ebwSj2f6yK5xFnCklPBu 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 bxTgxFmuTlQwvm3KUadT =rKAu -----END PGP PUBLIC KEY BLOCK-----
<rrs@FreeBSD.org>
pub 1024D/0373B8B2 2006-09-01 Key fingerprint = 74A6 810E 6DEA D69B 6496 5FA9 8AEF 4166 0373 B8B2 uid Randall R Stewart <randall@lakerest.net> uid Randall R Stewart <rrs@cisco.com> uid Randall R Stewart <rrs@FreeBSD.org> sub 2048g/88027C0B 2006-09-01
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBET3848RBADitK8bahB8Ftqi9wtYsFRGfdm645cTF5fAnxFjC+ouPfLk+cfD I6VG1Vib3T+SYTTJ3xPm7tV6RLLlRsdAfSE4P73o5qVe85Dq4JBKYgdCms+0Z7B+ O0yB7B0KClaXhZpsQtK8yLtROjiJxw1WQ9uOS/me5AHi2cZruoOcYxkzbwCguMmd tOy1SL5V2RLfJiQKAFQ23M8D/3m42RjkoMB791fuJ/pH3i98EuXhCwrSv7eZ3xYU TY93OwMEwPYaABK3jSygMETj9hu2pYFbrAFKSHQVPLcUBrKYw9+Fjd4XTOOxYZeI /+n0xSRk4W+sIQX97jCbvCrtk9jqIz2NQt9IlKxG0Xniio/Q8PsNNbO+jd5HSXqE ja2oA/9+r3LUi3jKH9rpY6x4Qz/DBpcNK4v5Fz24mtkwTfjyfC2nTlG58bSbmulE 1tfOLDL5BHmGoyWIqaFzIVIA5oGo9EYG2RCx7Vr+WgsY6jr5tX7HlhByoE5Wemoz YN5CDC9KCKe7TCpVJtlq57c02kE0OT3gqYsflidfV50Qzt9jI7QhUmFuZGFsbCBS IFN0ZXdhcnQgPHJyc0BjaXNjby5jb20+iGAEExECACAFAkT3848CGwMGCwkIBwMC BBUCCAMEFgIDAQIeAQIXgAAKCRCK70FmA3O4suHBAJ9kvtlm5qy8c6qSizjcvuzj q4gFJQCgqthVasQ5jNFZf1p4vM+gD1T84M+0I1JhbmRhbGwgUiBTdGV3YXJ0IDxy cnNARnJlZUJTRC5vcmc+iGAEExECACAFAkT39KoCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRCK70FmA3O4slQYAKCNWFpgxPkfqz7PoTUcobiXbu7EAQCcCj0F mj5AKPyuPbwP3JT7Cyf4Fs60KFJhbmRhbGwgUiBTdGV3YXJ0IDxyYW5kYWxsQGxh a2VyZXN0Lm5ldD6IYAQTEQIAIAUCRPf07QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B AheAAAoJEIrvQWYDc7iyy60AmgLBwWw0LjdY6+zyUyUhRm9s4vZEAJ9F6dw61khm NQlfhpvoBh24pl6GTrkCDQRE9/OUEAgA7GAeZ2BgjNDYa42+GV6uo1FxadTNppdN gG22xgg+4SXnWZ25O8dofrHIwP9rk/qomw452MoAlVevV20uYthVqAXBWRGEhO/q zKfyZxTe8aCOs1mjCKu9fPkSgNUDoCl6jCac/5mDdcLdVT3domBJvGiqqSQ/B1JA 3YWrYCnnLTUN2a2aPW0ZK14zCSjaWQFDcm8kPi1WwKu9yldGnAPoT03+JF4KN0kB YkdmfEAFOJ4kjm2UROJc2aVUtjeMH3nqvdlTmuw6c6cmMMSIlXkcrTO7gRLmnx2J HgSdukq0vEtgND6O/o0n9Rnr+UccOCCz6EJkltL9knjKwutdQz9x8wADBQgAkEfc D/VQ1sUCgS5xyrer45zxW5NdeuFI+h12D94MKopczr73p+7Tc1bSDZK1M4e432qV 8hNy8Q6gYowhuuBqxI0LYcEtrJld0ma4cnMraRjkId2jmyK82c+O/K1w+vcGUsYu nxYBiGwtTTo/R+202kp6VGD7jnIxGQs5WsMmnh8EL1m4BXeFm6BzfT29SuV4bdoZ 6/YHyPLGVgtnPBCNQUjLvXqdaOlk3E1wCBd4A90pC1dDiN1rsAxOTcxwgyKfasXx CZsdBaXEYYUIfm9WrAFc1S/baV613184I1duBfCJWMKxGXMSr68CeFQ+I1036lsZ IdHoq+Y3nZ5jPRUIYohJBBgRAgAJBQJE9/OUAhsMAAoJEIrvQWYDc7iyXiAAn3XC FR1XLpBIlAr5dn8ozSpbwfoHAJ9ZDFSqbQt/EDawxqaoYP+4p4Q85w== =jM4N -----END PGP PUBLIC KEY BLOCK-----
<murray@FreeBSD.org>
pub 1024D/0E451F7D 2001-02-12 Murray Stokely <murray@freebsd.org> Key fingerprint = E2CA 411D DD44 53FD BB4B 3CB5 B4D7 10A2 0E45 1F7D sub 1024g/965A770C 2001-02-12
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: For info see http://www.gnupg.org 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 qN+IdvKuAKC6p9c3lJBbYHFlhxPDhBvgBaSOKw== =WyeV -----END PGP PUBLIC KEY BLOCK-----
<vs@FreeBSD.org>
pub 1024R/3FD1B6B5 1998-06-16 Volker Stolz <vs@freebsd.org> Key fingerprint = 69 6F BD A0 2E FE 19 66 CF B9 68 6E 41 7D F9 B9 uid Volker Stolz <stolz@i2.informatik.rwth-aachen.de> (LSK) uid Volker Stolz <vs@foldr.org>
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 G7oQ/NdFiVk5IOo= =r3Jh -----END PGP PUBLIC KEY BLOCK-----
<rstone@FreeBSD.org>
pub 1024D/3141B73A 2010-04-13 Key fingerprint = 4A6D DC04 DDC5 0822 2687 A086 FD3F 16CB 3141 B73A uid Ryan Stone (FreeBSD) <rstone@freebsd.org> sub 2048g/A8500B5F 2010-04-13
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEvD5ncRBADjSSeOophd6EZMLRUyyqvBTYhHJiCmYqDfog+PG84/Fsb7sXXe 3W8uZ/Wob/wF8vZey+7V9aK8eoJP9aK52SIMFUR8hdbXTrwhHlTc1QrFWLXjVqJ7 Ct+ORGcqsUO9P/KwG6Waf8UG1Dnb4IZ2bQCoy+hEXpwiE8KLhR5X3vdq3wCgjARv ef8JXQvjUiiGUmPTtwumbmMD/0QmTbZOhdjC1TbIEOoj5BRZKWUv6rj2bXJL+miw DCTdpwwn5VfmZiYHeTcCclyPH+GfkNAhrYf4XQ0qUBtB054A+0ZuK/oEbHpqw8ky 0qj2GGCt0m1LybiX0g9MhEZU9/Coq69TGoAFcysGisrEq4gJm29oc1gcXKXdXAem pP9NA/wLMp4p5BTd7Q+9fVJo2X7JTAtCL3djhvFpgbSeExhKCHflH+g0gw7qiMKv po1ozRY0r0fwr/gv/LcIh/XBImeyodj9Hnx3xd1jhToGoVP4Olm54PxNKLtcRize 7CfrQr8TPG6MCY10EGVczIz6Qel7izPdqacXeeB8u8RYnoh4d7QpUnlhbiBTdG9u ZSAoRnJlZUJTRCkgPHJzdG9uZUBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCS8PmdwIb AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEP0/FssxQbc6NYEAn3Mm+6fmwl8H JuLh1vhMkmO+liK4AJ9m5Btl2vy1eKMfijZ2a/zIbGcydrkCDQRLw+Z3EAgA9LNT KPMCyYCuRn0OjAMiCcHiaj20sbY5kO8o6GSOT3Gk8cXxNQgglcvfYxuGxKjG3uIs 9+1Sa1uGkyVwTCt9DUo9EGvtLxZx/AUU88M3aVF8kt3WiIjTEow2EiS1D7gmancP PI2snFh3qqbkN3oWcD3rg9uEwxa9i7ptb/45KnCFJ1bB4jDkuNRqeEOGg7uPV8sZ /s8EYFqTl5mW8hTvUY/XgKZl8TvFHxDDXQlA83OWa7RW1JI6G6zuJPHA7q1zwKFF DZTabKaXB/gQHYj+j5fx8FgzIa3J7s6MUnZLq4e3xf/3yWOgfsRAxgMjL4WUe/GF 6vOvE3oxTbUMrQ8FQwADBQf/awmIQZWNMi1aVo2Jls5GpvcV0QZTo5HCcItzoEax rY8HMaaApvbiGFckN75O08GuKPEtoet232CEBet2D0NS+VKqp3yBcRwKELTttOFl fi0ZUWH/Mk5NEJUSR+lUzptNGRmtu4ftPW/apjrtzRTR6k7KxVPZ0q171qQfF90n zFeWklDK1lw1PGWk5X0p4qHCCMs+6l+TEgYjCXZdaDJ/e29bNmXdz3ZBiWbu/Kjw jk4s6/17TVXl/KhDAyvfZ3IN3d9BN6h+R1gqE/cp7tGvgDTVZ4+nPm8NVaOr5sOl 4L9EagqjMAqQzcbhtWHG8PE76P7wnbU2I5pHbexqLlTpGIhJBBgRAgAJBQJLw+Z3 AhsMAAoJEP0/FssxQbc6JK4AnjiZo91wrPy2ZqMytQaPL3SJcmv8AJ9Q9jvmFruu qi/JXA9b5UcmNn7xoA== =J2di -----END PGP PUBLIC KEY BLOCK-----
<xride@FreeBSD.org>
pub 1024D/E683AD40 2006-09-28 Key fingerprint = 8A0E 7E57 144B BC25 24A9 EC1A 0DBC 3408 E683 AD40 uid Soeren Straarup <xride@xride.dk> uid Soeren Straarup <xride@FreeBSD.org> uid Soeren Straarup <xride@x12.dk> sub 2048g/2B18B3B8 2006-09-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEUcBVMRBACN3a/+siykVNlKvwCmd4HVMogG+Oljeu9wyLsI8dJ9Y81bkY0h fi7ve3Tfu4GeRcirnrc2FV9Fcsv4dt9DtYQ7PQTPH8kjrSXr3kQoiHE4fGGJl4IK IVIHj+iC26JJgbqFcSU7CKGdvZIOJ17IPPh/HhunKBv9ljNJ5MM+WL8kJwCg20Ez J3CRnHM90EFk/nfAlJRvXk0D/3rqR1ODyY/8fFDtpOIjkApkw7k2eoJsfqy7tbtX YwdMKQptAvz2NxW4Qjfo3NbgGbfN6eAlhoy9Srcfm886KPMA22ZAvCWopFNbqAGX e2iOEwbU4JflSq5vLsIhOVz133W6mK1c7VJ0cf2zl+iRWtISES4fOY5s9rEacIjA NcAHA/0ak6bks8LqzC64zFdI6bj2FfJbOoTrga1/FQEBSw8bET14S20G/713ZCD+ tQXXrs8I9YjBQREsKYmy0ixFYFmxMvG0NxkIyrwD/GEqpBbNdkJlx7pUhqv3zyRY rzvcmca7jIguu6K9nYi3t45nmCVo4ku9EE34YHzvgFQ15+1LdbQjU29lcmVuIFN0 cmFhcnVwIDx4cmlkZUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCRRwGPAIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEA28NAjmg61AFysAmgIisxdd6032Jk2xeI17 gcHuzXvuAKC5z1x4XxCwELWC9mk9HUlVTWcMW7QeU29lcmVuIFN0cmFhcnVwIDx4 cmlkZUB4MTIuZGs+iGAEExECACAFAkUcBVMCGwMGCwkIBwMCBBUCCAMEFgIDAQIe AQIXgAAKCRANvDQI5oOtQAvaAJwIhTZcNVO1HKFwW5+hfnpE55hAMwCgtgTvelBA dhl0HgdkEN+HWtZzEnC0IFNvZXJlbiBTdHJhYXJ1cCA8eHJpZGVAeHJpZGUuZGs+ iGAEExECACAFAkUcBtACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRANvDQI 5oOtQBgzAJ0e+6mp3n17yH4hAzcE2toJ/CPBPgCgrDC3mRdXEOD8Gegm80agUykc Fq65Ag0ERRwFhBAIAPf3jtvf8pJMZoO7SQ3/Et3jla1POUcJuk9T70om/Fqi9Y1b mxTXR7yu5Rue/ZSN20laoywnJQAJ3BENx7mZHZwCzZDfEU9QU6WipPykt7KbhBG7 DjXBONGY34wl4RearvGn61FuL77/pkSA1XQ4+5U/hWIisTWnHRufxoykhlyo7QTN x/S1bEXA6eTtfT7acA8sZfMRiqb8opOtJPiSMO7vBEYHfkleUGhSJwI7R7ghux2z y92Sp1sFO7xb7ZVlKVPo+edqbu5mKRLvhykLiA7keNv/YGkfVjPgLthAo14JIL3b 95dOkGV/iI+DlYWPa/sDOM2KL0S/wJ7dXMtMVO8AAwUIANqJ9nqvDnWMoiJ2/Zuc H9y7CMmSZEdzQwKqaJysyDqiV6LAK9TXsxzzl1UXximPMCb2qwtVGOaRKAPR8qjD 9GQc0Lb/BCFQ213o0eb+pvq7fFmUxrt7kMUvbwRGhiRbHyo1qf/z+VA2bntosYmW 9YSpa9eoE3iXr3cF6wQVw/nUF7jm6QQ4M3ak1MiaoICxxCy1x2WzW9mrUePPWz25 x0Pj0+R3mnWMTewLC6kk3QFM3usdxudGXJqDVch3w47BHV59WgSnzYPshGFp0VlU xeJNWJYu0DM/8WeOvRdf/5VdxwJGDtxRyQSDX6niYHWg6tL2Bx1cCxJnnzLLnXDp PziISQQYEQIACQUCRRwFhAIbDAAKCRANvDQI5oOtQObqAJ4gRDoYRjl6DWCd2DgO ECDwvMM5wACgiAYFjP/BOSY6RZdSBTxOSdyeVdk= =Dgd4 -----END PGP PUBLIC KEY BLOCK-----
<marius@FreeBSD.org>
pub 4096R/20B70DE13F1D1E4F 2013-09-26 Key fingerprint = 53D9 B435 5F95 980F C5D7 6B02 20B7 0DE1 3F1D 1E4F uid Marius Strobl <marius@FreeBSD.org> uid Marius Strobl <marius@alchemy.franken.de> sub 4096R/862A3771EFEA91B6 2013-09-26
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFJEHxkBEACoPdYVQsnnXTaEWOJILC56/k9zwy5HjxJSCF80yGwpRyR+e7vf 0GHjrhm8NKEZK2LnA84UF1OcTwOBRDYVdIiMff6H4qRC9mBJdF6BHQlF4MtwNqxO 8jQ7l0y/kZ4uuG25suiRHXDBdrcYTVWJZAvX3ig+p/MHFuMex0UrHAGVJt6WUT15 jajSv4tIM2YbS75kS0BanR15mhgF/Uz5XgKdPUHLtO3lDIpG1Qd7lKNc8NTceZFl EoWqQ0Z6p3lzPTVNFonO4eJepGIIdwd/NoWwhiXS2xMFNw/vrZNw1xKHHSx9r88Q bWb7o8D4LhCT1RQWxFDtwjQ0tbWRXqxZdjqWnKTkvRiJRWeezPwvygn3GH5lLdWK bZi+6TqJlVWpMWKMcWLGGgu25TuiYM37dkZWZHEM+KsK7JlC2EK4oyaUcl6KXe/n FU/718XsfPiuXUDDgrzawO6R/EBvecS4CVQKrWQiLxqBc+GW2CzFt8r/0C6lb5En Duy0SsJN1VdLBXAaFbiYyVw8GCeadlSWH6kyvOSHqIg3KgN+O/hUouBtGtFSEM2u xTxEmbFOYb0Gl+gf6Y5hZYvQSyc63etDEt3mhMtptJn2JJ7erHPTkcA57qX4ynCe +QyT74JImpvE2JvO9vuePmuFDDBfVU5Z/PBjjF/ExPDhl2tHD6CPlloUBwARAQAB tClNYXJpdXMgU3Ryb2JsIDxtYXJpdXNAYWxjaGVteS5mcmFua2VuLmRlPokCNwQT AQgAIQUCUkQfGQIbAwULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRAgtw3hPx0e TyjxEACYa/gjvvFzVgBJc5HyUauIgioIXO8hXLXe/zTAXCYajwzduyj1hzKTv/gt hqvyc4kQuToGV0j0gZTEISe6uD3ncR993P4UuNHlm8XOwy1Yqt/Rgt+PuANE1Y1S GLbE95wdBYLEB/mRvqBVDliUvqUCWQEk+AB4Ig0PXQPYPJovbd47EuDptm+ldTum fZSVesIvSMEGxpnbi5rrsV3nnIIdTLjrfdOsajULnCw8QAZq9faOjCFD9nNPUzjw /BFIFO3Lt60LZIRNDGk4EFxsOxmmiSjU2GyYfv8yBc2WYu7saMiOocCKXbXcZRyk 7og6oyuKfXJLxd6cKxisw5yp4QDgkQB8RLYtod4CX2IupY1qXLXR0En8goYJ3tCP uI23OuDipRz85O41V8RlKO3z0qPFpQq5P7M38da9ppWdcLWs3xrZtdFmJ6v8aRHU NX+BKZ+gYLl7jCUOS5Oor2MDo1hXBbicBD8ijVqXJA1FhMxRtTQUEtdV6jrc6BiC RNfwx3VwEuY6kBN38sAZ6E8s+GZOYHjMxcuuYgeG4Qc1nksA29isrEOcSEDCC0Wz PFmEWrOXsPePbD6s/NOiDXeqXPNpRkHThaFASadidsOlX1YF0DSMqZnub1SgPWy9 azKv9Nqfk9+9h9I0jlHv0MX8LWqzTOdrw5499xWRWJ7BKlkjsokCGwQQAQoABgUC UkqSuQAKCRDtZ+zWXc9q5zdMD/Y9Y98QppL4THVfzUwWd4mimdDs4L7PfApGXfAW h3RPWA0GKqLlrVfMim9NzXQRJzopleEZK1saIAN0HPyfK+wvGQ6QInSULWp+InMq aUMUdK4OvVziSxsZH5/MtSLj+FRZxJTyvAWPcZgjE8rhjiJFNvuavRyXgnencQL/ jVe6f209SKa0U8ewz2fHa2ZooOPX14kzsOzJu8+f76gfL3lEyldxp3paL9GG/SOz xq+QJoJub0IgTQEngIGTFEaTVwGJQTPiEQY1OLEu6m8R7nQrCQDn5JVJq7RKj9C+ 9Ee+5JJKtBOeQhgyJu+Yq1BJI6/D1DBlb80Skj3tLEoWldC8Jdb22iabg8Bh/ril iHbxgDIIlgigEtCLOrZO5Fo/IyNufq24s0A5gRCnDDIBzy32jSxZ7HQb0dcDxl/X zswcXc/h00Nbrp40sviMFUjx8RhCsh10XAOd4ZRh4bQ57P7hzudBtMjpse1bYioK BKbzseU+uHJFa7g7SpPooxTkIctbIAOyf2tXmSHERH2AaNvGysfSDQXEo5S7V4Ns CnuqebL3RlMHb1lJRnsOI+QwRjmIvN4FhRyep62+LorNmzwOR6f/sl04NUdPJ7b5 /HkgbC6SoTbqSv49AnGGf/0GjeiF7/9Qs7cNCKZQBLuGEQpLq71pjYrELs8Q7zsq cPYdiQIcBBABCgAGBQJSSpEcAAoJEJLIQ0VtpqZu8TEP/jauO+RQHM5Qkr9D+W/c i3H1w6j21nRGfViUrvn/+quXWScAUOGkGYhfK4ZwTudogXY0CAU4qC06kGVClfAI 5f7x8mppac9IiVXEtSD49SpcfHr04JfJlFhOTAgZHQj+ocPpcYEUWhbRAIbPoLkf g1iV8GbcxNC4DsnpvncuNyBMcyJhsUiqSBl4/np/FjBZAs+csFxq1es2RPRL+/nw LWQmyIeG/TRGvgyiHnTzmT3tk3zCPmLYo1dHg22isIs4nov5bDjzpoQ8QFivfs1T mCmh+6L9iWnMFcM21Ei40j8EOhMWyS68d3EywXE9DI5tFtrpaiaXWANEweGrOOPf Sr6u6VomaXMf8L4zVvzVIk6kyN8xuCV5bX+lcJ4V0YetrPr3xfFK08SqpaTgHDRD raZ6Y6esWJCy/8Stfe0SDGymOLXl+c51s9R4xTYwgFbxWXsqfZg/eUzo8a4LtRd7 agnpdBiCBeFUJZGVXaH0QnhSMzesh2ZE93ySXXXrRhiu8sr9E4snTkD8LKcv31P+ zU+/1vUrGogZ47mvsCqAMYNYKwXU3U6HTKfbcFjcMUgInIe1uuAVJndoZSHDWdKm CZYy3XZnaz+d6bdcMYV2d6B7xzaIuVX1RRqSuyVjITBCIXT5EArPaKZlO3CFryu5 mql4LRhmNJKlCE+Id315DsK0iQIcBBABCAAGBQJSTTvdAAoJEE2hFOXEouV/6RMP /jrBoCkiDszFQSoAcBdOhFlkHetZq23kezFVbXO8A8VZQsj7NWTDU6TfFg108Bho e1WOX2OPoCUny9BD4+ICdJoGHlZTVNS0AhyqZfzhDHXDi6s26oC5Amm0oMB2Y+K9 LPftcLOSpP4CiG/QnjOfoph4bry14kOmkvxw93xMadkn1rFKp+c5U3VYFdsPs62k 2WKcbJZt9phcvLQFXi3DT3Oezc+TFE5dRIT3V5v0ix0DoLy0iDy3QFzXOSpB3+rp 79kTg41N/+ijsjppHypVzIGscBtsfEXY0CEiINom5qxgUwU+tFw5eU3GY0c591Fs 8PW77oLxkvqbBf6dh5E+amY1nNAzm9ORagqIKdWEoKIhXUEBcQNI9/deMcq8voAY DJ0q80waMiwjcZuqSqlkI+YcfYmnGUHzGpTRgz/TvpFGuw942H9BdvAcD0LtQyTL 0mFawsMxDWRoYX+c68Zni2Hn4Z994E/Dd5O45TPBGQhYnVg9Cr8sfmlGEWYz0uGI WA2pOLOpe0VFsb1uPxC8CzNUmx6OyeOIM3zxvamrQIju0MoZSQDmFK8Fmb9iQ9/9 TXTKmO5CPzbDifBzfGmQlYdLtYxK2W7FuE2Qjrf4uTEQpUKM/ANUKbuxt/u0FJDt 2h3aarzQeItJYkQGM8pmhYR3hrwzI30ABJvL/Pu7/Ao/tCJNYXJpdXMgU3Ryb2Js IDxtYXJpdXNARnJlZUJTRC5vcmc+iQI3BBMBCAAhBQJSRCAmAhsDBQsJCAcDBRUK CQgLBRYDAgEAAh4BAheAAAoJECC3DeE/HR5PFIwQAJSn1PyDDuPAPK4z3HzV/pjC 9mLv/IsSwYuXcNDlw0+aYFNUhLKRJUxxExGQhggYPV/zW5YY4Luz4xYHok69Z9Cp wTgt69jLcSTCSKNQIOfDcmvM+qyaQrbxe40AjQj+T1dtVPj62mRw3ThpJCVY/pnB 3QZV3i6q/l2LUa+Xl53CP0lLfDu2qPEJIvMFshXbc7IBKz5/YMasIQlU3aNVZ2/0 NYLpwJev9ZiXBk4vR1/tFMCKGr6JORXNLxE5jhQaIHMgqbZSxrTHoelWL4/OYg4r gqaWowlvuq/EjqjV7sHNVjUmv79ttVIAu9Xtbtpu4WtLdplZxEPljlJu5aDdj5Nc umTQijUdaP7ljl0HnK8/SRZP3RyaPOG9T6xtMUDE2RjFuSBF9e11rMBlIodf2G7S hxSL00PPuNnuT2u45O8llvNGmDXl2rMlDAmPwIkfVSfbQlUJPdWsTVIjUhsBJC+c JU/fNdlLnv3o8VF3H4Biq4Rf49mpW9vRqhQN+sogBOYzYWKyutg9iA+i5BMAhnvX Mr0Tc8pNdMeFLVoMFCn64veN4XnSXNy8YjV7UBhJ+gkXbd3dVrwi0cASQZX4/OuI ac5+Eenulou87PVxH3GzWicoM4Gs90L6vvfJeVQJ+98XNBKGTk+4gqs5yoXMSh7E 3/ZSktFEAOZPgL9J3IqBiQIcBBABCgAGBQJSSpEcAAoJEJLIQ0VtpqZu6CMP/iHl x25lxccm+n1EGP3UZ8J/z6tzXr8ecxP+g5Oxub1y23lwlLanaaVLUVVUNgSPDsc1 JTp8l6Xi79BFmQ/GNlRiZnmsOO2ki6guC3rGt7UQqABgmmR4+vAHtTNPSGusR4tT ke3Mzmmxg6W6Fww+pXwiW70Y5cZalkWDiPZKJVGA8vnLD6bSHgYDT/Y+kQhVYgJO SNieWKKDKQoTgB3aK56Btn9P4sYkfEzECZlwJrr7u45xKoH6ywF/l5wP4ffK9sVN L9Hm4eiQV4mCb7U9Ds4ZYe23IMeE4cSSbg88vlpBuwMFGKbwylC/bECQaFj4cPJN eMc7Eklz3dWa5CwDhTPGpdmKFqk436Viu3L5N5p3Tme5BF22H6HfHhENk4SUvUQn HHzYkkN7xsfw0imMAvGzWhLqkn9pMoVl38NKD7PE0G1MPjEIBrbveCxpdoSsOR7M CgALyioK9wmHvxCm5LWmXKBlh88+/xK9h/rdXBx7RAWzLuGVal0W8qVN6+YZVp4o JXXZX0iAL2wO1hwxrEhGMCGF154N/xvMzUfH9A0JxdCT3jTUs6mIwO87tuRqnO1Z Ct0hdS0IGHOcOjfQpOAmBnbwCBh+okqJZi/f1Y30lnc+06c/02HsQ7OA2yNhVMb6 Q/UOQJwI3y7ECdD+iDwEPP4lcZ8waDtSO04JatJziQIcBBABCgAGBQJSSpK5AAoJ EO1n7NZdz2rn3MQQAM/1Ex9AyatEoESgk5MajhQySCHo3l13t3K6A+nFM+usp3QC KffLXqxXZSdLyeeNVNwBBAE3Z6khB2YRZWTq6x2dKHkHvXEiESMfdgI/HOTxgr8B 7a5/SGkdc+a1wDm5qAXeCbClxmKWUY0lM0YzscJPbJujAeEw28mX5w88wfoPockT bbnwv6Cu2qtwibJmnD9VXSwz0U7qgFN5fJGQDtR0bWCskptzJZ6mpHHmSwgivRSq bqd+fX4xIVOS9H+0tid5ufaH6Szp8GwqeIaPUxNjMA4R7jxEkV23sMhPAcynsWxi I118Rc1HjwK47v65YsUh5t6V/eRLWK3WthV8vKkrB/cM+3+8DS3bkLblEohgjpMR rI/S7ckCh9xWSGFhCp+oPnd4OsctbRzq5uzhHTTwabNNtHl7ndYTD2k/CJnu4o1y ROi5UrFLbOx+aVQBBRN1UEddDk88nUGOkwUTbWBACffbqdBZcAFkfQpAGjRdPaU5 Ofz2AG4LhdBnxecFstLzxdpzGP0idCCs3P9a641Y0r7rw924KDW7KXIl+qgEma/g fvOWIIJ77xznoPP7dS7nVc7wgHhfMzrHxczU0w9mEInJ0CDuPmKwA5Wrq3hYQFTq vD9KYNYUVQwIbupOeo/KEtAxtMFDr5jqjgiTgYZ7/o2dH200JACSaN2VJMtRiQIc BBABCAAGBQJSTTvXAAoJEE2hFOXEouV/SGgP/iVQ5lw2L7PDjT0cHpVJ+Ym63rgG 2FliBXnR9hiirqNAEc1yIbdH6pwaRCmeNhM2Pc+wYQpc3Sqt57odqUPO3onDhNuM /mZ/LjuhXm2OrXsCkUxvlEsNmP3GBDt9hd+8Rf34BK6quR+ISTCTyZvdpUauKmPg O+pShaBGZdYED85guP9dEbe5LZtoknuMhE+Jjoz9LFg883lGEjdkHsy2IqvpWFg0 kl/1FMQptYIOJ/8oqewGtVSHQbDV3PnSi/Rs2YMIuVAvVcCQWEKPAemCvXutPrIr QBz9tSWipYSW7I8domLTljgZLzxBBuak9b+T2MD6tsh3hmoV7Sh3rC6Oe1oGY99l 8bQcA3XHCu9nM6rc54kp/jfkVewhoT1jh59BDDmiuol5qPWG5ZbKwMlWSX4ogaiE SmOGglSBOjMsknl90NPmw4dJ3YUD6JDzrBbrXkAAbPTdadVHZvBwW9qLj/ULtWp5 jBjRkfAcyFLMZWiA1D8ocK+GWphzrjWr1igfaAcAGhrnGIOlg7dhKumNv5xvLZvy XdK2FkqLRc5m9WbImHop+tUFi8dc+tm3JyCd3vp4NckcaueWN9NuuD38i1+J8HyL gFPai1Dngx01d8HYmIdCgolUyE1ZIakVk2zHJedDFg6XOWHNp9459/IHBADiNC3H WVJQ0ha4Ic14UkTluQINBFJEHxkBEADHplEnGzbd//EpPBt3r7Y1dbJXbBFUYwNf 8uBuqhDPJH4eI6csnYK8Bc/QqkbKp1SQigsFoKQguTEvQCYM9ayKFZISXZgkMGhk 7QCm9ghGhMoe2Ng1nr8yjWzswC7xf/2zArDQl+1BtFZIXjQ+tx53vTsMPei46Yn3 WdQyFtkEAtS6VRqmPpH++jwshuOf77TanuGU5/XretbsL+mHTuNipny6xEW2+l3Z 3dbW6mdKbI9iFtObhFDoAk7iIS6xTT+QLQc3eGH3AP8wcE2Juq67/64IuhwsGNr4 wsnex8+0pgmaVwFkAQQYydPSwyA6Kta6bIW23/EdbqlxmFqg29kqS/8DtogmNaUc UhmiFzDDExozqKC4MUimGd+IAuFAxpRXto8Q+euJ9n6rNmvtXRVQOy09f6LuI866 cfVBDzWUZBM3hIx17xGhp92bC8eZGljYfCMveGDQ8HzBmz/tWzzIuD0LopBmrmIO L0i+aZGF1kog9ZjHrnk4q1GE32+ONmO4Ft4E6uotYXG7qiTEacFL/dPjQHrs4+zD TAM7fHfwpfyHW6Gp895tbcS4TKW+a1w013+mRUw3vAl3+Fzap/CqK5gMTyM6uynN /GX9wPBoIVNAyOXKkQB7BJuk5WsDeAiruZPJk8nFh/Zb6zZfCeo3+sHOQOUFv8tL 2zls/oz29QARAQABiQIfBBgBCAAJBQJSRB8ZAhsMAAoJECC3DeE/HR5PB2UP/RMf MLVCDs6tjnl8OSllisYT/jXsV3NWTFYk/0kLvZi4OBDwR/FDh4emnLd3Ho0JnALr X0FvklNJg8nrbeLxWaSSLncq1VZ+7R+vcTkawL1WxIKh9YRcppCpoHCC8GwOyulo Lw4SQdoxbuDXQXA10HV88nG1r4jLN/YtkJPFv9hqdOC5tXVmGCnex6rUsEfkvbKU XAxIbsLJMOi0PGczP8ekXbZI+OBnVjm8toEj5YJhLQZFTfcXqABkONt7ojbLRskT XMlodzIaaPca31BuitCyK+H7s4tFis687FQ3iqOj4QODUyZBda8tQ/NeedSIXQdL uap8+/yGTYdLBHkNlAk42rAV26zdNl+ccH0n+4czpSb/eQ13+ww1c3iQQ9w6rEGD i5JTfjdX1V0SXmL+mjELELlLOAmS8PtkIpEBpxU52++zRVtrK/cIqjfTft7IYhsp IkiGRFzUb7aKhqBKaUumkNQKuMVjWR//rhzcsDkMFM8QggwZ27qa0CkU3Du3vF0q cxt8QheStXG6wdGnO/IqqaZEDKLUJKidWRaI/m+/JwcNw8zUB3g0Y1Oyg0b4L9Yt Bgq3WGD+ud8Q67Tu2qIjnEVSiN7w7CELdErEmm1c3P0kXo9BkhgDbLWdjBeTGlJI Usj9AWexuTGgc19XGihRXOApA8V9KALVj4Bj0uqg =Q4YS -----END PGP PUBLIC KEY BLOCK-----
<cs@FreeBSD.org>
pub 8192R/3B8AD451AC3C43C1 2014-03-12 [expires: 2019-03-11] Key fingerprint = 7ECD 92F7 DAB0 D983 34A0 CCD0 3B8A D451 AC3C 43C1 uid Carlo Strub <cs@carlostrub.ch> uid Carlo Strub <cs@FreeBSD.org> sub 4096R/4E5530E5F9B075A5 2014-03-12 [expires: 2015-03-12] sub 4096R/3685ABB2A694F014 2014-03-12 [expires: 2015-03-12] sub 4096R/CD8BE3040ED65934 2014-03-12 [expires: 2015-03-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 tULByx4DhQ== =jYWa -----END PGP PUBLIC KEY BLOCK-----
<clsung@FreeBSD.org>
pub 1024D/956E8BC1 2003-09-12 Cheng-Lung Sung <clsung@FreeBSD.org> Key fingerprint = E0BC 57F9 F44B 46C6 DB53 8462 F807 89F3 956E 8BC1 uid Cheng-Lung Sung (Software Engineer) <clsung@dragon2.net> uid Cheng-Lung Sung (Alumnus of CSIE, NCTU, Taiwan) <clsung@sungsung.csie.nctu.edu.tw> uid Cheng-Lung Sung (AlanSung) <clsung@tiger2.net> uid Cheng-Lung Sung (FreeBSD@Taiwan) <clsung@freebsd.csie.nctu.edu.tw> uid Cheng-Lung Sung (Ph.D. Student of NTU.EECS) <d92921016@ntu.edu.tw> uid Cheng-Lung Sung (FreeBSD Freshman) <clsung@tw.freebsd.org> uid Cheng-Lung Sung (ports committer) <clsung@FreeBSD.org> sub 1024g/1FB800C2 2003-09-12
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBD9iAJ0RBACJHmAyofYftDx6hFkYRkCrM999YrKxfYGybHI+MoN2fFPXMvSh idYzBGhij1a8E7DGuZ2fGwSxdUZXcUA9PlDPuTmxs/xI/ZgX/qnG4yPgeT7KfZ5g UqRpm0/gz/7g5UsvNBw0iUzSbI7tTXprErflhUXX6cC1bPHTeEQbHe+nSwCglpMT cpcV93CQpMX+GC16UvwC8MUD/2TzigXSQ9rJNoTLuhsibSK9fh0vzq6rhCrzy2Ma G4M9kLvApu7+8YEk9ydVk9EE0PxHTTXGAxnpZzTW/bCCcLubhBqv8eXs2GOOxzHG YXb9Oyo+FDe0EAEZ5Swmf/V2eAHV4bYDmXzW9okxIUK6skXtFxQ70DxqcmtAxlxa QLgbA/9plT+d5g2s1c11Z0p5CQbxa8sJu4nLFT36DzhR2BmhTEM/X2wSARGe7PKu LdWI1WfU4Avoj9sWehSF531tMekMSZ4lp0gb0rYOyzGTqTWjq32mkqep8MDP9cT9 6H1UaSU96yyc1sprUdU7XDf7TA4jZp2LSLlOEB2UCOa0mBL9QLQ4Q2hlbmctTHVu ZyBTdW5nIChTb2Z0d2FyZSBFbmdpbmVlcikgPGNsc3VuZ0BkcmFnb24yLm5ldD6I YQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCP4IzGQIZAQAKCRD4B4nz lW6Lwc3gAJ91P1UQoV68L7emHnjqlf3nK6qzmwCgiVtWyaqQJq4fayifeKfFmT2U 0EyIRgQTEQIABgUCP2SPxwAKCRDm4NvoVAvGHGhiAJ90wTMq0zYb41tG8M+RoMyv oVsgtwCdGko61SUEB+884zRD2bHhwFMg+OiIXgQTEQIAHgUCP2IAnQIbAwYLCQgH AwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LweOrAKCRWdRCC8hQYwWCa4/upt6N hc+SRgCfVybP7alAFua8F010HJiSfXdNtFuIXgQTEQIAHgIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAUCQSQbpgAKCRD4B4nzlW6LwVB9AJ42/CQFoYKDRYz+XmCqBou9 Y+Nm/QCfZv19FBbMSOfvRW6R7nJTSkf3Uj+IYQQTEQIAIQIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAUCP+GGogIZAQAKCRD4B4nzlW6LwUZ8AJ9q3BbkGIsEuhnp6rWX uSkcXYkWWACeNSCb9l9g/650wnXPEHcHsRpzBLK0UkNoZW5nLUx1bmcgU3VuZyAo QWx1bW51cyBvZiBDU0lFLCBOQ1RVLCBUYWl3YW4pIDxjbHN1bmdAc3VuZ3N1bmcu Y3NpZS5uY3R1LmVkdS50dz6IXgQTEQIAHgUCP2SMCwIbAwYLCQgHAwIDFQIDAxYC AQIeAQIXgAAKCRD4B4nzlW6Lwb3bAJ9mJttWnct/3ej1XlvmnAxRq6ZkOACfdZDT sLSo8DN73ZKDbiP73KqDPdmIRgQTEQIABgUCP2SPxQAKCRDm4NvoVAvGHONyAJ9t QrXQSZDkm71qAw+6HiERQ+qsEgCfWuA857Lrda9ZR8X7IJJ3XLO2HPi0LkNoZW5n LUx1bmcgU3VuZyAoQWxhblN1bmcpIDxjbHN1bmdAdGlnZXIyLm5ldD6IXgQTEQIA HgUCP4IyxQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LwecsAJ9F HNrKHPsCJ6ZesY1gJI5HOVijvwCfb5G6dT2YW8TH8GNRFe7rWPXO1E60QkNoZW5n LUx1bmcgU3VuZyAoRnJlZUJTREBUYWl3YW4pIDxjbHN1bmdAZnJlZWJzZC5jc2ll Lm5jdHUuZWR1LnR3PoheBBMRAgAeBQI/gjLeAhsDBgsJCAcDAgMVAgMDFgIBAh4B AheAAAoJEPgHifOVbovBz+wAoIJhcDpcOVIACy+wboHG4nGOQfiWAJ45qvE09ckd IX+MDl7xez7OMqDU/rRCQ2hlbmctTHVuZyBTdW5nIChQaC5ELiBTdHVkZW50IG9m IE5UVS5FRUNTKSA8ZDkyOTIxMDE2QG50dS5lZHUudHc+iF4EExECAB4FAkAoN7AC GwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ+AeJ85Vui8HhdACeNn9owhjpYr2y cYCkOFDv+q3xIF0AnAijfOOUq2oT0d0+B9sALIz0HHrEtDpDaGVuZy1MdW5nIFN1 bmcgKEZyZWVCU0QgRnJlc2htYW4pIDxjbHN1bmdAdHcuZnJlZWJzZC5vcmc+iF4E ExECAB4FAkESZaACGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ+AeJ85Vui8Em ywCdEDYOgC1/YxPHqyvEXGs+JTFFqfkAnjfkTpRPM492elqZkBlQimFGLeWutCRD aGVuZy1MdW5nIFN1bmcgPGNsc3VuZ0BGcmVlQlNELm9yZz6IXgQTEQIAHgUCQSQc 2QIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRD4B4nzlW6LwZ4TAJ9hByDD2ep6 ixTnazmBJSg3epv9tQCeOM4JaWNwvbOrF528n8PQcgpe/3W0NkNoZW5nLUx1bmcg U3VuZyAocG9ydHMgY29tbWl0dGVyKSA8Y2xzdW5nQEZyZWVCU0Qub3JnPoheBBMR AgAeBQJBJBoPAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEPgHifOVbovB564A mQGePiZdxv8qVwvtdyf6m9SvosGoAJwPuv0oR/D4PIDKFYtlTqfYN35I47kBDQQ/ YgCgEAQAwHkhKy54M/yuuJgb4Gcit2+fDnlRZ8yRJkGe8OSl7qx9Gaz0+kwe1Gir V+DQFGC/W3gJqjEN12jh11ZUabE3Seeofec94rDZz/YBkf5ofMT1+tN1kwr+ju7C lQdZCwNewaS2p6C5PsXCUQQ8ZHfgs8YB7Ze/TY6GvpOoDKqYHO8AAwUD/1ZvVV9P e36FE4RkHg3P1YLkMNs5fxleXD1l6LZ8ElQy1V0RVg8sD2W22xh0wP2W9RplsDYj UwFKuRtxxoEsdXvDNLaUyG4hXmNUVBz3b3tmZSvENiuj5EchJWO85T+AFT0g7ap5 wWlxOqmvHC5NZRiAP1fpKpwoSvYTLP418YSsiEkEGBECAAkFAj9iAKACGwwACgkQ +AeJ85Vui8E94gCdEqq8xPwuUc/LJQyc1ziacZJ/FmQAnA41/zThbZg2nf994Wre OT332jJ8 =EtCd -----END PGP PUBLIC KEY BLOCK-----
<gsutter@FreeBSD.org>
pub 1024D/845DFEDD 2000-10-10 Gregory S. Sutter <gsutter@zer0.org> Key fingerprint = D161 E4EA 4BFA 2427 F3F9 5B1F 2015 31D5 845D FEDD uid Gregory S. Sutter <gsutter@freebsd.org> uid Gregory S. Sutter <gsutter@daemonnews.org> uid Gregory S. Sutter <gsutter@pobox.com> sub 2048g/0A37BBCE 2000-10-10
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 sTEQABKrEX0m =fxvp -----END PGP PUBLIC KEY BLOCK-----
<metal@FreeBSD.org>
pub 1024D/AE562682 2004-05-23 SUZUKI Koichi <metal@FreeBSD.org> Key fingerprint = 92B9 A202 B5AB 8CB6 89FC 6DD1 5737 C702 AE56 2682 sub 4096g/730E604B 2004-05-23
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =xwme -----END PGP PUBLIC KEY BLOCK-----
<ryusuke@FreeBSD.org>
pub 1024D/63D29724 2009-12-18 Key fingerprint = B108 7109 2E62 BECB 0F78 FE65 1B9A D1BE 63D2 9724 uid Ryusuke SUZUKI <ryusuke@FreeBSD.org> uid Ryusuke SUZUKI <ryusuke@jp.FreeBSD.org> sub 1024g/5E4DD044 2009-12-18
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEsqyesRBACDA3KsPNZg2Q88N9Vhp0kpoLW2Yp0xWbJ01tD2PPcGCq4nGE0W NgEvynvUwVJ4ODryLEIL3Po79fBIpkOhjraWdFH4LMcXjOequoERDWCMLOSBzP4R PKPqhSvOGw0H54357fcjzo3X2ze9HnfiOI5d94qaUpnPeE8JioJQcTEW9wCg9wKy KijAwG/TQBIHrS/bp6F/4GED/iCdSQ09Q6ZQF497zS1oNTgXDmD/qaAzW8F0bu/D rp9v5GVWeN1vfXHAtvug7/kIOO/eFZqU7IZRIf9bSerWXtaSV34QZSS81UZOr4u9 YUGG1qk/A2a06GFzPCzB80c57G1b2c7i9Ktbw5cQ5o01eLcbqkdLmc3OcjIjnmCy /wnfA/9tlfS50UU7RFfwj199z7R6vxZ8HNoW0DwyNT0G/Sumj96o7+GXqU6NGZ3c X4g0qQbF1NY5h3cXkR9y3w3TP+guQFWtJEqyXxykYHZWAmUfNbaG7xiWdP0iGa6N pAWzMjpeHFXKCLmD4WzRx82TPvxSaw8W7H3PQwi/QIj1yBFot7QnUnl1c3VrZSBT VVpVS0kgPHJ5dXN1a2VAanAuRnJlZUJTRC5vcmc+iGIEExECACIFAksqyesCGwMG CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEBua0b5j0pckoPcAoNDzMLDEsOm+ GxbYMxiTpRNqR3/IAJ9TZ2g1dD8D99ipOUIADN8DyEZRBbQkUnl1c3VrZSBTVVpV S0kgPHJ5dXN1a2VARnJlZUJTRC5vcmc+iGIEExECACIFAksqzV4CGwMGCwkIBwMC BhUIAgkKCwQWAgMBAh4BAheAAAoJEBua0b5j0pckOEIAn1Q0VUudnFwmFG2/Gim1 u+C8cmZpAJ41a06jrPg/BwDeHLHVhd5FzmXyqrkBDQRLKsnrEAQAg7+aWadgT2+8 C6Hb2GzSs3/sJnLUWCGfmzBqKNQwyTMAlXEBD1w6MIeYURz7PuPgkOvB8v8b5+2Y JBU6i1289khWYSq1pn7XgX988+GsX//IfqCHl9i/RnuO4dVL9KXl3lGFvftpsm+A /l+4NkyWo5T/wpzyrmNfuDrsuDUf92cABRMD/0NsHSpAxZpt67PoIrnAXIByQU9g grORKLEHjYe6XpuVsz8XPARBjskYScU9VcPEtWIUWh6PXCjNk4aiKwE0jY7XX0pE DeiZwa2WG2eFlDqJ03aPgxTQouwEKu3zuo7Xnd/dlAThHK0wZdNWmV6ebYah8rrt TJ3PrsYQNptn8iogiEkEGBECAAkFAksqyesCGwwACgkQG5rRvmPSlyQyTACeNfIm DBCNKmYGktQUlB1U9kf7o2MAoK1PxWrRo9/d+uKirJNnzdYXTJk4 =69IH -----END PGP PUBLIC KEY BLOCK-----
<garys@FreeBSD.org>
pub 1024D/FAA48AD5 2005-08-22 [expires: 2007-08-22] Key fingerprint = 8292 CC3E 81B5 E54F E3DD F987 FA52 E643 FAA4 8AD5 uid Gary W. Swearingen <garys@freebsd.org> sub 2048g/E34C3CA0 2005-08-22 [expires: 2007-08-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEMJW1ERBACGUsHdqFuQjrrtjpvx2pQ7GpZYl+HS/jVPn+0MjMcZwRtk2T+g b0/EzS/0oeOqv1biX/aZN19T31JGdlSm8FumpTc9zPgh830omlJx8V3g8wi0ZHzl UjGa2MkmkaCEVeP5bX/NyRljP6fpnOy+5h4F0WcpkqwlXRuhOzM8UgpXlwCgjjPk 0CLI2jSVsnqIKtMdunOfsd0D/RaALnZrVkGtQfDX6MDo1Ws+ADGj8rGtmdN5TIoo ivJvilG/5HSL2nsqOcIKWA+C4lZqzMIlo5iPSz3BijMc1Ni6LaQo4E4zvh7ID5fs fXsMhiE7H2KNSGTjmmL/8Weq8Zgpu9TBD8CHUZLD6BU4Wmm9I/R49A16T5Gbylgs fEwaA/0VYP+u8TEechtQKLuAfOwL2ruFE0YKmnXq2S7MixFvSNaRilB/t41I1YcZ mcWbRlIBezvchln5qRommEKfp/sWVcocR+AuSTcLT3683SkeJ+9205bFx9xXJnrE PBhqjMmRNNlmijcBFZHk+W7tCJQBbLGJkpLfqllfVkJ+rY/NVrQmR2FyeSBXLiBT d2VhcmluZ2VuIDxnYXJ5c0BmcmVlYnNkLm9yZz6IZgQTEQIAJgUCQwlbUQIbAwUJ A8JnAAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEPpS5kP6pIrVGPkAn0i58Ikn S9M9e7cMI9Fis6lXDoAxAJ9eRxZEgPn3aQ4DZ2ObnuKbKSqcw7kCDQRDCVtWEAgA 7jU7l7ssKXwc+/ynNfiLAm9nvCY4jMw+CK6hwhtuOmrgFH14jeEY8wRVBrOUkVi9 Y13Z3qkTk5DD4iX9f25iK8PJELU5XJWStuX64hIEyqowRZ5KkvsdydHjQ1x2koS5 oTW5kD2nWChnBKI7iWPgRnFnfthrXE83ZY1sV+/OBRZH1ZS5KVxOzClcoTiTE5Q0 Q4Py1vlS/Bw95Nhejef7gSf6fN+iV2DQn8KDF81+MIj1jTWt5LDa80G+T5yGWeuz asAZVzBfPEHbWbVmRjT9Ajmump1D/0gUvxSr0fpnVfPtEFJ/MbLdcV1kyTtI9YLm EWnov/J31bGCDlhGjYfaLwADBwf/TBu+b48oClOPFJznnNGVVJUdD528hfVor4Wy 3ph3KXSfaysOmG1xo+nQ3JpdzbC3nXgfVGM2wGvFEgq7ogBZ9YZNzwSP0vseJlwn oXNKvKKDdCyVJC6Xi0Pd6L4beJRTjxf0LPQUjYdQbwrk2RqHXZ/RUapYjlfOWS2l 4ZqHiMoO7ZIAj/bdBKxySu8qVs3zmu59SE+ZQgxSXwxw2mF09XWOLgXsKTfhXlkl ZyKhjcSlVfjy4SXiXy2zFCh9+T0eiCeEzz5kS0QkA3npOooIFftI2q0IKbHOExSA YwOocuVEW7eLzeBfCoDa0SoapeXcjyF7KbiDwQ8xu9gEIUkpXYhPBBgRAgAPBQJD CVtWAhsMBQkDwmcAAAoJEPpS5kP6pIrV3wIAniAehy9Ttb00FbjcevJetKN5PWe9 AJ9XhpsYKAyHxoZLFzGdR3EGBJNAbQ== =EQll -----END PGP PUBLIC KEY BLOCK-----
<nyan@FreeBSD.org>
pub 4096R/6624859E 2012-11-18 Key fingerprint = 1CA5 445E 7ABD BC21 AEC0 7B89 47D7 4EFF 6624 859E uid Yoshihiro TAKAHASHI <nyan@furiru.org> uid Yoshihiro TAKAHASHI <nyan@FreeBSD.org> uid Yoshihiro TAKAHASHI <nyan@jp.FreeBSD.org> sub 4096R/362726EA 2012-11-18
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 818CVCU0zxY= =tAoH -----END PGP PUBLIC KEY BLOCK-----
<sahil@FreeBSD.org>
pub 2048R/C016D977 2010-04-08 Key fingerprint = 6AD2 BA99 8E3A 8DA6 DFC1 53CF DBD0 6001 C016 D977 uid Sahil Tandon <sahil@tandon.net> uid Sahil Tandon <sahil@FreeBSD.org> sub 2048R/F7776FBC 2010-04-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =jPKa -----END PGP PUBLIC KEY BLOCK-----
<tota@FreeBSD.org>
pub 1024D/67F58F29 2009-05-17 Key fingerprint = 6940 B575 FC4A FA26 C094 279A 4B9B 6326 67F5 8F29 uid TAKATSU Tomonari <tota@FreeBSD.org> sub 2048g/18B112CD 2009-05-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEoPodURBACCCL74hQbB00H/yUtv9No6sBynaWyH/blLogfrVbNL+86XIKDz yricgZ6/GDT4tbpaxs+o0wPdI0SrvvZuvvLfiV4ZxiCa8TNJF5/4GEzjKE89Pmtr DMK/i4RCzhRfs+PfzQdTRA7aQ77mds/tYGJYsqk3m1bWwOGggMti4TBk4wCg21tx RTopEa+HVDn1NTLgsAs9a/0D/3lvX6trmF07ENwCp4VGzBRTAZUAGgXziQ2zdjVD WcIWPO9PLxM1C1Crifbh5IOFoCsrUZeEsuLalzEVWZ2O4NqLRiRfuSD4ku6Rnd/k DBwkHiDy03JfGybBNEKUGvhXhhu53uij6ZXxNW9xR0KclDmrBxxEyj/Y/GYMte3b gV0SA/97szSEf8LmQmUD1sd+VHDBaJ9QUe5xNEJ9+8ZfCsVh0zamLvrAOLnZY0mU hPr61esTetdjDv1UAbn/OPTMfp4oY6/4Xa59APshxuK6urXaKExwWrvio4OYTHq5 N0Bq73HwZV1beY+yP8wRRI4AzPoeHa+vIOhfIIJO++v5u9Hrp7QjVEFLQVRTVSBU b21vbmFyaSA8dG90YUBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSg+h1QIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEEubYyZn9Y8pRqYAoIpC8dx4p/BaKVxueFll Jm/w5qD5AKCC5KSc0zMxM0Iq3FigA/tDjiyj9LkCDQRKD6HVEAgAqVPZwxV9bFbv PU20xAQ6HA8YxPp6QYUbb+r8AoRmqPNLoDqfNglhMimj5nPEFLvBgDHQaPQcqcja 5Qiz7j3I8xFrBbkCrx8xp4XYAQB8An4iy8np4Ys/YjvDjittYUn8CywN4rVGIppz S8BDY9Ufjy6v9iFERXGEGcW3x5gFA3S1hGJZ308QhlWMw6OachMadUnAXcoO30fe q8eITtyJZN2MESq7G5TtaywDHz3Gg1K7m68bPeQaeAHwkQBwC/0xvDtJ4uyq/Yp6 sQrlWJN50vaTnSAQ9q+b0tHQMVxQnxU0dVYgtE50jpPHApbc21Krc6H7a8VhNu9R JIanzAEUEwADBggAgJ1JY8XGrOVeYJ9F6S7F6pZKxyj/pYYBYA5dAIOm1df+cpvu Knen7UTOb6CgkZqGlX0BbYwYsfzr3B4oS0P5ScqE5gNVeWrCItZrZV6fuA1ZGnNn bvnEZ3xCZsb49CtfUcMLqNp1KGVGg1iVvh5YA7mtBmp6W12sq5YM4jx20ph+AHrs 8/eIts+MMJ70QDI+GoXtwgS5IfFQK4x62K8W0RAmp77/qvRE4hrdsL55UYwD1zuY qzwfQVNaPNUUiVDEyL6K3K5GYfkZ5zPz8iJ6sWtsuLEyG4CSWLwkAtJj0Xuc71vN W/gkbM4ZpQgqQGQDZvN44Sj/prcJlnbyh26ajohJBBgRAgAJBQJKD6HVAhsMAAoJ EEubYyZn9Y8p4EkAoI+bYGMuNB+i74EdgubvW/fTinfPAKDGBmZorrcBfYrnictP T1jCoBbEow== =0Wta -----END PGP PUBLIC KEY BLOCK-----
<romain@FreeBSD.org>
pub 3072R/5112336F 2010-04-09 Key fingerprint = 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F uid Romain Tarti`ere <romain@blogreen.org> uid Romain Tarti`ere (FreeBSD) <romain@FreeBSD.org> sub 3072R/C1B2B656 2010-04-09 sub 3072R/8F8125F4 2010-04-09
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =AUXU -----END PGP PUBLIC KEY BLOCK-----
<sylvio@FreeBSD.org>
pub 2048R/AA7395A1 2009-10-28 Key fingerprint = B319 6AAF 0016 4308 6D93 E652 3C5F 21A2 AA73 95A1 uid Sylvio Cesar Teixeira (My key) <sylvio@FreeBSD.org> sub 2048R/F758F556 2009-10-28
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBEroxHYBCAD8d4HA1tGibcHpjyOTeiQ7+yclqvB8bzWazJf1OeHwHcY+Rt46 gVxADP5QPLhMaiw4nYNr+bSg+RDIOG3bmxqDZpmw38508NWd/W8XjgQSV/PhnjU0 pfrvhXfmGG/f6C5D5D+IRJ5dffW65YuDXtsIPTOuBCwmq9NSRK0/w4VZBL1+ihDi oDhAWnkxfaFXN5luY98o1GVxQNpd/ZKjb+lsvAwsoXDSjn3R2bGZbA2LBIFh1Y2f KHa1vL4p5ZaNp0hnHyGW0mxC+SWse7zA3c500Erbm5d5I0HUgCEGNdE6tEryklFT zr4HfPxclml+QnlCDVZDSAf3+ExKfNLlSwjdABEBAAG0M1N5bHZpbyBDZXNhciBU ZWl4ZWlyYSAoTXkga2V5KSA8c3lsdmlvQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUC SujEdgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQPF8hoqpzlaFKYQgA mO/vudKdpx8jYDFmCOIE0OorvjqXNue+0VowONs2qSWiGwsvwh7YDUg8ZKEiBZHZ KV29T32y0JIQJ8tKloCF+XS3IktqWA0hlXqnN+Kmw3H0+MmzjgzCPhfTxG8jUUns r3qnYrFQDLzQXr64rUi0o6SQsxcsyb3m3VZX/NWXLyZm3RlCOfQzIRHWKGsP7Q5+ sMcLA/obV+C2cEOlsrT1EQWw6pBdhoPr55ssNG9Gs1oZtPhepoKjTq4X3VRIkm5n LEcR5WUOe9qOJxxLWSWI2lWl7KAMuGt7KmOpbSYZNWi6Z4ASm2U8KhtFIDmQINzJ Th4Qkph0TDAr1mhKSaRVZbkBDQRK6MR2AQgApzi1h0Oy/HVxC82JSxsfcQKNgQbF 6H9d3gkyb57koVVP52jBhcXx4vpce7oSpyWkm/uH6ZGZi5qkjSBliy1SdE+daymV 8FEh9KQCMPvM3BArrDlbHUzpgRDwxJ5E25FfY/ggFF6/uzY0vLsAtLdyWowOh5ZM Dt0sKXsAMzBRaZ8VsWeBfxJJpecRLa6igK7w0+oehWQ7v9iC+XqBpfXR2S4pxTi5 bshXeEfezqkut0wg9UBQdOZwMdzV3kw2Zis/qvi6jte19FrH3JVe3jhuoZCVKxec aTL2nawtQHqCN+7MhTog3ap+ZhghWr7NK3wlPWYmk0fDCRLW2bzh7e8OawARAQAB iQEfBBgBAgAJBQJK6MR2AhsMAAoJEDxfIaKqc5WhBt4H/ArRP3bzyv5ejeCZ25fr OCR7Z1vwdFFWvWqEAPO70x9XolGZMEhuF7OVjZpIXFgjDPBAoN5nxn4A3SJqMcXg zDsfqOJC4N2JHwWluX4D/CZ6caWOfI0p0sM7hYyXaoAEouknPO97IvermEvmiqnO gpcqUHbDL9DRKBnMyqDsSE3S83kEyuwD86x+UXJNCJk6awcUTWoETg6tVrpJ6Jma ccMPVsn4QucbRYyY2e9tIvJ1YbcqZH2munFGa4UXeY5+UemX88tg0rHHIYoN1B0d qMSWsm6YwNRBuyFC4f6RkK5x3FQExsTd36UaDkxMbimkyAf2y9uMmHf49+anaTUb QaI= =7/gk -----END PGP PUBLIC KEY BLOCK-----
<dteske@FreeBSD.org>
pub 2048R/0xAACC9F947D9E9AB9 2013-11-01 [expires: 2014-11-01] Key fingerprint = E052 3882 1097 ABB9 A537 ED2F AACC 9F94 7D9E 9AB92 uid [ultimate] Devin Teske (FreeBSD Committer) <dteske@FreeBSD.org> sub 2048R/0xB29F871CBC396837 2013-11-01 [expires: 2014-11-01]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFJzv1oBCADKd7XY1jwBUW57OZZn/FI4u4MNEZEjmpOd+oaW0UL/U+xvU1V3 JPCSiTVYq53qMGL6yqQxcwEehEFj8AjFclZEDPHICqRyKOxKj/4LF0/1Hzj7X49Z 9q2+hC+VL/E9xB8/cgtew5Qb4nA0mFnsMJTmUzUSFJrwg+hA4FpZmwRZIBfynVQE LVB06PhAAowlPAAEjBPV369suG6TEp94wm+qWAl13Ud8aQXXbRzu1bbo4gRflwe8 MzN8X22PEvNI0skEdmYj7K9WtRU3xXLAIesLq4dIq0xxa4xwv7VPujYDmLP/3OkE dvdTcrobpHVI7WngvgrGC5PcSVWSlQ0pWz6dABEBAAG0NERldmluIFRlc2tlIChG cmVlQlNEIENvbW1pdHRlcikgPGR0ZXNrZUBGcmVlQlNELm9yZz6JAT0EEwEKACcF AlJzv1oCGwMFCQHhM4AFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQqsyflH2e mrl12gf/XlyOQnFBIexle2+UxtIfgViFdrfen0OWg5oN33yGOCTtClVbwiW5GsQc kB1CYbtpJubdL8l+/mEGeXKjMRTsP06b9fAUbwTr4eKtD5ZvV3n01Mt7j3yFs8qh OZeWUG82zK3oKksWcQQFxoU2XyQE8lt5OggR+UYLP35qakff2KGpoZfYpl6Qblh8 umOdxVGaz9puNrwgh/X2iPcjOJmNgU29O+aDY+7yg7PfMvtO0SnUPBjUw6m2GFf6 121VT8eIwSNm41yjIWZmo53qYO8xa6uSJAw5Y2UmaYtizutXJWk5MgWBqWvmL9vp Gyp9WcfzZIB27AMhp2yW5Y1FQK/JV7kBDQRSc79aAQgArCysBtgikOD+3e/6rJV1 Wb1kGka7CbGoqp4jatZ1StUHI2LKu5jj0h32TFbUqttAfUKiMPXAaA0KVuSv3TaE LD39UsSAUqXKzCi+Xbsk1T7YfHDPfdgElj5mMXZ3yGPAFOKnK17Rv6v5Eiv361lE DRs5fpn8CAX6QfAnizJ4YyA5LDmbfuxObVeFZKjXBcCERN4cqsMmUwrZPi2BEqt6 t8hnB9GOiQvqLDiK220zVmGbqu1HL00jWko0gtkGZiOL1a0FLxdsoqza8n9L4WY5 rMBa6wNeRBx0j0y0madX443+X/leM8B6cv40rW8on4RHwrJREnGAOPRNBajG7sNS VwARAQABiQElBBgBCgAPBQJSc79aAhsMBQkB4TOAAAoJEKrMn5R9npq565oH/3a9 4plv0XZAS0+AW73e5y1uANWPS4zDCCCGW7fYIA0DdXVCmblpmw1s6tiS8DtQ7WYm mR8BeVqaxslP4buJMd5ZiKgG1R+xEYI4P1Ch3jg04hYCqvpzx8eVhHfM850HEs3L fUMQ0vtyDCqo6lV4yO9s8iDLY0dR7eyIWeAivLa9TQLygDYCJIIo4NJ59TzzxqDP QZb/00F010vXHH3A1KiduGhokwUpC2RB29ScQ/skmAV0Qu7QnVLlxWIcBkhxk2jZ RTPM1oax83zopfS9JUuDoJrqK17T3fWlf2uZFI4pgstOoFPVu4MudzfTZajLr4Rj Yo4zDFcwdMnYfOqfWHY= =6Oj5 -----END PGP PUBLIC KEY BLOCK-----
<itetcu@FreeBSD.org>
pub 4096R/29597D20 2013-05-02 Key fingerprint = AB6F 39B6 605D E6B7 0D54 ED3D BCA2 129A 2959 7D20 uid Ion-Mihai Tetcu (FreeBSD Committer key) <itetcu@FreeBSD.org> sub 4096R/EC9E17E3 2013-05-02
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 /as7XDPGqpDTGynLpsYRRxnfBp6Hirr8MKme =RYSt -----END PGP PUBLIC KEY BLOCK-----
<mi@FreeBSD.org>
pub 1024R/3FC71479 1995-09-08 Mikhail Teterin <mi@aldan.star89.galstar.com> Key fingerprint = 5F 15 EA 78 A5 40 6A 0F 14 D7 D9 EA 6E 2B DA A4
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQCNAzBPh/0AAAEEAKiF0rNVbbuQue8Mo+knlGKtZJXWkLOhmdzE+FPxTSRv3TOS OHOfFbEbTlcuplvYv1US6o4liAyyx6vGLGa7ZW0zLFAtTOJTfwW3GPmcMTieOIK3 wwzJtjH+wi7VeXIQCU/mOcLC9A8QaLqhJ86e3m9FODSFMIluSoucrgI/xxR5AAUR tC1NaWtoYWlsIFRldGVyaW4gPG1pQGFsZGFuLnN0YXI4OS5nYWxzdGFyLmNvbT6J AJUDBRAwT4kMH2ldntvsCqUBAVAcA/4x53VCfOx5Bm+BtneQNEvHgV8aqWW0tM4r 31KtsSjMwuHF3kl7PJtCfVk4OpRvog4u9V5G7gtUhUIOi/Qfuia2YHvvxIh3sx7Z Gg22e4FxNzNob3qV+YiPOr+Aa6EoYfHB45eHSLFXryCBS60a0CfZies+CSzcHBy9 /Zu51dCtnQ== =f57V -----END PGP PUBLIC KEY BLOCK-----
<gordon@FreeBSD.org>
pub 1024D/357D65FB 2002-05-14 Gordon Tetlow <gordont@gnf.org> Key fingerprint = 34EF AD12 10AF 560E C3AE CE55 46ED ADF4 357D 65FB uid Gordon Tetlow <gordon@FreeBSD.org> sub 1024g/243694AB 2002-05-14
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (FreeBSD) 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 =1nJ4 -----END PGP PUBLIC KEY BLOCK-----
<lth@FreeBSD.org>
pub 1024D/56B0CA08 2004-05-31 Lars Thegler <lth@FreeBSD.org> Key fingerprint = ABAE F98C EA78 1C8D 6FDD CB27 1CA9 5A63 56B0 CA08 uid Lars Thegler <lars@thegler.dk> sub 1024g/E8C58EF3 2004-05-31
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEC7Hq8RBACUBh7OsXzgLr6Hz1QigRoSr5nWAUdj7Z9wNIcoE9t6J61MIUtP qGL3x73LspmwBGu/aC9muJ5b4Ont+BBBkVkC3Cdl7pKSvT70/ZB7TKw9f9HA9S67 jK/NnrgG4R9amixfd0KyycNpf3yvug2FV5VZBiUqvuqWipqXacOxsD8rAwCgksWW 74+msARYAf+mTeR7/NCEH3MEAJFfoV3APPGGECWfwrDmQT1IiBhObbjsVKbo4z7w yHxK+3Qm9nCG/sVthRll96C+rtAJKf+FEN8nvIx/9Z1UQ3Y7zTMgzlbz83BhhPnZ lAZEZI+EfmWsltzmyjJHnsvShRvjEp/YQ+0tfZV5uAPy2yrICw/rvozhCmqTox5l zOgXA/9mfbgbJR8NS7IwzcVSH+YEW06lyxLHjEd31aIj6wgX7O9H7JdXOytTqbSR VXN+5GjJhEaw9GmAd6tsvusHMy+1GBgY7TFFUNYO+JqHn6FKGzfPiFyxDyvyrF01 QL033peqiNVxTS5nvJzmKQCpftlU3S85R+K62Alv6xO70HyaALQeTGFycyBUaGVn bGVyIDxsYXJzQHRoZWdsZXIuZGs+iF4EExECAB4FAkC7Hq8CGwMGCwkIBwMCAxUC AwMWAgECHgECF4AACgkQHKlaY1awygj74QCggWeR8IRwgHIsxVv5zItpzdtnkSsA n31ytm6noxfetU5J/5NnR6bwV4WetB5MYXJzIFRoZWdsZXIgPGx0aEBGcmVlQlNE Lm9yZz6IXgQTEQIAHgUCQLsjTQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAc qVpjVrDKCPikAJ9a/Or2be00A9PeXyoo+b7VuLAzhgCcCX9kI2DduTtitld/mY93 vZDnQPO5AQ0EQLseuBAEALDSStxYn/CidImaPKwDZoYVpXpHucmBZ/nK/rFwMNh/ /RZD8ZdBF1PEDf3EA78qTxEk7PfSnoEWcxmcNfiMSALiTkehI4nWQH7j0ZSwqC/5 Du4lP1v1PSeR35IkC58n8kur74olLMdoYxlpVOwh7jGR9W/3MSEjQ7NJP9AZ4yw/ AAMFBACv3/ZxNdO78IPVJ1kQsfGUnwfpiw9syDqK+CMA6FyTCI2VUc6kY0Wc23Qv uoGv8ROk75pa2MJxEH/GQJNSZerJCSzLqdCyEW4tuxxJPQ7celSZ7PL5QutBzytL 4rUQ5bUlYQBFlCx6aOuG2+zQqiFbm1RqX7RYdOf3LnlRmkaTDIhJBBgRAgAJBQJA ux64AhsMAAoJEBypWmNWsMoIibYAn1x8xlAkuQC2ZlUID9ORxSIgEMyjAJ99nQWi rCVB/qZMKoL16f9mHKvJ4g== =OYqV -----END PGP PUBLIC KEY BLOCK-----
<jase@FreeBSD.org>
pub 4096R/0x5C3210C83F9B9617 2013-09-24 [expires: 2018-09-23] Key fingerprint = 4841 00F3 CDF2 272C 965B F90A 5C32 10C8 3F9B 9617 uid [ultimate] Jase Thew <jase@FreeBSD.org> uid [ultimate] Jase Thew <freebsd@beardz.net> uid [ultimate] Jase Thew <jase.thew@googlemail.com> sub 4096R/0x727970D29B509783 2013-09-24 [expires: 2018-09-23] sub 4096R/0xD4E65C8BFF1C3829 2013-09-24 [expires: 2018-09-23]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 QWvwu05OpSjettpR7vecCJGwCvBYWKMjKDazsw8HRPliA6YXFiDw+FSvAZuCbph0 ri5H0WqqT7Kz090HKzfOI/FK1zpuKxdLcB2+S00fCGxNtRTwUx1B5dHIZCeO/QuO NTZVXJA68fQspWOLsQdSswSvIAfTM8URwXRXGphD0f2nyMva9jmKbuFLNNoCMSuK 7DHFVZcQQVYbLFhwXYZrrS/LA3xorQj9FrQZDZVPFkMIUInm9R5KOQnu/d9HwS4+ CZcvyQYD7WO5V7EmdpQ2ltAqcHn5PPffD7mGKGMnSPtQ0U2UYpUoqLrxyfWJnspr XkpfaBl9j4NR1LePGZ/SJOuzcFFXf1VcX6CHEZKXro4xt5NE3dBpGWDpxIsYTef8 sRs1qvGyKJpG7T4/U+0wNrQeSmFzZSBUaGV3IDxmcmVlYnNkQGJlYXJkei5uZXQ+ iQI9BBMBCgAnBQJSQgXIAhsDBQkJZgGABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheA AAoJEFwyEMg/m5YX6pwP/11wxuizvHKpsNaJ3ipJozxQJO7RaPmloBlY6ahZvJMG Sz5iDPDslaIzEKZIBm+0c0J0V/AMP+auNAxfEU9gIhIZkruBCt0YU7ZW2xzRk1jd lQpiNbBVJmasYwD9rt0wpPRvQXmBwCx7r7fOPZwWVhFxVDXsNojNRjqksE5UIMd+ 64Qvzm8h+2oDl3xF3n2OrofgDb240WrbO7gU3cojyWWy8Yo2U9BeOds48wHvTmIN XnCYaFnnn9ogDLEbyN6W3JUyh1mMmSy8YauS77LkhLsOB8rSHjmuXsA+n8yCxoty jrmCYMz3+1bjVnTcX5rviMtWPI+3d24zHXN75OQX2Wpd69uGz0s2HvwiAp34mcqU QbCx3e6FCrbJp6G+zuPJPYYn+YCw1Ob0KOb5gotTIIKrZTpGapFVzWqkfIgodVLs etZ8cm3P6ssND3wixCZbN1ZBD+zRBkbDzN0gpaIniHkRvZcUj78Ajj026eEr4Lat EYtQKjcATiLRUyMyKqSpuXqeWpmipkE1mQV7DWonj7PG2RqnajR2sO4Js2Ce4bNi s+/A12HUw2t0/XgGQ5YJjrVZKq1Dbe/UAYJzRVGtSDfALZ9l2WWn+5f9mCnE2fRc Nl9/lDErNZig3jsM15F/MfWJUtioXCv5FrVPwauHLhHcCE0BDZx8uUJdUhBEvvH8 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 II1eyyrnjEXXvca+9JWJlxp2QwKCuftJTfjk8P1JWIWJLo3fgtwsSzIQQsPy3+W4 8l4mFYRDNP0ecuI6HLrIR1wJjCKREveZ1aMuYGZqRugHnrbjnCwBlh94HsCj5r6H APIiv8gKqOu1Sdd1JgXQ0epbToZYN7NiWq7waaBU0RJVtuBCOUG/ZFjmxlpNZxzK /gqYhGgY2lQMnsrOQqk/UkJOZtkEtzeDcz9kHNSV9J44GE3iBQilZYtH68t1ulV6 jT+sw0tQJ3u2P0kPY6YhNX/5d2bTmPOSPU9xZt5VJHoLqIxcUmUvNzE3rJemGWTh jlga/mDNfVj87hm8P4gJAwjRHQnhBGCwKF0qMeHcWlZvxZay84sbYG4XfYyfAdTA 37h+NxinEev81Yx/BIIG9rwexESxEFkAEQEAAYkEpAQYAQoADwUCUkIG6QIbAgUJ CWYBgAKJCRBcMhDIP5uWF8G9IAQZAQoAZgUCUkIG6V8UgAAAAAAuAChpc3N1ZXIt ZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0Rjc2NzgyMUJB NTE0ODIzRUNERjVDN0JERDRFNjVDOEJGRjFDMzgyOQAKCRDU5lyL/xw4KRkmD/9c CrBri8ltnDeO6m17ExIWU4dSr/ZjJCRidLsn2VNfVsPmbLCZXAYSzw1jbQrTQueP f+Q8rxuRPcL8ij6cFkGY8HEV24ggD0ElgTJAO+RCGhMjNo82ndpmzLW+mDuXUofv bMQu8GDk+2PZlGJhokhlhAolPW6u/B2s/H8C5ZA8a+1LNAEMHgY5ijVzI6QuTyom 9C1NpCTd/wcrBGD9xfhWLpOluizvhRwrMxt98vokU90iu2ibLgpOqF7CCtdEbJ3Q HdeTlo2ZqVRgtgITe0OBBCxBHJIryp3w+QDJKoUbWtNNFkRJOgUIiHr28LyWb82e XejtJZA0rp91QEr/aJmSC4aCEU4KPSJ9C9dM1FelwXTp9t/1iaPRZvCrLTF3o1wG IaxK4CtlBkKj+2UEOXJyO9dxRVWJaXe5A7nIR/PwY9Ci+XardgESSl+qjwqHudTN GI+XmZecN2u4PyYfgnVa2IXQzaTCbSYzije+WwlBbJ/fak1lOPttZrRuBAykvZRr 0n8tZJF/X8+h1MAk3B6Ai9RBUM6wbqvp5QTouYh7o/PSbKOVLXIcMkkf/+xriex6 T12nXavafPTNbcKta/pIxV7QDmNM06H7+/hI27C5wEiY5dpp62WMZLY4dJDbydgQ mCcl3MO/kVqqk6TRDwfZ8fCBXLQASmMCt3cz9m7fUs+kD/sE45n7fOdVUjPvCaG3 nV6oG/0vcWWzDN3NmI0Z3WOOJ/gQYOssSM1YStVoI6KIfk6i1Mxw3S967LpIZ8MC Wa5T2XHxAwAvalY4QobzlxkXK/oRZRPdQaBouvKnjJ+Uv7rOz+5OjkzQjnCaDrkQ sgT2zYeeO3P6mpREW94F9ZpdPyVFmKZIebj3TMjegvb6JW5jkg94jOJLBdCh8e4I c01YFHc6Db3fwT2E3j7d+0WsffQ63KIIAcOsv/+V+Jgpn7wxDuTuol7ngmoS6Z0Z ZKf5DdyKrbW3xR8oantMR/Qw7BSZgqMBKmpM7kGmffswOTULz7bAT8bKIIktDYYS RLwLiJ3zu9hxx4mKoYiTxQOIzlkGNYYnMsrU3u1kxr+QiEE8e26t9by1c+a/aHW3 Cepv+9EfGAAzgcZeDPqrZkaqtgVzx4i45fN4Zqvx0CyHfsSb1mu9riOWLxDcvNQE LkXX5a5nLiez5nsu7kdlKEMB0IpLBoeHObk8NrnxoBPRWssile5jBx8hxs0qoMg2 yESPBGHOrnvLyAtbnHTf1QgaXC5FHGqEAfgOeHeaQO2mUm+AsHqmCiOqoEqhNRiE LwM35zDnOIHflpFdoaQQqoiAjFkX673C70BNZslzheLSR4dAGwqjoUtxRyUZ6S1R Oo9I+TQ7ASUN6ArkNSxVPu32LQ== =Wg2q -----END PGP PUBLIC KEY BLOCK-----
<lx@FreeBSD.org>
pub 1024D/A887A9B4 2006-11-30 [expires: 2011-11-29] Key fingerprint = F08F 6A12 738F C9DF 51AC 8C62 1E30 7CBE A887 A9B4 uid David Thiel <lx@FreeBSD.org> sub 2048g/B9BD92C5 2006-11-30 [expires: 2011-11-29]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEVueHgRBACBqHSbbyc8BoznmojkguHMrDQtqISv33b9tpIsNSHDgz4Wpoqs MRwMPZpStu/FwULPzRUkceoYFIkyRyBwyIqTAD3uq2nisPR23ffDKRe8Q44Y8ccz sAtc7zPz/XpoI+2tLVGBCZyk9UOuIK1HkrmEjJ8uG2/eqyuckjO39oA/3wCgorer I3uzG/mJG7V0hHaCEkhQVx8D/3/i9YwqVVf2kqfKEGUASik/PXDpoeHfC/v6GFik Ss47TSaiuMOCoxF92m9EcOSoYCHOmdkJ1l+AVAWCZvKHKDM6J20dRr1zNqvR37jf FlmbF5B/MhRcjaSvrOLnZsP1wlz5sRkdAOdHNN/J/mwqkaatkFwtf7XcFMheB2qi 1XvRA/kBi8lvPw7/PGibDIZXBxUmWVHLCU0dtrwKjbHE1HIpMwgjbTFrvh0pjmXh +qjn9VTcduP50Lrd/J3bh6WSgdc16xT2zxSAg9G8nJctDSJVgOJiYFUfLBpPBeLS O5ZN3GHw3TyLnDV/NvaAfzp1GXaGUB4kEuIaiaxxNugT82R3OLQcRGF2aWQgVGhp ZWwgPGx4QEZyZWVCU0Qub3JnPohmBBMRAgAmBQJFbnh4AhsDBQkJZgGABgsJCAcD AgQVAggDBBYCAwECHgECF4AACgkQHjB8vqiHqbTvNQCghqU1WwfsIQgI4bQn94M7 z3PY/ZYAnRPT7soJ0GrlKAMRplxFoRWH1C1TuQINBEVueIUQCAC2nNYNyuKG/uCP l6/GUoumFRE8tcbH1jW5yrFbi8ahcoi71iCQ6Ozdx+XM/qIu13/iEJmTOvoVyOFf 0pn0vVjgJ6yWek2oZmqh9Loj0WX2bRvV2uemOfvNwqUvDLCvbdftHgQAHOff5Tij GJxEBzDylhkAlF7MlZbCejiIJ7Of9fMC066Yi5M1lg5wAX1gPG27PiXJLMjcLI1B BsaIEtJsInd+UWsgjUE4tq1xoFhCeDZZWHCAyc7XyI7cy9FFQIII7SWkZ8TkZwKO T4UYyIHKtRFtgrMTkcXAc/Eul0LEo2z2e4L/G+8vF7q9LicIyv3/BF62fgx3iCKe HkJRWueDAAMFB/4lX+vF95ESlWuZ6DH1orSDKMzWlaJfl8ImE8nCT+QN/3ZauO7Y 4kQ11jy2Q+vURzltl5r1uMgAheBR//qDp4OTlqxqSyYFx49iysd3rjP0vnc8WGD9 BpGobsbcgw9axW6z278IZzJ7aroYBaceOHkEM6nNboZ1aKCn7jYqxFyzNUuJqqEY 0vxx82C2wHIPb+b9k5LCz+kMrq8fGDPERYYcFFKHMuKZ9oyide/8hQ83KadXbvJB /GAqx+prMs8axuAMoGgksMRV7Er+eRZNqYyeCr31j+Oh4qpUbe1q3UPzkoUg9OMI qJXvBn5S1M2B8epkggu4y6HDsbVXqgT+NCaWiE8EGBECAA8FAkVueIUCGwwFCQlm AYAACgkQHjB8vqiHqbS5dACfWGE7OYOJs3lJUh0fHYJEYGfcOKMAn3Spx9LXSIcR mVETDDKHRmZTSiZX =iAPM -----END PGP PUBLIC KEY BLOCK-----
<fabient@FreeBSD.org>
pub 1024D/07745930 2009-03-16 Key fingerprint = D8AC EFA2 2FBD 7788 9628 4E8D 3F35 3B88 0774 5930 uid Fabien Thomas <fabient@FreeBSD.org> sub 2048g/BC173395 2009-03-16
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEm+vTYRBAC03EXAZTDbUh/ShE+8WHHaB98hrIyAlHsMBRpWdouqNVbvEWBQ 08to2fDMF8zpWY7GB6U1w8bH274bWjIFk9KkK9fLbfoKnwQOWBEB1IFOei/G/4Ro xfufEQUOWGjAcVlZp+/crXEJQEljWe4OOjh2Seruxo86qWmm6Pp8LkmPvwCg5+t8 iQL/1Ud2c8fyLAS+AARuAhsD/R6MSZtQSselAtbGB5S01reSKO4enb7yFdU7Pcbp iBAqgE0khMZqcQFeOWyAiTFTqyt4t076R1s0G9uBoTCI5/sDslVvyaglnGVrL/Ej 6WEyBEHXFHOS+pf7Aofke0wHyQhl9YrN22cEFEKWNDMCu2T+K0mP1AVKtnbLqwVG clIuA/9+qeScAK7n1Nu33c4WTkbhxdpxqcQGuUti+vHLrSy+wpZgEP4e3A1AurRs JXUGTuqT0g8wxpCMEassWuoOphrNUz3Y3ckspvo3PLbht8iWhkAS+YjvTgBPu+at rxqS4vuog8z12Gl5C69oUihXozh0c+9WNQUahsy2RM4ldFu3qbQjRmFiaWVuIFRo b21hcyA8ZmFiaWVudEBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSb69NgIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJED81O4gHdFkwWz4An1Jps5d16oHpy7qh7jro 87IPMczmAJ0f4rYdOnxuFuRDnBLwVbdb1gLQcbkCDQRJvr02EAgAlrdKSnI726B0 hGobE1BE7jwjS+u0ozmeTh1JLZH1rKNJd/LszO7ubB6X0VGA5ustPYVb1eVoSn6L LkvbspsdvNitklU8Ys4FF0dI9+AvrT4u84f8AjKKSTMHoTu6vv07Vm0qEdt2ZTim YTwG0OKuRbwCDNaMNzshkncWxWNd/KgrP9NlfdVJ/3NxlEl/GUm6v4bw1CM3F+n8 DanJa1jKPk0krg0bdZc90flknwaH1rQckFrxICLa/9MnV8HjZEiE/h6M4Ay3Okb8 zQnYywHqklRfvi2nUm85AZ+fJ1X06QCJD+Idg+/Tgk2SZ3oG+yOBS5GASiYiY5Bu 3fUtBVc3CwADBQf+NFw7Lw9mLYqd7E8VFr81U6JH4WU2sG7YEqbcZ95jqiaOby99 jaSZ0FKPGvm2V3VpgvXchzf7noqNMWUXbQadg5U/iJnRRhdhnVUbMq/T/mx5u9RL jH8Bp3zF5hElGpa/rPQ0TJSI9lltUUHD4c59FbgEXqmG69sTNcXBeH+w1LBoqmyS VQvLsPKan6FKfFDzvvuOxdP2SFor36zu7ecEuDz+teETk5ixRiu5wpEq7geqgZfW rgO/2HN5OgHJCIGvQfttUwzrDLw+RHiy5wM2f+S8wSi1bka3ggE39KPODMHQR6z8 zunYn+Xjw+jL3zrDu/FAa58nbaFRuuFEqG/V5YhJBBgRAgAJBQJJvr02AhsMAAoJ ED81O4gHdFkwb+AAoKtrw8aIkc31k+gGotiqv2Z+v6ZoAKDKsv5LDbNe2fncnihP 0wGrqiKLdg== =HImo -----END PGP PUBLIC KEY BLOCK-----
<thierry@FreeBSD.org>
pub 4096R/F1C516B3C8359753 2013-09-23 [expires: 2018-09-22] Key fingerprint = E536 BE85 3853 99D0 0B6F AA76 F1C5 16B3 C835 9753 uid [ultimate] Thierry Thomas <thierry@pompo.net> uid [ultimate] Thierry Thomas <thierry@FreeBSD.org> uid [ultimate] [jpeg image of size 1968] sub 4096R/32B32808E6B52F4F 2013-09-23 [expires: 2018-09-22]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 frSrL5e7tkI5R7j13skoPWZWmCCIOjRGe5eIsEqzvh9E264lj9DX5oyIwa/YY6TN t/jX3tgepNDIl9QYNOKLqUAAIDoPXsVNuSiUWMeQCzw4WWND53zg2UyTjc29qY30 AYiCeNMg6weLfM17Iwi7JkDSiEYEEBEIAAYFAlJApuUACgkQc95pjMcUBaJ9ugCf UABtmzxlz3Q1eSKv24U0mnXPtl4AnjPyf1GB2asgj1QFBciXWLJt3L/biGsEEBEC ACsFAlJAq00FgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJ ENK7DQFl0P1Yo88An0qzyPLn9j+wt/OpUws77abnRR7QAJ4+4KNYnYvrPa9iQLqD L0dXVpg1TtHHA8cBARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAECAAABAAEA AP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwoLCQwRDxISEQ8REBMWHBcTFBoV EBEYIRgaHB0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/AABEI AFAAUAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/ xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHB FVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl ZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6 wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEB AQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQID EQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkq NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqS k5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl 5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APXYooYn3qXJHTJqXzlY/dOR7Vl/ bFP8WKja8I6Ma01OW6NiS4UA7Sc1UlvXVfnJAPpVEXe48nJpz3abPnIxTEON6mcZ J/WprZlmcHa2PXpVQXlt/cP55qRtRijiLHCIBkknGKGJGlM9uI8HII7ViaoYZZAU A3e9UpvFGnO2xbhSPXBxTWWO4QSRTEqehUjFEZJ9S5wlHdDwHRgzOoA9KhvLuLcT vWonsS5+e4lYemacLOADb5an3NXdEpHl6eJPiPGyl7K0YscBGUcnr2b0Bp3/AAlf xISQH+xbSQdNoXj6/fzXWmME9uKBGKzuw0MTT/F/jFAft3hiObgYMMvl/wAy2anf x/dwRk3nhm+ST+6CMY/EVr+WRyDTWUgdaHfoFjn5fimVV/L8OX5YfcBcKD9Tjj9a yfE/xE/tK0t4RG+nKxO9JmGWPt6iuwcevNeRfGSwsj4ht5ZzMd0KyFVPXkggfgo/ Osaqly6s6cIr1UbEXiKL/UrdxeZ/dLgGtCy8fXHh63Z3tHvY3cBo1Ygr15HBrzQ2 ekalqTaj++tkOPkHy5wMdK6bRLf7VqNsLMsFU42L1kA5C/j39Bz2rmh7slY9TER5 oPm2LurfF7xObzz7Sxht7UDAiZDIT9WwK5m8+Iniya886bXZIZQTiNQMAHthQR27 16RqXgYataRhr9bBm5kEf7zPsM4/P/Jq2Pwm0C2kEr3dxPJzkswGfyruUZW1PISR 3XnLnFMMwJrH+2Aclqgu9XgtYjLK+FHT1PtQZ8pvNPgZzj61Wlv0jt2eZtvl/f4/ p715z408SW18sFrZzyNkEsoLJuz0/ln8q5eKfU5bV7dbkmIDPluzNuAHv04BPbHa snWs7IpU2eq3XivSYYRI87Ddu2rsOTj6dK89+IOt6Pr9hb3TJLDcREo6kZG08jnj nP8AM1hTXWYyqSyLEG2hCvTgZbJ9QPfoPasTxQu6xhlDYKkcKeDWKqTqS5ehrTXJ JNFlLvT4IlWAu8ncnIxVyDWr1dPuoLC4aJ54ih243MpxlQe2enHrXJws8gGQoJ5b AxmtfT8QspXO71xXRTopO7OirWc9CnYuJQ0k0kqovBCtyT2HNIXQvtSact6Bua1d ds1ltPtNuvzfekUcbv8Aax61zlu6rKzH5cqwXJ7irleJgtT2qDVy9nE5bJKAnn2p k9yt3FscqT1XnHNcvZzs3mQgY8qQgDtjPFXYJgWcKxwThfpUKa2MnGzIp9C8x3up 5IZCBhUVSAuPf/GsOS/S0umB2MzZXIOcdc/j71u3t6Y7eSLbuTHOCc5Ppj61wWqz 4Yo8SlsnDdxznFc1RKUrIuN3uatuVu7wq8y+WM9M4OM0y/AupliVSY04yTVPTW8u 2LKxJYYP8/8ACrXmoibDwTyxrpoQUUU1qRiFFO2NRx3qM3Hl3AjjwxAyxPai4u1C lYxgVmRyERNIeWkOBW9wN60uWkQhzlWPHPWsLUldbkpsztbO7HX0rRj+W2VePlFU dWuHjZHRsEgf1pT1QkdL9rxeMQCmQMqT2wRmpor1xkg5U557Vycl0TcfeyRxkH0q 9DdBk3LwT1FedKL3NlC5o32rTR/cbYe4BrEvrsXLDeMnsc81JMC7kEcDnOMcVG0M Uex5XVUbv1NXCLZo0kiYbY4UUdhk8+//ANaqs0rNkg5zzU8zqcYOVOAp6cYxVJmH PYg11pWVjCWrFMhZCT1FBA82OMdEGTVeZiFODx1qeM8F+7UyS5avlmU96oay2VhH samtpNtwvucUl7ciI+U0cbgdmUHv69RQ3oB//9mJAj0EEwEIACcFAlJAqNoCGwMF CQlmAYAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ8cUWs8g1l1PiuxAAj8Wm aKUx8H6mSFDqxxtu/vdwCE9hvO/vj9wajitNDYmsq3BRnZ70izRJszRctBe1h2B6 5GJTo8s2pVDgLzs+Yz7zRyIMYAOzffe6pqAUYoYiLl7pjRCrJQSlHsvSoSB5UrYl C0OSWU7bvm+LOMLb9tS3/BnXKNVeqnPXKAlnPoqLD7e9E2C2B2abg56SsAh1svz2 WmOKbDcS/jurnRuXK6lC4mwCpkx3GtXtNY+pHhEaze4uviVvxjhuA+9ecFz0NB5q dfwORVoK1x+KfhhBGXqyTWHrP2uIq5PPOiUmzKovuCXci5If+vPzr4UqXaf/VE+0 YyUpoldUtlyLnsGKj5rV2iJ1VJfiH70rD0SyWfozXfGyeC18B6zCTCjoKpbBGR50 Uz3Mj4SYyKyP1HtHuPzsyTVqrQT3Kk6dSUtycqlbKUXuk/Zxm/pdgrEp6IQvhM1+ WQNh3SMkX+biYpWudLM+4LhJ9lz2oZrAY4HFixjAhI28+c3/XPLRL1RfWPxt8bX2 IYhzuCSPVf+T08GzV/4yLvUDbUyaXYDMXWMJ4EbkIqu7ZIFzy6k83qhyaWx5lFMc +tCbENcmn+RJdE0cP2NKU9Gf5qO1NqDju4yVKyAOyNFnUv9XB0z8C9Ot3y4jBp7N 0aEOKeVHTAEhQnZWz+5WzS+cOf8frLmBwv5xnnSIRgQQEQgABgUCUkCpFAAKCRBz 3mmMxxQFokLqAKC0fcSKcYQIffdJ0wivCXM7n1OpZQCeOToze/ulqkDnmxZaUEBP xBuudQWIawQQEQIAKwUCUkCrTQWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3Jn L2Nwcy5waHAACgkQ0rsNAWXQ/VjdyQCfbqAQuk5ECA5PbhthOPYq8/ZuIvsAoJkl DVadY/smmw5h+tzRrPMO5UttuQINBFJAoigBEADhoMaQ+54VuA1dvC8jGfwtxzni G+O4/WETEvXXLGKpQRsTJNJjkKwG82lq8qDDusc0gAN4QnSoEqCXQg/hjqOCeHam XK1OHDtG1t0hi6TCbBuMLiDyDgEXNoxIFQXbPnJdmE660c2WyGwDH9yEHHClU+4t e/Vxn8D5m2tXRtzXyWbGcfcMTBlycFjD4mxF9ZfUyJNIRcEoQsFPAHetGSTiPlXN ktBHYnag8le62M6JOmSt4mzqduBRmHnb4TTWjhCCY8ews85sUgVy1u9Qs92uP8K8 mZjktCUiqP6RZHPfWCW5AZfJ3JLKqoFUo1Q9z9SyJKxuxljN0Vi2rYd1W/9YTISg 9ovyD8jMz4cKd473qM4sbdDGKhnYM7S4rvoA2+1wNPCCm9aiNrv1m6a6+A8zl8zN b7jXUCPbW3pGvEtSX+zgsC+O7r3t6YwXuv+tEtehsXZgXLFxud2xqPxqDKx2x0ec mUqk7sBJyr5aziu028+6rNOcIIjlbpji+JUoF2HJEH3urohRX/Vp0GxtZ4SHfSXR ZmMm/6j1JmSfXbNNm9C2fxfZWw1ryoK8trr6D4wrfUVZUxMxaxmpdpQhV0ArZFGp eE8lfO/AcGJ2O9RdaEeEeUikPkfzhkGzIMTnmhlUfr3fqf8dX4EXhh9Swl++U+Ac Y6D5nEpXmLN2BFpEIQARAQABiQIlBBgBCAAPBQJSQKIoAhsMBQkJZgGAAAoJEPHF FrPINZdT4SAP/3vd5p7fMMcgfUSPCLuIM7yt1liobRDS1TICDcR/nPSH4ePUrpNr +yBhKnGF8ZIjGvxE5nQ7cX9VESMED/TBJ6l29oYXGwLU6UvuCKLwEgX4/f9+KX9F QrgYjs1i1f1kA7xAWJBGkLzeSLj1xAN3VvI4BKvrqIupZlqrhRiZG25ZzD6HJkxH boInpN33jDK+PBRbzpYNBVC9jjfMGiex7s+GtaO0FkHeWImThk6x+fwRxDBBxMp+ fKuZP7vmpiza4qixC6098Zi4fFF9XbIg0nX0xCIMjb+/lwPGn6nmkbuW3I+ven1N enFhdQOI6n3nNvxQWzspc1NGht+pTS07nyMiQPK7Y33hLjekYIToMdYbjcJnOGzu zLQHEpA9jlBor1iQ27KfmGB+xIKt9qaIX38JrSzmgbZoAgvCMIqn1XL4r5Z5Wvad 6ES8EW0zX9hgcPR0hLLZEFc+2Cxgn6Dq4Q9mM0Yom2+ojK7rEkP9+Ybi2ykUbq/C roJ/z3yo/MoPoVKzOc6UoLOGlpFuzCmGyxys+1uYnv0lPCx9Vx+lsxPSJfY/Kt6R hb5wC/0trXGwAlkXLiWYS5NNomV0fBgH06RtWWf5vu7mcUwmrVfgkGb2gjtO0og2 W8/4M7DOfuSApdKDbQeja7QilFBRIGSmMXQzAT3lg+eRKx9b1ArOArYN =urCX -----END PGP PUBLIC KEY BLOCK-----
<thompsa@FreeBSD.org>
pub 1024D/BC6B839B 2005-05-05 Key fingerprint = DE74 3F49 B97C A170 C8F1 8423 CAB6 9D57 BC6B 839B uid Andrew Thompson <thompsa@freebsd.org> uid Andrew Thompson <andy@fud.org.nz> sub 2048g/92E370FB 2005-05-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEJ5esIRBACGrMoYYIu2yCvXUOUgySagPjKetJ5zKOCFDa/Gl65tFtCcc3YR IjSDCvKuxcuS/qPo87pNP1sHPT0gVhMr+zcTrj8rgLWfC+CTzV3FPTdIA7LhVwer +evZ1jSHo/MY+GHTYBiDj/GiDkk8zBk6Sppo0OdzqZ0O8IW6tvh9n7RNZwCgrPYX rzBYHlAZxmZfQTDhgi8rPPcD/jH740waoG4l564X9hfkHDbxe2mrwKrcxfUbNi0h yIOTyl3glTULTno/xG6zxh4qG/COxIWhjC3Nkwllq+VzWqzYFoPIV4E/nvPNrLLY 5a4/19ANLLkrw2kiLxNKLPu+SwnAF6cLdnbpPrGZSGOg/DhquXulAs8foTxv0SVN F5dAA/9O9GFOk9IcZ6D77A7Unysoxoa3WwqNHikJTo+bHvENJJw6BM1e93keLXbo bljw02y2cBXMz+cwd0S3ysj2tEPvEWpUJCVbCk7bB565R1TBb8SJB08MQ7PuOzbh PCCc9nB2TditjUTuL1yTrOW4qki1fHMA8ySNuYBiw/iUOkHgbbQhQW5kcmV3IFRo b21wc29uIDxhbmR5QGZ1ZC5vcmcubno+iF4EExECAB4FAkJ5esICGwMGCwkIBwMC AxUCAwMWAgECHgECF4AACgkQyradV7xrg5vQjACfboFkm4m9zZmor2J1+T5IknZ2 z2EAnjX7sCxeTxGAUp0gv1+ijFir8Ju4tCVBbmRyZXcgVGhvbXBzb24gPHRob21w c2FAZnJlZWJzZC5vcmc+iF4EExECAB4FAkKUyikCGwMGCwkIBwMCAxUCAwMWAgEC HgECF4AACgkQyradV7xrg5tJswCdHh+UXADhzk4yJKgLuJlLYsSCK4YAn26SPktp Q2fQpBC3mGRRUYVRowhZuQINBEJ5eu8QCADgBVHTfrvthg1lDFvuZVlSgZueFEuq dBn0tyJULht4MyHAYzY1fBkKtRPxp/c+sGKzd/nXZ+zqQIJRYtrAviGAi9CyHTiI URcpMACCvofuRoMJ8djl35UzioL8O+icL2aoSq1w0MBzzkwTDcmaiceWVIC/RZka U0/irf31HSzAxGYO1wXtZuYp6BrEwcRezDZQUkO/riGKT9+UUppnTFVBbyelvVjt D9iyeRnL3GEOH0IvXbPRo400EwOHs4ieOZhNO4xyzj2qexMcbFq2nUis/qctukth lynv0mYVstLgS+GQiX8+VsbmK1QkTfKTY2ufTQDPJTcAa7Kneb+luDYzAAMFB/wP UyXix1pw1+qSJS6m6T7m6wmPj93/BoB+sadJvmjdaGcE5yKtCLdQYHZyI8Pvl3aA uktn+k/IxqSwLgJCSHv9CQ0AwN+kuIPHyy+hsJk1w5C8Qd4q8sYWecyt+aycYz7X Op9EB2rpKgg5E+RHFsuyx/X2dI4/n9XsF0xTDXmvBYHLw1E22rliiS9WlJ1C8UHn gjVZ8nqd4bI9HcwQMadtjXj0EcyarnJnrqLkJopzmLSJfOtnQvXyaTzwfS7fyQYs lnj+k/jJFULvgolWLmmfx149+3ou9c6c9KItAE8kfl7dSaEwOo4oE9cKluzhFHeC ezponq9OPdSpXUwBXjJgiEkEGBECAAkFAkJ5eu8CGwwACgkQyradV7xrg5szjQCf WQNYMndCd/TFxFqNF8k6Nu45/lIAn3oxSJ0Gc09OwQB4oiL6kHscyL/z =SFfV -----END PGP PUBLIC KEY BLOCK-----
<flz@FreeBSD.org>
pub 1024D/5147DCF4 2004-12-04 Key fingerprint = D203 AF5F F31A 63E2 BFD5 742B 3311 246D 5147 DCF4 uid Florent Thoumie (FreeBSD committer address) <flz@FreeBSD.org> uid Florent Thoumie (flz) <florent@thoumie.net> uid Florent Thoumie (flz) <flz@xbsd.org> uid [jpeg image of size 1796] sub 2048g/15D930B9 2004-12-04
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEGyCSARBACWd64iJ+56C42einT4AIwy9qon61Lx+LO4BOMgeaQTGy9/fKq0 XqQmPddhp9awRtm0+QoeZQ00q2qyY6ufmSZJCr9iQg2a1b/fG/UKZSIKBguDuCCk O6acsAd3H0fmZRu8jAD+pMsJb9gO5T6YLIHK9p8uVPG0lRKzulTXm5zsEwCgkoi9 h+S/dIPXfX94thtJgVcUeLEEAJK9ZO2KFfGx+YRKDpbj7ocGgjqMlhkDFw13Lycq jopPipNwpey4ZKjJa2w2fmIbcqpUZW3EH1Ld8KBOt1bhGlI92uqvrssalNH82PGL cbiuvYMHXOfE05tOWD2JgxJE5tY0KtED4SDaF77RAcy4z9nFt4og4YknB/seOQZ/ 5oSKA/980pHAvnm3TFK7jQN+AIckWxOS3mXxvwHmvM/MzQEVUrFAPp0C/aCh4JJF 7Tvy54cRKEUJQpXuTeyBT0pMU0ataaESMfk4hM/WDhvlV0AXebah44uJfBAcHwJt f/d3c+1I5eRkWuN+ey+6FfBCooW4KvqVCnrWC/Kk16VqAyn9UrQrRmxvcmVudCBU aG91bWllIChmbHopIDxmbG9yZW50QHRob3VtaWUubmV0PoheBBMRAgAeBQJBsgpP AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEDMRJG1RR9z0Y7sAmwT9GkO3Wcrl y9KcPtsQV4x6dvJhAJ0cGtclPmdOM34jMC7U5NQol2bV/rQkRmxvcmVudCBUaG91 bWllIChmbHopIDxmbHpAeGJzZC5vcmc+iF4EExECAB4FAkGyCSACGwMGCwkIBwMC AxUCAwMWAgECHgECF4AACgkQMxEkbVFH3PQ5igCgiRkJPRjrvitfZOrvLhx+oScK 3moAnifC/FHLFLr7hG/NlgLbF2yjN7Fv0cZXxlUBEAABAQAAAAAAAAAAAAAAAP/Y /+AAEEpGSUYAAQEAAAEAAQAA//4AbwoKQ1JFQVRPUjogWFYgVmVyc2lvbiAzLjEw YSBSZXY6IDEyLzI5Lzk0IChqcC1leHRlbnNpb24gNS4zLjMgKyBQTkcgcGF0Y2gg MS4yZCkgIFF1YWxpdHkgPSA3NSwgU21vb3RoaW5nID0gMAr/2wBDAAgGBgcGBQgH BwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5 PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABgAGADASIAAhEBAxEB /8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcY GRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqD hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAEC AwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMi MoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaan qKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6 /9oADAMBAAIRAxEAPwD3Fic02nkAmmleagsSiikJ496AAnsOtN3Y7ivNfHnxL/sb dY6KFmuwcPcHlIiDggf3m/T8a8b1DxL4h1KYtdaheyZ6BpTgfQDgflTsGp9W5z1o zivlTT/E/iDS5EaDVL2IKwOwTttOD3XofxFe1+BviNB4hCWGokR6l/CyKQswx/46 evH5Z6UWA9CDetOqPqKkpANY9qRetOIzTQMGgCbuaKO5ooARq4z4ja3Jpegra28p juL4mIMOyfx49DggZ7ZJ7V2bV538Qrb7brWgwAH70mT+KZ/lQJnPaV4Ksrq1iuNR V5ZnAJTdgKOw4rbTwdoaqQunoAePvsf61qoViVRwAOBVtCPUUyTl5/BHh90I+wfj 5jf41y+reC4tMzf6W7L5RD7CfTuD7V6XK2AefyrKv4i9tIigncCOKAub3gvWJtb8 MwXV04e4BaN3wBuIJwSBxnBXPvXSVwHwwR49Kv42PCXRGMYwdozXfg0ikFJjnNLQ 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 YhEx5U7AKdGZ55po =hxwJ -----END PGP PUBLIC KEY BLOCK-----
<jilles@FreeBSD.org>
pub 4096R/D5AE6220 2011-07-02 Key fingerprint = 4AF5 F1CC BDD7 700B F005 79A4 A2C4 C4D4 D5AE 6220 uid Jilles Tjoelker <jilles@stack.nl> uid Jilles Tjoelker <tjoelker@zonnet.nl> uid Jilles Tjoelker (FreeBSD) <jilles@FreeBSD.org> sub 4096R/14CB5775 2011-07-02
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =sGf8 -----END PGP PUBLIC KEY BLOCK-----
<ganbold@FreeBSD.org>
pub 4096R/8617408EEAAC693A 2013-10-05 [expires: 2018-10-04] Key fingerprint = EB31 9B1E D3EA 4D95 A96E 7103 8617 408E EAAC 693A uid Ganbold Tsagaankhuu <ganbold@freebsd.org> uid Ganbold Tsagaankhuu <ganbold@gmail.com> sub 4096R/A7E14611600EF443 2013-10-05 [expires: 2018-10-04]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 PzaHPRmkcOKmm/VxDhEV =ibfV -----END PGP PUBLIC KEY BLOCK-----
<tuexen@FreeBSD.org>
pub 1024D/04EEDABE 2009-06-08 Key fingerprint = 493A CCB8 60E6 5510 A01D 360E 8497 B854 04EE DABE uid Michael Tuexen <tuexen@FreeBSD.org> sub 2048g/F653AA03 2009-06-08
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEos/K0RBACA1Ck3ZLIpeSiYRNYG8RXCxbvHFOsI56DCwbRm6VXwjbbH32wv FZTxIR+A6LQQLCLDEvfklgI06Ksi4uWfAoLRB/CoiX7crEZGvYDc4kYSVjumjORh OzDtUiechd17/gyo4j+u1PDtw/5XXpSaTIRJO3g/UobVpUPjl4dMz4Ks/wCg25PC MPQI2rqriwffFak4PZdJ/JED/RSqsLqjsBOpk0hrY22VQrDhCHrWsVopq5hcqElw W1iuLMBhGK/Lursari5M8pSmjJVeWMEQwDqfF64MctbbfmOfMaRRggX2meVdMq3c o7bAWWEfstFB5WlUkCg6TIQjLV/4QbATfX2YkIcwuxiwC+CMq2trAJ/X8A6VdaOY tkHaA/4iyk4gCbvCxB1bhDp2HiDZfAWm5OlkHefzWeMIY7O4k5+vpaS69ui1xgYO WhXKB6RpDXcJzvZdBQqrXqFXdfBgOwhbUj1uOgkBCMpC7EXT07sxzvrnaW/RR51f KTeplrRMX0tXMij7nFh/WzJFSfFK+0W6+yaRVzXa42ds+VARd7QjTWljaGFlbCBU dWV4ZW4gPHR1ZXhlbkBGcmVlQlNELm9yZz6IYAQTEQIAIAUCSiz8rQIbAwYLCQgH AwIEFQIIAwQWAgMBAh4BAheAAAoJEISXuFQE7tq+FHAAn36ou5m91emjHT6ziIWw 80iHtiyiAJ9RL3W/bShdgmG0U3UKDnPrSwebdLkCDQRKLPytEAgApnToBctsJKyI YBJp2wusPzd+8H1Ab0VCcL4pcKWzCIy7dTJSknLpJV7c6ts82+pZBKUMp1XHfnsT Q8YwoaIUOQjkBqqlkrxqkexidwj3VVZfUvHfXvU8Hw4JM862MtYa6ZHRoz+ZSVQi x8idPMFhs+zD9Pb0ct6YsINeKiEGTGnanm3XJIIeNg1bOlrTjDiWB6KnlMmmeZ/R o4vGdnO7wsP03VtJBUnPNaQ8luAs4SHBTmC+tXNhBYwn7Kh5PGR1TVH2ROpPOYTS StOktseR6iMJ//6mJEBOt3cypOx2d7hbXfy/LOijg5Ku4FkUUmJrM4yDMgN/2bPw RGw8KgOvFwAFEQgAlw5VA4FwTgo/2+pDtQxtp96WuvQxw1IL1fPPNwGO7b2TVlj5 KTqvsqx5MP9jLCTPi93KKAFzwFfzXxOD+Isd6AxeuotlxLOUXeCdcpeyYHepURYT 7bjYg0DaaoqZopm0L+8c+hvOLfPaJLWVbUCEy219SeCA3xtGvRtFY1JXIFk9sbgZ y23S592sG/5CAantKyI+SHzZim2mj4iRiI9HlGDLpGn6QAyz5HX6a+TXdHijg/xK 3T0xfBLn/xh5tSlBdzKR7cXSmzbtP9HL5rewVgVAqqg/Mzc93nD+gY67bMwAeyHq u2OCE6YkLNJz9kSqsSygcMDI8vKoPU8cqDvyyohJBBgRAgAJBQJKLPytAhsMAAoJ EISXuFQE7tq+/EgAoLrfM3GP7IAcTezTbs+BjUQcoWHhAJ9sJmO1S8JcXD8f9G2J AOE2UIkbvg== =adk0 -----END PGP PUBLIC KEY BLOCK-----
<andrew@FreeBSD.org>
pub 2048R/31B31614 2010-07-01 Key fingerprint = 08AC 2C57 F14F FDD1 2232 B5CD AA16 EFB8 31B3 1614 uid Andrew Turner <andrew@freebsd.org> uid Andrew Turner <andrew@fubar.geek.nz> sub 2048R/9ACBF138 2010-07-01
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 BuY= =WLSs -----END PGP PUBLIC KEY BLOCK-----
<ume@FreeBSD.org>
pub 1024D/BF9071FE 2005-03-17 Key fingerprint = 1F00 0B9E 2164 70FC 6DC5 BF5F 04E9 F086 BF90 71FE uid Hajimu UMEMOTO <ume@mahoroba.org> uid Hajimu UMEMOTO <ume@FreeBSD.org> uid Hajimu UMEMOTO <ume@jp.FreeBSD.org> sub 2048g/748DB3B0 2005-03-17
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEI5K/4RBAD0LiHx/Tl4UyaX8yFUGjX1+PvATTJloNZGXl+jagSUQxCOp6Hv emDinSPskld/viupoAxjRImlkP905Y0Q6iDMne4s5fM/75lpeG9ztKRSgDQrQLTL HhXPXKNMtDV91yDqFEkwptS+0MaTMY0KrlR29RtGnpjoa347TU2BzU6TcwCgw+SL YdOWeSGs/7LKdUIyYlrldjkEAMqIQwnDl14vZBe9EOCrjSA4gHv6g2IQP1TRCpBu +/Fpi2+xcj117xO++uqMMzoi3aWwsqarao0/VSJ7ZD81by1H56Hnsp1d0r67neJy PKsyh2JfSQww9cxVkQjuZAjZNN1SLzDeA6xtSZrcmim+f0GIxlz3JFS9za/scs8x mGqzBADRF2My4V5HEMeScREj2hoquRv/uG727Nw+jftwiE+7TB7+JUwwyakAStNv x4+YEFAVSpKxyWgOeMqOWYd9bOSwJk40t9y1Gk6TTgV2C6sYwGHMSNOWYZbhYX7c 84cxm2PtQFIq7g4Q30IkfAhYFzEwKmPJ8eV1zO0uNIhE+SO9QbQgSGFqaW11IFVN RU1PVE8gPHVtZUBGcmVlQlNELm9yZz6IXgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYC AQIeAQIXgAUCQjxiFQAKCRAE6fCGv5Bx/qe3AJ99w7Ipfxs4CF3/+eCf53HO3FuI +wCdF/xyvVjjNdAYXCMxCHtUF85bD++0IUhhamltdSBVTUVNT1RPIDx1bWVAbWFo b3JvYmEub3JnPohhBBMRAgAhAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJCPGIY AhkBAAoJEATp8Ia/kHH+3c4An3RGo6JduyjPTZFh0eCBezNgzxdnAJsGRRE6ERs8 nyORm56bvSgRTw9VKLQjSGFqaW11IFVNRU1PVE8gPHVtZUBqcC5GcmVlQlNELm9y Zz6IXgQTEQIAHgUCQjxgkwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAE6fCG v5Bx/iTtAKC+8mS7jAYMz3QsCe4dJeIPaJcFGQCcDQITgNpJcUmBZ5u21Jotvp1X T/y5Ag0EQjksbhAIAP1+LeYSauTBi/ST3343W0lkqYr6HgZMNS7RtoCGFWcjfiYU 99ybRgr0XwH5yJrn6JASp27f/ve5cwt/7ERLZ7flcfFi53AekeuRjFDkThLx2N4I s29ZQZsYubdOKHapnMflnFE3PQfkB7Og1MoFxkp0kOAEP/rOyuLMc9CbUaWczxWo FS8bmZDJ5ZNzAQ2vQFu5ExxomOENApy3ZCm/Z6MU5YJ2trsP3dkYStyG+1pT4NsU R4+TIbQfFzwZjowiC5w8rM4FIV4FMQ+3YvIEVkT+M/93hLGakh5tQENsitj7JsrC VA2mkomV4Hnjj94YCxUiPu59kHgiKGgXbdnceX8AAwUIALF64I+guwCaHbjoRPVg HWRuU2NzuKN93xii+xyIpImf+S30aTbFy0D6ZTQRSCs34oVNMSkUzySVcVn9DTG5 +KVCHCOnGMH/Iv3dRWlHZ3HX6Gvr/cRyhDfWYDEec7KCDGT7Q87UbmTZ9cmOh+/h M4ND0NoYU6/EaaOqyRH4D8/LAeg0YsEpilClYWhlXT7VS7noOBf1JuB9Q0nOGycR DstkHWJf5om82lH5FzAuh9kEAduv8JdBdsMh3Zh4N80tCV7OyBQFWHV0UgjARSLY msEuelzzaFcfR2vIrmpYIElr6JzHGBiux0XK3Qk98kexGRdbrDFpaxbrsjs1/8m9 MVOISQQYEQIACQUCQjksbgIbDAAKCRAE6fCGv5Bx/mRWAKCAQQ67iDvQq08n+bHa QkK3EDOmqACfZmJe9AepCkPAUkvp0ketnOPBXAE= =QZ8N -----END PGP PUBLIC KEY BLOCK-----
<gonzo@FreeBSD.org>
pub 2048R/E84FC1018C87C180 2014-01-08 [expires: 2017-01-07] Key fingerprint = 4FE9 153B 126D A491 294D 012F E84F C101 8C87 C180 uid Oleksandr Tymoshenko (FreeBSD) <gonzo@freebsd.org> sub 2048R/D6BE683DAEC52F52 2014-01-08 [expires: 2017-01-07]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFLN2YQBCACpU+ZFcvIGY8zMZt/ZQoBDTEgkWToftgEyIrX5NY3i5j2SL6H9 ZuzTIRnwCLuveLBAd5KxB2PuE6vZ06+CFQr5+PiHIDVPYHtD4mAMQoH4QP7uZHko DFJti1svX/tGYlsOPzpdnUnOH4hzTzuNhnE3Ic2v+4ttpJ8MUNyXmA1pc2+uLS0K HF+7YJjj07Hq+as1obSAariqH64DsMrhwdJU23um4+ABmBevCBMXPQETAImuiXfT 7cc3bT6d/11GnraEOFpzYiLW2L24zuXyd61QDmPrTevrP1Hau555xek/JYahyOFX YqY/woXAV5O4jDEzDVaOTPWE6zA5opxdv/lDABEBAAG0Mk9sZWtzYW5kciBUeW1v c2hlbmtvIChGcmVlQlNEKSA8Z29uem9AZnJlZWJzZC5vcmc+iQE9BBMBCgAnBQJS zdmEAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJEOhPwQGMh8GA 4tIH/0Y645lxafLMDv1HuJ/O+LAtHZnasECq3zlR2mkh3CLJ8hrH8gix5iazgvfa JPcbuQBhJJJ+EQimC2xwkRj9gENA/ekY3je1xMF0PtFZi1Jz++VJlOXCMZwrmd5b 44ZBV3aJ1P4bIBmsbPKHZOjcEJ/L55g42JHjnm4LfiJZTwb8QM858XrIVV5K20rJ CvvCNfjZx598MDq6kY8vQiV+SLEAIY8zsxRBEfqSe6YoL9rdjOrcYrSve9sS9Gqf mU69Wu0XOe+wPt+9nY83wRDCqCs5RhEl3AYVTCXRXBCYxOA6iZx1RggLziDMTAAr qpyrIcGLNoLt+4Wmcrfp3nUgPqq5AQ0EUs3ZhAEIAO6l0wbjrVSH88aSpzyuwBB5 Jz1Vd+4XBBbYSjQ7q38c4CZtVQVz4Ln4oIHraOGDaLOfoYRqMwIDiPb3COXP0phC 0Zwz81hIv4wF6hhXj/QMsOGppOA+7xa5tP4AkmPleDcDn+0z8Dj2WCUvVpsPogCu gfvDzXPCwXNmbPNg9D0okpJBQfk1NbEO5htWe5/NjIY7i2inaYQ5h2/YJ2mIH3Vr W2Mg1f8EX/I5PaP24FHd6d9Gl/ovEql8hUhfIJ/tq8xodeB7iU7riu87eY766FoX aKgHPbrb8T0of8nflLfP7attnIhjya5LVG7qOFkK/mVuCiltO3bK0h7MX2x7jcUA EQEAAYkBJQQYAQoADwUCUs3ZhAIbDAUJBaOagAAKCRDoT8EBjIfBgA65B/4s+vPM l6BxTha0upyNvsztNtdDERu5toYVrEeTiClnAjgD1R8tb3W9r9v+zS7LA6K0bhiN gFm3W5AfuqlBfA6wkVbqOPnob3NEvoS1APJLi/bmbqTmvmnJ7nbUahmXqG9PERw9 CHIAoL8dqTPDMRSRGmDT1d2sqsMjDcCx8idQpYddbLIuixDRgsENR4bNdRiKL9SR sPyDin7FJsH78/eXWyny2itdwrw07xnokb5kERTxZVyI9Croo6aoAhYTVBXuUIM8 tbbnSdpGmhkX1ETNMs75oEBS/tyO2Dul+RI83O9opbthhlwxZDfjrvwSDgIv635m P1tjd3MgJ8FVHkKt =0pYp -----END PGP PUBLIC KEY BLOCK-----
<ups@FreeBSD.org>
pub 2048R/D684B04A 2004-10-06 Stephan Uphoff <ups@freebsd.org> Key fingerprint = B5D2 04AE CA8F 7055 7474 3C85 F908 7F55 D684 B04A uid Stephan Uphoff <ups@tree.com> sub 2048R/A15F921B 2004-10-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =93PR -----END PGP PUBLIC KEY BLOCK-----
<vangyzen@FreeBSD.org>
pub rsa2048/AFC12A13EC20DAB8 2015-01-28 [expires: 2018-01-27] Key fingerprint = 3E70 4F4A 0D13 41E8 BCE4 D73D AFC1 2A13 EC20 DAB8 uid Eric van Gyzen <vangyzen@FreeBSD.org> uid Eric van Gyzen <eric@vangyzen.net> sub rsa2048/AEDFC8E4E2244266 2015-01-28 [expires: 2018-01-27]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ob6Utc0PmSTUY427+T7PxPNCjvx0 =I0Ly -----END PGP PUBLIC KEY BLOCK-----
<bryanv@FreeBSD.org>
pub 4096R/E97DB7DB 2012-11-05 Key fingerprint = 0F8F 11EF F4D2 EDCA ECEA CB16 744C BF25 E97D B7DB uid Bryan Venteicher (DITC) <bryanv@daemoninthecloset.org> uid Bryan Venteicher (FreeBSD) <bryanv@freebsd.org> sub 4096R/2EBC1A46 2012-11-05
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 hvaQWSxKvtCA3RdI3vmKyQc= =6YAA -----END PGP PUBLIC KEY BLOCK-----
<nectar@FreeBSD.org>
pub 2048R/33C1627B 2001-07-05 Jacques A. Vidrine <nectar@celabo.org> Key fingerprint = CB CE 7D A0 6E 01 DC 61 E5 91 0A BE 79 17 D3 82 uid Jacques A. Vidrine <jvidrine@verio.net> uid Jacques A. Vidrine <n@nectar.com> uid Jacques A. Vidrine <jacques@vidrine.cc> uid Jacques A. Vidrine <nectar@FreeBSD.org> uid Jacques A. Vidrine <n@nectar.cc> pub 1024D/1606DB95 2001-07-05 Jacques A. Vidrine <nectar@celabo.org> Key fingerprint = 46BC EA5B F70A CC81 5332 0832 8C32 8CFF 1606 DB95 uid Jacques A. Vidrine <jvidrine@verio.net> uid Jacques A. Vidrine <n@nectar.com> uid Jacques A. Vidrine <jacques@vidrine.cc> uid Jacques A. Vidrine <nectar@FreeBSD.org> uid Jacques A. Vidrine <n@nectar.cc> sub 2048g/57EDEA6F 2001-07-05
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.1 (FreeBSD) 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 =lY5L -----END PGP PUBLIC KEY BLOCK-----
<avilla@FreeBSD.org>
pub 1024R/44350A8B 2010-01-24 Key fingerprint = F740 CE4E EDDD DA9B 4A1B 1445 DF18 82EA 4435 0A8B uid Alberto Villa <avilla@FreeBSD.org> sub 1024R/F7C8254C 2010-01-24
-----BEGIN PGP PUBLIC KEY BLOCK----- mI0ES1vM6gEEAMBJJFEzIesoeff/XaJ5baSLJwdZ87H26x51KPodOiCK4pvhSOvA 1Cl+/moYBVOqhqzfNw2pX+EPWJpwRHToqZMba0rxALNhRaQgQAVk29V3bqsQhwBS yfwQirouhXGNaUGbdYh4ay0ZoyY0FUtKsj4GxhpWdHlKrjsHAliHM6U3ABEBAAG0 IkFsYmVydG8gVmlsbGEgPGF2aWxsYUBGcmVlQlNELm9yZz6IuAQTAQIAIgUCS1vM 6gIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ3xiC6kQ1CoucYwP+N72o Hafp9Oj0004/rsgDKSLSfru89cusN7G7FyBYICjFQXJfwRAr3Mqo+4JwMVHPbQ6z ReRiMKN362M3e2cA5GMhtYqDTq7FSJzsWBUyfMhJmKOcP5rtQlm7sIt+XFGvOxRx 6HXoduhiDmqmDUrxVxBYQTU5qGqkOXsIA/lITJ+4jQRLW8zqAQQA2HR/E+7JRr4r 6WkpHb5WVe8w6ipuOpVRh9KjLOeDtxlCCuZ61asE6dVTYxhLrxhmzXcz7WQLJb++ 89DaQj5bSAFy3BfujeO+HUik9qB9Dv+t6eNh8SlPByxObyNx+NNNP6k5xiyx0cMC AMfUJbbZ91SN4gh+21yf2VqlS5uAlWUAEQEAAYifBBgBAgAJBQJLW8zqAhsMAAoJ EN8YgupENQqLLXUD/3qVTKnHAvQqu7EcdV4SEMbXtxHauN6tushMAbTiSI1tCz+3 2nThTiXvLp4mQfwdH8uTQL+n3Yf3xZATAXe6Y/7Q+TvUp/Em3/5QOzdTEHirQDDe Cpks3VK9i/ud2nOl/TD1sy/5ad2aBKE2sAYgtILxAsdnxh4Cn4oBYc8Obg0N =UkFd -----END PGP PUBLIC KEY BLOCK-----
<nivit@FreeBSD.org>
pub 1024D/F11699E5 2006-12-05 Key fingerprint = 2C17 C591 2C6D 82BD F3DB F1BF 8FC9 6763 F116 99E5 uid Nicola Vitale (Public key for nivit@FreeBSD.org) <nivit@FreeBSD.org> sub 2048g/4C90805D 2006-12-05
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEV1n44RBADfkt4OUwHA7c8DbobkvhyXCRHC6w0NDQER6Q/uAE68nvEgPcdO dAvGXUpNNWFXbKEnIc7ANCm0V7F2VDfwANAzePY1wBfVM8UQBLuSV2WIAfs1beLl MZzO7sth2oeMuF7l7WwM31qwgRLTOOzXs7zG+m2uh1c1nMTKG9wgQ4rz8wCgmT5i oJ25GpzaM0kgX3HQWP/MkFMEAK5GUSesXqHc37fEnO4WVvdB5afc4RTDJzvniXBm nXkHin6uAWw4HSJOEOLPv8MtRZuIxOfznukjBpHnz19R0fEvWdRKzmDoc3Yn0BW+ FdszOxY9Nt+LtY3/ZdcbgAtWu662/t3SvgWULgCQ7bvi0Nu75Zn3nui4j2uU5fNf 6v4KA/9x8FXQ18BPO7EuYe5ewQwVaGWKvzrMmz8NsiZuRs4oxWXL1x0nSCumetKA 03UHxGAQli+vuMNDcDXg5zpaGN7hIqS1N1fR7XEouvkgTDTUPsjjQUdmQ98lnEBf URB5D+qDq8nq7H9R/4rOmxKdiA8xmBzadnolJ69Iz9nyJ4mvb7RETmljb2xhIFZp dGFsZSAoUHVibGljIGtleSBmb3Igbml2aXRARnJlZUJTRC5vcmcpIDxuaXZpdEBG cmVlQlNELm9yZz6IXwQTEQIAIAUCRXWfjgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B AheAAAoJEI/JZ2PxFpnlNbMAoJWh5Yg1lOayXo3b8seKn09ers2UAJQLxlE9lS9G qzU9FITOFNllI+duuQINBEV1n5MQCADqyPgr+kjhfCz/2N8y3FmWr4CSE0b1S7rH i7fy27u0QcNK3vN/l0Vbj6dsacfP9DC3+aGw3W8uY8LK8q72AIAwLh1aoYtJfzMs v1kqY4shMAANF55VgcAb7lyHpSymFraVZCai0nzNyccjJtSNQgC9s1BkXeUrRTS2 su078DDYVgbXs1S14PkZOyrZ+0R4y4M6QKvD8Th46K+mZMaXdcn+wlIvOISFQppP 1htkyCnHexg5L6PE/VsdobiCyZ2zNKd+d6GUillVuO2Qpkq1dlLTPtRgFMnpjhRi L0+a84b8rs6TE9g/ZLKNOmfmbGTTk3u4vQ7u6Mky6GCGO8W8WHW7AAMFCAC9NGWK RU0l0hfHY3kjLll9Ygcnt42nAj4ipmnzMp0jAPV2AgShnzDJLZ1KHmJcUfby4I6c HDKrI5lt6B8OD1hAWbHaAJ1Js1vfiwGDqisra5ZvkfJQMY1CDv1orXeM/ZnWzLSp +PqVXA30ei/NtngXFYlw+BJHnbB18eKw25jT6n72Ls0T9xZscwgseAmSKZsrb6M+ N0tjZkkueWRbvrFum1i8Hf+VYhCgRkQFcTtEEo/Ulb6GRDXaFLPZzklfQMvjgWel yfWpv5Qg6knJFGbQyZrJ/jNBAi7aM8XAuNhhjC1oHVyNlIRM1V+1MybvoheREjMY qcdWjs5YCrg43SWAiEkEGBECAAkFAkV1n5MCGwwACgkQj8lnY/EWmeXXJQCfW3pc YuXRQYv5d2NC5AfgnvxmjnEAmgPFcYvU/gGprH9Hz/bvXp3KrT7M =NcNR -----END PGP PUBLIC KEY BLOCK-----
<ivoras@FreeBSD.org>
pub 1024D/FD08D5063DFF1D2C 2012-04-22 Key fingerprint = 6141 82D7 8304 0002 EEB3 48E5 FD08 D506 3DFF 1D2C uid Ivan Voras <ivoras@fer.hr> uid Ivan Voras <ivoras@freebsd.org> uid Ivan Voras <ivoras@pirati.hr> uid Ivan Voras <ivoras@gmail.com> uid [jpeg image of size 3697] sub 4096g/88C9ED7026B75D25 2012-04-22
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.22 (FreeBSD) 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 8pIDAAoAAAABAAAC+pIEAAoAAAABAAADApIFAAUAAAABAAADCpIHAAMAAAABAAMA AJIIAAMAAAABAAAAAJIJAAMAAAABABAAAJIKAAUAAAABAAADEpJ8AAcAAAMiAAAD GqAAAAcAAAAEMDEwMKABAAMAAAABAAEAAKACAAQAAAABAAAMwKADAAQAAAABAAAI gKAFAAQAAAABAAAGPKIOAAUAAAABAAAGXKIPAAUAAAABAAAGZKIQAAMAAAABAAMA AKIXAAMAAAABAAIAAKMAAAcAAAABAwAAAKMBAAcAAAABAQAAAKQBAAMAAAABAAAA AKQCAAMAAAABAAAAAKQDAAMAAAABAAAAAKQGAAMAAAABAAAAAKQMAAMAAAABAAAA AOodAAkAAAABAAAAAAAAAAAAAAAKAAAH0AAAAfQAAABkMjAxMjowNDoxNCAxMDox NjowMQAyMDEyOjA0OjE0IDEwOjE2OjAxAAAAABQAAAAKAAADAAAAAGQAAAHMAAAA ZAAAAOUAAABkAAAAAAAAAGQAAAEsAAAAZAAADUgAAABkRlVKSUZJTE0MAAAAMAAA AAcABAAAADAxMzAQAAIAMAAAAFICAAAAEAIACAAAAIICAAABEAMAAQAAAACAAAAC EAMAAQAAAAAAAAADEAMAAQAAAACAAAAEEAMAAQAAAAAAAAAKEAkAAgAAAIoCAAAL EAMAAQAAAAABAAAOEAMAAQAAAAAAAAAQEAMAAQAAAAIAAAAREAoAAQAAAJICAAAg EAMAAQAAAAAAAAAhEAMAAQAAAAAAAAAiEAMAAQAAAAEAAAAjEAMAAgAAAGAGQAQm EAMAAQAAADAAAAAoEAMAAQAAAAAAAAAwEAMAAQAAAAAAAAAxEAMAAQAAAAAAAAAy EAMAAQAAAAEAAAAzEAMAAQAAAAEAAAA0EAMAAQAAAAACAABCEAMAAQAAAKQAAABD EAMAAQAAAB0AAAAAEQMAAQAAAAAAAAABEQMAAQAAAAAAAAAAEgMAAQAAAAAAAAAA EwMAAQAAAAEAAAABEwMAAQAAAAAAAAACEwMAAQAAAAAAAAADEwMAAQAAAAAAAAAE EwMAAQAAAAAAAAAFEwMAAQAAAAAAAAAAFAMAAQAAAAEAAAABFAMAAQAAACABAAAC FAMAAQAAAAEAAAADFAMAAQAAAGQAAAAIFAcABAAAADAyMDAJFAcABAAAADAxMDAK FAMAAQAAAAAAAAAMFAcABAAAADAxMDAiFAMAAwAAAJoCAAAkFAMAAQAAACARAAAw FAcAgQAAAKACAAAxFAQAAQAAAAAAAAAAQQMAAQAAAAAAAAAAQgMAAQAAAAAAAAAA AAAARkMgIEE4MzczNTA0ICAgICA1OTJEMzYzMjMzMzIxMTAzMjVFOTczMjAxMTJC NTQATk9STUFMIAAAAAAAAAAAAAAAAABkAAAAAgABAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAACAAEAAgAAAARSOTgAAAIABwAAAAQwMTAwAAAA AAAAAAAT1QAAAAEAABPVAAAAAVByaW50SU0AMDI1MAAAAgACAAEAAAABAQAAAAAA BQESAAMAAAABAAEAAAEaAAUAAAABAAAGygEbAAUAAAABAAAG0gEoAAMAAAABAAIA AAITAAMAAAABAAIAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAHBQYGBgUHBgYG CAgHCQsSDAsKCgsXEBENEhsXHBwaFxoZHSEqJB0fKCAZGiUyJSgsLS8wLx0jNDg0 LjcqLi8u/9sAQwEICAgLCgsWDAwWLh4aHi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u/8AAEQgAQwBkAwEiAAIRAQMRAf/E AB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQE AAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBka JSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SF hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY 2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgME BQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKB 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 OcV2+EVyUXQ= =8HRd -----END PGP PUBLIC KEY BLOCK-----
<stefan@FreeBSD.org>
pub 3072R/12B9E0B3 2003-03-06 Key fingerprint = 85D8 6A49 22C7 6CD9 B011 5D6A 5691 111B 12B9 E0B3 uid Stefan Walter <stefan@freebsd.org> uid Stefan Walter <sw@gegenunendlich.de> sub 3072R/6D35457A 2003-03-06
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Sjk9E6QR =iXXA -----END PGP PUBLIC KEY BLOCK-----
<kaiw@FreeBSD.org>
pub 1024D/AEB910EB 2006-09-27 Key fingerprint = 3534 10A3 F143 B760 EF3E BEDF 8509 6A06 AEB9 10EB uid Kai Wang <kaiw@FreeBSD.org> uid Kai Wang <kaiw@student.chalmers.se> uid Kai Wang <kaiwang27@gmail.com> uid Kai Wang <kaiw27@gmail.com> sub 2048g/1D5AA4DD 2006-09-27
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 Hps0V71KXA== =v7/U -----END PGP PUBLIC KEY BLOCK-----
<adamw@FreeBSD.org>
pub 2048R/1CCD0A5830E59D2B 2014-02-03 [expires: 2017-02-02] Key fingerprint = F95F 60DB 115C EA59 2FED E1FB 1CCD 0A58 30E5 9D2B uid Adam Weinberger <adamw@FreeBSD.org> uid Adam Weinberger <adamw@adamw.org> sub 2048R/92C1C8A42BDE2CCE 2014-02-03 [expires: 2017-02-02]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 sBubp36SuO2WuMa1ke1Ygw== =QzLu -----END PGP PUBLIC KEY BLOCK-----
<peter@FreeBSD.org>
pub 1024D/1512AE527277717F 2003-12-14 Key fingerprint = 622B 2282 E92B 3BAB 57D1 A417 1512 AE52 7277 717F uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.ORG> sub 1024g/2C5F53778B40D9D1 2003-12-14 pub 2048R/35D69709EC809E04 2014-05-08 [expires: 2024-05-05] Key fingerprint = 060A C0D1 5AFF BDF3 55B8 FA14 35D6 9709 EC80 9E04 uid Peter Wemm <peter@wemm.org> uid Peter Wemm <peter@FreeBSD.org> sub 2048R/B5D591B339B03C75 2014-05-08 [expires: 2024-05-05]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =TYGW -----END PGP PUBLIC KEY BLOCK-----
<nwhitehorn@FreeBSD.org>
pub 1024D/FC118258 2008-07-03 Key fingerprint = A399 BEA0 8D2B 63B3 47B5 056D 8513 5B96 FC11 8258 uid Nathan Whitehorn <nwhitehorn@freebsd.org> uid Nathan Whitehorn <nwhitehorn@icecube.wisc.edu> uid Nathan Whitehorn <nwhitehorn@physics.wisc.edu> uid Nathan Whitehorn <whitehorn@wisc.edu> sub 2048g/EDB55363 2008-07-03
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBEhs+ZMRBACu6CWtdlJ/GkGO4O6epy4SKwxV2s64od5j3ZG/+CkdXfHVnvDf NAdvytDwRPjFdQtwDmLTcotdm9akMpmoI+nuTDOC/wyoojh3NlTp/YmzSLntBoaQ W2uwp8oAW4dszTMptgb3Dpce17cHQcCuQ8Ql9tnZlFOvm4XCP00y7pmGrwCg65cu 0wxbDYVp2fpPIG0D67q03j8D/01g68qU+JQqCZtCTDSJ7tG4w5zlOH6Hu7Q9wRhb XBDKX6fiO9CiRDorgi54DoKqjQoHWnFXrKBcAughLEjle5BSZ+Z+eu/tfMwDEfhL FMMPuvT9BVG/nukn4ufmk8BqPbw5PGalYGbdJvvjbyWhVIu/dexqGe9mT3DD7gk0 WZArA/95nvE5+LRH31Jugq1GJ7cqjJyd/IPQC96z7JXdme7oPQ8IYDsLjsT982MO 8WvwNbQPnRrj3Sgjp7EcuaFt/J66P7KvpU1lQKJDfZgk1LTL0Nm8wzLj2tXSwZWg tSOZewMItr2yKwBlpGDsS5K7CCpbocsndrI5DOPEzuYr7y+56rQuTmF0aGFuIFdo aXRlaG9ybiA8bndoaXRlaG9ybkBpY2VjdWJlLndpc2MuZWR1PohgBBMRAgAgBQJI bPmTAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQhRNblvwRglgkxwCgmC82 iM6zfYaJwcFsqETyxS+9Vv4AoJCemsKBmBQiN7o5K84/DuaCZTWutC5OYXRoYW4g V2hpdGVob3JuIDxud2hpdGVob3JuQHBoeXNpY3Mud2lzYy5lZHU+iGAEExECACAF Akhs+tgCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCFE1uW/BGCWCFSAJwL f5HwF8PEUIEo/25Dwr72JCW6DwCeIm2wQjiyXl+wy1QIP5eX5Emy+Pa0JU5hdGhh biBXaGl0ZWhvcm4gPHdoaXRlaG9ybkB3aXNjLmVkdT6IYAQTEQIAIAUCSGz66wIb AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIUTW5b8EYJY+GsAoINx6fjsHpdy JT0UWgiIr48kEhtcAKDetW0OzAVCF8HmXMHWR/zyjVqHSLQpTmF0aGFuIFdoaXRl aG9ybiA8bndoaXRlaG9ybkBmcmVlYnNkLm9yZz6IYAQTEQIAIAUCSGz7AQIbAwYL CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEIUTW5b8EYJYgiQAoM04WRCQ0LI5L78O d4VFwQSiUiDtAJ43eEJzvlPmvR2geTEaB6lJGNrBMrkCDQRIbPmTEAgAypfp7UhW ZPvGO8EfI90WkCclB/H7hSfpTgcZfQafWis6YllJ/EC+orAdQ79I/vdp5x5as6VS HsvN/IXXxoL30uHj2PTFV4qi0Tx8YMcw3xUK+wskQ0HonWsmZZvqHBSMbh0+JpXg 75ZHXxOg/kpaFIjYz7cML9jSFBxD1S1/kmHqFnJISJ5wFAeXJj1loPfTbu6x5NB5 BGbR/ysii9FidJUAXPk2EviD82oltntcNrUJS29ghFwM3FO/sZFdStQppNTgDnwO mUFyYxpwzG8vMjWYl3DWlc8ozXtKRotGzzsXuwUvdnC9e9MRX8xsF7x1vMrV5j6+ 5SGMnz6KvRzRIwADBQgAhDEuTI6+glgo0Kale3FKlKaOdz9R26uTCWVlK32O98jp mrdCfG1u1cknYrLlIVZIlrTgu3WqjRS9j23z8mIKQNW6wudu+/50/N7wtlV8k/s3 DKmoUjcXH1b7vPxxnhFbtg41COFOUziIyXkupHEOJeaF+Sz4EEi8nXMKBEoGFlYD rh61rOFsfrf24E3dIwdLyjoTify8trdL5pgug27pHPMgXXx5cjLooq73VFvzlqCA 3zFyypgED7UsYMH9NjmyLlA77gK4gfuAlGXwEWyh99SVksrvvHqntHyg9p+HdCQJ GyYwRMNUXTfdSn4cWVc+Qip1jpgdH/bbIwZeTIMaIYhJBBgRAgAJBQJIbPmTAhsM AAoJEIUTW5b8EYJYA0wAoJ5oqyCt4TZRVfofTeTGcm8K+a8lAJ0YGUPg2rEaTf06 QaoupCN+daK2wQ== =hP6F -----END PGP PUBLIC KEY BLOCK-----
<miwi@FreeBSD.org>
pub 1024D/B1E6FCE9 2009-01-31 Key fingerprint = C022 7D60 F598 8188 2635 0F6E 74B2 4884 B1E6 FCE9 uid Martin Wilke <miwi@FreeBSD.org> sub 4096g/096DA69D 2009-01-31
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =S3Qn -----END PGP PUBLIC KEY BLOCK-----
<nate@FreeBSD.org>
pub 1024D/C2AC6BA4 2002-01-28 Nate Williams (FreeBSD) <nate@FreeBSD.org> Key fingerprint = 8EE8 5E72 8A94 51FA EA68 E001 FFF9 8AA9 C2AC 6BA4 sub 1024g/03EE46D2 2002-01-28
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxVl7cRBADbXnR4t/xRvvOSiPuGPnOGeamrphPbpPXsWD8Nm/pjfN3fhSfa 0gv3Y2n/IyLTg93gWZhWloMznkdg59Oj0oPSUxjgPauVw4q6l3JJIcurJNlp/Q7l DH0KLFJ8GuL6zxAz7Jcx1BpAIEu+G2SnI8+ZuGvq+YwaDxPFavfCqmVaBwCg/iPu OI+84/W54yZXvxfUN7dkDmED/3CxYLGeWqPqE8B8Eq8BlmgfP/FwaqXXb6xR7jsE XBaqNOIita6Iz49sYTYKYY2rMv6dMXjX1FM13wNW3rS73xkNvuJz0WU6sWl9Hw1e kjNjCN2oIqkqB5/1H14NMSOcUPLqERP7goFIK7OAJejUmm5Nc3KjG1S2G97xxjPe 39mlBAC0QFfa8J0Z6TORFa8Uqyx90pC/Y+I/S+y0vP/59ReP/PnQq/aUdDPLt5OZ edtpz7M4A2GtoVkWtedPRsw0hYK+Q3CtOMemQSnlfVjTZq5edL05Po09N89M/WMz hB9aRcdY7IN/btsQ0H12ZH+rEj+O4Adu+qEjsWePfW60Uj74GbQqTmF0ZSBXaWxs aWFtcyAoRnJlZUJTRCkgPG5hdGVARnJlZUJTRC5vcmc+iFcEExECABcFAjxVl7cF CwcKAwQDFQMCAxYCAQIXgAAKCRD/+YqpwqxrpMSwAKCVuyt4B1Pc1tAwRMEOmmZw 2nGIIQCgyRvB49snyBl86TikYv97ZifyLmK5AQ0EPFWXuRAEAIghycOZtElvBhfw r7TisjtVtzKhbF0Kj9cGg5brCC8/bJLK7PxNe48NSdlqMJ7algumsgYR37b/QBmq sOSEa2wXCnvCSD0ol+bdPn+Psb+hyi+AVNmVgdlJwuxHUHny0lWQnxeQLrt07SAw Ye/Nnc+arH6GXzBwXSpsQ2sOaMajAAMGA/9Hzjkv6HmJkPlKT2TNx33mbLaDk8xv vAJXxogxDcUqDDwqszWPcqShaW0IkMZo+grZfykZJjA0/8QUCaEUwhnYIwHMQRdA uNegCF/D2x4yzkF4d9gKYCCykDUrwvFDztIhGkinyzu6+xwe9qFcL/esIxnnonz7 Wx8/3e7pRvS2QIhGBBgRAgAGBQI8VZe5AAoJEP/5iqnCrGukuikAnAt8uA1EIv/5 WDCIpvNp0lgmwes9AJ4vD1R35+Db6UIw+R5EJaxNBY84zg== =xbGI -----END PGP PUBLIC KEY BLOCK-----
<swills@FreeBSD.org>
pub 2048R/F5CF62B3207B1BA1 2010-09-02 [expires: 2020-01-23] Key fingerprint = 98FA 414A 5C2A 0EF9 CFD0 AD0D F5CF 62B3 207B 1BA1 uid Steve Wills <swills@FreeBSD.org> uid Steve Wills <swills@freebsd.org> uid Steve Wills <steve@mouf.net>
-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBEx/EzEBCAC1Zje8FA0qGnqKv606untNjiluqEWTuwHOLPKLm0d1Pepb7A21 33kagHn5I8n6k/H/0jE+a2omlmPo5yilKszJLfPYXmqfkb8ZThwYG9Ly+kb3d/i9 m8qxlVktJ/Y/Cnzo1OzhUdxY4Icp0t4nVPZrHUkeA2DeuYK9zl4fq/wah6Z900/K tKBZqn8aPMbkjK6lFJAHNJ5gPNdyT74/nXyhyRMMLqRv0SfRRDRVcxdYW1RpZj7g d/CF/K7zAnG0uCeQA03/F2Mqagp0VW/4/QDF9+Y5Dia2oO01C7wAvyNjQsXjughh MRnYOfcescpw6r46mh1iLRGQa73X5V2vIwGDABEBAAG0IFN0ZXZlIFdpbGxzIDxz d2lsbHNARnJlZUJTRC5vcmc+iQFWBBMBAgBAAhsDBwsJCAcDAgEGFQgCCQoLBBYC AwECHgECF4ACGQETGGh0dHA6Ly9wZ3AubWl0LmVkdQUCVMMHxwUJEan2EAAKCRD1 z2KzIHsboZpYB/9ElWK+DXFfK3gOUj6uPqVOTQTi2XCMe6lDDNq2F+GQj1PtlM0c THQoPKpkOB1oT0S3KDNjJ3NE+HSjGJRA5iuxZsW7NGqeq/8r1ozC5wt4b2/Ux+xv Cubg9z81HWhd/lUFIcXAqSL6EPkjE1mpqA/uA8DlReFkeSGuB0AZMjLDNovfmCMO 5cBUI2GnvmHcu7R0BtUX/WjwWsi7EADPBWs8WbhC7/11yHatKGXK0llpiQN4z2OD PcWq82gjqEXtAwID2L23R8lbixrV6zETUildjGBnD/cUPUYAvv2ZANWJNRNwZRSb I1cemCl8rcnXYb73UDuOaPoY4EV/wXeygaXotCBTdGV2ZSBXaWxscyA8c3dpbGxz QGZyZWVic2Qub3JnPokBUgQTAQIAPAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC F4ATGGh0dHA6Ly9wZ3AubWl0LmVkdQUCVMMHzAUJEan2EAAKCRD1z2KzIHsboUbb CACT1uN6nw/YYBlVsc7HoLmPosEX433ckopYIuVfQBLiVgDWWrfJUWeoJpG0rWAw QoVfI1fA/3a+7z8btJvnhqsfySD1ZGr7caGp6Lf82yGcW/dBm6aKsK7uYZ1JfTYG pahMMRD1gmD+bgQQjTcm07zhYLRCFZtBa2XaB1DIY2i41YIfr6dMQ4s0L6ah3ebD TfH1SBloI5jMeBkt4wRTtPsBgp/w+EFj67Xb0KCjr/EFZc2L3IZo1tn9pS+FuuJh 5Fw4dTxWiTRaSlbNI4IqR9LnXLSeaMrQ6pLtsJvu53hB9dyt4EuIAJjZVpuqtIVV 3RA6TgS9qsyNRsTKZu9r+dhftBxTdGV2ZSBXaWxscyA8c3RldmVAbW91Zi5uZXQ+ iQFSBBMBAgA8AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBMYaHR0cDovL3Bn cC5taXQuZWR1BQJUwwfMBQkRqfYQAAoJEPXPYrMgexuhkhcH/RdXyzj1lWSoILUl 6xf5hTt1z3Mj+26fMN+xsAlWCCKZwtvt3RR4QEchNaDvb+FBAv+kysMFs3dGbdP6 kPpLPSQLal702XIM7zeditPd6sJnsh3ehcvk8splao3tHYmwXIP2rWDkrt6A1N3S 56rHsxTSxS3YaYdR1xH0z6tW4dBpwR6JUtPfYbfN4Kqt6gJae3xOGLCt4RhYulUm LJHooEphMHQM9QwmLTvAerzPVg135fD+a++XLeX3xUaZL40F+Ojw0zY3BD7SToFT 1Mt5YwUY1gCIOGj7YZXb3tWP7Rz+yKgse27m/EU00HQSpYaa/9Mt4C3n+K81TZqD MVUIXR+5AQ0ETH8TMQEIAKomVvQFNXEJbOZPi14jiDfi1VeECpAAinzndUJwgZdh SxDlJ56OE+lzn/yPGrae3Jjcf+XoKNxUB8xMBEX7/JQyQZ68OikCxYPabg8qATy6 loQ/v+p+OwfkjOXo6Pv1cV6XAAK+vpuL6uwNev9QDBWo3dV3ilIeVkemP9P567r5 szfLdSG2S34K3My0+G1+UCOIRGFZzjipEDIuGIi4l7xRvN28Oqw2jyRphIl8eOt0 kV0eCm/P16LIe4CXL4IXo174WoFf/k4jYebgCazHDvJzKtuUugZWLuafTR4FP8Hi hxvkZJpa6eIF52KnyGLmHugrwkWogIDgFFhLQI7RYucAEQEAAYkBJQQYAQIADwIb DAUCUoZABQUJB84CVAAKCRD1z2KzIHsboZ0BB/4x49RbyFhaMIzeYQialcIHEwU4 PSJ3dnLZv0Yy4ndxHIMDdIqqutjFgt1GHSfzCHz5yVLu1bYpdOKc1xfOSrmsuCm5 oruprssJtbJjjzaHXbxs8Zn2BAFORcZ/cINvafrbnTH2EWYRqUHTuS/I6h5Rylh0 E5u/W9oyu9zsaeOrFCN1CTnFUgxtwtZQkNFA9wAl0TseTH9Cu+Y0JSX1SIpp/Shs ior3VyDitCOXQi4WQzpmlThM+wVtCdsO1QRaOS3/1rHIvpQ9X7QAiINqeKwyfa68 bRdDfVi7Z4lrMosfNjP5At3Zim/NCd7Z7LmWAvvVp7XnPBZ6rIwpeNg3+r9H =EXg7 -----END PGP PUBLIC KEY BLOCK-----
<twinterg@FreeBSD.org>
pub 1024D/C45CB978 2006-01-08 Key fingerprint = 04EE 8114 7C6D 22CE CDC8 D7F8 112D 01DB C45C B978 uid Thomas Wintergerst <twinterg@gmx.de> uid Thomas Wintergerst <twinterg@freebsd.org> uid Thomas Wintergerst uid Thomas Wintergerst <thomas.wintergerst@nord-com.net> uid Thomas Wintergerst <thomas.wintergerst@materna.de> sub 2048g/3BEBEF8A 2006-01-08 sub 1024D/8F631374 2006-01-08 sub 2048g/34F631DC 2006-01-08
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 B5lKgt0VCQCfdhlL5hMDBDoaMdMtBZXFL4/Vn10= =ArNG -----END PGP PUBLIC KEY BLOCK-----
<wollman@FreeBSD.org>
pub 1024D/0B92FAEA 2000-01-20 Garrett Wollman <wollman@FreeBSD.org> Key fingerprint = 4627 19AF 4649 31BF DE2E 3C66 3ECF 741B 0B92 FAEA sub 1024g/90D5EBC2 2000-01-20
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org 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 iq7OH/kskwCfeEvJINcMBk0UEdjpgO85woB6QKI= =stB+ -----END PGP PUBLIC KEY BLOCK-----
<joerg@FreeBSD.org>
pub 1024D/69A85873 2001-12-11 Joerg Wunsch <j@uriah.heep.sax.de> Key fingerprint = 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 pub 1024D/69A85873 2001-12-11 Joerg Wunsch <j@uriah.heep.sax.de> uid Joerg Wunsch <joerg_wunsch@interface-systems.de> uid Joerg Wunsch <joerg@FreeBSD.org> uid Joerg Wunsch <j@ida.interface-business.de> sub 1024g/21DC9924 2001-12-11
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.6 (FreeBSD) mQGiBDwWI2kRBADM4C4YlBiLozC/bZDedK12BMLyfnv9yOppj/doC1cOEaE+xZNQ 7/aDZfhi7FNQzt+ehh52DLihV91G7gOsACtUk3gLR8G+0q6U76dBY/gvAGzCYUu0 bJwlQCcPMysF4sNEwvsuct1fIVAHa+660X6Q+WI+eADIwZyN8wR1GrEqswCg3uGM xm85EYtxPFx7tyxfA8q/d+MD/i+SPmt9xEZ/KZOMbQVPw/vYmeWW4lVZGG2HLKmH J2FiAW4YjryoNqhpbbqlJigxf6staqgnQL4uuzBrr6v+OIjbljTHA7fs0WA4mtTX u7YcAKPXBTztw/O+f3tZz08Ep+AHJ3Q+pTbbRQZpikGGdOpjfLcEyAQBh1rNA3zl /MiLA/9IL7yfpyiA6cjX+MuUCqlqbPW2awQOCsmDBOcpXdOYC+MsBUhlT7IcFtQd BUxUiqdIKlRtIT4l4LnqzhL2HASv6Zzc06zGS+tlG6BlpCGlSxz8fp4asbTYdJnp d7lqme75jOUNjygal5lxJApincaLjv+4IaNUWCC5RjQuRsd3t7QwSm9lcmcgV3Vu c2NoIDxqb2VyZ193dW5zY2hAaW50ZXJmYWNlLXN5c3RlbXMuZGU+iF8EExECAB8C GwMCHgECF4AFAkGkelUHCwkIBwMCAQMVAgMDFgIBAAoJEPSMqBtpqFhz3+0An1WU SyLW5PtVk8AN2wZOZoIbdpWJAJ9UZjNCICVixY7lc+me/lfu7+nCsIhzBBARAgAz BQJB4lonBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgucGhwP2lk PTEwAAoJENK7DQFl0P1Yu+kAn27zpfl6Angb/DIsaV6srJ6SB/hmAJoDHPErifuG 2L4KGF3NcagZRoUl77QgSm9lcmcgV3Vuc2NoIDxqb2VyZ0BGcmVlQlNELm9yZz6I XwQTEQIAHwIbAwIeAQIXgAUCQaR6QgcLCQgHAwIBAxUCAwMWAgEACgkQ9IyoG2mo WHNIRwCgnTUFJ1krhK0XISLLossxl68fS0MAoJEjQcOZTKtIp8S4Dqo7/VJYUVKF iHMEEBECADMFAkHiWicFgwHhM4AmGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRl eC5waHA/aWQ9MTAACgkQ0rsNAWXQ/VjuVACeKGyJ5VTFr26fxsDgqrlfXjksoBMA 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 =SfCl -----END PGP PUBLIC KEY BLOCK-----
<davidxu@FreeBSD.org>
pub 1024D/48F2BDAB 2006-07-13 [expires: 2009-07-12] Key fingerprint = 7182 434F 8809 A4AF 9AE8 F1B5 12F6 3390 48F2 BDAB uid David Xu <davidxu@freebsd.org> sub 4096g/ED7DB38A 2006-07-13 [expires: 2009-07-12]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =jyox -----END PGP PUBLIC KEY BLOCK-----
<emax@FreeBSD.org>
pub 1024D/F050D2DD 2003-10-01 Maksim Yevmenkin <m_evmenkin@yahoo.com> Key fingerprint = 8F3F D359 E318 5641 8C81 34AD 791D 53F5 F050 D2DD
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.2 (FreeBSD) mQGiBD97XL8RBACC3CMLdwZY/RcLw4PM6h2KYj+cG7TNSfNWszZO5HdQYrd6HZKQ h0cL7cyW1Low8a2ZulxtEjM1SfofzDlhNaTYhyjlO4xBnJM13dMFchmM4j4qF0Mu al1MEeO3EbLntFsh/aDX2sOKEavz5id8eKmAZKez2O5Z27bymkFf4o2UbwCg841B WuuWHsy4O1zrac0WidkS3G0D/jeVbYA09gylZA1KSd3djHE55lQDQrUt3+2xWxjG Lg60WIqys/yxei6nVO7/Wr6Q1WISiX0bYXAxHCZZQrT6cuNtEBntPPa9PnXRewUx 8xwVCBIuSLK5Kw2WZ2FMuQWTzfd4fwt8P9vghJlaV3h5Byw3e6/MdoDID9Jkg/ml f5FuA/9kZBwtE4zKJvx3Pv7EG6T0w82QA0SFtcFyRnNarUIfqyUsFXNkr8hoQT3Z J5haO/lW2HW70KMr26GxK61XcF8LQtfvphv9M+4yF3+DZSu1YxUM1Vs/q27EQhXa 3Cs4kJkKdzW2xDbIbuD5ZJQqFAzWX7IiTTNXnEGZStPTQMYZLbQnTWFrc2ltIFll dm1lbmtpbiA8bV9ldm1lbmtpbkB5YWhvby5jb20+iFsEExECABsFAj97XL8GCwkI BwMCAxUCAwMWAgECHgECF4AACgkQeR1T9fBQ0t01FQCfUR367fJJ37Wl4HvZVBoF peBX9ZEAniaaK/D+n/JttkgY8jJf2ZvjF0SSuQENBD97XMIQBACPpJjDdDw42++u vPMW/R7Iwqdpgs22T/bzVlFxDGx2uD9xaoNKI03jkOyUWiFlHbuifMRhxTwO5Vyg nj91Y0fk8hdd9bjT0ee7lJuQ8PBqzb/uEVGFIC+56/ocFzuBANdN5fzEfxp5AA0o zAPotyGEmLLK8+3ApZmAbsnQEveOwwADBQP+KgIxPzWAxYSn/MFPK2QBEjHuCCsS JB+VOShc/QaSn/wFEKc8Brjpr1KeAEi7dFrK4Sa2Rn2+k9tRSJptxi1m3Hrr0J2z 0JofnF6cKkvmIsCse5OGCK/LJmuWHuNVqYI2X9Q0am+soHEYsRaqB/BDLT5Mw0mE 5NO6455cKEcyizmIRgQYEQIABgUCP3tcwgAKCRB5HVP18FDS3b1HAJ9ZjWomBkE4 1vaMSXyIopmSQNVxSQCg3J+fBmk0yhD2A8CIfxhpSRJDwus= =wV5Z -----END PGP PUBLIC KEY BLOCK-----
<riggs@FreeBSD.org>
pub 1024D/8DD48929C85996CD 2000-11-15 Key fingerprint = 4F59 75B4 4CE3 3B00 BC61 5400 8DD4 8929 C859 96CD uid Thomas Zander <riggs@FreeBSD.org> uid Thomas Zander <thomas.e.zander@googlemail.com> sub 2048g/DFD045C3A7460ECB 2000-11-15 [expires: 2017-12-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGiBDoSob0RBACU9HMPXJv5FORSgS7VqW9GWn6OFg7DVgKXyMkPTOJvGG8Ou89h Yv7rQSXzq/nKJFr+gt/VCeDZ1Iyd4LhDtbf5Q0Mti6jQXpJGEjVva7yZh+JiLaTy LNhHNJb8b++3XoHvwxWR/UgdrNrwzya95UrKGA7yoCGhrgnVBxsZZExyXwCgh22M WRkFhGGjOdeS5AWlVEEMhT8D/1Edwqp4mc3YkTd5TJ0a/QcX/J8KdzUnsIFisP0X X3ZNgH0qUkyxgOudcpbUqbHFVxnJA44hsBCONZImugv7R8TglcutExdfOE69oPkL 5D9nwu1OPd07ZzZfvKjjWkFXGXGycOmI3oMS50QsuWSYN/zYAR1ilvPjQ9qmJDiN TEKKA/4/hBjwD01FsRa0DVf3FzX5dQlHDk6DBPMggl71QzcL4jWCjoUKGZIAW4mb FLNYrqW/8H3vPnoyGlTUZUYZhoVQaQe+A4RP0/OSFQJ77AGKzvafiMPkdzEXCcEs 0eEvQmHmEjZME0MrPMdC2LVDWRm3OM6WAavk05HEar6DMmWoK7QuVGhvbWFzIFph bmRlciA8dGhvbWFzLmUuemFuZGVyQGdvb2dsZW1haWwuY29tPohiBBMRAgAiBQJP NqecAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCN1IkpyFmWzU2wAJ9N xJCjlBBPLvQCBari5rRVZQxOlgCfe7tu8oCb/EdPpKcMKLh65Dl7YIi0IVRob21h cyBaYW5kZXIgPHJpZ2dzQEZyZWVCU0Qub3JnPohiBBMRAgAiBQJS0FYlAhsDBgsJ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCN1IkpyFmWzZLeAJ9flJfrkmBA67Mx 9CVKW/OhgznA3wCfb0Hfb16PV9AGedQVcNsswFNbjt+5Ag0EOhKioRAIAPlQ+6yX kAiUvWaNXov0HCNa7iTuzreoWZzeIYMijH6b6lGGX6v9Ev88kPv2uCKnseksYmtG XESvq91bdDJ90trqPFEQc4+jiORzyKrMANm8DrbXbq+x+3oWj8q97b1JZtikh187 R80Q9rE1O0q8UwoTW9K4nInbSIWhvoKNGT8WOt8Q2M9Gxr8cYnd3EmFjevV3j3w2 H9lK1qDXRTUdAZPQ7GP2YimAAjlm8ugWPka46wTrNi2tnOcQuMqiWYv/nwIVKNm/ n9bubDbzzz9vtJNdKI8iGgHvWc/fyXhRnKbMQfrx24GEyrPkFbhMYjXoLA++/d4/ SVqAjwtkbjI/m/8AAwcIAInZvDgSGUKmiEUlG2bLu8giOcwhroXcZEpEODvfyDRf j7b7oOkzPYj55oY3/KQkH7tV78fprgT/JHBdLBMsq0L1sm2O2S2gPBJ3fYJRkUlE 7B74SP2kXjA0lxUvNECo7lLE24MY2pqj2QFMqeAhqXV7653serz7fPWhknpvu+bF jPYCLXi3aQtu1yJ521eabBbLsUkUU5E3mxSkmI25bZ+lRYDObQtbY6Qj91WbpLDl h3KlVCu5c7q2EhSyc9IY2Qzp3GUgqPu79gi7KRj1rSfBJ5TGFRfLCn9jjHT84dgi +5uca6cRggKGbOvJE0cc2QpQJIMn1f/1el8580wV5zWITAQYEQIADAUCUsQPfgUJ IDY6wwAKCRCN1IkpyFmWzYd2AJ9KJmzNsDdxI4wXnaK6o+syqjBwVgCeMISW7d8D HPQXK7a2tXmY7wJLNoE= =WmVz -----END PGP PUBLIC KEY BLOCK-----
<bz@FreeBSD.org>
pub 1024D/3CCF1842 2007-02-20 Key fingerprint = 1400 3F19 8FEF A3E7 7207 EE8D 2B58 B8F8 3CCF 1842 uid Bjoern A. Zeeb <bz@zabbadoz.net> uid Bjoern A. Zeeb <bzeeb@zabbadoz.net> uid Bjoern A. Zeeb <bz@FreeBSD.org> uid Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net> sub 4096g/F36BDC5D 2007-02-20
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 B8U1cYUAoI3ftziD88BkkQf1aD7jpiQwlW7/ =N1dt -----END PGP PUBLIC KEY BLOCK-----
<zeising@FreeBSD.org>
pub 4096R/04014392EA4BF1EC 2012-11-28 [expires: 2015-12-31] Key fingerprint = A8DE D126 D346 E9CB 6176 AECB 0401 4392 EA4B F1EC uid Niclas Zeising <zeising@daemonic.se> uid Niclas Zeising (FreeBSD Project) <zeising@freebsd.org> uid Niclas Zeising (Lysator ACS) <zeising@lysator.liu.se> sub 4096R/BB8D4B57BB8B5551 2012-11-29 [expires: 2015-12-31] sub 4096R/5BCEEAA6B8D43CD2 2012-11-29 [expires: 2015-12-31]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 WmVpc2luZyAoRnJlZUJTRCBQcm9qZWN0KSA8emVpc2luZ0BmcmVlYnNkLm9yZz6J Aj0EEwEKACcCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFAlSSz7wFCQXObdIA CgkQBAFDkupL8ey8vxAAvV8m1iqeBDR51qwlOIMgQCDU6siedgtPdxmkaGXrpVbj 7IftwRcjLChbO+3Bgil1qTbQir1UbeEhtqsBi13JkvqQZZ62s/vvNjVD7OhQajPK IoF/duZK4Z5UoGbZ7Tbij98rmkyx42OV9mFEiGpfTR5SKShWOtc443MWcjgb635G tpRSA7MzxKPWUDwoZZhjJ1V2R51K6/8eHm+a/K1LVVrUsIii4O5Es1rRW3C3GL7u cBii6bLi9Kq5SmhgdXlss6hx35QjLQ96q3ONTywYZtBaKO+l3CPKFSngEIhIDFs8 JAPsbjRjb2PErzAy7Z25PS8AzptjVSlRin1xwGKn7Fihqr1PtlX41/Ps+axFBhJz KnCvyiVP2G8Iihx4WliPrvELkKYxXZB1GXyT8oa0AbrURBo/qcjgoAj2rFG2JKiH dgvq6l4BDi5eayUzSnu7j54x1tstYHCTZxWqp0TQnq7claIxIOIkAGKa2BprDmCr o7jE6pdslvje6T2zzBUUgLHXrUqccU2IstzdTSFPqpwz5OX3asDQuEeAlw5I/XOC EZIqOR/zmWD47DHodlzT4vNzRfYLhe4txy0gX6mY1YlDAwUkxmhq/GDxr6Aj25XQ G3PuGFShdBMScsqlw3MydiMfSTwtbr1p3a9ltPtUd/t06Z3OtbBf1cNVYtM/CIuI RgQQEQIABgUCUOaBNwAKCRBmO7LAr1kokd8WAJ0ZMt8xViV4VWjwryC4HlMkaw9y BgCgmbvlW4i/dlU5NX3TezcT+a2icjuIRgQQEQIABgUCUmUGCAAKCRBB5sqpdQeV WLVEAJ90Q3F+ZSSYiQayU6stm9L/z9T+FQCeKUzwyyalajuidA6xj7fBDEFjTdyJ AbQEEAECAAYFAlJ0/NMACgkQttbL9CJnPlk7cAy9FqJFYb1Op4nWEwQ1G0Arbvz7 kSrhDo36NBYOzXUENE45m1FK5kzXLswXFxgH8IjBx6t3qeZPwFFpCmDxU+5fTIRC Fe+I9M+6a1YG2V4zDusAqqMKhoXdn065AWMrru6eNVci1hyBjEu8RDJyoUTO6sGb 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 efvNgOPq/hbVgA== =Nk93 -----END PGP PUBLIC KEY BLOCK-----
<phantom@FreeBSD.org>
pub 1024D/9196B7D9 2002-01-28 Alexey Zelkin <phantom@FreeBSD.org> Key fingerprint = 4465 F2A4 28C1 C2E4 BB95 1EA0 C70D 4964 9196 B7D9 sub 1024g/E590ABA4 2002-01-28
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org mQGiBDxVhBMRBAD20EH9hS3S3gy73E1s//vYS1yo4GmmvzUzMTJo4HH6OMFT/MVn B51RXK5YlQ1cau4MWt2sifpWsG2hmmmPtOIaC6Mn4X8cEXmzy6qW5m+3RUdXB8rM pFSEVVEGhE9Sq+pTI1wB4VUJ5mhQtvWVJKsmuyf1YRa/zrr2zbZTIXg5EwCggloA GdcoFNm7p+cW56HJI1jZTpcD/jUyc4KLeimo+6Fn3z6NZh64GS+JmmCDe7mlcK2S XNPVq3tXXP3ZUKdv3faoMAgI1hSi82/32GINDkhiLPc0Q2tQZRDYKvyY/swgJSnV 1LV8jlpk2VsmsYOp9hW4SJLAQUaejpZe4CwHpOfJWbPkXE83nVygA0lnN89dfhIH JaB8A/9VottMl88+CLzqF3AzN72R5tFWnSFMWumaODis+UvLW0XAMP4AHhvux/FS Pl+m2YtilHhib6lfMYuGalN84H7VxOBxjc9L4qORV9jP4cWEYXpxx0DTmmtFfLae xGGTyYNM1RiqmScXMF28Am1I+WhnLTql8DVFWr8XoZUbususg7QjQWxleGV5IFpl bGtpbiA8cGhhbnRvbUBGcmVlQlNELm9yZz6IVwQTEQIAFwUCPFWEEwULBwoDBAMV AwIDFgIBAheAAAoJEMcNSWSRlrfZ9yQAn0bnLWBjo47dKrS82X1VvbuokkNXAJsH oANWk5PoOZzySJ7st8/IyaLBErkBDQQ8VYQXEAQA2cEOpYzl8L5y8TErdj1lfpHt gxm1QFETl8HvZGb/hTRWVhIcUhtOLA2uftk1oDHbnp+FPsJuFTxanCaCSQVdtMEE I1zK/Qy384FjS1B6L3yq84yTKn+Gp8SbMX3ZWT+dVmy88yJpmo/yFiiN9d2hYy1q fCUWhbAoWeD7sqSeGL8ABA0D/Au95rpaYunrMhu5nVdvZpTbNEIEDLOTS337GWy7 n1E9RG72ujCLFg8tbEmjEUFYfCZ/cW+6+2/Nj7zoGH9xXH6bRTfSKXojdKgNkUvL SLynpmFpUlFKc4fzSxx5EkCxH/zog9X2CQjMvxHmSD1/x+LeD0v/5WMsLvIdj6Op 0KmziEYEGBECAAYFAjxVhBcACgkQxw1JZJGWt9nbrQCcCvSJho7n1r4+1PGTlcep ABxplbsAn05jPrtZLjln7aKcavCp8FICJ2TY =GYHE -----END PGP PUBLIC KEY BLOCK-----
<sephe@FreeBSD.org>
pub 2048R/3E51FB42 2005-10-21 Key fingerprint = 5F47 3861 7ABA 8773 9E32 0474 5C33 841C 3E51 FB42 uid Sepherosa Ziehau (freebsd) <sephe@freebsd.org> uid Sepherosa Ziehau (sephe) <sepherosa@gmail.com> sub 2048R/7AA31321 2005-10-21
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 AshLLfnD1BoaFl+lzNnL2Q== =F5Wg -----END PGP PUBLIC KEY BLOCK-----
<zont@FreeBSD.org>
pub 2048R/E8A68B1C 2012-08-17 [expires: 2016-08-17] Key fingerprint = 3DFF AA2F C10A A979 2FB9 A764 F145 4BB6 E8A6 8B1C uid Andrey Zonov <zont@FreeBSD.org> uid Andrey Zonov <andrey@zonov.org> sub 2048R/57FC2BD3 2012-08-17 [expires: 2016-08-17]
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 +Is2qlWoT4cI+VuljBbdprk4 =ElkT -----END PGP PUBLIC KEY BLOCK-----
Этот глоссарий содержит специфичные для документации и сообщества FreeBSD термины и сокращения.
См. Access Control List.
См. ACPI Source Language.
Даемон, который автоматически монтирует файловую систему при обращении к файлу или директории на той файловой системе.
Это имя, которое в Computer Systems Research Group (CSRG) Калифорнийского Университета Berkeley дали улучшениям и изменениям в AT&T's 32V UNIX(R). FreeBSD является наследником работы CSRG.
Феномен, заключающийся в том, что многие активно участвуют в обсуждении простой темы, в то время как сложная тема привлекает мало внимания или вообще остается незамеченной. Информация о происхождении этого термина находится в FAQ.
См. Carrier Detect.
См. Clear To Send.
RS232C сигнал, говорящий о том, что была обнаружена несущая.
RS232C сигнал, дающий удалённой системе разрешение на посылку данных.
См. Debugger.
См. Domain Name System.
См. Data Set Ready.
См. Data Terminal Ready.
См. Extended COFF.
Название механизма взаимного исключения
(sleep mutex
), который предохраняет большой набор
ресурсов ядра. Хотя простого механизма блокировки было достаточно
во временa, когда машина могла иметь всего лишь несколько дюжин
процессов, одну сетевую карту и только один процессор. В настоящее
время это неприемлемое препятствие для увеличения производительности.
Разработчики FreeBSD активно работают над заменой данного механизма
блокировками, предохраняющими отдельные ресурсы, что приведет к
улучшению параллелизма как для однопроцессорных, так и для
многопроцессорных систем.
Система, где пользователь и компьютер взаимодействуют между собой через графику.
См. HangUp.
Язык разметки для создания web страниц.
См. Input/Output.
См. Intel's ASL compiler.
См. Internet Protocol.
См. IP Firewall.
См. IP Version 4.
См. IP Version 6.
Переводится с японского, как <<черепаха>>. Термин KAME в компьютерных областях относится к Проекту KAME, который работает над реализацией IPv6.
См. Kernel ld(1).
См. Kilo Bits Per Second.
Поддерживаемая ядром система потоков. Обратитесь к домашней странице проекта за более детальной информацией.
См. Local Area Network.
См. Lock Order Reversal.
См. Line Printer Daemon.
Ядро FreeBSD использует несколько блокировок ресурсов, чтобы суметь рассудить спор между этими ресурсами. Система диагностирования блокировок из ядер FreeBSD-CURRENT (но убранная из релизов), называемая witness(4) определяет потенциал появления мертвых блокировок (deadlock) из-за ошибок блокировки. (witness(4) на самом деле является немного устаревшим, поэтому возможно получить неправильные ответы.) По настоящему положительный ответ говорит о том, что <<если вам не повезет, то тогда возможно, что deadlock появится в этом месте>>.
По настоящему позитивные ЛОРы (LOR) имеют тенденцию быть быстро исправленными, и поэтому проверьте http://lists.FreeBSD.org/mailman/listinfo/freebsd-current и страничку Замеченных ЛОРов перед посылкой письма о нём в списки рассылки.
См. Merge From Current.
См. Merge From Stable.
См. Multi-Level Security.
См. Message Of The Day.
См. Mail Transfer Agent.
Означает добавление функциональности или исправлений из ветви -CURRENT в другую ветвь, чаще всего в -STABLE.
При нормальном ходе разработки FreeBSD, изменение вносится для тестирования в ветвь -CURRENT перед внесением в -STABLE. В редких случаях изменение сначала вносится в -STABLE, а затем переносится в -CURRENT.
Этот термин также используется, когда исправление переносится из -STABLE в ветвь исправлений безопасности.
См. также Merge From Current.
См. Project Evil.
См. Network File System.
Файловая система, разработанная Microsoft и доступная в их <<ново-технологичных>> операционных системах, таких как Windows(R) 2000, Windows NT(R) и Windows(R) XP.
См. Overtaken By Events.
См. On-Demand Mail Relay.
См. Operating System.
Обозначает предполагаемое изменение (к примеру, Сообщение об ошибке (PR) или запрос на добавление новой возможности), которое больше не является уместным или применимым из-за таких причин, как произошедшие после этого изменения во FreeBSD, изменения в сетевых стандартах, описываемое в предполагаемом изменении оборудование с тех пор стало устаревшим и так далее.
См. Personal Computer.
См. Process ID.
См. Post Office Protocol.
См. PPP over ATM.
См. PPP over Ethernet.
См. Problem Report.
Мифическая часть головного убора, почти как
дурацкий колпак
, которым награждают
любого FreeBSD коммиттера, нарушившего процесс сборки,
или сделавшего отсталый коммит, или создавшего любой другой
вид беспорядка в исходном коде. Any committer worth
his or her salt will soon accumulate a large
collection. Использование (почти всегда?)
носит юмористический характер.
При развитии FreeBSD, видимые пользователю изменения должны быть
как можно менее неожиданны. Например, произвольное перемещение
переменных в /etc/defaults/rc.conf
нарушает
POLA. Разработчики учитывают
POLA при внесении видимых пользователю
изменений.
Рабочее название NDISulator,
написанное Биллом Полом (Bill Paul), который назвал его
считая, что как ужасно (с философской точки зрения)
иметь что-то типа этого на первом месте.
NDISulator - это специальный модуль
совместимости, чтобы разрешить использование
WindowsTM NDIS минипорт сетевых драйверов во FreeBSD/i386.
Это обычно единственный путь использования сетевых карт
с закрытым кодом драйвера. Смотрите
src/sys/compat/ndis/subr_ndis.c
.
См. Router Advertisement.
См. Random Access Memory.
См. Received Data.
См. Request For Comments.
См. Request To Send.
Стандарт для коммуникаций между последовательными устройствами.
См. Signal Ground.
См. Server Message Block.
См. SMTP Authentication.
См. Secure Shell.
См. Suspend To RAM.
Штрек или проводник (wire) стандарта RS232, являющийся заземлением (ground reference) для сигнала.
См. Transmitted Data.
См. Trivial FTP.
См. User ID.
См. Universal Serial Bus.
Уникальный номер, присваиваемый каждому пользователю компьютера, по которому могут быть индентифицированны ресурсы и права, назначенные данному пользователю.
Эта книга представляет собой результат совместной работы сотен людей в рамках <<Проекта Документирования FreeBSD>>. Текст написан в SGML формате в соответствии с DocBook DTD и сформатирован из SGML во множество различных представительских форматов с помощью приложения Jade, открытой DSSSL системы. DSSSL стили от Норма Волша (Norm Walsh) были использованы совместно c допольнительными стилями разработанными в рамках проекта для создания презентационных инструкций для Jade. Создание печатной версии этого документа было бы невозможно без языка TeX Девида Кнута, LaTeX Лисли Лэмпорта, и макро пакета JadeTeX Себастьяна Ратца.