系统管理指南:网络服务

UUCP /etc/uucp/Dialers 文件

/etc/uucp/Dialers 文件包含常用调制解调器的拨号说明。您可能不需要在此文件中更改或添加项,除非计划使用非标准调制解调器或计划自定义您的 UUCP 环境。不过,您应该了解该文件的内容以及它与 SystemsDevices 文件之间的关系。

该文件中的内容指定在使用某条线路进行数据传输之前,必须先在该线路上进行的初始会话。此会话(称为聊天脚本)通常是传输和期待的 ASCII 字符串序列。聊天脚本通常用于拨打电话号码。

UUCP /etc/uucp/Devices 文件中的示例所示,Devices 文件项中的第五个字段是 Dialers 文件或特殊拨号器类型(如 TCPTLITLIS)的索引。uucico 守护进程尝试将 Devices 文件中的第五个字段与每个 Dialers 文件项的第一个字段进行匹配。此外,从第七个位置开始,每个奇数编号的 Devices 字段都会用作 Dialers 文件的索引。如果匹配成功,系统会解释 Dialers 项以执行拨号器会话。

Dialers 文件中的每个项都具有以下语法:


dialer   substitutions   expect-send

以下示例显示 U.S. Robotics V.32bis 调制解调器的项。


示例 26–10 /etc/uucp/Dialers 文件中的项


usrv32bis-e    =,-,  ""    dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r 

                           \EATDT\T\r\c CONNECT\s14400/ARQ STTY=crtscts

usrv32bis-e

对应拨号器字段的项。拨号器字段与 Devices 文件中的第五个以及其他奇数编号的字段匹配。

=,-, ""

对应替换字段的项。替换字段是转换字符串。每一对字符中的第一个字符都被映射为该对的第二个字符。此映射通常用于将 =- 转换为拨号器“等待拨号音”和“暂停”所需的内容。

dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r

expect-send(期待发送)字段中的项。expect-send(期待发送)字段是字符串。

\EATDT\T\r\c CONNECT\s14400/ARQ STTY=crtscts

更多 expect-send(期待发送)字段。

以下示例显示在安装 Solaris 期间,安装 UUCP 时分发的 Dialers 文件项的样例。


示例 26–11 /etc/uucp/Dialers 摘录


penril	=W-P "" \d > Q\c : \d- > s\p9\c )-W\p\r\ds\p9\c-) y\c : \E\TP > 9\c OK 

 

ventel	=&-%	"" \r\p\r\c $ <K\T%%\r>\c ONLINE! 

 

vadic	=K-K	"" \005\p *-\005\p-*\005\p-* D\p BER? \E\T\e \r\c LINE 

 

develcon	""	"" \pr\ps\c est:\007 

 

\E\D\e \n\007 micom	""	"" \s\c NAME? \D\r\c GO 

 

hayes	=,-,	"" \dA\pTE1V1X1Q0S2=255S12=255\r\c OK\r \EATDT\T\r\c CONNECT 

 

#   Telebit TrailBlazer 

tb1200	=W-,	"" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=2\r\c OK\r 

\EATDT\T\r\c CONNECT\s1200   

tb2400	=W-,	"" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=3\r\c OK\r 

\EATDT\T\r\c CONNECT\s2400   

tbfast	=W-,	"" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=255\r\c OK\r 

\EATDT\T\r\c CONNECT\sFAST 

 

# USrobotics, Codes, and DSI modems 

 

dsi-ec  =,-,    "" \dA\pTE1V1X5Q0S2=255S12=255*E1*F3*M1*S1\r\c OK\r \EATDT\T\r\c 

CONNECT\sEC STTY=crtscts,crtsxoff 

 

dsi-nec =,-,    "" \dA\pTE1V1X5Q0S2=255S12=255*E0*F3*M1*S1\r\c OK\r \EATDT\T\r\c CONNECT 

STTY=crtscts,crtsxoff 

 

