diff --git a/ru_RU.KOI8-R/books/handbook/Makefile b/ru_RU.KOI8-R/books/handbook/Makefile
index 64a8cd9012..a09d3647a5 100644
--- a/ru_RU.KOI8-R/books/handbook/Makefile
+++ b/ru_RU.KOI8-R/books/handbook/Makefile
@@ -1,262 +1,264 @@
#
# The FreeBSD Russian Documentation Project
#
# $FreeBSD$
-# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/Makefile,v 1.35 2004/04/09 07:51:22 phantom Exp $
+# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/Makefile,v 1.37 2004/07/08 12:12:43 den Exp $
#
-# Original revision: 1.79
+# Original revision: 1.84
#
# Build the FreeBSD Handbook.
#
# ------------------------------------------------------------------------
#
# Handbook-specific variables
#
# WITH_PGPKEYS The print version of the handbook only prints PGP
# fingerprints by default. If you would like for the
# entire key to be displayed, then set this variable.
# This option has no affect on the HTML formats.
#
# Handbook-specific targets
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
MAINTAINER=phantom@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
WITH_GLOSSARY?=
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/desktop.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/xf86setup.scr
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS= book.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
+#SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= colophon.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= x11/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= colophon.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
.if defined(WITH_GLOSSARY) && !empty(WITH_GLOSSARY)
SGMLFLAGS+= -i chap.freebsd-glossary
.endif
# XXX The Handbook build currently overflows some internal, hardcoded
# limits in pdftex. Until we split the Handbook up, build the PDF
# version using ps2pdf instead of pdftex.
PS2PDF?= ${PREFIX}/bin/ps2pdf
book.tex-pdf:
${TOUCH} book.tex-pdf
book.pdf: book.ps
${PS2PDF} book.ps book.pdf
pgpkeyring: pgpkeys/chapter.sgml
- @${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
+ @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
DOC_PREFIX?= ${.CURDIR}/../../..
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
-DOC_PREFIX?= ${.CURDIR}/../../..
-
.for p in ftp cvsup
SRCS+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc.tmp
.endfor
SRCS+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc.tmp
+URL_RELPREFIX?= ../../../..
+DOC_PREFIX?= ${.CURDIR}/../../..
+
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'$p'" \
--param 'proto' "'$p'" \
--param 'target' "'handbook/mirrors/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
.endfor
eresources.sgml.www.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
diff --git a/ru_RU.KOI8-R/books/handbook/config/chapter.sgml b/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
index 8ddd9372ad..4f67939f65 100644
--- a/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
@@ -1,2868 +1,2876 @@
ChernLeeНаписал MikeSmithОсновывается на учебнике, написанном MattDillonи на tuning(7), написанном Настройка и оптимизацияВведениенастройка системыоптимизация системыОдин из важных аспектов &os; это настройка системы.
Правильная настройка системы поможет избежать головной боли при
последующих обновлениях. Эта глава описывает большую часть процесса
настройки &os;, включая некоторые параметры, которые можно
установить для оптимизации системы &os;.После прочтения этой главы вы узнаете:Как эффективно работать с файловыми системами и разделами
подкачки.Основы настройки rc.conf и системы запуска
приложений /usr/local/etc/rc.d.Как настроить и протестировать сетевую карту.Как настроить виртуальные хосты на сетевых устройствах.Как использовать различные файлы конфигурации в
/etc.Как оптимизировать &os;, используя переменные
sysctl.Как увеличить скорость работы дисков и изменить ограничения,
накладываемые ядром.Перед прочтением этой главы вам следует:Понять основы &unix; и &os; ().Ознакомиться с модернизированием исходных текстов &os;
(), и
основами конфигурации/компиляции ядра
().Начальное конфигурированиеРазделы дискаразделы диска/etc/var/usrОсновы построения разделовВо время разметки жёсткого диска с помощью &man.disklabel.8;
или &man.sysinstall.8;, важно помнить, что скорость чтения и записи
данных уменьшается от внешних к внутренним трекам
диска. Самые маленькие и самые
часто используемые файловые системы (корневую и раздел подкачки)
должны быть расположены в начале
диска, в то время как самые большие, такие, как
/usr, в конце. Самым оптимальным считается
следующий порядок расположения файловых систем: root, swap,
/var, /usr.Размер файловой системы /var определяется
предназначением машины. /var
используется для хранения почтовых ящиков, очередей печати и
лог файлов. Размер почтовых ящиков и лог файлов может расти
неограниченно в зависимости от количества пользователей
системы и от того, как долго хранятся лог-файлы. Большинству
пользователей никогда не потребуется гигабайт, но помните, что
/var/tmp должен быть достаточно большим для
пакетов.В разделе /usr содержит большинство
файлов, необходимых для поддержки системы, &man.ports.7;
(порты, рекомендуется) и исходные тексты (опционально).
Оба эти каталога опциональны при установке. Для этого
раздела рекомендуется как минимум 2 гигабайта.При установке размера разделов, не забудьте принять во внимание
рост размера требуемого системе дискового пространства.
Переполнение одного раздела даже при наличии свободного места на
другом может вызвать затруднения.Многие пользователи обнаружили, что размер разделов,
предлагаемый &man.sysinstall.8;'ом по умолчанию, иногда
меньше подходящего для разделов /var и
/. Тщательно планируйте размер разделов и
не жалейте места.Раздел подкачкиразмер раздела подкачкираздел подкачкиКак правило, размер раздела подкачки должен быть равен
удвоенному размеру оперативной памяти. Например, если на машине
установлено 128 мегабайт памяти, раздел
подкачки должен быть 256 мегабайт. Системы с меньшим
количеством памяти могут работать лучше с большим объёмом
раздела подкачки. Не рекомендуется устанавливать размер
раздела подкачки меньше 256 мегабайт, необходимо также
принять во внимание возможное наращивание объема установленной
на машине памяти.
Алгоритмы кэширования VM настроены на максимальное быстродействие, когда
размер раздела подкачки равен как минимум удвоенному размеру
памяти. Заниженный размер раздела подкачки может привести к
неэффективной работе постраничного сканирования VM и вызвать
проблемы при увеличении объёма памяти.На больших системах с несколькими SCSI дисками (или несколькими
IDE дисками, находящимися на разных контроллерах),
рекомендуется создавать раздел подкачки на каждом диске (до четырёх
дисков). Разделы подкачки должны быть примерно
одного размера. Ядро не накладывает ограничений на размер раздела
подкачки, но внутренние структуры позволяют иметь общий размер
разделов подкачки, равный наибольшему, умноженному на четыре.
Выделение под разделы подкачки примерно одинакового места позволить
ядру оптимально расположить разделы подкачки. Установка
размера подкачки больше требуемого нормальна, даже если этот
объем не используется. В этих условиях может быть проще
восстановиться после зависания программы перед тем, как
возникнет необходимость перезагрузки.Зачем нужны разделы?Некоторые пользователи считают, что лучше использовать
один большой раздел, но есть несколько причин, по которым этого
лучше не делать. Во-первых, у
каждого раздела свои характеристики, и отделяя их, можно
выполнить соответствующие настройки. Например, корневая и
файловая система и /usr в основном
предназначены для чтения, без большого объема записи.
В то же время множество операций чтения и записи
выполняется в /var
и /var/tmp.При правильном размещении и выборе размера разделов
системы, фрагментация в более маленьких разделах, куда часто
записываются данные, не перенесётся на остальные разделы.
Размещение самых часто используемых разделов ближе к началу диска
увеличит скорость ввода/вывода там, где она нужна больше всего.
Хотя производительность важна и для больших дисков,
передвижение их ближе к концу диска не повлечёт
значительного уменьшения быстродействия по сравнению с перемещением
ближе к концу диска /var.
И, наконец, разделы существуют и из соображений
безопасности. Наличие маленького аккуратного корневого раздела,
доступного только для чтения даёт значительные шансы на "выживание"
после краха системы.Основные настройкиrc файлыrc.confОсновные настройки системы располагаются в
/etc/rc.conf. Этот файл вмещает широкий спектр
конфигурационной информации, используемой при загрузке системы.
Имя этого файла прямо отражает его назначение, это файл настройки
для файлов rc*.Администратор должен сделать записи в
rc.conf чтобы переопределить строки по умолчанию из
/etc/defaults/rc.conf. Файлы по умолчанию нельзя
копировать в /etc - они вмещают значения по
умолчанию, а не примеры значений. Все специфичные для данной системы
изменения должны быть сделаны в файле
rc.conf.Существует несколько методов для отделения общей конфигурации для
группы систем от конкретной для данной системы в целях уменьшения объема
работы администратора. Рекомендуемый метод
- прописать общую конфигурацию в отдельный файл, например, в
/etc/rc.conf.site, и включить его название в
/etc/rc.conf, который вмещает только специфичную
для данной системы информацию.Поскольку rc.conf читается
&man.sh.1;, есть тривиальный способ сделать это. Например:rc.conf: . 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 должен остаться
только на одной машине.Обновление системы с помощью &man.sysinstall.8;
или make world не повлекут за собой перезапись
rc.conf. Вся информация в этом файле
сохранится.Настройка приложенийОбычно, установленные приложения имеют свои конфигурационные файлы,
со своим собственным синтаксисом. Важно хранить эти файлы отдельно от
файлов основной системы, чтобы их можно было легко администрировать с
помощью средств управления пакетами./usr/local/etcОбычно эти файлы устанавливаются в
/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 этот файл уже не будет
перезаписан.Запуск сервисовсервисыОбычно в системе работает множество сервисов. Их можно
запустить различными способами, каждый из которых имеет свои
преимущества./usr/local/etc/rc.dПрограммное обеспечение, установленное из коллекции портов или
пакетов обычно записывает свои скрипты в
/usr/local/etc/rc.d
который выполняется с аргументом при запуске
и с аргументом при завершении работы системы.
Этот метод запуска рекомендуется, если вы запускаете сервисы как
root, или же они должны быть запущены с
привилегиями root. Эти скрипты устанавливаются
вместе с пакетами, и соответственно, при удалении пакетов скрипты будут
также удалены.Типичный скрипт из /usr/local/etc/rc.d,
выполняющийся при запуске выглядит следующим образом:#!/bin/sh
echo -n ' FooBar'
case "$1" in
start)
/usr/local/bin/foobar
;;
stop)
kill -9 `cat /var/run/foobar.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Стартовые скрипты &os; ищут в каталоге
/usr/local/etc/rc.d скрипты с расширением
.sh, исполняемые пользователем
root. Обнаруженные скрипты выполняются с
с параметром при старте системы и с параметром
при завершении работы системы.
Поэтому если вы хотите использовать пример скрипта выше и запускать
его во время старта системы, сохраните его в каталоге
/usr/local/etc/rc.d с именем
FooBar.sh и убедитесь, что он исполняемый.
Вы можете сделать скрипт исполняемым с помощью &man.chmod.1;,
как показано ниже:&prompt.root; chmod 755 FooBar.shНекоторые сервисы должны быть запущены &man.inetd.8; при установке
соединения с определённым портом. Это может понадобиться, например,
для почтовых серверов (POP, IMAP, и т.д.). Для этого нужно
отредактировать файл /etc/inetd.conf.
Подробнее о работе с этим файлом вы можете прочитать в
&man.inetd.8;.Некоторые дополнительные системные сервисы могут быть не учтены
в файле /etc/rc.conf. Тогда для их запуска нужно
прописать соответствующую команду в /etc/rc.local.
Во &os; 3.1 не предусмотрен /etc/rc.local;
но считается признаком хорошего тона создание этого файла
администратором. Заметьте, что rc.local
используется для запуска сервисов только в крайнем случае.
Если есть лучший способ запустить сервис, используйте его.Не записывайте свои команды в
/etc/rc.conf. Для запуска демонов, или для
выполнения вашей команды во время запуска - запишите ваш скрипт
в /usr/local/etc/rc.d.Также допускается использование &man.cron.8; для запуска системных
сервисов. Этот метод обладает рядом преимуществ, которые заключаются не
только в том, что &man.cron.8; запускает эти процессы, как владелец
crontab, но и в том, что сервисы могут быть
запущены и не привилегированными пользователями.Очень удобно пользоваться возможностью
&man.cron.8;, которая заключается в том, что если вместо времени
указать @reboot, запланированная программа будет
запущена сразу после запуска &man.cron.8; после перезагрузки
системы.TomRhodesПредоставил Настройка утилиты croncronнастройкаОдна из наиболее полезных утилит &os; это &man.cron.8;. Утилита
cron работает в фоновом режиме и постоянно проверяет
файл /etc/crontab. Утилита cron
проверяет также каталог /var/cron/tabs в поиске
новый файлов crontab. Файлы
crontab содержат информацию об определенных
функциях, которые cron выполняет в указанное
время.Утилита cron использует два разных типа
конфигурационных файлов, системный и пользовательский.
Все различие между этими двумя форматами заключается в
шестом поле. В системном файле шестое поля это имя пользователя,
с правами которого будет запущена команда. Это позволяет запускать
команды из системного crontab от любого пользователя. В
пользовательском файле шестое поле указывает запускаемую команду, и
все команды запускаются от пользователя, который создал crontab;
это важно для безопасности.Пользовательские crontab позволяют индивидуальным пользователям
планировать задачи без привилегий суперпользователя. Команды из
crontab пользователя запускаются с привилегиями этого
пользователя.Пользователь root может использовать
собственный crontab, как и любой другой пользователь. Он будет
отличаться от системного crontab /etc/crontab.
Поскольку существует системный crontab, обычно не требуется
создавать пользовательский crontab для
root.Давайте заглянем в файл /etc/crontab
(системный crontab):# /etc/crontab - root's crontab for &os;
#
# $&os;: 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, символы #
означают комментарии. Комментарии нужны для напоминания о том,
что означает строка и зачем она добавлена. Комментарии не могут
находиться на той же строке, что и команда, или они будут
восприняты как часть команды; располагайте их на новой строке.
Пустые строки игнорируются.Сначала должны быть заданы переменные окружения. Знак равно
(=) используется для задания переменных
окружения, в этом примере SHELL, PATH,
и HOME. Если переменная для оболочки не задана,
cron использует оболочку по умолчанию,
sh. Если не задана переменная
PATH, значение по умолчанию не устанавливается и
пути к файлам должны быть полными. Если не задана переменная
HOME, cron будет использовать
домашний каталог соответствующего пользователя.В строке всего семь полей. Их значения
minute, hour,
mday, month,
wday, who (кто), и
command. Значение полей почти очевидно.
minute это время в минутах, когда будет запущена
команда. hour означает то же самое для часов.
mday означает день месяца.
month, это то же самое, что час и минута,
но для месяцев. Параметр wday это день
недели. Все эти поля должны быть в
числовом формате, время в двадцатичетырехчасовом исчислении.
Поле who имеет специальное значение, и
присутствует только в файле /etc/crontab.
Это поле определяет пользователя, с правами которого должна быть
запущена команда. Когда пользователь устанавливает собственный
файл crontab, он не указывает этот параметр.
Последний параметр command. Он указывает команду, которая должна
быть запущена.Последняя строка определяет параметры, описанные выше. Здесь
задано значение */5, и несколько символов
*. Эти символы * означают
первый-последний, и могут быть интерпретированы как
каждый. Таким образом, для этой строки
соответствующая команда atrun вызывается
под пользователем root каждые пять минут
независимо от дня или месяца. За дополнительной информацией по
команде atrun обращайтесь к странице справочника
&man.atrun.8;.Команды могут принимать любое количество параметров; однако
команды, состоящие из нескольких строк, должны быть объединены
символом \.Этот формат одинаков для каждого файла crontab,
за исключением одной детали. Шестое поле, где указано имя пользователя,
присутствует только в файле /etc/crontab. Это
поле должно быть исключено из crontab файлов
пользователей.Установка crontabВы не должны использовать процедуру, описанную здесь, для
установки системного crontab. Просто используйте свой
любимый текстовый редактор: утилита cron
узнает о том, что файл изменился и сразу начнет использовать
обновленную версию. Обратитесь к этой
части FAQ за дальнейшей информацией.Для установки готового crontab пользователя,
сначала создайте в вашем любимом редакторе файл соответствующего
формата, а затем воспользуйтесь утилитой
crontab. Обычно она запускается
так:&prompt.user; crontab crontab-fileВ этом примере, crontab-file это имя файла
crontab, который только что был создан.Существует также параметр для просмотра установленных файлов
crontab: задайте crontab
параметр .Для пользователей, составляющих crontab вручную, без временного
файла, существует параметр crontab -e.
Она вызовет редактор с пустым файлом. Когда файл будет сохранен,
crontab автоматически установит его.Если позднее вы захотите полностью удалить свой
crontab, используйте
crontab с параметром .TomRhodesПредоставил Использование rc в FreeBSD 5.XrcNGВ &os; недавно была интегрирована из NetBSD система
rc.d, используемая для старта системы.
Многие из файлов в каталоге /etc/rc.d
предназначены для основных сервисов, они могут управляться
параметрами ,
, и
. Например, &man.sshd.8; может быть
перезапущен следующей командой:&prompt.root; /etc/rc.d/sshd restartЭта процедура похожа для других сервисов. Конечно, сервисы
обычно запускаются автоматически, как указано в &man.rc.conf.5;.
Например, включение даемона Network Address Translation
при запуске выполняется простым добавлением следующей строки
в /etc/rc.conf:natd_enable="YES"Если уже присутствует,
просто измените на .
Скрипты rc автоматически загрузят все другие зависимые
сервисы, как описано ниже.Поскольку система rc.d в основном предназначена
для запуска/отключения сервисов во время запуска/отключения
системы, стандартные параметры ,
и будут работать
только если установлена соответствующая переменная в
/etc/rc.conf. Например, команда выше
sshd restart будет работать только если
переменная sshd_enable в файле
/etc/rc.confустановлена в .
Для выполнения скриптов независимо от установок в
/etc/rc.conf, параметры ,
или необходимо
задавать с префиксом force. Например, для
перезапуска sshd независимо от установок в
/etc/rc.conf, выполните следующую
команду:&prompt.root; /etc/rc.d/sshd forcerestartПроверить состояние переменной в файле
/etc/rc.conf легко: запустите соответствующий
скрипт из rc.d с параметром
. Проверка переменной для
sshd выполняется следующей командой:&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YESВторая строка (# sshd) это вывод
команды sshd, а не консоль
root.Чтобы определить, запущен ли сервис, существует параметр
. Например для проверки того, запущен ли
sshd, выполните:&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.Возможна также перегрузка () сервиса.
Скрипт, запущенный с этим параметром, попытается отправить сервису
сигнал, вызывающий перезагрузку файлов настройки. В большинстве
случаев это означает отправку сервису сигнала
SIGHUP.Структура rcNG используется не только для
сетевых серверов, она отвечает также за большую часть инициализации
системы.
Рассмотрим, к примеру, файл bgfsck. Во время
выполнения этот скрипт выводит следующее сообщение:Starting background file system checks in 60 seconds.Следовательно, этот файл используется для фоновой проверки файловых
систем, которая выполняется только в процессе инициализации
системы.Функционирование многих сервисов системы зависит от корректной
работы других сервисов. Например, NIS и другие основанные на
RPC сервисы могут не запуститься, пока не загрузится
rpcbind (portmapper). Для разрешения этой
проблемы, в начале каждого скрипта в комментарии включаются
информация о зависимостях и другие метаданные. Программа
&man.rcorder.8; для разбора этих комментариев во время старта
системы для определения порядка, в котором должны вызываться
системные сервисы в соответствии с зависимостями. В начало
каждого стартового файла должны быть включены следующие
строки:PROVIDE: Задает имя сервиса, предоставляемого этим файлом.REQUIRE: Список сервисов, необходимых этому сервису. Этот
файл будет запущен после указанных
сервисов.BEFORE: Список сервисов, зависящих от этого сервиса. Этот
файл будет запущен до указанных
сервисов.KEYWORD: &os; или NetBSD. Используется для функций,
зависящих от версии *BSD.Используя этот метод, администратор может легко контролировать
системные сервисы без использования уровней запуска,
как в некоторых других операционных системах &unix;.Дополнительную информацию о системе rc.d
&os; 5.X можно найти на страницах справочника &man.rc.8; и
and &man.rc.subr.8;.MarcFonvieilleПредоставил Настройка карт сетевых интерфейсовнастройка сетевой картыВ наши дни мы не представляем себе компьютера без сетевого
подключения. Добавление и настройка сетевой карты это
обычная задача любого администратора &os;.Поиск подходящего драйверанастройка сетевой картыпоиск драйвераВ первую очередь определите тип используемой карты (PCI или ISA),
модель карты и используемый в ней чип. &os; поддерживает
многие PCI и ISA карты. Обратитесь к Списку поддерживаемого
оборудования вашего релиза чтобы узнать, поддерживается ли
карта.Как только вы убедились, что карта поддерживается, потребуется
определить подходящий драйвер. В файле
/usr/src/sys/i386/conf/LINT находится список
драйверов сетевых интерфейсов с информацией о поддерживаемых
чипсетах/картах. Если вы сомневаетесь в том, какой драйвер
подойдет, прочтите страницу справочника к драйверу.
Страница справочника содержит больше информации о поддерживаемом
оборудовании и даже о проблемах, которые могут возникнуть.Если ваша карта широко распространена, вам скорее всего
не потребуется долго искать драйвер. Драйверы для
широко распространенных карт представлены в ядре
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В этом примере две карты используют имеющийся в системе
драйвер &man.dc.4;.Для использования сетевой карты потребуется загрузить
подходящий драйвер. Это можно сделать двумя способами.
Самый простой способ это загрузка модуля ядра для
сетевой карты с помощью &man.kldload.8;. Не для каждой
сетевой карты есть модуль (например ISA карты и карты,
использующие драйвер &man.ed.4;). В качестве альтернативы,
вы можете статически добавить поддержку сетевой карты
в ядро. Проверьте /usr/src/sys/i386/conf/LINT
и страницу справочника драйвера, чтобы узнать, что добавить
в файл конфигурации ядра. За дополнительной информацией о
пересборке ядра обращайтесь к .
Если ваша карта была обнаружена ядром (GENERIC)
во время загрузки, собирать новое ядро не потребуется.Настройка сетевой картынастройка сетевой картынастройкаКак только для сетевой карты загружен подходящий драйвер,
ее потребуется настроить. Как и многое другое, сетевая
карта может быть настроена во время установки с помощью
sysinstall.Для вывода информации о настройке сетевых интерфейсов системы,
введите следующую команду:&prompt.user; 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Старые версии &os; могут потребовать запуска
&man.ifconfig.8; с параметром , за
более подробным описанием синтаксиса &man.ifconfig.8;
обращайтесь к странице справочника. Учтите также, что
строки, относящиеся к IPv6 (inet6 и т.п.)
убраны из этого примера.В этом примере были показаны следующие устройства:dc0: первый Ethernet
интерфейсdc1: второй Ethernet
интерфейсlp0: интерфейс параллельного
портаlo0: устройство loopbacktun0: туннельное устройство,
используемое pppДля присвоения имени сетевой карте &os; использует имя
драйвера и порядковый номер, в котором карта обнаруживается
при инициализации устройств. Например, sis2
это третья сетевая карта, использующая драйвер &man.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 кабель не подключен к карте.Если &man.ifconfig.8; показывает примерно следующее:dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:daэто означает, что карта не была настроена.Для настройки карты вам потребуются привилегии пользователя
root. Настройка сетевой карты может быть
выполнена из командной строки с помощью &man.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, и так далее на соответствующие
имена ваших карт, подставьте соответствующие адреса.
Обратитесь к страницам справочника сетевой карты и
&man.ifconfig.8;, за подробной информацией о доступных
опциях и к странице справочника &man.rc.conf.5; за дополнительной
информацией о синтаксисе /etc/rc.conf.Если вы настроили сетевую карту в процессе установки системы,
некоторые строки, касающиеся сетевой карты, могут уже присутствовать.
Внимательно проверьте /etc/rc.conf перед
добавлением каких-либо строк.Отредактируйте также файл /etc/hosts
для добавления имен и IP адресов различных компьютеров сети,
если их еще там нет. За дополнительной информацией обращайтесь
к man.hosts.5;
и к /usr/share/examples/etc/hosts.Тестирование и решение проблемКак только вы внесете необходимые изменения в
/etc/rc.conf, перегрузите компьютер.
Изменения настроек интерфейсов будут применены, кроме того
будет проверена правильность настроек.Как только система перезагрузится, проверьте сетевые
интерфейсы.Проверка Ethernet картынастройка сетевой картытестирование картыДля проверки правильности настройки сетевой карты,
попробуйте выполнить ping для самого интерфейса, а затем
для другой машины в локальной сети.Сначала проверьте локальный интерфейс:&prompt.user; 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Затем проверьте другую машину в локальной сети:&prompt.user; 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.Решение проблемнастройка сетевой картырешение проблемРешение проблем с аппаратным и программным обеспечением всегда
вызывает сложности, которые можно уменьшить, проверив сначала
самые простые варианты. Подключен ли сетевой кабель? Правильно ли
настроены сетевые сервисы? Правильно ли настроен межсетевой экран?
Поддерживается ли используемая карта в &os;? Всегда проверяйте
информацию об оборудовании перед отправкой сообщения об ошибке.
Обновите &os; до последней версии STABLE. Просмотрите
архивы списков рассылки, или поищите информацию в интернет.Если карта работает, но производительность низка, может помочь
чтение страницы справочника &man.tuning.7;. Проверьте также
настройки сети, поскольку неправильные настройки могут стать причиной
низкой скорости соединения.Некоторые пользователи встречаются с несколькими
device timeouts, что нормально для некоторых сетевых
карт. Если это продолжается и надоедает, убедитесь, что
устройство не конфликтует с другим устройством. Внимательно
проверьте подключение кабеля. Возможно также, что вам просто надо
установить другую карту.Время от времени, пользователи видят несколько ошибок
watchdog timeout. Первое, что требуется сделать,
это проверить сетевой кабель. Многие карты требуют поддержки
Bus Mastering слотом PCI. На некоторых старых материнских платах,
только один PCI слот имеет такую поддержку (обычно слот 0).
Сверьтесь с документацией на сетевую карту и материнскую плату,
чтобы определить, может ли это быть проблемой.Сообщение No route to host появляются, если
система не в состоянии доставить пакеты к хосту назначения.
Это может случиться, если не определен маршрут по умолчанию,
или кабель не подключен. Проверьте вывод команды netstat
-rn и убедитесь, что к соответствующему хосту
есть работающий маршрут. Если это не так, прочтите .Сообщения ping: sendto: Permission denied
зачастую появляются при неправильно настроенном межсетевом экране.
Если ipfw включен в ядре, но правила не
определены, правило по умолчанию блокирует весь трафик,
даже запросы ping! Прочтите с более подробной информацией.Иногда карты недостаточна, или ниже среднего. В этих случаях
лучше всего изменить режим выбора типа подключения с
autoselect на правильный тип.
Обычно это работает для большинства оборудования, но не может
решить проблему во всех случаях. Проверьте еще раз настройки сети
и прочтите страницу руководства &man.tuning.7;.Настройка виртуальных сервероввиртуальные серверасинонимы ipОчень часто &os; используется для размещения сайтов, когда
один сервер работает в сети как несколько серверов. Это достигается
присвоением нескольких сетевых адресов одному интерфейсу.У сетевого интерфейса всегда есть один настоящий адрес, хотя он
может иметь любое количество синонимов (alias). Эти алиасы обычно
добавляются путём помещения синонимов в
/etc/rc.conf.Синоним для интерфейса fxp0 выглядит
следующим образом:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"Заметьте, что алиас записи должны начинаться с alias0 и идти далее
в определенном порядке, (например, _alias1, _alias2, и т.д.).
Конфигурационный процесс остановится на первом отсутствующем по порядку
числе.Определение маски подсети для синонима очень важно, но к счастью, так же
просто. Для каждого интерфейса должен быть один адрес с истинной маской
подсети. Любой другой адрес в сети должен иметь маску подсети, состоящую
из всех единичек.Например, рассмотрим случай, когда интерфейс
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.Для этого должны быть внесены следующие записи: 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"Файлы настройкиКаталог /etcВо FreeBSD определён ряд директорий, предназначенных для
хранения конфигурационных файлов. Это:/etcОсновные файлы конфигурации системы. Тут размещены
системно–зависимые данные./etc/defaultsВерсии системных конфигурационных файлов по
умолчанию./etc/mailДополнительные конфигурационные файлы &man.sendmail.8;
остальные конфигурационные файлы MTA.
/etc/pppНастройка для user- и kernel-ppp программ.
/etc/namedbОсновное место расположения данных &man.named.8;.
Обычно named.conf и файлы зон
расположены здесь./usr/local/etcКонфигурационные файлы установленных приложений. Могут
содержать подкаталоги приложений./usr/local/etc/rc.dСкрипты запуска/остановки установленных приложений./var/dbАвтоматически генерируемые системно-специфичные файлы
баз данных, такие как база данных пакетов, и так
далееИмена хостовhostnameDNS/etc/resolv.confresolv.conf/etc/resolv.conf определяет, как
ресолвер (resolver) &os; получает доступ к Системе Доменных
Имён (DNS).Основные записи resolv.conf:
nameserverIP адрес сервера имён. Сервера опрашиваются в порядке
описания. Максимальное количество адресов - три.searchСписок доменов для поиска с помощью hostname lookup.
Обычно определяется доменом, в котором находится
компьютер.domainДомен, в котором находится компьютер.Типичный вид resolv.conf:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30Опции search и
domain нельзя использовать
совместно.Если вы используете DHCP, &man.dhclient.8; обычно перезаписывает
resolv.conf информацией, полученной от серверов
DHCP./etc/hostshosts/etc/hosts - простая текстовая база
данных, напоминающая старый Интернет. Она работает совместно с
DNS и NIS, сопоставляя доменные имена IP адресу.
Отдельные компьютеры, соединённые с помощью локальной сети могут
быть записаны тут вместо &man.named.8; сервера с целью упрощения.
Кроме того, /etc/hosts используется для
записи IP адресов и соответствующих им доменов, избавляя от
внешнего трафика, используемого для запросов к DNS серверам.# $&os;$
#
# 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За дополнительной информацией обращайтесь к &man.hosts.5;.Настройка лог файловлог файлыsyslog.confsyslog.confsyslog.conf is является файлом конфигурации
для &man.syslogd.8;. В нём указываются, типы сообщений
генерируемые syslog, и лог файлы, в которые они
записываются.# $&os;$
#
# 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За более полной информацией обратитесь
к &man.syslog.conf.5;.newsyslog.confnewsyslog.confnewsyslog.conf - конфигурационный файл
&man.newsyslog.8;, программы, обычно контролируемой &man.cron.8;.
&man.newsyslog.8; определяет, когда лог-файлы нуждаются в
архивировании и перегруппировке.
logfile перемещается в
logfile.0, logfile.0
перемещается в logfile.1, и так далее.
Другое именование получится при архивировании с помощью
&man.gzip.1;: logfile.0.gz,
logfile.1.gz, и т.д.newsyslog.conf показывает, какие лог файлы
должны быть проинспектированы, сколько их должно быть сохранено, и когда
они должны быть пересмотрены. Лог файлы могут быть перегруппированы
и/или заархивированы, когда они либо достигнут определённого
размера, либо при достижении определённых даты/времени.# configuration file for newsyslog
# $&os;$
#
# 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За дополнительной информацией обращайтесь к
&man.newsyslog.8;.
-
+ sysctl.confsysctl.confsysctlsysctl.conf очень похож на
rc.conf. Значения устанавливаются в виде
variable=value. Указанные значения устанавливаются
после перевода системы в многопользовательский режим. Однако не все
переменные могут быть установлены в этом режиме.Пример sysctl.conf настроенной для выключения
нотирования фатальных ошибок и разрешения Linux-программам определять,
что они запускаются под &os;:kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11)
compat.linux.osname=&os;
compat.linux.osrelease=4.3-STABLEНастройка с помощью sysctlsysctlнастройкас помощью sysctl&man.sysctl.8; - это интерфейс, позволяющий вам вносить изменения
в работающую систему &os;. Эти изменения могут касаться многих опций стека
TCP/IP и виртуальной памяти и могут облегчить опытному администратору
жизнь. Более пяти тысяч системных переменных могут быть прочитаны и
записаны с помощью &man.sysctl.8;.По своей сути, &man.sysctl.8; выполняет две функции: чтение
и изменение настроек системы.Для просмотра всех доступных для чтения переменных::&prompt.user; sysctl -aЧтобы прочитать определённую переменную, например,
kern.maxproc, введите:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Для присвоения значения переменной, используйте выражение вида
переменная=значение:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000Изменяемые с помощью sysctl переменные обычно принимают значения
либо строкового, либо целого, либо булевого типа. Переменные булевого
типа могут принимать два значения (1 (истина) и
0 (ложь)).
+
+ Если вы хотите устанавливать некоторые переменные автоматически
+ при каждой загрузке компьютера, добавьте их в файл
+ /etc/sysctl.conf. За дополнительной
+ информацией обращайтесь к странице справочника &man.sysctl.conf.5;
+ и к .TomRhodesПредоставил Переменные &man.sysctl.8; только для чтенияВ некоторых случаях желательно изменить переменные
&man.sysctl.8; только для чтения. Хотя это не рекомендуется,
иногда другого способа решить проблему нет.Например, на некоторых моделях лэптопов диапазон памяти устройства
&man.cardbus.4; не определяется и выдается приблизительно такая
ошибка:cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12Ситуации, похожие на эту, требуют изменения некоторых значений
&man.sysctl.8;, модификация которых запрещена. Для разрешения этой
ситуации пользователь может поместить &man.sysctl.8; OID
в файл /boot/loader.conf. Значения по
умолчанию хранятся в файле
/boot/defaults/loader.conf.Решение проблемы, приведенной выше, потребует помещения строки
в вышеупомянутый
файл. Теперь &man.cardbus.4; будет работать нормально.Оптимизация дисковПеременные Sysctlvfs.vmiodirenablevfs.vmiodirenableЗначением переменной vfs.vmiodirenable
может быть установлено в 0 (выключено) или 1 (включено); по
умолчанию 1. Эта переменная отвечает за метод кэширования
каталогов. Размер большинства каталогов невелик. Они могут
поместиться в одном фрагменте (обычно 1K), и могут занимать
ещё меньше места (обычно 512 байт) в кэше буфера. Однако, при
работе в стандартном режиме буфер прокэширует только заданное число
каталогов даже если у вас много памяти. Включение этого параметра
sysctl позволит использовать страничное кэширование VM,
делая доступным для кэширования каталогов
весь объём памяти. Однако,
минимальный объём памяти, используемой для
кэширования каталогов стал равен объёму страницы (обычно 4 K)
вместо 512 байт. Мы рекомендуем включить эту опцию, если ваш
компьютер исполняет программы, манипулирующие значительным
количеством файлов. Примером таких программ могут быть кэширующие
прокси-серверы, большие почтовые серверы и серверы новостей. Обычно
включение этой опции не понижает производительности, однако лучше
поэкспериментировать, чтобы узнать оптимальное значение для вашей
машины.vfs.write_behindvfs.write_behindПеременная sysctl vfs.write_behind по
умолчанию установлена в 1 (включено). Она
указывает системе выполнять запись на носитель по кластерам,
что обычно делается для больших файлов. Идея в том, чтобы
избежать заполнения кэша неполными буферами, когда это не
увеличивает производительность. Однако, это может заблокировать
процессы и в некоторых случаях вам может понадобиться отключить
этот параметр.vfs.hirunningspacevfs.hirunningspaceПеременная sysctl vfs.hirunningspace
определяет число запросов записи на диск, которые могут
быть поставлены в очередь. Значение по умолчанию обычно подходит,
но на компьютерах с большим количеством дисков вы можете
увеличить его до четырех или пяти мегабайт.
Учтите, что установка слишком большого значения (превышающего
размер буфера записи) может привести к очень значительному
падению общей производительности. Не делайте это значение
произвольно большим! Большие значения могут привести к
задержкам чтения, выполняемого в то же времяЕсть много других переменных sysctl, относящихся к кэшированию
в буфер и страничному кэшированию VM. Мы не рекомендуем изменять
эти значения. Начиная &os; 4.3, система VM делает отличную
работу по автоматической самонастройке.vm.swap_idle_enabledvm.swap_idle_enabledПеременная sysctl vm.swap_idle_enabled
полезна в больших многопользовательских системах, где есть
много пользователей, входящих и выходящих из системы, и
множество ожидающих процессов. Такие системы обычно генерируют
большое количество запросов на выделение памяти. Включение этой
переменной и настройка задержки выгрузки (swapout hysteresis,
в секундах) установкой переменных
vm.swap_idle_threshold1 и
vm.swap_idle_threshold2 позволит освобождать
страницы памяти, занятые ожидающими процессами, более быстро,
чем при нормальном алгоритме выгрузки. Это помогает даемону
выгрузки страниц. Не включайте этот параметр, пока он на самом
деле вам не понадобится, поскольку его действие в сущности
заключается в более ранней выгрузке страниц из памяти; это
повышает нагрузку на подкачку и диск. В малых системах
эффект от включения этого параметра предсказуем, но в больших
системах нагруженной на подкачкой этот параметр позволяет
системе VM проще загружать и выгружать процессы из памяти.hw.ata.wchw.ata.wcВо &os; 4.3 кэширование записи на IDE диски было отключено.
Это понижало производительность IDE дисков в тестах, но было
необходимо для лучшей сохранности данных. Проблема состоит в том,
что IDE диски неправильно указывают время завершения записи на диск.
При включенном кэшировании IDE диски могут не только записать данные
в неправильном порядке – при большой нагрузке на диск некоторые
блоки могут задержаться до бесконечности. Сбой, или отключение
питания могут могут стать причиной серьёзных повреждений в файловой
системе. Поэтому для безопасности системы значение по умолчанию
этого параметра было изменено. К сожалению, результатом этого стало
столь значительная потеря производительности, что после выхода
релиза значение этого параметра было возвращено в первоначальное
состояние. Вам следует проверить значение переменной sysctl
hw.ata.wc на вашей машине. Если кэширование
выключено - вы можете включить его, установив значение переменной
ядра, равное 1. Это должно быть сделано при помощи загрузчика при
загрузке. Если вы сделаете это позже - изменения не будут иметь
силы.За более подробной информацией обращайтесь к &man.ata.4;.
(kern.cam.scsi_delay)kern.cam.scsi_delayПараметр настройки ядра может
использоваться для уменьшения времени загрузки системы.
Значение по умолчанию велико и может составлять более
15 секунд в процессе загрузки. Уменьшение
его до 5 секунд обычно работает (особенно
с современными дисками). В новые версии &os; (5.0+) должен
использоваться параметр kern.cam.scsi_delay,
настраиваемый во время загрузки. Этот параметр и параметр
настройки ядра принимают значения в
миллисекундах, а не в
секундах.Soft UpdatesSoft UpdatestunefsПрограмма &man.tunefs.8; используется для настройки файловой
системы. Эта программа может принимать большое количество параметров,
но мы рассмотрим лишь один из них - включение и выключение
Soft Updates, что может быть достигнуто следующим образом:&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystemНельзя изменять файловую систему с помощью &man.tunefs.8; когда
она смонтирована. Самое подходящее время для включения "Soft Updates"
- перед монтированием разделов, в однопользовательском режиме.Начиная с &os; 4.5, можно включить Soft Updates
во время создания файловой системы, используя
&man.newfs.8; с параметром -U.Soft Updates существенно увеличивают скорость создания и удаления
файлов путём использования кэширования. Мы рекомендуем использовать Soft
Updates на всех ваших файловых системах. Однако у Soft Updates есть
и обратные стороны: во-первых, Soft Updates гарантирует целостность
файловой системы в случае сбоя, но может наблюдаться задержка в
несколько секунд (или даже минуту!) перед записью на жесткий диск.
Если система зависнет - вы можете потерять
больше, чем, если бы вы не включили Soft Updates. Во-вторых,
Soft Updates задерживает освобождение блоков файловой системы.
Если ваша файловая система заполнена, выполнение значительного
обновления, например.
make installworld, может вызвать
переполнение.Дополнительная информация о Soft UpdatesSoft UpdatesдеталиЕсть два традиционных способа записи метаданных файловых систем
на диск. (Пример метаданных: индексные дескрипторы и
каталоги.)Исторически, поведение по умолчанию заключается в синхронном
обновлении метаданных. Если каталог был изменен, система
ждет, пока изменение не будет физически записано на диск.
Содержимое файлов проходит через кэш и записывается на
диск асинхронно. Преимущество этого способа в его
надежности. При сбое во время обновления метаданные
остаются в нормальном состоянии. Файл либо создается целиком,
либо вообще не создается. Если блоки данных не были записаны
в файл из буфера во время сбоя, &man.fsck.8; сможет определить
это и восстановить файловую систему, установив длину файла в 0.
Кроме того, реализация этого способа проста и понятна.
Недостаток в том, что обновление метаданных занимает много
времени. Команда rm -r, например,
последовательно удаляет все файлы в каталоге, и каждое изменение
в каталоге (удаление файла) будет синхронно записано на диск.
Сюда включаются обновления самого каталога, таблицы индексных
дескрипторов, и возможно блоков, занятых файлом. Те же
соглашения работают при распаковке больших иерархий
(tar -x).Другой вариант это асинхронное обновление метаданных. Это
поведение по умолчанию для Linux/ext2fs и *BSD ufs с параметром
mount -o async. Все обновления метаданных
просто пропускаются через кэш буфера, как и содержимое файлов.
Преимущество этой реализации в том, что нет необходимости ждать
каждый раз, пока метаданные будут записаны на диск, поэтому
все операции с большим объемом обновления метаданных будут
происходить гораздо быстрее чем при синхронном обновлении.
Кроме того, реализация все еще проста и понятна, поэтому
риск появления ошибок в коде невелик. Недостаток в том,
что нет никаких гарантий исправности файловой системы. Если во
время во время обновления большого объема метаданных произойдет
сбой (например, отключение питания, или нажатие кнопки reset),
файловая система останется в непредсказуемом состоянии.
Нет возможности определить состояние файловой системы после
такого сбоя; блоки данных файла могут быть уже записаны на диск,
а обновления таблицы индексных дескрипторов нет. Невозможно
реализовать fsck, которая могла бы
исправить получившийся хаос (поскольку необходимой информации
нет на диске). Если файловая система была уничтожена во
время восстановления, единственный способ восстановления
— запустить &man.newfs.8; и воспользоваться
резервной копией.Обычное решение этой проблемы состояло в реализации
протоколировании проблемной области (dirty region
logging), известном как
журналирование, хотя этот термин
использовался неправильно и порой также применялся к другим
формам протоколирования транзакций. Обновление метаданных
как и прежде происходит синхронно, но в отдельную область
диска. Позже они перемещаются туда, где должны быть.
Поскольку область протоколирования это небольшая,
последовательная область диска, головкам жесткого диска
не приходится перемещаться на большие расстояния даже
во время значительных обновлений, поэтому такой способ
быстрее, чем синхронные обновления.
Кроме того, сложность реализации довольно ограничена, поэтому
риск внесения ошибок невелик. Недостаток в том, что
все обновления метаданных записываются дважды (один раз
в область протоколирования и один раз окончательно),
поэтому при обычной работе производительность может
понизиться. С другой стороны, в случае сбоя все
незаконченные действия с метаданными могут быть быстро
отменены, или завершены после загрузки системы,
поэтому система после сбоя загружается быстрее.Kirk McKusick, разработчик Berkeley FFS, решил эту проблему
с помощью Soft Updates: все незавершенные обновления метаданных
находятся в памяти и записываются на диск в упорядоченном
виде (упорядоченное обновления метаданных).
При значительных обновлениях метаданных более поздние обновления
присоединяются к предыдущим, если они все еще
находятся в памяти и еще не записаны на диск. Поэтому все
операции, скажем, над каталогом, обычно выполняются в памяти
перед записью обновления на диск (блоки данных сортируются
в соответствии с их положением, так что они не будут записаны
на диск до метаданных. При крахе операционной системы выполняется
откат: считается, что все операции, не записанные на
диск, никогда не происходили. Файловая система находится в
том состоянии, в котором она была за 30–60 секунд до сбоя.
Используемый алгоритм гарантирует, что все используемые ресурсы
маркированы соответствующим образом в своих областях: блоки и
индексные дескрипторы. После сбоя могут остаться только ошибки,
выделения ресурсов, они помечаются как используемые,
хотя на самом деле свободны. &man.fsck.8;
разбирается в ситуации и освобождает более не используемые
ресурсы. После сбоя система может быть безопасно смонтирована
с опцией mount -f. Для освобождения ресурсов,
которые могут не использоваться, в дальнейшем потребуется
запустить &man.fsck.8;. Эта идея лежит в основе
background (фоновая) fsck: во время запуска системы
записывается только снимок файловой системы.
Все системы могут быть смонтированы в грязном
состоянии, и система загружается в многопользовательский режим.
Затем, фоновые fsck ставятся в очередь для
всех систем, где это требуется, чтобы освободить неиспользуемые
ресурсы. (Файловые системы, где не используются Soft Updates,
все еще требуют запуска fsck в обычном
режиме).Преимущество этого способа в том, что обновления метаданных
происходят почти так же быстро, как при асинхронных обновлениях
(т.е. быстрее, чем при журналировании,
когда метаданные записываются дважды). Недостаток в сложности
кода (подразумевающим больший риск появления ошибок в области,
где вероятность потери данных пользователя особенно высока) и
в более высоких требованиях к объему памяти. К тому же могут
возникнуть некоторые странные на первый взгляд ситуации.
После сбоя состояние файловой системы несколько более
старое. В ситуации, когда стандартный способ
синхронизации оставит несколько файлов нулевой длины после
выполнения fsck, в файловой системе с
Soft Updates их не останется вовсе, поскольку ни метаданные,
ни содержимое файлов не были записаны на диск. Дисковое
пространство не будет освобождено пока обновления не будут
записаны на диск, что может занять некоторое время после
выполнения rm. Это может повлечь проблемы
при установке большого количества файлов на файловую
систему, где не хватает места для помещения всех файлов
дважды.Изменение ограничений, накладываемых ядромоптимизацияпараметры ядраОграничения на Файлы/Процессыkern.maxfileskern.maxfilesЗначение kern.maxfiles может быть увеличено
или уменьшено в зависимости от потребностей вашей системы. Эта
переменная определяет максимальное число дескрипторов файлов. Когда
таблица дескрипторов файлов полна, в очереди системных сообщений
появится сообщение file: table is full. Это
сообщение может быть прочитано с помощью команды
dmesg.Каждый открытый файл, сокет или буфер использует дескриптор
файла. Широкомасштабному серверу может понадобиться много
тысяч дескрипторов файлов, в зависимости от количества программ,
одновременно выполняемых на сервере.Стандартное значение kern.maxfile определяется
переменной в вашем файле конфигурации
ядра. Значение kern.maxfiles увеличивается
пропорционально значению . При
компилировании ядра, нужно установить эту переменную согласно
потребностям вашей системы. Исходя из значения этой переменной,
ядро устанавливает значения большинства предопределённых
переменных. Даже если предполагается, что к компьютеру не будут
одновременно подсоединяться 256 пользователей, требуемые ресурсы
могут быть такими же, как у крупномасштабного сервера.Начиная с &os; 4.5, установка значения
в
0 в файле конфигурации ядра выберет подходящее
значение по умолчанию, основанное на объеме оперативной памяти
системы.kern.ipc.somaxconnkern.ipc.somaxconnПеременная sysctl kern.ipc.somaxconn
ограничивает размер очереди для приема новых TCP соединений.
Значение по умолчанию 128 слишком мало для
надежной обработки новых соединений для нагруженного web
сервера. Для такого сервера рекомендуется увеличить это значение
до 1024 или выше. Даемон сервиса может
сам ограничивать очередь приема новых соединений (например,
&man.sendmail.8;, или Apache), но
обычно в файле настройки даемона есть директива для настройки
длины очереди. Более длинная очередь также помогает избежать
атак Denial of Service (DoS).Сетевые ОграниченияОпция ядра обуславливает
количество Mbuf, доступных на машине. На сервере с большим трафиком
и маленьким Mbuf производительность будет пониженной. Каждый кластер
представлен двумя килобайтами памяти, поэтому значение 1024 означает
2 мегабайта памяти ядра, зарезервированной для сетевых буферов.
Для определения оптимального значения необходимо провести простые
вычисления. Если у вас веб сервер, который может обслуживать 1000
одновременных соединений, и каждое соединение съедает 16 K буфера
приема и 16 K буфера отправки, вам потребуется 32 MB памяти
под буферы. Хорошее правило — умножение этого значения на 2,
2x32 MB / 2 KB = 64 MB / 2 kB = 32768.
Мы рекомендуем значения между 4096 и 32768 для машин с большим объемом
памяти. Не указывайте произвольно большое значение параметра, это
может привести к падению системы при загрузке. Используйте
&man.netstat.1; для определения количества
используемых сетевых кластеров.Для настройки в процессе загрузки используйте в loader переменную
kern.ipc.nmbclusters. Только в старых версиях
&os; потребуется пересобрать ядро (&man.config.8;) с измененным
параметром .Для нагруженных серверов, интенсивно использующих системный
вызов &man.sendfile.2;, может потребоваться увеличения буферов
&man.sendfile.2; с помощью параметра конфигурации ядра
, или изменения значения путем установки
переменной в /boot/loader.conf
(обратитесь к &man.loader.8; за подробностями). Общий
признак того, что параметр требуется изменить —
состояние процессов sfbufa.
Переменная sysctl kern.ipc.nsfbufs
установлена только для чтения. Этот параметр увеличивается
вместе с kern.maxusers, хотя может
потребоваться увеличить его отдельно.Даже если сокет помечен как неблокирующий, вызов
&man.sendfile.2; на неблокирующем сокете может вызвать блокирование
&man.sendfile.2;, пока не станет доступным достаточное количество
struct sf_buf.net.inet.ip.portrange.*net.inet.ip.portrange.*Переменные 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 ProductTCP Bandwidth Delay Product Limitingnet.inet.tcp.inflight_enableTCP 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) для получения желаемого эффекта. Уменьшение
значений этих параметров может использоваться только как
крайняя мера.Увеличение объема подкачкиВне зависимости от того, что вы планировали, иногда
система ведет себя неожиданно. Если вам потребовался
дополнительный объем подкачки, его довольно просто добавить.
Есть три способа увеличения объема подкачки: добавить новый
жесткий диск, включить подкачку по NFS, или создать файл
подкачки на существующем разделе.Подкачка на новом жестком дискеЛучший способ добавить подкачку, конечно, использовать
еще один жесткий диск. Вы можете сделать это в любой
момент. Если такой способ подходит, прочтите еще раз
информацию по разделу
подкачки из раздела Руководства по первоначальной настройке,
где рассказывается о наилучшем способе организации раздела
подкачки.Подкачка через NFSПодкачка через NFS рекомендуется только в том случае, если
в системе отсутствует жесткий диск. Подкачка через NFS
медленна и неэффективна в версиях &os; до 4.X. Она
довольно быстра и эффективна в 4.0-RELEASE и выше. Но даже
в новых версиях &os;, подкачка через NFS ограничена
скоростью сетевого подключения и к тому же дополнительно
нагружает NFS сервер.Файлы подкачкиВы можете создать файл определенного размера и использовать
его как файл подкачки. В нашем примере будет использован файл
/usr/swap0 размером 64MB. Конечно, вы
можете использовать любое имя.Создание файла подкачки в &os; 4.XУбедитесь, что ядре включен драйвер vnode. Он
невключен в последних версиях
GENERIC.pseudo-device vn 1 #Vnode driver (turns a file into a device)Создайте устройство vn:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV vn0Создайте файл подкачки (/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Установите подходящие права на (/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Включите файл подкачки в /etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.Перегрузите компьютер, или для включения подкачки прямо
сейчас выполните:&prompt.root; vnconfig -e /dev/vn0b /usr/swap0 swapСоздание файла подкачки в &os; 5.XУбедитесь, что в файле настройки ядра присутствует драйвер
виртуального диска (&man.md.4;). Он есть в ядре
GENERIC.device md # Memory "disks"Создайте файл подкачки (/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Установите подходящие права на (/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Включите файл подкачки в /etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.Перегрузите компьютер или для включения подкачки прямо сейчас
введите:&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0HitenPandyaНаписал TomRhodesУправление питанием и ресурсамиОчень важно использовать аппаратные ресурсы эффективно.
До того, как появился ACPI, управление
потреблением питания и температурными характеристиками системы
было очень сложной для операционной системы задачей. Аппаратное
обеспечение контролировалось одним из видов встроенного интерфейса
BIOS, таким как: Plug and Play BIOS
(PNPBIOS), Advanced Power Management
(APM) и так далее. Управление питанием и ресурсами
это один из ключевых компонентов современной операционной системы.
Например, вам может потребоваться, чтобы операционная система
следила за температурными ограничениями и возможно, предупреждала
при неожиданном росте температуры.В этом разделе Руководства &os;, мы предоставим исчерпывающую
информацию о ACPI. В конце раздела есть ссылки
для дальнейшего чтения. Учтите, что ACPI есть
только в &os; 5.X и выше в качестве стандартного модуля ядра.
В &os; 4.9 ACPI можно включить добавлением
- строки device acpi к файлу настройки ядра и
+ строки device acpica к файлу настройки ядра и
его пересборкой.Что такое ACPI?Advanced Configuration and Power Interface
(ACPI) это стандарт, написанный объединением
поставщиков в целях предоставления стандартного интерфейса для
аппаратных ресурсов и управления питанием (отсюда и название).
Это ключевой элемент Operating System-directed
configuration and Power Management, т.е.: он предоставляет
операционной системе (OS) больше контроля и более
универсален. Современные системы вышли за пределы ограничений
существующих Plug and Play интерфейсов (таких как APM,
использовавшийся в &os; 4.X), до появления
ACPI. ACPI это прямой
наследник APM (Advanced Power Management).Недостатки Advanced Power Management (APM)Средства 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.&os; драйвер APM документирован в странице
справочника &man.apm.4;.Настройка ACPI&man.loader.8; загружает драйвер acpi.ko по
умолчанию, его не надо встраивать в ядро.
Причина в том, что с модулями проще работать, например переключиться
на другой acpi.ko без пересборки ядра.
Преимущество в упрощении тестирования. Другая причина в том, что
запуск ACPI после старта системы не очень полезен
и при некоторых условиях может приводить к краху. Если вы
сомневаетесь, отключите ACPI совсем. Драйвер не
должен и не может быть выгружен, поскольку системная шина используется
для различных взаимодействий оборудования. ACPI
может быть выключен с помощью утилиты &man.acpiconf.8;. Фактически
большинство взаимодействий с ACPI может быть
выполнено через &man.acpiconf.8;. В основном это означает, что если в
выводе &man.dmesg.8; есть что-то об ACPI, он скорее
всего работает.ACPI и APM не могут
сосуществовать и должны использоваться раздельно. Каждый из них
прервет загрузку, если обнаружит загруженный драйвер
другого.В простейшей форме, ACPI может использоваться
для перевода системы в спящий режим с помощью &man.acpiconf.8;, с
флагом и параметром 1-5.
Большинству пользователей нужен только параметр 1.
Параметр 5 сделает мягкое
завершение работы, так же как и:&prompt.root; halt -pДоступны и другие параметры. Обратитесь к странице справочника
&man.acpiconf.8; за дополнительной информацией.NateLawsonНаписал PeterSchultzПри помощи TomRhodesИспользование и отладка &os; ACPIACPI это фундаментально новый способ
обнаружения устройств, управления энергопотреблением и предоставления
стандартизированного доступа к различному оборудованию,
ранее управлявшемуся BIOS. Был достигнут
определенный прогресс в приспособлении ACPI
к работе со всеми системами, но все еще встречаются ошибки
в байткоде ACPI Machine
Language (AML) некоторых материнских плат,
незавершенные участки кода в подсистемах ядра &os; и ошибки в
интерпретаторе ACPI-CA.Этот раздел предназначен для того, чтобы упростить ваше
содействие разработчикам &os; ACPI в
определении причин наблюдаемых вами проблем, выполнении отладки
и выработке решения. Спасибо за помощь и надеемся, что мы сможем
помочь в решении проблем вашей системы.Отправка отладочной информацииПеред отправкой сообщения об ошибке убедитесь, что
у вас последняя версия BIOS, и, если
доступна, последняя версия firmware встроенного
контроллера.Те из вас, кто желает составить сообщение о проблеме прямо
сейчас, могут воспользоваться адресом
freebsd-acpi@FreeBSD.org, отправив на него следующую
информацию:Описание неправильного поведения, включая тип системы, модель
и все, что приводит к появлению ошибки. Кроме того, сообщите
настолько точно, насколько возможно, когда появилась ошибка,
если ранее вы ее не видели.Вывод dmesg после boot
, включая все сообщения, появившиеся
при изучении ошибки.Вывод dmesg после boot
с выключенным ACPI,
если его отключение помогает решить проблему.Вывод sysctl hw.acpi. Это также хороший
способ получения списка возможностей системы.URL где можно найти ваш
ACPI Source Language
(ASL). Не отправляйте
ASL непосредственно в список рассылки,
поскольку он может быть очень большим. Копия
ASL может быть создана командой:&prompt.root; acpidump -t -d > name-system.asl(Замените вашим логином
name и производителем/моделью
system. Пример:
njl-FooCo6000.asl)Большинство разработчиков читают список рассылки &a.current;,
но для уверенности, что проблему увидят, отправьте ее в
&a.acpi.name;. Будьте терпеливы, все мы заняты полный рабочий день где-то
еще. Если ваше сообщение не заметили сразу, мы возможно
попросим вас отправить PR (сообщение о проблеме)
через &man.send-pr.1;. При вводе PR,
включайте ту же информацию, что запрошена выше. Это поможет
нам отследить проблему и решить ее. Не отправляйте
PR без предварительной отправки письма в
&a.acpi.name;, поскольку мы используем PR в качестве
напоминаний о существующих проблемах, а не как механизм сообщений
об ошибках. Вероятно, о вашей проблеме кто-то уже сообщал
ранее.Общие сведенияACPI представлен во всех современных
компьютерах, соответствующих архитектурам ia32 (x86),
ia64 (Itanium) и amd64 (AMD). Полный стандарт включает множество
возможностей, в том числе управление производительностью
CPU, уровнем питания, температурой,
различными системами аккумуляторов, встроенными контроллерами
и опросом шины. В большинстве систем стандарт реализован не
полностью. Например, настольные системы обычно реализуют только
опрос шины, а портативные компьютеры кроме того могут поддерживать
управление охлаждением и энергопотреблением. Они также поддерживают
приостановку и последующий запуск системы различного уровня
сложности.ACPI-совместимые системы состоят из
различных компонентов. Производители BIOS
и чипсетов предоставляют различные жестко заданные таблицы,
(например, FADT), которые определяют
функции вроде карты APIC (используется для
SMP), регистры настройки и простые
значения параметров. Кроме того, предоставляется таблица
байткода (Differentiated System Description
Table, DSDT), определяющая древоподобное
пространство имен устройств и методов.Драйвер ACPI должен прочесть заданные
таблицы, реализовать интерпретатор для байткода, модифицировать
драйвера устройств и ядро для приема информации от подсистемы
ACPI. Для &os;, Intel предоставила
интерпретатор (ACPI-CA), тот же что для
Linux и NetBSD. Исходный код ACPI-CA
находится в каталоге
src/sys/contrib/dev/acpica.
Код для приспособления ACPI-CA к работе в
&os;, находится в src/sys/dev/acpica/Osd.
Наконец, драйвера, реализующие различные ACPI
устройства, находятся в
src/sys/dev/acpica.Часто встречающиеся проблемыДля правильной работы ACPI все ее части должны
работать правильно. Вот некоторые часто встречающиеся проблемы, в порядке
частоты появления, и некоторые обходные пути или исправления.Приостановка/возобновление работыACPI поддерживает три состояния приостановки в
RAM (STR),
S1-S3, и одно состояние
приостановки на диск (STD), называемое
S4. S5 это
мягкое выключение и это нормальное состояние системы,
когда она подключена к сети, но не включена. S4
может быть реализован двумя различными путями.
S4BIOS это
BIOS-поддерживаемая приостановка на диск.
S4OS реализуется полностью
операционной системой.Начните с проверки переменных sysctl
, относящихся к приостановке (suspend).
Вот результат для моего Thinkpad:hw.acpi.supported_sleep_state: S3 S4 S5hw.acpi.s4bios: 0Это означает, что я могу использовать acpiconf
-s для тестирования S3,
S4OS, и
S5. Если был единицей
(1), это означает поддержку
S4BIOS вместо
S4OS.При тестировании приостановки/возобновления работы, начните
с S1, если этот режим поддерживается.
Это состояние скорее всего поддерживается, поскольку не требует
слишком серьезной поддержки со стороны драйвера. Никто не
реализовал S2, который похож на
S1. Следующий режим для тестирования это
S3. Это наиболее глубокое STR
состояние, оно требует существенной поддержки со стороны
драйвера, чтобы правильно реинициализировать оборудование.
Если у вас возникли проблемы при выходе из этого состояния,
отправьте письмо в рассылку &a.acpi.name;, но не ждите, что
проблема будет обязательно решена, поскольку существует
множество драйверов/оборудования, нуждающихся в дальнейшем
тестировании и разработке.Для изоляции проблемы удалите из ядра столько драйверов,
сколько возможно. Если это работает, вы можете выяснить,
какой драйвер вызывает проблему путем загрузки драйверов
до тех пор, пока опять не произойдет сбой. Обычно бинарные
драйвера, такие как nvidia.ko,
драйвера дисплея X11 и
USB вызывают большинство проблем, а драйвера
Ethernet интерфейсов как правило работают отлично. Если вы
можете нормально загрузить/выгрузить драйвера, автоматизируйте
этот процесс, поместив соответствующие команды в
/etc/rc.suspend и
/etc/rc.resume. Это закомментированные
примеры выгрузки и загрузки драйверов. Попробуйте
установить параметр
в нуль (0), если ваш дисплей не включается после возобновления
работы. Попробуйте установить большие или меньшие значения
для , чтобы проверить,
поможет ли это.Другой способ, который можно попробовать, это запуск
последнего дистрибутива Linux с поддержкой
ACPI и протестировать поддержку
остановки/возобновления работы на том же оборудовании.
Если она работает на Linux, проблема скорее всего в
драйверах &os; и поиск драйвера, вызывающего проблему,
поможет разрешить ситуацию. Имейте ввиду, что разработчики
ACPI обычно не поддерживают другие
драйверы (звук, ATA, и т.п.), так что
все результаты работы по поиску проблемы возможно необходимо
отправить в список рассылки &a.current.name; и человеку,
поддерживающему драйвер. Если вы решитесь заняться
отладкой, поместите соответствующий код (&man.printf.3;)
в вызывающий проблему драйвер для обнаружения места, где
прерывается функция восстановления.Наконец, попробуйте отключить ACPI и
включить APM. Если приостановка/возобновление
работает с APM, вам возможно лучше подойдет
APM, особенно на старом оборудовании (до
2000). Включение корректной поддержки ACPI
поставщиками оборудования требует времени и вероятно в старом
оборудовании поддержка ACPI в
BIOS была некорректна.Система останавливается (временно или постоянно)Большинство систем останавливаются в результате потери
прерываний или шторма прерываний. В чипсетах
существует много проблем, связанных с тем, как
BIOS настраивает прерывания перед загрузкой,
правильностью таблицы APIC
(MADT), и маршрутизации
System Control Interrupt
(SCI).Шторм прерываний может быть обнаружен по
потерянным прерываниям путем проверки вывода строки с
acpi0 команды vmstat -i.
Если счетчик увеличивается более, чем
несколько раз в секунду, это шторм прерываний.
Если система останавливается, попробуйте войти в
DDB
(CTRLALTESC на
консоли) и ввести .Наиболее надежный способ избавиться от проблемы с прерываниями,
это отключение поддержки APIC с помощью
параметра loader.confhint.apic.0.disabled="1".ПаникаПаника, связанная с ACPI, случается довольно
редко и имеет наибольший приоритет исправления. Первый шаг
это изоляция действий, приводящих к панике (если это возможно)
и получение отладки. Следуйте инструкции по включению
и настройке последовательной консоли
(смотрите )
или настройке раздела &man.dump.8;. Вы можете получить отладочную
информацию DDB с помощью .
Если вы записываете отладку вручную, убедитесь, что переписали
как минимум пять (5) строк снизу и пять (5) строк сверху.Затем попробуйте изолировать проблему, загрузившись с
выключенным ACPI. Если это работает, вы можете
изолировать подсистему ACPI, используя
различные параметры .
Обратитесь к странице справочника &man.acpi.4; за примерами.Система включается после приостановки или завершения
работыВо-первых, попробуйте установить в &man.loader.conf.5; параметр
0.
Это предотвращает отключение различных событий в
ACPI во время завершения работы.
В некоторых системах этот параметр необходимо установить
в 1 (по умолчанию) по тем же причинам. Обычно это
решает проблему, если система неожиданно включается после
приостановки или отключения питания.Другие проблемыЕсли вы наблюдаете другие проблемы с ACPI
(работа с внешним оборудованием, проблемы с обнаружением устройств,
и т.д.), отправьте описание проблемы в список рассылки;
однако, некоторые из этих проблем могут относиться к незавершенным
частям подсистемы ACPI, поэтому может
потребоваться время на их реализацию. Будьте терпеливы, и
подготовьтесь к тестированию исправлений, которые мы можем вам
выслать.ASL, acpidump, и
IASLНаиболее часто встречается проблема, связанная с предоставлением
поставщиками BIOS некорректного (или полностью
ошибочного!) байткода. Это обычно проявляется появлением
консольных сообщений ядра, подобных этому:ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] (Node 0xc3f6d160), AE_NOT_FOUNDЗачастую вы можете разрешить эти проблемы путем обновления
BIOS до последней ревизии. Большинство консольных
сообщений безвредны, но если существуют другие проблемы, такие как
не работающий статус батареи, возможно существуют проблемы в
AML. Байткод, известный как
AML, компилируется из исходного текста на
языке ASL. AML находится
в таблице, известной как DSDT. Для получения
копии ASL, используйте &man.acpidump.8;.
Вы можете использовать оба параметра
(показывать содержимое постоянных таблиц) и
(дизассемблировать AML в ASL).
Обратитесь к разделу Отправка
отладочной информации за примером синтаксиса.Простейшая первая проверка, которую вы можете провести,
это перекомпиляция ASL для поиска ошибок.
Предупреждения обычно могут быть проигнорированы, но ошибки
обычно не позволяют ACPI работать правильно.
Для перекомпиляции ASL, выполните следующую
команду:&prompt.root; iasl your.aslИсправление ASLВ дальней перспективе, наша задача состоит в том, чтобы
обеспечить поддержку ACPI практически для
каждой системы без вмешательства пользователя. Однако, на данный
момент мы все еще разрабатываем обходные пути для ошибок,
которые часто делают поставщики BIOS.
Интерпретатор Microsoft (acpi.sys и
acpiec.sys) не занимается проверкой
четкости соблюдения стандартов, поэтому многие поставщики
BIOS, проверяющие ACPI
только под Windows, никогда не исправляют ASL.
Мы надеемся продолжать обнаружение и документацию нестандартных
поведений, позволяемых интерпретатором Microsoft, и воспроизводить
их, чтобы &os; могла работать без необходимости исправления
ASL пользователями. В качестве обходного пути
для обнаружения неправильного поведения, вы можете исправить
ASL вручную. Если исправления будут работать,
пожалуйста отправьте &man.diff.1; между старым и новым
ASL, чтобы мы могли реализовать обходной
путь для неправильного поведения ACPI-CA,
чтобы исправление вручную больше не требовалось.Вот список наиболее часто встречающихся проблем, их причин и
способы исправления:OS зависимостиНекоторые AML предполагают, что мир состоит
из различных версий Windows. Вы можете настроить &os;, чтобы
она сообщала любое другое имя OS и посмотреть,
исправит ли это имеющуюся проблему. Простой способ указания
другого имени системы это установка переменной
/boot/loader.conf
=Windows 2001
или в другое подобное значение, имеющееся в
ASL.
+ Отсутствие возврата значенияНекоторые методы не возвращают значение явно, как того
требует стандарт. Хотя ACPI-CA не обрабатывает
эту ситуацию, в &os; существует обходной путь, позволяющей ей
явно возвращать значение. Вы можете также добавить явные операторы
Return (возврат) там, где требуется, если знаете, что значение
должно быть возвращено. Для принудительного компилирования
ASL командой iasl, используйте
флаг .Перезапись AML по умолчаниюПосле настройки your.asl для
компиляции запустите:&prompt.root; iasl your.aslВы можете добавить флаг для создания
AML даже при наличии ошибок компиляции.
Помните, что некоторые ошибки (например, отсутствующие операторы
Return), автоматически обходятся интерпретатором.Файл DSDT.aml используется
iasl по умолчанию. Вы можете загрузить его
вместо ошибочной копии BIOS (которая
остается в постоянной памяти) путем редактирования
/boot/loader.conf:acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"Убедитесь, что скопировали DSDT.aml в
каталог /boot.
+ Получение отладочной информации
ACPIВозможности отладки драйвера ACPI очень
гибкие. Они позволяют вам указывать набор подсистем, а также
уровень отладки. Подсистемы, которые вы хотите отлаживать,
указываются как слои, и подразделяются на
компоненты ACPI-CA (ACPI_ALL_COMPONENTS)
и поддержку оборудования ACPI (ACPI_ALL_DRIVERS).
Уровень отладки варьируется от ACPI_LV_ERROR (только сообщать об
ошибках) до ACPI_LV_VERBOSE (все сообщения). Уровень отладки
представляет собой битовую маску, поэтому возможна одновременная
установка нескольких параметров, разделенных пробелами.
На практике, при использовании для получения отладочной информации
последовательной консоли, слишком большое количество информации
может переполнить буфер консоли. Полный список отдельных слоев
и уровней можно найти на странице справочника &man.acpi.4;.Вывод отладочной информации по умолчанию не включен.
Для его включения добавьте параметр к файлу настройки ядра, если
ACPI встроен в ядро. Вы можете добавить параметр
в файл
/etc/make.conf для глобального включения
этого параметра. Если вы используете модуль
acpi.ko , его можно пересобрать
индивидуально:&prompt.root; 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 можно найти
по следующим ссылкам:&a.acpi;Архивы списка рассылки ACPI
Старые архивы списка рассылки ACPI
Спецификация ACPI 2.0
Страницы справочника &os;: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
Ресурс по отладке DSDT.
(Использует в качестве примера Compaq, но обычно полезен.)
diff --git a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
index 9731ba5edf..c35c0e6e3b 100644
--- a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
@@ -1,1966 +1,1963 @@
JimMockРеструктурирование, реорганизацию и частичное обновление
выполнил JordanHubbardОригинальный текст написал Poul-HenningKampJohnPolstraNikClaytonНа переднем крае разработокКраткий обзорМежду релизами над &os; ведется постоянная работа. Для тех,
кто хочет быть на переднем крае, есть несколько простых методов для
поддержания своей системы в соответствии с последними разработками.
Будьте осторожны — передний край не для всех! Эта глава поможет
вам решить, хотите ли вы отслеживать систему в процессе работы над ней
или останетесь верным одному из выпущенных релизов.После чтения этой главы вы будете знать:Разницу между двумя ветвями разработки: &os.stable; и
&os.current;.Как поддерживать вашу систему в актуальном состоянии при помощи
CVSup, CVS или
CTM.Как перестраивать и переустанавливать базовую систему полностью
при помощи make world.Перед чтением этой главы вы должны:Полностью настроить своё подключение к сети ().Знать, как устанавливать дополнительное программное обеспечение
других разработчиков ().&os.current; против &os.stable;-CURRENT-STABLEВо FreeBSD имеется две ветки разработки: &os.current; и &os.stable;.
Этот раздел описывает каждую из них и объясняет, как синхронизировать
вашу систему с любой из веток. Сначала будет обсуждаться ветка
&os.current;, затем &os.stable;.Как следовать текущим разработкам во &os;Пока вы читаете этот текст, помните, что &os.current; является
передовым краем работ над &os;. Предполагается, что
пользователи &os.current; технически более грамотны и могут решать
проблемы с системой самостоятельно. Если вы являетесь во &os;
новичком, вам лучше сначала дважды подумать, прежде чем
её устанавливать.Что такое &os.current;?snapshot&os.current; является последними рабочими версиями исходных
текстов &os;. Сюда включаются неоконченные работы, экспериментальные
изменения и промежуточные механизмы, которые могут присутствовать, а
могут и отсутствовать в следующем официальном релизе программного
обеспечения. Хотя многие из разработчиков &os; выполняют компиляцию
из исходных текстов &os.current; ежедневно, случаются периоды, когда
исходные тексты заведомо не могут быть откомпилированы. Такие
проблемы обычно решаются так быстро, как это возможно, но всё-таки
момент, когда вы сгрузили исходные тексты &os.current;, может
повлиять на то, содержат они мину замедленного действия или очень
нужную функциональность!Кому нужна &os.current;?&os.current; предназначается трём основным заинтересованным
группам:Члены команды разработчиков &os;, активно работающие над
некоторой частью дерева исходных текстов и для кого работа в
current является абсолютной
необходимостью.Члены команды разработчиков &os;, которые являются
активными тестерами. Они тратят свое время на
исправление проблем для того, чтобы &os.current; оставалась,
насколько это возможно, нормально работающей системой. Есть
также люди, которые вносят важные предложения по изменениям и
общему направлению развития &os; и присылают свои патчи,
реализующие эти изменения.Те, кто просто хотят быть в курсе всех изменений или
используют текущие исходные тексты для ознакомительных целей (к
примеру, для чтения, но не для
использования). Такие люди также иногда высказывают замечания
или предоставляют код.Чем &os.current; не является?Быстрым способом получить предварительную версию, в
случае, если вы услышали, что здесь появилась некая крутая
возможность, и вы хотите быть первым в вашем микрорайоне, у
кого она есть. Здесь быть первым из тех, кто имеет это
программное обеспечение означает также быть первым из тех, кто
столкнулся с ошибками в нём.Быстрым способом получения исправлений. Любая версия
&os.current; является в равной мере как источником исправлений
существующих ошибок, так и источником появления новых.Официально поддерживаемой каким бы то ни было
способом. Мы прилагаем все усилия, чтобы помочь тем, кто
изначально принадлежит одной из трех признанных
групп пользователей &os.current;, но у нас просто нет
времени на техническую поддержку. Это не потому, что
мы гадкие и злые люди, которые ни за что не будут помогать другим
(если бы это было так, мы бы не создали &os;). Мы просто не в
силах отвечать на сотни сообщений в день и
работать над FreeBSD! Если бы стоял выбор между тем, отвечать ли
на множество вопросов об экспериментально коде или продолжать
работу над совершенствованием &os;, большинство разработчиков
проголосовало бы за последнее.Использование &os.current;-CURRENTиспользованиеПодпишитесь на списки рассылки &a.current.name; и
&a.cvsall.name;. Это не просто хорошая идея, это
необходимость. Если вы не являетесь
участником списка рассылки &a.current.name;,
то вы не увидите замечаний,
высказываемых о текущем состоянии системы и в итоге можете
столкнуться со множеством проблем, которые уже были найдены и
решены другими. Ещё хуже, если вы пропустите важные сообщения,
касающиеся жизнеспособности вашей системы.Список рассылки &a.cvsall.name; позволит вам для каждого
изменения увидеть соответствующую запись в журнале коммитов,
а они порой содержат относящуюся к делу
информацию о возможных побочных эффектах.Чтобы подключиться к этим и другим доступным спискам
рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
на списке, к которому вы хотите подключиться. Инструкции по
дальнейшим действиям размещены там же.Сгрузите исходные тексты с зеркального сайта &os;. Вы можете
сделать это одним из следующих двух способов:cvsupcron-CURRENT
Синхронизация при помощи CVSupПри помощи программы cvsup
с sup-файлом
standard-supfile, который можно найти в
каталоге /usr/share/examples/cvsup. Это
наиболее
рекомендуемый метод, так как он позволяет вам сгрузить набор
исходных текстов один раз полностью, а затем сгружать только
произошедшие изменения. Многие запускают
cvsup при помощи программы
cron и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile выше и отконфигурируйте cvsup для вашего окружения.-CURRENTСинхронизация при помощи CTMПри помощи CTM. Если у вас очень
плохое подключение (дорогое или предоставляющее доступ только
к электронной почте), то CTM
можно рассматривать как вариант. Однако в нем много
"подводных камней", и его использование может
привести к появлению неправильных файлов. Это привело к
тому, что этот способ используется редко, что, в свою
очередь, увеличивает шанс появления периодов его
неработы. Мы рекомендуем использовать CVSup всем, чья скорость
подключения равна 9600 bps и выше.Если вам нужны исходные тексты для компиляции и запуска, а
не просто для ознакомления, то сгружайте исходные тексты
ветки &os.current; полностью, а не отдельные
ее части. Причиной является то, что многие части исходных
текстов зависят от других обновлений где-то еще, и попытка
компиляции лишь некоторой части программ в этом случае
гарантированно вызовет проблемы.-CURRENTкомпиляцияПеред тем, как компилировать &os.current;, внимательно
прочтите файл Makefile в каталоге
/usr/src. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение &a.current; и
/usr/src/UPDATING позволит вам быть в курсе
всех процедур, которые иногда бывают необходимы в процессе
работы над следующим релизом.Будьте активным подписчиком! Если вы работаете с
&os.current;, мы хотим знать, что вы думаете о ней, особенно
если у вас есть соображения по ее улучшению или исправлению
ошибок. Пожелания, к которым прилагается код, всегда
принимаются с большим энтузиазмом!Работа с веткой stable во &os;Что такое &os.stable;?-STABLE&os.stable; является нашей веткой разработки, из которой делаются
основные релизы. Изменения в этой ветке происходят с разной
скоростью, и при этом предполагается, что сначала они были выполнены
для &os.current; в целях тестирования. Однако эта ветка
остаётся веткой для разработки, а это значит,
что в любой момент времени исходные тексты &os.stable; могут
оказаться неприменимы для некоторой задачи. Это просто ещё одна
ветка при разработке, а не ресурс для конечных пользователей.Кому нужна &os.stable;?Если вы заинтересованы в отслеживании процесса разработки FreeBSD
или хотите принять в нём участие, особенно в той мере, насколько это
касается выпуска следующего релиза FreeBSD с точкой, то
вам необходимо отслеживать &os.stable;.Хотя правда то, что исправления, касающиеся безопасности, также
делаются и в ветке &os.stable;, вам не нужно
для этого отслеживать &os.stable;. Каждый бюллетень по безопасности
FreeBSD описывает, как решить проблему для тех релизов, которых он
касается
Это не совсем так. Мы не можем поддерживать старые релизы
FreeBSD бесконечно долго, хотя мы поддерживаем их многие годы.
Полное описание текущей политики безопасности относительно
старых релизов FreeBSD можно найти по адресу
+ url="&url.base;/ru/security/index.html">
http://www.FreeBSD.org/ru/security/.
, а отслеживание ветки разработки в полном объёме только ради
исправлений пробелов в безопасности приводит к появлению большого
количества дополнительных ненужных изменений.Хотя мы прилагаем все усилия, чтобы ветка &os.stable; всегда
компилировалась и работала, этого нельзя гарантировать. Кроме того,
несмотря на то, что перед включением в &os.stable;, код
разрабатывается в &os.current;, гораздо большее количество людей
работают с &os.stable;, чем с &os.current;. Поэтому неудивительно,
что в &os.stable; иногда
обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не
проявляли себя в &os.current;.По этим причинам мы не рекомендуем слепо
отслеживать &os.stable;, и, что особенно важно, вы не должны
обновлять какие-либо сервера, находящиеся в активной эксплуатации, до
&os.stable; без предварительного тщательного тестирования кода в
вашей среде разработки.Если у вас нет возможности сделать это, то мы рекомендуем
работать с самой последним релизом &os; и использовать механизм
обновления бинарных файлов для перехода от релиза к релизу.Использование &os.stable;-STABLEиспользованиеПодпишитесь на список рассылки &a.stable.name;. Это позволит
вам узнавать о зависимостях процесса компиляции,
которые могут появиться в ветке &os.stable; или
любых других проблемах, требующих особого внимания. В этом
списке рассылки разработчики также делают объявления о
спорных исправлениях или добавлениях,
давая пользователям возможность высказать свое мнение о
возможных тонких моментах.Список рассылки &a.cvsall.name; позволит вам для каждого
изменения увидеть соответствующую запись в журнале коммитов,
а они порой содержат относящуюся к делу
информацию о возможных побочных эффектах.Чтобы подключиться к этим и другим доступным спискам
рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
на списке, к которому вы хотите подключиться. Инструкции по
дальнейшим действиям размещены там же.Если вы устанавливаете новую систему и хотите, чтобы она
работала максимально стабильно, то можете просто сгрузить
самый свежий снэпшот ветки по адресу и установить его, как любой другой релиз. Либо вы
можете установить самый последний релиз &os.stable;, сгрузив его
с зеркалирующих сайтов, а затем
следовать инструкциям ниже по обновлению исходных текстов вашей
системы до самой последней версии &os.stable;.Если вы уже работаете с предыдущим релизом &os; и хотите
обновить его из исходных текстов, то вы можете легко это
сделать с зеркального сайта &os;.
Это можно сделать одним из двух способов:cvsupcron-STABLE
Синхронизация при помощи CVSupПри помощи программы cvsup
с sup-файлом
stable-supfile из каталога
/usr/share/examples/cvsup.
Это наиболее рекомендуемый
метод, так как он позволяет вам сгрузить набор исходных
текстов один раз полностью, а затем сгружать только
произошедшие изменения. Многие запускают
cvsup при помощи программы
cron и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile выше и отконфигурируйте cvsup для вашего окружения.-STABLEсинхронизация при помощи CTMПри помощи CTM. Если у вас нет
быстрого и недорогого подключения к Интернет, то это как раз
тот метод, которым вы должны воспользоваться.Итак, если вам нужен быстрый доступ к
исходным текстам и нагрузка на каналы связи для вас не
проблема, то используйте cvsup
или ftp. В противном случае воспользуйтесь
CTM.-STABLEкомпиляцияПеред тем, как компилировать &os.stable;, внимательно
прочтите файл Makefile в каталоге
/usr/src. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение &a.stable; и
/usr/src/UPDATING
позволит вам быть в курсе всех процедур,
которые иногда бывают необходимы при переходе к следующему
релизу.Синхронизация ваших исходных текстовИмеются различные способы использования Интернет (или почтового)
подключения для того, чтобы иметь самые последние версии исходных
текстов любого проекта &os;, в зависимости от
того, чем вы интересуетесь. Основной сервис, который мы предлагаем,
это Анонимный CVS, CVSup и CTM.Хотя имеется возможностью обновлять только часть дерева исходных
текстов, процедурой, которую мы настоятельно советуем, является обновление всего
дерева и перекомпиляция пользовательских программ (то есть тех,
которые работают в пространстве имен пользователя, например те, что
находятся в каталогах /bin и
/sbin) и ядра. Обновление только части дерева
исходных текстов, только текстов ядра или только текстов
пользовательских программ часто приводит к возникновению проблем. Эти
проблемы могут варьироваться от ошибок компиляции до аварийных
остановов системы или порчи данных.анонимный CVSАнонимный CVS и
CVSup используют модель
pull обновления исходных текстов. В случае
CVSup пользователь (или скрипт программы
cron) вызывают cvsup, а она
работает с каким-либо сервером cvsupd, чтобы
выполнить обновление ваших
файлов. Обновления, которые вы получаете, актуальны с точностью до
минуты, и вы получаете их тогда и только тогда, когда сами захотите.
Вы можете с легкостью ограничить обновления конкретными файлами
или каталогами, которые представляют для вас интерес. Обновления
создаются на лету сервером согласно тому, что у вас есть и что вы
хотите иметь. Анонимный CVS гораздо проще,
чем CVSup в том смысле, что он представляет
собой всего лишь расширение
CVS, позволяющее сгрузить изменения
непосредственно с удаленного хранилища CVS.
CVSup может делать это гораздо более
эффективно, однако анонимным CVS легче
пользоваться.CTMCTM, с другой стороны, не сравнивает
последовательно исходные тексты, имеющиеся у вас, с теми, что
находятся в главном архиве и вообще ни коим образом не касается наших
серверов. Вместо этого несколько раз в день на главной машине CTM
запускается скрипт, находящий изменения в файлах с момента
своего предыдущего запуска; все замеченные изменения сжимаются,
помечаются последовательным номером и кодируются для передачи по
электронной почте (в форме печатаемых символов ASCII).
После получения эти дельта-файлы CTM могут быть
переданы утилите &man.ctm.rmail.1;, которая осуществит автоматическое
декодирование, проверку и применение изменений к пользовательской
копии исходных текстов. Этот процесс гораздо более эффективен, чем
CVSup, и требует меньше ресурсов нашего
сервера, так как он сделан по модели push, а не
pull.Несомненно, есть и минусы. Если вы случайно уничтожили
часть вашего архива, то CVSup обнаружит
и сгрузит поврежденную часть. CTM этого
делать не будет, и если вы уничтожили какую-то часть вашего дерева
исходных текстов (и у вас нет архивной копии), то вам нужно будет
начать с самого начала (с последнего базового
дельта-файла), перестроив всё с помощью
CTM, или, используя анонимный
CVS, просто удалить повреждённую часть и
пересинхронизироваться.Использование make worldmake worldПосле того, как вы синхронизировали ваше локальное дерево
исходных текстов с некоторой версией &os;
(&os.stable;, &os.current; и так далее),
то можете использовать эти исходные тексты для перестроения
системы.Создайте резервную копиюНевозможно переоценить важность создания резервной
копии вашей системы до того, как вы будете
это делать. Хотя перестроение системы (пока вы следуете этим
инструкциям) является простой задачей, вы всегда можете допустить
ошибку, или ошибка может оказаться в исходных текстах, что может
привести к тому, что система перестанет загружаться.Обязательно сделайте резервную копию. И держите под рукой
аварийную (fixit) дискету. Может быть, вам никогда не приходилось ими
пользоваться, но, постучав по дереву, всегда лучше подготовиться, чем
потом сожалеть.Подпишитесь на соответствующий список рассылкисписок рассылкиВетки &os.stable; и &os.current; кода по природе своей являются
изменяющимися. В разработке &os; участвуют
люди, и время от времени случаются ошибки.Иногда эти ошибки достаточно безобидны и приводят к выводу
нового диагностического сообщения. Бывает, что изменение оказывается
катастрофическим, и система не может загрузиться или разрушаются
файловые системы (или что-нибудь ещё хуже).Если возникают подобные проблемы, в соответствующем списке
рассылки публикуется сообщение heads up, в котором
описывается природа проблемы и затрагиваемые системы. Когда проблема
решается, публикуется сообщение all clear.Если вы пытаетесь отслеживать &os.stable; или &os.current; и не
читаете списки рассылки &a.stable; или &a.current; соответственно, то
вы напрашиваетесь на неприятности.Канонический способ обновления вашей системыДля обновления вашей системы вы должны воспользоваться следующей
процедурой:&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; rebootВы должны загрузиться в однопользовательский режим (например, по
команде boot -s из приглашения загрузчика). Затем
выполните:&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; rebootВы должны загрузиться в однопользовательский режим (например, по
команде boot -s из приглашения загрузчика). Затем
выполните:&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; rebootПрочтите более полное описаниеОписанная выше последовательность является только краткой
выжимкой для того, чтобы помочь вам начать. Вы должны всё же
прочесть последующие разделы для полного понимания каждого шага,
особенно если собираетесь использовать собственную конфигурацию
ядра.Прочтите /usr/src/UPDATINGПеред тем, как делать что-либо, прочтите
/usr/src/UPDATING (или соответствующий файл
в вашей копии исходных текстов). В этом файле
содержится важная информация о проблемах, с которыми вы можете
столкнуться, или указан порядок, в котором вы должны запускать
определенные команды. Если в файле UPDATING
написано нечто, противоречащее тому, что вы здесь читаете, то
нужно следовать указаниям в UPDATING.Чтение UPDATING не заменит подписки на
соответствующий список рассылки, как это и описано выше. Эти два
условия являются дополняющими, а не взаимоисключающими друг
друга.Проверьте содержимое /etc/make.confmake.confПросмотрите файлы /usr/share/examples/etc/make.conf
(/etc/defaults/make.conf в &os; 4.X) и
/etc/make.conf. Первый содержит некоторые
предопределенные по умолчанию значения – большинство из них
закомментировано. Чтобы воспользоваться ими при перестроении системы
из исходных текстов, добавьте их в файл
/etc/make.conf. Имейте в виду, что все,
добавляемое вами в /etc/make.conf, используется
также каждый раз при запуске команды make, так что
полезно задать здесь значения, подходящие вашей системе.Вероятно стоит скопировать строки
CFLAGS и NOPROFILE,
расположенные в
/usr/share/examples/etc/make.conf (или
/etc/defaults/make.conf в &os; 4.X), в файл
/etc/make.conf и раскомментировать их.Посмотрите на другие определения (COPTFLAGS,
NOPORTDOCS и так далее) и решите, нужны ли они
вам.Обновите файлы в каталоге /etcКаталог /etc содержит значительную часть
информации о конфигурации вашей системы, а также скрипты, работающие
в начале работы системы. Некоторые из этих скриптов меняются от
версии к версии &os;.Некоторые конфигурационные файлы также используются в ежедневной
работе системы. В частности, файл
/etc/group.Случалось, что установочная часть make world
ожидала существования определённых имен пользователей или групп. При
обновлении существует вероятность, что эти пользователи или группы не
существуют. Это вызывает проблемы при обновлении.Свежим примером этого является добавление пользователя
smmsp. Пользователи столкнулись с прерыванием
процесса установки, когда &man.mtree.8; пыталась
создать /var/spool/clientmqueue.Выходом является просмотр файла
/usr/src/etc/group и сравнение списка групп в
нем с вашим собственным. Если в новом файле есть группы,
отсутствующие в вашем, то скопируйте их. Таким же образом вы должны
переименовывать все группы в /etc/group, которые
имеют тот же самый GID, но другое название в
/usr/src/etc/group.Начиная с 4.6-RELEASE, вы можете запустить &man.mergemaster.8; в
режиме, предваряющем построение системы, задаваемым опцией
. Она будет сравнивать только те файлы, которые
необходимы для успешного выполнения целей
buildworld или
installworld. Если ваша старая версия
утилиты mergemaster не поддерживает опцию
, воспользуйтесь новой версией из дерева исходных
текстов при первом запуске:&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -pЕсли вы параноик, можете поискать файлы, владельцем которых
является та группа, которую вы переименовываете или удаляете:&prompt.root; find / -group GID -printвыдаст список всех файлов, владельцем которых является группа
GID (задаваемая именем или
численным значением ID).Перейдите в однопользовательский режимоднопользовательский режимВам может понадобиться откомпилировать систему в
однопользовательском режиме. Кроме обычного выигрыша в
скорости процесса, переустановка системы затрагивает много важных
системных файлов, все стандартные выполнимые файлы системы,
библиотеки, include-файлы и так далее. Изменение их на работающей
системе (в частности, в которой активно работают пользователи) может
привести к неприятностям.многопользовательский режимДругим способом является компиляция системы в многопользовательском
режиме с последующим переходом в однопользовательский режим для
выполнения установки. Если вы хотите поступить именно так, просто
следуйте инструкциям до момента окончания построения. Вы можете
отложить переход в однопользовательский режим до завершения целей
installkernel или
installworld.Как администратор, вы можете выполнить:&prompt.root; shutdown nowна работающей системе, что переведет ее в однопользовательский
режим.Либо вы можете выполнить перезагрузку и в приглашении загрузчика
задать флаг . После этого система загрузится в
однопользовательском режиме. В приглашении командного процессора вы
должны запустить:&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aЭти команды выполняют проверку файловых систем, повторно монтируют
/ в режиме чтения/записи, монтируют все
остальные файловые системы UFS, перечисленные в файле
/etc/fstab и включат подкачку.Если часы в вашей CMOS настроены на местное время, а не на GMT
(это имеет место, если команда &man.date.1; выдаёт
неправильные время и зону), то вам может понадобиться запустить
следующую команду:&prompt.root; adjkerntz -iЭто обеспечит корректную настройку местного часового пояса
— без этого впоследствии вы можете столкнуться с некоторыми
проблемами.Удалите /usr/objПри перестроении частей системы они помещаются в каталоги,
которые (по умолчанию) находятся в /usr/obj.
Структура повторяет структуру /usr/src.Вы можете ускорить выполнение процесса make world
и, возможно, избавить себя от некоторой головной боли, связанной с
зависимостями, удалив этот каталог.На некоторых файлах из /usr/obj могут быть
установлены специальные флаги (обратитесь к &man.chflags.1; за
дополнительной информацией), которые сначала должны быть
сняты.
&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Перекомпилируйте исходные текстыСохраните выводНеплохо сохранить вывод, получаемый при работе программы
&man.make.1;, в файл. Если что-то вдруг пойдет не так, вы будете
иметь копию сообщения об ошибке и полную картину того, где она
произошла. Хотя это может и не помочь в определении причин
происходящего, это может помочь другим, если вы опишите вашу
проблему в одном из списков рассылки &os;.Проще всего это сделать при помощи команды &man.script.1; с
параметром, в котором указано имя файла, в который нужно сохранить
вывод. Вы должны сделать это непосредственно перед тем, как
перестроить систему, а по окончании процесса набрать
exit.
&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make world… compile, compile, compile …
&prompt.root; exit
Script done, …
Если вы делаете это, не сохраняйте
вывод в /tmp. Этот каталог может быть
очищен при следующей перезагрузке. Лучше сохранить его в
/var/tmp (как в предыдущем примере) или в
домашнем каталоге пользователя root.Компиляция базовых компонентов системыВы должны находиться в каталоге
/usr/src:&prompt.root; cd /usr/src(если, конечно, ваш исходный код не находится в другом месте, в
случае чего вам нужно перейти в соответствующий каталог).makeДля полного перестроения системы используется
команда &man.make.1;. Эта команда читает инструкции из файла
Makefile, описывающего, как должны быть
перестроены программы, которые составляют систему &os;, в каком
порядке они должны быть построены и так далее.Общий формат командной строки, которую вы будет набирать,
таков:&prompt.root; make -x -DVARIABLEtargetВ этом примере
является параметром, который вы передаете в &man.make.1;.
Обратитесь к справочной странице программы &man.make.1;, которая
содержит список возможных параметров.
передает переменную в Makefile. Поведение
Makefile определяется этими переменными. Это
те же самые переменные, которые задаются в
/etc/make.conf, и это — еще один способ
их задания.&prompt.root; make -DNOPROFILE=true targetявляется другим способом указания того, что библиотеки для
профилирования строить не нужно, и соответствует строкеNOPROFILE= true # Обход построения библиотек для профилированияв файле /etc/make.conf.target указывает программе
&man.make.1; на то, что вы хотите сделать. Каждый файл
Makefile определяет некоторое количество
различных целей, и ваш выбор цели определяет то, что
будет делаться.Некоторые цели, перечисленные в файле
Makefile, не предназначены для вызова. Просто
они используются в процессе построения для разбиения его на этапы.В большинстве случаев вам не нужно передавать никаких
параметров в &man.make.1;, так что ваша команда будет выглядеть
примерно так:
&prompt.root; make targetНачиная с версии &os; 2.2.5 (на самом деле впервые это было
сделано в ветке &os.current;, а затем адаптировано в &os.stable;
где-то между 2.2.2 и 2.2.5) цель world была
разделена на две: buildworld и
installworld.Как указывают на это названия,
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 всё ещё имеется в
наличии, вам настоятельно рекомендуется не пользоваться ею.Выполните&prompt.root; make buildworldВ настоящее время имеется возможность задавать команде
make параметр , который
приводит к запуску нескольких одновременно работающих процессов.
Наиболее полезно использовать это на многопроцессорных машинах.
Однако, так как процесс компиляции больше всего требователен к
подсистеме ввода/вывода, а не к производительности процессора, это
можно использовать и на машинах с одним процессором.На типичной машине с одним CPU вы должны запускать:
&prompt.root; make -j4 buildworld&man.make.1; будет иметь до 4 одновременно работающих
процессов. Эмпирические замеры, опубликованные как-то в списке рассылки,
показывают, что в среднем это дает наибольшее увеличение
производительности.Если у вас многопроцессорная машина и вы используете ядро с
настройками для SMP, попробуйте использовать значения между 6 и
10 и посмотрите, как это отразится на скорости работы.Имейте в виду, что это все еще экспериментальная возможность, и
изменения в дереве исходных текстов иногда могут быть не
совместимы с параллельной сборкой. Если
система не может быть построена с использованием этого параметра,
попробуйте еще раз без него перед тем, как сообщать о
проблемах.Время на построениеmake worldзатраченное времяНа время компиляции влияет множество факторов, но на данный
момент &pentium; III частотой 500 МГц и 128 МБ ОЗУ
справляется с построением дерева &os.stable; примерно за 2 часа
без дополнительных хитростей и убыстряющих процесс уловок. Дерево
&os.current; строится несколько дольше.Откомпилируйте и установите новое ядроядрокомпиляцияЧтобы получить полную отдачу от вашей новой системы, вы должны
перекомпилировать ядро. Это практически необходимость, так как
отдельные структуры в памяти могут меняться, и программы типа
&man.ps.1; и &man.top.1; не будут работать, пока версии ядра и
исходных текстов системы не будут совпадать.Самым простым и надежным способом сделать это является компиляция и
установка ядра на основе GENERIC. Хотя в
GENERIC могут оказаться не все необходимые для
работы вашей системы устройства, в нем имеется все необходимое
для перезагрузки вашей системы обратно в однопользовательский режим.
Это является хорошей проверкой на правильность работы новой системы.
После загрузки с ядром GENERIC и проверки
работоспособности системы вы можете построить новое ядро на основе
вашего обычного конфигурационного файла ядра.
- Если вы обновляете систему до &os; 4.0 и выше, то старая
- процедура построения ядра (как это описано в ) не подходит. Вместо этого вы должны выполнить
- следующие команды после того, как перестроили систему командой
- buildworld.
+ В современных версиях FreeBSD важно выполнить buildworld перед сборкой
+ нового ядра.Если вы хотите построить собственное ядро и уже подготовили файл
конфигурации, просто используйте
KERNCONF=MYKERNEL
следующим образом:&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELДля FreeBSD 4.2 и более старых версиях вы должны заменять
KERNCONF= на KERNEL=.
4.2-STABLE, сгруженная до 2 февраля 2001 года, не распознаёт
KERNCONF=.Заметьте, что, если вы установили
kern.securelevel в значение, превышающее 1,
и установили флаг noschg или
подобный на бинарный файл ядра, то вы будете вынуждены перейти в
однопользовательский режим для того, чтобы воспользоваться
installkernel. В противном случае вы
должны выполнять эти команды без проблем. Обратитесь к справочным
страницам об &man.init.8; для получения подробной информации о
kern.securelevel и &man.chflags.1; для получения
информации о различных флагах файлов.Если вы производите обновление до версии &os; ниже 4.0, то нужно
использовать старую процедуру построения ядра. Однако
рекомендуется использовать новую версию программы &man.config.8; со
следующей командной строкой.
&prompt.root; /usr/obj/usr/src/usr.sbin/config/configKERNELNAMEПерезагрузитесь в однопользовательский режимоднопользовательский режимДля проверки работоспособности ядра вы должны перезагрузить систему
и перейти в однопользовательский режим. Сделайте это, следуя указаниям
в .Установите новые версии системных программЕсли вы компилировали достаточно свежую версию &os;, в которой
имеется команда make buildworld, то для установки
новых версий программ вы должны теперь выполнить команду
installworld.Запустите&prompt.root; cd /usr/src
&prompt.root; make installworldЕсли при выполнении команды make buildworld вы
задавали значения каких-либо переменных, то при выполнении
make installworld вы должны задать те же самые
переменные. Это не всегда так для остальных параметров; например,
при выполнении installworld никогда не
должен использоваться параметр .Например, если вы выполняли команду:&prompt.root; make -DNOPROFILE buildworldто результат её выполнения должен устанавливаться командой&prompt.root; make -DNOPROFILE installworldВ противном случае будет делаться попытка установить библиотеки
для профилирования, которые не компилировались на этапе выполнения
команды make buildworld.Обновите файлы, не обновленные по команде
make worldПри перестроении системы не будут обновляться некоторые каталоги
(в частности, /etc, /var и
/usr) с конфигурационными
файлами.Самым простым способом обновить такие файлы является запуск
утилиты &man.mergemaster.8;, хотя можно сделать это и вручную, если вам
так больше нравится. Вне зависимости от выбранного вами способа
обязательно сделайте резервную копию каталога /etc
на случай, если произойдёт что-то непредвиденное.TomRhodesТекст предоставил mergemastermergemasterУтилита &man.mergemaster.8; является скриптом для оболочки Боурна,
которая поможет вам в определении разницы между вашими
конфигурационными файлами в каталоге /etc и
конфигурационными файлами из дерева исходных текстов
/usr/src/etc. Это является рекомендуемым
способом синхронизации системных конфигурационных файлов с теми, что
размещены в дереве исходных текстов.mergemaster была интегрирована в базовый
комплект системы FreeBSD между выпусками 3.3-RELEASE и 3.4-RELEASE,
что означает её наличие во всех системах -STABLE и -CURRENT, начиная с
3.3.Для начала просто наберите mergemaster в
приглашении командной строки и посмотрите, что происходит.
mergemaster построит временное окружение для
пользователя root, начиная от /, а затем
заполнит его различными системными конфигурационными файлами. Эти
файлы затем будут сравниваться с теми, что установлены в вашей
системе. В этот момент файлы, которые имеют отличия, будут выданы в
формате &man.diff.1;, где знак будет означать
добавленные или изменённые строки, а знак будет
означать строки, которые были либо полностью удалены, либо заменены
на новые. Обратитесь к страницам справочной системы по команде
&man.diff.1; для получения более полной информации о синтаксисе
команды &man.diff.1; и формате выдачи отличий в файлах.Затем &man.mergemaster.8; выдаст вам каждый файл, в котором есть
изменения, и в этот момент у вас есть возможность либо удалить новый
файл (который будем считать временным), установить временный файл в
его неизменённом виде, объединить временный файл с установленным на
данный момент, либо просмотреть выдачу &man.diff.1; ещё раз.Выбор удаления временного файла укажет &man.mergemaster.8; на то,
что мы хотим оставить наш текущий файл без изменений и удалить его
новую версию. Делать это не рекомендуется, если только
у вас нет причин вносить изменения в текущий файл. Вы можете
получить помощь в любое время, набрав ? в
приглашении &man.mergemaster.8;. Если пользователь выбирает пропуск
файла, запрос появится снова после того, как будут обработаны все
остальные файлы.Выбор установки немодифицированного временного файла приведёт к
замене текущего файла новым. Для большинства немодифицированных
файлов это является подходящим вариантом.Выбор варианта с объединением файла приведёт к вызову текстового
редактора, содержащего текст обоих файлов. Теперь вы можете
объединить их, просматривая оба файла на экране, и выбирая те части
из обоих, что подходят для окончательного варианта. Когда файлы
сравниваются на экране, то нажатие l выбирает
содержимое слева, а нажатие r выбирает содержимое
справа. В окончательном варианте будет файл, состоящий из обеих
частей, который и будет установлен. Этот вариант используется для
файлов, настройки в которых изменялись пользователем.Выбор повторного просмотра &man.diff.1;-разниц выдаст вам разницы
между файлами, как это делала утилита &man.mergemaster.8; до того,
как запросила вас о выборе.После того, как утилита &man.mergemaster.8; закончит работу с
системными файлами, она выдаст запрос относительно других параметров.
&man.mergemaster.8; может запросить вас относительно перестроения
файла паролей и/или запуска &man.MAKEDEV.8; при использовании FreeBSD
версий, меньших чем 5.0, и завершит запросом на удаление оставшихся
временных файлов.Обновление в ручном режимеОднако если вы хотите произвести обновление вручную, то вы не
можете просто скопировать файлы из /usr/src/etc в
/etc и получить работающую систему. Некоторые
из этих файлов сначала нужно установить. Это нужно
потому, что каталог /usr/src/etcне является копией того, что должен содержать
ваш каталог /etc. Кроме того, есть файлы,
которые должны присутствовать в /etc, но которых
нет в /usr/src/etc.Если вы используете &man.mergemaster.8; (как это рекомендуется),
то вы можете перейти сразу к следующему
разделу.Вручную проще всего сделать это, установив файлы в новый каталог,
а затем пройтись по ним, отмечая разницу.Сделайте резервную копию вашего каталога
/etcХотя, в теории, никаких автоматических действий с этим
каталогом не производится,
всегда лучше чувствовать себя уверенным. Так что скопируйте
имеющийся каталог /etc в какое-нибудь
безопасное место. Запустите что-то вроде:&prompt.root; cp -Rp /etc /etc.old задает выполнение рекурсивного копирования,
а сохраняет даты, владельца файлов и тому
подобное.Вам нужно создать шаблонную структуру каталогов для установки
нового содержимого /etc и других файлов.
Подходящим местом является /var/tmp/root, и в нём
потребуется разместить некоторое количество подкаталогов.&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionЭти команды приведут к созданию нужной структуры каталогов и
установке файлов. Множество каталогов, созданных в
/var/tmp/root, будут пустыми и должны быть удалены.
Проще всего сделать это так:&prompt.root; cd /var/tmp/root
&prompt.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, чтобы выявить их.Проще всего сделать это путём сравнения двух файлов при помощи
команды &man.diff.1;:&prompt.root; diff /etc/shells /var/tmp/root/etc/shellsЭта команда покажет разницу между вашим файлом
/etc/shells и новым файлом
/var/tmp/root/etc/shells. Используйте это для
определения того, переносить ли сделанные вами изменения или
скопировать поверх вашего старого файла.Называйте новый корневой каталог
(/var/tmp/root) по дате, чтобы вы смогли легко
выявить разницу между версиямиЧастое перестроение системы означает также и частое обновление
/etc, которое может быть несколько
обременительным.Вы можете ускорить этот процесс, сохраняя копию последнего
набора измененных файлов, которые вы перенесли в
/etc. Следующая процедура подаст вам одну
идею о том, как это сделать.Выполните перестроение системы обычным образом. Когда вы
вам потребуется обновить /etc и другие
каталоги, дайте целевому каталогу имя на основе текущей даты.
Если вы делаете это 14 февраля 1998 года, то вы можете сделать
следующее:&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distributionПеренесите изменение из этого каталога, как это описано
выше.Не удаляйте каталог
/var/tmp/root-19980214 после окончания
этого процесса.Когда вы сгрузите самую последнюю версию исходного кода и
перестроите систему, выполните шаг 1. Это даст вам новый
каталог, который может называться
/var/tmp/root-19980221 (если вы ждете
неделю между обновлениями).Теперь вы можете видеть изменения, которые были сделаны
за прошедшую неделю, выполнив при помощи команды &man.diff.1;
рекурсивное сравнение двух каталогов:&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221Как правило, здесь содержится гораздо меньше отличий, чем
между каталогами
/var/tmp/root-19980221/etc и
/etc. Так как отличий меньше, то и легче
перенести эти изменения в ваш каталог
/etc.Теперь вы можете удалить более старый из двух каталогов
/var/tmp/root-*:&prompt.root; rm -rf /var/tmp/root-19980214Повторяйте этот процесс всякий раз, когда вам нужно
перенести изменения в каталог /etc.Для автоматической генерации имён каталогов можно
использовать команду &man.date.1;:&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`Обновите /devDEVFSЕсли вы работаете с FreeBSD 5.0 или более поздними версиями,
то можете спокойно пропустить этот раздел. В этих версиях
&man.devfs.5; используется для выделения файлов устройств в режиме,
прозрачном для пользователя.Если вы используете DEVFS, то этого можно не делать.В большинстве случаев утилита &man.mergemaster.8; обнаружит, что
необходимо обновить файлы устройств, и предложит сделать это
автоматически. Эти указания описывают, как обновить файлы устройств
вручную.Для безопасности этот процесс делается в несколько шагов.Скопируйте /var/tmp/root/dev/MAKEDEV в
/dev:&prompt.root; cp /var/tmp/root/dev/MAKEDEV /devMAKEDEVЕсли вы использовали &man.mergemaster.8; для обновления
/etc, то ваш скрипт
MAKEDEV уже должен быть обновлен, так что
его не нужно проверять (утилитой &man.diff.1;) и копировать
вручную в случае необходимости.Теперь выведите текущее содержимое вашего каталога
/dev. Этот список должен содержать права,
владельцев, старшее и младшее числа каждого файла, но не должен
содержать информацию о времени. Проще всего это сделать,
отрезав при помощи &man.awk.1; часть информации:&prompt.root; cd /dev
&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.outПовторно создайте все файлы устройств:&prompt.root; sh MAKEDEV allСоздайте ещё один список содержимого каталога, на этот раз в
/var/tmp/dev2.out. Теперь просмотрите оба эти
файла и поищите файлы устройств, которые вы забыли создать. Таких
быть не должно, но лишний раз удостовериться не помешает.&prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.outСкорее всего, вы заметите разногласия в именовании дисковых
слайсов, что решается такими командами, как:&prompt.root; sh MAKEDEV sd0s1для повторного создания устройств слайсов. Точное название
зависит от вашей системы и может отличаться от приведённого.Обновите /standЭтот шаг описан только для полноты. Он может быть
безболезненно опущен. Если вы работаете с FreeBSD 5.2 или
более поздней версией, то для пользователей каталог
/rescue автоматически обновляется до текущего
состояния, а статически компилируемые выполнимые файлы во время
выполнения команды make installworld, поэтому
каталог /stand обновлять не нужно.В целях полноты обновления вам может потребоваться обновить также
файлы в каталоге /stand. Эти файлы представляют
собой жёсткие ссылки на выполнимый файл
/stand/sysinstall. Этот файл должен быть
статически скомпонован, чтобы его работа не зависела от других
файловых систем (в частности, от наличия смонтированной файловой
системы /usr).&prompt.root; cd /usr/src/release/sysinstall
&prompt.root; make all installПерезагрузкаТеперь вы сделали всё. После того, как вы проверили, что всё
на месте, можете перегрузить систему. Простая команда
&man.shutdown.8; должна это сделать:&prompt.root; shutdown -r nowЗавершениеТеперь у вас имеется успешно обновлённая система &os;.
Поздравляем!Если что-то работает неправильно, можно с лёгкостью перестроить
конкретную часть системы. Например, если вы случайно удалили файл
/etc/magic в процессе обновления или переноса
/etc, то команда &man.file.1; перестанет работать.
В таком случае это можно исправить вот так:&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installВопросы?Нужно ли полностью перестраивать систему при каждом
изменении?Простого ответа на этот вопрос нет, так как это зависит от
характера изменения. Например, если вы только что выполнили
CVSup, и оказалось, что с момента
последнего его запуска были изменены следующие файлы:src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mkто перестраивать всю систему незачем. Вы можете просто
перейти в соответствующий подкаталог и выдать команду
make all install, этого будет достаточно.
Однако, если меняется что-то важное, например,
src/lib/libc/stdlib, то вы должны
перестроить всю систему или по крайней мере те ее части, которые
скомпонованы статически.В конце концов, выбор за вами. Может быть вам нравится
перестраивать систему, скажем, каждый вечер, а изменения
скачивать ночью. Или вы можете захотеть перестраивать только
те вещи, которые менялись, но быть уверенным, что отслежены все
изменения.И, конечно же, всё это зависит от того, как часто вы хотите
делать обновление, и отслеживаете ли вы &os.stable; или
&os.current;.Компиляция прерывается с большим количеством ошибок по
сигналу 11 (или с другим номером сигнала). Что
случилось?сигнал 11Как правило, это говорит о проблемах с оборудованием.
(Пере)построение системы является эффективным стресс-тестом для
вашего оборудования и частенько выявляет проблемы с памятью.
Обычно это проявляется в виде неожиданных сбоев компилятора
или получения странных программных сигналов.Явным указателем на это является то, что при перезапуске
процедуры построения она прекращается в различные моменты
времени.В этом случае вы мало что можете сделать, разве что
попробовать заменить комплектующие вашей машины для определения
сбоящей компоненты.Могу ли я удалить каталог /usr/obj
после окончания?Если отвечать коротко, то да.Каталог /usr/obj содержит все
объектные файлы, которые создаются во время фазы компиляции.
Обычно одним из первых шагов в процессе make world
является удаление этого каталога. В этом случае сохранение
/usr/obj после окончания имеет мало смысла;
вдобавок, он будет занимать большой объём дискового
пространства (на данный момент около 340 МБ).Однако если вы точно знаете, что делаете, то можете заставить
процедуру make world пропустить этот шаг. Это
позволит последующие построения выполняться гораздо быстрее, так
как большинство исходных текстов не нужно будет
перекомпилировать. Оборотной стороной медали этого подхода
является вероятность появления некоторых проблем с зависимостями,
что может привести к прерыванию построения по странным причинам.
Это частенько вызывает шум в списках рассылки &os;, когда
кто-либо жалуется на прерывание процесса построения, не обращая
внимания на то, что он пытается срезать углы на
повороте.Могут ли быть продолжены прерванные процессы
построения?Это зависит от того, насколько далеко зашел процесс
построения перед тем, как вы обнаружили проблему.В общем случае (и это несложное и
быстрое правило) процесс make world строит
новые копии необходимых инструментальных средств (таких, как
&man.gcc.1; и &man.make.1;) и системные библиотеки. Затем эти
средства и библиотеки устанавливаются. Новые инструментальные
средства и библиотеки затем используются для перестроения
самих себя, и повторно устанавливаются. Система в целом
(теперь включая обычные пользовательские программы, такие,
как &man.ls.1; или &man.grep.1;) теперь перестраивается с
новыми системными файлами.Если вы на последнем шаге, и вы знаете это (потому что
просматривали вывод, который сохраняете), то вы можете
(достаточно безболезненно) выполнить команду:… исправление проблемы …
&prompt.root; cd /usr/src
&prompt.root; make -DNOCLEAN allПри этом результат предыдущего запуска
make world откатываться не будет.Если вы видите сообщение:--------------------------------------------------------------
Building everything..
--------------------------------------------------------------в выводе команды make world, то делать так
достаточно безопасно.Если этого сообщения не было, или вы в этом не уверены, то
всегда лучше обезопасить себя, и начать построение с самого
начала.Как ускорить процесс построения системы?Работайте в однопользовательском режиме.Разместите каталоги /usr/src и
/usr/obj в отдельных файловых
системах, располагающихся на разных дисках. Если это
возможно, то разместите эти диски на разных дисковых
контроллерах.Ещё лучше разместить эти файловые системы на нескольких
дисках при помощи устройства &man.ccd.4; (драйвер
объединённых дисков).Выключите генерацию профилирующего кода (установив
NOPROFILE=true в файле
/etc/make.conf). Вам это скорее
всего никогда не понадобится.Также в /etc/make.conf установите
значение CFLAGS во что-то типа . Оптимизация выполняется
гораздо медленнее, а разница между и
обычно несущественна.
позволяет компилятору использовать для
связи вместо временных файлов программные каналы, что
уменьшает обращение к диску (за счет оперативной
памяти).Передайте утилите &man.make.1; параметр
для запуска
параллельно нескольких процессов. Обычно это помогает вне
зависимости от того, сколько процессоров установлено в вашей
машине.Файловая система, на которой располагается каталог
/usr/src, может быть смонтирована (или
перемонтирована) с опцией . При этом
запись на диск информации о времени последнего доступа к
файлам будет отключена. Скорее всего, вам эта информация и
не нужна.&prompt.root; mount -u -o noatime /usr/srcВ примере предполагается, что
/usr/src располагается на
собственной файловой системе. Если это не так (то
есть он является частью, скажем,
/usr), то вам нужно использовать
точку монтирования той файловой системы, а не
/usr/src.Файловая система, на которой располагается
/usr/obj, может быть смонтирована (или
перемонтирована) с параметром . Это
приведёт к тому, что операции записи на диск будут
выполняться асинхронно. Другими словами, запись будет
завершаться немедленно, но данные записываться на диск
несколькими секундами позже. Это позволит объединять
операции записи и приведёт к значительному приросту
производительности.Имейте в виду, что эта опция делает вашу файловую
систему менее устойчивой. С этой опцией имеется больше
шансов, что при перезагрузке машины после неожиданного
сбоя при пропадании напряжения файловая система окажется
в невосстановимом состоянии.Если каталог /usr/obj — это все,
что есть в этой файловой системе, то это не проблема.
Если на той же самой файловой системе имеются какие-то
важные данные, то проверьте давность ваших резервных
копий перед включением этой опции.&prompt.root; mount -u -o async /usr/objКак и раньше, если каталог
/usr/obj располагается не на
собственной файловой системе, то в примере замените его
на имя соответствующей точки монтирования.Что мне делать, если что-то пошло не так?Скрупулезно проверьте, чтобы в вашем окружении не было
мешающих остатков от предыдущих построений. Это достаточно
просто.&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandirДа, команду make cleandir действительно
нужно выполнять дважды.После этого повторите весь процесс снова, начиная с
make buildworld.Если у вас все еще есть проблемы, пришлите текст ошибки и
выдачу команды uname -a на адрес
&a.questions;. Будьте готовы ответить на другие вопросы о
конфигурации вашей системы!MikeMeyerТекст предоставил Отслеживание исходных текстов для нескольких машинNFSinstalling multiple machinesЕсли у вас множество машин, для которых вы хотите отслеживать одно
и то же дерево исходных текстов, то сгрузка кода и перестроение системы
полностью выглядит как ненужная трата ресурсов: дискового пространства,
пропускной способности сети и процессорного времени. Так оно и есть, и
решением является выделение одной машины, которая выполняет основной
объём работы, в то время как остальные используют результаты работы
посредством NFS. В этом разделе описывается именно этот метод.ПодготовкаПервым делом определите набор машин, на которых выполняется один
и тот же набор бинарных программ, и мы будем называть его
набором для построения. Каждая машина может иметь
собственное уникальное ядро, но они будут работать с одними и теми же
программами пользователя. Из этого набора выберите машину, которая
будет являться машиной для построения. Она станет
машиной, на которой будут строиться ядро и всё окружение. В идеальном
случае с достаточно незагруженным CPU для выполнения команды
make world. Вам также потребуется выбрать машину,
которая будет тестовой для проверки обновлений
программного обеспечения прежде, чем оно будет запущено в промышленную
эксплуатацию. Это должна быть машина, которая
может быть в нерабочем состоянии достаточно долго. Это может быть
машина для построения, но не обязательно.Все машины в этом наборе для построения должны монтировать каталоги
/usr/obj и
/usr/src с одной и той же машины и в одну и ту же
точку монтирования. В идеальном случае они располагаются на разных
дисках машины построения, но они могут также монтироваться по NFS на
этой машине. Если у вас имеется несколько наборов для построения, то
каталог /usr/src должен быть на машине построения,
а по NFS он должен быть смонтирован на остальных.Наконец, удостоверьтесь в том, что файл
/etc/make.conf на всех машинах набора для
построения соответствует машине построения. Это означает, что машина
построения должна строить все части основного системного набора,
которые будут устанавливаться на каждой машине из набора для
построения. Кроме того, у каждой машины построения должно быть задано
имя ядра посредством переменной KERNCONF в файле
/etc/make.conf, а машина построения должна
перечислить их все в переменной KERNCONF, причём
первым должно быть имя её собственного ядра. Машина построения должна
хранить конфигурационные файлы ядра каждой машины в каталоге
/usr/src/sys/arch/conf,
если на ней будут строиться соответствующие ядра..Основные системные компонентыТеперь, когда всё это сделано, вы готовы к построению. Постройте
ядро и всё окружение так, как это описано в на машине построения, но ничего не
устанавливайте. После того, как процесс построения завершится,
перейдите к тестовой машине и установите только что построенное ядро.
Если эта машина монтирует каталоги /usr/src и
/usr/obj посредством NFS, то при перезагрузке в
однопользовательский режим вам потребуется задействовать сеть и
смонтировать их. Самым простым способом сделать это является переход
во многопользовательский режим и запуск команды shutdown
now для перехода в однопользовательский режим. После этого
вы можете установить новое ядро и всё окружение, а затем выполнить
команду mergemaster обычным образом. После
выполнения этих действий перезагрузитесь для возвращения к обычному
режиму работы во многопользовательском режиме с этой машиной.После того, как вы убедитесь в нормальной работе всего на тестовой
машине, проведите ту же самую процедуру для установки нового
программного обеспечения на каждой из оставшихся машин из набора для
построения.ПортыТе же самые идеи могут использоваться и для дерева портов. Первым
критическим шагом является монтирование /usr/ports
с одной и той же машины на всех компьютерах в наборе для построения.
Затем вы можете корректно настроить /etc/make.conf
для использования общего каталога с дистрибутивными файлами. Вы должны
задать переменную DISTDIR так, чтобы она указывала
на общедоступный каталог, доступный тому пользователю, который
отображается в пользователя root для ваших точек
монтирования NFS. Каждая машина
должна задавать WRKDIRPREFIX так, чтобы она
указывала на локальный каталог построения. Наконец, если вы
собираетесь строить и распространять пакаджи, до должны задать
переменную PACKAGES так, чтобы она указывала на
каталог, соответствующий DISTDIR.
diff --git a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
index cd172a3125..e9e9f46203 100644
--- a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
@@ -1,1647 +1,1647 @@
Ресурсы в интернетВысокая скорость прогресса FreeBSD делает непрактичным использование
печатных изданий для информирования о последних разработках. Электронные
ресурсы это лучший, а зачастую и единственный способ информирования
о новых возможностях. Поскольку FreeBSD основывается на усилиях
добровольцев, сообщество пользователей само по себе зачастую выполняет
роль службы технической поддержки, а электронная почта и
новости USENET это наиболее эффективный способ обращения к этому
сообществу.Наиболее важная контактная информация сообщества пользователей
FreeBSD показана ниже. Если вам известно о других ресурсах, не
упомянутых здесь, пожалуйста отправьте информацию о них в
&a.doc;, чтобы мы могли включить в этот документ.Списки рассылкиХотя многие участники разработки FreeBSD читают USENET, мы не можем
всегда гарантировать, что ответим на ваши вопросы в краткий срок
(или вообще), если вы отправите их только в группы
comp.unix.bsd.freebsd.*. Вопросы, отправленные
в соответствующий список рассылки, достигнут и нас и обширной аудитории
FreeBSD, что несомненно гарантирует лучшую (или как минимум более
быструю) поддержку.Все сообщения в приведенные ниже списки рассылки должны быть
составлены только на английском языке.Описание каждой рассылки дано в конце этого документа.
Пожалуйста, прочтите описание перед подпиской или отправкой
почты в любой из списков. Большинство наших подписчиков
получают многие сотни относящихся к FreeBSD сообщений каждый день,
и определяя правила использования рассылок мы стремимся удержать
высокое соотношение сигнал к шуму. При меньшем
соотношении списки рассылки перестанут быть эффективной средой общения
участников проекта.Архивы поддерживаются для всех списков рассылки и поиск по ним
- организован на WWW
+ организован на WWW
сервере FreeBSD. Поиск в архиве по ключевым словам
дает отличный способ получения ответов на часто задаваемые вопросы
и должен быть выполнен перед отправкой вопроса.Списки рассылкиОбщие списки: Ниже представлены общие
списки рассылки, к которым каждый может (и приглашается)
присоединиться:СписокНазначение&a.cvsall.name;Изменения, вносимые в дерево исходных текстов
FreeBSD&a.advocacy.name;В защиту FreeBSD&a.announce.name;Важные события и вехи проекта&a.arch.name;Обсуждения архитектуры и дизайна системы&a.bugbusters.name;Обсуждения, относящиеся к поддержке базы данных
сообщений о проблемах FreeBSD и соответствующим
инструментам&a.bugs.name;Сообщения о проблемах&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSD&a.config.name;Разработка инструментов установки и настройки
FreeBSD&a.current.name;Обсуждения, относящиеся к использованию
&os.current;&a.isp.name;Вопросы использования FreeBSD провайдерами&a.jobs.name;Вакансии и резюме, относящиеся к FreeBSD,
с полной и частичной занятостью&a.newbies.name;Рассылка FreeBSD для новых пользователей&a.policy.name;Публикация правил FreeBSD Core team. Только для чтения,
малое количество сообщений&a.questions.name;Вопросы пользователей и техническая поддержка&a.security-notifications.name;Уведомления безопасности&a.stable.name;Обсуждения, относящиеся к использованию
&os.stable;&a.test.name;Рассылка для отправки тестовых сообщений (вместо
обычных списков рассылкиТехнические списки: Следующие списки
предназначены для технических обсуждений. Вам необходимо внимательно
прочитать описание перед подпиской или отправкой почты в один из
этих списков, поскольку они предназначены для использования внутри
проекта.СписокНазначение&a.acpi.name;Разработка ACPI и системы управления
энергопотреблением&a.afs.name;Портирование AFS на FreeBSD&a.aic7xxx.name;Разработка драйверов для &adaptec; AIC 7xxx&a.alpha.name;Портирование FreeBSD на Alpha&a.amd64.name;Портирование FreeBSD на системы AMD64&a.arm.name;Портирование FreeBSD на процессоры &arm;&a.atm.name;Использование ATM сетей с FreeBSD&a.audit.name;Проект аудита исходных текстов&a.binup.name;Дизайн и разработка системы бинарных обновлений&a.cluster.name;Использование FreeBSD в кластерах&a.cvsweb.name;Поддержка CVSweb&a.database.name;Обсуждение использования и разработки баз данных
под FreeBSD&a.doc.name;Создание относящихся к FreeBSD документов&a.emulation.name;Эмуляция других систем, таких как
Linux/DOS/&windows;&a.firewire.name;Техническое обсуждение FreeBSD &firewire;
(iLink, IEEE 1394)&a.fs.name;Файловые системы&a.geom.name;Относящиеся к GEOM обсуждения и реализации&a.gnome.name;Портирование GNOME
и приложений GNOME&a.hackers.name;Общее техническое обсуждение&a.hardware.name;Общее обсуждение оборудования для
FreeBSD&a.i18n.name;Интернационализация FreeBSD&a.ia32.name;FreeBSD на платформе IA-32 (&intel; x86)&a.ia64.name;Портирование FreeBSD на будущие системы Intel
IA64&a.ipfw.name;Технические обсуждения, относящиеся к переработке
кода IP брандмауэра&a.isdn.name;Разработчики ISDN&a.java.name;Разработчики &java; и люди, портирующие &jdk; на
FreeBSD&a.kde.name;Портирование KDE и
приложений KDE&a.lfs.name;Портирование LFS на FreeBSD&a.libh.name;Второе поколение программы установки системы и
пакетов&a.mips.name;Портирование FreeBSD на &mips;&a.mobile.name;Обсуждение портативных компьютеров&a.mozilla.name;Портирование Mozilla на
FreeBSD&a.multimedia.name;Мультимедиа приложения&a.newbus.name;Технические обсуждения архитектуры шины&a.net.name;Обсуждения, относящиеся к сети и исходному тексту
TCP/IP&a.openoffice.name;Портирование OpenOffice.org и
&staroffice; на FreeBSD&a.performance.name;Вопросы оптимизации производительности для
быстрых/работающих под большой нагрузкой серверов&a.perl.name;Поддержка различных относящихся к
perl портов&a.platforms.name;Относится к портам для платформ не-Intel
архитектуры&a.ports.name;Обсуждения коллекции портов&a.ports-bugs.name;Обсуждения относящихся к портам ошибок/PR&a.ppc.name;Портирование FreeBSD на &powerpc;&a.qa.name;Обсуждение гарантий качества (Quality Assurance),
обычно перед релизом&a.realtime.name;Разработка расширений реального времени для FreeBSD&a.scsi.name;Подсистема SCSI&a.security.name;Сообщения безопасности, касающиеся FreeBSD&a.small.name;Использование FreeBSD во встроенных приложениях&a.smp.name;Обсуждение [не]симметричной мультипроцессорной
архитектуры&a.sparc.name;Портирование FreeBSD на системы, основанные на
&sparc;&a.standards.name;Соответствие FreeBSD стандартам C99 и &posix;&a.threads.name;Потоки в FreeBSD&a.testing.name;Тестирование производительности и стабильности
FreeBSD&a.tokenring.name;Поддержка Token Ring в FreeBSD&a.x11.name;Сопровождение и поддержка X11 в FreeBSDОграниченные списки: Следующие списки
рассылки предназначены для более специализированной (и более
официальной) аудитории и вероятно не могут заинтересовать широкую
публику. Вероятно хорошей идеей будет сначала наладить общение
в технических списках рассылки перед присоединением к ограниченным
спискам, так вы сможете освоить этику общения.СписокНазначение&a.hubs.name;Люди, поддерживающие зеркала (поддержка
инфраструктуры)&a.usergroups.name;Координация групп пользователей&a.vendors.name;Координация поставщиков перед релизом&a.www.name;
- Ответственные за www.FreeBSD.org
+ Ответственные за www.FreeBSD.orgДайджест рассылки: Все вышеприведенные
списки доступны в формате дайджеста. После подписки на рассылку,
вы можете изменить параметры дайджеста в разделе настроек учетной
записи.CVS рассылки: Следующие рассылки
предназначены для людей, заинтересованных в просмотре сообщений
об изменении в различных областях дерева исходных текстов.
Это списки только для чтения и вы не должны
отправлять туда почту.РассылкаОбласть исходного текстаОписание области исходного текста&a.cvsall.name;/usr/(CVSROOT|doc|ports|projects|src)Все изменения в любой области дерева исходных текстов
(надмножество других списков рассылки cvs)&a.cvs-doc.name;/usr/(doc|www)Все изменения в дереве исходных текстов
документации и веб сервера&a.cvs-ports.name;/usr/portsВсе изменения в дереве портов&a.cvs-projects.name;/usr/projectsВсе изменения в дереве проектов&a.cvs-src.name;/usr/srcВсе изменения в дереве исходных текстов системыКак подписатьсяДля подписки на рассылку, нажмите на название списка рассылки
выше или воспользуйтесь ссылкой &a.mailman.lists.link; и
нажмите на имя рассылки, которой вы заинтересовались. Страница
списка рассылки содержит все необходимые инструкции по
подписке.Для отправки сообщения в выбранный список рассылки, отправьте
письмо в <listname@FreeBSD.org>.
Это письмо будет разослано участникам рассылки по всему миру.Для отписки от рассылки, нажмите на ссылку, находящуюся внизу
каждого письма, отправляемого через список рассылки. Возможна
также отписка путем отправки письма на
freebsd-[listname]-unsubscribe@FreeBSD.org.Напоминаем, что обсуждение в технических списках рассылки
должно оставаться в рамках технической темы. Если вас интересует
только получение важных анонсов, мы предлагаем подписаться на
рассылку с небольшим трафиком &a.announce;.Описание рассылокВсе списки рассылки FreeBSD имеют
определенные основные правила, которых должен придерживаться каждый
использующий их. Несоблюдение этих правил приведет к отправлению
двух (2) предупреждений от FreeBSD Postmaster
postmaster@FreeBSD.org, после которых, после третьего
нарушения, подписчик будет удален из всех списков рассылки
FreeBSD и дальнейшие его сообщения будут отфильтровываться.
Мы сожалеем, что эти правила и меры вообще необходимы, но современный
интернет это довольно суровая среда и многие его механизмы довольно
слабы.Основные правила:Тема любого сообщения должна соответствовать назначению
списка рассылки, в который это сообщение отправляется. Например,
если список рассылки посвящен техническим вопросам, сообщение
должно быть техническим. Продолжающееся обсуждение вне темы, или
флейм только понижают ценность рассылки для всех ее участников
и поэтому не разрешаются. Для обсуждений вне какой-либо
определенной темы необходимо использовать &a.chat;, специально
для этого предназначенный.Ни одно сообщение не должно отправляться более чем в 2
рассылки, отправка сообщения в 2 рассылки должна выполняться
только при наличии простой и очевидной причины для дублирования
сообщения. В большинстве рассылок подписчикам уже приходит
много избыточного материала, и за исключением редких случаев
(скажем, -stable & -scsi), на самом деле нет
причины отправлять сообщение более чем в один список рассылки.
Если сообщение отправлено вам так, что в поле
Cc находятся несколько списков рассылки,
необходимо урезать поле Cc перед отправкой
ответа. Именно вы отвечаете за собственные
сообщения, независимо от того, кто был автором исходного
письма.Персональные нападки и профанация (в контексте аргументов) не
разрешены, это относится и к пользователям, и к разработчикам.
Грубые нарушения сетевой этики, такие как цитирование или
пересылка личной переписки без специального на то разрешения,
осуждаются но специальные меры в этом случае не принимаются.
Однако, существует несколько специальных
случаев, когда такие письма не отвечают назначению списка рассылки
и, следовательно, могут повлечь отправку предупреждения (или
исключение из списка рассылки).Реклама не-FreeBSD продуктов или сервисов строго запрещена и
исключение из списка рассылки последует незамедлительно, если
станет очевидным, что это спам.Описания рассылок:&a.acpi.name;Разработка ACPI и системы управления
энергопотреблением&a.afs.name;Andrew File SystemЭтот список предназначен для обсуждения портирования
и использования AFS от CMU/Transarc&a.announce.name;Важные события / вехи проектаЭтот список рассылки предназначен для тех, кто интересуется
только периодическими анонсами значительных событий FreeBSD.
Сюда включаются анонсы снэпшотов и других релизов, а также
новых возможностей FreeBSD. Рассылка может содержать призыв
к добровольцам и т.п. Это строго модерируемый список рассылки
с малым объемом трафика.&a.arch.name;Обсуждение архитектуры и
дизайна системыЭта рассылка предназначена для обсуждения архитектуры
FreeBSD. Сообщения в основном строго технические.
Примеры подходящих тем:Как изменить систему сборки для одновременной сборки
нескольких по-разному настроенных систем.Что необходимо исправить в VFS для включения слоев
Heidemann.Как необходимо изменить интерфейс драйверов устройств
для использования одних и тех же драйверов на множестве
шин и архитектур.Как написать сетевой драйвер.&a.audit.name;Проект аудита исходных текстовЭто список рассылки для проекта аудита исходных текстов
FreeBSD. Хотя первоначально он предназначался для изменений,
связанных с безопасностью, его назначение было расширено для
пересмотра всех изменений кода.В эту рассылку отправляется большой объем исправлений,
и она вероятно не представляет интереса для обычного
пользователя FreeBSD. Обсуждения безопасности, не относящиеся
к определенному изменению в коде, ведутся в freebsd-security.
Разработчикам предлагается отправлять изменения в этот список
рассылки для просмотра, особенно если эти изменения затрагивают
части кода, ошибки в которых могут повлечь нарушение
целостности системы.&a.binup.name;Проект бинарного обновления
FreeBSDЭтот список предназначен для обсуждений системы бинарного
обновления системы, или binup.
В этой рассылке обсуждаются вопросы дизайна, детали реализации,
исправления, сообщения об ошибках, сообщения о статусе, запросы
на расширение функциональности, протоколы коммитов, и все, что
относится к binup.&a.bugbusters.name;Координация усилий по обработке сообщений о
проблемахНазначение этой рассылки в координации и предоставлении
места для обсуждения для лиц, обслуживающих базу данных
сообщений о проблемах (bugmeister, bugbusters) и для всех
сторон, интересующихся базой данных PR. Эта рассылка не
предназначена для обсуждения отдельных проблем, исправлений
или PR.&a.bugs.name;Сообщения об ошибкахЭтот список рассылки предназначен для отправки сообщений об
ошибках в FreeBSD. Когда это возможно, сообщения должны
отправляться с использованием &man.send-pr.1; или через
- WEB интерфейс
+ WEB интерфейс
к send-pr.&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSDВ эту рассылку входят все темы, не подходящие для других
рассылок, с не-технической, социальной информацией.
Она включает обсуждения на темы:
кто пьет слишком много кофе, где варят
лучшее пиво, кто варит пиво в своем подвале, и так далее.
Нерегулярные анонсы важных событий (такие как будущие встречи,
свадьбы, дни рождения, новая работа и т.д.) могут быть
опубликованы в технических рассылках, но ответы должны
отправляться в -chat.&a.core.name;Команда FreeBSD coreЭто внутренний список рассылки, используемый членами
core. Сообщения в эту рассылку могут быть отправлены
по серьезной, имеющей отношение к FreeBSD причине, которая
требует рассмотрения на самом высоком уровне.&a.current.name;Обсуждения, касающиеся использования
&os.current;Это список рассылки для пользователей &os.current;. Он
включает предупреждения о новых возможностях, вносимых в
-CURRENT, влияющих на пользователей, и инструкции относительно
действий, которые должны быть предприняты для поддержки
-CURRENT. Всякий, работающий с CURRENT,
должен подписаться на эту рассылку. Это технический список
рассылки, все сообщения должны быть строго техническими.&a.cvsweb.name;FreeBSD CVSweb ProjectТехнические обсуждения использования, разработки и поддержки
FreeBSD-CVSweb.&a.doc.name;Проект документированияЭтот список рассылки предназначен для обсуждения вопросов
и проектов, относящихся к созданию документации для FreeBSD.
Члены этой рассылки все вместе обозначаются как
The FreeBSD Documentation Project. Это открытая
рассылка; присоединяйтесь и участвуйте!&a.firewire.name;&firewire; (iLink, IEEE 1394)Это список рассылки, предназначенный для обсуждения дизайна
и реализации подсистемы &firewire; (также известной как
IEEE 1394 или iLink) в FreeBSD. Соответствующие темы
относятся к стандартам, устройствам шины и их протоколам,
наборам плат/карт/чипов адаптера, а также архитектуре и
реализации кода для их правильной поддержки.&a.fs.name;Файловые системыОбсуждения, относящиеся к файловым системам FreeBSD. Это
технический список рассылки, предназначенный только для
технических обсуждений.&a.geom.name;GEOMОбсуждения, относящиеся к GEOM и связанным с GEOM реализациям.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.gnome.name;GNOMEОбсуждения, относящиеся к десктопу
GNOME для системы FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ipfw.name;IP брандмауэрЭто форум для технических обсуждений, относящихся к
редизайну кода IP брандмауэра в FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ia64.name;Портирование FreeBSD на IA64Это технический список рассылки для тех, кто активно
работает над портированием FreeBSD на платформу IA-64
от Intel, предназначенный для поднятия вопросов или обсуждения
альтернативных решений. Те, кто интересуется обсуждаемыми
проблемами, также приглашаются к участию в рассылке.&a.isdn.name;ISDN соединенияЭто список рассылки для обсуждения разработки поддержки
ISDN для FreeBSD.&a.java.name;Разработка &java;Этот список рассылки предназначен для обсуждения ключевых
приложений &java; для FreeBSD, а также портирования и
поддержки &jdk;.&a.jobs.name;Предложение и поиск работыЭто форум для публикации вакансий и резюме, относящихся
к &os;. Например, если вы ищете работу, относящеюся к
&os;, или у вас есть работа, связанная с &os;, вы можете
разместить соответствующую информацию именно здесь. Эта
рассылка не предназначена для обсуждения
общих вопросов
о приеме на работу, поскольку форумы на соответствующие
темы уже существуют на других сайтах.Имейте ввиду, что эта рассылка, как и другие рассылки
на FreeBSD.org, распространяется по всему миру. Поэтому вам
необходимо четко указать свое местоположение и область,
с которой возможны телекоммуникации или помощь в
перемещении.Письма должны быть составлены только в открытых форматах
— предпочтителен чистый текст, но Portable Document
Format (PDF), HTML, и некоторые другие
форматы могут быть прочитаны многими. Закрытые форматы,
такие как µsoft; Word (.doc)
будут отброшены сервером почтовой рассылки.&a.kde.name;KDEОбсуждения, относящиеся к KDE в
системах FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.hackers.name;Технические обсужденияЭто форум для технических обсуждений, относящихся к
FreeBSD. Это в основном технический список рассылки. Он
предназначен для тех, кто активно работает над FreeBSD, и
служит для поднятия вопросов или обсуждения альтернативных
решений. Те, кто интересуется обсуждаемыми вопросами, также
приглашаются к участию в обсуждении. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.hardware.name;Общее обсуждение оборудования
FreeBSDОбщее обсуждение типов оборудования, на котором
работает FreeBSD, различных проблем и предложений относительно
того, какое оборудование можно покупать а какое нет.&a.hubs.name;Сайты зеркалАнонсы и обсуждения для поддерживающих зеркала
FreeBSD.&a.isp.name;Вопросы использования FreeBSD
провайдерамиЭтот список рассылки предназначен для обсуждения тем,
имеющих значение для провайдеров, использующих FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.newbies.name;Обсуждение деятельности новых
пользователейЭта рассылка охватывает всю деятельность новых
пользователей, которая не обсуждается где-то еще. Сюда
включаются: независимое обучение и техника решения проблем,
поиск и использование ресурсов и запрос помощи где-то еще,
как использовать списки рассылки и какие из них использовать,
разговоры на общие темы, обсуждение ошибок, хвастовство,
обмен идеями, истории, моральная (но не техническая) поддержка,
активное участие в сообществе FreeBSD. Мы сообщаем о своих
проблемах и отправляем запросы на поддержку в freebsd-questions,
а freebsd-newbies используем для встречи с темы, кто делает
то же, что и мы, будучи новыми пользователями.&a.openoffice.name;OpenOffice.orgОбсуждения, относящиеся к портированию и поддержке
OpenOffice.org и
&staroffice;.&a.performance.name;Обсуждения оптимизации или повышения скорости
FreeBSDЭтот список рассылки существует как место для обсуждения
тем, имеющих отношение к производительности FreeBSD,
хакерами, администраторами, и/или заинтересованными сторонами.
Приемлемые темы включают обсуждения установок FreeBSD, которые
находятся под высокой нагрузкой и сталкиваются с проблемами
производительности, или преодоление ограничений FreeBSD.
Заинтересованным сторонам, собирающимся работать над улучшением
производительности FreeBSD, настоятельно рекомендуется
подписаться на эту рассылку. Это техническая рассылка,
идеально подходящая для пользователей, хакеров или
администраторов, заинтересованных в скорости, стабильности
и расширяемости FreeBSD. Это не рассылка вопросов-и-ответов,
заменяющая чтение документации, а место, где можно внести свой
вклад или получить информацию по еще незатронутой
теме, связанной с производительностью.&a.platforms.name;Портирование на не-Intel
платформыКросс-платформенные вопросы FreeBSD, общее обсуждение и
предложения для не-Intel портов FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.policy.name;Правила core teamЭто рассылка с малым количеством сообщений, только для
чтения, предназначенная для публикации решений FreeBSD
Core Team.&a.ports.name;Обсуждения
portsОбсуждения, относящиеся к коллекции портов
FreeBSD, (/usr/ports), инфраструктуры
портов и общих усилий по координации портов.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ports-bugs.name;Обсуждение проблем в
portsОбсуждения, относящиеся к сообщениям о проблемах для
коллекции портов FreeBSD
(/usr/ports), предлагаемых портов, или
изменений к портам. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.questions.name;Вопросы пользователейЭто список рассылки по вопросам о FreeBSD. Вы не должны
отправлять вопросы как сделать в технические
рассылки, если только не уверены, что ваш вопрос чисто
технический.&a.scsi.name;Подсистема SCSIЭто список рассылки для тех, кто работает над подсистемой
SCSI для FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.security.name;Вопросы безопасностиВопросы безопасности FreeBSD (DES, Kerberos, известные
проблемы безопасности и исправления, и т.п.). Это технический
список рассылки, предназначенный только для технических
обсуждений. Обратите внимание, что это не рассылка
вопросов-и-ответов, но дополнения в FAQ (И вопрос И ответ)
приветствуются.&a.security-notifications.name;Уведомления безопасностиУведомления о проблемах безопасности FreeBSD и исправления.
Эта рассылка не предназначена для обсуждений. Для обсуждения
предназначена рассылка FreeBSD-security.&a.small.name;Использование FreeBSD во встроенных
приложенияхВ этой рассылке обсуждаются темы, связанные с необычно
малыми и встроенными установками FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.stable.name;Обсуждения, касающиеся использования
&os.stable;Этот список рассылки предназначен для пользователей
&os.stable;. Он включает предупреждения о новых возможностях,
добавляемых в -STABLE, и влияющих на пользователей, и инструкции
по действиям, которые необходимы для поддержки системы в
состоянии -STABLE. Всякий, использующий STABLE,
должен подписаться на эту рассылку. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.standards.name;Соответствие C99 и POSIXЭто форум для технических обсуждений, относящихся к
соответствию FreeBSD стандартам C99 и POSIX.&a.usergroups.name;Список координации групп
пользователейЭтот список рассылки предназначен для обсуждения вопросов
координаторами каждой группы пользователей и назначенным
членом Core Team. Обсуждения в этой рассылке ограничены
темой встреч и координацией проектов, относящихся к группам
пользователей.&a.vendors.name;ПоставщикиОбсуждения, относящиеся к координации между FreeBSD Project
и поставщиками программного и аппаратного обеспечения для
FreeBSD.Фильтрация списков рассылкиСписки рассылки &os; фильтруются различными способами для
предотвращения распространения спама, вирусов, и другой нежелательной
почты. Действия по фильтрации, описанные в этом разделе,
не включают всех используемых для фильтрации списков рассылки
проекта действий.Только определенные типы вложений разрешены в списках рассылки.
Все вложения с типами MIME содержимого, не входящие в список ниже,
будут вырезаться перед тем, как письмо будет отправлено в список
рассылки.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchНекоторые из списков рассылки могут пропускать вложения
других типов MIME, но список выше применим к большинству
рассылок.Если письмо содержит как HTML, так и только текстовую версию,
версия HTML будет удалена. Если письмо содержит только HTML
версию, она будет конвертирована в простой текст.Новостные группы UsenetВ дополнение к двум относящимся к FreeBSD группам новостей,
существуют множество других, где обсуждается FreeBSD или куда
помещается другая информация, относящаяся к пользователям FreeBSD.
Архивы
с поиском по ключевому слову доступны для некоторых из
этих новостных групп благодаря Warren Toomey
wkt@cs.adfa.edu.au.Относящиеся к BSD новостные группыcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (German)fr.comp.os.bsd (French)it.comp.os.freebsd (Italian)Другие интересные &unix; новостные группыcomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineСерверы World Wide Web
&chap.eresources.www.inc;
Адреса EmailСледующие группы пользователей предоставляют для своих участников
почтовые адреса. Приведенные в списке администраторы оставляют за собой
право удалить адреса при любом злоупотреблении.ДоменВозможностиГруппа пользователейАдминистраторukug.uk.FreeBSD.orgТолько пересылкаfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell доступСледующие группы пользователей предоставляют shell доступ для тех,
кто активно поддерживает проект FreeBSD. Приведенные в списке
администраторы оставляют за собой право закрыть учетную запись при
любом злоупотреблении.ХостДоступВозможностиАдминистраторstorm.uk.FreeBSD.orgТолько SSHCvs только для чтения, место для личной странички,
почта&a.brian;dogma.freebsd-uk.eu.orgTelnet/FTP/SSHEmail, место для сайта, Anonymous FTPLee Johnston
lee@uk.FreeBSD.org
diff --git a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
index 8a57e6b8d9..96c3166575 100644
--- a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
@@ -1,5595 +1,5600 @@
JimMockРеструктурировал, исправил и частично
переписал RandyPrattОбзор sysinstall, скриншоты и общее
руководство Установка FreeBSDКраткий обзорустановкаFreeBSD поставляется простой в использовании текстовой
программой установки sysinstall.
Это основная программа установки FreeBSD, хотя поставщики
могут предлагать свои программы. В этой главе
описывается использование sysinstall
для установки FreeBSD.Прочтя эту главу, вы узнаете:Как создать дискеты для установки FreeBSD.Как FreeBSD видит и делит на разделы жесткие диски.Как запустить sysinstall.Вопросы, которые sysinstall задаст
вам, что имеется ввиду, и как ответить на эти вопросы.Перед прочтением этой главы вам потребуется:Прочитать информацию о поддерживаемом оборудовании, поставляемую
с устанавливаемой версией FreeBSD, и убедиться, что ваше
оборудование поддерживается.Как правило, эти инструкции по установке написаны для
&i386; (PC совместимых)
компьютеров. Когда это возможно, приводятся инструкции,
специфичные для других платформ (например, Alpha).
Хотя это руководство поддерживается в актуальном состоянии
настолько, насколько это возможно, вы можете обнаружить
небольшие различия между программой установки и тем,
что показано здесь. Предполагается, что вы будете
использовать эту главу в качестве общего руководства, а не
как пошаговую инструкцию по установке.Перед установкойСоберите информацию о компьютереПеред установкой FreeBSD попытайтесь собрать
информацию об устройствах компьютера. Во время установки
FreeBSD покажет информацию об устройствах (жестких дисках,
сетевых картах, CDROM и т.д.) с номером модели и производителем.
FreeBSD также попытается определить правильную конфигурацию для
этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за
возможных проблем с оборудованием этот процесс не всегда
завершается успешно, и возможно вам придется исправлять
определенную FreeBSD конфигурацию.Если у вас уже есть установленная операционная система,
например &windows; или Linux, неплохо будет использовать ее
возможности для просмотра настроек оборудования.
Если вы не уверены какие какие настройки карты
расширения использовать, можете найти их на самой карте.
Часто используемые номера прерываний 3, 5 и 7, порты ввода-
вывода обычно пишутся в шестнадцатеричном виде, например
0x330.Мы рекомендуем распечатать эту информацию перед установкой
FreeBSD. Вам может помочь использование таблицы вроде этой:
Пример сведений об оборудованииНазвание устройстваIRQПорт ввода-выводаПримечанияПервый жесткий дискнетнет40 GB, Seagate, первый IDE masterCDROMнетнетПервый IDE slaveВторой жесткий дискнетнет20 GB, IBM, второй IDE masterПервый IDE контроллер140x1f0Сетевая картанетнет&intel; 10/100Модемнетнет&tm.3com; 56K факс-модем, COM1…
Сделайте резервное копирование данныхЕсли компьютер, на который вы устанавливаете FreeBSD,
содержит важные данные, убедитесь в наличии резервных копий
и проверьте их сохранность перед установкой FreeBSD.
Во время установки FreeBSD запросит подтверждение перед
тем, как записать данные на диск, но, если процесс запущен,
изменения нельзя отменить.Решите куда установить FreeBSDЕсли вы хотите, чтобы FreeBSD использовала весь жесткий диск,
не о чем беспокоиться — можете пропустить этот
раздел.Однако, если нужно совмещать FreeBSD с другими
операционными системами, необходимо иметь представление
как данные размещаются на диске и как это касается вас.Разделы диска для &i386;Диск PC может быть поделен на отдельные части. Эти
части называют разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.Каждый раздел имеет ID раздела —
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165.Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, DOS и ее
потомки, такие как &windows;, присваивают каждому главному и логическому
разделу букву диска, начиная с
C:.FreeBSD нужно устанавливать в главный раздел. FreeBSD может
хранить все свои данные, включая создаваемые вами файлы, на
этом одном разделе. Тем не менее, если дисков много, вы можете
создать разделы FreeBSD на всех дисках или на некоторых из них.
При установке FreeBSD должен быть доступен по крайней мере один раздел.
Это может быть чистый, подготовленный для установки раздел, или
раздел с данными, которые больше не нужны.Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk для DOS или &windows;).Если есть резервный раздел, используйте его. Однако,
возможно сначала придется ужать один или несколько
существующих разделов. FreeBSD для установки нужен диск не менее 100 MB.
Однако, это оченьминимальная
установка, при которой не останется места для ваших личных
файлов. Более реальный объем — 250 MB без графической оболочки,
и более 350 MB с графической оболочкой. Если вы собираетесь
устанавливать большое количество дополнительного ПО,
понадобится еще больше дискового пространства.Вы можете использовать коммерческие программы,
такие как &partitionmagic;, для
изменения размера разделов и освобождения места под
FreeBSD. Каталог tools на CDROM
содержит две свободно распространяемых утилиты,
которые могут быть использованы для этой задачи, называющиеся
FIPS
и PResizer. Документация на обе эти
утилиты доступна из того же каталога.
FIPS,
PResizer, и
&partitionmagic; могут изменять размер
разделов FAT16 и FAT32,
используемых системами от &ms-dos; до &windows; ME.
&partitionmagic; это единственная
известная программа, способная изменять размер
NTFS.Неправильное использование этих утилит может привести к
уничтожению данных на диске. Удостоверьтесь в
наличии свежих и исправных резервных копий данных перед
их использованием.Использование существующего раздела без измененияПредставьте что в компьютере один 4 GB диск, на
котором уже установлена &windows;, и диск разбит на два
логических диска C: и
D:, каждый по 2 GB.
1 GB данных на C:, и
0.5 GB данных на D:.Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D: на C:, это
освободит второй раздел для FreeBSD.Сжатие существующих разделовПредставьте, что в компьютере один 4 GB диск, на
котором уже установлена &windows;. При установке
&windows; вы создали один большой раздел, получив при этом
диск C: размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.Для установки FreeBSD нужно выбрать:Сделать резервную копию &windows;, затем переустановить
&windows;, выделив 2 GB под ее раздел.Использовать одну из утилит, таких как
&partitionmagic;, описанную
выше, для сжатия раздела &windows;.Разделы диска для AlphaAlphaВам потребуется выделенный диск
для FreeBSD на Alpha. В настоящее время невозможно
установить две операционные системы на диск. В зависимости
от конкретного компьютера Alpha, диск может быть SCSI
или IDE, главное, чтобы ваш компьютер мог с него
загружаться.В соответствии с соглашениями, принятыми в
руководствах Digital / Compaq, весь SRM ввод показан в
верхнем регистре. SRM нечувствителен к регистру.Для поиска имен и типов дисков на компьютере
используйте команду SHOW DEVICE SRM
консоли:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEЭтот пример с Digital Personal Workstation
433au показывает три подключенных диска. Первый —
устройство CDROM с именем DKA0, другие два
называются DKC0 и
DKC100 соответственно.Диски с именами DKx
— SCSI диски. Например, DKA100
означает SCSI диск со SCSI целевым ID 1 на первой SCSI шине (A),
в то время как DKC300 означает SCSI диск
с SCSI ID 3 на третьей SCSI шине (C). Имя устройства
PKx означает SCSI адаптер. Как показано
в выводе SHOW DEVICE, SCSI устройство CDROM
определяется как любой другой жесткий диск SCSI.Имена IDE дисков выглядят как DQx,
в то время как PQx — IDE
контроллер.Соберите информацию о конфигурации сетиЕсли вы хотите подключиться к сети в процессе установки
FreeBSD (например, при установке с FTP или NFS сервера),
нужно знать конфигурацию сети. Вам будет предложено
ввести эту информацию,
чтобы FreeBSD смогла подключиться к сети для продолжения
установки.Подключение к сети Ethernet, или через кабельный/DSL модемЕсли вы подключаетесь к сети Ethernet, или соединение
с интернет подключено к Ethernet через кабельный или DSL модем, понадобится
следующая информация:IP адресIP адрес шлюза по умолчаниюИмя хостаIP адрес DNS сервераМаска подсетиЕсли у вас нет этой информации, спросите
системного администратора или провайдера интернет. Они могут сказать,
что эти данные присваиваются автоматически, с использованием
DHCP. Если это так, запомните это.Подсоединение с помощью модемаЕсли вы дозваниваетесь до провайдера с помощью обычного модема,
вы все же сможете установить FreeBSD через интернет, но это займет
очень много времени.Вам нужно знать:Номер телефона провайдераCOM порт, к которому подключен модемИмя пользователя и пароль учетной записи для доступа в
интернетПроверьте сведения об обнаруженных ошибках FreeBSDХотя проект FreeBSD борется за то, чтобы каждый релиз
FreeBSD был настолько стабильным, насколько это возможно, ошибки порой
вкрадываются в процесс разработки. В очень редких случаях эти ошибки
влияют на процесс установки. Как только эти проблемы обнаруживаются и
исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся
на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед
установкой, чтобы убедиться, что не существует проблем, о которых стоит
беспокоиться.Информация о релизах, включая сообщения об ошибках каждого релиза,
находится странице
- информации
+ информации
о релизах
- сайта FreeBSD.
+ сайта FreeBSD.
Получение установочных файлов FreeBSDПрограмма установки FreeBSD может установить FreeBSD из файлов,
расположенных в одном из следующих мест:Локальный дискCDROM или DVDРаздел DOS на вашем компьютереЛента SCSI или QICГибкие дискиСетьFTP сервер (через файрволл или HTTP прокси,
если потребуется)NFS серверСоединение через параллельный или последовательный портЕсли вы купили FreeBSD на CD или DVD, у вас уже есть
все, что нужно, переходите к следующему разделу
().Если у вас нет установочных файлов FreeBSD,
перейдите к разделу , который описывает,
как подготовиться к установке FreeBSD любым указанным выше способом.
После прочтения этого раздела, вернитесь сюда и прочтите
.Подготовка загрузочных дисковПроцесс установки FreeBSD начинается с загрузки в ваш
компьютер программы установки FreeBSD — эта программа
не запускается из других операционных систем. Компьютер
обычно загружает операционную систему, установленную на
жестком диске, но также может быть настроен для
использования загрузочной дискеты.
Большинство современных компьютеров могут также
загрузиться с компакт-диска в приводе CDROM.Если у вас есть FreeBSD на CDROM или DVD (купленный
или записанный самостоятельно), и компьютер позволяет загрузку
с CDROM или DVD (обычно этот пункт в BIOS называется Boot
Order или что-то вроде), можете пропустить этот раздел.
Образы FreeBSD CDROM и DVD являются загрузочными и могут быть
использованы для установки FreeBSD без какой-либо специальной
подготовки.Для создания загрузочных дисков сделайте следующее:Получение образов загрузочных дисковЗагрузочные диски есть на установочном диске
в каталоге floppies/, и
- могут быть также закачаны из
- каталога floppies для компьютеров &i386; и из каталога floppies для компьютеров Alpha.
+ могут быть также закачаны из каталога floppies,
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
+ Замените <arch> и
+ <version>
+ архитектурой компьютера и номером версии, которую вы хотите
+ установить, соответственно. Например, загрузочные дискеты
+ для &os; &rel.current;-RELEASE для &i386; находятся в
+ .
Расширение файла образа диска .flp.
Каталог floppies/ содержит множество
разных образов, ваш выбор будет зависеть от устанавливаемой
версии FreeBSD и, в некоторых случаях, от конфигурации
компьютера. В большинстве случаев понадобятся всего лишь два
файла, kern.flp и
mfsroot.flp. В некоторых системах могут
потребоваться дополнительные драйверы устройств. Они находятся
в файле drivers.flp. Обратитесь к файлу
README.TXT в том же каталоге за свежей
информацией об этих образах дисков.FTP клиент должен использовать
бинарный режим
для загрузки образов дисков. Некоторые веб браузеры
используют текстовый
(ASCII) режим, который точно не позволит
загрузиться с этих дисков.Подготовка дискетНеобходимо подготовить по одной дискете на
каждый загруженный образ. Эти дискеты должны
быть без дефектов. Лучший способ проверить это —
отформатировать дискеты самостоятельно.
Не доверяйте заводскому форматированию дискет. Утилита
форматирования в &windows; не сообщит о наличии плохих
секторов, она просто пометит их как плохие
и проигнорирует. Советуем использовать новые дискеты
если вы выбрали этот способ установки.Если при попытке установки FreeBSD программа
установки рушится, зависает, или делает что-то не так, сразу
проверьте дискеты. Попробуйте записать образы
на новые дискеты и попытайтесь еще раз.Запись образов на дискетыФайлы с расширением .flp это
не обычные файлы, которые можно
записать на диск. Это образы всего содержимого диска.
Это означает, что вы не можете
просто скопировать их с одного диска на другой.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.DOSЕсли вы записываете флоппи на компьютере под
&ms-dos;/&windows;, используйте утилиту
fdimage.Если вы используете образы с CDROM, и буква вашего
CDROM E:,
запустите ее так:E:\>tools\fdimage floppies\kern.flp A:Повторите эту команду для каждого файла
.flp, вставляя новую дискету каждый раз,
пометьте каждый диск именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp. Если у вас нет
CDROM, fdimage может быть загружена
из каталога tools FTP сервера FreeBSD.Если вы записываете дискеты под &unix; (например,
под другой системой FreeBSD), используйте утилиту &man.dd.1;
для записи образов непосредственно на дискеты. Под FreeBSD
запустите:&prompt.root; dd if=kern.flp of=/dev/fd0Под FreeBSD, /dev/fd0 означает первый
гибкий диск (диск A:).
/dev/fd1 будет диском
B:, и так далее. Другие &unix;
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.Теперь вы готовы к установке FreeBSD.Начало установкиКак правило, программа установки не будет производить никаких
изменений на дисках, пока не выдаст следующее сообщение:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Установка может быть прервана в любой момент до этого
предупреждения без каких-либо изменений на жестком диске. Если вы
считаете, что что-то настроили неправильно, можете просто
выключить компьютер без риска что-либо повредить.ЗагрузкаЗагрузка &i386;Компьютер выключен.Включите компьютер. После включения он должен показать
способ входа в меню установки BIOS, как правило это
клавиши F2, F10,
Del, или
AltS. Используете те клавиши, которые показаны на экране.
В некоторых случаях компьютер может показывать картинку после
запуска. Как правило, нажатие Esc уберет картинку
и позволит вам увидеть необходимую информацию.Найдите установки системы, указывающие ей с какого устройства
загружаться. Обычно они обозначаются как Boot Order,
и там как правило отображен список устройств, таких как
Floppy, CDROM,
First Hard Disk, и так далее.Если вы подготовили дискеты, убедитесь, что выбран
Floppy. Если вы загружаетесь с CDROM, убедитесь что
выбран он. Если вы не уверены, посмотрите руководство к
компьютеру и/или к его материнской плате.Сделайте изменения, затем сохраните их и выйдите. Компьютер
должен перезагрузиться.Если вы подготовили дискеты, как описано в разделе
, одна из них будет первым
загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в
дисковод.Если вы загружаетесь с CDROM, потребуется сначала
включить компьютер и вставить компакт-диск как только это станет
возможно.Если компьютер запускается как обычно, и загружает
существующую операционную систему, возможны следующие причины:Диск был вставлен недостаточно рано в процессе загрузки.
Оставьте его внутри и перегрузите компьютер.Установки BIOS, измененные ранее, действуют неправильно.
Надо изменять их, пока они не заработают.BIOS вашего компьютера не поддерживает загрузку с
выбранного типа носителя.FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы
увидите что-то вроде этого (информация о версии удалена):Verifying DMI Pool Data ........
Boot from ATAPI CD-ROM :
1. FD 2.88MB System Type-(00)
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive B: is disk1
BIOS drive C: is disk2
BIOS drive D: is disk3
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Если происходит загрузка с дискеты, вы увидите что-то вроде
этого (информация о версии удалена):Verifying DMI Pool Data ........
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
Please insert MFS root floppy and press enter:Следуя инструкциям, уберите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Загрузка AlphaAlphaКомпьютер выключен.Включите компьютер и дождитесь приглашения к загрузке
на мониторе.Если вы подготовили загрузочные дискеты, как описано в разделе
, одна из них будет
первым загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в дисковод
и наберите следующую команду для загрузки
(замените на имя вашего дисковода если потребуется):>>>BOOT DVA0 -FLAGS '' -FILE ''Если вы загружаетесь с CDROM, вставьте компакт-диск в
привод и наберите для начала установки следующую команду
(замените на имя соответствующего устройства
CDROM если потребуется):>>>BOOT DKA0 -FLAGS '' -FILE ''FreeBSD начнет загружаться. Если загрузка идет с дискет, через
некоторое время вы увидите сообщение:Please insert MFS root floppy and press enter:Следуя инструкциям, удалите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Конфигурация ядра (kernel)Начиная с FreeBSD версии 5.0 и более поздних, userconfig
был удален в пользу метода &man.device.hints.5;. За более подробной
информацией о &man.device.hints.5; обращайтесь к kernel это ядро операционной системы.
В нем реализовано множество функций, включая доступ ко
всем устройствам, которые могут быть в системе, таким как
жесткие диски, сетевые карты, звуковые карты и т.д. Каждое устройство,
поддерживаемое ядром FreeBSD имеет свой драйвер. У каждого
драйвера есть имя из двух или трех букв, например sa
для драйвера последовательного доступа SCSI, или
sio
для драйвера последовательного ввода-вывода (который управляет
COM портами).Когда ядро загружено, каждый драйвер проверяет систему на
предмет наличия поддерживаемого оборудования. Если оно найдено,
драйвер конфигурирует оборудование и делает его доступным остальной
части ядра.Такая проверка обычно называется тестированием
устройства. К сожалению, это не всегда
безопасно. Некоторые драйвера конфликтуют между собой,
и проверка части оборудования иногда может привести другую
часть в неработоспособное состояние. Это основное ограничение
архитектуры PC.Многие старые устройства называются ISA — в
противоположность PCI. Стандарт ISA требует, чтобы в каждом
устройстве была прописана некоторая информация, обычно номер
Interrupt Request Line (IRQ) и адрес порта ввода-вывода, которые
используются драйвером. Эта информация обычно устанавливается
с использованием перемычек на карте, или с помощью DOS
утилиты.Часто это вызывало проблемы, поскольку было
невозможно использовать два устройства с одинаковыми IRQ или
адресами портов.Новые устройства поддерживают PCI стандарт, который не
требует установки параметров вручную, так как устройства способны
общаться с BIOS и договариваться, какие IRQ и адреса портов
ввода-вывода использовать.Если в вашем компьютере есть устройства ISA, FreeBSD
драйвер для этого устройства должен быть настроен с IRQ и
адресом порта установленными на карте. Для этого может
понадобиться собрать сведения об оборудовании ().К сожалению, номера IRQ и адреса портов, используемые
некоторыми драйверами, конфликтуют. Это потому, что некоторые
устройства ISA поставляются с конфликтующими номерами IRQ
или адресами портов. По умолчанию драйвера FreeBSD
предусмотрительно настроены для использования заводских установок,
поэтому будут работать столько устройств, сколько возможно.Это как правило не проблема при каждодневном использовании FreeBSD.
В компьютере обычно нет двух конфликтующих устройств,
поскольку в противном случае одно из них не будет работать
(независимо от используемой операционной системы).Это может стать проблемой при установке FreeBSD в первый раз,
потому что ядро, используемое для установки, собрано с максимальным
количеством драйверов для поддержки множества различных
конфигураций оборудования. Это означает, что некоторые из драйверов
имеют конфликтующие настройки. Устройства тестируются в строго
определенном порядке, и если у вас есть устройство, тестирующееся
позже, но конфликтующее с ранее протестированным устройством,
оборудование может не работать или быть некорректно протестировано
в процессе установки FreeBSD.Поэтому первое, что вы должны сделать при установке
FreeBSD — проверить список устройств, настроенных в
ядре. Отключите некоторые из них, если таких устройств нет.
Подтвердите (и измените) конфигурацию, если
это устройство присутствует, но установки по умолчанию неверны.Возможно, это звучит гораздо сложнее чем есть на самом деле.На показано главное меню
конфигурации ядра. Мы рекомендуем выбрать опцию
Start kernel configuration in full-screen visual
mode, так как это самый простой интерфейс для
нового пользователя.Меню конфигурации ядра&txt.install.userconfig;Экран конфигурации ядра ()
поделен на четыре части:Свернутый список устройств, помеченных как
active, поделен на группы, такие как
Storage, и Network.
Каждый драйвер показан в виде описания, имени из двух
или трех букв, используемых IRQ и порта. В дополнение,
если какой-либо активный драйвер конфликтует с другим
активным драйвером, после имени драйвера пишется
CONF. В этом разделе также показано
общее число конфликтующих активных драйверов. Драйверы, помеченные как неактивные. Они остаются в ядре,
но не будут тестировать свои устройства при загрузке ядра.
Они поделены на группы так же как и активные драйверы.Дополнительная информация о выбранном в данный момент
драйвере, включая IRQ и адрес порта.Информация об управляющих клавишах, доступных в данный
момент.Визуальный интерфейс конфигурации ядра&txt.install.userconfig2;Не беспокойтесь если появятся сообщения о конфликтах,
так и должно быть; все драйверы
включены и как уже объяснялось, некоторые из них будут
конфликтовать с другими.Сейчас вам нужно просмотреть список драйверов и
разрешить конфликты.Разрешение конфликтов драйверовНажмите X. Это полностью раскроет список
драйверов и вы сможете увидеть их все. Вам понадобятся
клавиши навигации для прокрутки назад и вперед в списке
активных драйверов. показывает результат
действия X. Развернутый список драйверовОтключите все драйвера устройств, которых у вас нет. Для
отключения драйвера, переместитесь к нему с помощью клавиш
навигации и нажмите Del. Драйвер будет
помещен в список Inactive Drivers.Если вы случайно отключили нужное устройство, нажмите
Tab для переключения на Inactive
Drivers, выберите отключенный драйвер, и
нажмите Enter, чтобы вернуть его обратно в список
активных драйверов.Не отключайте sc0. Он управляет
экраном, и он нужен, если только вы не производите установку
через последовательный порт.Отключайте atkbd0 только если
вы используете USB клавиатуру. Если клавиатура обычная,
оставьте atkbd0.Если конфликтов нет, можете пропустить этот этап.
В другом случае оставшиеся конфликты должны быть проверены. Если
они не помечены как allowed conflict в окне
сообщений, должны быть изменены или IRQ/адрес порта для
тестирования устройства, или IRQ/адрес порта
физического устройства.Для изменения IRQ и адреса порта ввода-вывода драйвера,
выберите устройство и нажмите Enter. Курсор
переместится в третье окно и вы сможете изменить значения.
вам нужно ввести значения IRQ и адреса порта, определенные
в процессе сбора информации об оборудовании.
Нажмите Q для завершения редактирования
конфигурации устройства и возвращения в список активных
устройств.Если вы не уверены, какими должны быть эти значения,
попробуйте использовать -1. Некоторые драйвера
FreeBSD могут безопасно протестировать оборудование
для определения правильных значений, и значение
-1 указывает им сделать это.Процедура изменения адреса физического устройства различна
для разных устройств. Для некоторых устройств вам может
понадобиться извлечь карту из компьютера и установить перемычки или
DIP переключатели. Другие устройства могут поставляться с DOS
дискетой, содержащей программы, используемые для перенастройки
карты. В любом случае, обращайтесь к документации, поставляемой
с устройством. Изменение адреса несомненно потребует
перезагрузки компьютера, так что вам потребуется опять
вернуться к процессу установки FreeBSD после
перенастройки карты.Когда все конфликты будут разрешены, экран будет выглядеть как
.Конфигурация драйверов без конфликтовКак видите, список активных драйверов стал гораздо меньше,
поскольку в нем только драйвера реально установленных
устройств.Теперь вы можете сохранить изменения и перейти к следующему
пункту установки. Нажмите Q для выхода из меню
конфигурации. Появится сообщение:Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)Нажмите Y для сохранения параметров
в памяти (они будут сохранены на диск после завершения установки)
и тестирование начнется. После отображения белым по черному
результатов тестирования запустится
sysinstall
и отобразится главное меню
().Главное меню SysinstallПросмотр результатов тестирования устройствПоследние несколько сотен линий, отображенные на экране,
сохраняются и могут быть просмотрены.Для просмотра буфера нажмите Scroll Lock. Это
включит прокрутку экрана. Вы можете использовать клавиши навигации или
PageUp и PageDown для просмотра
результатов. Нажмите Scroll Lock еще раз для
отключения прокрутки.Сделайте это сейчас для просмотра текста, ушедшего за экран,
когда ядро закончило тестирование устройств. Вы увидите текст вроде
, хотя в деталях он будет отличаться
в зависимости от устройств, имеющихся в вашем компьютере.Типичный вывод Device Probeavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства какие нужно.
Если устройство не найдено, его не будет в списке. Если драйвер
устройства нуждается в настройке IRQ и адреса порта, проверьте,
введены ли они правильно.Если вам нужно внести изменения в UserConfig,
потребуется выйти из sysinstall
и начать сначала. Это также хороший путь познакомиться поближе с
процессом конфигурации.Выбор Sysinstall ExitИспользуйте клавиши навигации для выбора
Exit Install из главного меню.
Отобразится сообщение: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoПрограмма установки запустится опять, если компакт-диск
остался в устройстве и было выбрано [Yes].Если вы загружаетесь с дискет, необходимо будет извлечь
дискету с mfsroot.flp и заменить ее дискетой с
kern.flp перед перезагрузкой.Введение в SysinstallУтилита sysinstall это программа
установки, предоставляемая проектом FreeBSD. Это консольное приложение,
разделенное на несколько меню и экранов, которые вы можете использовать
для настройки и управления процессом установки.Меню sysinstall управляется
клавишами навигации, Enter, пробелом, и
другими. Подробное описание клавиш и их функций содержится в информации
по использованию sysinstall.Для просмотра этой информации убедитесь, что выбраны пункт
Usage и кнопка
[Select], как показано на , затем нажмите Enter.Будут показаны инструкции по использованию меню. После
просмотра инструкций, нажмите Enter для
возврата в главное меню.Выбор Usage в главном меню SysinstallВыбор меню документации (Doc)Из главного меню выберите клавишами навигации
Doc и нажмите Enter.Выбор меню документацииБудет отображено меню документации.Меню документации SysinstallРекомендуется прочитать предоставляемую документацию.Для просмотра документа выберите его с помощью клавиш
навигации и нажмите Enter. После
прочтения документа нажмите Enter для
возврата в меню документации.Для возврата в главное меню выберите
Exit с помощью клавиш навигации и
нажмите Enter.Выбор меню раскладки клавиатуры (Keymap)Для изменения раскладки клавиатуры выберите из меню с
помощью клавиш навигации Keymap
и нажмите Enter. Это потребуется только при
использовании нестандартной или не-US клавиатуры.Выбор меню раскладки клавиатурыРазличные раскладки клавиатуры могут быть выбраны из
меню с использованием клавиш навигации, затем следует
нажать Space. Нажатие Space
еще раз приведет к отмене выбора. Когда необходимые раскладки
будут выбраны, перейдите на &gui.ok; с помощью клавиш
навигации и нажмите Enter.На экран выведена только часть списка. Нажав
Tab, можно выбрать &gui.cancel;, вернуться к
раскладке по умолчанию и перейти к главному меню.Меню раскладки клавиатурыПараметры установки (Options)Выберите пункт Options
и нажмите Enter.Выбор параметров установкиПараметры SysinstallПараметры по умолчанию обычно устраивают большинство
пользователей и не нуждаются в изменении. Имя релиза зависит
от устанавливаемой версии.Описание выбранного пункта будет появляться внизу экрана
с синей подсветкой. Обратите внимание, что один из
параметров — Use Defaults,
означает сброс всех параметров к значениям по
умолчанию.Нажатие F1 отобразит справку
по различным параметрам.Нажатием Q можно перейти к
главному меню.Начало стандартной установки (Standart)Пункт Standard
рекомендуется для новых пользователей &unix; или FreeBSD.
Используйте клавиши навигации для выбора пункта
Standard, а затем нажмите
Enter для запуска установки.Начало стандартной установкиВыделение дискового пространстваВаша первая задача — выделить дисковое пространство под
FreeBSD и разметить его, чтобы sysinstall
могла его подготовить. Для этого вам нужно знать, как FreeBSD
ищет информацию на диске.Нумерация дисков в BIOSПеред установкой и настройкой FreeBSD
нужно позаботиться кое о чем, особенно если
жестких дисков несколько.DOSMicrosoft WindowsВ PC, работающем под BIOS-зависимой операционной
системой, такой как &ms-dos; или µsoft.windows;, BIOS
может отходить от обычного порядка нумерации дисков. Это
позволяет пользователю загружаться не только с так
называемого primary master диска. Это особенно
удобно для тех пользователей, кто обнаружил, что простейший и самый
дешевый путь делать резервную копию системы — купить второй
идентичный первому жесткий диск и регулярно делать копии первого
диска на второй, используя
Ghost
или XCOPY. Затем, если первый диск выйдет из
строя, будет заражен вирусом или поврежден из-за сбоя
операционной системы, он может быть легко восстановлен
путем логической перестановки дисков в BIOS. Это все равно
что переключить кабели дисков, но без вскрытия корпуса.SCSIBIOSБолее дорогостоящие системы со SCSI контроллерами
зачастую имеют расширения BIOS, позволяющие
сходным путем менять порядок до семи SCSI дисков.Пользователи, привыкшие пользоваться этими полезными
функциями, могут быть удивлены, что во FreeBSD результаты не
совпадают с ожидаемыми. FreeBSD не использует BIOS, и не
знает о логическом отображении дисков в BIOS. Это может
привести к очень сложным ситуациям, особенно когда диски
имеют одинаковую геометрию и содержат точную копию данных
друг друга.При использовании FreeBSD всегда восстанавливайте
настройки BIOS к первоначальной нумерации перед установкой
системы и оставляйте их в таком виде. Если вам понадобится
переключить диски, сделайте это, но путем физического
переконфигурирования, вскрыв корпус, переключив перемычки и
кабели.Рассказ о необыкновенных приключениях файлов Билла и Фреда:Билл разобрал старый Wintel компьютер, чтобы
сделать еще один компьютер под FreeBSD для Фреда. Билл
установил один SCSI диск как нулевое устройство
SCSI и поставил на него FreeBSD.Фред начал использовать систему, но через
несколько дней обнаружил, что старый SCSI диск сообщает
о множестве сбоев и сказал об этом Биллу.Еще через несколько дней Билл решил, что настало
время решить проблему, и достал такой же SCSI диск
из заначки в кладовке. Первая проверка
поверхности показала, что диск работает нормально;
Билл установил этот диск как четвертое устройство
SCSI и скопировал образ диска с нулевого устройства
на четвертое. Теперь, когда новый диск был
установлен и отлично работал, Билл решил что
неплохо бы начать использовать его, и с помощью
функции SCSI BIOS поменял порядок дисков, чтобы
система могла грузиться с четвертого устройства
SCSI. FreeBSD загрузилась и работала без
проблем.Фред поработал еще несколько дней, и скоро они с
Биллом решили, что настало время для нового
приключения — время обновить версию FreeBSD. Билл
удалил нулевое устройство SCSI, потому что оно
подглючивало, и установил на его место такой же диск из
заначки. Затем Билл установил новую версию
FreeBSD на новое нулевое устройство SCSI используя
дискеты Фреда с интернет сервера FTP. Установка прошла
отлично.Фред использовал новую версию FreeBSD несколько
дней и удостоверился, что она вполне подходит для работы
в инженерном отделе. Настало время скопировать все
архивы со старого диска. Фред смонтировал четвертое
устройство SCSI (последнюю копию старой версии
FreeBSD) и обнаружил, что ни одного из его
драгоценных файлов на четвертом устройстве SCSI
нет.Куда делись данные?Когда Билл сделал копию с нулевого устройства
SCSI на четвертое устройство SCSI, оно стало
клоном. Когда Билл поменял настройки SCSI BIOS,
чтобы загрузиться с четвертого устройства SCSI, он
всего лишь обманул сам себя. FreeBSD все еще
работала с нулевого устройства SCSI. Изменение этих
настроек BIOS привело к загрузке части кода Boot и
Loader с выбранного в BIOS диска, но после загрузки
драйверов FreeBSD настройки BIOS были
проигнорированы, и FreeBSD вернулась к нормальной
нумерации. Как показано на пальцах, система
продолжила работать с нулевым устройством SCSI, и
все данные Фреда остались там, а не на четвертом
устройстве SCSI. То, что система грузилась с
четвертого устройства SCSI, было всего лишь
обманутыми ожиданиями.Мы рады упомянуть, что данные не были уничтожены
или повреждены при нашем исследовании этого
феномена. Старое нулевое устройство SCSI было
вытащено из груды железа, и все файлы Фреда
вернулись к нему.Хотя в этом рассказе были использованы SCSI
диски, с IDE дисками все точно так же.Создание слайсов с использованием FDiskВнесенные вами изменения не будут записываться на диск сразу.
Если вы думаете, что сделали ошибку, и хотите начать сначала, можете
использовать меню для выхода из sysinstall
и попробовать еще раз или нажатием U вызвать
опцию Undo (отмена). Если вы запутались и не можете выйти, просто
выключите компьютер.После начала стандартной установки в
sysinstall будет показано это
сообщение: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
тестирования устройств.
показывает пример системы
с двумя IDE дисками. Они были названы
ad0 и ad2.Выберите диск для FDiskВы можете быть удивлены, почему устройства
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,
и нажать &gui.ok;.
Запустившийся FDisk будет выглядеть
примерно как .Экран FDisk разбит на три
секции.Первая секция, занимающая первые две линии экрана, показывает
подробную информацию о выбранном в данный момент диске, включая его
имя во FreeBSD, геометрию и общий размер диска.Вторая секция показывает имеющиеся в данный момент на диске слайсы,
где они начинаются и заканчиваются, их размер, имя, которое им дала
FreeBSD, описание и подтип. На этом примере показаны два маленьких
неиспользованных слайса, которые являются артефактами схемы разметки
диска на PC. Также показан один большой FAT слайс, который почти всегда
является диском C: в &ms-dos; / &windows;, и
дополнительный слайс, который может содержать диски с другими буквами
для &ms-dos; / &windows;.Третья секция показывает команды, доступные в
FDisk.Типичные разделы fdisk перед редактированиемВаши действия теперь будут зависеть от того, как вы хотите разбить
диск на слайсы.Если вы хотите использовать для FreeBSD весь диск (это приведет
к удалению всех других данных на этом диске когда вы подтвердите
sysinstall продолжение процесса установки),
нажмите A, что соответствует опции
Использовать весь диск (Use Entire Disk).
Существующие слайсы будут удалены, и заменены на небольшую область,
помеченную как неиспользуемая (unused)
(это опять же артефакт разметки диска PC), и один большой слайс для
FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный
слайс FreeBSD используя клавиши навигации, а затем нажать
S, чтобы сделать слайс загрузочным. Экран будет
похож на . Обратите внимание, что
A в колонке Flags означает, что
слайс активен и с него будет происходить
загрузка.Если вы будете удалять существующий слайс для освобождения места
под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите
D. Затем можете нажать C,
и получить приглашение на ввод размера слайса, который вы хотите
создать. Введите соответствующее значение и нажмите
Enter. Значение по умолчанию в этом поле
означает наибольший размер слайса, который может быть выбран;
это может быть наибольший непрерывный блок неразмеченного
пространства или размер всего жесткого диска.Если вы уже освободили место для FreeBSD (возможно, используя
утилиту похожую на &partitionmagic;),
можете нажать C для создания нового слайса.
Будет также предложено ввести размер слайса, который вы
хотите создать.Разбиение в Fdisk с использованием всего дискаКогда закончите, нажмите Q. Изменения будут
сохранены в sysinstall, но еще не
записаны на диск.Установка менеджера загрузки (Boot Manager)Теперь вам предлагается установить менеджера загрузки. Как
правило, нужно выбрать установку менеджера загрузки если:У вас больше чем один диск и вы устанавливаете FreeBSD не на
первый диск.Вы устанавливаете FreeBSD вместе с другой операционной
на один и тот же диск, и хотите выбирать при загрузке FreeBSD
или другую операционную систему.Если FreeBSD единственная операционная система, установленная
на этом компьютере, и находится на первом жестком диске,
подойдет менеджер загрузки Standard.
Выберите None если вы используете
менеджер загрузки сторонних разработчиков, способный загрузить
FreeBSD.Сделайте выбор и нажмите Enter.Меню менеджера загрузки SysinstallЭкран подсказки, вызываемый по нажатию F1,
описывает проблемы, которые могут быть встречены при попытке
совместного использования диска операционными системами.Создание слайсов на другом дискеЕсли дисков больше чем один, вернитесь к экрану выбора дисков
(Select Drives) после выбора менеджера загрузки. Если вы собираетесь
устанавливать FreeBSD более чем на один диск, можете выбрать другой
диск и повторить процесс разбиения на слайсы с использованием
FDisk.Если вы устанавливаете FreeBSD не на первый жесткий диск,
потребуется установить менеджер загрузки FreeBSD на оба
диска.Выход из выбора дискаКлавиша Tab переключает между последним выбранным
диском, &gui.ok;, и
&gui.cancel;.Нажмите Tab один раз для выбора
&gui.ok;, затем нажмите Enter
для продолжения установки.Создание разделов с помощью
DisklabelТеперь вы должны создать несколько разделов внутри каждого только
что созданного слайса. Запомните, что у каждого раздела есть буква с
a до h, а
разделы b, c, и
d имеют соглашения, которых вы должны
придерживаться.Некоторые приложения могут выигрывать от определенных схем
разделов, особенно если у вас разделы на более чем одном диске.
Тем не менее, для вашей первой установки FreeBSD не нужно
слишком углубляться в принципы разбиения диска. Более важно
установить FreeBSD и начать ее использовать. Вы всегда можете
переустановить FreeBSD для изменения схемы разделов, когда поближе
познакомитесь с операционной системой.Эта схема показывает четыре раздела — один для подкачки и
три для файловых систем.
Планирование разделов для первого дискаРазделФайловая системаРазмерОписаниеa/100 MBКорневая файловая система. Любая другая файловая
система будет смонтирована на эту. 100 MB это подходящий
размер для этой файловой системы. Вы не будете хранить на
ней слишком много данных, а обычная установка FreeBSD
разместит здесь около 40 MB данных. Оставшееся
пространство используется для временных файлов, а также
оставляет возможность расширения для будущих версий FreeBSD,
которым может понадобится больше места в
/.bN/A2-3 x RAMЗдесь находится раздел подкачки. Выбор правильного
размера раздела подкачки это немного искусство. Хороший
практический способ выбрать размер подкачки это установить
его равным двум или трем размерам доступной физической
памяти (RAM). Должно быть хотя бы 64 MB подкачки;
если в компьютере меньше чем 32 MB памяти —
установите размер подкачки равным 64 MB.
Если у вас больше одного диска, можно расположить подкачку
на каждом диске. FreeBSD будет использовать каждый диск,
что серьезно увеличит скорость подкачки. В этом
случае, определите общий размер подкачки, который вам нужен
(например, 128 MB),
и поделите его на число имеющихся дисков (например, два)
для определения размера разделов подкачки, которые нужно
разместить на каждом вашем диске, в этом примере 64 MB на
диск.e/var50 MBКаталог /var содержит файлы, которые
постоянно меняются; логи и другие административные файлы.
Многие из этих файлов интенсивно читаются и записываются
в процессе ежедневной работы FreeBSD. Размещение их
на отдельной файловой системе позволяет FreeBSD
оптимизировать доступ к этим файлам без затрагивания
других каталогов, не имеющих такой же модели доступа.f/usrОстальная часть дискаВсе другие файлы как правило хранятся в каталоге
/usr и его подкаталогах.
Если вы устанавливаете FreeBSD более чем на один диск, вы
должны также создать разделы в других слайсах, которые
настроили. Простейший путь сделать это — создать два раздела
на каждом диске, один для подкачки, а другой для файловой
системы.
Разметка разделов для остальных дисковРазделФайловая системаРазмерОписаниеbN/AСмотрите описаниеКак уже обсуждалось, вы можете распространить подкачку
на каждый диск. Даже если раздел a
свободен, соглашение говорит о том, что подкачка находится
на разделе b.e/disknОстальная часть дискаОстальная часть диска занята одним большим разделом.
Он легко может быть помещен на раздел a
вместо раздела e. Однако, соглашение
говорит что раздел a зарезервирован на
слайсе для корневой (/) файловой системы.
вы можете не следовать этому соглашению, но программа
sysinstall будет ему следовать,
поэтому приняв его, вы сделаете установку несколько проще.
вы можете монтировать эти файловые системы к любой точке; в
этом примере предлагается смонтировать их как каталоги
/diskn, где
n это номер, который уникален для
каждого диска. Но вы можете использовать другую схему, если
захотите.
Теперь, выбрав разметку разделов, можете приступить к их
созданию в sysinstall. Вы увидите
это сообщение: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Нажмите Enter для запуска редактора разделов
FreeBSD, называемого Disklabel. показывает экран только что
запущенного Disklabel. Экран поделен
на три раздела.Первые несколько линий показывают имя диска, с которым вы сейчас
работаете и слайс, содержащий раздел который вы создаете (здесь
Disklabel называет это
именем раздела (Partition name) вместо имени
слайса). Этот экран также показывает объем свободного пространства на
слайсе; т.е. пространство, выделенное под слайс, но еще не отданное
под раздел.В центре экрана показаны уже созданные разделы, имена файловых
систем, содержащихся в разделах, их размер и некоторые опции,
применяемые при создания файловых систем.Нижняя треть экрана показывает управляющие клавиши, работающие в
Disklabel.Редактор Sysinstall DisklabelDisklabel может автоматически создать
разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав
A. Вы увидите экран как на
. В зависимости от размера диска,
значения по умолчанию могут подходить или
не подходить вам. Это не имеет значения, если вы не принимаете
их.Начиная с FreeBSD 4.5, по умолчанию под каталог
/tmp выделяется собственный раздел вместо
использования части раздела /. Это
помогает избежать заполнения раздела /
временными файлами.Редактор Sysinstall Disklabel с установками по умолчаниюЕсли вы решили не использовать разделы по умолчанию и
заменить их на свои,
используйте клавиши навигации для выбора первого раздела, затем
нажмите D для его удаления. Повторите это для
удаления всех предложенных разделов.Для создания первого раздела (a, монтируемого
как / — root), убедитесь, что выбран
соответствующий слайс
вверху экрана и нажмите C. Появится диалог,
предлагающий выбрать размер нового раздела (как показано в
). Вы можете ввести количество
блоков диска, или количество мегабайт с
M после номера, или гигабайт с
G, или цилиндров с C.Начиная с FreeBSD 5.X, пользователи могут: выбирать
UFS2, используя опцию Custom Newfs
(Z), использовать опцию
Auto Defaults и изменять параметры с помощью
опции Custom Newfs, или
добавлять опцию в процессе создания раздела.
Не забудьте добавить для включения SoftUpdates
если вы используете опциюCustom Newfs!Свободное место для корневого разделаРазмер по умолчанию задан для создания корневого раздела на
весь слайс. Если вы используете размеры разделов, описанные ранее в примере,
удалите это значение используя Backspace,
а затем введите 64M, как показано на
. Затем нажмите
&gui.ok;.Редактирование размера корневого разделаПосле указания размера раздела вам будет задан вопрос, должен ли
этот раздел содержать файловую систему или раздел подкачки. Диалог
показан на . Первый раздел
будет содержать файловую систему, поэтому проверьте, что выбрана
FS и нажмите
Enter.Выбор типа корневого разделаНаконец, поскольку вы создаете файловую систему, нужно сказать
Disklabel где файловая система будет
смонтирована. Диалог показан на
. Точка монтирования
корневой файловой системы /, поэтому введите
/, и нажмите Enter.Выбор точки монтирования корневой файловой системыНа экране будет показан вновь созданный раздел. Вам нужно
повторить эту процедуру для других разделов. При создании
раздела подкачки вопроса про точку монтирования не будет,
поскольку раздел подкачки никогда не монтируется. Когда будете
создавать последний раздел, /usr, можете оставить
предложенный размер как есть, чтобы использовать весь остаток
слайса.Последний экран FreeBSD редактора DiskLabel будет похож на
, хотя ваш выбор значений может
быть другим. Нажмите Q, чтобы выйти.Редактор Sysinstall DisklabelВыбор устанавливаемых компонентовВыбор дистрибутивного набора (Distribution Set)Выбор дистрибутивного набора зависит в основном от направления
будущего использования системы и от доступного дискового
пространства. Предустановленные опции варьируются от наименьшей
возможной конфигурации до полной установки. Для новичков в
&unix; и/или FreeBSD лучшим выбором будет одна из этих
предустановленных опций. Настройка дистрибутивного набора
как правило нужна более опытным пользователям.Нажмите F1 для получения информации о
дистрибутивных наборах и их содержимом. После просмотра помощи
нажмите Enter для возврата к меню выбора
дистрибутивного набора.Если желательно наличие графического интерфейса пользователя,
должен быть выбран дистрибутивный набор с названием, начинающимся
на X. Настройка &xfree86;
и выбор десктопа по умолчанию — часть послеустановочного
процесса.Устанавливаемая по умолчанию версия
&xfree86; зависит от устанавливаемой версии
FreeBSD. Для версий FreeBSD ниже 4.6 устанавливается
&xfree86; 3.X. Для FreeBSD 4.6 и выше,
версия по умолчанию &xfree86; 4.X.Проверьте на веб-сайте
&xfree86; поддерживается ли ваша видеокарта. Если
видеокарта не поддерживается в версии по умолчанию, которую устанавливает
FreeBSD, выберите дистрибутивный набор без X. После установки
установите и настройте соответствующую версию
&xfree86; используя коллекцию портов.Если планируется пересборка ядра, выберите опцию, включающую
исходные тексты. Информация о том, зачем пересобирать ядро и
как это сделать, находится на .Ясно, что наиболее универсальная система включает все.
Если места на диске достаточно, выберите
All, как показано на
и нажмите
Enter. Если есть сомнения относительно того,
хватит ли диска, используйте наиболее подходящую опцию.
Не беспокойтесь о том, какой выбор будет наилучшим, другие
части дистрибутива могут быть добавлены после установки.Выбор дистрибутивных наборовУстановка коллекции портовПосле выбора подходящего дистрибутива можно будет выбрать
установку коллекции портов FreeBSD. Коллекция портов —
легкий и удобный путь установки программ. Коллекция портов не
содержит исходных кодов программ. Это набор файлов, который
автоматизирует загрузку, компилирование и установку
пакетов программного обеспечения сторонних разработчиков.
показывает как использовать коллекцию
портов.Программа установки не проверяет, есть ли достаточно места.
Выберите эту опцию только если его достаточно. В
FreeBSD &rel.current;, коллекция портов занимает около
&ports.size;. В более современных релизах это значение
всегда больше. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The ports collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the ports collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoВыберите [ Yes ] для установки
коллекции портов, или [ No ], чтобы
пропустить установку. Нажмите Enter, чтобы продолжить.
Меню выбора дистрибутивных наборов появится опять.Подтверждение выбора дистрибутивного набораЕсли вы согласны с выбранными опциями, переместитесь на
Exit, убедитесь что выбран
&gui.ok; и нажмите
Enter, чтобы продолжить.Выбор источника для установкиПри установке с CDROM или DVD используйте клавиши навигации, для перехода к
Install from a FreeBSD CD/DVD. Убедитесь
что выбран &gui.ok; и нажмите
Enter для запуска установки.При других методах установки выберите соответствующую опцию и
следуйте инструкциям.Нажмите F1 для просмотра справки по
источникам установки. Нажмите Enter для возврата к
меню выбора источника установки.Выбор источника установкиРежимы установки с FTPinstallationnetworkFTPЕсть три режима установки через FTP, которые вы можете выбрать:
активный FTP, пассивный FTP, или через HTTP прокси.Активный FTP: Install from an FTP
serverС этой опцией все закачки по FTP будут выполнены в
активном режиме. Этот режим не позволяет
работать через файрволл, но зачастую позволяет работать
со старыми серверами FTP, не поддерживающими пассивный
режим. Если соединение прерывается в пассивном режиме
(по умолчанию), попробуйте активный!Пассивный FTP: Install from an FTP server through a
firewallFTPПассивный режимЭта опция говорит sysinstall использовать
пассивный режим для работы с FTP.
Он позволяет работать через файрволл, не разрешающий
входящие соединения на случайных TCP портах.FTP через HTTP прокси: Install from an FTP server
through a http proxyFTPчерез HTTP проксиЭта опция говорит sysinstall использовать HTTP
протокол (как веб браузер) для работы с FTP через
прокси. Прокси будет транслировать все
запросы и посылать их на FTP сервер. Это позволяет
проходить через файрволл, на котором FTP запрещен,
но есть HTTP прокси. В этом случае
потребуется указать прокси и FTP сервер.Для работы с FTP через прокси, необходимо поместить имя
сервера как часть имени пользователя после знака
@. Прокси сервер обманет
настоящий сервер. Например, предположим что вы хотите провести
установку с ftp.FreeBSD.org, используя FTP
через прокси foo.example.com,
прослушивающем порт 1024.в этом случае, войдите в меню параметров, установите имя
пользователя FTP ftp@ftp.FreeBSD.org, а вместо
пароля введите свой адрес email. В качестве источника установки
выберите FTP (или пассивный FTP, если прокси его поддерживает), и URL
ftp://foo.example.com:1234/pub/FreeBSD.Так как /pub/FreeBSD с сервера
ftp.FreeBSD.org идет через прокси
foo.example.com, вы сможете провести
установку с этого компьютера (файлы будут загружены с
ftp.FreeBSD.org как требуется для
установки).Подтверждение установкиТеперь можно начинать установку. Это последний шанс
отменить установку и таким образом избежать изменений на жестком
диске. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter, чтобы начать.Время установки сильно зависит от выбранного дистрибутивного набора,
источника установки и скорости компьютера.
Появится несколько сообщений о статусе процесса установки.Установка будет завершена когда отобразится следующее
сообщение: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /stand/sysinstall .
[ OK ]
[ Press enter to continue ]Нажмите Enter для начала послеустановочной
настройки.Выбор [ No ] и нажатие
Enter прервет процесс установки,
изменения в систему внесены не будут. Появится следующее
сообщение: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Это сообщение появилось поскольку ничего не было установлено.
Нажатие Enter вернет вас в главное меню установки,
чтобы выйти из нее.После установкиПосле успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки
перед загрузкой установленной FreeBSD или после с использованием
/stand/sysinstall, где надо выбрать пункт
Configure.Настройка сетевых устройств (Network Device Configuration)Если вы настраивали PPP для установки через FTP, этот экран
не появится, настройку можно будет произвести позже как описано
выше.Чтобы лучше узнать о локальных сетях и настройке
FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе
Advanced Networking. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoДля настройки сетевого устройства выберите
[ Yes ] и нажмите Enter.
Или нажмите [ No ], чтобы продолжить.Выбор Ethernet устройстваВыберите интерфейс для настройки с помощью клавиш навигации и
нажмите Enter. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Для частной локальной сети обычный протокол интернет
(IPv4) вполне достаточен, поэтому выбрана кнопка
[ No ] и нажат Enter.Если вы хотите подсоединиться к существующей сети
IPv6 через сервер RA,
выберите [ Yes ] и нажмите
Enter. Поиск RA серверов займет несколько
секунд. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Если DHCP (Dynamic Host Configuration Protocol) не нужен,
выберите [ No ] с помощью клавиш навигации и
нажмите Enter.Выбор [ Yes ] запустит
dhclient, и если все пройдет нормально,
заполнит информацию о конфигурации сети автоматически. Обратитесь
к за более подробными сведениями.Следующий экран конфигурации сети показывает настройку
устройства Ethernet системы, которая будет работать шлюзом
для локальной сети.Настройка сети для ed0Используйте Tab для выбора полей и заполнения
их соответствующими данными:HostПолное имя хоста, в этом примере
k6-2.example.com.DomainИмя домена, в котором находится ваш компьютер,
в этом примере example.com.IPv4 GatewayIP хоста, пересылающего пакеты наружу локальной сети.
Вам потребуется заполнить его, если это компьютер, подключенный к
сети. Оставьте это поле пустым,
если компьютер является шлюзом в интернет для сети.
Шлюз IPv4 известен также как шлюз по умолчанию или маршрут
по умолчанию.Name serverIP адрес местного сервера DNS. В этой локальной сети
нет DNS сервера, поэтому использован IP адрес DNS сервера
провайдера (208.163.10.2).IPv4 addressIP адрес, использованный для этого интерфейса,
192.168.0.1NetmaskАдрес блока, использованного для этой локальной сети,
это блок класса C
(192.168.0.0 -
192.168.255.255).
Маска по умолчанию дана для сети класса C
(255.255.255.0).Дополнительные параметры для ifconfigЛюбые специфичные для интерфейса опции к
ifconfig, которые вы хотите добавить.
В данном случае ничего.Используйте Tab для выбора &gui.ok;
после окончания настройки и нажмите Enter. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter введет компьютер в сеть.
Тем не менее, компьютеру все еще требуется перезагрузка.Настройка шлюза (Configure Gateway) User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoЕсли компьютер будет шлюзом для локальной сети, пересылая
пакеты между другими компьютерами, выберите
[ Yes ] и нажмите Enter.
Если это обычный компьютер, выберите [ No ]
и нажмите Enter для продолжения.Настройка сервисов интернет (Configure Internet Services) User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Если выбрана [ No ], различные сервисы,
такие как telnetd не будут запущены. Это
означает, что удаленные пользователи не смогут зайти по
telnet на этот компьютер. Локальные
пользователи все же смогут заходит на удаленные компьютеры по
telnet.Эти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf с помощью вашего
любимого текстового редактора. Обращайтесь к
за более подробной информацией.Выберите [ Yes ] если хотите настроить
эти сервисы во время установки. Появится дополнительный запрос
подтверждения: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoНажмите [ Yes ], чтобы продолжить. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoВыбор [ Yes ] позволит добавить сервисы
путем удаления # перед началом строки.Редактирование inetd.confПосле добавления нужных сервисов нажатие Esc
отобразит меню, позволяющее выйти с сохранением изменений.Анонимный (Anonymous) FTP User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Запрещение анонимного FTPВыбор кнопки по умолчанию [ No ] и нажатие
Enter все же позволит пользователям, имеющим учетные
записи с паролями, использовать FTP для доступа к компьютеру.Разрешение анонимного FTPКто угодно сможет получить доступ к компьютеру если
вы разрешите анонимные соединения FTP. Предварительно должны быть
рассмотрены возможные осложнения с безопасностью. Более подробная
информация о безопасности доступна на
.Чтобы разрешить анонимный FTP, используя клавиши навигации
выберите [ Yes ] и нажмите
Enter. Появится следующий (или похожий)
экран:Настройка по анонимного FTP по умолчаниюНажатие F1 отобразит справку:This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.Корневой каталог ftp по умолчанию будет размещен в
/var. Если в нем предположительно не хватает
места для для нужд FTP, можно использовать каталог
/usr, выбрав корневой каталог FTP
(FTP Root Directory) /usr/ftp.Когда будут выбраны подходящие значения, нажмите
Enter, чтобы продолжить. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoЕсли вы выберете [ Yes ] и нажмете
Enter, запустится редактор, позволяющий
отредактировать сообщение FTP.Редактирование FTP Welcome MessageЭтот текстовый редактор называется ee.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor
(выйти из редактора). Нажмите Enter, чтобы выйти и
продолжить. Нажмите Enter еще раз, чтобы
сохранить изменения, если они были сделаны.Настройка сетевой файловой системы (Configure Network File System)Сетевая файловая система (Network File System, NFS) позволяет
совместно использовать файлы в сети. Компьютер может быть настроен
как сервер, клиент, или как то и другое. Обратитесь к
за более подробной информацией.Сервер NFS (NFS Server) User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]Если вам не нужен NFS сервер, выберите
[ No ] и нажмите
Enter.Если выбран пункт [ Yes ], появится
сообщение, говорящее о том, что должен быть создан файл
exports. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports.Редактирование exportsИспользуйте инструкции для добавления экспортируемых файловых
систем сейчас, или позднее с помощью выбранного вами текстового
редактора. Обратите внимание, что имя/расположение файла показаны
внизу окна редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor. Нажмите
Enter, чтобы выйти и продолжить.Клиент NFS (NFS Client)NFS клиент позволяет организовать доступ к серверам NFS. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]С помощью клавиш навигации выберите [ Yes ]
или [ No ], как потребуется, и нажмите
Enter.Профиль безопасности (Security Profile)Профиль безопасности это набор параметров
настройки, с помощью которого делается попытка достичь
требуемого уровня безопасности и удобства путем разрешения или
запрещения запуска определенных программ и другими настройками.
Чем строже профиль безопасности, тем меньше программ будет
запущено по умолчанию. Это один из основных принципов безопасности:
не запускайте ничего кроме того что необходимо.Имейте ввиду, что профиль безопасности это лишь установка по
умолчанию. Любая программа может быть запущена или остановлена
после установки FreeBSD путем редактирования или добавления
соответствующих строк в /etc/rc.conf.
Для получения более подробной информации обратитесь к странице
справочника &man.rc.conf.5;.Следующая таблица описывает действие каждого профиля безопасности.
Колонки показывают выбранный вами профиль безопасности, а ряды
— программы или функции, которые профиль включает или
выключает.
Возможные профили безопасностиExtreme (Максимальный)Moderate (Умеренный)&man.sendmail.8;НЕТДА&man.sshd.8;НЕТДА&man.portmap.8;НЕТМОЖЕТ БЫТЬ
Portmapper включен, если компьютер был настроен в
процессе установки как NFS клиент или сервер.NFS serverНЕТДА&man.securelevel.8;ДА
Если вы выберете профиль безопасности с уровнем
Extreme или
High, будьте готовы к последствиям.
Прочитайте страницу справочника &man.init.8;
и уделите некоторое внимание значениям уровней
безопасности, или позже могут возникнуть
серьезные проблемы!НЕТ
User Confirmation Requested
Do you want to select a default security profile for this host (select
No for "medium" security)?
[ Yes ] NoВыбор [ No ] и нажатие
Enter установит профиль безопасности к среднему
значению.Выбор [ Yes ] и нажатие
Enter позволит выбрать другой профиль
безопасности.Параметры профиля безопасностиНажмите F1, чтобы получить помощь. Нажмите
Enter для возврата к меню выбора.Используйте клавиши навигации для выбора
Medium, если вы не уверены, что
необходим другой уровень. С подсвеченным
&gui.ok; нажмите Enter.Будет отображен запрос на подтверждение, соответствующий выбранным
настройкам безопасности. Message
Moderate security settings have been selected.
Sendmail and SSHd have been enabled, securelevels are
disabled, and NFS server setting have been left intact.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a standard set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK] Message
Extreme security settings have been selected.
Sendmail, SSHd, and NFS services have been disabled, and
securelevels have been enabled.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a more secure set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]Нажмите Enter, чтобы продолжить
послеустановочные настройки.Профиль безопасности не панацея! Если даже вы
выберете экстремальные установки, понадобится поддерживать
безопасность, читая соответствующие списки
рассылки, используя хорошие пароли и идентификационные
фразы, и придерживаясь хорошей практики безопасности.
Профиль всего лишь повышает желаемый уровень безопасности
свежеустановленной системы до приемлемого значения.Настройки системной консоли (System Console Settings)Есть несколько параметров для настройки системной консоли. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoДля просмотра и настройки параметров выберите
[ Yes ] и нажмите
Enter.Параметры настройки системной консолиЧасто используемая опция это хранитель экрана (screen saver).
Используйте клавиши навигации для выбора
Saver и
нажмите Enter.Параметры хранителя экранаВыберите подходящий хранитель экрана с помощью клавиш навигации и
нажмите Enter. Опять появится меню настройки
системной консоли.Время по умолчанию 300 секунд. Для изменения временного интервала
выберите Saver еще раз. В меню
настроек хранителя экрана выберите Timeout
с помощью клавиш навигации и нажмите Enter.
Появится меню:Временной интервал хранителя экранаЗначение может быть изменено, затем выберите &gui.ok;
и нажмите Enter для возврата в меню настройки
системной консоли.Выход из меню конфигурации консолиВыбор Exit и нажатие
Enter вернет вас к послеустановочной
настройке.Установка часового пояса (Setting The Time Zone)Установка часового пояса на компьютере позволит ему
автоматически вносить поправки к местному времени и правильно
выполнять другие, связанные с часовым поясом функции.Пример приведен для компьютера, расположенного в восточном
часовом поясе Соединенных Штатов. Ваш выбор будет зависеть
от вашего географического положения. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter для установки часового пояса. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Выберите [ Yes ]
или [ No ] в зависимости от настроек
часов компьютера и нажмите Enter.Выбор регионаСоответствующий регион выбран с помощью клавиш навигации и
нажат Enter.Выбор страныВыберите соответствующую страну с помощью клавиш навигации и
нажмите Enter.Выбор часового поясаВыбран соответствующий часовой пояс с помощью клавиш навигации
и нажат Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoПравильно будет согласиться с назначением аббревиатуры временного
пояса. Если она подходит, нажмите Enter, чтобы
продолжить послеустановочную настройку.Совместимость с Linux (Linux Compatibility) User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter позволит
запускать программы Linux под FreeBSD. Программа установки добавит
соответствующие пакеты для совместимости с Linux.При установке по FTP, компьютеру потребуется соединиться с
интернет. Иногда на сервере ftp нет всех необходимых компонент,
например для бинарной совместимости с Linux. Эти компоненты могут
быть установлены позже, если потребуется.Настройка мыши (Mouse Settings)Эти настройки позволят вырезать и вставлять текст в консоли и
пользовательских программах с помощью трехкнопочной мыши. Если
используется двухкнопочная мышь, обратитесь к странице справочника
&man.moused.8; после установки, чтобы узнать подробности об
эмуляции трехкнопочной мыши. Этот пример приведен для настройки
не-USB мыши (например мыши для порта PS/2 или COM): User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Выберите [ Yes ] для не-USB мыши или
[ No ] для USB мыши и нажмите
Enter.Выбор протокола мышиИспользуйте клавиши навигации для выбора
Type и нажмите
Enter.Установка протокола мышиВ этом примере использована PS/2 мышь, поэтому подойдет протокол по
умолчанию Auto. Чтобы изменить протокол,
используйте клавиши навигации для выбора другого пункта. Убедитесь,
что выбран &gui.ok;, и нажмите Enter для выхода из
меню.Настройка порта мышиИспользуйте клавиши навигации для выбора
Port и нажмите
Enter.Установка порта мышиК этой системе подключена мышь PS/2, поэтому подходит значение
по умолчанию PS/2. Чтобы изменить порт,
используйте клавиши навигации и нажмите Enter.Запуск мышиного даемонаНаконец, используйте клавиши навигации для
выбора Enable, затем нажмите
Enter для запуска и тестирования
даемона мыши.Проверка мышиного даемонаПодвигайте курсор по экрану и убедитесь, что он
движется правильно. Если это так, выберите
[ Yes ] и нажмите Enter.
Если нет, мышь не была правильно настроена — выберите
[ No ] и попробуйте использовать другие
опции настройки.Выберите Exit с
помощью клавиш навигации и нажмите Enter для
возврата к послеустановочной настройке.Настройка дополнительных сетевых сервисовНастройка сетевых сервисов может быть пугающей
задачей для новых пользователей если у них нет опыта
в этой области. Работа в сети, включая интернет,
критична для многих современных операционных систем,
включая &os;; очень важно иметь некоторые знания
о дополнительных сетевых возможностях &os;.
Настраивая их во время установки, пользователь получает
некоторую информацию о различных доступных сервисах.Сетевые сервисы — это программы, принимающие данные из
любой точки сети. Чтобы убедиться, что эти программы не делают
ничего вредного, требуется особое внимание.
К сожалению, программисты не совершенны и время от времени
допускают ошибки в сетевых сервисах; эти ошибки позволяют
атакующим взломать их и использовать в собственных целях.
Важно, чтобы вы включали сетевые сервисы только в том случае,
когда знаете, какие сервисы нужны. В случае сомнений лучше не
включать сервис, пока он не понадобится. Вы всегда можете включить
его позже, запустив sysinstall еще
раз, или используя возможности, предоставляемые файлом
/etc/rc.conf.Выбор опции Networking отобразит меню,
похожее на это:Верхняя часть меню настройки сети (Network Configuration)Первая опция, Interfaces (интерфейсы),
была ранее описана в разделе ,
эту опцию можно проигнорировать.Выбор опции AMD добавит поддержку
BSD утилиты автоматического монтирования.
Она обычно используется вместе с протоколом
NFS (смотрите ниже)
для автоматического монтирования удаленных файловых
систем. Здесь не требуется специальной конфигурации.Следующая линия это опция флаги AMD
(flags). Когда эта опция выбрана, появится меню для ввода
специфичных флагов AMD.
Меню уже содержит набор различных опций:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapОпция -a указывает месторасположение
монтирования систем по умолчанию, в этом примере
/.amd_mnt. Опция -l
указывает log файл по умолчанию;
тем не менее, если для ведения логов используется
syslogd, все логи отправляются даемону
системных логов. Каталог /host
используется для монтирования экспортированных файловых
систем с удаленного хоста, а
/net для монтирования
экспортированных файловых систем с IP адреса.
Файл /etc/amd.map определяет
опции по умолчанию для монтируемых AMD
каталогов.Опция Anon FTP позволяет получить
анонимный доступ к FTP.
Выберите ее, чтобы сделать этот компьютер
анонимным FTP сервером.
Помните о риске безопасности, создаваемом этой опцией.
Будет отображено еще одно меню для разъяснения
риска безопасности и для более тонкой настройки.Опция Gateway сделает компьютер
шлюзом, как было объяснено ранее. Этот пункт может быть
использован для отмены опции Gateway,
если она была ошибочно установлена в процессе установки.Опцию Inetd можно использовать для
настройки или полного отключения даемона &man.inetd.8;, как
было описано выше.Опция Mail используется для настройки
системного MTA по умолчанию (Mail Transfer
Agent, агент передачи почты). Выбор этой опции приведет к
появлению следующего меню:Выбор MTA по умолчаниюЗдесь предоставляется выбор MTA для
установки по умолчанию. MTA это
почтовый сервер, доставляющий почту пользователям системы
или интернет.Выбор Sendmail приведет к
установке популярного сервера sendmail,
MTA по умолчанию для &os;.
Опция Sendmail local настроит
sendmail в качестве
MTA по умолчанию, но отключит возможность
получения входящей почты из интернет. Другие MTA,
представленные здесь, Postfix и
Exim, действуют подобно
Sendmail. Оба они доставляют
почту; тем не менее, некоторые пользователи предпочитают
эти альтернативы sendmail.После выбора MTA или пропуска этого пункта
появится меню настройки сети со следующей опцией, клиент
NFS.Клиент NFS позволяет настроить
систему для соединения с сервером через
NFS. Сервер NFS
дает другим машинам доступ к файловой системе через
протокол NFS. Если это отдельно
стоящий компьютер, опцию можно не выбирать.
Опция может потребовать дополнительной настройки позже;
обращайтесь к за более
подробной информацией о настройке сервера и клиента.Ниже находится опция NFS сервер,
позволяющая вам настроить систему для работы в качестве
NFS сервера. Она добавляет требуемую
информацию для запуска процедуры вызова удаленных
сервисов RPC (remote procedure
call services). RPC используется для
организации соединения между хостами и программами.Следующая строка это Ntpdate,
которая отвечает за синхронизацию времени. Когда эта опция
выбрана, появится приблизительно такое меню:Настройка NtpdateВыберите из этого меню ближайший к вашему местонахождению
сервер. Выбор ближайшего сервера сделает синхронизацию
времени более точной, поскольку у более дальнего
сервера может быть более длинная задержка соединения.Следующая опция это выбор PCNFSD.
Эта опция устанавливает пакет
net/pcnfsd из
коллекции портов. Это полезная утилита, предоставляющая
сервисы авторизации NFS для систем, в
в которых собственная отсутствует, таких как Microsoft
&ms-dos;.Теперь вы можете прокрутить меню немного вниз, чтобы увидеть
другие опции:Нижняя часть меню настройки сетиУтилиты &man.rpcbind.8;, &man.rpc.statd.8;, и
&man.rpc.lockd.8; для удаленного вызова процедур (Remote Procedure
Calls, RPC). Утилита
rpcbind управляет соединением между
NFS серверами и клиентами, она требуется
серверу NFS для корректной работы.
Даемон rpc.statd взаимодействует с
даемонами rpc.statd на других хостах
для обеспечения мониторинга статуса. Полученный статус
обычно хранится в файле /var/db/statd.status.
Последняя опция это rpc.lockd, которая,
будучи выбранной, предоставляет сервисы блокировки файлов.
Она обычно используется с rpc.statd
для отслеживания хостов, запрашивающих блокировки и частоты
этих запросов. Хотя две последние опции прекрасно подходят
для отладки, они не требуются серверам и клиентам
NFS для корректной работы.Ниже в списке опций находится Routed,
даемон маршрутизации. Утилита &man.routed.8; управляет
сетевыми таблицами маршрутизации, обнаруживает широковещательные
маршрутизаторы, и предоставляет копию таблиц маршрутизации
любому физически подключенному к сети хосту по запросу.
Это обычно используется компьютерами, являющимися шлюзом
для локальной сети (смотрите страницы справочника &man.icmp.4;
и &man.udp.4;). Когда эта опция выбрана, появится меню
выбора местоположения утилиты по умолчанию. Значение
по умолчанию уже выбрано, чтобы подтвердить его нажмите
Enter. Появится следующее меню, запрашивающее
флаги для routed. По умолчанию это
флаг -q, он должен уже быть на экране.На следующей линии находится опция Rwhod,
выбор которой приведет к запуску даемона &man.rwhod.8; при
старте системы. Утилита rwhod периодически
рассылает широковещательные системные сообщения по сети
или собирает их в режиме потребителя.
Дополнительную информацию можно найти на страницах справочника
&man.ruptime.1; и &man.rwho.1;.Следующая перед последней опцией в списке это даемон
&man.sshd.8;. Это сервер безопасной оболочки (secure shell) из
OpenSSH и он очень рекомендуется
для использования вместо стандартных серверов
telnet и
FTP. Сервер sshd
используется для создания безопасных соединений от одного
хоста к другому с использованием шифрования.И наконец, опция TCP Extensions.
Она включает расширения TCP, определенные
в RFC 1323 и
RFC 1644. Хотя для многих хостов
они могут повысить скорость соединения, с другими соединение может
быть оборвано. Для серверов эти расширения не рекомендуются,
но клиентским компьютерам могут дать некоторые преимущества.Теперь, после настройки сетевых сервисов, вы можете прокрутить
меню к верхнему пункту, Exit, и
перейти к следующему разделу настройки.Настройка X Сервера (Configure X Server)Чтобы использовать графический интерфейс пользователя
KDE, GNOME,
или другие, нужно настроить X сервер.Чтобы запустить &xfree86; не из под
root, вам потребуется установленный
x11/wrapper. Он устанавливается
по умолчанию начиная с FreeBSD 4.7. В более ранних версиях он
может быть добавлен из меню выбора пакетов (Package Selection
menu).Чтобы узнать, поддерживается ли ваша видеокарта, обратитесь
к сайту &xfree86;. User Confirmation Requested
Would you like to configure your X server at this time?
[ Yes ] NoНеобходимо узнать параметры монитора и информацию о
видеокарте. Установкой неправильных параметров можно повредить
оборудование. Если у вас нет этой информации, выберите
[ No ] и выполните конфигурацию после
установки, когда необходимая информация будет собрана.
Используя /stand/sysinstall, выберите
Configure а затем
XFree86. Неправильная настройка
X сервера может подвесить компьютер.
Зачастую настройку X сервера рекомендуют производить после
завершения установки.
Если у вас есть информация о графической карте и мониторе,
выберите [ Yes ] и нажмите
Enter для начала настройки X сервера.Меню выбора способа конфигурацииЕсть несколько путей настройки X сервера. Используйте
клавиши навигации для выбора одного из методов и нажмите
Enter. Внимательно прочтите все инструкции.Команды xf86cfg и
xf86cfg -textmode могут сделать экран
темным и запуститься через несколько секунд. Будьте терпеливы.Далее описывается использование программы настройки
xf86config. Выбор настроек
будет зависеть от оборудования системы, так что ваши
настройки возможно будут отличаться от тех, что приведены: Message
You have configured and been running the mouse daemon.
Choose "/dev/sysmouse" as the mouse port and "SysMouse" or
"MouseSystems" as the mouse protocol in the X configuration utility.
[ OK ]
[ Press enter to continue ]Это говорит, что предварительно настроенный даемон мыши был
обнаружен. Нажмите Enter, чтобы продолжить.При запуске xf86config отобразит
краткое введение:This program will create a basic XF86Config file, based on menu selections you
make.
The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample
XF86Config file is supplied with XFree86; it is configured for a standard
VGA card and monitor with 640x480 resolution. This program will ask for a
pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your
configuration, or let this program produce a base XF86Config file for your
configuration and fine-tune it.
Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card. SuperProbe may be able to help with this.
Press enter to continue, or ctrl-c to abort.Нажатие Enter запустит настройку мыши.
Следуя инструкциям, выберите
Mouse Systems в качестве протокола мыши и
/dev/sysmouse в качестве порта мыши,
даже если вы используете PS/2, как показано в примере.First specify a mouse protocol type. Choose one from the following list:
1. Microsoft compatible (2-button protocol)
2. Mouse Systems (3-button protocol) & FreeBSD moused protocol
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouse
If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).
Enter a protocol number: 2
You have selected a Mouse Systems protocol mouse. If your mouse is normally
in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options
may cause it to switch to Mouse Systems mode when the server starts.
Please answer the following question with either 'y' or 'n'.
Do you want to enable ClearDTR and ClearRTS? n
You have selected a three-button mouse protocol. It is recommended that you
do not enable Emulate3Buttons, unless the third button doesn't work.
Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? y
Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.
On FreeBSD, the default is /dev/sysmouse.
Mouse device: /dev/sysmouseСледующий пункт настройки это клавиатура. В примере показана
модель generic 101-key. В качестве варианта можно использовать
любое имя, или просто нажать Enter, чтобы
принять значение по умолчанию.Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)
1 Generic 101-key PC
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Everex STEPnote
7 Keytronic FlexPro
8 Microsoft Natural
9 Northgate OmniKey 101
10 Winbook Model XP5
11 Japanese 106-key
12 PC-98xx Series
13 Brazilian ABNT2
14 HP Internet
15 Logitech iTouch
16 Logitech Cordless Desktop Pro
17 Logitech Internet Keyboard
18 Logitech Internet Navigator Keyboard
19 Compaq Internet
20 Microsoft Natural Pro
21 Genius Comfy KB-16M
22 IBM Rapid Access
23 IBM Rapid Access II
24 Chicony Internet Keyboard
25 Dell Internet Keyboard
Enter a number to choose the keyboard.
1
Please select the layout corresponding to your keyboard
1 U.S. English
2 U.S. English w/ ISO9995-3
3 U.S. English w/ deadkeys
4 Albanian
5 Arabic
6 Armenian
7 Azerbaidjani
8 Belarusian
9 Belgian
10 Bengali
11 Brazilian
12 Bulgarian
13 Burmese
14 Canadian
15 Croatian
16 Czech
17 Czech (qwerty)
18 Danish
Enter a number to choose the country.
Press enter for the next page
1
Please enter a variant name for 'us' layout. Or just press enter
for default variant
us
Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher,
group indicator, etc.)? nТеперь переходим к настройке монитора. Не превышайте
значений для вашего монитора. Он может быть поврежден.
Если у вас есть какие-то сомнения, проводите настройку
после того как получите информацию.Now we want to set the specifications of the monitor. The two critical
parameters are the vertical refresh rate, which is the rate at which the
whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.
You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync range
Enter your choice (1-11): 6
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
Enter your choice: 2
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names.
The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: HitachiДалее производится выбор видеокарты из списка. Если вы пропустили
карту в списке, продолжайте нажимать Enter,
и список повторится. Показан только отрывок:Now we must configure video card specific settings. At this point you can
choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even
between cards of the same model, it is not sensible to blindly copy
the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with
the settings from the chosen database entry presented as a strong hint.
The database entries include information about the chipset, what driver to
run, the Ramdac and ClockChip, and comments that will be included in the
Device section. However, a lot of definitions only hint about what driver
to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, there's nothing to worry about.
You should only choose a database entry that is exactly the same model as
your card; choosing one that looks similar is just a bad idea (e.g. a
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
hardware as can be).
Do you want to look at the card database? y
288 Matrox Millennium G200 8MB mgag200
289 Matrox Millennium G200 SD 16MB mgag200
290 Matrox Millennium G200 SD 4MB mgag200
291 Matrox Millennium G200 SD 8MB mgag200
292 Matrox Millennium G400 mgag400
293 Matrox Millennium II 16MB mga2164w
294 Matrox Millennium II 4MB mga2164w
295 Matrox Millennium II 8MB mga2164w
296 Matrox Mystique mga1064sg
297 Matrox Mystique G200 16MB mgag200
298 Matrox Mystique G200 4MB mgag200
299 Matrox Mystique G200 8MB mgag200
300 Matrox Productiva G100 4MB mgag100
301 Matrox Productiva G100 8MB mgag100
302 MediaGX mediagx
303 MediaVision Proaxcel 128 ET6000
304 Mirage Z-128 ET6000
305 Miro CRYSTAL VRX Verite 1000
Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.
288
Your selected card definition:
Identifier: Matrox Millennium G200 8MB
Chipset: mgag200
Driver: mga
Do NOT probe clocks or use any Clocks line.
Press enter to continue, or ctrl-c to abort.
Now you must give information about your video card. This will be used for
the "Device" section of your video card in XF86Config.
You must indicate how much video memory you have. It is probably a good
idea to use the same approximate amount as that detected by the server you
intend to use. If you encounter problems that are due to the used server
not supporting the amount memory you have (e.g. ATI Mach64 is limited to
1024K with the SVGA server), specify the maximum amount supported by the
server.
How much video memory do you have on your video card:
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 Other
Enter your choice: 6
Amount of video memory in Kbytes: 8192
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names (possibly from a card definition).
Your card definition is Matrox Millennium G200 8MB.
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition:Далее, производится установка видеорежимов для требуемого разрешения.
Обычно используемые значения 640x480, 800x600, и 1024x768, но
они зависят от возможностей видеокарты, размера монитора и
зрительного комфорта. Выбирая глубину цвета, устанавливайте
самое большое поддерживаемое видеокартой значение.For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"640x480" "800x600" "1024x768" "1280x1024" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 2
Select modes from the following list:
1 "640x400"
2 "640x480"
3 "800x600"
4 "1024x768"
5 "1280x1024"
6 "320x200"
7 "320x240"
8 "400x300"
9 "1152x864"
a "1600x1200"
b "1800x1400"
c "512x384"
Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.
Which modes? 432
You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen
Please answer the following question with either 'y' or 'n'.
Do you want a virtual screen that is larger than the physical screen? n
For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"1024x768" "800x600" "640x480" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 4
Please specify which color depth you want to use by default:
1 1 bit (monochrome)
2 4 bits (16 colors)
3 8 bits (256 colors)
4 16 bits (65536 colors)
5 24 bits (16 million colors)
Enter a number to choose the default depth.
4Наконец, настройки нужно сохранить. Убедитесь что ввели
/etc/XF86Config в качестве места
хранения настроек.I am going to write the XF86Config file now. Make sure you don't accidently
overwrite a previously configured one.
Shall I write it to /etc/X11/XF86Config? yЕсли настройка прервалась, вы можете запустить настройку опять,
выбрав [ Yes ] когда появится следующее
сообщение: User Confirmation Requested
The XFree86 configuration process seems to have
failed. Would you like to try again?
[ Yes ] NoЕсли у вас проблемы с настройкой &xfree86;, выберите
[ No ], нажмите Enter
и продолжайте процесс установки. После установки вы можете использовать
xf86cfg -textmode или
xf86config для получения доступа к утилитам настройки
в режиме командной строки под root. Это дополнительный
метод настройки &xfree86;, описанный в
. Если вы решите не настраивать
&xfree86; сейчас, следующим появится меню
выбора пакетов.Настройкой по умолчанию, позволяющей перезагрузить сервер,
является комбинация клавиш CtrlAltBackspace. Эта комбинация
может быть применена если что-то не так с установками сервера, она
позволяет предотвратить повреждение оборудования.Настройкой по умолчанию, позволяющей переключать видео режимы
во время работы X, является комбинация клавиш
CtrlAlt+ or
CtrlAlt-.
После установки высота, ширина экрана или центровка экрана
может быть выбрана с использованием
xvidtune, если вы запустите
&xfree86; с
xvidtune.Будут выданы предупреждения, что неверные установки могут повредить
ваше оборудование. Прислушайтесь к ним. Если вы сомневаетесь в чем-то,
не делайте этого. Вместо этого, используйте настройки монитора для
подстройки его под X Window. Вид экрана может несколько отличаться
при переключении обратно в текстовый режим, но это лучше, чем
повреждение оборудования.Прочитайте справочник &man.xvidtune.1; перед тем как производить
какие-либо настройки.После успешной настройки &xfree86;,
будет предложен выбор десктопа по умолчанию.Выбор десктопа по умолчанию (Select Default X Desktop)Доступны самые разные оконные менеджеры. Их функциональность
варьируется от самых минимальных до полноценных десктопов
с большим набором программ. Некоторые требуют минимума места на диске
и небольшого количества памяти, другие, с большим набором функций,
требуют гораздо больше. Лучший путь определить наиболее подходящий вам —
попробовать несколько. Они доступны из коллекции портов и в виде
пакетов, и могут быть добавлены после установки.Вы можете выбрать один из популярных десктопов, он будет
установлен и настроен в качестве десктопа по умолчанию.
Это позволит запустить его сразу после установки.Выбор десктопа по умолчаниюИспользуйте клавиши навигации, чтобы выбрать десктоп, и нажмите
Enter. Будет запущена установка выбранного
десктопа.Установка пакетов (Install Packages)Пакеты — это прекомпилированные бинарные файлы и это
удобный способ установки программ.В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
/stand/sysinstall. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter приведет к появлению
экрана выбора пакетов:Выбор категории пакетовТолько пакеты с текущего носителя
доступны для установки в любое время.Все доступные пакеты будут показаны если выбрать категорию
All, можно также выбирать отдельные
категории. Перейдите к выбранной категории с помощью клавиш
навигации и нажмите Enter.Появится меню, содержащее доступные в данной категории
пакеты.Выбор пакетовВыбрана оболочка bash.
Выберите все необходимые пакеты, перемещаясь по меню и нажимая
клавишу пробела на выбираемых пакетах. Краткое описание
пакета будет появляться в нижней левой части экрана.Нажатие Tab переключает между последним
выбранным пакетом, &gui.ok;, и &gui.cancel;.После того, как будет закончена отметка пакетов для установки,
нажмите Tab один раз для переключения на &gui.ok;
и нажмите Enter для переключения на меню выбора
пакетов.Нажимая клавиши навигации влево или вправо, можно переключаться
между &gui.ok; и &gui.cancel;. Этот метод может быть применен также
для выбора &gui.ok;, и возврата к
меню выбора пакетов нажатием Enter.Установка пакетовИспользуйте Tab и клавиши навигации для выбора
[ Install ] и нажмите Enter.
вам потребуется подтвердить установку пакетов:Подтверждение установки пакетовВыбор &gui.ok; и нажатие Enter запустит
установку пакетов. Во время установки будут выдаваться
сообщения. Обратите внимание на возможные сообщения об
ошибках.После установки пакетов настройка продолжится.
Если вы не выбрали ни один из пакетов и хотите вернуться
к завершению настройки, выберите Install
в любом случае.Добавление пользователей/групп (Add Users/Groups)В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root. Корневой каталог обычно мал и запуск
приложений под root быстро заполнит его.
Ниже показано предупреждение: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter чтобы продолжить добавление пользователя.Выбор User (пользователь)Выберите User с помощью клавиш навигации
и нажмите Enter.Вод информации о пользователеПри выборе полей с помощью Tab в нижней
части экрана будет появляться описание, помогающее
ввести необходимую информацию:Логин (Login ID)Имя нового пользователя (обязательно).UIDЧисловой ID (идентификатор) для этого пользователя (оставьте
пустым для автоматического выбора).Группа (Group)Имя группы этого пользователя (оставьте пустым для
автоматического выбора).Пароль (Password)Пароль этого пользователя (заполняйте это поле с
осторожностью!).Полное имяПолное имя пользователя (комментарий).Член групп (Member groups)Группы, к которым принадлежит пользователь (т.е. имеет
права доступа).Домашний каталог (Home directory)Домашний каталог пользователя (оставьте пустым для
выбора по умолчанию).Оболочка (Login shell)Оболочка пользователя, запускаемая при входе в систему
(оставьте пустым для оболочки по умолчанию,
например /bin/sh).Оболочка была изменена с /bin/sh на
/usr/local/bin/bash для использования
bash, которая была перед этим установлена
из пакета. Не пытайтесь использовать несуществующую оболочку, вы
не сможете войти в систему. Наиболее часто используемая в мире
BSD оболочка это C shell, которую можно обозначить как
/bin/tcsh.Пользователь был добавлен в группу wheel,
чтобы иметь возможность стать суперпользователем с привилегиями
root.Когда все будет введено, нажмите &gui.ok; и меню
управления пользователями и группами (User and Group Management)
появится снова:Выход из меню управления пользователями и группамиСейчас также можно добавить группы, если известно, для чего
они потребуются. Иначе в это меню можно войти,
запустив /stand/sysinstall после окончания
установки.После завершения добавления пользователей, выберите
Exit с помощью клавиш навигации и нажмите
Enter для продолжения установки.Установка пароля root Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]Нажмите Enter для установки пароля
root.Необходимо два раза правильно ввести пароль. Излишне
упоминать, что должна быть возможность восстановления пароля,
если вы его забудете.Changing local password for root.
New password :
Retype new password :Установка продолжится после успешного ввода пароля.Выход из установки (Exiting Install)Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью/stand/sysinstall. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Выберите [ No ] с помощью клавиш навигации
и нажмите Enter для возврата к главному меню
установки.Выход из установкиВыберите [X Exit Install] с помощью клавиш
навигации и нажмите Enter. Будет задан вопрос о
подтверждении выхода из установки: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] NoВыберите [ Yes ] и удалите дискету если
загрузка была с нее. CDROM заблокирован, пока компьютер не начнет
перегружаться. CDROM будет разблокирован и диск нужно будет извлечь
из привода (быстро).Система начнет перезагрузку, смотрите за сообщениями об ошибках,
которые могут появиться.Загрузочный процесс FreeBSD (FreeBSD Bootup)Загрузка FreeBSD на &i386;Если все пройдет нормально, вы увидите прокручивающиеся за экран
сообщения, затем приглашение ко входу в систему. Вы может просмотреть
сообщения, нажав Scroll-Lock и используя
PgUp и PgDn. Нажатие
Scroll-Lock еще раз вернет вас к приглашению.Все сообщение может не отобразиться (ограничение буфера),
но может быть просмотрено путем ввода команды
dmesg в командной строке.Войдите, используя имя пользователя/пароль, добавленные во
время установки (rpratt в этом примере).
Избегайте входа под root, если это не
требуется.Типичные сообщения при загрузке (информация о версии удалена):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Генерирование ключей RSA и DSA может занять некоторое время
на медленных компьютерах. Это может случиться только при
первой загрузке свежеустановленной системы. Последующие
загрузки будут быстрее.Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx.Загрузка FreeBSD на AlphaAlphaКогда процедура установки будет завершена, вы сможете
запустить FreeBSD в приглашении SRM примерно такой командой:>>>BOOT DKC0Это команда дает указание на загрузку с заданного диска. Чтобы
FreeBSD в будущем загружалась автоматически, используйте
эти команды:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTЗагрузочные сообщения будут похожи (но не идентичны)
сообщениям, выводимым FreeBSD при загрузке на &i386;.Завершение работы FreeBSD (FreeBSD Shutdown)Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке 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. Если вместо выключения
питания будет нажата любая клавиша, система перезагрузится.Вы также можете использовать комбинацию клавиш
CtrlAltDel
для перезагрузки системы, хотя это не рекомендуется в обычной
ситуации.Поддерживаемое оборудованиеоборудованиеВ настоящее время FreeBSD работает на разнообразных PC, с шинами
ISA, VLB, EISA, и PCI с процессорами x86 от
Intel, AMD, Cyrix, или NexGen, так же как и с
множеством компьютеров на процессорах Compaq Alpha. Поддерживаются также
IDE или ESDI диски, различные SCSI контроллеры, карты PCMCIA,
устройства USB, сетевые карты и карты последовательных портов.
FreeBSD также поддерживает шину MCA от IBM.Список поддерживаемого оборудования поставляется с каждым релизом
FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот
документ обычно
может быть найден в файле HARDWARE.TXT в корневом
каталоге CDROM, дистрибутива на FTP или в меню документации
sysinstall. В нем находится список
аппаратных устройств, которые поддерживаются этим релизом
FreeBSD для данной архитектуры. Копии списка поддерживаемого
оборудования для различных релизов и архитектур также можно найти
на странице Информации о
релизах сайта FreeBSD.Решение проблемустановкарешение проблемСледующий раздел описывает основные проблемы при установке, о
которых обычно сообщают пользователи. Здесь также несколько вопросов
и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и
&ms-dos;.Что делать если что-то идет не такПо причине различных ограничений архитектуры PC, невозможно
протестировать устройства достоверно на 100%, тем не менее,
есть несколько вещей, которые вы можете сделать, если тестирование
завершится неудачно.Сверьтесь со списком поддерживаемого оборудованию для вашей
версии FreeBSD, чтобы убедиться, что ваше оборудование
поддерживается.Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, перегрузите
компьютер, и когда появится опция визуальной настройки ядра, выберите ее.
Это позволит вам просмотреть список оборудования и дать системе
информацию о настройке. Ядро на загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
потребуется использовать редактор настроек, чтобы сообщить
FreeBSD где что искать.Возможно также, что тестирование устройства, которого нет,
приведет позже к ошибке тестирования существующего устройства.
В этом случае тестирование конфликтующего драйвера (драйверов)
должно быть запрещено.Некоторые проблемы установки можно обойти или уменьшить,
обновив встроенное программное обеспечение различных
компонент оборудования, особенно материнской платы.
Встроенное программное обеспечение также называют
BIOS и у большинства производителей
компьютеров или материнских плат есть вебсайты, где можно найти
обновления и информацию об обновлениях.Большинство производителей настоятельно советуют не обновлять
BIOS пока не возникнет серьезной необходимости,
например появление критически важных обновлений.
Процесс обновления может пойти неверно,
что приведет к неустранимому повреждению микросхемы
BIOS.Не выключайте драйвера, которые понадобятся вам во время
установки, такие как экран (sc0).
Если после выхода из редактора конфигурации установка
загадочно зависает или прерывается, возможно вы удалили
или изменили что-то, что не надо было трогать. Перегрузитесь
и попробуйте еще раз.В режиме настройки вы можете:Просматривать список устройств, включенных в ядро.Отключать драйвера устройств для оборудования, которого нет
в системе.Менять IRQ, DRQ, адреса портов, используемые драйвером
устройства.После настройки ядра под оборудование нажмите
Q для загрузки с новыми настройками.
После завершения установки все изменения, внесенные в режиме
настройки, будут действовать постоянно, так что вам не придется
делать настройку при каждой загрузке. Все же очень неплохо, если вы
со временем соберете новое ядро.Работа с существующими разделами &ms-dos;DOSМногие пользователи устанавливают &os; на PC
с установленной операционной системой µsoft;. Для этих целей
в &os; есть утилита, называемая FIPS. Ее
можно найти в каталоге tools установочного
CD-ROM или загрузить с одного из множества зеркал &os;.Утилита FIPS позволит вам разделить
существующий раздел &ms-dos; на две части, сохранив имеющиеся
данные, и сделать установку на второй свободный раздел.
Вам потребуется сначала дефрагментировать раздел &ms-dos; с помощью
&windows; утилиты Disk Defragmenter
(запустите Explorer, кликните правой клавишей мыши на жестком диске и
выберите дефрагментацию диска), или используйте Norton Disk Tools.
Затем запустите утилиту FIPS. Она запросит
необходимую информацию, следуйте инструкциям на экране. Затем
можете перегрузиться и установить &os; на новый свободный слайс.
Смотрите меню Distributions для определения
размера необходимого для выбранного типа установки свободного
пространства.Есть также очень полезная программа
&partitionmagic; от PowerQuest
(http://www.powerquest.com).
Эта программа гораздо более функциональна, чем
FIPS, и очень рекомендуется, если
вы планируете часто добавлять/убирать операционные системы.
Она стоит денег, и если вы планируете установить &os;
и оставить ее, вам возможно отлично подойдет
FIPS.Использование файловых систем &ms-dos; и &windows;В настоящее время, &os; не поддерживает файловые системы, сжатые
с помощью программы Double Space™.
Поэтому файловая система должна быть разжата, чтобы
&os; смогла получить доступ к данным. Это может быть сделано с
помощью приложения Compression Agent,
находящегося в меню Пуск>
Программы > Системные.&os; поддерживает файловые системы &ms-dos;. Для этого потребуется
использовать команду &man.mount.msdos.8; (в &os; 5.X, это
&man.mount.msdosfs.8;) с необходимыми параметрами. Наиболее
распространенный способ использования:&prompt.root; mount_msdos /dev/ad0s1 /mntВ этом примере файловая система &ms-dos; расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg и
mount. Они должны предоставить достаточно
информации для определения названий разделов.Расширенные разделы &ms-dos; обычно располагаются после разделов
&os;. Другими словами, номер слайса может быть больше, чем
используемый &os;. Например, первый раздел &ms-dos; может быть
/dev/ad0s1, раздел &os;
/dev/ad0s2, а расширенный раздел &ms-dos;
/dev/ad0s3. Некоторых это иногда запутывает на
первых порах.Разделы NTFS также можно смонтировать похожим способом, используя
команду &man.mount.ntfs.8;.Вопросы и ответы пользователей AlphaAlphaЭтот раздел отвечает на некоторые обычно задаваемые вопросы об
установке FreeBSD на Alpha.Могу я загрузиться с ARC или с консоли Alpha BIOS?ARCAlpha BIOSSRMНет. &os;, как и Compaq Tru64 и VMS, может загружаться
только с консоли SRM.Помогите, у меня нет места! Должен ли я сначала
все удалить?К сожалению, да.Могу ли я смонтировать файловые системы
Compaq Tru64 или VMS?В настоящее время нет.ValentinoVaschettoПредоставлено Расширенное руководство по установкеЭта секция описывает особые случаи установки FreeBSD.Установка FreeBSD на систему без монитора или клавиатурыустановкабез монитора (последовательная консоль)последовательная консольЭтот тип установки называется установка без
монитора, потому что на компьютере, на который вы пробуете
установить FreeBSD или не подсоединен монитор, или даже нет
VGA выхода. Вы спросите, как это возможно? Используя последовательную
консоль. Последовательная консоль в своей основе имеет другой
компьютер, который служит дисплеем и клавиатурой для системы.
Чтобы сделать это, создайте инсталляционные дискеты, как
описано в разделе .Чтобы модифицировать дискеты для загрузки с последовательной
консоли, следуйте этой инструкции:Включение загрузки с последовательной консолиmountЕсли вы произведете загрузку с только что полученных дискет,
FreeBSD загрузится в нормальный режим установки. Мы хотим,
чтобы FreeBSD загрузилась на последовательную консоль для
нашей установки. Чтобы сделать это, смонтируйте
kern.flp на вашу систему FreeBSD
используя команду &man.mount.8;.&prompt.root; mount /dev/fd0 /mntТеперь, когда дискета смонтирована, нужно перейти в
каталог /mnt:&prompt.root; cd /mntСейчас вам нужно настроить дискету для загрузки в
последовательную консоль. Нужно создать файл
boot.config, содержащий
/boot/loader -h. Это нужно для того, чтобы
передать загрузчику флаг загрузки с последовательной
консоли.&prompt.root; echo "/boot/loader -h" > boot.configТеперь, когда ваша дискета правильно настроена,
размонтируйте ее с помощью команды &man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntТеперь удалите дискету из дисковода.Подсоединение нуль-модемного кабелянуль-модемный кабельТеперь нужно соединить два компьютера нуль-модемным кабелем.
Просто подсоедините этот кабель к последовательным
портам двух компьютеров. Обычный последовательный
кабель не будет работать, вам потребуется
нуль-модемный кабель, поскольку в нем некоторые соединения
перевернуты.Загрузка для установкиНастало время начать установку. Вставьте диск
kern.flp в дисковод компьютера, на который
вы будете производить установку без монитора и включите его.Подключение к компьютеру без монитораcuТеперь вы можете подключиться к этому компьютеру с помощью
&man.cu.1;:&prompt.root; cu -l /dev/cuaa0Это все! Теперь вы можете управлять компьютером без монитора через
сессию cu. Будет запрошен диск
mfsroot.flp, затем появится выбор типа
терминала. Выберите цветную консоль FreeBSD и проводите
установку!Подготовка собственного источника установкиЧтобы не повторяться, диск FreeBSD в данном случае
означает FreeBSD CDROM или DVD который вы купили или подготовили
самостоятельно.Может быть несколько ситуаций, в которых вам потребуется подготовить
собственный диск и/или источник для установки FreeBSD. Это может быть
физический носитель, такой как лента, или источник, с которого
sysinstall сможет взять файлы, такой как
локальный сервер FTP, или раздел &ms-dos;.Например:У вас есть много компьютеров, подсоединенных к локальной сети, и
один диск с FreeBSD. Вы хотите создать локальный сервер FTP,
используя содержимое диска FreeBSD, а затем использовать с ваших
компьютеров этот локальный сервер FTP вместо подсоединения к
интернет.У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD
привод, а &ms-dos;/&windows; распознает. Вы хотите скопировать
файлы установки FreeBSD на раздел DOS этого же компьютера и
установить FreeBSD используя эти файлы.На компьютере, на который вы хотите провести установку, нет ни
привода CD/DVD ни сетевой карты, но вы можете подсоединиться в
Laplink-стиле последовательным или параллельным
кабелем к другому компьютеру, на котором они есть.Вы хотите создать ленту, которую можно использовать для
установки FreeBSD.Создание установочного CDROMВ составе каждого релиза проект FreeBSD предоставляет доступ к
двум образам CDROM (ISO images). Эти образы могут
быть записаны (прожжены) на CD если у вас есть CD-рекордер,
а затем использованы для установки FreeBSD. Если у вас есть
CD-рекордер и дешевый канал интернет, это простейший путь
установить FreeBSD.Скачайте соответствующие ISO образыISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала.
Замените архитектура и
версия в соответствии архитектурой
(Alpha или &i386;) и номером релиза соответственно.Этот каталог обычно содержит следующие образы:
Названия FreeBSD ISO образов и их значенияИмя файлаСодержимоеверсия-mini.isoВсе что вам нужно для установки FreeBSD.версия-disc1.isoВсе что вам нужно для установки FreeBSD, и столько
дополнительных пакетов сторонних производителей, сколько
уместилось на диске.версия-disc2.isolive filesystem, используемая в
сочетании со средством Repair программы
sysinstall. Копия дерева CVS
FreeBSD. Столько дополнительных пакетов сторонних
производителей, сколько уместилось на диске.
Вам необходимо загрузить или образ mini
ISO, или образ первого диска. Не загружайте их оба, так как
образ первого диска содержит все, что есть на образе mini
ISO.Используйте mini ISO если доступ в интернет затруднен. Он
позволит вам установить FreeBSD, и вы сможете установить в
последствии программы сторонних производителей используя
систему портов/пакетов (смотрите
) если необходимо.Используйте образ первого диска, если хотите выбрать
программы сторонних производителей с этого диска.Дополнительные образы дисков полезны, но не необходимы,
особенно если у вас есть высокоскоростной доступ к интернет.Запись CDЗатем вам нужно записать образы CD на диски. Если вы делаете
это из другой системы FreeBSD, обратитесь к
за более подробной информацией (в
частности, и
).Если вы делаете это в другой системе, потребуется
использовать те утилиты для управления CD-рекордером, которые
есть в этой системе. Образы дисков предоставляются в стандартном
формате ISO, который поддерживается многими программами.Создание локального сервера FTP с FreeBSDустановкасетьFTPДиск FreeBSD сформирован так же, как и сервер FTP. Это сильно
упрощает создание локального сервера FTP, который может быть
использован другими компьютерами вашей сети для установки
FreeBSD.Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom.&prompt.root; mount /cdromСоздайте учетную запись для anonymous FTP в
/etc/passwd. Сделайте это, отредактировав
/etc/passwd с помощью &man.vipw.8; и добавив
эту строку:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentУбедитесь что сервис FTP включен в
/etc/inetd.conf.Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://ваш компьютер
после выбора Other в меню серверов FTP во время
установки.Этот подход хорош для компьютера в вашей локальной сети,
защищенного с помощью файрволла. Предоставление сервиса FTP
другим компьютерам через интернет (а не через локальную сеть)
привлекает к вашему компьютеру внимание кракеров и других
лиц, чье внимание нежелательно. Мы настоятельно рекомендуем
придерживаться правильной политики безопасности, если вы
делаете это.Создание дискет для установкиустановкадискетыЕсли вам требуется выполнить установку с дискет (чего мы
не рекомендуем делать) или по причине
не поддерживаемого оборудования, или просто потому, что
вы не любите простых путей, потребуется сначала
подготовить несколько дискет для установки.Как минимум, вам потребуется столько 1.44 MB или 1.2 MB
дискет, сколько нужно, чтобы вместить все файлы из каталога
bin (binary distribution). Если
вы подготавливаете эти дискеты из DOS, они
ДОЛЖНЫ быть отформатированы с помощью команды
&ms-dos; FORMAT. Если вы используете &windows;,
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A: и выберите
Format).Не доверяйте заводскому форматированию
дискет. Отформатируйте их еще раз самостоятельно, просто для
уверенности. Множество проблем, о которых сообщали наши пользователи,
были результатом использования неправильно отформатированных дисков,
поэтому мы сейчас обращаем на это внимание.Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему DOS на каждой дискете. Вы можете
использовать disklabel и newfs
для создания на них файловых систем UFS, в следующей
последовательности (для 3.5" 1.44 MB дискет):&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; disklabel -w -r fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Используйте fd0.1200 и
floppy5 для 5.25" 1.2 MB дискет.Затем вы можете смонтировать их и писать на них как на любую
другую файловую систему.После форматирования дискет вам потребуется скопировать на них
файлы. Файлы дистрибутива разделены на части, размер которых
позволяет легко разместить пять частей на обычной 1.44 MB дискете.
Заполните все дискеты файлами, помещая столько файлов на одну
дискету, сколько уместится, пока у вас не будет всех необходимых
компонент дистрибутива. Каждый компонент должен располагаться
в подкаталоге на дискете, например
a:\bin\bin.aa,
a:\bin\bin.ab, и так далее.Как только в процессе установки появится экран Media,
выберите Floppy и установка продолжится.Установка с раздела &ms-dos;установкас MS-DOSЧтобы подготовиться к установке с раздела &ms-dos;,
скопируйте файлы с дистрибутива в каталог
freebsd корневого каталога раздела.
Например, c:\freebsd. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду DOS
xcopy если вы копируете дистрибутив с CD.
Например, чтобы подготовить минимальную установку FreeBSD:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sПредполагается, что на C: есть свободное
место, а на E: смонтирован CDROM.Если у вас нет CDROM, можно загрузить дистрибутив с ftp.FreeBSD.org.
Каждый компонент находится в своем собственном каталоге, например
компонент base можно найти в каталоге &rel.current;/base/.В 4.X и более поздних релизах &os; компонент
base называется bin. Поправьте
команды и ссылки соответственно, если вы используете эти
версии.Все компоненты, которые вы будете устанавливать с раздела
&ms-dos; (и для которых у вас есть место), нужно расположить в
c:\freebsd — для минимальной установки
нужна только компонента BIN.Создание ленты для установкиустановкас ленты QIC/SCSIУстановка с ленты это возможно самый простой метод, уступающий
только установке с FTP или CDROM. Программа установки может
найти на ленте файлы, которые записаны на нее с помощью tar.
После получения всех файлов дистрибутива, которые вам нужны,
запишите их на ленту с помощью tar:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Когда вы приступите к установке, нужно убедиться в наличии
достаточного места во временном каталоге (который будет
предложено выбрать), чтобы поместилось все
содержимое записанной ленты. Поскольку лента — устройство
не-произвольного доступа, этот метод установки требует некоторого
места во временном хранилище.При начале установки лента должна быть в приводе
до загрузки с дискеты.
В ином случае она может быть не найдена при тестировании
устройств.Перед установкой по сетиустановкасетьпоследовательная (SLIP или PPP)установкасетьпараллельная (PLIP)установкасетьEthernetЕсть три возможных типа установки по сети. Через последовательный
порт (SLIP или PPP), параллельный порт (PLIP (laplink кабель)),
или Ethernet (стандартный Ethernet контроллер (включая некоторые
PCMCIA)).Поддержка SLIP немного примитивна, и ограничена в основном
постоянными соединениями, такими как последовательный
кабель между ноутбуком и другим компьютером. Соединение должно быть
постоянным, так как устанавливаемый SLIP в настоящее время не имеет
возможности дозвона; эта возможность предоставляется программой PPP,
которая должна быть использована вместо SLIP когда это
возможно.Если вы используете модем, PPP это конечно почти единственный
выбор. Убедитесь что у вас есть информация о провайдере, так как она
понадобится на довольно ранней стадии процесса установки.Если вы используете PAP или CHAP для соединения с провайдером
(другими словами, вы можете соединяться с провайдером из
&windows; без использования скрипта), все что вам понадобится это
ввести dial в приглашении
ppp. Иначе вам нужно знать, как
дозвониться до провайдера с помощью AT команд,
специфичных для вашего модема, так как программа дозвона PPP
предоставляет только очень простой эмулятор терминала. Обратитесь
к руководству user-ppp и FAQ для получения более подробных
сведений. Если у вас проблемы, логи могут быть выведены на экран
с помощью команды set log local ....Если доступно постоянное соединение с другой машиной
FreeBSD (2.0-R или выше), вы можете также подумать об
установке через параллельный порт laplink кабелем.
Скорость соединения через параллельный порт значительно выше, чем
обычно возможно через последовательную линию (до 50 кбайт/с),
это приведет к ускорению установки.Наконец, для самой быстрой установки по сети хорошим выбором
будет Ethernet адаптер! FreeBSD поддерживает большинство
PC Ethernet карт; список поддерживаемых карт (и требуемых
для них установок) предоставляется в информации об оборудовании
для каждого релиза FreeBSD. Если вы используете одну из
поддерживаемых PCMCIA Ethernet карт, убедитесь также что она
подключена перед тем, как ноутбук будет
включен! К сожалению, FreeBSD в настоящее время не поддерживает
горячее подключение PCMCIA карт во время установки.Вам также потребуется знать IP адрес в сети, сетевую
маску для класса подсети, и имя компьютера. Если вы делаете
установку через соединение PPP и у вас нет статического
IP, не бойтесь, IP адрес будет динамически выделен вам провайдером.
Системный администратор может подсказать вам какие значения
использовать для данной установки по сети. Если вы будете обращаться
к другим хостам по имени, а не по IP адресу, понадобится также
ДНС сервер и, возможно, адрес шлюза (если вы используете PPP, это
IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите
производить установку с FTP через HTTP прокси,
потребуется также адрес прокси. Если вы не знаете ответов
на все или большинство этих вопросов, свяжитесь с системным
администратором или ISP перед тем, как начать
этот тип установки.Перед установкой через NFSустановкасетьNFSУстановка через NFS очень проста. Просто скопируйте
компоненты FreeBSD, которые вам нужны на NFS сервер,
а затем укажите на него при выборе источника установки NFS.Если этот сервер поддерживает только привилегированные
порты (это как правило так для рабочих станций Sun),
потребуется установить этот параметр в меню Options
перед тем, как начать установку.Если у вас Ethernet карта плохого качества с низкой скоростью
передачи данных, вы возможно захотите переключить соответствующий
флаг в Options.Чтобы установка по NFS работала, сервер должен поддерживать
монтирование подкаталогов, например, если установочный каталог
дистрибутива FreeBSD &rel.current; находится на:
ziggy:/usr/archive/stuff/FreeBSD,
ziggy должен позволять непосредственное
монтирование /usr/archive/stuff/FreeBSD,
а не только /usr или
/usr/archive/stuff.В файле FreeBSD /etc/exports, это
управляется параметром . Другие NFS
сервера могут иметь другие соглашения. Если вы получаете
сообщения сервера permission denied,
это может означать, что соответствующая опция не включена.
diff --git a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
index c3de78356e..9ad5165f24 100644
--- a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
@@ -1,958 +1,958 @@
JimMockИсправил, реорганизовал и частично
переписал ВведениеКраткий обзорМы благодарим вас за интерес к FreeBSD! Следующая глава
расскажет о некоторых аспектах проекта FreeBSD, таких как история,
цели, модель разработки, и прочее.Из этой главы вы узнаете:Какое отношение имеет FreeBSD к другим операционным
системам.Историю проекта FreeBSD.Цели проекта FreeBSD.Основы модели разработки FreeBSD с открытыми исходными
текстами.И конечно, откуда появилось имя FreeBSD.Добро пожаловать во FreeBSD!4.4BSD-LiteFreeBSD это основанная на 4.4BSD-Lite операционная система для
компьютеров Intel (x86 и &itanium;), AMD64,
Alpha и Sun &ultrasparc;. Ведется
работа по портированию и на другие архитектуры. Вы можете также
прочесть о истории FreeBSD,
или о текущем релизе. Если вы
заинтересованы в помощи проекту (кодом, аппаратным обеспечением,
деньгами), прочтите статью Помощь
FreeBSD.Что может FreeBSD?FreeBSD имеет заслуживающие внимания особенности. Некоторые из
них:приоритетная многозадачностьПриоритетная многозадачность с
динамическим регулированием приоритетов плавно и правильно
приспособится и справедливо распределит ресурсы компьютера между
приложениями и пользователями, даже при тяжелейших нагрузках.
многопользовательская доступностьМногопользовательская доступность которая
позволяет множеству людей использовать FreeBSD совместно для ряда
задач. Это значит, например, что системная периферия, такая как
принтеры и ленточные устройства, правильно распределена между
пользователями в системе или сети, и что лимиты каждого ресурса
могут быть установлены пользователям или группам пользователей,
защищая критические системные ресурсы от перегрузок.TCP/IP стекМощный TCP/IP стек с поддержкой
промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS.
Это говорит о том, что FreeBSD может легко функционировать
с другими системами предприятия, предоставляя жизненно важные
функции, такие как NFS (удалённый доступ к файлам) и услуги
электронной почты или представить вашу организацию в Internet с сервисами
WWW, FTP, маршрутизации и брандмауэра (сетевая безопасность).
защита памятиЗащита памяти гарантирует, что
приложения (или пользователи) не смогут чинить препятствия
друг другу. Фатальная ошибка в выполнении одного приложения
не скажется на работоспособности всей системы.FreeBSD 32-х битная операционная система
(64 бита на Alpha, &itanium;, AMD64, и
&ultrasparc;) и была создана
именно такой.X Window SystemXFree86Промышленный стандарт X Window System
(X11R6) предоставляет графический интерфейс пользователя (GUI) для
большинства VGA карт и мониторов и поставляется с полными исходными
текстами.двоичная совместимостьLinuxдвоичная совместимостьSCOдвоичная совместимостьSVR4двоичная совместимостьBSD/OSдвоичная совместимостьNetBSDДвоичная совместимость с большинством
программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.Тысячи готовых к использованию
приложений доступны из FreeBSD коллекций
портов и пакетов.
Зачем искать что-то в сети, когда вы можете найти
всё прямо здесь?Тысячи других
легко-адаптируемых приложений доступны в
Internet. FreeBSD в исходных текстах совместима с большинством
популярных коммерческих &unix; систем и, таким образом, большинство
приложений требуют несколько достаточно мелких (если требуют),
изменений для сборки.виртуальная памятьВиртуальная память с поддержкой
сброса неиспользуемых страниц по требованию и
объединенные VM/буферный кэш спроектированы
так, чтобы максимально эффективно удовлетворить приложения с
огромными аппетитами к памяти и, в то же время, сохранить
интерактивность остальных пользователей.симметричная многопроцессорность (SMP)Поддержка симметричной многопроцессорности (SMP) для машин с
несколькими процессорами.компиляторыCкомпиляторыC++компиляторыFORTRANПолный комплект инструментов для разработчика:
C, C++,
Fortran и Perl.
Множество дополнительных языков для прочих исследований
и разработки также доступны из коллекций портов и пакетов.исходный текстИсходные тексты всей системы
означают, что вы имеете великолепную возможность контролировать
ваше окружение. Зачем выбирать закрытые решения и уповать на милость
производителя, когда вы можете иметь по-настоящему открытую
систему?Обширная online
документация.И многое-многое другое!4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. BerkeleyFreeBSD основана на 4.4BSD-Lite от Computer
Systems Research Group (CSRG) Калифорнийского Университета, Беркли,
и имеет в себе характерные черты модели развития BSD-систем.
В дополнении к прекрасной работе предоставленной
CSRG, Проект FreeBSD тратит многие тысячи часов для
тонкой настройки системы для максимальной производительности и надёжности
в условиях максимально приближенным к боевым.
Когда большинство коммерческих гигантов только пытаются достичь такого
уровня возможностей, производительности и надежности операционных
систем для PC, FreeBSD может предложить все это прямо
сейчас!Применение FreeBSD в действительности ограничено только вашими
фантазиями. От разработки программного обеспечения до автоматизации
производства, от контроля за качеством товара до
коррекции азимутов удалённых спутниковых антенн; эти задачи можно
решить с помощью коммерческих &unix; систем, но скорее всего они
решаемы и с помощью FreeBSD! FreeBSD столь же многогранно
полезна, как и буквально тысячи высококачественных приложений разработанных
исследовательскими центрами и университетами во всём мире, доступные
за минимальную цену или даже бесплатно. Коммерческие приложения также доступны
и появляются ежедневно в больших количествах.Исходя из того, что исходные тексты FreeBSD всегда доступны,
система может быть оптимизирована в почти невероятной степени
для специальных приложений или проектов, а это, в большинстве
своём, невозможно при использовании операционных систем от большинства
коммерческих производителей. Вот несколько примеров того, как люди
используют FreeBSD:Internet сервисы: мощнейший TCP/IP
стек делает FreeBSD идеальной платформой для большинства
Internet приложений таких как:FTP серверыFTP серверыweb серверыWorld Wide Web серверы (как стандартные, так и безопасные
[SSL])фильтрация пакетовIP маскарадингСерверы фильтрации пакетов и шлюзы NAT
(IP маскарадинг)электронная почтаСерверы электронной почтыUSENETСерверы новостей USENET и BBSи многое другое...Вы можете начать своё знакомство с FreeBSD, используя недорогую
машину класса 386 PC, а впоследствии увеличить её мощь до сервера масштаба
предприятия с четырьмя процессорами Xeon и RAID контроллером.Образование: Вы студент и ваше
образование связано с компьютерами или другими инженерными
расчётами? Нет лучшего пути начать изучение операционных
систем, архитектуры компьютера и работы в сети, чем покорить
вершины FreeBSD. Количество доступных CAD, математических
и графических пакетов также делают её чрезвычайно полезной
для выполнения другой не менее важной
работы.Исследования: С исходными текстами,
которые доступны для всей системы, FreeBSD это превосходная платформа
как для исследования операционных систем, так и исследования
других областей компьютерных наук. Свободная природа FreeBSD
предоставляет возможность удалённым группам сотрудничать, обмениваться
идеями и совместными разработками, не беспокоясь
о наличии специальных лицензий или ограничений,
которые могут обсуждаться в открытых форумах.маршрутизаторDNS серверРабота в сети: Нужен новый маршрутизатор?
Сервер имён (DNS)? Брандмауэр, защищающий от проникновения
извне в вашу сеть? FreeBSD может превратить давно списанный и
пылящийся в углу 386й или 486й PC в мощный маршрутизатор
с возможностью фильтрации пакетов.X Window SystemXFree86X Window SystemAccelerated-XРабочая станция X Window: FreeBSD прекрасный
выбор, если вам нужен недорогой X-терминал. Можно использовать
свободно распространяемый &xfree86; сервер или один из
коммерческих серверов, поставляемых Xi Graphics. В отличии от
X терминала, на FreeBSD можно запускать множество приложений
локально, если требуется, таким образом перенеся часть нагрузки
с центрального сервера. FreeBSD может быть загружена на бездисковой
станции, что делает рабочую станцию более дешёвой и
простой в администрировании.GNU набор для разработкиРазработка программного обеспечения: Базовая
поставка FreeBSD распространяется с полным набором инструментов для
разработки, включая знаменитые компилятор GNU C/C++ и
отладчик.FreeBSD доступна как в исходных текстах, так и в бинарном виде
на CDROM, DVD и через анонимный доступ к FTP. Смотрите
для уточнений.Кто использует FreeBSD?ПользователиКрупные сайты, работающие под FreeBSDFreeBSD используется в качестве платформы на некоторых крупнейших
сайтах в интернет, включая:Yahoo!Yahoo!ApacheApacheBlue Mountain ArtsBlue Mountain
ArtsPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftWeathernewsWeathernewsSupervaluSupervaluTELEHOUSE AmericaTELEHOUSE
AmericaSophos Anti-VirusSophos
Anti-VirusJMA WiredJMA Wiredи на многих других.О Проекте FreeBSDВ следующей части рассказывается о том, что из себя представляет проект,
включая краткую историю, цели проекта и модель разработки
проекта.JordanHubbardПредоставил Краткая история FreeBSD386BSD PatchkitHubbard, JordanWilliams, NateGrimes, RodПроект FreeBSDисторияПроект FreeBSD возник в первой половине 1993 года,
частично как результат развития Неофициального комплекта
исправлений к 386BSD (patchkit) , последними 3-мя координаторами
этого проекта: Nate Williams, Rod Grimes и мною.386BSDНашей главной задачей было привести промежуточный
снэпшот 386BSD в порядок, исправив множество проблем, которые
механизм patchkit не мог решить. Некоторое из вас возможно помнят
раннее название этого проекта: 386BSD 0.5 или
386BSD Interim.Jolitz, Bill386BSD была операционной системой Била Джоилца, который
на тот момент находился строго говоря, в состоянии полного
пренебрежения к ней. Так как patchkit разрастался, его
поддержание становилось более неудобным день от дня, мы
пришли к единодушному соглашению что что-то нужно делать
и решили помочь Биллу путем предоставления промежуточных
очистных снэпшотов. Эти планы были грубо
оборваны, когда Билл внезапно решил прекратить поддержку
проекта без всяких ясных комментариев, что должно быть
сделано.Greenman, DavidWalnut Creek CDROMНам потребовалось немного времени, чтобы прийти к решению
продолжать следовать той же цели, даже без поддержки Билла,
и мы приняли имя FreeBSD приобретенное Дэвидом
Гринмэном. Наши начальные цели были определены после консультаций
с пользователями существовавшей системы, и как только стало
понятно, что проект на пути к тому, чтобы стать реальностью, я
связался с Walnut Creek CDROM с идеями о путях последующего
улучшения каналов распространения FreeBSD для множества
пользователей без доступа к Internet. Walnut Creek CDROM не только
поддержал идею распространения FreeBSD на CD, но также пошел
далеко вперед и предоставил проекту компьютер для работы
и быстрый доступ к Internet. Без почти беспрецедентной веры
Walnut Creek CDROM в этот в то время полностью неизвестный проект,
вряд ли FreeBSD зашел бы так далеко и так быстро, как сегодня.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationПервым дистрибутивом, распространяемым как на CDROM, так и в сети,
стал FreeBSD 1.0, выпущенный в декабре 1993 года. Эта версия была
выполнена на основе ленты 4.3BSD-Lite (Net/2)
из Калифорнийского Университета в Беркли, с многочисленными
добавлениями из проекта 386BSD и Фонда Свободного Программного
Обеспечения. Это был довольно внушительный успех для
первого предложения, и мы закрепили его с выходом FreeBSD
1.1 RELEASE в мае 1994 года.NovellU.C. BerkeleyNet/2AT&TВ это же время, на горизонте сгустились тучи в связи с назревающим
скандалом между Novell и Калифорнийским Университетом, Беркли.
Это был вяло-текущий судебный процесс о легальности версии
Net/2 из Беркли. Обстоятельства тяжбы с Калифорнийским Университетом
заключались в том, что большие куски Net/2 были загромождены
кодом, права на который принадлежат Novell, которая в свою очередь,
получила их (права на код) ранее от AT&T. Чтоб вернуть
благословение Novell, Беркли выпустил версию
4.4BSD-Lite, которая
была объявлена полностью свободной и
всем пользователям Net/2 было рекомендовано переключится на ее
использование. Это также касалось FreeBSD, и проекту было дано
время до конца Июля 1994 года для прекращения распространения его
продукта базирующегося на Net/2. На этих условиях проекту было
разрешено выпустить последний релиз до окончания срока, это
был FreeBSD 1.1.5.1.Тогда FreeBSD приступил к сложной задаче буквально
полному изобретению себя из абсолютно новой и довольно
неполной системы 4.4BSD-Lite. Lite был
в прямом смысле light (легким) потому, что CSRG Berkeley удалил
большие куски кода, необходимого для создания реально
загружающейся системы (по причине различных лицензионных
требований), и фактически порт 4.4BSD для платформы Intel
был очень неполным. Проекту потребовалось время почти до
ноября 1994 года для того, чтобы выполнить этот переход и
на этом этапе FreeBSD 2.0 была опубликована в сети и
на CDROM (в конце декабря). Несмотря на множество острых
углов в этой версии, она пользовалась значительным успехом
и была продолжена более устойчивой и простой в установке
FreeBSD 2.0.5, выпущенной в июне 1995 года.Мы выпустили FreeBSD 2.1.5 в августе 1996, и она стала достаточно
популярной среди большого количества ISP и коммерческих
производителей, чтобы выпустить еще один релиз из ветви 2.1-STABLE. Это была
FreeBSD 2.1.7.1, вышедшая в феврале 1997 и завершившая главную
ветвь разработки 2.1-STABLE. Сейчас в режиме поддержки, в эту ветвь
(RELENG_2_1_0) вносятся только расширения безопасности и другие
критически важные исправления.FreeBSD 2.2 была ответвлена от основной линии разработки
(-CURRENT) в ноябре 1996 как ветвь RELENG_2_2,
а первая полная версия (2.2.1) появилась в апреле 1997.
Последующие версии ветви 2.2 появлялись летом и в конце 97 года,
а последняя версия (2.2.8) вышла в ноябре 1998.
Первая официальная версия 3.0 была подготовлена к выходу в
октябре 1998, завершив развитие ветви 2.2 Третье ветвление произошло 20 января 1999 года, появились
ветви 4.0-CURRENT и 3.X-STABLE. Из ветви 3.X-STABLE были получены: 3.1 -
15 февраля 1999, 3.2 - 15 мая 1999, 3.3 - 16 сентября 1999,
3.4 - 20 декабря 1999, 3.5 - 24 июня 2000, за которым последовал
через несколько дней немного обновленный 3.5.1, который содержал
несколько исправлений в области безопасности Kerberos. Это был последний
релиз из ветви 3.X.Последнее на данный момент ветвление было выполнено 13 марта 2000
года, в результате чего появилась ветвь 4.X-STABLE, в настоящее время
считающейся текущей -stable ветвью. Из этой ветви
было выпущено несколько релизов: 4.0-RELEASE был представлен
в марте 2000 года, самый свежий &rel2.current;-RELEASE был выпущен
&rel2.current.date;. Из ветви 4.X-stable (RELENG_4) будут выпущены
и следующие релизы.Долгожданный 5.0-RELEASE был анонсирован 19 января 2003 года.
Он стал кульминацией приблизительно трех лет работы, с этого
релиза начался курс FreeBSD на расширенную поддержку
мультипроцессорности и потоков в приложениях, была также представлена
поддержка платформ &ultrasparc; и ia64. За этим
релизом последовал релиз 5.1 в июне 2003 года. Помимо множества
новых возможностей, релизы 5.X принесли также существенные улучшения
внутренней архитектуры системы. Однако, вместе с этими
преимуществами, в систему пришло огромное количество нового и
мало протестированного кода. По этой причине, релизы 5.X
считаются Новыми технологическими, а 4.X релизы
Продуктивными. Со временем 5.X будут объявлены
стабильными, и начнется работа над новой ветвью, 6.0-CURRENT.На данный момент, долговременные разработки и проекты продолжаются в ветке
5.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы
5.X на CDROM (и, конечно же, в сети), постоянно выкладываемые на
сервер снэпшотов как промежуточные результаты.JordanHubbardПредоставил Цели Проекта FreeBSDПроект FreeBSDцелиЦелью Проекта FreeBSD является предоставление программного
обеспечения, которое может быть использовано для любых целей
и без дополнительных ограничений. Многие из нас вносят значительный
вклад в код (и проект) и совершенно не требуют за это
какой-либо финансовой компенсации сейчас и в последствии, хотя мы
определенно не собираемся отказываться от нее. Мы верим, что первая
и основная наша миссия это предоставление кода для всех,
кому он необходим, и для любых целей, поэтому этот код становится
все более и более распространен и предоставляет самые широкие
возможности. Это, я верю, является одной из основных целей Свободного
Программного Обеспечения и мы с энтузиазмом
поддерживаем ее.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightТот код в нашем дереве исходных текстов, который попадает
под Общую Публичную Лицензию GNU (GPL) или Общую Публичную
Лицензию Библиотек GNU (LGPL), предоставляется с дополнительными
условиями, хотя они обеспечивают только возможность доступа
а не его ограничение. По причине дополнительных
сложностей, которые могут появится при коммерческом использовании GPL
продуктов, мы предпочитаем ПО, предоставленное под более свободной
лицензией BSD, когда это возможно.SatoshiAsamiПредоставил Модель Разработки FreeBSDПроект FreeBSDмодель разработкиРазработка FreeBSD это очень открытый и гибкий процесс —
FreeBSD, буквально выражаясь, создан из кода, предоставленного
сотнями людей со всего мира, в чем вы можете убедится взглянув
на список этих
людей. Мы постоянно
ищем новых разработчиков и новые идеи, и тот, кто заинтересован
в более тесном взаимодействии и хочет принять участие в проекте,
должен просто связаться с нами в &a.hackers;. Для тех кто
желает использовать FreeBSD в различных областях для работы,
доступен &a.announce;.Если участвуете в процессе разработки FreeBSD независимо или
тесно сотрудничая с нами, полезно знать следующее:CVS РепозиторийCVSрепозиторийConcurrent Versions SystemCVSГлавное дерево исходных текстов FreeBSD поддерживается
с помощью
CVS
(Concurrent Versions System), свободно доступной системой
контроля исходных текстов, которая поставляется вместе
с FreeBSD. Основной
CVS
репозиторий располагается на компьютере, находящемся
в городе Санта Клара, Калифорния (США), откуда и распространяется
на множество зеркал по всему миру. Дерево CVS, содержащее ветви
-CURRENT и -STABLE,
может быть легко скопировано на ваш локальный компьютер.
Обратитесь к разделу Синхронизация
дерева исходных текстов за информацией об этом
процессе.Список коммиттеровкоммиттерыКоммиттеры
это люди, которые имеют доступ на запись
к главному дереву CVS, и имеют право вносить изменения
в главное дерево исходных текстов FreeBSD (термин
коммиттер появился от названия
команды &man.cvs.1; commit, которая
используется для внесения изменений в CVS репозиторий).
Лучший способ для предоставления ваших изменений на
рассмотрение коммиттеров - это использование команды
&man.send-pr.1;. Если что-то произошло с системой, вы можете
достучаться до них посылкой письма по адресу
&a.committers;.CORE группа FreeBSD core teamCORE группа FreeBSD
могла бы быть эквивалентом Совета Директоров, если бы
Проект FreeBSD был компанией. Главная задача CORE группы —
убедиться, что проект в целом в хорошем состоянии
и движется в правильном направлении. Приглашение
постоянных и ответственных разработчиков присоединится к группе
коммиттеров одна из функций CORE группы, также как приглашение
новых членов в CORE группу по мере того, как другие уходят.
Нынешний состав группы был выбран из рядов коммиттеров
путем общего голосования в июне 2002 года.
Выборы проходят каждые 2 года.
Некоторые члены CORE группы имеют особые
области ответственности, это
означает, что они являются ответственными за работу
отдельной большой части системы.
За полным списком разработчиков FreeBSD и областей их
ответственности обращайтесь к Списку
участников.Большинство членов CORE группы являются волонтерами
и не получают никакой финансовой выгоды от участии в проекте,
поэтому вы не должны рассматривать их работу как
гарантированную поддержку. Аналогия с
советом директоров не очень точна и вероятно гораздо
правильнее будет сказать, что это люди, которые посвятили себя
FreeBSD, пожертвовав личной жизнью!Внешняя помощьучастникиПоследней, но однозначно не менее значимой, наибольшей
группой разработчиков являются пользователи, которые
предоставляют комментарии и исправления ошибок нам на почти
постоянной основе. Основной путь участвовать в
не централизованной разработке это подписка на &a.hackers;,
где обсуждаются подобные вещи. Обратитесь к за дальнейшей информацией о различных
списках рассылки FreeBSD.Список
контрибьюторов FreeBSD
очень длинный и постоянно растет, поэтому
почему бы вам не присоединится к нему предоставив что-нибудь
FreeBSD сегодня?Предоставление кода не единственный способ помочь
проекту; для более-менее полного списка вещей, которые
необходимо сделать пожалуйста обратитесь к веб сайту проекта
+ url="&url.base;/ru/index.html">веб сайту проекта
FreeBSD.Вообще говоря, наша модель разработки организована как нечеткий
набор концентрированных колец. Централизованная модель разработана
для удобства пользователей FreeBSD, которые
получают простую систему контроля за одной
центральной базой кода, и позволяет не оставить за бортом проекта
потенциальных помощников! Мы желаем предоставить стабильную
операционную систему с большим количеством когерентных
прикладных программ, которые
пользователи смогут легко установить и использовать — наша модель
работает очень хорошо для этой задачи.Мы все приглашаем тех, кто хотел бы присоединится к нам как
разработчик FreeBSD, выделить немного времени и привнести свой взнос
в постоянный успех FreeBSD!Текущая Версия FreeBSDNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)FreeBSD - это свободно доступный, основанный на 4.4BSD-Lite
релиз с полными исходными текстами для компьютерных систем, основанных на Intel
&i386;, &i486;, &pentium;,
&pentium; Pro,
&celeron;,
&pentium; II,
&pentium; III,
&pentium; 4 (или совместимыми),
&xeon;, DEC Alpha и
Sun &ultrasparc;.
В основном он основан на
программном обеспечении от группы CSRG, U.C. Berkley, с некоторым
дополнениями из NetBSD, OpenBSD, 386BSD и Free Software
Foundation.Со времен FreeBSD версии 2.0 в конце 94, производительность,
возможности, и стабильность FreeBSD выросла многократно. Самое
большое изменение это полное обновление системы виртуальной памяти
с объединенным VM/файловым буферизованным кэшем, который не только
увеличивает производительность, но и уменьшает количество
используемой памяти, делая 5 MB конфигурацию более доступным
минимумом. Другие улучшения включают в себя полную поддержку NIS
(клиент и сервер), поддержка транзакций TCP, поддержка
"звонка-по-запросу" в PPP, встроенная поддержка DHCP, улучшенная
подсистема SCSI, поддержка ISDN, ATM, FDDI, Fast и Gigabit Ethernet
(1000 Mbit) адаптеров, улучшенная поддержка последних версий
контролеров Adaptec и многие тысячи исправленных ошибок.В дополнение к базовой системе, FreeBSD предоставляет
коллекцию портированого ПО, включающую в себя тысячи популярных
программ. На время подготовки этого документа она включала в себя
более &os.numports; портов! В коллекцию входят множество программ от
http (WWW) серверов, до игр, языков программирования, текстовых
редакторов и всего прочего. Полная коллекция портов
требует приблизительно &ports.size; дискового пространства, потому что
порт представляет собой изменения оригинальных
исходных текстов. Это сильно упрощает нам процесс обновления
портов, и очень сильно уменьшает количество занимаемого
дискового места по сравнению со старой (1.0) коллекцией портов.
Для того, чтобы скомпилировать и установить программу,
необходимо всего лишь войти в каталог порта
программы, набрать make install и дать
системе сделать все остальное. Исходные тексты для каждого порта,
который вы устанавливаете, загружаются автоматически с CDROM или
локального FTP сервера, поэтому вам нужно только дисковое
пространство для сборки тех портов, которые вам необходимы. Почти каждый
порт также предоставляется как пред-компилированный
пакет, который может быть установлен с помощью
простой команды (pkg_add) теми, кто предпочитает не компилировать порты
из исходных текстов. Дополнительная информация о пакетах и портах
находится здесь: .Множество дополнительных документов, которые вы можете найти
очень полезными в процессе установки и использования FreeBSD,
находятся в каталоге /usr/share/doc
на любой машине, работающей под управлением современной версии FreeBSD. Вы
можете просматривать локально установленные документы с помощью
любого браузера, поддерживающего HTML, используя следующие ссылки:Руководство FreeBSD/usr/share/doc/ru_RU.KOI8-R/books/handbook/index.htmlFreeBSD FAQ (Часто задаваемые вопросы)/usr/share/doc/ru_RU.KOI8-R/books/faq/index.htmlВы также можете просмотреть основные (и наиболее часто обновляемые)
копии на http://www.FreeBSD.org/ru/.
+ url="&url.base;/ru/index.html">http://www.FreeBSD.org/ru/.
diff --git a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
index 1be756a491..f71b2aa3da 100644
--- a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
@@ -1,997 +1,997 @@
Andrey A.ChernovПредоставил Michael C.WuПереписал Локализация - I18N/L10N использование и настройкаКраткий обзорFreeBSD - это очень распределенный проект, пользователи
и контрибьюторы которого находятся в самых разных частях света.
В этой главе рассказывается о возможностях интернационализации
и локализации FreeBSD, которые позволяют не-англоговорящим
пользователям делать свою работу. Существует много подходов в
i18n реализации - как на системном уровне, так и на уровне
приложений, так что, где это возможно, мы будем давать читателю
ссылки на более углубленные источники документации.После прочтения этой главы, вы будете знать:Как разные языки и региональные настройки кодируются
в современных операционных системах.Как установить региональные настройки для вашей
оболочки.Как настроить вашу консоль для отличных от
английского языков.Как эффективно использовать X Window System с разными
языками.Где найти дополнительную документацию по созданию
i18n-совместимых приложений.Перед чтением этой главы вам следует::Знать как установить дополнительные приложения сторонних
разработчиков ().ОсновыЧто такое I18N/L10N?интернационализациялокализацияРазработчики сократили интернационализацию в термин I18N, по числу
символов между первым и последним символом интернационализации. В
названии L10N используется тот же принцип от локализации.
Совместно используемые I18N/L10N методы, протоколы и приложения
позволяют пользователям использовать языки по своему выбору.I18N приложения написаны с применением набора I18N посредством
библиотек. Это позволяет разработчикам писать простые файлы и переводить
отображаемые меню и надписи на разные языки. Мы настоятельно рекомендуем
программистам следовать этому соглашению.Почему я должен использовать I18N/L10N?I18N/L10N используется всегда, когда вы хотите просмотреть, ввести
или обработать данные на отличных от английского языках.Какие языки поддерживаются в проекте I18N?I18N и L10N не являются специфичными для FreeBSD. На текущий момент
у вас есть выбор между самыми распространенными языками мира, включая, но
не ограничиваясь: китайский, немецкий, японский, корейский, французский,
русский, вьетнамский и др.Использование локализацииПри всем своем величии, I18N не специфична для FreeBSD и
является, по сути, соглашением. Следование этому соглашению
помогает FreeBSD, и мы это приветствуем.localeНастройки локализации базируются на трех основных терминах:
код языка, код страны и кодировка. Имена локализаций строятся из этих
частей следующим образом:кодязыка_кодстраны.кодировкаЯзык и код страныlanguage codescountry codesЧтобы настроить FreeBSD (или любую другую &unix;-систему,
поддерживающую I18N) на использование специфического языка, пользователю
нужно выяснить коды этого языка и страны (коды страны сообщают
приложению какой именно диалект языка этой страны нужно использовать). К
тому же, веб-браузеры, SMTP/POP серверы, веб-серверы и т.п. делают свой
выбор в зависимости от этого. Далее показаны примеры кодов
языка/страны:Код языка/страныОписаниеen_USАнглийский - Соединенные Штатыru_RUРусский для Россииzh_TWТрадиционный китайский для ТайваняКодировкикодировкиASCIIНекоторые языки используют не соответствующие ASCII кодировки,
которые используют для кодирования 8 бит, расширенное или
многобайтовое представление символов (подробности см. в &man.multibyte.3;).
Старые приложения не распознают такие кодировки и ошибочно принимают их
за управляющие символы. Новые приложения обычно распознают 8-битные
символы. В зависимости от реализации, пользователю может
потребоваться компиляция приложения с поддержкой расширенного или
многобайтного представления символов, или же просто правильная его
настройка. Чтобы иметь возможность вводить и обрабатывать символы с
расширенным или многобайтным представлением, Коллекция портов FreeBSD
+ url="&url.base;/ru/ports/index.html">Коллекция портов FreeBSD
предоставляет поддержку разных языков для различных приложений. Смотрите
документацию по I18N в соответствующем порту FreeBSD.В частности, пользователю необходимо читать прилагаемую к приложению
документацию чтобы решить, как правильно его настроить или
указать правильные параметры configure/Makefile/компилятору.Следует помнить следующие вещи:Наборы символов, использующие один байт для кодирования символа
(см. &man.multibyte.3;), например,
ISO-8859-1, ISO-8859-15, KOI8-R, CP437.Расширенные или многобайтные кодировки, например, EUC, Big5.Вы можете посмотреть актуальный список наборов символов на сайте
IANA Registry.Вместо этого, FreeBSD версий 4.5 и выше используют X11-совместимые
кодировки для локализации.Приложения, использующие I18NВ системе Портов и Пакетов FreeBSD в название приложений,
поддерживающих I18N, включена аббревиатура I18N для
легкой их идентификации. И, тем не менее, не все приложения поддерживают
требуемый язык.Настройка локализацииОбычно достаточно экспортировать значение имени локализации в
переменной LANG Вашей оболочки. Это можно сделать в
пользовательском ~/.login_conf файле или в
инициализационном файле пользовательской оболочки
(~/.profile, ~/.bashrc,
~/.cshrc). Нет надобности устанавливать отдельные
параметры локализации такие как LC_CTYPE,
LC_CTIME. За дополнительной информацией, пожалуйста,
обращайтесь к документации FreeBSD по нужному вам языку.Вам следует установить следующие переменные окружения в ваших
конфигурационных файлах:POSIXLANG для семейства функций &posix;
&man.setlocale.3;MIMEMM_CHARSETнабор символов MIME для
приложенийЭти настройки включают конфигурацию оболочки пользователя,
конфигурацию конкретных приложений и конфигурацию X11.Методы настройки локализацииlocalelogin classСуществует два метода настройки локализации и оба описаны ниже.
Первый (рекомендуемый) заключается в задании переменных в классе логина, другой метод заключается в
задании переменных окружения в
инициализационном
файле системной оболочки.Метод Login ClassesЭтот метод позволяет установить переменные окружения,
необходимые для установки локализации и набора символов MIME,
однократно для любых оболочек, вместо того, чтобы добавлять
установку этих переменных в инициализационный файл каждой оболочки.
Настройка на уровне пользователя может
быть сделана самим пользователем, а
Настройка на уровне администратора требует привилегий
суперпользователя.Настройка на уровне пользователяВот минимальный пример файла .login_conf
в домашнем каталоге пользователя, в котором задаются обе переменные
для кодировки Latin-1:me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:Traditional ChineseBIG-5 encodingЭто пример .login_conf, который задает
переменные для Традиционного Китайского языка в кодировке BIG-5.
Обратите внимание, что задается намного больше переменных, потому
что некоторое программы некорректно воспринимают переменные
окружения локализации для Китая, Японии и Кореи.#Пользователи, которые не хотят использовать
денежные единицы
#и форматы времени Тайваня, могут вручную изменить каждую переменную
me:\
:lang=zh_TW.Big5:\
:lc_all=zh_TW.Big:\
:lc_collate=zh_TW.Big5:\
:lc_ctype=zh_TW.Big5:\
:lc_messages=zh_TW.Big5:\
:lc_monetary=zh_TW.Big5:\
:lc_numeric=zh_TW.Big5:\
:lc_time=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=xcin": #Setting the XIM Input ServerЗа подробностями обращайтесь к разделу
Настройка на
уровне администратора и &man.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:Изменение класса логина с помощью
&man.vipw.8;vipwИспользуйте vipw для добавления новых
пользователей и отредактируйте запись о пользователе, чтобы она была
похожа на эту:user:password:1111:11:language:0:0:User Name:/home/user:/bin/shИзменение класса логина с помощью
&man.adduser.8;adduserlogin classИспользуйте adduser для добавления новых
пользователей и сделайте следующее:Установите defaultclass =
язык в
/etc/adduser.conf. Помните, что в этом
случае вы должны задать default класс для
всех пользователей других языков.Другой способ заключается в задании класса логина каждый
раз, когда &man.adduser.8; попросит об этом:
Enter login class: default []: Еще один способ - использовать следующее для каждого
пользователя другого языка, которого вы хотите
добавить:&prompt.root; adduser -class языкИзменение класса логина с помощью
&man.pw.8;pwЕсли для добавления новых пользователей вы используете
утилиту &man.pw.8;, запускайте ее с такими параметрами:&prompt.root; pw useradd
имя_пользователя -L языкМетод инициализационных файлов оболочкиЭтот метод не рекомендуется, потому что он требует разных
настроек для каждой оболочки. Вместо этого используйте
Метод класса логина.MIMElocaleЧтобы добавить локализацию и набор символов MIME, просто
установите две переменные окружения, приведенные ниже, в
инициализационные файлы оболочек /etc/profile
и/или /etc/csh.login. Для примера мы используем
немецкий язык:В /etc/profile:LANG=de_DE.ISO8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETИли в /etc/csh.login:setenv LANG de_DE.ISO8859-1setenv 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.sysinstallkeymapscreenmapУбедитесь также в установке правильных значений keymap и screenmap
для вашей однобайтовой кодовой таблицы через
/stand/sysinstall.
В sysinstall выберите
Configure, затем
Console. Или добавьте следующие строки в
/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"прочтите информацию о курсоре мыши в следующем параграфе.mousedПо умолчанию драйвер &man.syscons.4; выделяет для курсора мыши
в таблице символов диапазон 0xd0-0xd3. Если в вашем языке
используется этот диапазон, переместите этот диапазон. В
FreeBSD версий до 5.0, добавьте следующую строку в файл
конфигурации ядра:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше включите следующую строку в
/etc/rc.conf:mousechar_start=3keymap_name берется из каталога
/usr/share/syscons/keymaps, без расширения
.kbd. Если вы не знаете какую таблицу
использовать, запустите &man.kbdmap.1; для тестирования таблицы
без перезагрузки.keychange обычно требуется для сопоставления
функциональных клавиш выбранному типу терминала, поскольку
последовательности функциональных клавиш не могут быть определены
в раскладке клавиатуры.Убедитесь также, что для всех записей ttyv*
в /etc/ttys установлен подходящий тип терминала.
Имеющиеся типы соответствуют следующим кодировкам:Кодовая таблицаТип терминалаISO-8859-1 or ISO-8859-15cons25l1ISO-8859-2cons25l2ISO-8859-7cons25l7KOI8-Rcons25rKOI8-Ucons25uCP437 (VGA default)cons25US-ASCIIcons25wДля расширенных кодировок, а также для многобайтовых кодировок,
используйте порт FreeBSD из каталога
/usr/ports/language.
Некоторые порты выводят информацию на консоль, хотя для системы
выглядят как последовательные псевдотерминалы, следовательно вы
должны зарезервировать достаточное количество псевдотерминалов
и для X11 и для последовательных псевдоконсолей. Вот неполный
список приложений для использования этих кодировок в консоли:ЯзыкПриложениеТрадиционный китайский (BIG-5)chinese/big5conЯпонскийjapanese/ja-kon2-* or
japanese/Mule_WnnКорейскийkorean/ko-hanНастройка X11Хотя X11 не является частью проекта FreeBSD, мы включили сюда
некоторую информацию для пользователей FreeBSD. За детальной
информацией обращайтесь к Веб
сайту &xfree86; или к сайту того сервера X11, который вы
используете.В ~/.Xresources, вы можете внести
дополнительные I18N настройки приложений (настройки шрифтов,
меню и т.п.).Отображение шрифтовX11 True Type font serverУстановите сервер X11 &truetype; Common
(x11-servers/XttXF86srv-common)
и &truetype; шрифты для используемого языка. После установки корректного
значения locale меню, сообщения и т.д. должны появиться на
соответствующем языке.Ввод не-англоязычных символовX11 Input Method (XIM)Протокол X11 Input Method (XIM) это новый стандарт для всех
клиентов X11. Все приложения X11 должны быть написаны как XIM
клиенты, получающие ввод с серверов XIM Input. Существует
несколько XIM серверов, доступных для различных языков.Настройка принтераНекоторые однобайтовые кодовые таблицы обычно поддерживаются
принтерами на аппаратном уровне. Расширенные, или
мультибайтовые кодовые таблицы требуют дополнительной настройки.
Мы рекомендуем использование apsfilter.
Кроме того, вы можете преобразовать документ в формат &postscript; или
PDF с помощью поддерживающих соответствующий язык программ.Ядро и файловые системыФайловая система FreeBSD (fast filesystem, FFS) поддерживает
8-битные символы, ее можно использовать с любой односимвольной
кодовой таблицей (см. &man.multibyte.3;), но кодовые таблицы не
хранятся в файловой системе; т.е. ей ничего не известно о порядке
расположения символов в кодовой таблице. Официально FFS пока
не поддерживает расширенные или много символьные кодовые таблицы.
Однако, для некоторых расширенных или многобайтовых кодировок есть
неофициальные патчи, включающие их поддержку в FFS. Это всего
лишь временные не переносимые решения или исправления кода и
мы решили не включать их в дерево исходных текстов. Обращайтесь
к сайтам по соответствующим языкам за дальнейшей информацией
и патчами.DOSUnicodeФайловая система &ms-dos; в FreeBSD может быть настроена для
поддержки перекодировки между &ms-dos;, кодовыми таблицами Unicode
и выбранной кодовой таблицей FreeBSD. Обращайтесь к
&man.mount.msdos.8; за подробностями.Компиляция I18N программМногие порты FreeBSD были созданы с поддержкой I18N. Некоторые
из них помечены символами -I18N в имени порта. Эти и многие другие
программы имеют встроенную поддержку I18N и не нуждаются в
специальной настройке.MySQLОднако, некоторые приложения, такие как
MySQL, требуют указания кодировки в
Makefile. Это обычно делается правкой
Makefile или передачей параметров
configure при сборке из исходных
текстов.Локализация FreeBSD для поддержки определенных языковAndrey A.ChernovПервоначально предоставил Русский язык (кодировка KOI8-R)localizationRussianЗа дополнительной информацией о кодировке KOI8-R, обращайтесь к
странице KOI8-R References
(Russian Net Character Set).Настройка локализацииПоместите в ~/.login_conf следующие
строки:me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:Обратитесь к вышеизложенному материалу этой главы за
соответствующей
информацией.Настройка консолиДля FreeBSD версий до 5.0 добавьте к файлу настройки
ядра следующую строку:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше вставьте следующую строку
в /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:Обратитесь к &man.printcap.5; за подробным описанием.&ms-dos; FS и русские имена файловСледующий пример записи в &man.fstab.5; включает поддержку
русских имен файлов при монтировании файловых систем &ms-dos;:/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0Параметр выбирает имя используемой
локализации, а параметр задает таблицу
перекодировки. При использовании параметра
убедитесь, что раздел /usr смонтирован перед
разделом &ms-dos;, поскольку таблицы перекодировки расположены
в каталоге
/usr/libdata/msdosfs. За более подробной
информацией обращайтесь к странице справочника
&man.mount.msdos.8;.Настройка X11Выполните сначала не-X
настройку локализации.Локализация KOI8-R
может не работать со старыми релизами
&xfree86; (ниже 3.3).
На настоящий момент в FreeBSD в качестве системы X Window по
умолчанию используется &xfree86; 4.X.
Поэтому если только вы не используете старые версии FreeBSD,
это не должно стать проблемой.Зайдите в каталог
russian/X.language и
выполните следующую команду:&prompt.root; make installВышеуказанный порт установит последнюю версию KOI8-R
шрифтов. В &xfree86; 3.3 уже есть
некоторые KOI8-R шрифты, но эти масштабируются лучше.Проверьте раздел "Files" в файле
/etc/XF86Config. Следующие строки
должны быть добавлены перед всеми
записями 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" файла
XF86Config.Для &xfree86; 3.X:XkbLayout "ru"
XkbOptions "grp:caps_toggle"Для &xfree86; 4.X:Option "XkbLayout" "ru"
Option "XkbOptions" "grp:caps_toggle"Убедитесь, что XkbDisable отключен
(закомментирован) в этом разделе.Переключателем RUS/LAT служит CapsLock.
Прежняя функция CapsLock все еще доступна в комбинации
ShiftCapsLock
(только в режиме LAT).Если на вашей клавиатуре есть клавиши &windows;,
и некоторые не-алфавитные клавиши работают неправильно в режиме
RUS, добавьте следующую строку в файл
XF86Config.Для &xfree86; 3.X:XkbVariant "winkeys"Для &xfree86; 4.X:Option "XkbVariant" "winkeys"Ввод на русском языке может может не работать со старыми
версиями &xfree86;, прочтите
предупреждение выше с
более подробной информацией. Ввод на русском языке может
также не работать с нелокализованными приложениями.
Минимально локализованные приложения должны вызывать
функцию XtSetLanguageProc (NULL, NULL,
NULL); в начале программы. Обратитесь к KOI8-R for X Window
за дальнейшими инструкциями по локализации приложений
X11.Локализация на традиционном китайском для Тайванялокализациятрадиционный китайскийУ проекта FreeBSD-Taiwan есть I18N/L10N учебник для
FreeBSD по адресу
,
в котором используются многие порты на китайском.
Редактором учебника zh-L10N-tut является Clive Lin
Clive@CirX.org. Вы можете получить с помощью cvsup
с freebsd.sinica.edu.tw следующие
коллекции:КоллекцияОписаниеoutta-port tag=.Beta-quality коллекция портов на китайскомzh-L10N-tut tag=.Локализация учебника FreeBSD на BIG-5 традиционном
китайскомzh-doc tag=.Перевод документации FreeBSD на BIG-5 традиционный
китайскийChuan-Hsing Shen s874070@mail.yzu.edu.tw создал
Chinese
FreeBSD Collection (CFC) используя FreeBSD-Taiwan
zh-L10N-tut. Пакеты и скрипты доступны по адресу
.Локализация на немецкий язык (для всех ISO 8859-1
языков)локализациянемецкийSlaven Rezic eserte@cs.tu-berlin.de написал
учебник по использованию umlauts в FreeBSD. Учебник написан
на немецком и доступен по адресу
.Локализация на японский и корейский языкилокализацияяпонскийлокализациякорейскийЗа информацией по японской локализации, обратитесь к
,
а за информацией о корейской локализацией к
.Не-англоязычная документация FreeBSDОтдельные контрибьюторы FreeBSD перевели части документации
FreeBSD на другие языки. Эти переводы доступны на основном сайте или из каталога
+ url="&url.base;/ru/index.html">основном сайте или из каталога
/usr/share/doc.
diff --git a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
index ec1c6c0a1e..0e7b31649b 100644
--- a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
@@ -1,2330 +1,2330 @@
BillLloydОригинальную версию предоставил JimMockПереписал Электронная почтаКраткий обзорemailэлектронная почтаЭлектронная почта называемая также email, является
на сегодняшний день одним из самых популярных средств связи. Эта глава
описывает основы работы с почтовым сервером в &os;, а также введение
в процесс отправки и получения почты в &os;; однако, это не полноценный
справочник и фактически в главу не вошло много важной информации.
Более подробно эта тема рассмотрена во множестве прекрасных книг, список
которых приведен в .После прочтения этой главы вы узнаете:Какие программные компоненты задействованы в отправке и
получении электронной почты.Какие основные файлы настройки
sendmail имеются в FreeBSD.Разницу между удаленными и локальными почтовыми
ящиками.Как запретить спамерам использовать ваш почтовый
сервер для пересылки почты.Как установить и настроить альтернативный агент передачи почты
(Mail Transfer Agent, MTA), заменив им
sendmail.Как разрешить наиболее часто встречающиеся проблемы с почтовым
сервером.Как использовать SMTP с UUCP.Как настроить систему только для отправки почты.Как использовать почту с коммутируемым подключением к
сети.Как настроить SMTP аутентификацию для дополнительной
защиты.Как установить и настроить почтовый агент пользователя
(Mail User Agent, MUA), например
mutt, для отправки и получения
почты.Как загрузить почту с удаленного POP или
IMAP сервера.Как автоматически применять фильтры и правила к входящей
почте.Перед прочтением этой главы вам потребуется:Правильно настроить сетевое подключение
().Правильно настроить DNS для почтового сервера
().Знать как устанавливать дополнительное программное обеспечение
сторонних разработчиков ().Использование электронной почтыPOPIMAPDNSВ работе почтовой системы задействованы пять основных частей:
пользовательский почтовый клиент
(Mail User Agent, MUA),
почтовый сервис (даемон)
(Mail Transfer Agent, MTA), сервер DNS, удаленный или локальный почтовый ящик,
и конечно сам почтовый сервер.Пользовательский почтовый клиентОбычно, это программа типа mutt,
pine, elm,
mail, а также программы с графическим
интерфейсом, такие, как balsa или
xfmail, или интегрированные приложения
(например, какой-либо WWW браузер типа Netscape). Все эти программы
общаются с локальным почтовым
сервером, вызывая какой-либо даемон, или напрямую по протоколу
TCP.Почтовый даемонпочтовые даемоныsendmailпочтовые даемоныpostfixпочтовые даемоныqmailпочтовые даемоныexim&os; по умолчанию поставляется с
sendmail, но помимо того поддерживает
множество других даемонов почтового сервера, вот лишь некоторые
из них:exim;postfix;qmail.Почтовый даемон выполняет только две функции: он отвечает за прием
входящей почты и отправку исходящей. Он не
отвечает за выдачу
почты по протоколам POP или
IMAP, и не обеспечивает подключения к локальным
почтовым ящикам mbox или Maildir. Для этих целей
вам может потребоваться дополнительный
даемон.Старые версии sendmail содержат
некоторые серьезные ошибки безопасности, которые могут
привести к получению атакующим локального и/или удаленного
доступа к вашему компьютеру. Убедитесь, что вы работаете
с современной версией, свободной от таких ошибок.
Или установите альтернативный MTA
из коллекции портов &os;.Email и DNSСлужба имен доменов (Domain Name System, DNS) и соответствующий
ей даемон named играют важную роль в доставке
почты. Для доставки почты с вашего сайта другому, даемон почтового
сервера обратится к DNS для определения удаленного хоста, отвечающего
за доставку почты по назначению. Тот же процесс происходит при
доставке почты с удаленного хоста на ваш почтовый сервер.MX recordDNS отвечает за сопоставления имен хостов
IP адресам, как и за хранение информации, предназначенной для
доставки почты, известной как MX записи. Запись MX (Mail
eXchanger) определяет хост или хосты, которые будут получать почту
для определенного домена. Если для вашего имени хоста или домена
нет записи MX, почта будет доставлена непосредственно на ваш хост,
IP адрес которого определен в записи A.Вы можете просмотреть MX записи для любого домена с помощью
команды &man.host.1;, как показано в примере ниже:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgПолучение почтыemailполучениеПолучение почты для вашего домена выполняет почтовый сервер.
Он сохраняет отправленную в ваш домен почту в формате либо
mbox (это метод по умолчанию),
либо Maildir, в зависимости от настроек.
После сохранения почты ее можно либо прочитать локально, используя
такие приложения как &man.mail.1;, mutt,
или удаленно, по таким протоколам как POP или
IMAP. Это
означает, что для локального чтения почты вам не потребуется
устанавливать сервер POP или
IMAP.Доступ к удаленным почтовым ящикам по протоколам
POP и IMAPPOPIMAPДля удаленного доступа к почтовым ящикам вам потребуется
доступ к POP или IMAP
серверу.
Хотя удаленный доступ обеспечивают оба протокола
POP и IMAP, последний
предоставляет множество дополнительных возможностей, вот некоторые
из них:IMAP может как хранить сообщения на
- удаленном сервере, так и забирать их.
+ удаленном сервере, так и забирать их.IMAP поддерживает одновременные
обновления.IMAP может быть очень полезен для
низкоскоростных соединений, поскольку позволяет пользователям
получить структуру сообщений без их загрузки; он также может
использоваться для выполнения таких задач как поиск на сервере,
для минимизации объема передаваемых между клиентом и сервером
данных.Для установки POP или
IMAP сервера необходимо выполнить следующие
действия:Выберите IMAP или
POP сервер, который подходит вам наилучшим
образом. Следующие POP и
IMAP серверы хорошо известны и могут быть
приведены в качестве примера:qpopper;teapop;imap-uw;courier-imap;Установите POP или
IMAP даемон, выбранный из коллекции
портов.Если потребуется, настройте
/etc/inetd.conf
для запуска POP или
IMAP сервера.Необходимо отметить, что и POP и
IMAP серверы передают информацию, включая
имя пользователя и пароль, в незашифрованном виде. Это означает,
что если вы хотите защитить передачу информации по этим
протоколам, потребуется использовать тунеллирование сессий через
&man.ssh.1;. Тунеллирование соединений описано в
.Доступ к локальным почтовым ящикамДоступ к почтовым ящикам может быть осуществлен непосредственно
путем использования MUA на сервере, где
эти ящики расположены. Это можно сделать используя приложения
вроде mutt или
&man.mail.1;.Почтовый хостпочтовый хостПочтовый хост это сервер, который отвечает за отправку и получение
почты для вашего компьютера, и возможно, для всей вашей сети.ChristopherShumwayПредоставил Настройка sendmailsendmailВ FreeBSD по умолчанию программой передачи почты (Mail Transfer
Agent, MTA) является &man.sendmail.8;. Работа
sendmail заключается в приеме почты от
почтовых программ пользователей (Mail User Agents,
MUA) и отправке ее на соответствующий адрес,
в соответствии с имеющимися настройками.
sendmail может также принимать входящие
соединения по сети и доставлять почту в локальные почтовые ящики
или перенаправлять их другой программе.sendmail использует следующие файлы
настройки:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableИмя файлаНазначение/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Таблицы виртуальных пользователей и доменов/etc/mail/accessБаза данных доступа определяет список хостов или IP адресов,
имеющих доступ к локальному почтовому серверу, а также тип
предоставляемого доступа. Хосты могут быть перечислены как
, ,
или просто переданы процедуре обработки ошибок
sendmail с заданным сообщением об ошибке.
Хостам, перечисленным с параметром по умолчанию ,
разрешено отправлять почты на этот хост, если адрес назначения почты
принадлежит локальной машине. Все почтовые соединения от хостов,
перечисленных с параметром , отбрасываются.
Для хостов, перечисленных с параметром ,
разрешена передача через этот сервер почты с любым адресом
назначения.Настройка базы данных доступа
sendmailcyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't 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База данных синонимов содержит список виртуальных почтовых
ящиков, принадлежащих другим пользователям, файлам, программам, или
другим синонимам. Вот несколько примеров, которые могут быть
использованы для /etc/mail/aliases:Mail Aliasesroot: 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; на стандартный вход
/usr/local/bin/procmail.После обновления этого файла вам потребуется запустить
make в каталоге /etc/mail/
для обновления базы данных./etc/mail/local-host-namesВ этом файле находится список имен хостов, принимаемых
программой &man.sendmail.8; в качестве локальных. Поместите в
этот файл любые домены или хосты, для которых
sendmail должен принимать почту.
Например, если этот почтовый сервер должен принимать почту для
домена example.com и хоста
mail.example.com, его файл
local-host-names может выглядеть примерно
так:example.com
mail.example.comПосле обновления этого файла необходимо перезапустить
&man.sendmail.8;, чтобы он смог перечитать изменения./etc/mail/sendmail.cfОсновной файл настройки sendmail,
sendmail.cf управляет общим поведением
sendmail, включая все, от перезаписи
почтовых адресов до отправки удаленным серверам сообщений об
отказе от пересылки почты. Конечно, файл настройки с таким
многообразием возможностей очень сложен и подробное его описание
выходит за рамки данного раздела. К счастью, для стандартных
почтовых серверов изменять этот файл придется не часто.Основной файл настройки sendmail
может быть собран из макроса &man.m4.1;, определяющего возможности
и поведение sendmail. Подробнее
этот процесс описан в файле
/usr/src/contrib/sendmail/cf/README.Для применения изменений после правки файла необходимо
перезапустить sendmail./etc/mail/virtusertableФайл 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.AndrewBoothmanНаписал GregoryNeil ShapiroИнформация получена из писем, написанных Установка другой почтовой программыemailзамена mtaКак уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent)
sendmail. Следовательно, по умолчанию
именно эта программа отвечает за вашу исходящую и входящую
почту.Однако, по различным причинам некоторые системные администраторы
заменяют системный MTA. Эти причины варьируются от простого желания
попробовать другой MTA до потребности в определенных возможностях
пакета, основанного на другой почтовой программе. К счастью, вне
зависимости от причины, в FreeBSD такая замена выполняется
просто.Установка нового MTAВам предоставлен широкий выбор MTA. Начните с поиска в
коллекции портов FreeBSD,
где их немало. Конечно, вы можете использовать любой MTA
по желанию, взятый откуда угодно, если только сможете
запустить его под FreeBSD.Начните с установки нового MTA. После установки у вас будет
возможность решить, действительно ли он подходит вашем нуждам,
а также настроить новое программное обеспечение перед тем, как
заменить им sendmail. При установке
новой программы убедитесь, что она не пытается перезаписать
системные файлы, такие как /usr/bin/sendmail.
Иначе ваша новая почтовая программа фактически начнет работать
до того, как вы ее настроите.Обратитесь к документации на выбранный MTA
за информацией по его настройке.Отключение sendmailПроцедура, используемая для запуска
sendmail, значительно изменилась между
релизами 4.5-RELEASE и 4.6-RELEASE. Поэтому процедура, используемая
для его отключения, немного отличается.FreeBSD 4.5-STABLE до 2002/4/4 и раньше
(включая 4.5-RELEASE и более ранние)Добавьте:sendmail_enable="NO"в /etc/rc.conf. Это отключит
сервис входящей почты sendmail,
но если /etc/mail/mailer.conf (см. ниже)
не изменен, sendmail все еще
будет использоваться для отправки почты.FreeBSD 4.5-STABLE после 2002/4/4
(включая 4.6-RELEASE и более поздние)Для полного отключения
sendmail используйтеsendmail_enable="NONE"в /etc/rc.conf.Если вы отключите сервис исходящей почты
sendmail таким способом, необходимо
заменить его полностью работоспособной альтернативной системой
доставки почты. Если вы не сделаете этого, системные программы,
такие как &man.periodic.8;, не смогут отправлять сообщения
по электронной почте как обычно. Многие программы в вашей
системе могут требовать наличия функционирующей
sendmail-совместимой системы.
Если приложения будут продолжать использовать программу
sendmail, пытаясь отправить почту
после отключения почтовой системы, почта может попасть в
неактивную очередь sendmail и никогда
не будет доставлена.Если вы хотите отключить только сервис входящей почты
sendmail, установитеsendmail_enable="NO"в /etc/rc.conf. Дополнительная информация
о параметрах запуска sendmail
доступна на странице справочника &man.rc.sendmail.8;.Запуск нового MTA при загрузкеВы можете выбрать один из двух методов для запуска нового MTA
при загрузке, опять же в зависимости от используемой версии
FreeBSD.FreeBSD 4.5-STABLE до 2002/4/11
(включая 4.5-RELEASE и более ранние)Добавьте в каталог
/usr/local/etc/rc.d/, скрипт с расширением
.sh и с правами выполнения пользователем
root. Скрипт должен принимать параметры
start и stop.
Во время запуска системы он будет запущен командой/usr/local/etc/rc.d/supermailer.sh startкоторая также может использоваться для запуска сервера вручную
Во время завершения работы системы, системные скрипты используют
параметр stop, выполнив команду/usr/local/etc/rc.d/supermailer.sh stopкоторая также может использоваться для остановки почтового сервера
при работающей системе.FreeBSD 4.5-STABLE после 2002/4/11
(включая 4.6-RELEASE и более поздние)С более поздними версиями FreeBSD, вы можете использовать
метод, описанный выше, или добавить строкуmta_start_script="filename"в /etc/rc.conf, где
filename это имя скрипта, который вы
хотите выполнить при загрузке для запуска MTA.Замещение sendmail как
почтовой программы по умолчаниюПрограмма sendmail настолько
распространена в качестве стандартной программы для систем &unix;,
что многие программы считают, что она уже установлена и настроена.
По этой причине многие альтернативные MTA предоставляют собственные
совместимые реализации интерфейса командной строки
sendmail; это облегчает их использование
в качестве прозрачной замены
sendmail.Поэтому если вы используете альтернативную почтовую программу,
потребуется убедиться, что когда программное обеспечение
пытается выполнить стандартные исполняемые файлы
sendmail, такие как
/usr/bin/sendmail, на самом деле выполняются
программы вновь установленной почтовой системы. К счастью,
FreeBSD предоставляет систему, называемую &man.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 при загрузке.Поиск и устранение неисправностейemailустранение неисправностейПочему я должен использовать FQDN для хостов вне моей подсети?Вы, видимо, обнаружили, что хост, к которому вы обратились,
оказался на самом деле в другом домене; например, если вы
находитесь в домене foo.bar.edu и
хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное
доменное имя, mumble.bar.edu, а не
просто mumble.BINDТрадиционно, программа разрешения имен BSD BIND позволяла это
делать. Однако, текущая версия BIND,
поставляемая с FreeBSD, больше не добавляет имена доменов,
отличающихся от того, в котором вы находитесь, для не полностью
указанных имен хостов. То есть, имя mumble будет
опознан как mumble.foo.bar.edu или
будет искаться в корневом домене.Это отличается от предыдущего поведения, при котором поиск
продолжался в доменах mumble.bar.edu и mumble.edu. Если вам интересны причины
объявления такого поведения плохой практикой и даже ошибкой в
безопасности, обратитесь к RFC 1535.Хорошим решением будет поместить строку
search foo.bar.edu bar.edu
вместо ранее используемой:
domain foo.bar.edu
в файл /etc/resolv.conf. Однако
удостоверьтесь, что порядок поиска не нарушает границ
полномочий между локальным и внешним администрированием, в
терминологии RFC 1535.MX recordsendmail выдает ошибку
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, почта для домена domain.net перенаправляется на хост
relay.domain.net, однако последний не распознается как
domain.net. Добавьте domain.net в файл
/etc/mail/local-host-names
[известный как /etc/sendmail.cw до версии 8.10]
(если вы используете
FETURE(use_cw_file)) или добавьте Cw domain.net в файл
/etc/mail/sendmail.cf.FAQ по sendmail можно найти на
и рекомендуется
прочесть его при желании произвести некоторые
усовершенствования настроек почтовой системы.PPPКак организовать работу почтового сервера при коммутируемом соединении
с Интернет?Вы хотите подключить к интернет компьютер с FreeBSD, работающий
в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом
для локальной сети. PPP соединение не выделенное.UUCPMX recordСуществует как минимум два пути, чтобы сделать это. Один способ
это использование UUCP.Другой способ это использование постоянно работающего интернет
сервера для обеспечения вторичного MX сервиса вашего домена.
Например, домен вашей компании example.com, и провайдер интернет
настроил example.net
для обеспечения вторичного MX сервиса:
example.com. MX 10 example.com.
MX 20 example.net.Только один хост должен быть указан в качестве последнего
получателя (добавьте запись Cw example.com в файл
/etc/mail/sendmail.cf на машине
example.com).Когда программа sendmail (со стороны
отправителя) захочет доставить почту, она
попытается соединиться с вашим хостом (example.com) через модемное подключение.
Скорее всего, ей это не удастся (вы,
вероятнее всего, не будете подключены к интернет).
Программа sendmail
автоматически перейдет ко вторичному MX серверу, т.е. вашему провайдеру
(example.net).
Вторичный MX сервер будет периодически пытаться соединиться с
вашим хостом и доставить почту на основной сервер MX
(example.com).Вы можете воспользоваться следующим сценарием, чтобы забирать
почту каждый раз, когда вы входите в систему:#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispЕсли же вы хотите написать отдельный пользовательский скрипт,
лучше воспользоваться командой sendmail
-qRexample.com вместо вышеприведенного сценария, так как в
этом случае вся почта в очереди для хоста
example.com будет обработана
немедленно.Рассмотрим эту ситуацию подробнее:Вот пример сообщения из &a.isp.name;.> Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь
> с нашим сервером несколько раз в день, чтобы забрать почту для вашего
> первичного (главного) MX (мы не соединяемся с ним каждый раз, когда
> приходит новая почта для его доменов). Далее, sendmail отправляет
> почту, находящуюся в очереди каждые 30 минут, и клиент должен быть
> подключен к Интернет в течении 30 минут, чтобы удостовериться, что
> вся почта ушла на основной MX-сервер.
>
> Может быть, есть какая-либо команда, которая заставит sendmail
> немедленно отправить все почту, находящуюся в очереди? Естественно,
> пользователи не обладают какими-либо повышенными привилегиями на
> нашем сервере.
В секции privacy flags файла
sendmail.cf, определяется опция
Уберите restrictqrun, чтобы разрешить рядовым
пользователям инициировать работу с очередью. Вам также может понадобиться
изменить порядок MX-серверов. Так, если вы предоставляете первый (основной)
MX-сервер для ваши пользователей, мы указываем:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
Таким образом, удаленный хост будет доставлять почту непосредственно к вам,
не пытаясь установить соединение с клиентом. Затем уже вы, в свою очередь,
отсылаете ее клиенту. Удостоверьтесь, что в DNS есть записи про
customer.com и hostname.customer.com. Просто
добавьте запись A в DNS для customer.com.Почему я продолжаю получать ошибки Relaying
Denied при отправки почты через другие
хосты?В установке FreeBSD по умолчанию,
sendmail настроен для отправки
почты только от хоста, на котором он работает. Например,
если доступен POP сервер, пользователи
смогут проверять почту из школы, с работы или других
удаленных точек, но не смогут отправлять письма. Обычно,
через некоторое время после попытки будет отправлено письмо
от MAILER-DAEMON с сообщением
об ошибке 5.7 Relaying Denied.Есть несколько путей разрешения этой ситуации. Самый прямой
путь это использование адреса вашего провайдера в файле
relay-domains, расположенном в
/etc/mail/relay-domains. Быстрый способ
сделать это:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsПосле создания или редактирования этого файла вы должны
перезапустить sendmail. Это отлично
работает, если вы администратор сервера и не хотите отправлять
почту локально, или хотите воспользоваться почтовым
клиентом/системой на другом компьютере или даже через другого
провайдера. Это также очень полезно, если у вас настроены одна
или две почтовые записи. Если необходимо добавить несколько
адресов, вы можете просто открыть этот файл в текстовом редакторе и
добавить домены, по одному на строку:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgТеперь будет отправляться любая почта, посылаемая через вашу
систему любым хостом из этого списка (предоставляемого
пользователем, имеющим учетную запись в вашей системе).
Это отличный способ разрешить пользователям отправлять почту
через вашу систему удаленно, одновременно он блокирует отправку
спама.Расширенное руководствоВ следующем разделе рассматриваются более сложные темы, такие как
настройка почты и включение почтовой системы для всего домена.Базовая конфигурацияemailнастройкаИзначально, вы можете отправлять почту во внешний
мир если правильно составлен файл
/etc/resolv.conf или запущен свой сервер
имен. Если вы хотите, чтобы почта, предназначенная для хоста в
вашем домене, доставлялась MTA (например,
sendmail) на вашем хосте FreeBSD, есть два
пути:Запустите свой собственный сервер DNS, тем самым организовав
собственный домен, например, FreeBSD.orgПолучайте почту для вашего хоста непосредственно. Это
работает при доставке почты непосредственно на DNS имя вашей
машины. Например, example.FreeBSD.org.SMTPНезависимо от выбранного из предложенных выше вариантов, для
доставки почты непосредственно на ваш хост у него должен быть
постоянный IP адрес (а не динамический,
как у большинства PPP соединений). Если вы находитесь за
брандмауэром, то последний должен пропускать SMTP-пакеты. Если
вы хотите, чтобы почта приходила непосредственно на ваш
хост, необходимо убедиться в одном из двух:MX recordУбедитесь, что запись (с наименьшим номером) MX в
DNS соответствует IP адресу
вашего хоста.Убедитесь, что в DNS для вашего хоста вообще отсутствует
MX-запись.Выполнение любого из перечисленных условий обеспечит доставку
почты для вашего хоста.Попробуйте это:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXЕсли вы это видите, то можно без проблем посылать почту на
yourlogin@example.FreeBSD.org (предполагается,
что sendmail на example.FreeBSD.org работает правильно).Однако, если вы видите это:&prompt.root; 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) на почтовый сервер, чтобы
пользователи могли получать свою почту на с этого сервера.DNSЧтобы облегчить себе (и другим) жизнь, создайте на обеих машинах
учетные записи с одинаковыми именами пользователей, например, с помощью
команды &man.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 или более поздней).SMTP через UUCPНастройка поставляемого с FreeBSD sendmail
предназначена для сайтов, подключенных к интернет непосредственно.
Сайты, осуществляющие обмен почтой через UUCP, должны использовать
другой файл настройки sendmail.Редактирование /etc/mail/sendmail.cf вручную
это сложная задача. sendmail версии 8
генерирует файлы настройки через препроцессор &man.m4.1;, реально
настройка выполняется на более высоком уровне абстракции.
Файлы настройки &man.m4.1; можно найти в
/usr/src/usr.sbin/sendmail/cf.Если вы не установили в систему все исходные тексты, пакет настройки
sendmail можно найти в отдельном архиве
исходных текстов. Если CDROM с исходными текстами
FreeBSD смонтирован, выполните:&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmailЭта установка займет всего несколько сотен килобайт. Файл
README в каталоге cf
содержит введение в основы настройки &man.m4.1;.Лучшим способом настройки поддержки передачи по UUCP является
использование возможности mailertable.
При этом создается база данных, которая помогает
sendmail решать вопросы маршрутизации.Во-первых, создайте файл .mc. В каталоге
/usr/src/usr.sbin/sendmail/cf/cf находятся
несколько примеров. Возьмем для примера имя файла
foo.mc. Все, что потребуется для преобразования
его в sendmail.cf, это:&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfТипичный .mc файл может выглядеть примерно
так:VERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCPСтроки, содержащие
accept_unresolvable_domains,
nocanonify, и
confDONT_PROBE_INTERFACES, предотвратят использование
DNS для доставки почты. Пункт UUCP_RELAY
необходим для поддержки доставки по UUCP. Просто поместите сюда
имя хоста в интернет, способного работать с .UUCP адресами
псевдо-доменов; скорее всего, вы введете сюда основной сервер
пересылки почты провайдера.Как только вы сделаете это, потребуется файл
/etc/mail/mailertable. Если вы используете
для всей почты только одно внешнее соединение, подойдет следующий
файл:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayБолее сложный пример может выглядеть так:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:В первых трех строках обрабатываются специальные случаи, когда
почта для домена должна отправляться не на маршрут по умолчанию,
а на ближайшее соединение UUCP для сокращения пути доставки.
Следующая строка обрабатывает почту, которая может быть доставлена
по SMTP для локального Ethernet домена. Наконец, определены
маршруты UUCP в нотации псевдо-доменов .UUCP, для включения
перезаписи правил по умолчанию правилом
uucp-neighbor
!recipient.
Последняя строка всегда содержит одиночную точку, означающую
все остальное, с отправкой через UUCP, являющимся
универсальным почтовым шлюзом. Все имена узлов после ключевого слова
uucp-dom: должны представлять существующие маршруты
UUCP, проверить их можно с помощью команды
uuname.Напоминаем, что этот файл должен быть преобразован в базу данных
DBM перед использованием. Командную строку для этой задачи лучше всего
поместить в качестве комментария в верхней части файла
mailertable. Всегда выполняйте эту команду после
правки файла mailertable.И наконец: если вы не уверены, что некоторые отдельные почтовые
маршруты будут работать, запомните параметр
sendmail . С этим
параметром sendmail запускается в
режиме тестирования адреса; просто введите
3,0 и адрес, который вы хотите протестировать.
В последней строке появится сообщение об используемом внутреннем
почтовом агенте, хосте назначения, с которым вызывается этот агент,
и (возможно транслированный) адрес. Выход из этого режима
происходит при нажатии CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranПредоставил Настройка почты только для отправкиСуществует множество случаев, когда может потребоваться только
отправка почты через почтовый сервер. Вот отдельные примеры:У вас настольный компьютер, но вы хотите использовать такие
программы как &man.send-pr.1;. Для пересылки почты вам потребуется
использовать почтовый сервер провайдера.Ваш компьютер является сервером, где почта не хранится локально,
необходима только переправка всей почты через внешний почтовый
сервер.Практически любой MTA способен работать и в
этих условиях. К сожалению, может быть очень сложно правильно настроить
полноценный MTA для работы только с исходящей
почтой. Такие программы, как sendmail
и postfix слишком избыточны для этих
целей.К тому же, если вы используете обычные средства доступа в
интернет, условий для запуска почтового сервера может
быть недостаточно.Простейшим способом удовлетворить имеющиеся потребности может быть
установка порта mail/ssmtp.
Выполните под root следующие команды:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; 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 выключен путем
добавления строки sendmail_enable="NONE"
в /etc/rc.conf.У пакета 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.JamesGorhamНаписал SMTP аутентификацияНаличие SMTP аутентификации на почтовом сервере
дает множество преимуществ. SMTP аутентификация
может добавить дополнительный уровень безопасности к
sendmail, и позволяет мобильным пользователям,
подключающимся к разным хостам, возможность использовать тот же
почтовый сервер без необходимости перенастройки почтового клиента
при каждом подключении.Установите security/cyrus-sasl
из портов. Вы можете найти этот порт в
security/cyrus-sasl.
В пакете security/cyrus-sasl
есть множество параметров компиляции, и для используемого здесь
метода убедитесь, что выбран параметр
.После установки
security/cyrus-sasl,
отредактируйте /usr/local/lib/sasl/Sendmail.conf
(или создайте его если он не существует) и добавьте следующую
строку:pwcheck_method: passwdЭтот метод включит аутентификацию
sendmail через базу данных
passwd FreeBSD. Это позволяет избежать
проблем, связанных с созданием нового набора имен пользователей
и паролей для каждого пользователя, которому необходима
SMTP аутентификация, пароль для входа в систему
и для отправки почты будет одним и тем же.Теперь отредактируйте /etc/make.conf и
добавьте следующие строки:SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsaslЭти параметры необходимы sendmail
для подключения cyrus-sasl
во время компиляции. Убедитесь, что cyrus-sasl был установлен до
перекомпиляции sendmail.Перекомпилируйте sendmail, выполнив
следующие команды:&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installКомпиляция sendmail должна пройти
без проблем, если /usr/src не был сильно
изменен и доступны необходимые разделяемые библиотеки.После компилирования и переустановки
sendmail, отредактируйте файл
/etc/mail/freebsd.mc (или тот файл, который
используется в качестве .mc; многие
администраторы используют в качестве имени этого файла
вывод &man.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
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnlЭти параметры настраивают различные методы, доступные
sendmail для аутентификации пользователей.
Если вы хотите использовать вместо
pwcheck другой метод, обратитесь к
прилагаемой документации.Наконец, запустите &man.make.1; в каталоге
/etc/mail. Из файла
.mc будет создан файл
.cf, называющийся
freebsd.cf (или с тем именем, которое было
использовано для файла .mc). Затем
используйте команду make install restart,
которая скопирует файл в sendmail.cf,
и правильно перезапустит sendmail.
Дополнительная информация об этом процессе находится в
/etc/mail/Makefile.Если все шаги пройдены успешно, введите информацию для
аутентификации в настройки почтового клиента и отправьте тестовое
сообщение. Для определения причин возможных ошибок установите
параметр sendmail
в 13 и просмотрите
/var/log/maillog.Для включения сервиса после каждой загрузки системы вам может
потребоваться добавление в /etc/rc.conf
следующих строк:sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"Эти строки инициализируют SMTP_AUTH при загрузке
системы.За дальнейшей информацией обратитесь к странице
sendmail, посвященной
SMTP аутентификации.MarcSilverПредоставил Почтовые программы пользователейпочтовые программы пользователейПочтовая программа пользователя (Mail User Agent,
MUA) это приложение, используемое для отправки
и получения почты. Кроме того, поскольку почта
эволюционирует и становится более сложной,
MUA совершенствуют свои функции по обработке
почты, становятся более удобны в использовании. &os; поддерживает
множество различных пользовательских почтовых программ, каждая
из которых может быть легко установлена из коллекции портов FreeBSD. Пользователи могут
выбирать между графическими почтовыми клиентами, такими как
evolution или
balsa, консольными клиентами, такими
как mutt, pine
или mail, или веб интерфейсами, используемыми в
некоторых больших организациях.mailВ &os; в качестве MUA по умолчанию используется
&man.mail.1;. Это консольный MUA, предоставляющий
все основные функции, необходимые для отправки и получения текстовых
сообщений, хотя его возможности по работе с вложениями ограничены и
он может работать только с локальными почтовыми ящиками.Хотя mail не поддерживает работу с серверами
POP или IMAP, эти почтовые
ящики могут быть загружены в локальный файл mbox
с помощью fetchmail, который будет
обсуждаться далее в этой главе ().Для отправки и получения почты просто выполните команду
mail, как в этом примере:&prompt.user; 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: test
Thank 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 необходимо также
обратиться к странице справочника &man.mail.1;.Как упоминалось выше, команда &man.mail.1; не была первоначально
предназначена для работы с вложениями, и поэтому их поддержка
довольно слабая. Современные MUA,
такие как mutt, работают с вложениями
гораздо более уверенно. Но если вы все же предпочитаете
использовать mail,
установите порт converters/mpack.muttmutt это небольшая но очень
мощная почтовая программа с отличными возможностями, в числе
которых:Возможность сортировки сообщений по дискуссиям;Поддержка PGP для подписи и шифрования сообщений;Поддержка MIME;Поддержка Maildir;Широкие возможности настройки.Все эти возможности делают
mutt одним из самых лучших почтовых
клиентов. Обратитесь к за
дополнительной информацией по mutt.Стабильная версия mutt может быть
установлена из порта mail/mutt.
После установки порта, mutt может
быть запущен следующей командой:&prompt.user; muttmutt автоматически прочтет содержимое
пользовательского почтового ящика в каталоге /var/mail и отобразит почту,
если она имеется в наличии. Если почты в ящике пользователя нет,
mutt будет ожидать команд от пользователя.
В примере ниже показан mutt со
списком сообщений:Для чтения почты просто выберите сообщение с помощью клавиш
навигации и нажмите Enter. Пример
mutt, отображающего сообщение, показан
ниже:Как и команда &man.mail.1;, mutt
позволяет пользователям отвечать как только отправителю, так и всем
получателям. Для ответа только отправителю почты, используйте
клавишу r. Для группового ответа и отправителю
сообщения и всем получателям используйте клавишу
g.mutt использует &man.vi.1; в качестве
редактора для создания писем и ответа на них. Редактор можно
заменить путем создания или редактирования собственного
.muttrc в своем домашнем каталоге и установки
переменной .Для создания нового почтового сообщения нажмите
m. После введения темы
mutt запустит &man.vi.1; для создания
письма. Как только письмо будет завершено, сохраните его и закройте
vi, mutt продолжит
работу, отобразив окно с сообщением, которое должно быть отправлено.
Для отправки сообщения нажмите y. Пример окна с
сообщением показан ниже:mutt также содержит исчерпывающий
справочник, к которому можно обратиться из большинства меню,
нажав клавишу ?. Верхняя строка также показывает
клавиатурные сокращения, которые могут быть использованы.pinepine предназначен для начинающих
пользователей, но включает некоторые дополнительные
возможности.В программе pine ранее были обнаружены некоторые уязвимости,
позволяющие удаленному взломщику выполнять произвольный код
с правами пользователя локальной системы путем отправки
специально подготовленного письма. Все эти
известные проблемы были исправлены,
но код pine написан в очень небезопасном стиле и офицеры
безопасности &os; считают, что возможно наличие других
не обнаруженных уязвимостей. Имейте это ввиду при установке
pine.Текущая версия pine может быть
установлена из порта mail/pine4.
Как только порт установлен, pine можно
запустить командой:&prompt.user; pineПри первом запуске pine отображает
страницу приветствия с кратким введением, а также просьбу
команды разработчиков pine
отправить анонимное почтовое сообщение, позволяющее им
определить количество пользователей, работающих с их почтовым
клиентом. Для отправки анонимного сообщения нажмите
Enter, или E для выхода
из из приветствия без отправки анонимного сообщения. Пример
приветствия показан ниже:Затем отображается главное меню, перемещение по которому
осуществляется с помощью клавиш навигации. В главном меню
находятся ссылки для составления новых писем, просмотра почтовых
каталогов, и даже управления адресной книгой. Ниже главного меню
показаны клавиатурные сокращения, выполняющие
соответствующие задачи.По умолчанию pine открывает каталог
inbox. Для просмотра списка
сообщений нажмите I, или выберите
MESSAGE INDEX, как показано ниже:В списке показаны сообщения в текущем каталоге, они могут быть
просмотрены с помощью клавиш навигации. Подсвеченные сообщения
можно прочесть нажав Enter.На снимке экрана ниже показан пример письма, отображаемого
pine. Внизу экрана даны клавиатурные
сокращения. Например, r используется для
указания MUA ответить на отображаемое в
данный момент сообщение.Ответ на письмо в pine осуществляется
с помощью редактора pico, который
устанавливается по умолчанию вместе с pine.
pico упрощает навигацию в сообщении
гораздо проще для новых пользователей, чем &man.vi.1; или
&man.mail.1;. Как только ответ будет готов, сообщение можно отправить
нажав CtrlX.
pine запросит подтверждение.Программа pine может быть настроена
через пункт SETUP главного меню.
Обратитесь к странице
за дальнейшей информацией.MarcSilverПредоставил Использование fetchmailиспользование fetchmailfetchmail это полноценный
IMAP и POP клиент,
позволяющий пользователям автоматически загружать почту с
удаленных серверов IMAP и POP
в локальные почтовые ящики; так доступ к почтовым ящикам упрощается.
fetchmail может быть установлен из
порта mail/fetchmail и
предоставляет различные возможности, в том числе:Поддержка протоколов POP3,
APOP, KPOP,
IMAP, ETRN и
ODMR.Возможность пересылки почты через SMTP,
что позволяет использовать функции фильтрации, перенаправления и
синонимов.Может быт запущен в режиме даемона для периодической проверки
поступающих сообщений.Может забирать почту с нескольких почтовых ящиков и рассылать
ее различным локальным пользователям в зависимости от
настроек.Описание всех возможностей
fetchmail выходит за пределы этой главы,
за дополнительной информацией обратитесь к документации по
fetchmail. Утилита
fetchmail требует наличия
файла настройки .fetchmailrc. Этот файл
включает информацию о сервере, а также информацию для аутентификации.
Поскольку этот файл содержит важную информацию, правильно будет
сделать его доступным для чтения только владельцем с помощью
следующей команды:&prompt.user; 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 может работать
в режиме даемона с флагом , заданным с
интервалом (в секундах), через который
fetchmail должен опрашивать
серверы, перечисленные в .fetchmailrc.
В следующем примере fetchmail будет
забирать почту каждые 60 секунд:&prompt.user; fetchmail -d 60Дополнительную информацию о fetchmail
можно найти на сайте .MarcSilverПредоставил Использование procmailиспользование procmailУтилита procmail это невероятно
мощное приложение, используемое для фильтрации входящей почты.
Она позволяет пользователям определять правила,
которые могут быть сопоставлены входящим письмам для выполнения
определенных действий или для перенаправления почты в
альтернативные почтовые ящики и/или на почтовые адреса.
procmail может быть установлен
с помощью порта mail/procmail.
После установки он может быть непосредственно интегрирован в
большинство MTA; сверьтесь с документацией
на ваш MTA. Другой способ интеграции
procmail – добавление в
файл .forward, находящийся в домашнем
каталоге пользователя, следующей строки:"|exec /usr/local/bin/procmail || exit 75"В этом разделе будут показаны основы настройки правил
procmail, а также краткое описание их
действия. Эти и другие правила должны быть помещены в файл
.procmailrc, который должен находиться в домашнем
- каталоге пользователя.
+ каталоге пользователя.Большую часть этих правил также можно найти на странице справочника
&man.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Полезный пример, обрабатывающий входящую почту со списков
рассылки &os;.org и
помещающий каждый список в отдельный почтовый ящик.:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml b/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml
index 218a0ccf06..746bf336c6 100644
--- a/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml
@@ -1,1658 +1,1694 @@
MosesMooreПредоставил МультимедиаКраткий обзорFreeBSD поддерживает большое количество различных звуковых
карт, что позволяет вам насладится высококачественным звуком. Также это
дает вам возможность записывать и воспроизводить звуковые файлы в формате
MPEG Audio Layer 3 (MP3), WAV, Ogg Vorbis, а также во множестве других
форматов. Коллекция Портов FreeBSD также содержит ряд приложений,
позволяющих редактировать записанные звуковые файлы, добавлять звуковые
эффекты, управлять подключенными MIDI устройствами.Также FreeBSD может поддерживать воспроизведение видеофайлов и DVD.
Количество приложений, позволяющих кодировать, преобразовывать и
воспроизводить различные форматы видео, существенно меньше
количества приложений для работы со звуком. Например, на время написания
этого документа в Коллекции Портов FreeBSD не существовало хорошего
приложения для преобразования видео, которое могло бы быть использовано
для преобразований между разными форматами, как, например, audio/sox. Впрочем, ситуация в этой области
меняется быстро.Эта глава описывает необходимые шаги для настройки вашей звуковой
карты. Настройка и установка &xfree86; () уже охватывает вопросы, связанные с аппаратными
установками вашей видеокарты, хотя могут быть возможности
дополнительной настройки для улучшения воспроизведения.После прочтения этой главы вы будете знать:Как настроить систему так, чтобы звуковая карта была
опознана.Методы проверки работы звуковой карты при помощи тестовых
приложений.Как исправить проблемы, возникающие при работе со звуковыми
картами.Как прослушать и создать MP3 и другие форматы.Как &xfree86; поддерживает видео.Некоторые проигрыватели и кодировщики видео, которые показывают
хорошие результаты.Как воспроизвести DVD, .mpg и
.avi файлы.Как скопировать информацию с CD и DVD в файлы.Как настроить ТВ тюнер.Прежде, чем начать читать эту главу вы должны:Знать как конфигурировать и устанавливать новое ядро
().Для разделов о видео подразумевается, что &xfree86;
4.X (x11/XFree86-4) был
установлен. &xfree86; 3.X может работать, но
данная версия не была протестирована с тем, что описывается в этой главе.
Если вы найдете, что что-нибудь, описанное здесь, работает с
&xfree86; 3.X, пожалуйста, дайте нам
знать.Попытка смонтировать аудио CD при помощи команды
&man.mount.8; как минимум, сообщит об ошибке и, как максимум, может
привести к панике ядра. Эти носители имеют
специальные форматы, которые отличны от обычной файловой системы
ISO.MosesMooreПредоставил Настройка звуковой картыОпределение вашего устройстваPCIISAзвуковые картыПеред тем как начать, определите модель вашей карты,
процессор, который она использует, и интерфейс карты: PCI или ISA.
FreeBSD поддерживает множество разных PCI и ISA карт. Если вы не увидели
вашу карту в следующем списке, загляните в руководство &man.pcm.4;.
Нижеследующий список неполон, но, всё-таки, в нём перечислено большинство
наиболее часто используемых карт.Crystal 4237, 4236, 4232, 4231Yamaha OPL-SAxOPTi931Ensoniq AudioPCI 1370/1371ESS Solo-1/1ENeoMagic 256AV/ZX&soundblaster; Pro, 16, 32, AWE64, AWE128, LiveCreative ViBRA16Advanced Asound 100, 110, и Logic ALS120ES 1868, 1869, 1879, 1888Gravis UltraSoundAureal Vortex 1 или 2ядроконфигурацияДля того, чтобы использовать звуковую карту, вы должный загрузить
соответствующий драйвер устройства. Этого можно достигнуть двумя путями.
Простейший способ – это просто загрузить соответствующий вашей карте
модуль ядра используя &man.kldload.8;, что можно сделать или из командной
строки:&prompt.root; kldload snd_emu10k1.koили добавлением соответствующей строки к файлу
/boot/loader.conf:snd_emu10k1_load="YES"Эти примеры приведены для звуковой карты Creative
&soundblaster; Live!. Другие имеющиеся модули драйверов
звуковых карты приведены в
- /boot/defaults/loader.conf.
+ /boot/defaults/loader.conf
+ Если вы не уверены, какой драйвер использовать, попробуйте загрузить
+ snd_driver, который является метадрайвером,
+ загружающим сразу все наиболее распространенные драйверы, это повышает
+ скорость поиска правильного драйвера.
Другой способ подразумевает
добавление статического драйвера в ваше ядро. В последующих разделах дана
более подробная информация о том, что вам нужно сделать для добавления
поддержки оборудования. Более подробно о конфигурация ядра описана в
.Карты Creative, Advance, и ESS SoundЕсли у вас одна из этих карт, вы должны
добавить:device pcmв конфигурационный файл вашего ядра. Если у вас PnP ISA карта,
добавьте такжеdevice sbcДля не-PnP ISA карт, добавьте:device pcm
device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15в конфигурационный файл вашего ядра. Здесь указаны настройки
по-умолчанию. Возможно вам придётся изменить IRQ или другие параметры в
соответствии с настройками карты. Смотрите руководство
&man.sbc.4; для получения более подробной информации.Sound Blaster Live не поддерживается в FreeBSD 4.0
без исправления, которую этот документ не включает. Рекомендуется
обновить систему до последней версии -STABLE перед
использованием этой карты.Карты Gravis UltraSoundДля карты PnP ISA, вы должны добавить:device pcm
device guscв конфигурационный файл ядра. Если у вас не-PnP ISA карта,
следует добавить:device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13в конфигурационный файл вашего ядра. Возможно вам придётся
изменить IRQ или другие параметры в соответствии с настройками
карты. Обратитесь к странице справочника &man.gusc.4; для получения
более подробной информации.Карты Crystal SoundДля карт от Crystal, вы должны добавить:device pcm
device csaв конфигурационный файл вашего ядра.Прочая поддержкаДля PnP ISA или PCI карт, вам следует добавить:device pcmв конфигурационный файл вашего ядра. Если у вас не-PnP ISA
карта, не имеющая bridge driver, добавьте:device pcm0 at isa? irq 10 drq 1 flags 0x0в конфигурационный файл вашего ядра. Возможно вам придётся изменить
IRQ, и прочие параметры, в соответствии с аппаратной
конфигурацией.Поддержка интегрированных картНекоторые системы с интегрированными в материнские платы звуковыми
картами требуют включения дополнительной опции в конфигурацию
ядра:options PNPBIOSЕсли вы работаете с &os; 5.0 или более современной, параметр
PNPBIOS не нужен. Теперь соответствующий
код всегда включен, и параметр был удален из файла настройки.Создание и тестирование устройствафайлы устройствПосле перезагрузки, зарегистрируйтесь в системе и проверьте наличие
устройства в файле /var/run/dmesg.boot при помощи
команды:&prompt.root; grep pcm /var/run/dmesg.boot
pcm0: <SB16 DSP 4.11> on sbc0Результат на вашей системе может отличатся. Если упоминания
об устройстве pcm отсутствует, то что-то перед
этим было сделано неверно. Если это произошло, просмотрите файл
конфигурации ядра еще раз и убедитесь, что вы выбрали правильное
устройство. Наиболее часто встречающиеся проблемы описаны в .Если у вас установлена FreeBSD 5.0 или более поздняя, вы
можете не читать всё, что описано далее в этом разделе. Эти версии
FreeBSD используют &man.devfs.5; для того, чтобы автоматически создавать
файлы устройств.Если ошибок нет и в вашей системе присутствует устройство
pcm0, выполните su для
получения прав пользователя root и сделайте
следующее:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Если ошибок нет и в вашей системе присутствует устройство
pcm1, то повторите указанные выше действия,
заменив snd0 на
snd1.Пожалуйста, помните, что эти команды
не создают устройство
/dev/snd!MAKEDEV создает
группу устройств, включающую в себя:УстройствоОписание/dev/audio&sparc;-совместимое звуковое устройство/dev/dspАналого-цифровой преобразователь голоса/dev/dspWТоже, что и /dev/dsp,
но 16 бит на сэмпл/dev/midiУстройство доступа к MIDI/dev/mixerУстройство управления миксером/dev/musicИнтерфейс секвенсора второго уровня/dev/sequencerУстройство секвенсора/dev/pssПрограммируемый интерфейс устройстваЕсли всё пройдет удачно, звуковая карта заработает. Если
CD-ROM или DVD-ROM привод правильно подключён к звуковой карте, вы можете
вставить CD в привод и воспроизвести его при помощи
&man.cdcontrol.1;.&prompt.user; cdcontrol -f /dev/acd0c play 1Различные приложения, например audio/workman предлагают лучший
пользовательский интерфейс. Вы можете также захотеть установить
приложения для прослушивания звуковых файлов MP3, как например
audio/mpg123.Часто встречающиеся проблемыфайлы устройствпорт ввода-выводаIRQDSPОшибкаРешениеunsupported subdevice XXОдно или более устройств не были правильно
созданы. Повторите приведенные выше шаги.sb_dspwr(XX) timed outПорт ввода-вывода указан неправильно.bad irq XXIRQ установлен неправильно. Убедитесь, что
настройки в системе и на карте одинаковы.xxx: gus pcm not attached, out of
memoryДля использования устройства недостаточно
памяти.xxx: can't open /dev/dsp!Проверьте с помощью fstat | grep
dsp, не занято ли устройство другим приложением.
Создать проблемы могут esound и
поддержка звука в KDE.MunishChopraПредоставил Использование нескольких источников звукаДостаточно часто встречается необходимость иметь несколько источников
звука, которые должны воспроизводить одновременно, например когда
esound или artsd не
поддерживают совместное использование звукового устройства с некоторым
приложением.FreeBSD позволяет делать это при помощи виртуальных
звуковых каналов, которые могут быть настроены с помощью
&man.sysctl.8;. Виртуальные каналы позволяют вам мультиплексировать
каналы воспроизведения звуковой карты, смешивая звук в ядре.Для установки количества виртуальных каналов вы можете использовать
две переменные sysctl, которые, если вы пользователь root,
могут быть установлены таким образом:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4В этом примере выделяются четыре виртуальных канала, чего вполне
достаточно для повседневного использования.
hw.snd.pcm0.vchans это количество виртуальных каналов
устройства pcm0, оно может быть установлено сразу
же, как только устройство было подключено.
hw.snd.maxautovchans это количество виртуальных
каналов, которые выделяются новому аудиоустройству, когда оно
подключается при помощи &man.kldload.8;. Так как модуль
pcm может быть загружен независимо от аппаратных
драйверов, hw.snd.maxautovchans может указывать
количество виртуальных каналов для любых устройств, которые будут подключены
позже.Если вы не используете &man.devfs.5;, необходимо будет указать
приложениям
/dev/dsp0.x, где
x это число от 0 до 3, если
hw.snd.pcm0.vchans установлено в значение 4. Для
системы, использующей &man.devfs.5;, вышеуказанные настройки будут
сделаны автоматически прозрачно для пользователя.
+
+
+
+
+
+ Josef
+ El-Rayes
+ Предоставил
+
+
+
+
+ Установка значений по умолчанию для каналов mixer
+
+ Значения по умолчанию для различных каналов mixer жестко
+ прописаны в исходных текстах драйвера &man.pcm.4;. Существует
+ множество различных приложений и даемонов, которые позволяют
+ устанавливать значения для mixer, которые они запоминают
+ и выставляют каждый раз при запуске, но это не совсем
+ правильное решение, нам нужны значения по умолчанию на уровне
+ драйвера. Они могут быть установлены путем указания
+ в /boot/device.hints. Например:
+
+hint.pcm.0.vol="100"
+
+ Установит значение для канала volume в значение по умолчанию
+ 100, как только будет загружен модуль &man.pcm.4;.
+
+ Только &os; 5.3 и более свежие релизы поддерживают
+ эту возможность.
+
+
ChernLeeПредоставил Звук MP3MP3 (MPEG Layer 3 Audio) достигает качества звука, близкого к CD, и
нет причин не воспользоваться им на вашей рабочей
станции.Проигрыватели MP3На данный момент наиболее популярным MP3-проигрывателем для
&xfree86; является
XMMS (X Multimedia System). Скины приложения
WinAMP могут быть использованы для
XMMS так как графический интерфейс
пользователя практически идентичен интерфейсу программы
WinAMP от Nullsoft.
XMMS поддерживает также собственные
расширения.XMMS может быть установлен из порта или
пакета multimedia/xmms.Интерфейс XMMS интуитивно понятен и
включает в себя список песен, графический эквалайзер и многое другое.
Те, кто знаком с WinAMP найдут
XMMS очень простым в использовании.Порт audio/mpg123 является
альтернативой, это MP3-проигрыватель для командной строки.mpg123 может быть запущен с указанием
звукового устройства и файла MP3 в командной строке как показано
ниже:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
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 должно быть заменено соответствующим
устройством dsp для вашей системы.Копирование аудиодорожек с CDПеред тем как преобразовывать CD или дорожку CD в MP3, аудиоданные
на CD должны быть скопированы на жёсткий диск. Это можно сделать путём
копирования данных CDDA (CD Digital Audio) в файл WAV.Утилита cdda2wav, которая является частью пакета
sysutils/cdrtools, может быть
использована для копирования аудиоинформации с CD, а также различной
связанной информации.Когда музыкальный CD находится в приводе, следующая команда может
быть выполнена под root для того,
чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV
файлы:&prompt.root; cdda2wav -D 0,1,0 -Bcdda2wav поддерживает ATAPI (IDE)
приводы CDROM. Для копирования с IDE привода, укажите имя устройства
вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую
аудиодорожку с IDE-привода:&prompt.root; cdda2wav -D /dev/acd0a -t 7Параметр
указывает устройство SCSI 0,1,0,
соответственно результату работы cdrecord
-scanbus.Для того, чтобы копировать отдельные дорожки, используйте параметр
как показано ниже:&prompt.root; cdda2wav -D 0,1,0 -t 7Этот пример показывает как скопировать 7-ю дорожку музыкального CD.
Для того чтобы скопировать набор дорожек, например, с первой по
седьмую, укажите диапазон:&prompt.root; cdda2wav -D 0,1,0 -t 1+7Утилита &man.dd.1; также может быть использована для копирования
аудиодорожек на приводах ATAPI, для того, чтобы узнать больше об этом,
прочитайте .Создание (encoding) файлов MP3На сегодняшний день наилучшим выбором программы для создания mp3
является lame.
Lame находится в дереве портов в подкаталоге
audio/lame.Используя скопированные файлы WAV следующая команда преобразует
audio01.wav в
audio01.mp3:&prompt.root; 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, но качество будет выше.
Параметр включает режим лучшее качество, но
меньше скорость. Параметры, начинающиеся с
указывают теги ID3, которые обычно содержат информацию о песне,
включаемую в файл MP3. О дополнительных настройках преобразования можно
узнать, прочитав страницу руководства lame.Декодирование MP3Для того, чтобы записать музыкальный 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.pcmXMMS записывает файл в формате WAV, в то
время как mpg123 преобразовывает MP3 в
простые аудиоданные PCM. Оба формата могут быть использованы
cdrecord для создания музыкальных
CD.
Для использования &man.burncd.8; вам потребуются простые аудиоданные
PCM. Если же вы будете использовать файлы в формате WAV, то заметите
небольшой щелчок в начале каждой аудиодорожки, этот щелчок - заголовок
файла в формате WAV. Вы очень просто можете избавиться от него путём
удаления заголовка WAV при помощи утилиты
SoX (она может быть установлена из порта
audio/sox или соответствующего
пакета:&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawПрочтите для того, чтобы узнать
больше о записи CD в FreeBSD.RossLippertПредоставил Воспроизведение видеоВоспроизведение видео является очень новой и быстро развивающейся
областью применения. Будьте терпеливы. Не всё будет работать так
беспроблемно, как это было со звуком.Прежде, чем вы начнёте, определите модель видеокарты и
чипсет, который она использует. Хотя &xfree86;
поддерживает множество различных видеокарт, только их малая часть
показывает хорошую скорость воспроизведения видео. Для того, чтобы
получить список расширений, поддерживаемых X-сервером, который
используется вашей видеокартой, используйте команду &man.xdpyinfo.1; во
время работы X11.Неплохо также иметь небольшой файл MPEG, который бы использовался
как тестовый файл для проверки различных проигрывателей и настроек. Так
как некоторые проигрыватели DVD будут искать носитель DVD как
/dev/dvd по умолчанию или быть жёстко настроены
на него, возможно будет полезно сделать символические ссылки на
правильные устройства:&prompt.root; ln -sf /dev/acd0c /dev/dvd
&prompt.root; ln -sf /dev/racd0c /dev/rdvdДля FreeBSD 5.X, которая использует &man.devfs.5; рекомендуется
немного другой набор ссылок:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdОбратите внимание, природа &man.devfs.5; такова, что такие созданные
вручную ссылки не сохраняются при перезагрузке системы. Для
автоматического создания символических ссылок при каждой загрузке
системы добавьте в /etc/devfs.conf
следующие строки:link acd0 dvd
link acd0 rdvdКроме того, раскодирование DVD требует доступа к специальным
функциям DVD-ROM, поэтому должен быть доступ на запись для устройств
DVD.параметры ядраoptions CPU_ENABLE_SSEпараметры ядраoptions USER_LDTНекоторые из обсуждаемых портов полагаются на наличие некоторых
параметров ядра для правильной сборки. Перед тем, как собирать порты,
добавьте эти параметры в файл конфигурации ядра, пересоберите ядро и
перезагрузите систему:option CPU_ENABLE_SSE
option USER_LDToption USER_LDT в &os; 5.X
не существует.Для того, чтобы улучшить работу разделяемой памяти X11,
рекомендуется увеличить значения некоторых переменных
&man.sysctl.8;:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Определение возможностей видеоXVideoSDLDGAСуществует несколько возможных путей отображения видео под X11. Что
именно будет действительно работать, во многом зависит от аппаратного
обеспечения. Каждый из описанных методов будет работать с различным
качеством
на разном аппаратном обеспечении. Во-вторых, воспроизведение видео в
X11, это тема, которой уделяется достаточно много внимания последнее
время, и с каждой новой версией &xfree86; могут
наблюдаться значительные улучшения.Список наиболее часто используемых видеоинтерфейсов:X11: обычный вывод X11 с использованием разделяемой памяти.XVideo: расширение интерфейса X11, которое поддерживает видео в
любом объекте X11.SDL: the Simple Directmedia Layer.DGA: the Direct Graphics Access — Прямой Доступ для
Графики.SVGAlib: низкоуровневый доступ к графике на консоли.XVideo&xfree86; 4.X включает в себя
расширение, называющееся XVideo (также известное
как Xvideo, Xv и xv), которое позволяет отображать видео прямо на
объектах при помощи специального ускорения. Это расширение
предоставляет очень хорошее качество воспроизведения даже на low-end
машинах (например на моём ноутбуке с процессором PIII 400МГц). К
сожалению, список видеокарт, которые поддерживают эту возможность
прямо из коробки на данный момент включает в себя
только:3DFX Voodoo 3&intel; i810 и i815некоторые видеокарты на чипсете S3 (такие как Savage/IX и
Savage/MX)Если вашей видеокарты нет в этом списке, ещё не следует
расстраиваться. В &xfree86; 4.X появляются
всё новые и новые возможности xv с каждой новой версией
nVidia недавно предоставила спецификации поддержки XVideo
в их популярных видеокартах команде &xfree86;. Обычно эти
видеокарты показывают хорошую производительность при работе с
&xfree86;. Пройдет ещё некоторое время,
пока &xfree86; будет полностью
поддерживать XVideo на этих картах.
Для того< чтобы проверить, работает ли это расширение, используйте
команду xvinfo:&prompt.user; xvinfoXVideo поддерживается вашей видеокартой, если результат выглядит приблизительно так: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 не поддерживается вашей видеокартой, то это всего лишь
означает, что будет сложнее получить приемлемые для воспроизведения
видео вычислительные мощности. В зависимости от вашей видеокарты и
процессора, возможно, вы сможете получить удовлетворительный результат.
Возможно, вы должны будете прочитать о путях улучшения
производительности здесь: .Simple Directmedia LayerSDL был задуман как уровень абстракции для разработки
кросплатформенных приложений под µsoft.windows;, BeOS и &unix;, позволяя
им эффективно использовать звук и графику. SDL предоставляет
низкоуровневые абстракции для аппаратного обеспечения, что, зачастую,
может быть более эффективным чем интерфейс X11.SDL есть в Коллекции портов FreeBSD: devel/sdl12.Прямой доступ для графики (DGA)DGA это расширение &xfree86; которое позволяет программам напрямую
изменять кадровый буфер (framebuffer) без участия X-сервера. Поскольку
DGA основывается на низкоуровневом доступе к памяти, программы, которые
используют его должны исполняться от пользователя
root.Расширение DGA может быть протестировано при помощи &man.dga.1;.
Когда dga запущена, она изменяет цвета на экране при
каждом нажатии клавиш. Для того, чтобы выйти из неё, используйте
q.Порты и пакеты для работы с видеовидео портывидео пакетыЭтот раздел обсуждает программное обеспечение для работы с видео
из Коллекции Портов FreeBSD. Воспроизведение видео является
очень активной сферой разработок программного обеспечения и возможности
различных приложений могут несколько отличаться от описанных
здесь.Во-первых, важно помнить, что многие приложения для работы с
видео, которые работают на FreeBSD, были разработаны как приложения
Linux. Многие из этих приложений все еще бета-качества. Вот
некоторые проблемы, которые могут встретиться в работе видео
пакетов на FreeBSD:Приложение не может воспроизвести файл, который создало другое
приложение.Приложение не может воспроизвести файл, который создало
само.Одно и то же приложение на разных машинах, скомпилированное на
каждой машине специально для неё, воспроизводит один и тот же файл
различно.Кажущийся тривиальным фильтр, например фильтр изменения размеров
изображения, приводит к очень плохим артефактам из-за
неправильной функции изменения размера.Приложение часто не работает (оставляет core-файл).Документация не устанавливается вместе с портом и может быть
найдена лишь на сайте или в каталоге порта
work.Многие из этих приложений могут также проявлять
линуксизмы. Так, это могут быть
некоторые проблемы, связанные со способом реализации некоторых
стандартных библиотек в дистрибутивах Linux, или некоторыми
дополнительными возможностями ядра Linux, которые авторы приложений
посчитали существующими везде. Эти проблемы не всегда могут быть
обнаружены людьми,
поддерживающими порт (порты), вследствие чего могут возникнуть проблемы,
сходные с нижеперечисленными:Использование /proc/cpuinfo для того, чтобы
определить характеристики процессора.Неправильное использование нитей (threads), которое может
привести к зависанию программы при завершении вместо нормального
выхода.Программного обеспечения, которое обычно используется совместно
с данным приложением, ещё нет в Коллекции Портов FreeBSD.Таким образом, разработчики этих приложений должны сотрудничать с
людьми, поддерживающими порты, для того, чтобы минимизировать количество
обходных путей, необходимых для портирования.MPlayerMPlayer это недавно разработанный и
быстро развивающийся проигрыватель видео. Задачами команды
разработчиков MPlayer являются скорость и
гибкость при работе на Linux и других Unix-системах. Проект был начал,
когда его основатель стал сыт по горло плохой производительностью и
качеством проигрывателей того времени. Некоторые могут сказать, что
графический интерфейс был принесён в жертву рационализированному
дизайну. Однако, как
только вы привыкнете к опциям командной строки MPlayer и его управлению
с клавиатуры, всё будет хорошо.Компиляция MPlayerMPlayerсборкаMPlayer находится в multimedia/mplayer. MPlayer производит
различные тесты аппаратного обеспечения во время процесса компиляции,
в результате чего полученные исполняемые модули не могут быть
перенесены с одной системы на другую. Поэтому важно собирать его из
портов, а не использовать бинарный пакет. Также, при сборке вы можете
указать различные установки при помощи параметров командной строки
make, как описывается в начале сборки.&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
You can enable additional compilation optimizations
by defining WITH_OPTIMIZED_CFLAGS
You can enable GTK GUI by defining WITH_GUI.
You can enable DVD support by defining WITH_DVD.
You can enable SVGALIB support by defining WITH_SVGALIB.
You can enable VORBIS sound support by defining WITH_VORBIS.
You can enable XAnim DLL support by defining WITH_XANIM.
Если в вашей системе установлен x11-toolkits/gtk12, вы также можете
включить поддержку GUI (графического интерфейса пользователя). В
противном случае это не стоит усилий. Если вы собираетесь
воспроизводить (возможно закодированные CSS) DVD при помощи
MPlayer, вам потребуется
включить поддержку DVD Нелегальное воспроизведение
DVD является серьёзным преступлением в некоторых странах. Проверьте
местные законы перед тем как включать данную
установку:&prompt.root; make WITH_DVD=yes WITH_SVGALIB=yesНа время написания данного документа порт
MPlayer'а собирает и устанавливает свою
документацию в формате HTML и один исполняемый файл,
mplayer. Также его можно заставить собрать
кодировщик, mencoder, который является
инструментом для перекодировки видео. Это можно
сделать при помощи модификации Makefile. Также
это, возможно, будет включено по умолчанию в последующих версиях
порта.Документация к MPlayer очень
информативна. Если читатель найдет информацию этой главы о аппаратном
обеспечении для поддержки видео и интерфейсам недостаточной, то
документация MPlayer будет очень
хорошим дополнением. Обязательно уделите время
чтению документации MPlayer, если вам
нужна информация о поддержке видео под &unix;.Использование MPlayerMPlayerиспользованиеКаждый пользователь MPlayer должен
создать подкаталог .mplayer в своем домашнем
каталоге. Для того, чтобы его создать, выполните следующие
действия:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userПараметры для mplayer перечислены в страничке
руководства mplayer. За более подробной информацией вы можете обратиться
к документации в формате HTML. В этом разделе мы опишем несколько самых
распространённых случаев использования mplayer.Для того, чтобы воспроизвести файл, например
testfile.avi через один из многих видеоинтерфейсов,
используйте параметр :&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviСтоит испробовать все варианты интерфейсов, так как их
производительность зависит от множества факторов и будет заметно меняться
в зависимости от аппаратного обеспечения.Для того, чтобы воспроизвести DVD, замените
testfile.avi на
DEVICE, где N является номером
дорожки, с которой следует начать воспроизведение и
DEVICE файл устройства
привода DVD. Например, для того, чтобы воспроизвести дорожку 3 с
/dev/dvd:&prompt.root; mplayer -vo dga -dvd 3 /dev/dvdДля того, чтобы остановить, приостановить или продолжить
воспроизведение, воспользуйтесь привязкой клавиш, информация о которой
может быть получена посредством запуска mplayer -h, либо
на страничке документации.Дополнительные, достаточно важные параметры воспроизведения:
, которые включают полноэкранный режим и
, который улучшает производительность на
медленных системах.Для того, чтобы командная строка запуска mplayer не становилась
слишком большой, пользователь может создать файл
.mplayer/config и установить параметры по умолчанию
там:vo=xv
fs=yes
zoom=yesТакже mplayer может быть использован для
копирования дорожек DVD в .vob файлы. Для того,
чтобы скопировать вторую дорожку DVD необходимо выполнить следующую
команду:&prompt.root; mplayer -dumpstream -dumpfile out.vob -dvd 2 /dev/dvdПолученный файл, out.vob, будет представлять
собой MPEG, с которым можно производить различные действия при помощи
программ, которые будут описаны далее в этом разделе.mencodermencoderЕсли вы установили mencoder во время установки
MPlayer, имейте в виду, что это
всё ещё экспериментальный компонент. Перед использованием
mencoder, было бы
неплохо ближе ознакомится с его параметрами, используя документацию в
формате HTML. Также существует страничка справочника mplayer, но она не
очень полезна без HTML документации. Существует бесчисленное множество
способов улучшения качества, снижения битрейта и изменения формата; и
некоторые из этих приёмов могут влиять на производительность. Ниже
приведено несколько примеров использования mencoder.
Во-первых, простое копирование:&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviНеправильная комбинация параметров командной строки привести к
появлению файлов, которые невозможно будет
воспроизвести даже mplayer. Поэтому, если вы хотите
скопировать в файл, лучше использовать только параметр
mplayer .Для того, чтобы преобразовать input.avi в MPEG4
со звуком в формате MPEG Audio Layer 3 (MP3) (требуется audio/lame):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviЭта команда создаст файл, воспроизводимый mplayer
и xine.input.avi может быть заменён на и mplayer, запущенный от
пользователя root, будет преобразовывать дорожку DVD
напрямую. Так как первый раз, скорее всего, вы будете недовольны
полученными результатами, всё же рекомендуется копировать
дорожку в файл и работать затем с файлом.Проигрыватель хinexine - это большой проект, в задачи
которого входит не только создание решения для видео все-в-одном, но и
создание базовой библиотеки с возможностью расширения возможностей путем
использования плагинов (расширений). Поставляется он как в виде порта,
так и в виде пакета, multimedia/xine.xine все еще несовершенен, но, все-таки это
хорошее начало. На практике xine требует либо
быстрого процессора с быстрой видеокартой или поддержку расширения
XVideo. Графический интерфейс можно использовать, но он все еще немного
неуклюж.На время написания этого документа в поставке
xine не существовало модуля ввода, который бы
мог воспроизводить DVD, закодированные по алгоритму CSS. Существуют
сборки, в которых есть такой модуль, но ни одна из них не входит в
Коллекцию Портов FreeBSD.По сравнению с MPlayer,
xine является более дружелюбным к
пользователю, но, в то же время, скрывает более тонкие настройки и
управление от пользователя. Также xine лучше
работает на XVideo интерфейсах.По умолчанию, xine запускается с
графическим интерфейсом. Для открытия файлов используются меню.&prompt.user; xineВ качестве альтернативы можно использовать его для запуска файла
непосредственно, без GUI, следующей командой:&prompt.user; xine -g -p mymovie.aviУтилиты transcodeПриложение transcode не является
проигрывателем. Это набор инструментов для преобразования
.avi и .mpg файлов. При помощи
transcode можно объединять видеофайлы,
исправлять поврежденные файлы, использовать инструменты командной строки
для работы с потоками ввода/вывода
stdin/stdout.Так же, как и MPlayer,
transcode является очень экспериментальным
программным продуктом, который необходимо собирать из порта multimedia/transcode. Этот порт имеет огромное
количество параметров для команды make при сборке. Я
бы рекомендовал:&prompt.root; make WITH_LIBMPEG2=yesЕсли вы планируете установить multimedia/avifile, то добавьте параметр
WITH_AVIFILE в строку запуска make
как показано ниже:&prompt.root; make WITH_AVIFILE=yes WITH_LIBMPEG2=yesНиже приводятся два примера использования
transcode для преобразования видео, в результате
которого изменяется размер изображения. Первый пример преобразовывает
данные в openDIVX AVI файл, в то время как второй использует более
переносимый формат MPEG.&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y opendivx -N 0x55 -o output.avi&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y mpeg -N 0x55 -o output.tmp
&prompt.user; tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1Существует страничка справочника для transcode, но
для различных утилит tc* (таких как
tcmplex), которые тоже устанавливаются в систему,
документации очень немного. Тем не менее, для получение краткой справки
по использованию команд, может быть задан параметр
.По сравнению с mencoder,
transcode работает заметно медленнее, но имеет больше
шансов создать более переносимый файл, который можно будет воспроизвести
на большем количестве систем. Например MPEG,
созданные при помощи transcode, воспроизводятся в
&windows.media; Player и Apple
&quicktime;.Дальнейшее чтениеРазличные пакеты видео программ для FreeBSD интенсивно
разрабатываются. Очень возможно, что в ближайшем будущем
многие обсуждаемые здесь проблемы разрешатся. Это займет время, и те, кто
желает получить максимум от аудио/видео возможностей FreeBSD, должны
будут собирать необходимые знания из нескольких списков часто задаваемых
вопросов и обучающих статей, а также использовать различные
приложения. Этот раздел существует для того, чтобы читатель мог получить
указания на несколько источников дополнительной информации.Документация
MPlayer очень содержательна в
техническом плане. Возможно, эти документы должны использоваться любым
человеком, желающим получить высокий уровень знаний о видео на &unix;
системах. Список рассылки MPlayer враждебен
для любого, кто не потрудился прочитать документацию, так что, если у вас
есть желание сообщать о найденных ошибках, прочитайте вначале
документацию.xine
HOWTO содержит главу об улучшении производительности, которая
применима к любому проигрывателю.Наконец, существует несколько многообещающих приложений, которые
читатель может испробовать:Avifile,
для которого также существует порт multimedia/avifile.Ogle, для
которого также существует порт multimedia/ogle.Xtheatermultimedia/dvdauthor, пакет с открытыми
текстами для распространения DVD контента.JosefEl-RayesПервоначально предоставил MarcFonvieilleУлучшил и адаптировал Настройка ТВ тюнеровТВ тюнерыВведениеТВ тюнеры предназначены для просмотра
широковещательного или кабельного телевидения на компьютере. Большинство
тюнеров поддерживают композитный видео вход RCA или
S-video, а некоторые из них поставляются с FM радио тюнером.&os; поддерживает PCI ТВ тюнеры, использующие
Brooktree Bt848/849/878/879 или Conexant CN-878/Fusion 878a
Video Capture Chip через драйвер &man.bktr.4;. Вы должны также
убедиться, что тюнер поддерживается; обратитесь к странице справочника
&man.bktr.4; за списком поддерживаемых тюнеров.Добавление драйвераДля использования карты потребуется загрузить драйвер
&man.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.Конечно, эти сообщения будут различаться на разном оборудовании.
Тем не менее, проверьте, что тюнер определяется правильно; возможна
перезапись параметров, определенных ядром, с помощью &man.sysctl.8;
MIB и параметров в файле настройки ядра. Например, если вы хотите
указать, что это Philips SECAM тюнер, добавьте следующую строку
к файлу настройки ядра:options OVERRIDE_TUNER=6или прямо задайте переменную &man.sysctl.8;:&prompt.root; sysctl hw.bt848.tuner=6Обратитесь к странице &man.bktr.4; и файлу
/usr/src/sys/conf/NOTES за более детальной
информацией о доступных параметрах (если вы работаете в
&os; 4.X, вместо
/usr/src/sys/conf/NOTES используйте
/usr/src/sys/i386/conf/LINT).Полезные приложенияДля использования ТВ тюнера вам потребуется установить одно из
следующих приложений:multimedia/fxtv
предоставляет возможности ТВ-в-окне и захвата
изображений/аудио/видео.multimedia/xawtv
это также приложение для ТВ тюнера, с теми же, что и у
fxtv возможностями.misc/alevt раскодирует
и отображает видеотекст/телетекст.audio/xmradio,
приложение для использования с FM радио тюнером, поставляемым
с некоторыми ТВ тюнерами.audio/wmtune, это
удобное приложение для радио тюнеров.В коллекции портов &os; можно найти и другие приложения.Решение проблемЕсли вы столкнулись с какой-либо проблемой, связанной с ТВ
тюнером, проверьте в первую очередь поддержку микросхемы захвата
видео и тюнера драйвером &man.bktr.4;, а также правильность установки
параметров. За дальнейшей поддержкой и с вопросами о ТВ тюнере
вы можете обращаться в список рассылки &a.multimedia.name; и
использовать его архивы.
diff --git a/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml b/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
index 47e1ea1fea..1eb7b71f01 100644
--- a/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,3245 +1,3245 @@
JimMockРеструктурировал, реорганизовал и обновил PPP и SLIPКраткий обзорPPPSLIPВ FreeBSD существует множество способов соединения одного компьютера
с другим. Для установления соединения с отдельной сетью или интернет
через обычный модем, или для открытия доступа к собственному компьютеру
необходимо использование PPP или SLIP. В этой главе детально описана
настройка таких модемных сервисов.После прочтения этой главы вы будете знать:Как настроить PPP уровня пользователя (user PPP).Как настроить PPP уровня ядра (kernel PPP).Как настроить PPPoE (PPP over
Ethernet).Как настроить PPPoA (PPP over
ATM).Как настроить SLIP клиента и сервер.PPPuser PPPPPPkernel PPPPPPover EthernetПеред прочтением этой главы вам потребуется:Ознакомиться с основными сетевыми технологиями.Понимать основы и назначение модемного соединения и PPP
и/или SLIP.Вы возможно захотите узнать, в чем главное различие между PPP
уровня пользователя и ядра. Ответ прост: PPP уровня пользователя
обрабатывает входящие и исходящие данные в пространстве пользователя,
а не в ядре. В терминах копирования данных между ядром и пространством
пользователя это дорогостоящий путь, который однако позволяет значительно
расширить возможности реализации PPP. PPP уровня пользователя
для связи с внешним миром использует устройство
tun, а PPP уровня ядра — устройство
ppp.В дальнейшем в этой главе PPP уровня пользователя будет
обозначаться просто как ppp, пока не
потребуется различать его и любое другое программное обеспечение
PPP, такое как pppd. Если не указано
иначе, все команды, приведенные в этой главе, должны выполняться
под root.TomRhodesОбновил и расширил BrianSomersПервоначально предоставил NikClaytonДополнительную информацию предоставили DirkFrömbergPeterChildsPPP уровня пользователяНастройка PPP уровня пользователяПредположенияВ этом документе предполагается, что у вас есть следующее:ISPPPPУчетная запись у провайдера интернет (Internet Service
Provider, ISP), к которому вы подсоединяетесь, используя
PPP.Модем или другое подключенное к системе и правильно
настроенное устройство, позволяющее подключиться к
провайдеру.Номер модемного пула провайдера.PAPCHAPUNIXлогинпарольИмя пользователя (логин) и пароль (обычная &unix; пара
логин/пароль, или PAP/CHAP пара логин/пароль).сервер именIP адреса одного или нескольких серверов имен. Обычно
провайдер дает для этих целей два IP адреса. Если нет
ни одного, вы можете использовать команду enable
dns в ppp.conf и
ppp настроит список серверов имен.
Эта возможность зависит от наличия поддержки согласования
DNS в реализации PPP провайдера.Следующая информация может поставляться провайдером, но не
является совершенно необходимой:IP адрес шлюза провайдера. Шлюз это компьютер, к которому
вы подключитесь и который будет настроен в качестве
маршрута по умолчанию (default
route). Если у вас нет этой информации, она
может быть получена от PPP сервера после подключения.Программой ppp этот IP адрес
обозначается как HISADDR.Сетевая маска, которую вы должны использовать.
Если провайдер не предоставил ее значение, вы можете
использовать 255.255.255.255.статический IP адресЕсли провайдер предоставил статический IP и имя хоста,
используйте их. Иначе позвольте удаленной стороне
назначить свободный IP адрес.Если у вас нет всей необходимой информации, свяжитесь с
провайдером.В этом разделе строки файлов настройки из многих примеров
пронумерованы. Эти номера приведены только для обсуждения
настроек, они не должны помещаться в действующую настройку.
Правильные отступы с табуляцией и пробелами также важны.Создание файлов устройств PPPPPPсоздание файлов устройствВ обычной ситуации, большинству пользователей нужно только
одно устройство tun
(/dev/tun0). Ссылки на
tun0 ниже могут быть заменены на
tunN,
где N это любой номер устройства,
соответствующий вашей системе.Для систем FreeBSD без &man.devfs.5; (FreeBSD 4.X более
ранние), необходимо проверить устройство
tun0 (это не требуется, если включена
&man.devfs.5;, поскольку файлы устройств будут создаваться
автоматически).Простейший способ убедиться, что устройство
tun0 настроено правильно, это пересоздать
устройство. Для пересоздания устройства выполните следующее:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV tun0Если вам необходимы 16 туннельных устройств, потребуется их
создать. Это можно сделать, выполнив следующие команды:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV tun15Автоматическая настройка PPPPPPнастройкаИ ppp и pppd
(реализация PPP уровня ядра) используют файлы настройки,
расположенные в каталоге /etc/ppp.
Примеры для ppp уровня пользователя можно найти в
/usr/share/examples/ppp/.Настройка ppp требует редактирования
нескольких файлов, в зависимости от ваших потребностей. То,
что вы поместите в эти файлы, зависит в некоторой степени
от того, предоставит ли провайдер статический IP адрес
(т.е. вы получите один определенный IP адрес и будете использовать
его постоянно) или динамический (т.е. ваш IP адрес будет изменяться
при каждом подключении к провайдеру).PPP и статические IP адресаPPPсо статическими 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 ifaddr x.x.x.xy.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDRСтрока 1:Начинает настройку по умолчанию (default). Команды
этой настройки выполняются автоматически при запуске
ppp.Строка 2:Включает параметры протоколирования. Когда настройка
работает удовлетворительно, эта строка должна быть
сокращена до следующей формы
set log phase tun
для предотвращения появления слишком больших лог
файлов.Строка 3:Указывает PPP как идентифицировать себя на удаленной
стороне. PPP идентифицирует себя на удаленной стороне если
возникают проблемы согласования и установки соединения,
предоставляя информацию, по которой администратор на
удаленной стороне может воспользоваться для решения
таких проблем.Строка 4:Указывает устройство, к которому подключен модем.
COM1 это
/dev/cuaa0, а
COM2 это
/dev/cuaa1.Строка 5:Устанавливает желаемую скорость подключения к модему.
Если 115200 не работает (хотя должна работать для
любого относительно нового модема) попробуйте
38400.Строки 6 и 7:PPPPPP уровня пользователяСтрока дозвона. PPP уровня пользователя применяет
expect-send синтаксис, похожий на синтаксис &man.chat.8;.
Обратитесь к странице справочника за информацией о
возможностях этого языка.Обратите внимание, что эта команда продолжается на
следующей строке для улучшения читаемости. Любая команда
в ppp.conf может быть продолжена
на следующей строке, если последний символ предыдущей
строки \.Строка 8:Устанавливает предельное время ожидания для соединения.
Значение 180 секунд используется по умолчанию, так что
строка с этим значением чисто косметическая.Строка 9:Указывает PPP запросить у удаленной стороны
сервера имен. Если вы работаете с локальным сервером имен,
эта строка должна быть закомментирована или удалена.Строка 10:Пустая строка для улучшения читаемости. Пустые строки
игнорируются PPP.Строка 11:Определяет настройки для провайдера, называемого
provider. Это имя может быть изменено
на имя вашего провайдера, чтобы в дальнейшем вы могли
использовать для
начала соединения.Строка 12:Определяет телефонный номер для этого провайдера.
Несколько телефонных номеров могут быть указаны с
помощью двоеточия (:) или
символа канала (|) в качестве
разделителя. Различия между двумя разделителями описаны
в &man.ppp.8;. Главным образом они заключаются в том, что
если вы хотите перебирать номера, используйте двоеточие.
Если вы хотите дозваниваться по первому номеру в первую
очередь, и использовать другие номера только если
дозвон по первому завершится неудачно, используйте символ
канала. Всегда заключайте список номеров в кавычки, как
показано в примере.Вы должны включить телефонный номер в кавычки
(") если в нем используются пробелы.
Отсутствие кавычек может вызвать простую, но трудно
обнаруживаемую ошибку.Строки 13 и 14:Задают имя пользователя и пароль. При использовании
приглашения login в стиле &unix;, эти значения
используются командой set login
через переменные \U и \P. При соединении с использованием
PAP или CHAP, эти значения используются во время
аутентификации.Строка 15:PAPCHAPЕсли вы используете PAP или CHAP, приглашение
на вход не появится, и эта строка должна быть
закомментирована или удалена. Обратитесь к
странице аутентификация
PAP и CHAP за дальнейшей информацией.Строка для входа записана в том же chat-подобном
синтаксисе, что и строка для дозвона. В этом примере
строка работает для сервиса, сессия входа которого выглядит
примерно так:J. Random Provider
login: foo
password: bar
protocol: pppВам потребуется изменить эту строку для использования
с другим сервисом. При первом составлении скрипта
убедитесь, что вы включили chat
протоколирование, чтобы убедиться, что
соединение происходит как ожидалось.Строка 16:время ожиданияУстановка максимального времени ожидания по умолчанию
для соединения. В данном случае соединение будет разорвано
автоматически после 300 секунд неактивности. Если вы не
хотите, чтобы соединение разрывалось, установите эту
переменную в нуль, или используйте параметр командной
строки.Строка 17:ISPУстанавливает адрес интерфейса. Строка
x.x.x.x должна быть
заменена на IP адрес, который выделил вам провайдер.
Строка y.y.y.y должна быть
заменена на IP адрес шлюза провайдера (компьютер, к
которому вы подключаетесь). Если провайдер не сообщил
адрес шлюза, используйте 10.0.0.2/0.
Если вам требуется использовать вычисленные
адреса, убедитесь, что создана запись в
/etc/ppp/ppp.linkup в соответствии
с инструкциями для PPP
и динамических IP адресов. Если эта строка
опущена, ppp не может быть запущен в
режиме .Строка 18:Добавляет маршрут по умолчанию к шлюзу провайдера.
Специальное слово HISADDR заменяется
адресом шлюза, указанном в строке 17. Важно, чтобы
эта строка появилась после строки 17, до нее
переменная HISADDR еще не
инициализирована.Если вы не будете запускать ppp с параметром
, эта строка должна быть перемещена
в файл ppp.linkup.Нет необходимости добавлять запись в
ppp.linkup, если у вас статический IP
адрес и ppp работает в режиме ,
поскольку таблица маршрутизации настроена правильно еще
до подключения. Однако, вы возможно захотите создать запись
для запуска программ после соединения. Эта ситуация описана
далее в примере по sendmail.Примерные файлы настройки находятся в каталоге
/usr/share/examples/ppp/.PPP и динамические IP адресаPPPс динамическими IP адресамиIPCPЕсли провайдер не выделил статический 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Как и раньше, не включайте номер строки, он используется
только для ссылки на строку в этом примере. Требуется отступ хотя
бы в один пробел.Строка 17:Номер после символа / это число
бит в адресе, которые будут запрошены ppp. Вы можете
использовать более подходящие вам IP адреса, но пример
выше всегда будет работать.Если вы не используете режим ,
потребуется создать запись в
/etc/ppp/ppp.linkup.
Этот файл используется после установки соединения. На этот момент
ppp уже настроит адреса интерфейсов и
станет возможным добавление записей в таблицу
маршрутизации:1 provider:
2 add default HISADDRСтрока 1:При установке соединения, ppp
ищет запись в ppp.linkup
по следующим правилам: сначала в соответствии с
меткой, используемой в ppp.conf.
Если это не сработает, ведется поиск записи для
IP адреса шлюза. Это метка в IP записывается в
виде IP адреса. Если запись все еще не найдена,
используется запись MYADDR.Строка 2:Эта строка сообщает ppp добавить
маршрут по умолчанию, указывающий на
HISADDR. HISADDR
будет заменен на IP адрес шлюза, определенного
IPCP.Детальный пример находится в записи
pmdemand файлов
/usr/share/examples/ppp/ppp.conf.sample
и
/usr/share/examples/ppp/ppp.linkup.sample.Прием входящих звонковPPPприем
входящих соединенийПри настройке ppp для приема
входящих звонков на компьютере, подключенном к локальной сети,
вам необходимо решить, перенаправлять ли пакеты в локальную сеть.
Если вы будете делать это, выделите удаленной стороне IP адрес
из диапазона адресов локальной сети, и используйте команду
enable proxy в файле
/etc/ppp/ppp.conf. Вам потребуется также
убедиться, что в файле /etc/rc.conf
присутствует строка:gateway_enable="YES"Какой getty?Раздел Настройка FreeBSD для
входящих соединений дает хорошее описание включения
входящих соединений с использованием &man.getty.8;.Альтернатива getty это mgetty,
более интеллектуальная версия getty,
разработанная специально для приема входящих звонков..Преимущество использование mgetty в
том, что она активно общается с модемами,
то есть если порт будет выключен в
/etc/ttys, модем не будет отвечать на
звонок.Последние версии mgetty (от
0.99beta и выше) поддерживают также автоматическое определение
потоков PPP, позволяя клиентам безскриптовое подключение
к серверу.Обратитесь к разделу Mgetty и
AutoPPP за дальнейшей информацией по
mgetty.Права PPPПрограмма ppp обычно запускается с
правами пользователя root.
Если вы хотите разрешить запуск ppp
в режиме сервера с правами обычного пользователя
путем запуска ppp как описано ниже,
этого пользователя необходимо добавить в группу
network в файле
/etc/group.Вам также потребуется дать ему доступ к одному или более
разделов конфигурации, используя команду
allow:allow users fred maryЕсли эта команда используется в разделе
default, она дает пользователю полный
доступ.Оболочки PPP для пользователей с динамическими IPоболочки PPPСоздайте файл, называющийся
/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 с помощью следующей
команды:&prompt.root; 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 для пользователей со статическими IPоболочки PPPСоздайте файл ppp-shell как в примере
выше, и для каждой учетной записи со статически назначаемым
IP создайте символическую ссылку на
ppp-shell.Например, если у вас три пользователя удаленного доступа,
fred, sam и
mary, которые подключаются к вашей
сети класса C, выполните следующее:&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-maryОболочка каждого из этих пользователей удаленного доступа
должна быть символической ссылкой, созданной выше
(например, оболочка пользователя mary
должна быть /etc/ppp/ppp-mary).Настройка ppp.conf для пользователей
с динамическими IPФайл /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.Настройка ppp.conf для пользователей
со статическими 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 HISADDRmgetty и AutoPPPmgettyAutoPPPLCPНастройка и компиляция 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
за примерами.MS расширенияDNSNetBIOSPPPРасширения MicrosoftВозможна настройка 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 и CHAPPAPCHAPНекоторые провайдеры настраивают систему так, что
аутентификация производится с использованием либо PAP либо
CHAP. В этом случае, приглашение login:
при соединении не выдается и соединение PPP
начинается сразу.PAP менее безопасен, чем CHAP, но безопасность в данном
случае не страдает, поскольку хотя пароли и передаются открытым
текстом, они передаются только по модемной линии. У кракеров
не так много возможностей для кражи паролей.В примерах выше PPP
и статические IP адреса или PPP и динамические IP адреса
должны быть сделаны следующие изменения:13 set authname MyUserName
14 set authkey MyPassword
15 set loginСтрока 13:Эта строка указывает имя пользователя PAP/CHAP. Вам
потребуется заменить MyUserName
на правильное значение.Строка 14:passwordЭта строка указывает пароль PAP/CHAP. Вам потребуется
заменить MyPassword на
правильное значение. Вы можете также добавить
дополнительную строку, такую как:16 accept PAPили16 accept CHAPдля явного указания протокола, но и PAP и CHAP
поддерживаются по умолчанию.Строка 15:Ваш провайдер обычно не потребует входа на сервер
при использовании PAP или CHAP. Следовательно, вы
должны отключить строку set login.Изменение настроек pppна
летуВозможно изменение настроек ppp
программы во время ее работы в фоновом режиме, но только если
открыт соответствующий диагностический порт. Для его открытия
добавьте в настройку следующую строку:set server /var/run/ppp-tun%d DiagnosticPassword 0177С этой директивой ppp будет прослушивать заданный &unix;
сокет, запрашивая у клиентов пароль перед выдачей доступа.
Символы%d заменяются на номер используемого
устройства tun.Как только сокет открыт, в скриптах, выполняющих настройку
работающей программы, можно использовать &man.pppctl.8;.Использование NATPPPNATPPP имеет возможность использовать встроенный NAT без
преобразования пакетов в ядре. Эта возможность может быть включена
следующей строкой в /etc/ppp/ppp.conf:nat enable yesАльтернативно, PPP NAT может быть включен параметром командной
строки -nat. Существует также переменная
/etc/rc.confppp_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Завершающая настройка системыPPPconfigurationТеперь, когда программа 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 в автоматическом режиме. Если эта машина является
шлюзом для локальной сети, вы можете также использовать
переключатель . Обратитесь к странице
справочника за дальнейшей информацией.Убедитесь, что программа маршрутизации отключена переменной
в файле /etc/rc.conf:router_enable="NO"routedВажно, чтобы даемон routed не был запущен,
поскольку он может удалить запись маршрута по умолчанию, создаваемую
ppp.Возможно, стоит обратить внимание на переменную
sendmail_flags и убедиться, что она не включает
параметр , иначе sendmail
попытается сразу же обратиться к сети, и компьютер может начать
дозвон. Вы можете попробовать:sendmail_flags="-bd"sendmailОбратная сторона этого решения в том, что необходим
запуск очереди sendmail после поднятия
соединения ppp:&prompt.root; /usr/sbin/sendmail -qВы можете использовать команду !bg в файле
ppp.linkup для автоматического выполнения
этой задачи:1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30mSMTPЕсли вам это не нужно, возможна настройка
dfilter для блокирования SMTP трафика. Обратитесь
файлам примеров за дальнейшей информацией.Все, что осталось, это перегрузить компьютер. После
перезагрузки вы можете либо выполнить:&prompt.root; pppи затем набрать dial provider для запуска
сессии PPP, либо, если вы хотите, чтобы программа
ppp начинала соединение автоматически при
появлении исходящего трафика (и файл
start_if.tun0 не создан), выполните:&prompt.root; ppp -auto providerИтогиДля первоначальной настройки ppp необходимо пройти следующие
шаги:Сторона клиента:Убедитесь, что устройство tun
встроено в ядро.Убедитесь, что устройства
tunN
находятся в каталоге /dev.Создайте запись в
/etc/ppp/ppp.conf. Пример
pmdemand должен подойти для большинства
провайдеров.Если у вас динамический IP адрес, создайте запись в
/etc/ppp/ppp.linkup.Обновите файл /etc/rc.conf.Создайте скрипт start_if.tun0,
если необходим дозвон по требованию.Сторона сервера:Убедитесь, что устройство tun
встроено в ядро.Убедитесь, что устройства
tunN
находятся в каталоге /dev.Создайте запись в /etc/passwd
(используя программу &man.vipw.8;).Создайте профиль в домашнем каталоге пользователя,
запускающий ppp -direct direct-server
или подобную команду.Создайте запись в
/etc/ppp/ppp.conf. Пример
direct-server должен подойти.Создайте запись в
/etc/ppp/ppp.linkup.Обновите файл /etc/rc.conf.Gennady B.SorokopudЧасти документа первоначально предоставили RobertHuffPPP уровня ядраНастройка PPP уровня ядраPPPkernel PPPПеред началом настройки PPP на вашем компьютере, убедитесь, что
pppd находится в /usr/sbin
и каталог /etc/ppp существует.pppd может работать в двух режимах:В качестве клиента — когда вы хотите
подключить компьютер к внешнему миру через последовательное
соединение PPP или модемную линию.PPPсерверВ качестве сервера — когда компьютер
подключен к сети и используется для подключения других
компьютеров через PPP.В обеих случаях вам потребуется настроить файл параметров
(/etc/ppp/options или
~/.ppprc если на вашем компьютере
более одного пользователя работают с PPP).Вам потребуется также программа для модемных/последовательных
линий (предпочтительно comms/kermit) для дозвона и установки
соединения с удаленным хостом.TrevRoydhouseОсновано на информации, предоставленной Использование pppd в качестве клиентаPPPклиентCiscoДля подключения к линии 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модемДозвонитесь на удаленный хост, используя
kermit (или любую другую модемную
программу), и введите ваше имя пользователя и пароль (или
те данные, которые требуются для установления PPP соединения
с удаленным хостом).Выйдите из kermit (без
обрыва соединения).Введите следующее:&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty0119200Убедитесь, что выбраны подходящая скорость и правильное имя
устройства.Теперь ваш компьютер подключен по PPP. Если соединение не
состоялось, вы можете добавить параметр
к файлу /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 19200kermit/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, вот так:&prompt.root; 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:TomRhodesПредоставил Решение проблем с соединениями PPPPPPрешение проблемЭтот раздел охватывает несколько вопросов, которые могут
возникнуть при использовании PPP через модемные соединения.
Например, предположим, что вам потребовалось узнать, какое
именно приглашение отображает система, до которой вы дозваниваетесь.
Некоторые провайдеры выдают приглашение ssword,
другие password; если ppp
скрипт не обрабатывает такие приглашения, попытка входа
завершится неудачно. Наиболее общий способ отладки
соединений ppp это подключение вручную.
Ниже дана пошаговая информация по подключению вручную.Проверьте файлы устройствЕсли вы пересобирали ядро, проверьте устройство
sio. Если вы не перенастраивали ядро,
нет причин для беспокойства. Просто проверьте вывод
dmesg для модемного устройства следующей
командой:&prompt.root;dmesg | grep sioВы должны получить информацию о устройствах
sio. Это COM порты, которые нам
необходимы. Если ваш модем работает как стандартный
последовательный порт, вы увидите его на
sio1, или COM2. Если это так,
вам не требуется пересобирать ядро, необходимо лишь создать
последовательное устройство. Вы можете сделать это, зайдя в
/dev и запустив скрипт
MAKEDEV. Создайте последовательные
устройства:&prompt.root; sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3Если модем находится на sio1,
или COM2 в DOS, модемным устройством
будет /dev/cuaa1.Подключение вручнуюПодключение к интернет с контролированием ppp
вручную это быстрый, легкий и действенный способ отладки
соединения или получения информации о обслуживании
провайдером клиентского соединения ppp.
Запустите PPP из командной строки.
В примерах в качестве имени хоста мы будем использовать
example. Запустите ppp,
введя команду ppp:&prompt.root; 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 helpat
OK
atdt123456789Использование команды at для инициализации
модема, а затем atdt и номера провайдера
для начала дозвона.CONNECTПодтверждение соединения, если есть проблемы с соединением,
не вызванные проблемами в оборудовании, здесь мы попытаемся решить
их.ISP Login:myusernameЗдесь вам предлагается ввести имя пользователя в приглашение,
выводимое сервером провайдера.ISP Pass:mypasswordЗдесь предлагается ввести пароль, предоставленный провайдером.
Как и при входе в &os;, пароль не отображается.Shell or PPP:pppВ зависимости от вашего провайдера, это приглашение может не
появиться. Здесь задается вопрос, хотите ли вы использовать
оболочку на компьютере провайдера или запустить
ppp. В этом примере мы выбрали
ppp, поскольку хотим соединиться с
интернет.Ppp ON example>Обратите внимание, что в этом примере первая буква
появилась в верхнем регистре. Это означает, что
мы успешно подключились к провайдеру.PPp ON example>Мы успешно аутентифицировались у провайдера и ожидаем
присвоения IP адреса.PPP ON example>Мы завершили согласование IP адресов,
соединение успешно установлено.PPP ON example>add default HISADDRЭто маршрут по умолчанию, его необходимо настроить, чтобы
сделать возможной связь с внешним миром, поскольку на этот
момент установлена связь только с удаленной стороной.
Если маршрут не устанавливается из-за уже существующего маршрута,
добавьте символ ! перед .
Альтернативно вы можете сделать настройку перед установкой
соединения.Если все прошло удачно, на данный момент должно работать
соединение с интернет, которое можно поместить в фоновый режим
клавишами CTRLz. Переход строки
PPP в приглашении в нижний регистр
(ppp) означает, что соединение было разорвано.
Таким образом, символы P в верхнем регистре означают наличие
соединения, а в нижнем — потерю соединения.ОтладкаЕсли у вас выделенная линия и нет необходимости устанавливать
соединение, выключите контроль передачи данных
CTS/RTS командой . Это обычно необходимо при подключении к
поддерживающим PPP терминальным
серверам, когда PPP прерывается
при попытке записать данные в ваше соединение, и ожидает сигнала
CTS, или Clear To Send, который не появляется.
Если вы используете этот параметр, используйте также параметр
, который может быть необходим для
устранения зависимости от оборудования путем пропускания
определенных символов через соединение, обычно XON/XOFF.
Обратитесь к странице справочника &man.ppp.8; за более подробной
информацией по этому параметру и его использованию.Если у вас старый модем, может потребоваться использование
. Проверка четности по умолчанию
отключена, но она используется для для устранения ошибок
(с серьезным увеличением объема трафика) на старых модемах
и у некоторых провайдеров.PPP может не вернуться в командный
режим, что обычно вызвано ошибкой согласования, когда провайдер
ждет от вас начала процесса согласования. В этот момент
использование команды ~p заставит ppp
начать отправку настроечной информации.Если вы не получаете приглашения на вход, скорее всего
вам требуется использование аутентификации
PAP или CHAP вместо
&unix; стиля как в примерах выше. Для использования
PAP или CHAP просто добавьте
следующие параметры PPP перед
переходом в терминальный режим:ppp ON example> set authname myusernameНеобходимо заменить myusername
на имя пользователя, выданное провайдером.ppp ON example> set authkey mypasswordГде mypassword должен быть
заменен на пароль, выданный провайдером.Если вы подключаетесь, не можете определить ни одно доменное
имя, попробуйте использовать &man.ping.8; с каким-либо
IP адресом и просмотрите выводимую информацию.
Если 100 процентов (100%) пакетов теряются, скорее всего не
назначен маршрут по умолчанию. Дважды проверьте, что параметр
установлен во время
соединения. Если вы можете подключиться к удаленному
IP адресу, возможно, что адрес сервера имен не
был добавлен в /etc/resolv.conf.
Этот файл должен выглядеть примерно так:domain example.com
nameserver x.x.x.x
nameserver y.y.y.yГде x.x.x.x и
y.y.y.y должны быть заменены на
IP адреса DNS серверов провайдера.
Эта информация может предоставляться провайдером,
вы можете выяснить это в службе поддержки.Вы можете также настроить &man.syslog.3; для протоколирования
PPP соединения. Просто добавьте:!ppp
*.* /var/log/ppp.logв файл /etc/syslog.conf. В большинстве
случаев эти строки уже присутствуют.JimMockПредоставил (с http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) Использование PPP через Ethernet (PPPoE)PPPчерез EthernetPPPoEPPP, через EthernetЭтот раздел описывает настройку PPP через Ethernet (PPP over
Ethernet, PPPoE).Настройка ядраДля PPPoE более не требуется настройка ядра. Если необходимая
поддержка netgraph не встроена в ядро, она будет динамически загружена
ppp.Настройка ppp.confВот пример работающего
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Запуск pppПод пользователем root вы можете
запустить:&prompt.root; ppp -ddial name_of_service_providerЗапуск ppp при загрузкеДобавьте к /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Иногда для установки соединения необходимо использовать тег
сервиса. Теги сервисов используются для различения
PPPoE серверов, подключенных к одной сети.В документации, предоставляемой провайдером, должна находиться
необходимая информация о теге сервиса. Если вы не можете
ее обнаружить, обратитесь в службу поддержки.В крайнем случае, вы можете попробовать метод, предложенный в
программе Roaring
Penguin PPPoE, которая находится в коллекции портов. Учтите, что этот
метод может сделать ваш модем неработоспособным, так что дважды
подумайте перед тем, как воспользоваться им. Просто установите
программу, поставляемую с модемом вашим провайдером. Затем,
войдите в меню System программы. Имя вашего
профиля должно находиться здесь. Обычно это
ISP.Имя профиля (тег сервиса) будет использоваться в записи
настройки PPPoE в файле ppp.conf
(часть команды set device, относящаяся к
провайдеру). Обратитесь к странице справочника &man.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 (на немецком).PPPoE c &tm.3com; HomeConnect ADSL Modem Dual LinkЭтот модем не поддерживает 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
клиентом или сервером и &tm.3com; HomeConnect ADSL Modem.Использование PPP через ATM
(PPPoA)PPPчерез ATMPPPoAPPP, через ATMДалее описано как настроить PPP через ATM (PPP over ATM, PPPoA).
PPPoA популярен у европейских провайдеров DSL.Использование PPPoA с Alcatel &speedtouch; USBПоддержка PPPoA для этого устройства в FreeBSD поставляется в
виде порта, поскольку встроенное программное обеспечение поставляется
под лицензионным
соглашением Alcatel и не может свободно распространяться с
основной системой FreeBSD.Для установки этой программы, просто используйте
коллекцию портов. Установите
порт net/pppoa и следуйте
инструкциям.Как и многие устройства USB, Alcatel &speedtouch; USB должен
загрузить встроенное программное обеспечение с компьютера.
Возможна автоматизация этого процесса в &os;, чтобы эта
передача происходила при подключении устройства к порту 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Вы можете использовать mpd для
подключения к различным сервисам, в частности к сервисам PPTP.
Вы можете найти mpd в коллекции
портов, net/mpd.
Многие ADSL модемы требуют, чтобы PPTP туннель был создан между
модемом и компьютером, один из таких модемов это Alcatel
&speedtouch; Home.Сначала установите порт, затем настройте
mpd под собственные нужды и настройки
провайдера. Порт помещает набор примеров настройки в каталог
PREFIX/etc/mpd/.
PREFIX означает каталог, в который
устанавливаются порты, по умолчанию это
/usr/local/. Полное руководство по настройке
mpd доступно в HTML формате после
установки порта. Оно находится в
PREFIX/share/doc/mpd/.
Ниже находится пример настройки mpd
для соединения с ADSL сервисом. Настройка разделена на два
файла, первый это mpd.conf:default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname username
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 self 10.0.0.1
set pptp peer 10.0.0.138IP адрес компьютера &os;, с которого вы будете использовать
mpd.IP адрес модема ADSL. Для Alcatel
&speedtouch; Home этот адрес по умолчанию 10.0.0.138.Инициализация соединения возможно простым выполнением следующей
команды под root:&prompt.root; mpd -b adslВы можете просмотреть статус соединения с помощью следующей
команды:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffffИспользование mpd это рекомендуемый
способ подключения к сервису ADSL из &os;.Использование pptpclientВозможно также использование FreeBSD для подключения к сервисам
PPPoA с помощью
net/pptpclient.Для подключения к сервису DSL с использованием net/pptpclient, установите порт или
пакет и отредактируйте /etc/ppp/ppp.conf.
Вам потребуется работать под root.
Пример настройки ppp.conf дан ниже.
За дальнейшей информацией по параметрам ppp.conf
обратитесь к странице справочника ppp,
&man.ppp.8;.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname username
set authkey password
set ifaddr 0 0
add default HISADDRИмя пользователя вашей учетной записи у провайдера DSL.Пароль для вашей учетной записи.Поскольку вам необходимо поместить пароль в незашифрованном виде в
файл ppp.conf, убедитесь что никто другой не
сможет прочесть содержимое этого файла. Следующая последовательность
команд сделает этот файл доступным для чтения только пользователю
root. Обратитесь к страницам справочника
&man.chmod.1; и &man.chown.8; за дальнейшей информацией.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confСледующая команда откроет туннель для PPP сессии к вашему
DSL маршрутизатору. Модемы Ethernet DSL поставляются с настроенным
IP адресом локальной сети, к которому вы подключаетесь. У
Alcatel &speedtouch; Home этот адрес 10.0.0.138. В документации на ваш
маршрутизатор должно быть указано, какой адрес используется.
Для открытия туннеля и начала PPP сессии выполните:&prompt.root; pptp addressadslЧтобы вернуться в приглашение командной строки после выполнения
этой команды, добавьте символ & в конец
строки.Устройство виртуального туннеля tun
будет создано для взаимодействия между процессами
pptp и ppp.
Как только вы вернетесь в приглашение, или процесс
pptp выполнит соединение, вы можете
проверить туннель примерно такой командой:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Если вы не сможете соединиться, проверьте настройку
маршрутизатора, которая обычно доступна через
telnet или через веб браузер.
Если вы все еще не можете подключиться, проверьте вывод команды
pptp и содержимое лог файла
ppp,
/var/log/ppp.log.SatoshiAsamiПервоначально предоставил GuyHelmerДополнительный материал предоставили PieroSeriniИспользование SLIPSLIPНастройка SLIP клиентаSLIPклиентНиже дан один из способов настройки FreeBSD для подключения к
SLIP сети со статическим адресом. Для динамического подключения
(адрес изменяется при каждом дозвоне) возможно потребуется более
сложная настройка.Сначала определите, к какому последовательному порту подключен
модем. Многие создают символическую ссылку, такую как
/dev/modem, на настоящий файл устройства,
/dev/cuaaN. Это позволяет абстрагироваться
от имени файла устройства, например если вы переносите модем
на другой порт. Довольно сложно править множество файлов в
/etc и .kermrc во
всей системе!/dev/cuaa0 это
COM1, cuaa1 это
COM2, и т.д.Убедитесь, что в вашем файле настройки ядра присутствует
строка:pseudo-device sl 1Эта строка включена в ядро 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
находится перед
(для FreeBSD версий до 5.0). Начиная с FreeBSD 5.0,
система использует файл /etc/nsswitch.conf,
убедитесь, что параметр находится перед
в строке этого
файла. Без этого параметра могут происходить странные
вещи.Отредактируйте файл /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 соединенияSLIPсоединениеДозвонитесь на удаленный сервер, введите
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 (вы можете приостановить его, нажав
Ctrlz) и введите под root:&prompt.root; slattach -h -c -s 115200 /dev/modemЕсли вы сможете выполнить ping
для хостов по другую сторону маршрутизатора, вы подключились!
Если это не работает, попробуйте параметр
slattach вместо
.Как прервать соединение:Сделайте следующее:&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`для остановки slattach. Помните, что вы
должны работать под root для выполнения этой
команды. Затем вернитесь в kermit (запустив fg,
если он приостановлен) и выйдите из него
(q).Страница справочника slattach сообщает,
что для отключения интерфейса необходимо использовать
ifconfig sl0 down, но это похоже не
играет никакой роли. (ifconfig sl0 сообщает
о том же.)Иногда модем может не сбросить соединение (это бывает
довольно часто). В этом случае просто запустите kermit
и выйдите из него еще раз. При второй попытке соединение обычно
разрывается.Решение проблемВот наиболее часто встречающиеся ситуации:Не используются параметры slattach
или (это может
быть не фатально, но иногда вызывает проблемы.)Используется вместо
(с некоторыми шрифтами сложно увидеть
разницу).Попробуйте использовать ifconfig sl0
для просмотра статуса интерфейса. Например, вы можете
получить такую информацию:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Если вы получите сообщение
no route to host от команды
ping, возможно это проблема с таблицей маршрутизации.
Используйте команду netstat -r для
отображения существующих маршрутов:&prompt.root; 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 сервераSLIPсерверЭтот документ предоставляет решение для настройки SLIP сервера
в системе FreeBSD, что обычно означает настройку системы для
автоматического запуска соединений при удаленном входе SLIP
клиентов.Предварительные требованиясеть TCP/IPИнформация в этом разделе чисто техническая, поэтому требуются
некоторые предварительные знания. Предполагается, что вы знакомы
с сетевым протоколом 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/.
+ url="&url.base;/ru/index.html">http://www.FreeBSD.org/ru/.
Вы можете также обратиться к странице справочника &man.sio.4;
за информацией о драйвере последовательного порта и к
страницам &man.gettytab.5;, &man.getty.8; и &man.init.8;
за информацией по настройке системы для удаленного входа в систему
через модемы, и возможно &man.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 серверНапример, идентификатор пользователя на 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
(обратитесь к страницам справочника &man.syslogd.8; и
&man.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 значение
.Для вступления изменений в силу потребуется перезагрузка.В файле настройки стандартного ядра
(/sys/i386/conf/GENERIC)
находится строка:pseudo-device sl 2SLIPОна определяет число доступных устройств SLIP в ядре;
Число в конце строки определяет максимально возможное количество
одновременных SLIP соединений.Обратитесь к за информацией
по настройке ядра FreeBSD.Настройка sliploginКак упоминалось ранее, в каталоге
/etc/sliphome находятся три файла,
являющиеся частью настройки для
/usr/sbin/sliplogin (для
sliplogin существует страница справочника,
&man.sliplogin.8;): slip.hosts,
определяющий список пользователей SLIP и связанные с ними
IP адреса; slip.login, который обычно
всего лишь настраивает SLIP интерфейс;
slip.logout, который восстанавливает
состояние системы до запуска slip.login
после завершения последовательного соединения.Настройка slip.hosts/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В конце строки находятся один или более параметров. — нет сжатия
заголовков — сжимать
заголовки — сжимать заголовки,
если удаленная сторона это позволяет — запретить ICMP пакеты
(любые ping пакеты будут отброшены и не
станут помехой для другого трафика)SLIPсеть TCP/IPВыбор локального и удаленного адреса для SLIP соединений
зависит от того, используете ли вы выделенную TCP/IP сеть,
или используете на SLIP сервере ARP прокси.
(это не настоящий ARP прокси, но данная
терминология используется в этом разделе). Если вы не уверены,
какой метод выбрать, или как присвоить IP адреса, обратитесь к
книгам по TCP/IP, упомянутым выше ().
Если вы собираетесь использовать отдельную подсеть для SLIP
клиентов, потребуется выделить адреса за пределом адресов
вашей сети и присвоить каждому SLIP клиенту IP адрес из данной
подсети. Затем вам возможно потребуется настроить статический
маршрут в используемую для SLIP подсеть через SLIP сервер
на ближайшем IP маршрутизаторе.EthernetИначе, если вы будете использовать метод
proxy ARP, потребуется присвоить SLIP
клиентам IP адреса, не входящие в Ethernet подсеть сервера
SLIP, а также настроить скрипты
/etc/sliphome/slip.login и
/etc/sliphome/slip.logout, чтобы использовать
&man.arp.8; для управления записями ARP прокси в таблице
ARP сервера SLIP.Настройка slip.loginТипичный файл /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 адресом.EthernetMAC адресПри использовании примера выше убедитесь, что заменили
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,
должны быть заменены на двоеточия, необходимо также добавить
нуль в начало каждого односимвольного шестнадцатеричного номера
для преобразования этого адреса в форму, пригодную для
&man.arp.8;; обратитесь к странице справочника &man.arp.8;
за полной информацией по использованию.При создании
/etc/sliphome/slip.login и
/etc/sliphome/slip.logout, должен быть
установлен бит выполнения (chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout),
или sliplogin не сможет их выполнить.Настройка slip.logout/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).Соглашения о маршрутизацииSLIPмаршрутизацияЕсли вы не используете ARP прокси метод для
маршрутизации пакетов между SLIP клиентами и остальной сетью
(и возможно интернет), вам возможно потребуется статический
маршрут (маршруты) до ближайшего шлюза (шлюзов) для
маршрутизации подсети SLIP клиентов через SLIP сервер.Статические маршрутыстатические маршрутыДобавление статических маршрутов может стать для кого-то
проблемой (это даже невозможно, если у вас нет соответствующих
прав). Если в вашей организации сеть с несколькими
маршрутизаторами, некоторые маршрутизаторы, например
Cisco и Proteon, требуют не только настройки статического маршрута
в подсеть SLIP, но и указания, о каких статических маршрутах
сообщать другим маршрутизаторам, так что для наладки
работоспособности статической маршрутизации может
потребоваться некоторое исследование и отладка.Запуск &gated;gated&gated; это закрытое программно
обеспечение, более недоступное в исходных текстах
(дополнительная информация находится на вебсайте &gated;). Этот раздел
существует лишь в целях обратной совместимости для тех,
кто все еще использует старую версию.Альтернатива головной боли со статическими маршрутами это
установка &gated; на 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 ;
} ;RIPВ примере выше используется широковещательная рассылка
информации о маршрутизации для подсети SLIP
xxx.xxx.yy протоколом RIP
на сеть Ethernet; если вы используете другой драйвер
Ethernet вместо ed, потребуется
соответственно изменить запись для ed.
В этом примере отладочная информация переправляется в
/var/tmp/gated.output;
вы можете выключить отладку, если
&gated; работает. Вам потребуется
заменить xxx.xxx.yy в сетевом адресе
на вашу подсеть SLIP (убедитесь, что изменение сетевой
маски в proto direct работает
нормально).Как только вы установили и настроили
&gated;, потребуется сообщить
стартовым скриптам FreeBSD запускать его вместо
routed. Простейший способ сделать
это — установить переменные router и
router_flags в
/etc/rc.conf. Обратитесь к странице
справочника &gated; за информацией
о параметрах командной строки.
diff --git a/ru_RU.KOI8-R/books/handbook/preface/preface.sgml b/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
index 755fe4e67b..0c6b5d1927 100644
--- a/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
+++ b/ru_RU.KOI8-R/books/handbook/preface/preface.sgml
@@ -1,539 +1,539 @@
ПредисловиеЦелевая
аудиторияЛюди, которые используют FreeBSD с недавнего времени, найдут, что
первая часть этой книги проводит читателя через процесс установки FreeBSD и кратко
освещает идеи и традиции, на которых базируется &unix;. Работа с этой частью
требует несколько большего, чем просто желание исследовать –
необходима возможность принимать к сведению новые идеи.Вторая, много большая часть Руководства, является всеобъемлющим
справочником о всех темах, которые могут интересовать администраторов
FreeBSD. Некоторые из глав этой части могут рекомендовать вам
предварительное чтение других документов, о чём упоминается в
кратком обзоре в начале каждой главы.Список рекомендуемой дополнительной литературы вы можете найти здесь:
.Изменения во второй
редакцииЭта, вторая, редакция является кульминацией более чем двухлетней
работы членов Проекта документации FreeBSD. Нижеследующий список
перечисляет все значительные изменения в этой новой редакции:Был добавлен полный указатель тем.Все ASCII-иллюстрации были заменены на графические.Был добавлен стандартный краткий обзор к каждому разделу для
того, чтобы читатель мог получить представление о содержании
раздела и о том, что необходимо знать для его изучения.Содержимое было логически реорганизовано на три части: В
Начале, Системное администрирование и
Приложения.Раздел (Установка
FreeBSD) был полностью переписан, добавлено большое
количество снимков экрана, чтобы облегчить понимание текста
для новых пользователей.Раздел (Основы &unix;) был
расширен и содержит дополнительную информацию о процессах, даемонах и
сигналах.Раздел (Установка
приложений: порты и пакеты) был расширен и содержит
дополнительную информации об управлении бинарными пакетами.Раздел (X Window System) был
полностью переписан и обращает больше внимания на современные
технологии для рабочего стола, такие, как
KDE и GNOME на
&xfree86; 4.X.Раздел (Процесс загрузки
FreeBSD) был расширен.Раздел (Устройства хранения)
был составлен из того, что раньше было двумя различными разделами
Диски и Резервное копирование. Нам
кажется, что данные темы будут легче и исчерпывающе описаны как один
раздел. Была добавлена секция о программном и аппаратном RAID.Раздел (Последовательные
коммуникации) был полностью реорганизован и актуализирован для
FreeBSD 4.X/5.X.Раздел (PPP и SLIP)
был существенно обновлён.Было добавлено множество новых секций в раздел (Сложные вопросы работы в
сети).Раздел (Электронная почта)
был расширен, теперь он включает больше информации о настройке
sendmail.Раздел (Работа с приложениями,
написанными для Linux) был дополнен включением информации об
установке &oracle; и
&sap.r3;.Следующие новые темы были рассмотрены в этой, второй,
редакции:Настройка и оптимизация ().Мультимедиа ()Структура этой
книгиЭта книга разбита на три части. В первой части, В
Начале, рассматривается установка и основные навыки
использования FreeBSD. Предполагается, что читатель освоит эти разделы
последовательно, возможно пропуская разделы, в которых обсуждаются уже
знакомые для него темы. Вторая часть, Системное
Администрирование, рассказывает о широком круге задач,
которые будут интересны более продвинутым пользователям FreeBSD. Каждая
глава начинается с краткого обзора, который описывает, о чём говорится в
ней и что читатель должен будет знать для прочтения этой главы. Это
сделано для того, чтобы случайно встретивший этот материал читатель мог найти разделы, которые
его интересуют. Третья часть содержит приложения и справочную
информацию., ВведениеЗнакомит пользователя с FreeBSD. Рассказывает об истории проекта
FreeBSD, его задачах и модели разработки., УстановкаПроводит пользователя через весь процесс установки. Некоторые
более сложные вопросы установки, такие как установка по
последовательной консоли, также обсуждаются., Основы &unix;Рассказывает об основных командах и функциональности операционной
системы FreeBSD. Если вы знакомы с Linux или другой &unix;-подобной
операционной системой, возможно, вы можете пропустить эту
главу., Установка приложений: порты и пакетыРассказывает о процессе установки программного обеспечения
сторонних производителей с использованием Коллекции Портов
FreeBSD и стандартных бинарных пакетов., The X Window SystemОписывает X Window System вообще и использование
&xfree86; под управлением FreeBSD в
частности. Также описывает популярные окружения рабочего стола,
такие как KDE и
GNOME., Настройка и оптимизацияОписывает всевозможные параметры настройки FreeBSD, которые может
использовать системный администратор для оптимальной настройки
системы. Также описывает различные конфигурационные файлы,
используемые в FreeBSD и расположение этих файлов на диске., Процесс загрузкиРассказывает о процессе загрузки FreeBSD и объясняет, как
управлять этим процессом при помощи различных
настроек., Пользователи и основы управления
учётными записямиРассказывает о создании и управлении пользовательскими учётными
записями. Также обсуждает установку ограничений ресурсов для
пользователей и другие задачи управления пользователями., Настройка ядра
FreeBSDОбъясняет почему вам может понадобиться перенастроить ядро и
детально описывает процесс настройки, сборки и установки нового
ядра., БезопасностьОписывает множество различных утилит, которые помогут вам
поддерживать FreeBSD в безопасном, надёжном состоянии, включая
Kerberos, IPsec, OpenSSH и межсетевые экраны., ПечатьРассказывает об управлении принтерами в FreeBSD, включая
информацию об титульных страницах, учёте использования принтеров и
первоначальной настройке., Устройства храненияОписывает как управлять накопителями информации и файловыми
системами в FreeBSD, включая физические диски, массивы RAID,
оптические и ленточные носители, диски в оперативной памяти и сетевые
файловые системы., VinumРассказывает как использовать Vinum, менеджер логических
разделов, при помощи которого можно создавать и использовать
независимые от устройств хранения логические диски и программно
реализовывать RAID-0, RAID-1 и RAID-5., ЛокализацияОписывает использование FreeBSD на языках, отличных от
английского. Рассказывает о локализации на уровне системы и
отдельных приложений., Прикладные программыПеречисляет некоторые популярные приложения для рабочей станции,
такие как веб-браузеры и офисные пакеты и описывает процесс их
установки на FreeBSD., МультимедиаПоказывает, как настроить поддержку воспроизведения звука и
видео на вашей системе. Также описывает некоторые примеры приложений
для воспроизведения звука и видео., Последовательные коммуникацииОбъясняет как подключать терминалы и модемы к вашей FreeBSD как в
серверном, так и в клиентском режиме., PPP и SLIPОписывает использование PPP, SLIP или PPP через Ethernet для
соединения с удалёнными системами при помощи FreeBSD., Сложные вопросы работы в сетиРассматривает множество вопросов работы с сетью, включая
совместный доступ компьютеров в вашей локальной сети к Internet,
использование сетевых файловых систем, обмен информацией об учётных
записях при помощи NIS, настройку сервера имён (DNS) и многое
другое., Электронная почтаОбъясняет использование различных компонентов почтового сервера и
более углублённо рассматривает простые вопросы конфигурации для
наиболее популярного программного обеспечения почтовых
серверов: sendmail., На переднем крае разработокОбъясняет различия между FreeBSD-STABLE, FreeBSD-CURRENT и
FreeBSD-RELEASE. Рассказывает, кому из пользователей будет полезно
отслеживать версию системы в разработке и вкратце описывает этот
процесс., Работа с приложениями, написанными для LinuxОписывает возможности Linux-совместимости в FreeBSD. Также
предоставляет детальные инструкции по установке для многих популярных
приложений для Linux, таких как: &oracle;,
&sap.r3; и
&mathematica;., Получение FreeBSD Перечисляет различные источники, из которых можно получить
FreeBSD на CDROM или DVD, равно как и различные сайты в Internet, с
которых можно скачать и установить FreeBSD., Библиография Эта книга касается многих различных тем, которые могут
сподвигнуть вас на более детальное изучение. Библиография
перечисляет множество отличных книг, которые упоминаются в
тексте., Ресурсы в InternetОписывает множество форумов, доступных для пользователей FreeBSD,
в которых можно задать вопросы и поучаствовать в технических
обсуждениях FreeBSD., Ключи PGPСодержит ключи PGP некоторых разработчиков FreeBSD.Договоренности, используемые в
этой книгеДля того чтобы обеспечить целостность и простоту чтения текста в
данной книге мы применяем некоторые договорённости.Типографические
договорённостиНаклонный шрифтНаклонный шрифт используется для имен
файлов, адресов в Internet (URL), выделенного текста и первого
применения технических терминов.Моноширинный шрифтМоноширинных шрифт используется для сообщений
об ошибках, команд, имен пользователей, названий групп, названий
устройств, переменных и фрагментов кода.Полужирный шрифтПолужирный шрифт используется для
обозначения приложений, команд и параметров.Пользовательский вводКлавиши представляются в виде полужирного текста для
того, чтобы выделяться среди остального текста. Комбинации клавиш, которые
должны вводиться одновременно разделяются символом `+',
например:CtrlAltDelЭто будет означать, что пользователь должен нажать клавиши
Ctrl, Alt и Del
одновременно.Комбинации клавиш, которые должны вводиться последовательно,
разделяются запятыми, например:CtrlX,
CtrlSЭто будет означать, что пользователь должен нажать
Ctrl и X одновременно, после чего
одновременно нажать Ctrl и S.ПримерыПримеры, которые начинаются с E:\>
обозначают команды &ms-dos;. Пока не указано противного, эти команды могут
вводиться из окна Сеанс &ms-dos; в современных системах
µsoft.windows;.E:\>tools\fdimage floppies\kern.flp A:Примеры, которые начинаются с &prompt.root; обозначают команды, которые
должны быть запущены с правами суперпользователя в FreeBSD. Вы можете
войти в систему как пользователь root для того, чтобы
ввести эти команды или войти в систему обычным пользователем и использовать
&man.su.1; для того, чтобы получить привилегии суперпользователя.&prompt.root; dd if=kern.flp of=/dev/fd0Примеры, начинающиеся с &prompt.user; указывают, что команда должна
быть исполнена с правами обычного пользователя. Пока не указано
противного, используется синтаксис C-shell для установки переменных
окружения и других команд.&prompt.user; topБлагодарностиКнига, которую вы держите в руках являет собой результат труда многих
сотен людей по всему миру. Не имеет значения, присылали ли они исправления
опечаток или предоставляли целые главы, их труд был полезен.Несколько компаний поддерживали разработку этого документа, оплачивая
авторам их труд, оплачивая публикацию и т.д. В частности, BSDi (в
последствии приобретённая компанией Wind River Systems) оплачивала труд
по улучшению этой книги участникам Проекта Документации FreeBSD, что в
итоге сделало возможным выпуск первой печатной версии в марте 2000 года
(ISBN 1-57176-241-8). Впоследствии компания Wind River Systems оплатила
работу нескольких авторов по улучшению генерации книги в удобном для печати
виде и добавлению нескольких глав. Кульминация этой работы являла собой
публикацию второй печатной версии в ноябре 2001 года (ISBN
1-57176-303-1).
diff --git a/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml b/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
index d899c4cfdd..55dcef6947 100644
--- a/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
@@ -1,1766 +1,1766 @@
X Window SystemОбзорFreeBSD использует &xfree86; для того,
чтобы дать пользователям мощный графический интерфейс.
&xfree86; является открытой реализацией
X Window System. Эта глава посвящена установке и настройке
&xfree86; в системе FreeBSD. Чтобы получить
более полную информацию о &xfree86; и
поддерживаемом в ней графическом оборудовании, посетите
сайт &xfree86;.После чтения этой главы вы будете знать:Как установить и настроить
&xfree86;.Различные компоненты X Window System и их
взаимодействие.Как установить и использовать различные оконные менеджеры.Как использовать шрифты &truetype; в
&xfree86;.Как настроить вашу систему на графический интерфейс входа
(XDM).Перед чтением этой главы вы должны:Знать, как устанавливать дополнительное программное обеспечение
сторонних разработчиков ().Основы XПервое знакомство с X может оказаться чем-то вроде шока для тех, кто
работал с другими графическими системами, такими, как µsoft.windows;
или &macos;.Нет необходимости вникать во все детали различных компонентов X и
их взаимодействия; однако некоторые базовые знания делают возможным
использование сильных сторон X.Почему именно X?X не является первой оконной системой для &unix;, но она является
самой популярной. До работы над X команда ее разработчиков трудилась
над другой оконной системой. Та система называлась W
(от Window). X является просто следующей
буквой в романском алфавите.X можно называть X, X Window System,
X11 и другими терминами. Факт использования названия
X Windows для X11 может задеть интересы некоторых
людей; дополнительную информацию по этому поводу можно найти на
странице справочной системы &man.X.7;.Модель клиент/сервер в XX изначально разрабатывалась, чтобы быть системой, ориентированной
на работу в сети с использованием модели клиент-сервер.
В модели работы X X-сервер работает на компьютере с
клавиатурой, монитором и мышью. Сервер отвечает за управление
дисплеем, обработку ввода с клавиатуры и мыши и так далее. Каждое
X-приложение (например, XTerm или
&netscape;) является
клиентом. Клиент посылает сообщения серверу, такие,
как Пожалуйста, нарисуй окно со следующими координатами,
а сервер посылает в ответ сообщения типа Пользователь только что
щёлкнул мышью на кнопке OK.Если в этом участвует только один компьютер, например, в случае
использования дома или в офисе, сервер и клиенты X будут работать на
том же самом компьютере. Однако реально возможно запускать X-сервер
на менее мощном настольном компьютере, а приложения X (клиенты) на,
скажем, мощной и дорогой машине, обслуживающей целый офис. В этом
сценарии X-клиент и сервер общаются через сеть.Некоторых это вводит в заблуждение, потому что терминология X
в точности обратна тому, что они ожидают. Они полагают, что
X-сервер будет большой мощной машиной, стоящей на полу,
а X-клиентом является машина, стоящая на их
столах.Запомните, что X-сервером является машина с монитором и
клавиатурой, а X-клиенты являются программами, выводящими окна.В протоколе нет ничего, что заставляет машины клиента и сервера
работать под управлением одной и той же операционной системы, или
даже быть одним и тем же типом компьютера. Определённо возможно
запускать X-сервер в µsoft.windows; или &macos; от Apple, и есть
множество свободно распространяемых и коммерческих приложений, которые
это реализуют.X-сервер, поставляемый с FreeBSD, называется
&xfree86;, и он распространяется свободно
под лицензией, очень похожей на условия распространения FreeBSD.
Имеются и коммерческие X-серверы для FreeBSD.Оконный менеджерФилософия построения X очень похожа на философию построения &unix;,
инструменты, не политика. Это значит, что X не пытаются
диктовать то, как должна быть выполнена работа. Вместо этого
пользователю предоставляются инструменты, а за пользователем остается
принятие решения о том, как использовать эти инструменты.Этот подход расширен в X тем, что не задается, как окна должны
выглядеть на экране, как их двигать мышью, какие комбинации клавиш
должны использоваться для переключения между окнами (то есть
AltTab, в случае использования µsoft.windows;), как должны
выглядеть заголовки окон, должны ли в них быть кнопки для закрытия, и
прочее.Вместо этого X делегирует ответственность за это приложению,
которое называется Window Manager (Менеджер Окон). Есть
десятки оконных менеджеров для X: AfterStep,
Blackbox, ctwm,
Enlightenment,
fvwm, Sawfish,
twm,
WindowMaker и другие. Каждый из этих
оконных менеджеров предоставляет различные внешние виды и удобства;
некоторые из них поддерживают виртуальные рабочие столы;
некоторые из них позволяют изменять назначения комбинаций
клавиш, используемых для управления рабочим столом; в некоторых есть
кнопка Start или нечто подобное; некоторые поддерживают
темы, позволяя изменять внешний вид, поменяв тему.
Эти оконные менеджеры, а также множество
других, находятся в категории x11-wm коллекции
Портов.Кроме того, оболочки KDE и
GNOME обе имеют собственные оконные
менеджеры, которые интегрированы с оболочкой.Каждый оконный менеджер также имеет собственный механизм настройки;
некоторые предполагают наличие вручную созданного конфигурационного
файла; некоторые предоставляют графические инструменты для выполнения
большинства работ по настройке; по крайней мере один
(sawfish) имеет конфигурационный файл,
написанный на диалекте языка Lisp.Политика фокусированияДругой особенностью, за которую отвечает оконный менеджер,
является политика фокусирования мыши. Каждая оконная
система должна иметь некоторый способ выбора окна для активации
получения нажатий клавиш, а также визуальную индикацию того, какое
окно активно.Широкоизвестная политика фокусировки называется
click-to-focus. Эта модель используется в
µsoft.windows;, когда окно становится активным после получения
щелчка мыши.X не поддерживает никакой конкретной политики фокусирования.
Вместо этого менеджер окон управляет тем, какое окно владеет фокусом
в каждый конкретный момент времени. Различные оконные менеджеры
поддерживают разные методы фокусирования. Все они поддерживают метод
щелчка для фокусирования, и большинство из них поддерживают некоторые
другие методы.Самыми популярными политики фокусирования являются:focus-follows-mouse (фокус следует за мышью)Фокусом владеет то окно, что находится под
указателем мыши. Это не обязательно будет окно, которое
находится поверх всех остальных. Фокус меняется при
указании на другое окно, при этом также нет нужды щёлкать на
нём.sloppy-focus (нечеткий фокус)С политикой focus-follows-mouse если мышь помещается
поверх корневого окна (или заднего фона), то никакое окно
фокус не получает, а нажатия клавиш просто пропадают.
При использовании политики нечёткого фокуса он меняется
только когда курсор попадает на новое окно, но не когда
уходит с текущего окна.щелчок для выбора фокусаАктивное окно выбирается щелчком мыши. Затем окно
может быть поднято и появиться поверх всех
других окон. Все нажатия клавиш теперь будут направляться
в это окно, даже если курсор переместится к другому.Многие оконный менеджер поддерживают и другие политики, а также
вариации перечисленных. Обязательно обращайтесь к документации по
оконному менеджеру.ВиджетыПодход X, заключающийся в предоставлении инструментов, а не
политики, распространяется и на виджеты, которые располагаются на
экране в каждом приложении.Виджет (widget) является термином для всего в
пользовательском интерфейсе, на чём можно
щёлкать или каким-то образом управлять; кнопки, зависимые (radio
buttons) и независимые (check boxes) кнопки, иконки, списки и так
далее. В µsoft.windows; это называется элементами
управления (controls).µsoft.windows; и &macos; от Apple обе имеют очень жёсткую
политику относительно виджетов. Предполагается, что разрабатываемые
приложения обязательно должны иметь похожий внешний вид. Что касается
X, то было решено, что не нужно требовать обязательного использования
какого-то определённого графического стиля или набора виджетов.В результате не стоит ожидать от X-приложений
похожести во внешнем виде. Существует несколько популярных наборов
виджетов и их разновидностей, включая оригинальный набор виджетов
Athena от MIT, &motif; (по
образу которого был разработан набор виджетов в µsoft.windows;,
все эти скошенные углы и три разновидности серого цвета),
OpenLook и другие.В большинстве появляющихся в настоящее время приложений для X будет
использоваться современно выглядящий набор виджетов, либо Qt,
используемый в KDE, либо
GTK, используемый проектом
GNOME. В этом отношении наблюдается
унификация внешнего вида рабочего стола в &unix;, что определённо
облегчает жизнь начинающему пользователю.Установка &xfree86;Перед тем, как устанавливать &xfree86;,
определитесь, с какой версией работать. &xfree86;
3.X является веткой разработки
&xfree86;, находящейся в режиме только
поддержки. Она весьма стабильна и поддерживает огромное количество
графических адаптеров. Однако новых разработок в этом программном
обеспечении не ведётся. В &xfree86; 4.X
архитектура системы была полностью пересмотрена, в ней появились новые
возможности, такие, как улучшенная поддержка шрифтов и антиалиасинга. К
сожалению, эта новая архитектура требует переписывания драйверов видео, и
некоторые из старых адаптеров, поддерживаемых в 3.X, пока не
поддерживаются в 4.X. Так как новые разработки и поддержка новых
графических адаптеров выполняются в этой ветке, &xfree86;
4.X теперь является стандартно используемой во FreeBSD
версией X Window System.Программа установки FreeBSD предоставляет пользователям возможность
установить и настроить &xfree86; 4.X во время
установки (описано в ). Для установки и запуска
&xfree86; 3.X сначала нужно выполнить
установку базовой системы FreeBSD, а затем установить
&xfree86;. К примеру, чтобы
построить и установить &xfree86; 3.X из
Коллекции Портов:&prompt.root; cd /usr/ports/x11/XFree86
&prompt.root; make all install cleanКак вариант, любая версия &xfree86; может
быть установлена непосредственно из бинарных файлов для FreeBSD, которые
размещены на веб-сайте &xfree86;. Для
установки посредством утилиты &man.pkg.add.1; имеется также бинарный
пакадж для &xfree86; 4.X. При использовании
возможности сгрузки по сети, предусмотренной в утилите &man.pkg.add.1;,
номер версии пакаджа должен быть опущен. &man.pkg.add.1; автоматически
сгрузит самую последнюю версию приложения. Таким образом, для сгрузки
и установки пакаджа для &xfree86; 4.X, просто
наберите:&prompt.root; pkg_add -r XFree86Для установки &xfree86; 4.X вы можете
также воспользоваться Коллекцией Портов, для чего вам нужно просто
набрать следующие команды:&prompt.root; cd /usr/ports/x11/XFree86-4
&prompt.root; make install cleanВ примерах выше будет установлен полный дистрибутив
&xfree86;, включая серверы, клиенты, шрифты
и так далее. Также доступны и отдельные пакаджи и порты для
различных частей &xfree86; 4.X.В оставшейся части главы будет рассказано о том, как сконфигурировать
&xfree86; и настроить рабочее окружение.ChristopherShumwayТекст предоставил Конфигурация &xfree86;XFree86 4.XXFree86Перед тем, как начатьПеред настройкой &xfree86; 4.X
необходима следующая информация о конфигурируемой системе:Характеристики монитораНабор микросхем, используемый в видеоадаптереОбъём видеопамятичастота горизонтальной разверткичастота вертикальной разверткиХарактеристики монитора используются в
&xfree86; для определения рабочего
разрешения и частоты. Эти характеристики обычно могут быть получены из
документации, которая прилагается к монитору или с сайта производителя.
Тут нужны два диапазона значений, для частоты горизонтальной развёртки
и для частоты вертикальной синхронизации.Набор микросхем графического адаптера определяет, модуль какого
драйвера использует &xfree86; для работы с
графическим оборудованием.
Для большинства типов микросхем это может быть определено
автоматически, но все же его полезно знать на тот случай, когда
автоматическое определение не работает правильно.Объём видеопамяти графического адаптера определяет разрешение и
глубину цвета, с которым может работать система. Это важно, чтобы
пользователь знал ограничения системы.Конфигурирование &xfree86; 4.XПроцесс настройки &xfree86; 4.X является
многошаговым. Первый шаг заключается в построении начального
конфигурационного файла посредством запуска
&xfree86; с параметром
. Работая с правами суперпользователя,
просто запустите:&prompt.root; XFree86 -configureПри этом в каталоге /root будет создан скелет
конфигурационного файла &xfree86; под именем
XF86Config.new (на самом деле в качестве каталога
используется тот, что задан в переменной окружения
$HOME, а она зависит от способа получения прав
суперпользователя). Программа &xfree86;
сделает попытку распознать графическое оборудование системы и
запишет конфигурационный файл, загружающий правильные драйверы для
обнаруженного оборудования в системе.Следующим шагом является тестирование существующей конфигурации для
проверки того, что &xfree86; может работать
с графическим оборудованием в настраиваемой системе. Для выполнения
этой задачи пользователю нужно выполнить:&prompt.root; XFree86 -xf86config XF86Config.newЕсли появилась чёрно-белая сетка и курсор мыши в виде
X, то настройка была выполнена успешно. Для завершения тестирования
просто нажмите одновременно
CtrlAltBackspace.Если мышь не работает, удостоверьтесь, что соответствующее
устройство было отконфигурировано. Обратитесь к в главе об установке &os;.Тонкая настройка XFree86 4Теперь выполните тонкую настройку в файле
XF86Config.new по своему вкусу.
Откройте файл в текстовом редакторе, таком, как &man.emacs.1; или
&man.ee.1;. Сначала задайте частоты для
монитора. Они обычно обозначаются как частоты горизонтальной и
вертикальной синхронизации. Эти значения добавляются в файл
XF86Config.new в
раздел "Monitor":Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSectionКлючевых слов HorizSync и
VertRefresh может и не оказаться в
файле конфигурации. Если их нет, то они должны быть добавлены, с
указанием корректных значений горизонтальной частоты синхронизации
после ключевого слова HorizSync и вертикальной
частоты синхронизации после ключевого слова
VertRefresh. В примере выше были введены частоты
монитора настраиваемой системы.X позволяет использовать возможности технологии DPMS (Energy Star)
с поддерживающими её мониторами. Программа &man.xset.1; управляет
временными задержками и может явно задавать режимы ожидания, останова
и выключения. Если вы хотите включить использование возможностей
DPMS вашего монитора, вы должны добавить следующую строку в раздел,
описывающий монитор:Option "DPMS"XF86ConfigПока файл конфигурации XF86Config.new открыт
в редакторе, выберите желаемые разрешение и глубину цвета, которые
будут использоваться по умолчанию. Они задаются в секции
"Screen":Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSectionКлючевое слово DefaultDepth описывает
глубину цвета, с которой будет работа по умолчанию. Это значение
может быть переопределено при помощи параметра командной строки
-bpp для &man.XFree86.1;. Ключевое слово
Modes описывает разрешение, с которым нужно
работать при данной глубине цвета. Заметьте, что поддерживаются
только те стандартные режимы VESA, что определены графическим
оборудованием настраиваемой системы. В примере выше глубина цвета по
умолчанию равна двадцати четырём битам на пиксел. При такой глубине
цвета принимается разрешение в одну тысячу двадцать четыре на семьсот
шестьдесят восемь точек.Наконец, запишите конфигурационный файл и
протестируйте его при помощи тестового режима, описанного выше. Если
все в порядке, то конфигурационный файл нужно установить в
общедоступное место, где его сможет найти &man.XFree86.1;.
Обычно это /etc/X11/XF86Config или
/usr/X11R6/etc/X11/XF86Config.&prompt.root; cp XF86Config.new /etc/X11/XF86ConfigПосле того, как конфигурационный файл будет помещён в общедоступное
место, настройка завершена. Для запуска
&xfree86; посредством &man.startx.1;
установите порт x11/wrapper.
&xfree86; 4.X можно также запустить через
&man.xdm.1;.Имеется также графический инструмент для настройки,
&man.xf86cfg.1;, который включён в дистрибутив
&xfree86; 4.X. Он позволяет выполнить
настройку в интерактивном режиме посредством выбора соответствующих
драйверов и настроек. Эту программу можно использовать и в
консольном режиме, просто нужно запустить её как xf86cfg
-textmode. Для получения более полной информации
обратитесь к странице справочной системы &man.xf86cfg.1;.Тонкие вопросы настройкиКонфигурирование при работе с графическими чипсетами &intel;
i810графический чипсет Intel i810Конфигурирование при работе с интегрированными наборами микросхем
&intel; i810 требует наличия agpgart,
программного интерфейса AGP, посредством которого
&xfree86; будет управлять адаптером.
Драйвер &man.agp.4; присутствует в ядре GENERIC
с момента выпуска 4.8-RELEASE и 5.0-RELEASE. Для предшествующих
релизов вам нужно добавлять такую строку:device agpв конфигурационный файл вашего ядра и перестраивать новое ядро.
Однако вместо этого вы можете подгружать модуль ядра
agp.ko автоматически во время загрузки системы
при помощи &man.loader.8;. Для этого просто добавьте следующую
строку в файл /boot/loader.conf:agp_load="YES"Затем, в случае использования FreeBSD 4.X или более ранних
её версий, для программного интерфейса должен быть создан файл
устройств. Для создания файла устройств для AGP запустите
&man.MAKEDEV.8; в каталоге /dev:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV agpgartВо FreeBSD 5.X и более поздних версиях будет
использоваться &man.devfs.5; для выделения файлов устройств в
прозрачном режиме, поэтому шаг с &man.MAKEDEV.8; не нужен.Это позволит конфигурировать графическое оборудование точно так
же, как и любой другой графический адаптер. Заметьте, что для
систем, у которых драйвер &man.agp.4; в ядро не вкомпилирован,
попытка погрузить модуль с помощью &man.kldload.8; окончится
неудачно. Этот драйвер должен оказаться в ядре во время загрузки,
либо вкомпилированным, либо подгруженным посредством
/boot/loader.conf.Если вы используете &xfree86; 4.1.0
(или более позднюю версию), и выдаются сообщения о неразрешённых
ссылках типа fbPictureInit, попробуйте добавить
такую строчку после Driver "i810" в
конфигурационном файле &xfree86;:Option "NoDDC"MurrayStokelyТекст предоставил Использование шрифтов в &xfree86;Шрифты Type1Шрифты, используемые по умолчанию и распространяемые вместе с
&xfree86;, вряд ли можно назвать идеально
подходящими для применения в обычных издательских приложениях. Большие
презентационные шрифты выглядят рвано и непрофессионально, а мелкие
шрифты в &netscape; вообще невозможно
разобрать. Однако есть некоторое количество свободно распространяемых
высококачественных шрифтов Type1 (&postscript;), которые можно без
изменений использовать с &xfree86; как
версии 3.X, так и 4.X. К примеру, в наборе шрифтов URW
(x11-fonts/urwfonts) имеются
высококачественные версии стандартных шрифтов type1 (Times Roman, Helvetica, Palatino и другие). В набор Freefonts
(x11-fonts/freefonts) включено ещё
больше шрифтов, однако большинство из них предназначено для
использования в программном обеспечении для работы с графикой,
например, Gimp, и они не вполне пригодны
для использования в качестве
экранных шрифтов. Кроме того, &xfree86; с
минимальными усилиями может быть настроена на использование шрифтов
&truetype;: посмотрите раздел о шрифтах
&truetype; ниже.Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции
портов выполните следующие команды:&prompt.root; cd /usr/ports/x11-fonts/urwfonts
&prompt.root; make install cleanТо же самое нужно будет сделать для коллекции freefont и других.
Для указания X-серверу на
существование этих шрифтов добавьте соответствующую строку в
файл XF86Config (из каталога
/etc/ для &xfree86; для
версии 3 или из каталога /etc/X11/ для версии 4),
которая должна выглядеть так:FontPath "/usr/X11R6/lib/X11/fonts/URW/"Либо из командной строки при работе с X выполните:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW
&prompt.user; xset fp rehashЭто сработает, но будет потеряно, когда сеанс работы с X будет
закрыт, если эта команда не будет добавлена в начальный файл
(~/.xinitrc в случае обычного сеанса через
startx
или ~/.xsession при входе через графический
менеджер типа XDM). Третий способ
заключается в использовании нового файла
XftConfig: посмотрите раздел
об антиалиасинге.Шрифты &truetype;Шрифты TrueTypeшрифтыTrueTypeВ &xfree86; 4.X имеется встроенная
поддержка шрифтов &truetype;. Имеются два модуля, которые могут
обеспечить эту функциональность. В нашем примере используется модуль
freetype, потому что он в большей степени похож на другие механизмы
для работы с шрифтами. Для включения модуля freetype достаточно в
раздел "Module" файла
/etc/X11/XF86Config добавить следующую
строчку.Load "freetype"В случае &xfree86; 3.3.X требуется
отдельный сервер шрифтов &truetype;. Для этого обычно
используется Xfstt. Для установки
Xfstt просто установите порт
x11-servers/Xfstt.Теперь создайте каталог для шрифтов &truetype;
(к примеру, /usr/X11R6/lib/X11/fonts/TrueType) и
скопируйте все шрифты &truetype; в этот каталог. Имейте в виду,
что напрямую использовать шрифты &truetype; с &macintosh; нельзя;
для использования с &xfree86; они должны
быть в формате &unix;/DOS/&windows;. После того, как файлы будут
скопированы в этот каталог, воспользуйтесь утилитой
ttmkfdir для создания файла
fonts.dir, который укажет подсистеме вывода
шрифтов X на местоположение этих новых файлов.
ttmkfdir имеется в Коллекции Портов FreeBSD
как x11-fonts/ttmkfdir.&prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType
&prompt.root; ttmkfdir > fonts.dirПосле этого добавьте каталог со шрифтами &truetype;
к маршруту поиска шрифтов. Это делается точно также, как описано выше
для шрифтов Type1, то есть
выполните&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashили добавьте строку в файл
XF86Config.Это всё. Теперь &netscape;,
Gimp,
&staroffice; и все остальные X-приложения
должны увидеть установленные шрифты &truetype;. Очень маленькие (как
текст веб-страницы на дисплее с высоким разрешением) и очень большие (в
&staroffice;) шрифты будут теперь выглядеть
гораздо лучше.Joe MarcusClarkeОбновление для &xfree86; 4.3 выполнил Антиалиасинг шрифтовшрифты с антиалиасингомшрифтыантиалиасингАнлиалиасинг присутствует в &xfree86;,
начиная с версии 4.0.2. Однако настройка шрифтов была довольно
громоздка вплоть до появления &xfree86;
4.3.0. Начиная с версии 4.3.0, все шрифты, расположенные в каталогах
/usr/X11R6/lib/X11/fonts/ и
~/.fonts/, автоматически становятся доступными для
применения антиалиасинга в приложениях, использующих Xft. Ещё не все
приложения могут использовать Xft, но во многих его поддержка
присутствует. Примерами приложений, использующих Xft, является Qt
версий 2.3 и более поздних (это инструментальный пакет для оболочки
KDE), Gtk+ версий 2.0 и более поздних (это
инструментальный пакет для оболочки GNOME),
а также Mozilla версий 1.2 и более
поздних.Для управления тем, к каким шрифтам применять антиалиасинг, а также
для настройки параметров антиалиасинга, создайте (или отредактируйте,
если он уже существует) файл
/usr/X11R6/etc/fonts/local.conf. Некоторые мощные
возможности системы шрифтов Xft могут быть настроены при помощи этого
файла; в этом разделе описаны лишь некоторые простые возможности. Для
выяснения всех деталей, пожалуйста, обратитесь к
&man.fonts-conf.5;.XMLЭтот файл должен быть сформирован в формате XML. Обратите особое
внимание на регистр символов, и удостоверьтесь, что все тэги корректно
закрыты. Файл начинается обычным заголовком XML, за которым следуют
задание DOCTYPE, а потом
тэг <fontconfig>:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
Как и говорилось ранее, все шрифты из каталога
/usr/X11R6/lib/X11/fonts/, а также
~/.fonts/ уже доступны для приложений,
использующих Xft. Если вы хотите добавить каталог, отличный от этих
двух, добавьте строчку, подобную следующей, в файл
/usr/X11R6/etc/fonts/local.conf:<dir>/path/to/my/fonts</dir>После добавления новых шрифтов, и особенно новых каталогов со
шрифтами, вы должны выполнить следующую команду для перестроения
кэшей шрифтов:&prompt.root; fc-cache -fАнтиалиасинг делает границы несколько размытыми, что делает очень
мелкий текст более читабельным и удаляет лесенки из
текста большого размера, но может вызвать нечёткость при применении к
тексту обычного размера. Для исключения размеров, меньших 14, от
антиалиасинга, добавьте такие строки: <match target="font">
<test name="size" compare="less">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>шрифтымежсимвольное расстояниеДля некоторых моноширинных шрифтов антиалиасинг может также
оказаться неприменимым при определении межсимвольного интервала. В
частности, эта проблема возникает с KDE.
Одним из возможных решений для этого
является жесткое задание межсимвольного интервала в 100. Добавьте
следующие строки: <match target="pattern" name="family">
<test qual="any" name="family">
<string>fixed</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
<match target="pattern" name="family">
<test qual="any" name="family">
<string>console</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>(это создаст алиасы для других общеупотребительных имён для
шрифтов фиксированного размера как "mono"), а затем
добавьте: <match target="pattern" name="family">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="spacing" mode="assign">
<int>100</int>
</edit>
</match> С некоторыми шрифтами, такими, как Helvetica, могут получиться
проблемы при антиалиасинге. Обычно это проявляется в виде шрифта,
который наполовину вертикально обрезан. Хуже того, это может
привести к сбоям таких приложений, как
Mozilla. Во избежание этого следует
добавить следующее в файл local.conf: <match target="pattern" name="family">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match> После того, как вы закончите редактирование
local.conf, удостоверьтесь, что вы завершили файл
тэгом </fontconfig>. Если этого не сделать,
то ваши изменения будут проигнорированы.Набор шрифтов по умолчанию, поставляемый с
&xfree86;, не очень желателен, если
включается антиалиасинг. Гораздо лучший набор шрифтов, используемых
по умолчанию, можно найти в порте
x11-fonts/bitstream-vera. Этот
порт установит файл
/usr/X11R6/etc/fonts/local.conf, если такого ещё
не существует. Если файл существует, то порт создаст файл
/usr/X11R6/etc/fonts/local.conf-vera. Перенесите
содержимое этого файла в
/usr/X11R6/etc/fonts/local.conf, и шрифты
Bitstream автоматически заменят используемые по умолчанию в
&xfree86; шрифты Serif, Sans Serif и
Monospaced.Наконец, пользователи могут добавлять собственные наборы
посредством персональных файлов .fonts.conf.
Для этого каждый пользователь должен просто создать файл
~/.fonts.conf. Этот файл также должен быть в
формате XML.LCD-дисплейШрифтыLCD-дисплейИ последнее замечание: при использовании дисплея 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: пробуйте и
смотрите, что работает лучше.Mozillaвеб-браузерыMozillaMozillaАнтиалиасинг должен быть включен при следующем запуске X-сервера.
Однако программы должны знать, как использовать его преимущества.
В настоящее время инструментальный пакет Qt умеет ими пользоваться,
так что вся оболочка KDE может
использовать шрифты с антиалиасингом (обратитесь к о KDE для
выяснения всех подробностей). Gtk+ и GNOME
также можно заставить использовать антиалиасинг посредством капплета
Font (обратитесь к для выяснения всех подробностей).
По умолчанию Mozilla версий 1.2 и выше
будет автоматически использовать антиалиасинг. Для отмены этого
перестройте Mozilla с флагом
-DWITHOUT_XFT.SethKingsleyТекст предоставил Менеджеры Экранов (Display Managers) XВступлениеX Display ManagerМенеджер Экранов X (XDM) это
необязательный компонент
Системы Окон X, который используется для управления login сессиями.
Это полезно в ряде ситуаций, например минимальные
X Терминалы,
декстопы, большие сетевые сервера Экранов. Так как Система Окон X
не зависит от сетей и протоколов, то существует множество различных
конфигураций для X клиентов и серверов запущенных на различных
компьютерах подключенных к сети. XDM
предоставляет графический
интерфейс для выбора сервера к которому Вы желаете подключится и
введения информации авторизующей пользователя, например комбинацию
логина и пароля.Представляйте себе, что XDM
предоставляет такие же
возможности для пользователей, как и программа &man.getty.8;
(смотрите для подробной информации).
И это именно так, XDM производит вход в
систему для подключенного
пользователя и запускает управляющую сессию для пользователя (обычно
это менеджер окон X). После этого XDM
ожидает завершения
приложения, означающее завершение пользователем работы и
отключает управляющую сессию. После этого
XDM может снова вывести
приглашение к входу в систему и ожидать входа другого пользователя.
Использование XDMПрограммой даемона XDM является
/usr/X11R6/bin/xdm. Эта программа может быть
запущена от пользователя root в любой момент, и
она начнёт управлять дисплеем X на локальной машине.
Если XDM нужно запускать
в фоновом режиме каждый раз при запуске компьютера, то наиболее
правильный способ это добавить новую запись в
/etc/ttys. Для более подробной информации о
формате и использовании этого файла смотрите секцию . Это строка, которую необходимо добавить
в файл /etc/ttys для того чтобы запустить
даемон XDM на виртуальном терминале:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureПо умолчанию эта запись отключена; для её включения
нужно заменить пятое поле с off на
on и перезапустить &man.init.8;, используя метод,
описанный в . Первое поле это название
терминала, которым будет управлять программа, ttyv8.
Это означает, что XDM будет запущен на 9ом
виртуальном терминале.Конфигурирование XDMКонфигурационные файлы XDM находятся в
каталоге
/usr/X11R6/lib/X11/xdm. В нём размещаются
насколько файлов, которые используются для изменения
поведения и внешнего вида XDM.
Обычно это следующие файлы:ФайлОписаниеXaccessПравила авторизации клиентов.XresourcesЗначения ресурсов X по умолчанию.XserversСписок локальных и удаленных экранов.XsessionСценарий сессии по умолчанию.Xsetup_*Скрипт для запуска приложений до появления приглашения
к входу в систему.xdm-configГлобальный конфигурационный файл для всех экранов
запущенных на локальной машинеxdm-errorsОшибки сгенерированные серверной программой.xdm-pidID процесса запущенного XDM.В этом каталоге также находятся несколько командных сценариев
и программ используемых для настройки рабочего стола (desktop),
когда запускается XDM. Назначение
каждого из этих файлов будет вкратце описано. Точный синтаксис и
информацию по их использованию описаны в &man.xdm.1;.В конфигурации по умолчанию это просто прямоугольное окно
приглашения ко входу в систему с именем компьютера большим шрифтом
написанным сверху и строками ввода Login: и
Password: внизу. Это хорошая отправная точка
для изменения внешнего вида экранов
XDM.XaccessПротокол, по которому происходит подключение дисплеев,
управляемых XDM, называется X Display
Manager Connection
Protocol (XDMCP). Этот файл представляет собой
набор правил для управления XDMCP соединениями с
удалёнными машинами. По умолчанию он позволяет подключаться
любым клиентам, но это не имеет значения, пока
стандартный файл xdm-config не содержит
указаний по обслуживанию удалённых соединений.XresourcesЭто файл содержащий установки по умолчанию для
приложений запущенных в экране выбора серверов и экране
приглашения к входу в систему. Именно здесь может быть
изменён вид программы входа в систему. Формат этого файла
идентичен файлу app-defaults описанному
в документации к &xfree86;.XserversЭто список удаленных экранов, которые XDM должен предоставить
как варианты для входа в систему.XsessionЭтот файл представляет себя командный сценарий по умолчанию
для пользователей вошедших в систему с использованием
XDM.
Обычно каждый пользователь имеет собственный сценарий входа в файле
~/.xsession, который используется
вместо этого сценария.Xsetup_*Они запускаются автоматически перед тем, как показывается экран
выбора сервера или экран входа в систему. Для каждого экрана
(display) есть свой сценарий с именем Xsetup_,
за которым следует локальный номер экрана (например,
Xsetup_0).
Обычно эти сценарии запускают одну или две программы в
фоновом режиме, например xconsole.xdm-configЗдесь содержатся настройки в формате app-defaults,
которые применимы ко всем экранам данного компьютера.xdm-errorsЗдесь находится выдача X серверов, которые
XDM пытается запустить. Если экран,
который XDM пытается
открыть отключается по некоторым причинам, то это хорошее
место для поиска сообщений об ошибках. Эти сообщения также
записываются в пользовательский файл
~/.xsession-errors для каждого сеанса.Использование сетевого сервера дисплеевДля того, чтобы позволить другим клиентам подключаться к серверу
дисплеев, отредактируйте правила
контроля доступа и включите обслуживание сетевых соединений.
По умолчанию они выключены, что является хорошим решением
с точки зрения обеспечения безопасности. Для того, чтобы
позволить XDM принимать сетевые соединения,
в первую очередь
закомментируйте строку в файле xdm-config:! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0и потом перезапустите XDM. Помните,
что комментарии в файлах app-defaults начинаются с символа
!, а не как обычно, #. Может
потребоваться более жёсткий контроль доступа. Взгляните на примеры из
Xaccess и почитайте Справочник о
&man.xdm.1;.Замены для XDMСуществует несколько программ, заменяющих
XDM. Одна из них,
KDM (поставляемая вместе с
KDE), описана далее в этой главе. В
KDM имеется много визуальных и
косметических улучшений, а также функциональность, позволяющая
пользователям выбирать собственные оконные менеджеры во время
входа в систему.ValentinoVaschettoТекст предоставил Графические оболочкиВ этом разделе описываются различные графические оболочки, доступные
в X для FreeBSD. Термин графическая оболочка может
использоваться для чего угодно, от простого менеджера окон до
полнофункционального набора приложений для рабочего стола типа
KDE или
GNOME.GNOMEО GNOMEGNOMEGNOME является дружественной к
пользователю графической
оболочкой, позволяющей пользователям легко использовать и настраивать
свои компьютеры. В GNOME имеется панель
(для запуска приложений и
отображения их состояния), рабочий стол (где могут быть размещены
данные и приложения), набор стандартных инструментов и приложений для
рабочего стола, а также набор соглашений, облегчающих совместную
работу и согласованность приложений. Пользователи других
операционных систем или оболочек при использовании такой мощной
графической оболочки, какую обеспечивает
GNOME, должны чувствовать
себя в родной среде. Дополнительную информацию относительно
GNOME во FreeBSD можно найти на сайте
FreeBSD GNOME
Project.Установка GNOMEЛегче всего установить GNOME через
меню Desktop Configuration в ходе процесса установки
FreeBSD, как описано в разделе
Главы 2. Её также легко установить из пакаджа или Коллекции
Портов:Для установки пакаджа GNOME из сети,
просто наберите:&prompt.root; pkg_add -r gnome2Для построения GNOME из
исходных текстов используйте дерево портов:&prompt.root; cd /usr/ports/x11/gnome2
&prompt.root; make install cleanПосле установки GNOME нужно указать
X-серверу на запуск GNOME вместо
стандартного оконного менеджера. Если файл
.xinitrc уже откорректирован, то просто
замените строку, в которой запускается используемый менеджер окон,
на ту, что вызовет
/usr/X11R6/bin/gnome-session.
Если в конфигурационном файле нет ничего особенного, то будет
достаточно просто набрать:&prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrcТеперь наберите startx, и будет запущена
графическая оболочка GNOME.Если используется менеджер дисплеев типа
XDM, то это не сработает. Вместо этого
создайте выполнимый файл .xsession с той
же самой командой в нём. Для этого отредактируйте файл,
заменив существующую команду запуска оконного
менеджера на
/usr/X11R6/bin/gnome-session:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionЕщё одним вариантом является настройка менеджера дисплеев таким
образом, чтобы он позволял выбирать оконный менеджер во время входа в
систему; в разделе о KDE2 в
подробностях описывается, как сделать это для
kdm, менеджера дисплеев из
KDE.Шрифты с антиалиасингом и GNOMEGNOMEантиалиасинг шрифтовНачиная с версии 4.0.2, &xfree86;
поддерживает антиалиасинг посредством своего расширения
RENDER. Gtk+ 2.0 и более поздние версии (это
инструментальный пакет, используемый
GNOME) могут использовать такую
функциональность. настройка антиалиасинга описана в
. Таким образом, при наличии современного
GNOME. Просто перейдите в
ApplicationsDesktop PreferencesFont
и выберите либо
Best shapes,
Best contrast, либо
Subpixel smoothing (LCDs). Для приложений
Gtk+, которые не являются частью оболочки
GNOME, задайте в качестве значения
переменной окружения GDK_USE_XFT1 перед запуском программы.KDEKDEО KDEKDE является простой в использовании
современной графической оболочкой. Вот лишь некоторое из того, что
даёт пользователю KDE:Прекрасный современный рабочий столРабочий стол, полностью прозрачный для работы в сетиИнтегрированная система помощи, обеспечивающая удобный и
согласованный доступ к системе помощи по использованию рабочего
стола KDE и его приложенийЕдинообразный внешний вид и управление во всех приложениях
KDEСтандартизированные меню и панели инструментов, комбинации
клавиш, цветовые схемы и так далее.Интернационализация: в KDE
поддерживается более 40 языковЦентрализованное единообразное конфигурирование рабочего
стола в диалоговом режимеБольшое количество полезных приложений для
KDEДля KDE существует пакет офисных
приложений, который выполнен по технологии KParts из
KDE, состоящий из программы для работы с
электронными таблицами, презентационной программы, органайзера,
клиента для чтения телеконференций и других программ. С
KDE также поставляется веб-браузер под
названием Konqueror, который
является серьезным соперником другим браузерам для &unix;-систем.
Дополнительную информацию о KDE можно
найти на веб-сайте
KDE. Для получения информации и информационных ресурсов,
специфичных для KDE во FreeBSD, обратитесь
к сайту команды FreeBSD-KDE
team.Установка KDEКак и в случае с GNOME или любой
другой графической оболочкой, легче всего установить
KDE через меню Desktop
Configuration во время установки FreeBSD, как это описано в
разделе Главы 2. Повторимся ещё
раз, что программное обеспечение можно легко установить из пакаджа
или из Коллекции Портов:Для установки пакаджа KDE из сети,
просто наберите:&prompt.root; pkg_add -r kde&man.pkg.add.1; автоматически сгрузит самую последнюю версию
приложения.Для построения KDE из исходных
текстов воспользуйтесь деревом портов:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanПосле установки KDE нужно
указать X-серверу на запуск этого приложения вместо оконного
менеджера, используемого по умолчанию. Это достигается
редактированием файла .xinitrc:&prompt.user; echo "exec startkde" > ~/.xinitrcТеперь при вызове X Window System по команде
startx в качестве оболочки будет использоваться
KDE.При использовании менеджера дисплеев типа
xdm настройка несколько отличается.
Вместо этого нужно отредактировать файл
.xsession. Указания для
kdm описаны далее в этой главе.Более подробно о KDEТеперь, когда KDE установлена в
системе, можно узнать много нового из её справочных страниц или просто
указанием и щелканием по различным меню. Пользователи &windows; или
&mac; будут чувствовать себя как дома.Лучшим справочником по KDE является
онлайновая документация. KDE
поставляется с собственным веб-браузером, который называется
Konqueror,
десятками полезных приложений и подробной документацией. В оставшейся
части этого раздела обсуждаются технические вопросы, трудные для
понимания при случайном исследовании.Менеджер дисплеев KDEKDEменеджер дисплеевАдминистратору многопользовательской системы может
потребоваться графический экран входа в систему для
приглашения пользователей. Вы можете использовать xdm, как это описано
ранее. Однако в KDE имеется
альтернативный менеджер kdm, который был
разработан для того, чтобы выглядеть более привлекательно и иметь
большее количество настраиваемых опций для входа в систему. В
частности, пользователи могут легко выбирать (посредством меню),
какую оболочку (KDE,
GNOME или что-то ещё) запускать после
входа в систему.Чтобы начать, запустите панель управления
KDE, kcontrol, из-под
пользователя root. Вообще говоря, считается
небезопасным работать в X пользователем
root. Вместо этого запустите менеджер окон
как обычный пользователь, откройте окно терминала (такого, как
xterm или konsole) из
KDE, станьте пользователем
root по команде su (для
этого нужно быть членом группы wheel из
/etc/group), а затем наберите
kcontrol.Щёлкните на иконке слева с надписью
System, затем на Login
manager. Справа имеется много
различных параметров настройки, которые более детально описаны в
руководстве по KDE. Щёлкните на
sessions справа. Щёлкните на кнопку
New type для того, чтобы добавить
различные оконные менеджеры и графические оболочки. Это просто
названия, так что они могут именоваться
KDE или GNOME,
а не startkde или
gnome-session.)
Включите название failsafe.Поэкспериментируйте также и с другими меню, они в
основном носят косметический характер и самоописательны. Когда
закончите, щёлкните на Apply внизу и завершите
работу панели управления.Чтобы kdm понимал, что значат эти
названия (KDE,
GNOME и так далее), отредактируйте файлы,
которые использует xdm.
В KDE 2.2 это изменилось: в
kdm теперь используются собственные
конфигурационные файлы. Пожалуйста, обратитесь к документации
по KDE 2.2 для получения подробной
информации.В окне терминала, работая как пользователь
root, отредактируйте файл
/usr/X11R6/lib/X11/xdm/Xsession. В середине
есть раздел, выглядящий вот так:case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacНужно добавить к этому разделу несколько строк. Полагая, что
ранее использовались названия KDE и
GNOME, сделаем следующее:case $# in
1)
case $1 in
kde)
exec /usr/local/bin/startkde
;;
GNOME)
exec /usr/X11R6/bin/gnome-session
;;
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacЧтобы выбор KDE в качестве оболочки
на момент входа в систему был принят, нужно добавить такую строку в
/usr/X11R6/lib/X11/xdm/Xsetup_0:/usr/local/bin/kdmdesktopТеперь проверьте, что
kdm перечислена в файле
/etc/ttys для запуска при следующей загрузке.
Для этого просто следуйте инструкциям из предыдущего раздела
о xdm, заменив отсылки к программе
/usr/X11R6/bin/xdm на
/usr/local/bin/kdm.Шрифты с антиалиасингомKDEантиалиасинг шрифтовНачиная с версии 4.0.2, &xfree86;
поддерживает антиалиасинг через своё расширение
RENDER, а начиная с версии 2.3, Qt (инструментарий,
используемый в KDE) поддерживает это
расширение. Настройка этого описана в по
антиалиасингу с шрифтами X11. Таким образом, при работе с
современным программным обеспечением в оболочке
KDE возможно использование
антиалиасинга. Просто перейдите в меню KDE, затем к
PreferencesLook and FeelFonts
и поставьте галочку рядом с
Use Anti-Aliasing for Fonts and Icons. Для
работы с приложением Qt, которое не является частью
KDE, перед его запуском нужно
устанавливать переменную окружения QT_XFT в
значение true.XFceО XFceXFce является графической оболочкой,
построенной на основе инструментального пакета GTK, используемого в
GNOME, но гораздо легче и предназначен
для тех, кому нужен простой, эффективно работающий рабочий стол,
который легко использовать и настраивать. Визуально он выглядит
очень похоже на CDE, который есть в
коммерческих &unix;-системах. Вот некоторые из достоинств
XFce:Простой, лёгкий в обращении рабочий столПолностью настраиваемый при помощи мыши, с
интерфейсом drag and drop и так далееГлавная панель похожа на CDE, с
меню, апплетами и возможностями по быстрому запуску
приложенийИнтегрированный оконный менеджер, менеджер файлов,
управление звуком, модуль совместимости с
GNOME и прочееВозможность использования тем (так как использует
GTK)Быстрый, легкий и эффективный: идеален для
устаревших/слабых машин или для машин с ограниченной
памятьюДополнительную информацию о XFce
можно найти на сайте
XFce.Установка XFceДля XFce имеется (на момент написания
этого текста) бинарный пакадж. Для его установки просто
наберите:&prompt.root; pkg_add -r xfce4Либо в случае построения из исходных текстов используйте
Коллекцию Портов: &prompt.root; cd /usr/ports/x11-wm/xfce4
&prompt.root; make install cleanТеперь укажите X-серверу на запуск
XFce при следующем
запуске X. Просто наберите вот что:
- &prompt.user; echo "/usr/X11R6/bin/startxfce" > ~/.xinitrc
+ &prompt.user; echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrcПри следующем запуске X в качестве рабочего стола
будет использоваться XFce.
Как это сказано выше, если используется
менеджер дисплеев, такой, как xdm, создайте
файл .xsession так, как это
описано в разделе о GNOME, но
- с командой /usr/X11R6/bin/startxfce, либо
+ с командой /usr/X11R6/bin/startxfce4, либо
настройте менеджер дисплеев так, чтобы он разрешил выбор рабочего
стола во время входа в систему, как это описано в разделе о kdm.