uuname 是 UUCP(Unix to Unix Copy)系统中的一个命令,用于列出本地 UUCP 系统知道的远程主机名。UUCP 是 Unix 系统间进行文件传输、邮件和新闻交换的传统协议。
UUCP 是 1970 年代开发的文件传输和命令执行协议,在互联网普及前被广泛用于 Unix 系统间的通信。
uuname [选项]
注意: 在现代 Linux 系统中,uuname 命令通常不可用或功能有限,因为 UUCP 协议已基本被淘汰。
| 选项 | 说明 |
|---|---|
-c |
使用 /etc/uucp/config 文件作为配置文件 |
-l |
显示本地主机名(本地 UUCP 节点名) |
-x 数字 |
设置调试级别(1-9) |
-I 文件 |
使用指定的配置文件 |
-v |
详细模式,显示更多信息 |
-h 或 --help |
显示帮助信息 |
-V 或 --version |
显示版本信息 |
# 显示 UUCP 网络中所有已知的远程主机名
uuname
# 可能的输出(如果配置了 UUCP):
# remote-host1
# remote-host2
# remote-host3
# 显示本地系统的 UUCP 节点名
uuname -l
# 输出示例:
# localhost.uucp
# 或
# myhostname
# 显示详细的 UUCP 主机信息
uuname -v
# 可能显示更详细的信息,如连接状态等
# 使用调试级别 5 运行
uuname -x 5
# 调试级别范围 1-9,数字越大信息越详细
UUCP 是 Unix 系统间进行文件传输、邮件和新闻交换的传统协议套件,主要特点包括:
| 命令/组件 | 功能 |
|---|---|
uucp |
Unix 到 Unix 的文件复制 |
uux |
在远程系统执行命令 |
uuname |
显示已知的远程主机名 |
uustat |
显示 UUCP 状态和队列 |
uucico |
UUCP 通信守护进程 |
uuxqt |
UUCP 命令执行守护进程 |
| 配置文件 | 说明 | 位置 |
|---|---|---|
config |
UUCP 主配置文件 | /etc/uucp/config |
sys |
远程系统配置 | /etc/uucp/sys |
dial |
拨号配置 | /etc/uucp/dial |
port |
端口配置 | /etc/uucp/port |
dialcode |
拨号代码配置 | /etc/uucp/dialcode |
call |
呼叫配置 | /etc/uucp/call |
passwd |
远程系统密码 | /etc/uucp/passwd |
# /etc/uucp/sys 文件示例
# 配置远程系统 "remotehost"
system remotehost
# 时间表:任何时候都允许连接
time Any
# 电话号码
phone 5551234
# 登录信息
login uucp
password secret
# 拨号器
dialer hayes
# 端口
port serial1
# 协议
protocol g
# 传输速度
speed 9600
SSH (Secure Shell)
加密的远程登录和文件传输
ssh, scp, sftp
FTP / FTPS / SFTP
标准文件传输协议
ftp, sftp, lftp
SMTP / POP3 / IMAP
现代电子邮件协议
sendmail, postfix, dovecot
# 安装 UUCP 软件包
sudo apt install uucp
# 安装 Taylor UUCP(更现代的版本)
sudo apt install uucp-hylafax
# 安装完整的 UUCP 套件
sudo apt install uucp uucp-runtime
# 安装 UUCP
sudo yum install uucp
# 或使用 dnf(Fedora 和 CentOS 8+)
sudo dnf install uucp
# 1. 设置本地主机名
sudo uuname -l localhost.uucp
# 2. 编辑主配置文件
sudo nano /etc/uucp/config
# 3. 添加远程系统配置
sudo nano /etc/uucp/sys
# 4. 设置权限
sudo chmod 600 /etc/uucp/*
sudo chown uucp:uucp /etc/uucp/*
# 5. 启动 UUCP 服务
sudo systemctl start uucp
sudo systemctl enable uucp
可能原因: UUCP 软件包未安装
解决方案:
# 1. 检查 UUCP 是否安装
which uuname
dpkg -l | grep uucp # Debian/Ubuntu
rpm -qa | grep uucp # RHEL/CentOS
# 2. 安装 UUCP 软件包
# Debian/Ubuntu
sudo apt install uucp
# RHEL/CentOS
sudo yum install uucp
# 3. 安装后验证
uuname --help
可能原因: UUCP 未配置远程主机
排查步骤:
# 1. 检查 UUCP 配置文件
ls -la /etc/uucp/
# 2. 检查 sys 文件中的远程系统配置
cat /etc/uucp/sys
# 3. 检查 UUCP 服务状态
sudo systemctl status uucp
# 4. 检查日志文件
sudo tail -f /var/log/uucp/*
sudo tail -f /var/log/syslog | grep uucp
# 5. 使用调试模式查看详细信息
uuname -x 3
可能原因: 拨号失败或远程系统不可达
排查步骤:
# 1. 检查调制解调器连接
ls -l /dev/ttyS* # 串口设备
ls -l /dev/ttyUSB* # USB转串口
# 2. 测试调制解调器
echo "AT" > /dev/ttyS0
cat < /dev/ttyS0
# 3. 检查拨号配置
cat /etc/uucp/dial
# 4. 手动测试拨号
cu -l /dev/ttyS0 -s 9600
# 5. 查看详细的 UUCP 日志
sudo uustat -q # 查看队列状态
sudo uustat -a # 查看所有状态
# 将本地文件传输到远程系统
uucp localfile remotehost!~/remotefile
# 从远程系统获取文件
uucp remotehost!~/remotefile localfile
# 使用完整路径
uucp /home/user/file.txt remotehost!/tmp/file.txt
# 在远程系统执行命令
uux "remotehost!ls -l /tmp"
# 管道输出到本地
uux "remotehost!ls /tmp" > local_output.txt
# 查看 UUCP 队列状态
uustat -a
# 查看特定用户的作业
uustat -u username
# 查看所有系统的作业
uustat -s
# 删除作业
uustat -k jobid
UUCP 是 USENET 新闻系统的基础,USENET 是世界上最早的分布式讨论系统之一,也是现代论坛和新闻组的先驱。
在 SMTP 普及之前,UUCP 被广泛用于 Unix 系统间的邮件交换,形成了全球性的 UUCP 邮件网络。
在互联网普及之前,UUCP 通过电话线连接世界各地的 Unix 系统,是最早的广域计算机网络之一。
许多现代协议和技术都从 UUCP 发展而来,包括邮件传输、新闻组、文件同步等概念。
uucp文件传输
uux远程命令执行
uustat状态查看
cu呼叫其他系统