Linux uucico命令是UUCP(Unix-to-Unix Copy)系统的通信守护进程,负责建立连接、登录远程系统以及传输文件和执行命令。
uucico [选项] [系统名]
| 选项 | 说明 |
|---|---|
-s 系统 |
与指定系统建立连接 |
-r1 |
以主模式运行(主动呼叫其他系统) |
-r0 |
以从模式运行(等待其他系统呼叫) |
-x 级别 |
设置调试级别(1-9,数字越大越详细) |
-f 系统 |
与-s选项相同,强制忽略时间限制 |
-D |
不进入后台运行,保持在前台 |
-q |
仅处理队列,不尝试建立新连接 |
-l |
从标准输入读取登录信息 |
-c |
不调用远程系统,仅调试聊天脚本 |
-C |
忽略呼叫时间限制 |
--help |
显示帮助信息 |
# 启动uucico守护进程
uucico &
# 在前台启动uucico并保持运行
uucico -D
# 检查uucico是否正在运行
ps aux | grep uucico
pgrep uucico
# 连接到名为"backupserver"的远程系统
uucico -s backupserver
# 使用调试模式连接,级别为5
uucico -s backupserver -x 5
# 强制连接,忽略时间限制
uucico -f backupserver
# 以主模式运行(主动呼叫其他系统)
uucico -r1
# 以从模式运行(等待其他系统呼叫)
uucico -r0
# 以从模式运行特定端口
uucico -r0 -u ttyS0
# 使用高级调试(级别9)
uucico -s remotesys -x 9
# 调试聊天脚本,不实际连接
uucico -c -s remotesys
# 查看调试输出到文件
uucico -s remotesys -x 5 2>&1 | tee /tmp/uucico-debug.log
# 仅处理队列中的作业,不尝试新连接
uucico -q
# 处理特定系统的队列
uucico -s remotesys -q
#!/bin/bash
# uucico管理脚本
case "$1" in
start)
echo "启动uucico守护进程..."
uucico -r0 -D &
echo $! > /var/run/uucico.pid
;;
stop)
echo "停止uucico守护进程..."
kill $(cat /var/run/uucico.pid)
rm -f /var/run/uucico.pid
;;
status)
if [ -f /var/run/uucico.pid ]; then
echo "uucico正在运行,PID: $(cat /var/run/uucico.pid)"
else
echo "uucico未运行"
fi
;;
connect)
echo "连接到远程系统 $2..."
uucico -s "$2" -x 3
;;
*)
echo "用法: $0 {start|stop|status|connect 系统名}"
;;
esac
# 查看uucico日志文件
tail -f /var/log/uucp/DEBUG
# 查看连接日志
tail -f /var/log/uucp/Log
# 查看特定系统的日志
grep "systemname" /var/log/uucp/DEBUG
# 统计连接次数
grep -c "call completed" /var/log/uucp/Log
# /etc/inetd.conf配置示例
# uucico服务配置
uucp stream tcp nowait root /usr/sbin/tcpd /usr/lib/uucp/uucico -l
# 重启inetd服务
sudo systemctl restart inetd
# 或
sudo killall -HUP inetd
uucico命令依赖于以下配置文件(通常位于/etc/uucp/目录):
| 文件 | 用途 |
|---|---|
sys |
远程系统配置(连接参数、登录脚本等) |
port |
物理端口配置(串口、TCP端口等) |
dial |
拨号器配置 |
dialcode |
拨号代码 |
config |
全局配置 |
Permissions |
访问权限控制 |
# /etc/uucp/sys 配置示例
system remotesys
time any # 任何时间都可以呼叫
phone 555-1234 # 电话号码(用于拨号)
port serial1 # 使用的端口
speed 115200 # 波特率
chat login: mylogin # 登录脚本
chat ssword: mypassword
chat-timeout 45 # 超时时间(秒)
protocol-parameter g 3 # 窗口大小
protocol-parameter i 3 # 分组大小
# Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install uucp
# CentOS/RHEL系统
sudo yum install uucp
# 验证安装
which uucico
uucico --version
/etc/uucp/sys文件定义远程系统/etc/uucp/port文件定义通信端口/etc/uucp/dial文件(如果需要拨号)/etc/uucp/Permissions文件控制访问可能原因: 配置错误或权限问题
解决: 检查配置文件和权限
# 使用调试模式查看错误
uucico -x 5 2>&1 | head -50
# 检查配置文件语法
/usr/lib/uucp/uuchk
可能原因: 远程系统不可达或配置错误
解决: 检查网络连接和系统配置
# 测试网络连接
ping remotehost
# 检查远程系统配置
grep "remotesys" /etc/uucp/sys
可能原因: 登录脚本错误或凭证错误
解决: 检查聊天脚本和凭证
# 调试聊天脚本
uucico -c -s remotesys -x 5
# 检查登录凭证是否正确
解决: 检查权限和磁盘空间
# 检查磁盘空间
df -h /var/spool/uucp
# 检查文件权限
ls -la /var/spool/uucp/
# 查看传输日志
tail -f /var/log/uucp/DEBUG
uucp - UUCP文件复制命令uuto - 发送文件到远程用户目录uupick - 接收uuto发送的文件uustat - 查看UUCP状态和队列uux - 在远程系统执行命令uuname - 列出已知的UUCP系统