📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の11版が非表示) | |||
| 9行目: | 9行目: | ||
<br> | <br> | ||
下表に、rsyncコマンドの主なオプションを示す。<br> | 下表に、rsyncコマンドの主なオプションを示す。<br> | ||
<br> | |||
特に、<code>--progress</code>オプションを付加することが便利である。<br> | |||
また、<code>-h</code>オプションを付加することにより、進捗状況の出力においてユーザが読みやすくすることができる。<br> | |||
<center> | <center> | ||
{| class="wikitable" | style="background-color:#fefefe;" | {| class="wikitable" | style="background-color:#fefefe;" | ||
| 204行目: | 207行目: | ||
# コマンドの実行例 (異なるホスト間でディレクトリを同期する) | # コマンドの実行例 (異なるホスト間でディレクトリを同期する) | ||
rsync -avz --delete --rsh="ssh" <同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | rsync -avz --delete --rsh="ssh" <同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | ||
rsync -avz --delete --rsh="ssh" <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | rsync -avz --delete --rsh="ssh" <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | ||
rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | ||
<同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | <同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | ||
rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | ||
<同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | ||
<br><br> | <br><br> | ||
== | == パーミッションを保持せずに同期する == | ||
パーミッションを保持せずに同期する場合は、-aオプションを使用せずに、必要なオプションを個別に指定する。<br> | |||
rsync -rltvz --delete <同期元のディレクトリ> <同期先のディレクトリ> | |||
<br> | |||
* -rオプション | |||
*: 再帰的にディレクトリを同期する。 | |||
* -lオプション | |||
*: シンボリックリンクをリンクとして同期する。 | |||
* -t | |||
*: タイムスタンプを保持する。 | |||
* -vオプション | |||
*: 詳細な出力を表示する。 | |||
* -z | |||
*: 転送時に圧縮する。 | |||
<br> | |||
<code>-a</code>オプションには<code>-p</code>オプション (パーミッションの保持) が含まれているため、これを除外することでパーミッションを保持せずに同期できる。<br> | |||
<br> | |||
なお、同期先のファイルには、実行ユーザのumaskに基づいた新しいパーミッションが設定される。<br> | |||
<br><br> | |||
== Rsyncのインストール == | |||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
Rsyncのビルドに必要なライブラリをインストールする。<br> | |||
# パッケージ管理システムからビルドに必要な全てのライブラリをインストールする場合 | |||
sudo zypper install libopenssl-devel libacl-devel xxhash-devel liblz4-devel libzstd-devel python3-CommonMark python3-cmarkgfm | |||
# パッケージ管理システムとpipコマンドからビルドに必要なライブラリをインストールする場合 | |||
sudo zypper install libopenssl-devel libacl-devel xxhash-devel liblz4-devel libzstd-devel | sudo zypper install libopenssl-devel libacl-devel xxhash-devel liblz4-devel libzstd-devel | ||
python3 -mpip install --user commonmark | python3 -mpip install --user commonmark | ||
<br> | <br> | ||
[https://rsync.samba.org Rsyncの公式Webサイト]からソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf rsync-<バージョン>.tar.gz | |||
cd rsync-<バージョン> | |||
<br> | |||
または、[https://github.com/WayneD/rsync/ RsyncのGitHub]からソースコードをダウンロードすることもできる。<br> | |||
git clone https://github.com/WayneD/rsync.git | |||
cd rsync | cd rsync | ||
<br> | |||
Rsyncをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
../configure --prefix=<Rsyncのインストールディレクトリ> | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
Rsyncを動作させるために必要なライブラリをインストールする。<br> | |||
sudo zypper install openssl xxhash libxxhash0 lz4 | |||
<br><br> | |||
== Grsyncのインストール == | |||
==== Grsyncの概要 ==== | |||
Grsyncは、RsyncのGUI版(GTKライブラリを使用)であり、ディレクトリ、ファイルの同期とバックアップを行うために使用する。<br> | |||
ローカルディレクトリの同期に効果的に使用でき、リモートターゲットもサポートしている。<br> | |||
(ただし、リモートディレクトリのブラウジングはサポートしていない)<br> | |||
<br> | |||
Grsyncの使用例として、リムーバブルデバイスとの音楽コレクションの同期、ネットワークドライブへの個人ファイルのバックアップ、パーティションの別へのレプリケーション、ファイルのミラーリング等が挙げられる。<br> | |||
<br> | |||
==== ソースコードからインストール ==== | |||
Grsyncのビルドに必要な依存関係のライブラリをインストールする。<br> | |||
sudo zypper install intltool glib2-devel gtk3-devel wayland-devel wayland-protocols-devel | |||
<br> | |||
[http://www.opbyte.it/grsync/download.html Grsyncの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf grsync-<バージョン>.tar.gz | |||
cd grsync-<バージョン> | |||
<br> | |||
Grsyncをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
git clone https://github.com/ | ../configure --prefix=<Grsyncのインストールディレクトリ> | ||
cd | make -j $(nproc) | ||
make install | |||
<br> | |||
==== パッケージ管理システムからインストール ==== | |||
sudo zypper install grsync | |||
<br><br> | |||
== libRsyncのインストール == | |||
==== libRsyncの概要 ==== | |||
librsyncは、rsyncと同様、効率的にファイルを転送する他のプログラムを構築するためのものである。<br> | |||
バックアップおよびプログラムにバイナリパッチを配布したり、ディレクトリをサーバやピア間で同期するために記述したプログラムである。<br> | |||
<br> | |||
librsyncは、ネットワーク差分を計算し適用するためのライブラリであり、多様なネットワークソフトウェアに統合できるように設計されたインターフェイスを備えている。<br> | |||
<br> | |||
librsyncは、rsyncプロトコルのコアアルゴリズムをカプセル化して、2つのファイルの差分を効率的に計算するのに役立つ。<br> | |||
rsyncアルゴリズムは、差分を計算するために2つのファイルが存在する必要が無いため、ほとんどの差分アルゴリズムとは異なる。<br> | |||
<br> | |||
その代わり、一方のファイルの各ブロックのチェックサムのセットを必要とし、それらが一緒になってそのファイルの署名を形成する。<br> | |||
もう一方のファイルのどの位置のブロックでも、チェックサムが同じであれば、同一である可能性が高く、残ったものが差分となる。<br> | |||
<br> | |||
このアルゴリズムは、同じシステム上で両方のファイルを必要とすることなく、2つのファイル間の差分を転送する。<br> | |||
<br> | |||
librsyncは元々、HTTPのデルタ圧縮におけるrproxy実験のために作成された。<br> | |||
現在では、Dropbox、rdiff-backup、Duplicity等で使用されている。<br> | |||
<br> | |||
==== ソースコードからインストール ==== | |||
ビルドに必要な依存関係のライブラリをインストールする。<br> | |||
sudo zypper install libb2-devel | |||
<br> | |||
[https://github.com/librsync/librsync/releases libRsyncのGitHub]からソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf librsync-<バージョン>.tar.gz | |||
cd librsync-<バージョン> | |||
<br> | |||
または、Githubからソースコードをクローンする。<br> | |||
git clone https://github.com/librsync/librsync.git | |||
cd librsync | |||
<br> | <br> | ||
libRsyncをビルドおよびインストールする。<br> | |||
mkdir build && cd build | mkdir build && cd build | ||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<libRsyncインストールディレクトリ> .. | |||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br> | <br> | ||
~/.profileファイル等に、環境変数を追記する。<br> | |||
vi ~/.profile | |||
<br> | |||
# ~/.profileファイル | |||
export PATH="/<libRsyncのインストールディレクトリ>/bin:$PATH" | |||
export LD_LIBRARY_PATH="/<libRsyncのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH" | |||
<br> | |||
==== パッケージ管理システムからインストール ==== | |||
sudo zypper install librsync2 | |||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry Pi]][[カテゴリ:PinePhone]] | ||