0基础linux运维教程 常见问题

本文介绍了在学习和使用rsync时可能遇到的错误,如协议版本不兼容、模块不存在、认证失败等问题,并详细分析了错误原因,提供了解决方案,涉及登录shell与非登录shell的区别,以及如何避免rsync传输失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多的同学在学习rsync的时候都会遇到这样那样的问题,下面山河老师整理了一些问题,看以下的常见问题可以让你避免不必要的麻烦。

问题

```

protocol version mismatch -- is your shell clean?

(see the rsync man page for an explanation)

rsync error: protocol incompatibility (code 2) at compat.c(178) [sender=3.1.2]

```

分析与解决方案

```

# 1、原因是

rsync 在传输数据之前,会先与远端进行一次 ssh 登录认证,而当 .bashrc文件有输出的时候,rsync 客户端解析返回的数据包会出现混乱,于是乎就会出现文中开头提到的报错:客户端和远端的协议版本不兼容/不匹配了。

# 2、需要说明的是:

远端 sshd 进程是通过“bash –c”的方式来执行命令(即"非交互式的非登录shell" )

但在执行命令之前,ssh的那一次登录本身是“非交互式的登录shell”, 非交互式的登录shell (bash –l xxx.sh) 载入的信息列表及顺序如下:

/etc/profile

~/.bash_profile ( ->  ~/.bashrc  ->  /etc/bashrc)

~/.bash_login

~/.profile

$BASH_ENV

所以 ssh 的时候会载入“ ~/.bash_profile”,

让我们再来看一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值