55 個の開発ツールを、常に最新に — 上流の新しいリリースは数時間以内に apt に届きます。 Discord に参加

📅 より、apt ミラーの利用にはサブスクリプションが必要になります。 料金を見る · 🆓 ずっと無料のミラーがあります

最新の restic を Debian にインストール

重複排除とクライアント側暗号化を備えた、速く安全で無駄のないバックアップ

最新バージョン: 0.19.1 · 更新日 2026-09-08
提供元バージョン
deb.griffo.io0.19.1 ✅
公式 Debian0.18.0 🛑
← ホームに戻る
📌 特定のリリースに入れますか? Debian 12 (bookworm) · Debian 13 (trixie) · Debian 14 (forky) · Debian Sid

restic とは

restic は 速く、無駄がなく、安全なバックアッププログラムです。ファイルを内容で決まる境界のチャンクに分け、同じチャンクは一度しか保存しません。ほとんど変わっていないディレクトリの二度目のバックアップは、ほぼ何も転送しません。すべては手元のマシンで AES-256 と Poly1305-AES により暗号化・認証され、1 バイトも素のままでは出ていきません。つまり、完全には信用していない場所にリポジトリを置けます。スナップショットは追記のみで、一覧、差分、ファイルシステムとしてのマウント、ファイル単位のリストアが、それぞれコマンド 1 つでできます。設定ファイルを書く必要はありません。

🚀 最新版であることの意味: バックアップツールの価値は、リストアできる価値そのものです。そして restic のリリースには、リポジトリ形式まわりの作業、prunecheck の修正、大きなリポジトリでのメモリ削減、新しいバックエンド対応が入ってきます。Debian 安定版のバージョンは何年も前のものです。新しい restic が書いたリポジトリは古い restic では読めないことがあるので、リストアする側のマシンは、バックアップした側と同じか新しくなければなりません。どこでも現行リリースを使うのが、それを保ついちばん簡単な方法です。

⚡ restic の主な機能

🧩 本当に効く重複排除

内容に基づくチャンク分割により、変わっていないファイル、移動しただけのファイル、10 台に同じものがあるファイルは、いずれも一度だけ保存されます。同じツリーの毎日のスナップショットは、差分ぶんのコストで済みます。

🔐 出ていく前に暗号化

内容は AES-256、認証は Poly1305-AES、どちらもクライアント側で行います。リポジトリには平文も未認証データもありません。敵対的なストレージはバックアップを失わせることはできても、読むことも偽造することもできません。

☁️ どこにでも置けるバックエンド

ローカルディレクトリ、SFTP、REST サーバー、Amazon S3 と S3 互換のすべて、OpenStack Swift、Backblaze B2、Azure Blob Storage、Google Cloud Storage、そして rclone 経由でそれ以外のすべて。

📸 見て回れるスナップショット

restic snapshots で一覧、restic diff で 2 つの差分、restic mount ですべてのスナップショットをディレクトリの下に。1 ファイルだけなら cp で取り戻せます。

🧹 保持ポリシーと掃除

forget --keep-daily/--keep-weekly/--keep-monthly は保持ポリシーをそのまま書けますし、--prune がそのあとリポジトリ内の領域を回収します。

🔎 検証できるリポジトリ

restic check がリポジトリの構造を検証し、--read-data はすべての pack ファイルを読み直して検証します。「バックアップがある」と「バックアップが壊れていない」を、どちらも実際に確かめられます。

🚀 公式アーカイブより、いつも先へ: Debian と Ubuntu は、リリース時点でパッケージのバージョンを固定します。このリポジトリは上流の新しいリリースを、たいてい数時間以内に公開します。apt upgrade を実行するだけで、常に最新版を使い続けられます。

📦 deb.griffo.io からインストールする

コマンドの実行方法

ステップ 1: リポジトリを追加する

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update
sudo apt install extrepo
sudo extrepo enable griffo
sudo apt update

🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。restic は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。

無料ミラーの仕組み →

🧩 extrepo オプションについて。 extrepo は外部リポジトリを扱う Debian 標準のツールです。署名済みメタデータと照合して鍵を検証したうえで、sources ファイルの作成と署名鍵のインストールを代わりに行います。このリポジトリは griffo、ずっと無料のミラーは griffo-free という名前で登録されているので、Debian(bookworm、trixie、forky、sid)では上のコマンドだけで設定は完了です。

extrepo が用意するのは sources ファイルと鍵だけなので、サブスクリプションの認証情報は引き続き /etc/apt/auth.conf.d/deb.griffo.io.conf に書きます。extrepo は Debian のスイート向けメタデータしか公開していないため Ubuntu は対象外です。Ubuntu では sudo または root のコマンドを使ってください。

ステップ 2: restic をインストールする

# 最新の restic をインストール
sudo apt install restic

# インストールを確認
restic version
# 最新の restic をインストール
apt install restic

# インストールを確認
restic version

ステップ 3: 最初のリポジトリを作る

# リポジトリはディレクトリです。ローカルでもリモートでも構いません。
# パスワードを決めて必ず保管してください。無ければデータは戻せません(設計です)。
restic init --repo /srv/backup/restic

# 何かをバックアップする
restic -r /srv/backup/restic backup ~/Documents

# 何が入っているか見る
restic -r /srv/backup/restic snapshots

# man ページと bash・fish・zsh の補完はパッケージに入っています
man restic

🎯 基本的な使い方

バックアップする:

# 毎回入力せずに済むよう、パスワードはファイルに置く
echo '長いパスフレーズ' | sudo tee /etc/restic-password > /dev/null
sudo chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password

