Существует одна проблема с письмами, посланными таким способом - у них будет заголовок группы новостей. Эта проблема в принципе не доставляет много неприятностей. Было бы неплохо, если бы существовала программа, которая их перехватывает и исправляет заголовки до того, как сообщения отосланы.
Если у вас это не работает, то вам придется проследить весь путь сообщений, чтобы узнать, где находится ошибка. Полезными вещами окажутся журналы писем и новостей.
Гораздо проще понять, как это работает, можно проследив путь сообщения со списка новостей в локальную группу новостей и другой вариант, при котором сообщение сначала попадает в локальную группу новостей, а затем рассылается пользователям.
Вы можете скачать архив mail2news вместе со скриптом и этим HOWTO с
http://www.netizen.com.au/~bekj/code/mail2news/ |
Bek Oberin
bekj@netizen.com.au
Перевод: Александр Ермолаев, ASPLinux
Этот документ описывает, как настроить ваш сервер новостей и программу mail2news.
Создайте группы новостей на вашем сервере используя ctlinnd. Помните, что это местные группы новостей, поэтому дайте им определенные названия, для того, чтобы их в последствии можно было фильтровать.
Так же innd должен быть "уведомлен" о том, что группа модерируется (при помощи ctlinnd). Помните, что innd очень придирчиво относится к правам владения файлом и доступу к нему, поэтому вам необходимо обращаться с innd как пользователю новостей. Указание на то что группа модерируется, делается указанием ключа m в команде newgroup.
ctlinnd newgroup lists.jokes m |
Ключ m указывает innd, что группа модерируется.
Отредактируйте файл newsfeeds так, чтобы имена групп не повторялись.
Например, если ваш список рассылки называется local.site.group, то вам лучше добавить во второе поле входящего (и возможно исходящего) потока строку !local*.
Теперь для того чтобы сообщения пользователей посылаются автоматически демоном innd, отредактируйте /etc/news/moderators путем включения строки в которой указан адрес списка рассылки модератора.
lists.jokes:jokes@netizen.com.au |
Скопируйте скрипт mail2news в удобное место. Лучше в /usr/local/bin.
Теперь вам нужно его отредактировать следующим способом:
удостоверьтесь, что в начале скрипта у вас идет ссылка на местную программу Perl. Вы можеет выяснить где находится Perl, написав в командной строке 'whereis perl' или 'which perl'. Если вы не смогли ее найти, то посмотрите в /usr/bin/perl это самое удобное место для размещения:
#!/usr/bin/perl # укажите реальное расположение perl |
Отредактируйте нижеследующую часть в соответствии с местонахождением почтовой программы (я использую rnews, inews тоже будет работать) и хоста с новостями:
# $inews = "/usr/bin/inews"; # $iopts = "-h -o \"mail2news gateway\""; $inews = "/usr/bin/rnews"; $iopts = ""; $postinghost = "your.news.server"; # points at your news server |
Удостоверьтесь, что скрипт запускаем:
chmod 755 /usr/local/bin/mail2news |
Когда сообщение из списка рассылки поступает на вашу машину, procmail показывает, к какой группе новостей оно принадлежит, и передает его в управление mail2news.
Скрипт mail2news обрабатывает это сообщение, прилагает к нему заголовок и затем, при помощи rnews или inews, отсылает его в местную группу новостей.
Файл настройки procmail находится в /.procmailrc. Если у вас нет файла procmailrc, то создайте его.
Сделайте запись для каждого списка рассылки которые поступают на ваш локальный сервер новостей. Обычно это срабатывает, кроме случаев, когда все рассылается с использованием Bcc (невидимые копии).
Например, если ваш список рассылки 'jokes@netizen.com.au' и вы хотите чтобы группа новостей называлась 'lists.jokes', то ваша запись будет выглядеть следующим образом:
:0 * TOjokes@netizen.com.au |/usr/local/bin/mail2news lists.jokes |
Заметьте, что между 'TO' и адресом во второй строке нет пробела.
Вам понадобится поместить пустую строку между строками для каждой группы новостей. Сделайте столько записей, сколько вам понадобится, используя 3 строки для каждой группы, но изменяя адрес и группы название новостей.
Местная группа новостей является модерируемой (сообщения кем-то фильтруются), что позволяет воспользоваться преимуществами innd. Любое сообщение, посланное в местную группу новостей, не сразу попадают в группу. Они посылаются сначала модератору группы.
Если мы заменим модератора группы новостей на список рассылки, то все местные сообщения в группу новостей будут автоматически выкладываться в группу новостей демоном innd.
Часто бывает полезным установить некоторую задержку при доставке почты на время набора номера и установления соединения. Это означает, что, если sendmail пытается установить соединение, но получает отказ, так как связь еще не установилась, то он будет ждать некоторое время, а затем пытаться вновь.
Непосредственное конфигурирование sendmail.cf
Где-то в вашем sendmail.cf должна быть строка, похожая на эту:
#O DialDelay=10s |
(или очень похожая). Удалите символ "#". Если этого символа уже нет, то значит все в порядке (видимо Вы сделали это ранее).
Если же нет ничего похожего на эту строку, то сами вставьте ее (лучше всего сделать это в разделе "options"):
O DialDelay=10s |
А сейчас измените значение "10s" на значение, которое Вы считаете подходящим.
Конфигурирование sendmail.cf, при помощи m4-файлов
Добавьте следующую строку в файл /usr/src/sendmail-8.8.7/cf/cf/имя_вашей_машины.smtp.mc:
define(`confDIAL_DELAY',`10s') |
А теперь измените значение"10s" на значение, которое Вы считаете подходящим.
Файл sendmail.cf будет построен автоматически с использованием специальных команд. Сохраните старую версию /etc/sendmail.cf перед тем, как устанавливать новую:
cp /etc/sendmail.cf /etc/sendmail.cf.bak cd /usr/src/sendmail-8.8.7/cf/cf m4 yourhostname.smtp.mc > /etc/sendmail.cf |
E-Mail может быть доставлена непосредственно с использованием команды "sendmail -q". Для тех, кому интересно, что при этом происходит, используйте "sendmail -q -v", и вы получите больше информации об этом процессе.
Очень удобно автоматизировать этот процесс. Для этого используется cron.
Отредактируйте ваш crontab:
crontab -e |
Добавьте в него строки следующего формата:
05 18-23,0-7 * * Mon,Tue,Wed,Thu,Fri /usr/sbin/sendmail -q 05 * * * Sat,Sun /usr/sbin/sendmail -q |
Пожалуйста, обратитесь руководству по crontab (man 5 crontab) для более подробной информации. Мне кажется, что формат довольно очевиден. Данный пример записи посылает почту (если, и еще раз если, она находится в очереди) в 5 минут некоторых часов из определенных дней недели, начиная в 18:05 и заканчивая в 7:05. В выходные, e-mail отправляется в 5 минут каждого часа, начиная в 0:05 субботы и заканчивая в 23:05 воскресенья.
Поскольку вызов осуществляется по требованию, желательно заодно иметь систему, которая забирает почту через POP3 протокол в определенное время дня. Вы можете добавить в crontab следующее:
0 21 * * * popclient -3 -u -p -o /var/spool/mail/ |
Конечно, все это обязательно должно быть в одной строке.
Затем сохраните файл и выйдите из редактора. Crontab запомнит все изменения.
Серьезные пользователи sendmail для этой задачи используют файлы m4. Я рекомендую это решение, если в ваши планы входит последующее расширение (изменение) функциональности sendmail, а также все нетривиальные изменения sendmail.cf.
Если Вы никогда не собираетесь менять настройку sendmail для изменения заголовков писем, при том, что IP - адрес выделяется для Вас динамически или что-то в этом духе, то использование файлов m4 может быть для Вас необязательным.
Непосредственное конфигурирование sendmail.cf для простых конфигураций
Этот способ - экстремальный, по сравнению с использованием M4. Следующее решение работает только для sendmail-8.8.x.
Редактируем /etc/sendmail.cf:
По причинам, описанным в [1.2], я рекомендую изменять m4 файлы, вместо непосредственного редактирования sendmail.cf. Это сэкономит много нервов и позволит избежать неприятных незапланированных осечек, а также сделает конфигурацию более гибкой.
Сначала реализуйте все шаги, описанные в первой части. Затем прочтите материал, специфичный "доставке по требованию".
Непосредственное конфигурирование sendmail.cf для простых конфигураций
!Непосредственное конфигурирование очень непрактично и негибко, но ведь вы этого хотите.
Найдите в вашем sendmail.cf строку, похожую на эту:
Leif Erlingsson
leif@lege.comjptietze@mail.hh.provi.de
Перевод: Александр Ермолаев, ASPLinux
Отложенная Удаленная Почта + Доставка Локальной Почты (Queue Remote Mail + Deliver Local Mail) Для того, чтобы Sendmail локально доставлял почту, необходимо изменение конфигурации. Почта будет находится в очереди, пока я не скажу "вперед".
1.x версия этого текста содержала пункт 'Поддержка меню' для /var/X11R6/lib/fvwm/system.fvwmrc. В настоящем документе это опущено, однако эту информацию можно получить, написав по адресу:
``Menu support suggestions '', Тема: ``Menu support suggestions''
Написано Jan P Tietze .
У многих пользователей Linux есть доступ в Интернет через телефонные линии, и многие решили реализовать на своей системе "доставку почты по требованию". То есть всякий раз, когда некоторый IP - пакет должен выйти за пределы локальной сети или машины, автоматически происходит соединение с провайдером услуг Интернет (ISP). Cвязь завершается после некоторого периода бездействия (пакеты для доставки в Интернет отсутствуют).
Хотя это очень удобно и эффективно, с точки зрения стоимости решения, имеется один частный случай, когда это не совсем так (мы помним, что время установления соединения через "обычную" модемную линию относительно велико). И этот случай связан с посылкой электронной почты. E-Mail обычно посылается через SMTP, локально настроенной на вашей системе, через SMTP-сервер, который постоянно находится в Интернет (SMTP-сервер вашего провайдера).
Когда Вы посылаете сообщение, линия будет поднята и связь установлена. Все будет хорошо, если делаете Вы это нечасто, однако если Вы посылаете множество сообщений (писем), то это станет утомительно и невыгодно. Более того, если ваш провайдер налагает ограничения на время или количество звонков, то это уменьшит возможность посылать письма в течении дня, и Вам придется делать это вручную в другое время.
Глава 1 данного документа позволит выйти из этой ситуации, хотя в системах, где имеется внешний поиск DNS имен, это все равно вызовет соединение с ISP. Хотя почта и будет поставлена в очередь. Это случается потому, что sendmail пытается "канонизировать" имена хостов.
Решение этой проблемы двояко: Сначала мы подправим sendmail.cf. Затем мы должны определить процесс, который действительно займется доставкой почты. Лично я предпочитаю использовать crond и создавать задания - это будет описано ниже.
Написано Leif Erlingsson .
Первоначальная версия этой части содержала много ненужного материала. Сейчас осталось только то, что требуется. Точно...
В процессе моей работы с Linux и модулями ядра, я столкнулся с тем, что ни в одном документе нет удовлетворительного описания того, как настроить и использовать модули ядра Linux. Советы, приведенные в этом документе, проверялись и использовались не один раз как на моей машине, так и на многих других машинах, разбросанных по Internet. Здесь я опишу, как пользоваться тем или иныи устройством, драйвер которого может быть собран только в виде модуля.
На моей машине установлен RedHat Linux 4.1, и я использовал именно этот дистрибутив для проверки советов, приведенных в этом документе. Я проверил эти советы и на различных версиях дистрибутива Slackware, а также на Debian. Все необходимые коррективы, связанные с различием дистрибутивов, также приведены в этом документе.
Совсем недавно я проверил эти советы в RedHat 4.2, но получил разные результаты на практически одинаковых системах. Я пока еще не определил, в чем возникла проблема, поэтому на данный момент я не могу дать никаких гарантий работоспособности этих советов на вашей системе. |
rhw@bigfoot.com
Перевод: Станислав Рогин, ASPLinux
В этом документе описывается установка и использование модулей ядра Linux.
Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".
Процедуры загрузки системы дистрибутивов Debian и RedHat идентичны, поэтому у них совпадает и процедура настройки модулей.
Зайдите в систему в качестве root-а, и, при помощи вашего любимого текстового редактора, создайте файл /etc/rc.d/init.d/modules.init, написав в нем следующее:
Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".
Теперь вам надо отредактировать файл /etc/rc.d/rc.M
примерно следующим образом:
В районе строки 18 есть раздел, содержащий следующее:
Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".
Точная последовательность действий в других дистрибутивах, конечно же, не может быть определена, но, скорее всего, она будет совпадать с одной из вышеописанных. Для того, чтобы определить, которая из них вам подходит, вы можете просмотреть содержимое каталога /etc/rc.d, следующим образом:
cd /etc/rc.d ls -l *.d rc.* |
В зависимости от того, что вы увидите на экране, у вас есть три варианта действий:
Если в этом списке есть каталог init.d и несколько каталогов с именем вида rc?.d, где вместо знака вопроса стоят различные цифры, и в этом списке НЕТ файла с именем rc.M, то этот дистрибутив можно настроить так, как описано в главе "Настройка поддержки модулей в дистрибутивах Debian и RedHat".
Если в этом списке НЕТ каталога init.d, но есть файл rc.M, то этот дистрибутив можно настроить так, как описано в главе "Настройка поддержки модулей в дистрибутиве Slackware".
Если ваш список не удовлетворил предыдущим двум вариантам, то процедура загрузки вашей системы не описана в этом HowTo. В этом случае вы можете связаться с автором этого документа, и он вам поможет настолько, насколько это возможно.
Для того, чтобы использовать советы, приведенные в этом документе, у вас должна быть работающая Linux-система, в которую вы можете войти как root, так как большинство шагов, описанных здесь, требуют прав именно этого пользователя.
Существующее ядро может быть собрано как с поддержкой загружаемых модулей, так и без них, даже если при загрузке системы выдаются сообщения об ошибках, возникающих из-за отсутствия необходимых модулей. Главное, чтобы выполнялись вышеуказанные условия.
Я предполагаю, что в вашей системе исходные тексты ядра находятся в каталоге /usr/src/linux. Также я предполагаю, что при исполнении любых команд, приведенных в это тексте, вы находитесь именно в этом каталоге.
Почти все функции ядра могут быть собраны в виде модулей. Исключением является драйвер файловой системы, на которой находится корневой раздел (обычно это файловая система ext2)
Однако, некоторые вещи очень сложно настроить, если их поддержка собрана в виде модуля, и я бы рекомендовал встроить в ядро:
Драйверы сетевых карт Ethernet.
Драйверы SCSI CD-ROM.
С другой стороны, существуют такие комбинации драйверов, которые работают ТОЛЬКО если они собраны в виде модулей, особенно если их несколько:
Драйвер принтера на параллельном порту,
Драйвер внешнего дисковода, подключаемого к параллельному порту (такие как IOMEGA ZipDrive или JazzDrive, или BackPack CD-ROM), и
Демон PLIP
Вам надо самим решить, что вы встроите в ядро, а что соберете в виде модулей. Не забудьте про то, что я вам говорил выше. Выбирать вы будете в процессе исполнения второй из следующих трех команд:
Если на вашей машине 16 или больше Мегабайт ОЗУ, то вы можете использовать полезную вещь, которая позволит вам компилировать несколько модулей ядра одновременно. Это увеличит степень загрузки процессора при компиляции, но серьезно уменьшит время сборки модулей.
Перед тем, как использовать это ускорение, вам надо проверить объем оперативной памяти вашего компьютера, потому что, если вы установите слишком большое значение ускорения, компиляция может сильно замедлиться. Опыт показал, что оптимальное значение зависит от объема ОЗУ компьютера по следующей формуле (по крайней мере, для компьютеров с ОЗУ до 32 Мб. На компютерах с большим объемом памяти все может немного отличаться):
N = [Объем ОЗУ в Мегебайтах] / 8 + 1
Если вы не любите считать по формулам, то вы можете взять значения из следующей таблицы:
Таблица 1. Таблица коэффициентов
16 Мб | 3 |
24 Мб | 4 |
32 Мб | 5 |
40 Мб | 6 |
48 Мб | 7 |
56 Мб | 8 |
64 Мб | 9 |
80 Мб | 11 |
96 Мб | 13 |
112 Мб | 15 |
128 Мб | 17 |
После того, как вы выберете для себя значение коэффициента, откройте файл /usr/src/linux/Makefile
и найдите строку, в которой написано следующее:
MAKE=make |
И замените ее на:
MAKE=make -j N |
где N - это значение коэффициента ускорения.
Renzo Zanelli
rzanelli@southeast.net
Перевод: Денис Дементьев, ASPLinux
Данный документ описывает процесс обеспечения нормального запуска систем Windows 95, Windows NT и Linux, установленных на одном компьютере, с помощью LILO - системного загрузчика Linux.
Под Linux необходимо отредактировать фалй /etc/lilo.conf и перезагрузить LILO. В файле /etc/lilo.conf должна быть такая строка:
boot=/dev/hda |
Строки, описывающие пункт меню "Linux", уже должны быть в файле:
# Linux stanza image=/vmlinuz root=/dev/hdc1 label=Linux # End Linux stanza |
Теперь добавим строки для пункта меню "Windows 95":
# Windows 95 stanza other=/dev/hda1 table=/dev/hda label=Windows95 # End Windows 95 stanza |
И еще добавим строки для пункта меню "Windows NT":
# Windows 95 stanza other=/dev/hdb1 table=/dev/hda loader=/boot/any_d.b label=WindowsNT # End Windows 95 stanza |
Сейчас необходимо перезапустить LILO. Теперь при загрузке LILO у вас в меню должны быть и Windows 95, и Windows NT, и Linux. Пока должны загружаться только Linux и Windows 95 (при запуске Windows вы должны попадать в меню загрузчика NT). Чтобы нормально загружать Windows NT, нужно сделать еще кое-что под Windows NT (пункт 4).
Когда вы начнете устанавливать операционные системы на компьютер, то убедитесь, что устанавливаете их на основные загружаемые разделы. Я устанавливал и Windows 95 и Windows NT на разделы с файловой системой Fat16, так что точно могу сказать, что все работает на таких дисках. Если вы решитесь использовать Fat32 для Windows 95 или NTFS для Windows NT, то проверьте, поддерживает ли их ваша версия Linux, и до какой степени.
Windows NT Workstation Version 4.00 Windows NT Workstation Version 4.00 [VGA mode] Microsoft Windows |
SYS C: |
Boot.ini Bootsect.dos Ntdetect.com Ntldr |
Прежде всего необходимо сделать две вещи.
Во-первых, скачать и разархивировать программу BootPart (автор Gilles Vollant). Найти ее можно по адресу http://www.winimage.com/bootpart.htm
там же находится и информация о ее использовании.
Во-вторых, необходимо скопировать (и пока не удалять!) следующие файлы в корневой каталог диска с установленным Windows NT:
Boot.ini Bootsect.dos Ntdetect.com Ntldr |
Эти файлы и есть системный загрузчик NT. Они расположены в корневом каталоге диска с Windows 95, туда их поместила программа установки Windows NT при инсталляции.
Как только все это сделано, загрузитесь в режиме командной строки MSDOS (нажимайте Shift+F5 при загрузке Windows 95) и выполните следующую команду:
BOOTPART WINNT BOOT:D: |
Сейчас надо отредактировать файл Boot.ini в корневом каталоге Windows NT. Надо поправить три строки, одну в разделе [boot loader], и две в разделе [operating systems].
Вот как выглядел до правки файл Boot.ini:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(1)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version 4.00" multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos C:\ = "Microsoft Windows" |
А вот как теперь выглядит исправленный файл Boot.ini:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00" multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos |
Отметьте, что все вхождения "rdisk(1)" были изменены на "rdisk(0)", а все строки, касающиеся Windows 95, удалены.
Если все сделано правильно, то после сохранения Boot.ini и перезагрузки, вы должны просто запустить Windows NT из меню LILO.
Во время процесса загрузки Х терминал попытается переправить и загрузить файлы с запускающей машины. Для успешной загрузки Х терминала эти файлы не требуются. Если файл не найден, терминал использует настройки по умолчанию.
Файлы настройки, посылаемые Х терминалу во время загрузки:
файл конфигурации Х терминала (напр. ncd.conf), используемый для сохранения настроек терминала
файл цветов (напр. rgb.txt).
база данных настроек клавиатуры (напр. XKeysymDB)
файлы каталога шрифтов (напр. font.dir, font.alias).
После успешного завершения загрузки должно появиться окно консоли Х терминала с меню. Кнопка настройки терминала выводит/прячет окно консоли. В выпадающем меню 'setup' окна консоли отражены характеристики терминала. Они могут быть изменены и сохранены в файле настроек для дальнейшего использования.
Если TFTP применяется для передачи файлов с загрузочной машины, все пользователи должны иметь право читать файл. Так же, чтобы файл настройки для запускающей машины был сохранен, он должен иметь разрешение на запись. Если используется secure TFTP (рекомендуется из соображений безопасности), то доступ к файлу возможен только через указанные каталоги.
Внимание! Терминал может не загрузиться, если перед этим он был настроен на работу с другими машинами или под отличающиеся параметры настройки. Проблема решается удалением сохраненных настроек путем сброса энергонезависимой памяти.
Для сброса NVRAM наберите команду 'nv'. В этом подменю выберите 'l', чтобы загрузить настройки по умолчанию; 's' для сохранения; и 'q' для выхода. Повторите процедуру загрузки, описанную выше.
NCD Х терминал (модель Xncd19r была использована при подготовке этого документа) имеет коннектор RJ-45 (витая пара) для работы в 10baseT Ethernet. Хаб необходим для соединения более двух устройств Ethernet с использованием витой пары. Если Х терминал и его машина являются единственными устройствами в сети, они могут быть связаны с помощью нуль-кабеля, описанного в документе HOWTO по Linux Ethernet.
Х терминал- это устройство, которое связывает компьютеры и отображает информацию, используя сетевую систему X Window. Обычно пакет программ Х терминала, называемого Х сервер, подгружается из сети в момент запуска. Пакеты программ, отличные от пакетов программ Х сервера (X client programs), запускаются не на Х терминале(за некоторым исключением); Х терминал отображает программы, запущенные на других машинах в сети. Х терминал, в свою очередь, - это тип сетевого компьютера, который использует Х протокол для доступа к сетевым ресурсам.
Процесс подсоединения Х терминала к сети UNIX может быть кратко сведен к выполнению следующих шагов :
физически подключите Х терминал к сети
настройте хост UNIX, с которого Вы хотите загрузиться
настройте процедуру загрузки Х терминала
загрузите Х терминал
войдите в сеть
Доступ к меню настройки осуществляется нажатием кнопки 'Setup' или введением команды 'se' после приглашения '>'.
Get IP Addresses From
IP адрес Х терминала, хранящийся в энергонезависимой памяти. Выберите пункт 'Network', если Вы используете RARP (reverse ARP) для получения IP адреса Х терминала с удаленной машины.
Terminal IP Address
IP адрес, назначенный X терминалу (например 10.0.0.2). Это то же, что и параметр 'terminal_IP'.
First Boot Host IP Address
IP адрес загрузочной машины (например 10.0.0.1). Это то же, что и параметр 'host_IP'.
Gateway IP Address
IP адрес шлюза подсети. Это то же, что и параметр 'gateway'.
Subnet Mask
Маска подсистемы, указанная в виде десятичных чисел. Это то же, что и параметр 'subnet_mask'.
Broadcast IP Address
Широковещательный IP адрес подсети (например 10.255.255.255)
Boot File
Имя файла, закачиваемого с удаленной машины, содержащего программное обеспечение Х сервера. Файл используется для загрузки Х терминала (например "Xncd19r"). Это то же, что и параметр 'file'.
TFTP Boot Directory
Имя каталога, содержащего файл загрузки (например "/usr/X11/lib/X11/ncd/" или "/tftpboot/").
Config file
Имя файла настройки Х терминала на удаленной машине.
UNIX Config Directory
Имя каталога, содержащего файлы настройки Х терминала (например "/usr/X11/lib/X11/ncd/").
TFTP Order, NFS Order, Local Order
Задайте '1' выбранному способу загрузки. Задайте '1' TFTP при загрузке с машины с использованием BootP.
После включения Х терминал готов к загрузке. Это процесс, в ходе которого программное обеспечение загружается в память и запускается. Если Х терминал не может запуститься, появится приглашение к вводу '>' Boot Monitor. Boot Monitor - это программа производителя, находящаяся в ППЗУ терминала. С интерфейсом Boot Monitor можно настраивать терминал на загрузку и загрузить программное обеспечение Х сервера с машины. Используйте '?' для вывода списка комманд Boot Monitor
Параметры настройки хранятся в энергонезависимой памяти и сохраняются перед выключением терминала.
Из Boot Monitor терминал загружается с использованием 'bt' команд или систем меню. Действие обоих методов во многом пересекается, однако меню обеспечивает управление большим количеством параметров настройки.
В момент запуска Х терминал скачивает файлы (включая программное обеспечение для Х сервера) с удаленной машины в сети. После загрузки терминала Х сервер управляет вводом, выводом, локальными клиентами, а также протоколом обмена Х-ов. Программное обеспечение Х сервера работает на Х терминале и не обязательно совместимо с программным обеспечением машины, на которой оно находится.
Ian Hodge
ian@permedia.ca
Перевод: Станислав Рогин, ASPLinux
В этом документе описывается процесс подключения X-Терминала NCD к UNIX-машине
X terminal: NCD model NCD19r с 19 монохромным монитором 1280x1024 8M RAM
пограмма X server: NCDware V3.2.CV 19r_s
Удаленный хост: IBM Cyrix 686 P150+ с Slackware (Linux kernel version 2.0.31)
Удаленный хост: IBM Cyrix M2 200 MMX с Red Hat 5.0 (Linux kernel version 2.0.32)
Сетевая карта: 10 base T Ethernet (ne2000 совместимая) и 8 портовый хаб
Сервер шрифтов вер. 2 релиз номер 6300
Пожалуйста, направляйте ian@permedia.ca любые комментарии, вопросы, исправления и предложения. Большое спасибо всем, кто направлял нам дополнительные сведения.
Мне известно, что последовательность действий, описанная в данном документе, справедлива для следующих терминалов: NCD 19r, NCD 19c, NCD19m?, NCD 15b, NCD MCX
Программное обеспечение сервера Х терминала можно приобрести у разработчика, а также он обычно поставляется при покупке терминала. Оно должно находиться на запускающей машине, где к нему имеется доступ в момент загрузки Х терминала. Терминал можно запустить с любой машины, которая поддерживает коммуникационный протокол (это будет объяснено в следующих главах). В дополнение к Х серверу существует пакет приложений, таких как window manager, которые могут работать на Х терминале.
Сервер шрифтов (xfs) работает на машине в сети и отыскивает шрифты для Х терминала, и других клиентов в сети. Применение сервера шрифтов позволяет использовать большее разнообразие шрифтов, так как программное обеспечение Х сервера ограничено растровыми шрифтами. Во время загрузки сервер шрифтов может распаковывать, масштабировать и конвертировать шрифты для Х сервера, а также может помочь упростить управление шрифтами для групп терминалов и пользователей в сети. Программное обеспечение сервера шрифтов введено в Х консорциум программного обеспечения (ftp.x.org) и поставляется с большинством дистрибутивов Linux.
Для использования сервера шрифтов существует запись tcp service, а не пути к шрифтам файла настроек или меню настройки консоли.
Формат записи tcp service tcp/:
Пример: tcp/10.0.0.1:7100
Пример записи в файле настройки, находящемся на запускающей машине:
xserver-default-font-path = { { "tcp/10.0.0.1:7100" } { "built-ins" } }
Команда xset с указанием сервиса tcp добавляет сервер шрифтов к пути:
xset +fp tcp/10.0.0.1:7100
Внимание! Некоторые версии NCD требуют, чтобы запись сервера шрифтов предшествовала записям встроенных шрифтов. Это противоречит документу "Руководство системного администратора для системы UNIX" по NCD. Поэкспериментируйте с порядком путей к шрифтам и проверьте результаты с помощью команды 'xset q'.
Сервер шрифтов запускается в момент загрузки из скрипта запуска rc.local. Сервер шрифтов (xfs) запускается следующей командой:
xfs -config -port
7100 - стандартный порт сервера шрифтов.
Пример:
xfs -config /usr/X11/lib/X11/fs/config -port 7100
Пример файла настроек сервера шрифтов:
# Файл настроек сервера шрифтов: # максимальное количество клиентов = 10 client-limit = 10
# когда количество клиентов достигнет client-limit, запустится еще один сервер clone-self = on
# использовать системный журнал в качестве журнала ошибок use-syslog = on
# список каталогов шрифтов
catalogue = /usr/X11R6/lib/X11/fonts/misc/, /usr/X11R6/lib/X11/fonts/Speedo/, /usr/X11R6/lib/X11/fonts/Type1/, /usr/X11R6/lib/X11/fonts/75dpi/, /usr/X11R6/lib/X11/fonts/100dpi/
# файл используется для записи ошибок в журнал, если syslog не используется. error-file = /usr/X11R6/lib/X11/fs/fs-errors
# 12 пунктов в десятых долях пункта default-point-size = 120
# 100 x 100 и 75 x 75 default-resolutions = 75,75,100,100
Х терминал поставляется с небольшим набором шрифтов. В меню настроек Х терминала и в файлах настройки эти шрифты описаны как встроенные (built-ins). Терминал может обходиться только им, однако желательно иметь большее количество шрифтов. Шрифты могут быть добавлены по указанным в меню настройки путям к файлам шрифтов или путем применения команды xset.
Если программное обеспечение Х сервера уже запущено и работает на Х терминале, то путь к файлам шрифтов может быть изменен или запрошен с помощью команды xset.
Для запроса: xset -q
Для добавления записи о шрифте: xset +fp
Для удаления записи о шрифте: xset -fp
>bt file terminal_IP host_IP gateway_IP subnet_mask
file
Имя файла, который скачивается с удаленной машины, содержащий программу Х сервера, используется для загрузки Х терминала (например "Xncd19r"). Убедитесь, что имя файла совпадает с именем, в соответствующей записи файла bootptab (объяснение смотри в предыдущем разделе).
terminal_IP
IP адрес, назначенный Х терминалу (например 10.0.0.2). Повторю, что этот IP адрес должен быть таким же, как и адрес, заданный в соответствующей записи файла bootptab.
host_IP
IP адрес загрузочной машины (например 10.0.0.1).
gateway
IP адрес шлюза подсети (например 10.0.0.1)
subnet_mask
маска подсистемы в виде десятичного IP адреса или шестнадцатеричного числа (например 255.0.0.0 или ff000000)
Возможно, имеет смысл запускать сервер шрифтов, используя inetd?
Если удаленная машина с запущенным сервером шрифтов перезапускалась, когда сервер шрифтов был активен, Х терминалу может не удаться загрузка шрифтов. Путь к файлам шрифтов должен быть введен заново, с помощью меню консоли или команды xset. Почему?
Похожи ли процедуры для других моделей Х терминала ?
Какова процедура загрузки Х терминала с использованием NFS (Network File System) или RARP (Reverse Address Resolution Protocol)?
На консоли Х терминала появляются следующие сообщения. Я подозреваю, что они приходят от расширений xfree86 , не являющихся частью сервера Х терминалов. Может ли кто-нибудь подтвердить или опровергнуть это?
%XSERVER-I-NEWCLIENT, host "localhost" connected with blank authorization %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "BIG-REQUESTS" %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XKEYBOARD" %XSERVER-W-NOEXTENSION, client attempted to use non-existent extension "XFree86-Misc"
Может ли Linux быть портирован в Х терминал?
Unix страницы руководства: bootpd(8), tftpd(8), bootptab(5), xdm(1x), xfs(1), fsinfo(1), xset(1), inetd(8)
Linux Ethernet HOWTO, Linux Net-3 (Networking) HOWTO
NCDware System Administrator's Guide for UNIX Systems
описывающее практически каждый этап настройки Х терминала, теперь доступно для загрузки с NCD Techtips Archive.
содержит ответы на некоторые наиболее часто задаваемые вопросы, а также отчеты об ошибках.
Заметьте, что указанные выше документы постоянно изменяются. Со времени первой публикации мини-HOWTO, NCD web site поспоянно реорганизуется.
Вместе tftp (trivial file transfer protocol) с BootP (boot protocol server) используются на удаленной машине для того, чтобы Х терминал скачал программное обеспечение Х сервера и настроил файлы через сеть. Оба сервиса обычно запускаются от inetd (Internet Daemon).
После включения Х терминал, если он настроен на загрузку из сети, рассылает широковещательное сообщение, используя BootP (TCP/IP bootstrap protocol). Это сообщение содержит адрес устройства Ethernet Х терминала, который используется запускающей машиной в ответ на полученный запрос.
Когда ответ получен удаленной машиной, inetd (отвечая на запрос порта, описанного в /etc/services) запускает демона BootP, который находится в /etc/inetd.conf.
В файле inetd.conf создайте или раскомментируйте строки, относящиеся к TFTP и BootP. Последний аргумент tftpd entry в нижеследующем примере - это путь к каталогу, содержащему файлы, требующиеся Х терминалу. Хотя имена каталогов не являются обязательными, ради безопасности они всегда должны присутствовать, так как доступ tftpd будет ограничен для файлов в указанных каталогах
Из простого файла /etc/inetd.conf:
# tftp сервис предназначен, в первую очередь, для загрузки. Большинство сайтов # действует только на машинах, работающих как "boot серверы". tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/ bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd
После активизации BootP демон сервера считывает файл базы данных /etc/bootptab. Каждый вход содержит набор тегов, разделенных знаками ":" . Имя машины должно быть первым тегом.
Используемые теги файла bootptab
hd
домашний каталог файла загрузки (например /usr/X11/lib/X11/ncd/).
ip
адрес Х терминала (например 10.0.0.1).
sm
маска подсети (например 255.0.0.0). Чтобы понять назначение маски подсети и других принципов IP сети, обратитесь к документу HOWTO по Linux NET-3.
gw
адрес шлюза (например 10.0.0.1).
ht
тип аппаратного обеспечения- в данном примере Ethernet
ha
В главном меню консоли выберите пункт 'terminals', в нем выберите 'New Telnet...'. Когда появится окно telnet, введите адрес машины в сети и нажмите 'OK'. Должно появиться приглашение на вход в машину. После входа Х программа, включая менеджер окон, может быть запущена из окна telnet.