usrv32bis-ec =,-,  "" \dA\pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2&W\r\c OK\r \EATDT\T\r\c 

CONNECT\s14400/ARQ STTY=crtscts,crtsxoff 

 

usrv32-nec =,-, "" \dA\pT&FE1V1X1Q0S2=255S12=255&A0&H1&M0&B0&W\r\c OK\r \EATDT\T\r\c 

CONNECT STTY=crtscts,crtsxoff 

 

codex-fast =,-, "" \dA\pT&C1&D2*MF0*AA1&R1&S1*DE15*FL3S2=255S7=40S10=40*TT5&W\r\c OK\r 

\EATDT\T\r\c CONNECT\s38400 STTY=crtscts,crtsxoff 

 

tb9600-ec =W-,  "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=6\r\c OK\r 

\EATDT\T\r\cCONNECT\s9600 STTY=crtscts,crtsxoff 

 

tb9600-nec =W-, "" \dA\pA\pA\pTE1V1X1Q0S2=255S12=255S50=6S180=0\r\c OK\r \EATDT\T\r\c 

CONNECT\s9600 STTY=crtscts,crtsxoff

下表列出了 Dialers 文件的发送字符串中常用的转义符。

表 26–3 /etc/uucp/Dialers 的反斜杠字符

字符 

说明 

\b

发送或期待退格字符。 

\c

无换行符或回车。 

\d

延迟大约 2 秒。 

\D

未使用 Dialcodes 进行转换的电话号码或令牌。

\e

禁用回显检查。 

\E

对速度较慢的设备启用回显检查。 

\K

插入 Break 字符。  

\n

发送换行符。 

\nnn

发送八进制数字。UUCP /etc/uucp/Systems 文件一节中列出了可以使用的其他转义符。

\N

发送或期待 NULL 字符 (ASCII NUL)。 

\p

暂停大约 12–14 秒。 

\r

返回。  

\s

发送或期待空格字符。 

\T

使用 Dialcodes 进行转换的电话号码或令牌。

以下是 Dialers 文件中的 penril 项:


penril =W-P "" \d > Q\c : \d- > s\p9\c )-W\p\r\ds\p9\c-) y\c : \E\TP > 9\c OK 

首先,建立了电话号码参数的替换机制,以便将任何 = 替换为 W(等待拨号音),将任何 - 替换为 P(暂停)。

下面是该行的其余部分提供的握手情况:

启用 /etc/uucp/Dialers 文件中的硬件流控制

也可以使用伪发送 STTY=value 字符串设置调制解调器特性。例如,STTY=crtscts 可启用外发硬件流控制。STTY=crtsxoff 可启用传入硬件流控制。STTY=crtscts,crtsxoff 可同时启用外发和传入硬件流控制。

STTY 接受所有的 stty 模式。请参见 stty(1)termio(7I) 手册页。

以下示例在 Dialers 项中启用了硬件流控制:


dsi =,–, "" \dA\pTE1V1X5Q0S2=255S12=255*E1*F3*M1*S1\r\c OK\r \EATDT\T\r\c 

CONNECT\sEC STTY=crtscts 

也可以在 Systems 文件项中使用此伪发送字符串。

/etc/uucp/Dialers 文件中设置奇偶校验

在某些情况下,由于您正在呼叫的系统会检查端口奇偶校验并删除错误的行,因此您必须重置奇偶校验。expect-send(期待发送)对句 P_ZERO 将奇偶校验设置为零:


foo =,-, "" P_ZERO "" \dA\pTE1V1X1Q0S2=255S12=255\r\c OK\r\EATDT\T\r\c CONNECT 

以下是可跟在 expect-send(期待发送)对句后的奇偶校验对句:

"" P_EVEN

将奇偶校验设置为偶校验(缺省值)

"" P_ODD

将奇偶校验设置为奇校验

"" P_ONE

将奇偶校验设置为 1

也可以在 Systems 文件项中使用此伪发送字符串。