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, до того как её покинет первый байт: репозиторий может лежать там, где вы не доверяете хранилищу полностью. Снимки только дописываются, их можно перечислить, сравнить, смонтировать как файловую систему и восстановить по одному файлу — на каждое действие по команде и ни одного конфигурационного файла.

🚀 Почему важна последняя версия: инструмент резервного копирования стоит ровно столько, сколько стоят его восстановления, а в релизах restic выходят работа над форматом репозитория, исправления prune и check, снижение расхода памяти на больших репозиториях и новые бэкенды. Версия в стабильном Debian отстаёт на годы: репозиторий, записанный свежим restic, может оказаться нечитаемым для старого, поэтому машина, которая восстанавливает, должна быть не старше той, которая делала копию. Держать везде текущий выпуск — самый простой способ это обеспечить.

⚡ Ключевые возможности restic

🧩 Дедупликация, которая действительно работает

Нарезка по содержимому означает, что неизменённый файл, перемещённый файл и файл, который есть на десяти машинах, хранятся один раз. Ежедневные снимки одного дерева стоят разницы, а не всего дерева.

🔐 Шифрование до отправки

AES-256 для содержимого и Poly1305-AES для аутентификации, всё на клиенте. В репозитории нет ни открытого текста, ни неаутентифицированных данных: враждебное хранилище может потерять вашу копию, но не прочитать и не подделать её.

☁️ Бэкенды на любой случай

Локальный каталог, SFTP, REST-сервер, Amazon S3 и всё S3-совместимое, OpenStack Swift, Backblaze B2, Azure Blob Storage, Google Cloud Storage — и всё остальное через rclone.

📸 Снимки, по которым можно ходить

restic snapshots покажет список, restic diff — разницу между двумя, а restic mount положит все снимки под каталог, и один файл вы достанете обычным 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 месяцев позади upstream, исправления безопасности сразу. Сейчас там 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. Ubuntu не поддерживается, так как extrepo публикует метаданные только для выпусков Debian: там используйте команды с 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'

# Или управлять из файла, по шаблону на строку
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'

# Или управлять из файла, по шаблону на строку
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

# Что изменилось между двумя снимками
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

# Что изменилось между двумя снимками
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: сервис плюс таймер — обычная схема без присмотра; RESTIC_REPOSITORY и RESTIC_PASSWORD_FILE задают в юните, а не в профиле оболочки
  • rclone: бэкенд rclone: даёт restic всех провайдеров, которых поддерживает rclone, при том что сам restic ни одного из них не знает
  • FUSE: fuse3 (или fuse) превращает restic mount в каталог со всеми снимками — самый быстрый способ достать один файл
  • rest-server: собственный HTTP-бэкенд проекта с режимом «только дописывание», чтобы взломанный клиент не смог удалить сделанные им копии
  • Базы данных: --stdin принимает дамп со стандартного ввода, так что pg_dump … | restic backup --stdin --stdin-filename db.sql вообще не трогает диск

🚀 Почему стоит выбрать deb.griffo.io?

📊 Сравнение репозиториев:
  • Официальный Debian: restic есть, но версия, замороженная в текущем стабильном выпуске, заметно отстаёт от upstream, а Debian 12 отстаёт ещё сильнее
  • Бинарник upstream: свежий, но это сжатый bzip2 файл, который вы сами распаковываете в /usr/local/bin мимо apt и потом обновляете через restic self-update
  • Snap: в песочнице, из-за чего копирование путей вне домашнего каталога и монтирование снимков сложнее, чем должно быть
  • deb.griffo.io: последняя версия с автоматическими обновлениями

📦 Репозиторий сборки пакета

Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:

🔗 Похожие пакеты

Также доступны в deb.griffo.io:

🎯 Идеально подходит для: ночных копий ноутбука или сервера в хранилище, которым вы не управляете, хранения года снимков без года диска, восстановления одного файла трёхнедельной давности и любой схемы, где тот, у кого лежат копии, не должен уметь их прочитать.

📦 Последние релизы этого репозитория

❓ Часто задаваемые вопросы

Есть ли restic в официальных репозиториях Debian?

Да, но официальный архив Debian поставляет restic 0.18.0, тогда как этот репозиторий предлагает restic 0.19.1, пересобирается через несколько часов после каждого релиза.

Как установить последнюю версию restic в Debian?

Добавьте репозиторий deb.griffo.io один раз по инструкции выше, затем выполните: sudo apt install restic. Новые версии приходят через обычный sudo apt upgrade.

Подписаны ли пакеты и как они собираются?

Каждый пакет подписан GPG-ключом репозитория (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) и собирается из релизов upstream в публичных репозиториях GitHub, которые может проверить любой.

Какие версии Debian поддерживаются?

Debian 12 Bookworm, Debian 13 Trixie, Forky и Sid.