Резервное копирование до обновления: что копировать
Перед обновлением Arch Linux не нужно клонировать весь диск: за час до pacman -Syu хватает копии /etc, списков установленных пакетов и важного из домашнего каталога. Именно эти три вещи превращают даже полный сбой в восстановление за час, а не за день. Разберём, что копировать, какие команды для этого есть и как собрать всё в один архив.
Что копировать перед обновлением, а что не надо?
Копировать всю систему каждый раз перед обновлением, трата времени и места. Диски в Arch живут по одной логике: система переустанавливается быстро, а настройки и список пакетов восстанавливаются из копии. Вот что реально имеет значение.
/etc: конфиги системы
Каталог /etc: главный кандидат на копию. Там лежат то, что pacman не восстановит после переустановки: твои правки в /etc/fstab, /etc/pacman.conf, /etc/pacman.d/mirrorlist, настройки сети, ssh-демона, загрузчика. Пакеты при обновлении подхватывают обновлённые конфиги, но твои ручные правки, нет.
rsync -aHAX --delete /etc/ /mnt/flash/etc-backup/
Отдельно сохрани ключи pacman: без них pacman перестаёт доверять подписям пакетов, особенно неприятно это выглядит после сбоя:
cp -a /etc/pacman.d/gnupg /mnt/flash/pacman-gnupg/
Списки пакетов: два файла вместо гигабайтов
Список установленных пакетов весит килобайты, а позволяет поставить систему заново почти в том же виде. Две команды:
pacman -Qqn > packages.txt
pacman -Qm > aur.txt
Первая команда пишет пакеты из официальных репозиториев, вторая: то, что поставлено из AUR. Подробности флагов и варианты экспорта разобраны в статье pacman -Qe и -Qq: экспорт списка пакетов: там же про разницу между -Qq и -Qeq. Здесь важно одно: эти два файла, самая ценная часть копии, потому что они весят почти ничего, а спасают полностью.
Базы pacman (/var/lib/pacman/local и /var/lib/pacman/sync) копировать отдельно почти не нужно: sync пересоздаётся за минуту через pacman -Syy, а local честно восстанавливается теми самыми списками пакетов. Как устроены обе базы и что с ними бывает, читай в Базы pacman: где лежат и как пересоздать.
Важное из ~: dotfiles
Домашний каталог целиком копировать не надо: музыка, видео и скачанное переустанавливаются или скачиваются заново. Ценность в dotfiles: скрытых конфигах и рабочих файлах:
.bashrc,.zshrc,.gitconfig,.config/(оттуда терминал, редактор, DE);- ключи SSH:
.ssh/; - скрипты и заметки, которые ты реально правишь.
rsync -aAX --exclude='cache' --exclude='Downloads' ~ /mnt/flash/home-backup/
Если dotfiles у тебя уже в git, отлично, это ещё надёжнее. Если нет, обычный rsync на флешку закрывает задачу.
Быстрые команды: rsync и tar
Одна rsync-команда собирает конфиги, dotfiles и списки пакетов в месте:
mkdir -p /mnt/flash/arch-backup
rsync -aHAX /etc /mnt/flash/arch-backup/
rsync -aAX ~ /mnt/flash/arch-backup/home/ \
--exclude='.cache' --exclude='Downloads' --exclude='.local/share/Trash'
pacman -Qqn > /mnt/flash/arch-backup/packages.txt
pacman -Qm > /mnt/flash/arch-backup/aur.txt
Если хочется один файл вместо каталога, tar:
tar -czf /mnt/flash/arch-backup-$(date +%F).tar.gz \
/etc ~/** 2>/dev/null
Для чистоты архива лучше всё-таки собрать временный каталог rsync-ом и заархивировать его целиком: так проще потом разобраться, что внутри.
Куда класть готовую копию:
- Флешка: классика, правь копию непосредственно перед обновлением.
- Второй диск в той же машине: быстрее всего, но не спасёт при сбое диска.
- Облако или NAS: лучший вариант для dotfiles и списков пакетов: они маленькие, выгрузятся за секунды.
В идеале держи две копии: локальную (флешка/второй диск) и удалённую (облако хотя бы для packages.txt, aur.txt и /etc).
Почему не надо копировать весь диск каждый раз
Полный образ диска кажется безопасным, но на практике он мешает: копия делается часами, занимает сотни гигабайт и почти всегда отстаёт от реального состояния системы. Хуже другое: иллюзия, что «образ есть, значит, всё спасено»: без восстановленного /etc и списков пакетов даже образ не превращается в рабочую машину быстро.
Реальная арифметика такая:
- Чистая установка Arch: 20–40 минут по привычной схеме.
pacman -S --needed - < packages.txt: ещё 10–20 минут в зависимости от сети.- Копия
/etcповерх свежей системы: минуты. - Сборка пакетов из
aur.txtчерез yay или paru: финальный аккорд.
Итого: час-полтора, против которого полный образ диска выглядит как перестраховка ради перестраховки. Так живут системы, которым 10+ лет: ни разу не клонировали диск, но каждый раз перед обновлением выгружали пару файлов.
Снапшоты: отдельная история и отличное дополнение, но они не заменяют списки пакетов: снапшот откатит систему назад, а список пакетов соберёт её заново. Если у тебя Btrfs или LVM, подключи и снапшоты перед обновлением.
Восстановление после полного сбоя: краткий план
Даже если система не грузится совсем, копии превращают аварию в пошаговую процедуру. Полный разбор в статье Восстановление системы без сети: pacman -U и офлайн-кэш, здесь каркас:
- Загрузись с live-USB, смонтируй целевой диск и корень.
- Скопируй свежую копию
/etcна место (или точечно:fstab,pacman.conf, mirrorlist). - В chroot восстанови списки пакетов и поставь всё разом:
pacman -S --needed - < packages.txt
- Пакеты из
aur.txtпоставь через yay/paru тем же способом. - Собери dotfiles из копии домашнего каталога и проверь, что система грузится.
Ключевой момент: /etc возвращается на место до установки пакетов, чтобы pacman сразу работал с твоими настройками зеркал и опций.
Частые вопросы
Копировать ли /var целиком?
Нет. Из /var ценность представляет только кэш pacman (/var/cache/pacman/pkg), и тот полезнее держать постоянно, а не под обновление. Базы из /var/lib/pacman пересоздаются, как описано выше.
Что с AUR-пакетами после переустановки?
Имена всех AUR-пакетов лежат в aur.txt. На чистой системе поставь yay или paru и накати список: yay -S --needed - < aur.txt. Сборка займёт время, но всё восстановится без ручного перебора.
Нужно ли обновлять списки пакетов каждый день?
Достаточно раз в неделю и всегда: прямо перед обновлением. Списки меняются нечасто, но именно свежий файл спасает, когда сбой случается в момент pacman -Syu.
Хранить ли копию ключей pacman?
Да, /etc/pacman.d/gnupg входит в копию /etc автоматически, если копируешь каталог целиком. На чистой установке ключи можно пересоздать (pacman-key --init && pacman-key --populate archlinux), но со своей копией экономишь время и нервы.
Зачем ещё tar, если есть rsync?
rsync удобен для регулярного обновления копии (докачивает только изменения), tar, для единого файла, который проще запаковать в облако или отдать другу. Используй оба: rsync для флешки, tar для облака.
Полезные ресурсы
- System maintenance (ArchWiki): официальные рекомендации по бэкапам и обновлениям.
- Pacman (ArchWiki): справочник по всем командам пакетного менеджера.
Заключение
Резервная копия перед обновлением это не образ диска, а три файла и один каталог: /etc, packages.txt, aur.txt и dotfiles из домашнего каталога. rsync собирает всё за минуту, флешка или облако держат копию под рукой, а при сбое система собирается заново за час, с твоими конфигами и полным составом пакетов. Копируй не систему, а то, что pacman не умеет воссоздать сам: настройки и списки. Держи эту привычку, и обновления перестанут пугать.
Не получилось? Поможем настроить
Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Комментарии