跳过导航链接 | |
退出打印视图 | |
系统管理指南:网络服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
23. 从异步 Solaris PPP 迁移至 Solaris PPP 4.0(任务)
/etc/uucp/Devices 文件中的拨号器-令牌对字段
/etc/uucp/Devices 文件中的拨号器-令牌对字段的结构
/etc/uucp/Dialers 文件包含常用调制解调器的拨号说明。您可能不需要在此文件中更改或添加项,除非计划使用非标准调制解调器或计划定制您的 UUCP 环境。不过,您应该了解该文件的内容以及它与 Systems 和 Devices 文件之间的关系。
该文件中的内容指定在使用某条线路进行数据传输之前,必须先在该线路上进行的初始会话。此会话(称为聊天脚本)通常是传输和期待的 ASCII 字符串序列。聊天脚本通常用于拨打电话号码。
如UUCP /etc/uucp/Devices 文件中的示例所示,Devices 文件项中的第五个字段是 Dialers 文件或特殊拨号器类型(如 TCP、TLI 或 TLIS)的索引。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
对应 Dialer 字段的项。拨号器字段与 Devices 文件中的第五个以及其他奇数编号的字段匹配。
对应 Substitutions 字段的项。Substitutions 字段是转换字符串。每一对字符中的第一个字符都被映射为该对的第二个字符。此映射通常用于将 = 和 - 转换为拨号器“等待拨号音”和“暂停”所需的内容。
对应 Expect-Send 字段中的项。Expect-Send 字段是字符串。
对应 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 的反斜杠字符
|
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(暂停)。
下面是该行的其余部分提供的握手情况:
""-不等待,表示继续执行下一步。
\d-延迟 2 秒,然后发送回车。
>-等待 >。
Q\c-发送 Q(不带回车)。
:-期待 :。
\d--延迟 2 秒,发送 - 和回车。
>-等待 >。
s\p9\c-发送 s,暂停,发送 9(不带回车)。
)-W\p\r\ds\p9\c-)-等待 )。如果未收到 ),则会按照以下方式处理 - 字符之间的字符串。发送 W,暂停,发送回车,延迟,发送 s,暂停,发送 9(不带回车),然后等待 )。
y\c-发送 y(不带回车)。
:-等待 :。
\E\TP-\E 启用回显检查。从此刻开始,无论何时传输字符,UUCP 都会等待接收到字符后才继续操作。随后,UUCP 将发送电话号码。\T 旨在获取作为参数传递的电话号码。\T 将应用 Dialcodes 转换和此项的字段 2 指定的调制解调器功能转换。随后,\T 将发送 P 和回车。
>-等待 >。
9\c-发送 9(不带换行符)。
OK-等待字符串 OK。
也可以使用伪发送 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
在某些情况下,由于您正在呼叫的系统会检查端口奇偶校验并删除错误的行,因此您必须重置奇偶校验。expect-send(期待发送)对句 P_ZERO 将奇偶校验设置为零:
foo =,-, "" P_ZERO "" \dA\pTE1V1X1Q0S2=255S12=255\r\c OK\r\EATDT\T\r\c CONNECT
以下是可跟在 expect-send(期待发送)对句后的奇偶校验对句:
将奇偶校验设置为偶校验(缺省设置)
将奇偶校验设置为奇校验
将奇偶校验设置为 1
也可以在 Systems 文件项中使用此伪发送字符串。