Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Резервное копирование до обновления: что копировать

Перед обновлением 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 и списков пакетов даже образ не превращается в рабочую машину быстро.

Реальная арифметика такая:

  1. Чистая установка Arch — 20–40 минут по привычной схеме.
  2. pacman -S --needed - < packages.txt — ещё 10–20 минут в зависимости от сети.
  3. Копия /etc поверх свежей системы — минуты.
  4. Сборка пакетов из aur.txt через yay или paru — финальный аккорд.

Итого — час-полтора, против которого полный образ диска выглядит как перестраховка ради перестраховки. Так живут системы, которым 10+ лет: ни разу не клонировали диск, но каждый раз перед обновлением выгружали пару файлов.

Снапшоты — отдельная история и отличное дополнение, но они не заменяют списки пакетов: снапшот откатит систему назад, а список пакетов соберёт её заново. Если у тебя Btrfs или LVM — подключи и снапшоты перед обновлением.

Восстановление после полного сбоя: краткий план

Даже если система не грузится совсем, копии превращают аварию в пошаговую процедуру. Полный разбор — в статье Восстановление системы без сети: pacman -U и офлайн-кэш, здесь — каркас:

  1. Загрузись с live-USB, смонтируй целевой диск и корень.
  2. Скопируй свежую копию /etc на место (или точечно — fstab, pacman.conf, mirrorlist).
  3. В chroot восстанови списки пакетов и поставь всё разом:
pacman -S --needed - < packages.txt
  1. Пакеты из aur.txt поставь через yay/paru тем же способом.
  2. Собери 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 не умеет воссоздать сам: настройки и списки. Держи эту привычку — и обновления перестанут пугать.



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max