Сообщение «error: failed to install packages to new root» появляется на этапе выполнения команды pacstrap при установке Arch Linux или дистрибутивов на его основе, когда пакетный менеджер pacman не смог скачать или проверить пакеты для новой системы. Установка прерывается, а в смонтированный раздел /mnt попадает лишь часть базовых пакетов или не попадает ничего.
Ошибка не означает аппаратную неисправность: почти всегда причина кроется в сети, устаревших зеркалах репозиториев, неверном системном времени или проблемах с ключами подписи пакетов. Ниже разберём, как диагностировать конкретную причину и устранить её без переустановки загрузочного носителя.
Что означает ошибка и когда она возникает
Команда pacstrap /mnt base linux linux-firmware устанавливает базовые пакеты в смонтированный корневой раздел будущей системы. Внутри она вызывает pacman с указанием альтернативного корня. Если pacman не может получить базы репозиториев, скачать пакеты или проверить их подписи, процесс завершается сообщением о невозможности установки пакетов в новый корень.
Текст ошибки может дополняться пояснениями вроде failed to synchronize all databases, invalid or corrupted package (PGP signature) или таймаутами загрузки. Именно эти дополнительные строки — главный ключ к диагностике, поэтому важно читать вывод целиком, а не только последнюю строку.
- 🌐 Нет подключения к интернету или не настроен DNS в live-окружении.
- 🪞 Недоступные зеркала в списке
/etc/pacman.d/mirrorlist. - 🕐 Неверное системное время, из-за которого сертификаты и подписи считаются недействительными.
- 🔑 Проблемы с ключами PGP — устаревший пакет ключей на старом установочном ISO.
- 💾 Нехватка места в tmpfs live-системы или ошибки на целевом диске.
Проверка подключения к интернету
Первое действие — убедиться, что live-окружение вообще имеет доступ к сети. Без интернета pacstrap не сможет загрузить ни одного пакета, и это самая частая причина сбоя.
ping -c 3 archlinux.org
Если пакеты не проходят, проверьте состояние интерфейсов командой ip link и настройте подключение. Для Wi-Fi в установочном образе Arch используется утилита iwctl: внутри её интерактивного режима выполняют station wlan0 scan, затем station wlan0 get-networks и подключение через station wlan0 connect "Имя_сети". Для проводного соединения обычно достаточно, чтобы DHCP-клиент получил адрес автоматически — это проверяется командой ip addr.
Отдельно проверьте разрешение имён: если ping по IP-адресу работает, а по домену нет, проблема в DNS. Посмотрите содержимое /etc/resolv.conf — там должен быть указан рабочий DNS-сервер.
Синхронизация времени и обновление зеркал
Неверная дата на компьютере приводит к тому, что HTTPS-сертификаты зеркал и PGP-подписи пакетов распознаются как недействительные. Проверить и включить синхронизацию времени можно одной командой:
timedatectl set-ntp true
timedatectl status
Далее — зеркала. В установочном образе список серверов находится в файле /etc/pacman.d/mirrorlist, и верхние строки могут указывать на медленные или недоступные серверы. Для автоматического выбора ближайших зеркал используется утилита reflector, которая входит в состав установочного образа:
reflector --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
После обновления списка зеркал принудительно обновите базы репозиториев командой pacman -Syy и только затем повторяйте pacstrap. Если reflector по какой-то причине недоступен, можно вручную раскомментировать несколько географически близких серверов в файле mirrorlist.
Проблемы с ключами PGP и устаревшим ISO
Если в выводе pacstrap встречаются строки про invalid or corrupted package и PGP signature, вероятная причина — устаревший набор ключей archlinux-keyring в старом установочном образе. Подписи разработчиков регулярно обновляются, и ISO полугодовой давности может не знать актуальные ключи.
Решение — обновить пакет ключей в самом live-окружении до запуска установки:
pacman -Sy archlinux-keyring
В более тяжёлых случаях помогает переинициализация связки ключей: удаление каталога /etc/pacman.d/gnupg, затем pacman-key --init и pacman-key --populate archlinux. Это безопасные операции для live-окружения — они не затрагивают устанавливаемую систему.
⚠️ Внимание: не отключайте проверку подписей через параметр
SigLevel = Neverв/etc/pacman.confради обхода ошибки. Это снимает защиту от подмены пакетов и создаёт серьёзный риск безопасности для устанавливаемой системы.
Почему старый ISO вызывает проблемы с ключами
Разработчики Arch Linux периодически меняют ключи подписи пакетов, а сами ключи имеют срок действия. Установочный образ содержит снимок keyring на момент выпуска. Чем старше образ, тем выше вероятность, что часть ключей истекла или заменена. Поэтому рекомендуется скачивать свежий ISO с официального сайта перед установкой.
Пошаговая инструкция по исправлению
Соберём все проверки в последовательный алгоритм. Выполняйте шаги по порядку — в большинстве сценариев ошибка устраняется на первых трёх пунктах.
☑️ Чек-лист устранения ошибки pacstrap
После каждого шага есть смысл сразу повторять pacstrap, чтобы понять, какое именно действие помогло. Если установка прервалась на середине, перед повторным запуском можно очистить кэш частично загруженных пакетов командой pacman -Scc или удалить повреждённые файлы из /var/cache/pacman/pkg — битые архивы иногда мешают повторной загрузке.
Когда целевой раздел уже содержит остатки неудачной установки, pacstrap обычно корректно продолжает работу и доустанавливает недостающее. Полностью очищать раздел и переформатировать его требуется редко — в основном при сомнениях в целостности файловой системы.
| Симптом в выводе | Вероятная причина | Действие |
|---|---|---|
| failed to synchronize all databases | Нет сети или недоступны зеркала | Проверить ping, обновить mirrorlist |
| invalid or corrupted package (PGP) | Устаревший keyring на ISO | pacman -Sy archlinux-keyring |
| SSL certificate problem / expired | Неверное системное время | timedatectl set-ntp true |
| Operation too slow / timeout | Медленное зеркало | reflector с сортировкой по скорости |
| не хватает места / No space left | Переполнение tmpfs или раздела | Проверить df -h, очистить кэш |
Если ошибка сохраняется
Когда стандартные шаги не помогают, стоит посмотреть подробный журнал. Pacman пишет лог в /var/log/pacman.log, а запуск с повышенной детализацией pacstrap -v покажет, на каком именно пакете происходит сбой. Иногда проблема локализуется в одном конкретном зеркале, отдающем повреждённые файлы, — тогда достаточно закомментировать его в mirrorlist.
Дополнительно проверьте свободное место командой df -h: корень live-системы находится в оперативной памяти, и на машинах с малым объёмом RAM кэш пакетов может исчерпать tmpfs. В такой ситуации помогает очистка кэша перед повторной попыткой.
⚠️ Внимание: если ошибка сопровождается сообщениями ядра об ошибках ввода-вывода диска (I/O error), прекратите установку и проверьте накопитель командами диагностики SMART, а также целостность самого загрузочного USB. Записывайте ISO заново, сверяя контрольную сумму образа с опубликованной на официальном сайте.
Профилактика: как избежать ошибки при следующей установке
Самый надёжный способ не столкнуться с этой ошибкой — использовать свежий установочный ISO и обновлять зеркала до запуска pacstrap, а не после сбоя. Образы Arch Linux обновляются ежемесячно, и актуальная версия содержит свежий keyring и рабочий список зеркал.
Полезно также записывать загрузочную флешку проверенными инструментами в режиме побайтовой записи (например, dd или аналоги) и сверять контрольную сумму ISO до записи. Повреждённый образ способен выдавать самые неочевидные ошибки на этапе установки, включая сбои проверки пакетов.
Частые вопросы
Можно ли продолжить установку после сбоя pacstrap?
Да. Повторный запуск pacstrap доустановит недостающие пакеты в тот же смонтированный раздел. Перед повтором устраните причину сбоя и при желании очистите кэш повреждённых загрузок.
Нужно ли заново размечать диск после ошибки?
Нет. Разметка, форматирование и монтирование разделов не связаны с ошибкой загрузки пакетов. Достаточно оставить разделы смонтированными в /mnt и повторить pacstrap.
Помогает ли смена зеркал, если интернет работает?
Да, это одна из самых эффективных мер: отдельные зеркала могут быть недоступны, перегружены или отдавать устаревшие базы. Запуск reflector с сортировкой по скорости решает такие случаи.
Почему ошибка появляется на старом установочном образе?
Вероятная причина — устаревший пакет archlinux-keyring: ключи подписи пакетов со временем обновляются, и старый ISO перестаёт доверять актуальным подписям. Обновление keyring в live-окружении или загрузка свежего ISO устраняет проблему.
Ошибка возникает в Manjaro или EndeavourOS — инструкция та же?
Общий принцип совпадает: сеть, время, зеркала, ключи. Однако в дистрибутивах с собственными репозиториями имена пакетов ключей и утилиты отличаются, поэтому сверяйтесь с документацией конкретного дистрибутива.