Библиотека сайта rus-linux.net
Файлы настройки UUCP
В отличие от более простых программ передачи файлов, UUCP был разработан,
чтобы обрабатывать все передачи автоматически. Если только все установлено
правильно, ежедневное вмешательство администратора не требуется. Вся
необходимая информация сохраняется в паре файлов конфигурации, которые
постоянно находятся в каталоге /usr/lib/uucp
.
Большинство этих файлов используется только при внешнем запросе снаружи.
Введение в Taylor UUCP
Сказать, что конфигурация UUCP является тяжелой, было бы замалчиванием фактов. Это, действительно, запутанная тема, и иногда краткий формат файлов конфигурации не делает вещи проще (хотя формат Talyor читается очень просто по сравнению с более старыми форматами в HDB или Version 2).
Чтобы дать Вам понять, как взаимодействуют все эти файлы, представим наиболее важное и будем просматривать типовые записи этих файлов. Мы не будем объяснять все подробно; более точные сведения даны в отдельных разделах ниже. Если Вы хотите установить на Вашу машину UUCP, лучше всего начать с типовых файлов и адаптировать их постепенно. Вы можете выбирать из предложенного ниже набора примеров или того, что есть в Вашем дистрибутиве Linux.
Все файлы, описанные в этом разделе хранятся в
/etc/uucp
или в его подкаталогах. Некоторые дистрибутивы Linux содержат
код UUCP, который поддерживает HDB и Taylor конфигурации, и используют
различные подкаталоги для каждого набора файлов конфигурации. Обычно есть
файл README
в каталоге
/usr/lib/uucp
.
Чтобы UUCP работал правильно, эти файлы должны принадлежать пользователю uucp. Некоторые из них содержат пароли и номера телефона, и следовательно, должны иметь права доступа 600. Обратите внимание, что хотя большинство команд UUCP должно иметь бит setuid на имя uucp, Вы должны удостовериться, что программа uuchk такого бита не имеет. Иначе, пользователи будут способны отобразить пароли системы даже при том, что файлы имеют режим доступа 600.
Центральный файл конфигурации UUCP называется
/etc/uucp/config
. Он используется, чтобы установить общие параметры.
Наиболее важный из них (и теперь единственный), является именем UUCP Вашей
системы. Для нашей модельной сети Virtual Brewery использован
vstout в качестве шлюза UUCP:
# /etc/uucp/config - UUCP main configuration file nodename vstout |
Следующий важный файл конфигурации называется sys
. Он содержит всю системно-специфическую информацию об участках сети, с
которыми Вы связаны. Она включает имя участка и информацию относительно
связи, например, номера телефонов при использовании связи по модему. Типичный
скрипт для модемной связи с машиной pablo:
# /usr/lib/uucp/sys - name UUCP neighbors # system: pablo system pablo time Any phone 555-22112 port serial1 speed 38400 chat ogin: vstout ssword: lorca |
Ключевое слово port задает порт, который
нужно использовать, time определяет время, в
которое система может вызываться. chat
описывает сценарии входа в систему: последовательность строк, которыми нужно
обменяться, чтобы uucico зарегистрировали на
pablo. Мы опишем сценарий входа позже.
Команда port
не называет конкретный файл устройства,
например, /dev/cua1
, она указывает на файл с
соответсвующими записями. Вы можете назначить любое походящее имя.
Файл port
содержит информацию о связи
непосредственно. Для модемной связи он описывает специальный файл устройства,
который нужно использовать, скорость и тип оборудования, соединенного с
портом. Пример ниже описывает /dev/ttyS1
(он же
COM2), с которым соединен модем NakWell способный к передаче на скорости до
38400bps. Имя порта должно соответствовать имени, заданному в файле
sys
.
# /etc/uucp/port - UUCP ports # /dev/ttyS1 (COM2) port serial1 type modem device /dev/ttyS1 speed 38400 dialer nakwell |
Информация, имеющая отношение к программам набора номера, cохраняется в
другом файле, называемом dial
. Для каждого типа
программы набора номера он содержит последовательность команд, которые
требуются, чтобы вызвать удаленную машину по номеру телефона. Все это
называется chat script (сценарий дружеской системы). Пример для
вышеупомянутого NakWell мог бы выглядеть следующим образом:
# /etc/uucp/dial - per-dialer information # NakWell modems dialer nakwell chat "" AT&F OK ATDT\T CONNECT |
Строка, начинающаяся с chat, определяет скрипт модема, который является последовательностью команд, посланных и полученных от модема, чтобы инициализировать его и набрать желательный номер. Последовательность \T будет заменена на номер телефона uucico.
$
|
Первым делом uucico ищет
pablo в файле sys
. Из строки в файле
sys
для pablo она
видит, что должна использовать порт serial1
для установки соединения. Файл port
сообщает
uucico, что serial1
является портом модема, и что есть подключенный модем NakWell.
uucico теперь ищет запись dial
, описывающую модем NakWell, и найдя первую такую запись, открывает
последовательный порт /dev/cua1
и выполняет
"дружескую беседу" программы набора номера. То есть, посылает
AT&F, ждет в ответ OK и
т.д. При столкновении со строкой \T, она
заменяет эту строку на номер телефона (555-22112), извлеченный из файла
sys
.
После того, как соединение будет установлено (модем вернет
CONNECT), uucico возвращается к
файлу sys
и выполняет дружескую беседу входа в
систему (login chat). В нашем примере она ждет приглашения
login: затем посылает имя пользователя
(vstout), ждет приглашения
password: и посылает пароль
(lorca).
После завершения авторизации удаленная система активизирует собственный uucico. Две копии uucico проводят фазу рукопожатия (handshake phase), описанную в предыдущем разделе. Я прекрасно понимаю, что термины "фаза рукопожатия" и "дружеская беседа входа в систему" звучат не очень удачно, но эквивалентная русская терминология в этой области отсутствует.
Что нужно знать UUCP
Работа программ Linux слегка напоминает работу разведки: никто не должен знать лишнего.
Прежде, чем Вы начинаете писать файлы конфигурации UUCP, Вы должны
выяснить некоторую необходимую информацию. Сначала Вы должны выяснить, к
какому последовательному порту присоединен модем. Обычно порты DOS COM1-COM4
отображаются на специальные файлы устройств с
/dev/ttyS0
по /dev/ttyS3
.
Большинство дистрибутивов, например, Slackware, создают файл
/dev/modem
как ссылку на соответствующий файл
устройства ttyS*
и конфигурируют коммуникационные
программы kermit, seyon, чтобы
они использовали этот обобщенный файл. В этом случае Вы должны также
использовать /dev/modem
в Вашей конфигурации UUCP.
Причина этого в том, что все программы используют так называемые файлы
блокировки (lock files), чтобы сообщить, когда
последовательный порт используется. Имена этих файлов блокировки являются
конкатенацией строки LCK..
и имени файла
устройства, например, LCK..ttyS1
. Если программы
используют различные имена для одного устройства, они будут не в состоянии
распознавать чужие файлы блокировки. Как следствие, они прервут чужие сеансы
связи. Это не такое уж маловероятное событие, если Вы планируете, чтобы UUCP
использовал crontab
. Подробности настройки
последовательных портов описаны в главе 4.
Затем Вы должны выяснить, с какой скоростью модем и Linux могут связываться, и установить максимальную эффективную скорость передачи. Эффективная скорость передачи может быть намного выше, чем физическая скорость модема. Например, много модемов посылают и получают данные на скорости 56 kbps. Использование протоколов сжатия (например, V.42bis) позволяет установить фактическую скорость передачи более, чем в 100 kbps.
Конечно, если Вы хотите, чтобы UUCP cделал что-нибудь, Вам нужен номер телефона системы для вызова. Также Вам нужен идентификатор для входа в систему и, возможно, пароль для удаленной машины.
Также надо знать порядок входа в систему. Следует
ли нажать клавишу Enter перед появлением приглашения для входа? Что будет
отображено: login:
или
user:
? Это необходимо для создания сценария
дружеской беседы (chat script), который описывает
uucico как регистрироваться. Если у Вас возникают
затруднения, попробуйте вызывать систему программой терминала
kermit или minicom и записать
точно, что Вы делаете.
Имена сайтов
Как и при работе с сетями TCP/IP, Ваш компьютер должен иметь имя для UUCP-сетей. Пока Вы просто хотите использовать UUCP для передачи файлов, это имя не должно удовлетворять никаким стандартам. Единственое ограничение в том, что имя не должно быть больше, чем 7 символов, чтобы не путать машину с файловыми системами, которые накладывают ограничения на имя файла.
Однако, если Вы используете UUCP для почты или новостей, Вы должны подумать о наличии имени, зарегистрированного в UUCP Mapping project. UUCP Mapping project описан в главе 17. Даже если Вы делите домен с кем-то, Вы можете получить официальное имя UUCP для своего участка сети.
Часто люди выбирают свое UUCP имя так, чтобы соответствовать первому компоненту имени домена. Предположим, что адрес Вашего домена swim.twobirds.com, тогда имя главной машины UUCP было бы swim. Обычно именно так и бывает. Конечно, Вы можете также использовать любое UUCP имя.
Однако, не стоит использовать имя в адресе почты, пока Вы не зарегистрировали его как Ваше официальное имя UUCP. В лучшем случае, почта на незарегистрированную машину UUCP отправится в мусорную корзину. Если Вы используете имя, уже присвоенное некоторому другому сайту, эта почта не будет направлена ему и причинит администратору почты много проблем.
По умолчанию, набор программ UUCP использует
hostname как имя UUCP. Это имя обычно устанавливается
в скрипте rc
и хранится в
/etc/hostname
. Если ваше имя UUCP отлично от того,
что Вы устанавливаете в качестве имени своей машины, Вы должны использовать
опцию hostname в файле
config
, чтобы сообщить
uucico о Вашем имени UUCP. Это будет
рассмотрено чуть позже.
Файлы настройки Taylor
Теперь мы вернемся к файлам конфигурации. Taylor UUCP получает информацию из следующих файлов:
config
Это основной файл конфигурации. Вы можете определить Ваше имя UUCP именно в нем.
sys
Описывает все участки сети, известные Вам. Для каждого участка он определяет имя, в какое время вызывать его, какой номер набрать, какое устройство использовать и как регистрироваться.
port
Описывает все доступные порты, вместе с обеспечиваемой ими скоростью и программами соединения, которые нужно использовать.
dial
Описывает программы номера, используемые, чтобы установить телефонное соединение.
dialcode
Содержит расширения для символьных номеров (dialcodes).
call
Содержит имя входа в систему и пароль, который нужно использовать при вызове системы.
passwd
Содержит имена входов в систему и пароли, используемые при регистрации. Этот файл используется только, когда uucico делает собственную проверку пароля.
Файлы конфигурации Taylor состоят из строк, содержащих пары "ключевое
слово=значение". Знак hash (#) представляет собой комментарий, действующий до
конца строки. Чтобы использовать знак # просто так, Вы можете ввести его с
наклонной чертой влево \#
.
Есть очень много опций, которые Вы можете изменять в этих файлах конфигурации. С их помощью вы сможете сконфигурировать модемную связь UUCP. Дополнительные разделы описывают изменения, необходимые, если Вы хотите использовать UUCP поверх TCP/IP или поверх последовательного соединения. Полное описание дается в Texinfo-документах, которые распространяются вместе с исходным текстом Taylor UUCP.
Если Вы думаете, что сконфигурировали вашу систему UUCP полностью,
можете проверить конфигурацию, используя uuchk
(находится в /usr/lib/uucp
).
uuchk читает ваши файлы конфигурации и печатает детализированный отчет о
значениях, используемых для каждой системы.
Общие опции настройки: файл config
config
показан ниже:
# /usr/lib/uucp/config - UUCP main configuration file hostname vstout |
Здесь можно задать еще ряд параметров, например, имя каталога для буфера. Эти параметры будут рассмотрены позже в разделе “Анонимный UUCP.”
Как сказать UUCP о других системах: файл sys
Файл sys
описывает системы, о которых Ваша
машина знает. Запись представляется ключевым словом
system; затем до следующей директивы system
следуют детальные параметры, специфические для этой системы. Обычно,
сведения системы определяют номер телефона, login chat и другие подобные
параметры входа в систему.
Параметры перед самой первой записью system задают значения по умолчанию для всех систем.
Наиболее важные элементы записи подробней описаны ниже.
Имя системы
Команда system задает имя удаленной системы. Вы должны определить правильное имя удаленной системы, не псевдоним, потому что uucico сравнит это значение с ответом системы.
Каждое имя системы может появляться только один раз. Если Вы хотите использовать несколько наборов конфигураций для той же самой системы (различные номера телефонов, которые uucico должен пробовать по очереди), Вы можете определять альтернативы (alternates). Альтернативы описаны ниже.
Номер телефона
Если связь с удаленной системой достигается по телефонной линии, поле phone определяет номер, который модем должен набрать для связи. Он может содержать отдельные лексемы, интерпретируемые процедурой набора uucico. Знак равенства (=) означает ждать вторичный тон набора кода, тире (-) генерирует паузу в одну секунду. Например, некоторые телефонные станции сбрасывают номер, если Вы не делаете паузу между набором префиксного кода и номера телефона. Я не знаю соответствующий термин для этого, но Вы знаете, что иногда на внутренней телефонной станции Вы должны набрать 0 или 9, чтобы получить выход наружу.
Любая встроенная символьная строка может использоваться, чтобы скрыть
местную информацию (например, код области). Любая такая строка транслируется
с помощью файла dialcode
. Предположим, что Вы
имеете следующий файл dialcode
:
# /usr/lib/uucp/dialcode - dialcode translation Bogoham 024881 Coxton 035119 |
С такими определениями Вы можете использовать номер телефона
Bogoham7732 в файле sys
, что делает работу немного проще.
port и speed
Опции port и
speed используются, чтобы выбрать устройство, используемое для вызова
удаленной системы и установки максимального быстродействия. Запись
system может использовать одну или обе опцию
сразу. При поиске подходящего устройства в файле port
могут быть выбраны только те порты, которые соответствуют имени порта
и (или) диапазону скоростей.
Вообще, при использовании опции speed есть
ограничение. Если в файле port
определено только
одно устройство, uucico всегда использует его, так что
Вам остается только задать желаемую скорость. Если Вы имеете несколько
модемов, подключенных к Вашей системе, uucico пробует
все подходящие, пока не найдет неиспользуемый в данный момент. В этом случае
задавать порт не следует: если порт указан, никакого поиска вообще не будет.
login chat
ogin: vstout ssword: catch22 |
Обратите внимание, что поля записи не содержат текста приглашений. Удостоерьтесь, что вы войдете в систему , даже если система посылает Login: вместо login:.
""
) говорит UUCP
ничего не ждать и продолжать посылать следующую строку немедленно.
"" \n\r\d\r\n\c ogin:-BREAK-ogin: vstout ssword: catch22 |
Имеется несколько специальных строк и ESC-символов, которые могут включаться в скрипт:
""
Пустая строка сообщает, чтобы uucico не ждал ничего, а продолжил посылать следующую.
- \t
Табуляция.
- \r
Перевод каретки.
- \s
Пробел. Вы нуждаетесь в нем, чтобы включить пробел в строку регистрации в скрипте.
- \n
Перевод строки. В unix-системах понятия перевода (возврата) каретки и перевода строки разделены в отличие от DOS/Windows-систем.
- \\
Обратный слэш (\).
В посылаемой строке в дополнение к вышеупомянутым допустимы следующие ESC-символы и последовательности:
- EOT
Конец передачи (^D).
- BREAK
Прерывание (Break).
- \c
Возврат каретки в конце строки.
- \d
Пауза в 1 секунду.
- \E
Дает возможность эхо-проверки. Эхом (ECHO) называется возвращение копии всей переданной информации для контроля. Этот режим требует, чтобы uucico дождался ECHO всего, что он передает прежде, чем сможет продолжать регистрацию. Это удобно, когда используется в скриптах модема (с которыми мы столкнемся ниже). По умолчанию эхо выключено.
- \e
Выключить эхо-контроль.
- \K
Аналогично BREAK.
- \p
Пауза на половину секунды.
Альтернативы (Alternates)
Иногда желательно иметь несколько описаний для входа в одну систему, например, если система может быть доступна на различных модемных линиях. С Taylor UUCP Вы можете делать это, определив так называемую альтернативу (alternate).
Альтернативная строка сохраняет все установки из основной и определяет только те значения, которые должны быть отменены в заданной по умолчанию или добавлены к ней. Альтернатива смещена, относительно записи для системы, строкой, содержащей ключевое слово altgrnave alternate.
sys
следующим
образом:
system pablo phone 123-456 .. entries as above ... alternate phone 123-455 |
При вызове pablo, uucico теперь сначала наберет 123-456 и, если ничего не получается, попробует альтернативу. Альтернативный вход сохраняет все установки из основного входа системы и изменяет только номер телефона.
Ограничение времени вызова
Taylor UUCP реализует ряд способов, обеспечивающих ограничение времени
обращения к удаленной системе. Вам потребуется сделать это или из-за
ограничений, которые удаленная система накладывает на услуги в течение
рабочих часов или просто, чтобы избегать времени с высокими ценами за услуги.
Обратите внимание, что всегда возможно отменить ограничения времени
обращения, запустив uucico с опцией
–S
или –f
.
По умолчанию, Taylor UUCP отвергнет соединения в любое время, так что
Вы должны использовать некоторый вид спецификации времени в файле
sys
. Если Вы не очень заботитесь об ограничении
времени обращения, Вы можете определить опцию time со
значением Any (любой) в файле
sys
.
Самый простой способ ограничить время обращения, поле time, которое сопровождается строкой, состоящей из дня и подполя времени. День может быть комбинацией Mo, Tu, We, Th, Fr, Sa, Su, Any (любой), Never (никогда) или Wk для выходных дней. Время состоит из двух значений часов (в 24-часовом формате), отделяемых тире. Они определяют диапазон, в течение которого обращения допустимы. Комбинация этих лексем пишется без интервалов. Можно задать несколько интервалов, разделяя их запятыми. Например, MoWe0300-0730, Fr1805-2000 допускает обращение в понедельник и среду с 3 до 7.30 утра и в пятницу с 18.05 до 20.00. Когда поле time охватывает полночь, и написано Mo1830-0600, это фактически означает понедельник, между полуночью и 6.00 утра и между 18.30 пополудни и полуночью понедельника.
Taylor UUCP также имеет специальные лексемы, которые можно использовать в строке времени: NonPeak и Night. Они эквивалентны Any2300-0800,SaSu0800-1700 и Any1800-0700,SaSu соответственно.
Команда time задает параметр, который описывает время повтора в минутах. Когда попытка установить соединение не удалась, uucico не допустит другой попытки вызвать удаленный компьютер в течение некоторого интервала. По умолчанию, используется схема backoff, где интервал повтора увеличивается с каждым последующим отказом. Например, когда Вы определяете время повторения в 5 минут, uucico откажется вызывать удаленную систему в течение 5-ти минут после последнего отказа.
timegrade N Wk1900-0700,SaSu timegrade C Any |
Это допускает задачи с приоритетом буферизации (spoolgrade) C и выше (обычно почта имеет степень B или C), они будут приняты всякий раз, когда соединение установлено, в то время, как новости (обычно ставятся в очередь со степенью N) будут переданы только ночью и в выходные.
Точно так же, как команда time, команда timegrade берет интервал повторения в минутах как дополнительный третий параметр.
Однако есть и недостатки высоких приоритетов буферизации: опция timegrade применяется только к тому, что посылает Ваша система; удаленная система может передать все, что угодно. Вы можете использовать опцию call-timegrade, чтобы явно запросить послать только работы выше некоторой степени буферизации, но нет никакой гарантии, что удаленная система так и поступит.
Аналогично, поле timegrade
не
проверяется, когда удаленная система вызывает Вашу и любые работы,
поставленные в очередь для системы вызова будут ей посланы. Однако, удаленная
система может явно запрашивать Ваш uucico, чтобы
ограничить себя некоторым приоритетом задач.
Описание устройств: файл port
Файл port
сообщает uucico
о доступных портах. Это могут быть порты модема, другие типы последовательных
соединений и сокеты TCP.
Подобно файлу sys
, port
состоит из отдельных кусков, начинающихся с ключевого слова
port, сопровождаемым именем порта. Это имя
может использоваться в описании порта в файле sys
.
Нет потребности в уникальности имени; если существуют порты с одним и тем же
именем, uucico перепробует все по очереди, пока не
найдет тот, который в настоящее время не используется.
Команда port должна обязательно сопровождаться именем, которое задает, какой порт описан. Допустимые типы: modem, direct для прямых соединений и tcp для сокетов TCP. Если команда port отсутствует, по умолчанию тип порта принимает значение modem.
В этом разделе я опишу лишь порты модема. Сокеты TCP и прямые соединения будут обсуждаться позже.
Для модема и прямого соединения Вы должны определить файл для вызова
устройства напрямую. Обычно это имя специального файла устройства в каталоге
/dev
(подобно /dev/ttyS1
).
В случае использования модема, port также определяет, какой модем соединен
с портом. Различные типы модемов должны быть настроены по-разному.
Следовательно, Вы должны сообщить uucico, как
инициализировать Ваш модем и как соединяться с требуемым номером. Taylor UUCP
хранит описания всех программ набора номера в файле dial
. Чтобы использовать любую из них, Вы должны определить имя программы
набора номера, используя команду dialer.
Иногда Вам потребуется использовать модем различными способами в
зависимости от системы, которую Вы вызываете. Например, некоторые старые
модемы не понимают, когда быстрый модем пытается соединяться на скорости
56 kbps; они просто пропускают строку вместо того, чтобы вести переговоры на
скорости в 9600 bps. Если Вы знаете, что некоторые машины используют такой
"немой" модем, для вызова их Вы должны настраивать свой модем иначе. Для
этого Вам нужно добавить строку port в файл port
,
которая определит другую программу набора номера. Теперь Вы можете задать
новому порту другое имя, типа serial1-slow, и
использовать директиву port в описании
системы в файле sys
.
# NakWell modem; connect at high speed port serial1 # port name type modem # modem port device /dev/ttyS1 # this is COM2 speed 115200 # supported speed dialer nakwell # normal dialer # NakWell modem; connect at low speed port serial1 # port name type modem # modem port device /dev/ttyS1 # this is COM2 speed 9600 # supported speed dialer nakwell-slow # don't attempt fast connect |
Системная запись для машины drop получает для использования порт serial1, но в случае запроса на использование скорости 9,600 bps uucico автоматически использует вторую запись порта. Все остальные сайты, которые работают со скоростью 115,200 будут вызываться с использованием первой записи port. По умолчанию используется первая запись с подходящей скоростью.
Как набирать номер: файл dial
Файл dial
описывает способ, которым используются
различные программы набора номера. Традиционно, переговоры программ набора
номера UUCP быстрее, чем модемы, потому что раньше было обычной практикой
иметь одно (дорогое) автоматическое устройство набора, обслуживающее целый
набор модемов. Сегодня большинство модемов имеют встроенную поддержку набора,
так что это различие становится более размытым.
Однако различные программы набора номера или модемы могут требовать
различной настройки. Вы можете описать каждый из них в файле
dial
. Куски в файле dial
начинаются с команды dialer, которая определяет имя
программы набора номера (звонилки).
Наиболее важная часть, скрипт модема (modem chat), определяется командой chat. Подобно скрипту входа в систему (login chat), он состоит из последовательности строк uucico, посылаемых программе набора номера и ответов, которые требуется получить. Они обычно используются, чтобы сбросить модем к известному состоянию, и набирать номер. Вот пример для Hayes-совместимого модема:
# NakWell modem; connect at high speed dialer nakwell # dialer name chat "" AT&F OK\r ATH1E0Q0 OK\r ATDT\T CONNECT chat-fail BUSY chat-fail ERROR chat-fail NO\sCARRIER dtr-toggle true |
Скрипт модема начинается с ""
, пустой ожидаемой
строки. Cледовательно, uucico пошлет команду
(AT&F) сразу же. Команда Hayes
AT&F нужна для сброса модема. Затем uucico
ждет, пока модем не пошлет OK
, и посылает следующую
команду, которая выключает локальное эхо, и т.п. После того, как модем
снова возвращает OK
, uucico
посылает команду набора ATDT (для России
ATDP). Escape-последовательность
\T
в этой строке заменяется на номер телефона, получаемый из файла
sys
. Затем uucico ждет, пока
модем не возвратит CONNECT
, который говорит о том,
что соединение с удаленным модемом было установлено успешно.
Часто модем будет не в состоянии соединиться с удаленной системой, например, если другая система общается с кем-то еще, и линия занята. В этом случае модем вернет сообщение об ошибке, указывающее на причину отказа. Скрипт модема не способен обнаружить такие сообщения; uucico будет ждать требуемую строку, пока не выйдет время ожидания. В файле регистрации UUCP (log file) будет записано "timed out in chat script" вместо истинной причины.
Однако, Taylor UUCP позволяет Вам поставить в известность uucico об этих сообщениях, используя команду chat-fail, как показано выше. Когда uucico обнаруживает строку chat-file при выполнении скрипта модема, то прерывает обращение и регистрирует сообщение об ошибках в файле регистрации UUCP (log файле).
Последняя команда в показанном выше примере говорит UUCP переключить строку DTR перед запуском скрипта модема. Большинство модемов может быть сконфигурировано так, чтобы при обнаружении изменений в строке DTR перейти в командный режим. Вы также можете сконфигурировать модем на сброс при обнаружении перехода на DTR. Некоторые из них, однако, не понимают таких вещей и зависают.
UUCP поверх TCP
В первый момент это может показаться абсурдом, но на самом деле UUCP поверх TCP не такая уж плохая идея, особенно при пересылке большого количества данных, типа новостей Usenet. На TCP-узлах новостями в основном обмениваются, используя NNTP протокол, в котором статьи запрашиваются и посылаются индивидуально, без сжатия и прочей оптимизации. Хотя и подходящая для больших узлов с большим объемом новостей, эта методика не подходит для небольших участков сети, которые получают новости медленным соединением типа ISDN. Им удобней объединить качества TCP с преимуществами посылки новостей в больших пакетах, которые могут быть сжаты и таким образом перемещаться с очень низкими затратами. Стандартный способ передать эти пакеты состоит в том, чтобы использовать UUCP поверх TCP.
sys
Вы определяете систему, которую
нужно вызвать через TCP.
system gmu address news.groucho.edu time Any port tcp-conn chat ogin: vstout word: clouseau |
port
выглядел бы так:
port tcp-conn type tcp service 540 |
Этот пример говорит, что TCP-соединение должно использоваться, когда файл
sys
ссылается на tcp-conn
, и что uucico должен пытаться соединяться с
TCP-портом 540 на удаленной машине. Это заданный по умолчанию номер порта для
обслуживания UUCP. Вместо номера порта, Вы можете также давать символическое
имя порта командой service. Номер порта,
соответствующий этому имени будет найден в файле
/etc/services
. Общее имя для UUCP-сервиса uucpd
.
Использование прямого соединения
sys
. Команда port
идентифицирует последовательный порт tiny.
system tiny time Any port direct1 speed 38400 chat ogin: cathcart word: catch22 |
port
Вы должны описать последовательный
порт для прямого соединения. Описание программы набора номера
(dialer) не нужно, так как нет никакой
потребности в наборе.
port direct1 type direct speed 38400 device /dev/ttyS1 |
Назад | Глобальное оглавление | Вперед |
Управление Taylor UUCP | Локальное оглавление | Контроль доступа к возможностям UUCP |