🐥

Git for Windows に rsync を追加する

2021/08/16に公開

こちら Git Bashにrsyncとnetcatをインストールする

http://repo.msys2.org/msys/x86_64 から必要なパッケージをダウンロードしてファイルを設置します。

Git Bash を管理者で実行して作業します。そうしないとファイルを設置するときに「権限が無い」と言われてしまいまう。

rsync のパッケージが zstd 形式 ( Zstandard - Wikipedia ) なので tar で展開するためには zstd コマンドが必要( tar --zstd を指定すると tar は外部コマンドの zstd を呼び出す ) なんですが、 Git for Windows には zstd コマンドはインストールされていないので、まず zstd コマンドをインストールします。

あとは rsync に必要なパッケージを追加します。なんとなく zstd コマンドのバージョンと libzstd のバージョンを合わせておきました。

% curl http://repo.msys2.org/msys/x86_64/zstd-1.4.7-1-x86_64.pkg.tar.xz | tar CxJf / -
% curl http://repo.msys2.org/msys/x86_64/rsync-3.2.3-1-x86_64.pkg.tar.zst | tar Cxf / - --zstd
% curl http://repo.msys2.org/msys/x86_64/libzstd-1.4.7-1-x86_64.pkg.tar.xz | tar CxJf / -
% curl http://repo.msys2.org/msys/x86_64/libxxhash-0.8.0-1-x86_64.pkg.tar.zst | tar Cxf / - --zstd

以下のように rsync を実行するとエラーになるので必要なパッケージを追加していきます。

% rsync --version
C:/Program Files/Git/usr/bin/rsync.exe: error while loading shared libraries: msys-zstd-1.dll: cannot open shared object file: No such file or directory
% rsync --version
C:/Program Files/Git/usr/bin/rsync.exe: error while loading shared libraries: msys-xxhash-0.8.0.dll: cannot open shared object file: No such file or directory

Discussion