Lors de l’utilisation de la commande rsync, il est possible d’obtenir le message d’erreur suivant :
TERM environment variable not set. protocol version mismatch -- is your shell clean? (see the rsync man page for an explanation) rsync error: protocol incompatibility (code 2) at compat.c(173) [sender=3.0.7] |
Il s’agit la plupart du temps du fichier /~.bashrc qui n’est pas propre puisqu’il renvoie des informations au terminal.
Cela peut être dû à une commande qui donne des informations sur la date ou le système ou toute autre commande qui se lance à la connexion. Rsync ne s’attend pas à cela et bloque.
La solution : pas d’output via .bashrc
La solution est assez simple : il suffit de nettoyer les commandes du .bashrc qui renvoient du texte ou en redirigeant le résultat de ces commandes vers /dev/null.
Le fichier .bashrc n’est pas la bonne place pour générer du texte dans le terminal. Les commandes doivent être déplacées dans le fichier .bash_profile.
Ainsi, vous n’aurez plus à sacrifier l’output quand vous vous connectez ou à éditer .bashrc quand vous voulez utiliser rsync.