LinuxでZsyncを使ってファイルの差分だけをダウンロード・更新する方法
ISOイメージのような大容量ファイルのダウンロードは、本当にストレスがたまる作業です。インターネット回線の速度によってはダウンロードに長時間かかり、ハードディスクの容量も大量に消費します。さらに厄介なのは、更新版が必要になったときに、同じダウンロード作業を最初からやり直さなければならない点です。
しかし、そんな悩みを解決してくれるツールがあります。それがZsyncです。ZsyncはLinux向けのファイル同期ツールで、ファイル全体を再ダウンロードすることなく、変更された部分だけを更新できるのが最大の特徴です。
Zsyncは、ファイルやディレクトリの同期でおなじみの人気ツールrsyncをベースに開発されており、コマンド一つで手軽に使えます。多くのLinuxディストリビューションでは標準のパッケージリポジトリに収録されているため、導入もとても簡単です。
Zsyncのインストール方法
まずはzsyncをインストールしましょう。軽量なコマンドラインユーティリティなので、依存関係もほとんどなく、あっという間にセットアップできます。
Ubuntu / Debian
DebianとUbuntuはどちらもzsyncを公式パッケージとして提供しており、比較的新しいバージョンが利用できます。Aptで簡単にインストールできます。
sudo apt install zsync
Fedora
Fedoraには残念ながらzsyncのパッケージが用意されていません。Fedoraのリポジトリがやや限定的なのはいつものことですが、ソースコードからビルドすれば問題なく使用できます。
まず、ビルドに必要な開発ツールがインストールされているか確認しましょう。
sudo dnf group install 'Development Tools'
次に、zsyncのダウンロードページから最新のソースtarballを入手します。任意のディレクトリに展開し、ターミナルでそのディレクトリへ移動してください。
cd ~/Downloads/zsync-0.6.2
あとは、configure、make、installの定番の手順でビルドとインストールを行います。
./configure
make -j4
sudo make install
Arch Linux
Arch Linuxでは、zsyncが公式リポジトリに含まれています。Pacmanでインストールしましょう。
sudo pacman -S zsync
openSUSE
openSUSEのすべてのバージョン向けに最新版のzsyncが提供されています。お好みのパッケージ管理ツールでインストールできます。
sudo zypper in zsync
Solus
Solusにもzsyncが標準リポジトリに収録されています。こちらもすぐにインストール可能です。
sudo eopkg it zsync
ファイルをダウンロードする
zsyncは非常にシンプルなコマンドラインツールです。ダウンロードしたい.zsyncファイルのURLを指定するだけで、処理が自動的に始まります。用途に応じて使えるオプションもいくつか用意されています。
まずは実際にダウンロードを試してみましょう。例として、Debian Stableベースの人気ディストリビューション「MX Linux」を挙げます。MX LinuxはISOイメージの配布にzsyncを採用しています。以下のコマンドを実行してみてください。大きなファイルが不要な場合は、Ctrl + Cキーでいつでも中断できます。
zsync https://linuxfreedom.com/mxlinux/MX/Snapshots/MX-18_January_x64.iso.zsync

注目すべきは、zsyncがまず既存ファイルの有無をチェックする点です。該当するファイルが見つからなければ、単純にファイル全体をダウンロードします。
.zsyncファイルをあらかじめローカルに保存しておき、それを使ってダウンロードすることも可能です。-iオプションでファイルのパスを指定します。
zsync -i ~/Downloads/MX-18_January_x64.iso.zsync
実行結果は先ほどとまったく同じになります。
保存するファイル名を変更したい場合は、-oオプションを使用します。ファイル名を短くしておくと、後々の操作が楽になることもあります。
zsync https://linuxfreedom.com/mxlinux/MX/Snapshots/MX-18_January_x64.iso.zsync -o MX-18.iso
この場合も中身は同じファイルで、名前だけが変わります。
既存ファイルを更新する
実はUbuntuもISOイメージの配信にZsyncファイルを使用しています。ただし、一般的なダウンロードページからはアクセスしづらく、UbuntuのCDイメージサーバーから入手する必要があります。Ubuntu本体だけでなく、KubuntuやXubuntuなど各フレーバーのイメージも用意されています。
使い方は新規ダウンロード時とまったく同じです。zsyncはカレントディレクトリにある既存ファイルを探すところから処理を始めます。既存ファイルが見つかった場合のみ、新旧の差分を比較し、更新された部分だけをダウンロードします。下の画像は、zsyncが既存のKubuntu ISOを検出した際の動作を示したものです。

まとめ
以上のように、zsyncの使い方は非常にシンプルです。ダウンロード量を最小限に抑えられる優れたツールであり、帯域や時間の節約に大きく貢献してくれます。唯一惜しいのは、本来あるべきほど広く普及していない点かもしれません。とはいえ、大容量ファイルを頻繁にダウンロードする方にとっては、間違いなく試してみる価値のあるツールです。
-
Linuxのteeコマンド使い方ガイド|画面表示とファイル保存を同時に実現
Linuxシェルでパイプやリダイレクトを使っているなら、teeコマンドの出番もきっとあるはずです。teeは「標準出力に表示しながら、同時にファイルにも書き込む」ことができる便利なユーティリティです。この記事では、teeコマンドの基本操作から、sudoとの組み合わせ、追記モード、エラー出力の扱い方まで、実例を交えながら詳しく解説します。 teeコマンドとは何をするもの? まず、次のようなコマンドを見てみましょう。 ls このコマンドは、現在のディレクトリの内容を表示します。つまり、標準出力(stdout)へ出力するわけです。標準出力とは通常、画面、正確には仮想端末のディスプレイのことです
-
LinuxでZipファイルを解凍する方法|GUIとコマンドラインの使い方を徹底解説
Zipファイルは、ダウンロード速度が遅く1バイトでも節約が重要だった時代ほど頻繁には使われなくなりました。それでも今なお広く普及しているファイル形式の一つであり、いずれ開く必要に迫られることもあるでしょう。使用しているディストリビューションにもよりますが、Zipアーカイブの展開自体は比較的簡単です。とはいえ、より高度な操作方法や応用的なテクニックを知っておけば、いざというときにきっと役立ちます。GUIを使ってZipファイルを解凍する多くのLinuxデスクトップ環境では、Zipファイルの解凍は非常に簡単です。ファイルを右クリックすると複数のオプションが表示され、通常は「ここで展開」や「ここに解凍