Restic – утилита резервного копирования с открытым исходным кодом, поддерживающая дедупликацию данных, шифрование, создание снапшотов, а также хранение резервных копий как на локальных носителях, так и на удалённых, в том числе облачных, ресурсах. В статье разберём, как установить Restic на виртуальный выделенный сервер, работающий под управлением CentOS Stream или Rocky Linux.
Как установить Restic на CentOS Stream и Rocky Linux из репозитория EPEL
Пакет Restic отсутствует в стандартных репозиториях CentOS Stream и Rocky Linux, при этом он есть в репозитории EPEL (Extra Packages for Enterprise Linux). Установка Restic из репозитория EPEL – самый простой из рассматриваемых здесь способов.
Чтобы в системе стало доступно множество дополнительных пакетов, которых нет в стандартных репозиториях, подключите официальный дополнительный репозиторий EPEL:
$ sudo dnf install epel-release
После чего запустите инсталляцию Restic:
$ sudo dnf install restic
Чтобы убедиться в успешной установке, выведите версию установленного пакета:
$ restic version

Как установить Restic из готового бинарного файла
Данный способ инсталляции позволяет получить готовую к работе программу без компиляции исходного кода и установки дополнительных средств разработки. При установке из готового бинарного файла также вы можете выбрать версию Restic. В том числе можно проинсталлировать более новый релиз по сравнению с тем, который устанавливается через репозиторий EPEL.
Для загрузки на виртуальную машину бинарного файла перейдите в каталог /tmp:
$ cd /tmp
Установите в систему утилиту wget, при помощи которой производится загрузка файлов из сети:
$ sudo dnf install wget
После чего на локальном компьютере откройте браузер и перейдите на страницу релизов Restic на GitHub. Здесь выберите требуемую версию и скопируйте ссылку на загрузку бинарного файла для Linux.

Затем вернитесь в терминал сервера и при помощи утилиты wget и скопированной ссылки загрузите файл архива в текущий каталог:
$ wget https://github.com/restic/restic/releases/download/v0.19.1/restic_0.19.1_linux_amd64.bz2
Далее установите в систему пакет bzip2, который содержит утилиты для сжатия и распаковки файлов в формате .bz2. В данном случае пакет необходим для распаковки загруженного архива.
$ sudo dnf install bzip2
По окончании установки распакуйте полученный архив:
$ bunzip2 restic_0.19.1_linux_amd64.bz2
Файлу, полученному при распаковке, выдайте права на исполнение:
$ sudo chmod +x restic_0.19.1_linux_amd64
После чего переместите файл в директорию /usr/local/bin/ с переименованием его в restic:
$ sudo mv restic_0.19.1_linux_amd64 /usr/local/bin/restic
Чтобы убедиться в том, что команда restic доступна в системе, выведите версию установленного пакета:
$ restic version

Как установить Restic из исходного кода
Ещё один способ установки Restic – это инсталляция из исходного кода с использованием Go и Git. Такой способ позволяет получить актуальную версию программы. Для этого необходимо клонировать официальный репозиторий проекта и выполнить сборку. При этом нет необходимости дожидаться появления новой версии в репозиториях операционной системы. Кроме того, можно собрать Restic из определённой ветки или конкретного тега. Также при использовании данного способа появляется возможность протестировать экспериментальные релизы, либо использовать собственные изменения в исходном коде.
Следует учитывать, что установка из исходного кода требует предварительной установки Go. Инсталляция актуальной версии Go на CentOS Stream и Rocky Linux описана в специальной статье нашего справочника.
После инсталляции Go установите Git – распределённую систему контроля версий. Git необходим для клонирования репозитория Restic с GitHub.
$ sudo dnf install git
Затем склонируйте в систему официальный репозиторий Restic:
$ git clone https://github.com/restic/restic
В результате в текущем каталоге будет создан каталог restic, содержащий исходный код программы и все необходимые файлы для её сборки с помощью Go. Перейдите в каталог restic:
$ cd restic/
После чего запустите сценарий сборки build.go, входящий в состав исходного кода Restic. Данный сценарий компилирует программу и создаёт исполняемый файл restic, готовый к дальнейшей установке и использованию.
$ go run build.go
Скопируйте файл restic из текущего каталога в /usr/local/bin/:
$ sudo cp ./restic /usr/local/bin/
Каталог /usr/local/bin/ входит в системную переменную PATH. Благодаря этому команду restic можно будет запускать из любой директории. Чтобы убедиться в этом, проверьте возможность запуска команды при помощи вывода её версии:
$ restic version

