Первое, что должен освоить начинающий пользователь Raspberry Pi после установки и настройки OS Raspbian — это умение делать бэкапы.
В случае с Raspberry Pi бэкап представляет из себя образ, снятый с microSD-карточки с установленной и сконфигурированной OS Raspbian и набором приложений.
Можно сказать, что делая бэкап, мы создаем собственную версию дистрибутива Raspbian. Или делаем свою сборку из оригинального Raspbian и используемого в данном конкретном случае набора сторонних приложений.
Содержание
Что нам понадобится
Для осуществления описываемых в этой статье действий понадобится:
- Raspberry Pi 3 Model B
- Картридер или способное его заменить устройство
- Компьютер под управлением Windows, Linux или macOS
Бэкап Raspberry Pi под Windows
Для создания бэкапа Raspberry Pi под Windows потребуется бесплатная программа Win32 Disk Imager, скачать которую можно с ее страницы на SourceForge:
При установленной в картридер (или заменяющее его устройство) microSD-карточке из «малины» вводим название файла, в который будет записан образ, и нажимаем кнопку «Read»:
Процесс пошел. Программа полностью считает содержимое microSD в IMG-файл.
Поэтому, кстати, невыгодно использовать в качестве системного накопителя Raspberry Pi карты памяти больших размеров — они все будут считываться целиком, а держать на компьютере диске бэкапы весом по 32-64Гб каждый, мягко говоря, неудобно.
Оптимальный размер microSD под Raspberry Pi на мой взгляд — 8Гб. Максимум 16Гб. Больше — уже перебор, для хранения файлов лучше использовать USB-накопители.
Восстановление Raspberry Pi из бэкапа происходит через ту же программу Win32 Disk Imager. Нужно указать путь к сохраненному файлу образа и нажать кнопку «Write»:
После чего карточка будет данными из снятого нами образа:
Можно вставлять ее обратно в «малину» и пользоваться.
После восстановления системы из бэкапа слетают созданные соединения с Bluetooth-устройствами — нужно заново проводить сопряжение, но все остальные настройки сохраняются.
Бэкап Raspberry Pi под Linux
В Linux-системах сделать бэкап Raspberry Pi можно с помощью системной утилиты dd.
Для этого нужно ввести в терминале следующую команду:
sudo dd if=/dev/mccblk0 of=/home/Username/Desktop/raspberrypi-backup.img
Где в «if=» прописывается путь к вставленной в картридер microSD-карте, а в «of=» прописывается путь к файлу образа, в который содержимое этой карты будет вписываться.
Соответственно, вместо /dev/mccblk0 и /home/Username/Desktop/raspberrypi-backup.img нужно ввести свои пути.
Путь к смонтированной microSD-карте можно посмотреть выполнением консольной команды:
ls -l /dev/disk/by-uuid
Восстановление Raspberry Pi из бэкапа производится с помощью той же утилиты dd, только меняются местами значения «of» и «if»:
sudo dd if=/home/Username/Desktop/raspberrypi-backup.img of=/dev/mccblk0
Бэкап Raspberry Pi под macOS
Поскольку macOS тоже является *nix-системой, процесс бэкапа Raspberry Pi в этой операционной системе не будет кардинально отличаться от вышеописанной процедуры бэкапа под Linux.
Только путь к смонтированной microSD-карте смотрится через программу Disk Utility (Дисковая утилита):
А затем в выполняется все та же команда dd для записи образа карты памяти в файл:
dd if=/dev/disk2 of=raspberrypi-backup.img
И для восстановления карты памяти из снятого образа:
dd if=raspberrypi-backup.img of=/dev/disk2
Заключение
Пренебрегать созданием бэкапов при использовании Raspberry Pi не стоит.
Начинающему пользователю Linux не составит труда покопаться в системе так, что потом проще будет переустановить ее, чем исправлять наделанные ошибки.
Первый бэкап я рекомендую сделать сразу после завершения установки и настройки Raspbian, и в дальнейшем делать бэкапы не реже, чем раз в 2-4 недели.
В случае запарывания системы наличие актуального бэкапа позволит сэкономить много времени, которое в ином случае пришлось бы потратить на повторную установку и обновление пакетов, прописывание скриптов и прочие действия.
Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest
Спасибо, способ с Win32DiskImager рабочий. Давно хотел зарезервировать образ с малины.
У меня под виндой, при подключении флешки определяются 2 раздела — BOOT и ROOT и я не могу понять как их засунуть в один образ.
Два раздела — это нормально, с Raspbian все то же самое. Надо снять образ с одного раздела — второй подтянется автоматически. Если использовать Win32DiskImager, то скорее всего даже выбирать ничего не нужно будет — программа сама подставит нужную буковку имени диска.
Ну и после можно проверить. Если размер полученного образа равен полной емкости карточки памяти, то все сделано правильно.
Не получается сделать образ Ubuntu Mate. Два раздела — Pi-BOOT и Pi-ROOT. Не понимаю как сделать один образ из двух разделов.
Надо бы указать, что обратная заливка образа на фелшку под маком производится в размонтированном состоянии флешки, иначе будет ошибка «Resource busy»
один образ из двух разделов делается просто — sudo blkid.
Там видно два раздела — boot и rootfs
в начале этих строк путь к устройству, например: «/dev/sdg1» и «/dev/sdg2».
команда копирования всего устройства: dd if=/dev/sdg of= и так далее по вкусу. И разворачивается образ аналогично. Только флешку лучше использовать одной модели.
Здравствуйте, вы не знаете такую программу под мак для этих целей, чтобы и в терминал не надо было лезть (у меня нет root-пароля) и чтобы она сразу и сжала образ в архив (у меня образ большой)?
Есть утилита PiCloner, которая делает образы и сжимает их на лету, но сам я ей не пользовался и последнее обновление для нее вышло в 2016 году. Возможно есть какие-то проблемы совместимости с macOS Catalina.
Сделал я в Rasbian вот эту команду:
sudo dd if=/dev/mccblk0 of=/home/Username/Desktop/raspberrypi-backup.img
вместо mccblk0 у меня mmcblk0
ну и Username свой.
И всё.
Система пилила-пилила и сдохла, теперь не загружается.
Не нужно ли было указать, что в of= должен быть внешний путь?
А не саму в себя системе образ писать.
Да, нужно выбирать другой носитель. Если образ будет находиться на том же диске, с которого образ снимается, то файл с образом должен будет записываться сам в себя.
Система перестала загружаться скорее всего из-за того, что полностью кончилось место на системном диске. Нужно открыть содержимое карты памяти на другом компьютере и удалить этот файл с резервной копией.