# 複数のパスを、リストア時にいらないものを外してバックアップ
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'

# あるいはファイルで指定する(1 行 1 パターン)
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches

# あとで探せるようにタグを付ける
restic backup /etc --tag config --tag "$(hostname)"
# 毎回入力せずに済むよう、パスワードはファイルに置く
echo '長いパスフレーズ' | tee /etc/restic-password > /dev/null
chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password

# 複数のパスを、リストア時にいらないものを外してバックアップ
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'

# あるいはファイルで指定する(1 行 1 パターン)
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches

# あとで探せるようにタグを付ける
restic backup /etc --tag config --tag "$(hostname)"

リストアと閲覧:

# リポジトリの中身
restic snapshots
restic ls latest /etc

# 最新のスナップショットからすべて戻す
restic restore latest --target /tmp/restore

# 実際に失ったパスだけを戻す
restic restore latest --target / --include /etc/nginx

# 履歴全体をマウントして、手でファイルを取り出す(FUSE が必要)
sudo apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup

# 2 つのスナップショットの差分
restic diff 1a2b3c4d 5e6f7a8b
# リポジトリの中身
restic snapshots
restic ls latest /etc

# 最新のスナップショットからすべて戻す
restic restore latest --target /tmp/restore

# 実際に失ったパスだけを戻す
restic restore latest --target / --include /etc/nginx

# 履歴全体をマウントして、手でファイルを取り出す(FUSE が必要)
apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup

# 2 つのスナップショットの差分
restic diff 1a2b3c4d 5e6f7a8b

リモートのリポジトリ:

# SFTP: すでに ssh で入れるマシンならどこでも
restic -r sftp:backup@nas:/srv/restic init

# S3 と S3 互換のすべて。セルフホストの Garage や MinIO も含みます
export AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=...
restic -r s3:https://s3.example.com/backups init

# Backblaze B2
export B2_ACCOUNT_ID=... B2_ACCOUNT_KEY=...
restic -r b2:my-bucket:backups init

# rclone が届く先すべて、つまり残り全部
restic -r rclone:mydrive:backups init

保持・掃除・検証:

# リポジトリ全体に適用する保持ポリシー
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune

# forget はスナップショットを消すので、まずは空実行で
restic forget --keep-daily 7 --dry-run

# 構造チェック。軽いので、こまめに
restic check

# 実データの一部を読み直して検証。重いので、月に一度
restic check --read-data-subset 10%

# 容量がどこに使われているか
restic stats --mode raw-data

🔧 ツール連携

restic は、すでに動かしているもので動かす前提の作りです:

  • systemd: サービス 1 つとタイマー 1 つが定番の無人運用です。RESTIC_REPOSITORYRESTIC_PASSWORD_FILE はシェルのプロファイルではなく unit に書きます
  • rclone: rclone: バックエンドを使えば、restic 自身が話さなくても rclone の対応する全プロバイダが使えます
  • FUSE: fuse3(または fuse)があれば restic mount が全スナップショットを辿れるディレクトリになり、1 ファイルの復旧はこれが最速です
  • rest-server: 上流自身の HTTP バックエンド。追記のみモードがあり、侵害されたクライアントが自分の作ったバックアップを消せません
  • データベース: --stdin は標準入力からダンプを受け取るので、pg_dump … | restic backup --stdin --stdin-filename db.sql はディスクを一切使いません

🚀 deb.griffo.io を選ぶ理由

📊 リポジトリの比較:
  • 公式 Debian: restic は入っていますが、現行の安定版で固定されたバージョンは上流からかなり遅れており、Debian 12 はさらに遅れています
  • 上流のバイナリ: 最新ではありますが、bzip2 で圧縮されたバイナリを自分で /usr/local/bin に展開する形で、apt の外に置かれ、以後は restic self-update で面倒を見ることになります
  • Snap: 制限付き実行のため、ホーム以外のパスのバックアップやスナップショットのマウントが、本来より面倒になります
  • deb.griffo.io: 最新版を自動更新で

📦 パッケージのビルドリポジトリ

Debian パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:

🔗 関連パッケージ

deb.griffo.io では、こちらも配布しています:

🎯 こんな方に: 自分の管理下にないストレージへのノート PC やサーバーの夜間バックアップ、1 年分のディスクを使わずに 1 年分のスナップショットを残すこと、3 週間前のファイルを 1 つだけ戻すこと、そしてバックアップを預かる相手に中身を読ませてはいけないあらゆる構成に。

📦 このリポジトリの最近のリリース

❓ よくある質問

restic は公式の Debian リポジトリにありますか?

あります。ただし公式 Debian アーカイブが配布しているのは restic 0.18.0 で、このリポジトリは上流のリリースから数時間以内に再ビルドした restic 0.19.1 を配布しています。

Debian に最新の restic を入れるには?

上の手順で deb.griffo.io リポジトリを一度追加してから、sudo apt install restic を実行してください。新しいリリースは、いつもの sudo apt upgrade で届きます。

パッケージは署名されていますか? どのようにビルドされていますか?

すべてのパッケージはリポジトリの GPG 鍵(EA0F721D231FDD3A0A17B9AC7808B4DD62C41256)で署名されており、誰でも中身を確認できる公開の GitHub パッケージングリポジトリで、上流のリリースからビルドされています。

Debian のどのリリースに対応していますか?

Debian 12 Bookworm、Debian 13 Trixie、Forky、Sid。