Ошибка failed to install packages to new root появляется на этапе выполнения команды pacstrap, когда установщик Arch Linux не может загрузить или проверить базовые пакеты в смонтированный корневой раздел. Установка прерывается, и в каталоге /mnt оказывается лишь частично заполненная система, которую нельзя загрузить. Чаще всего виноваты нерабочие зеркала репозиториев, устаревший ключ pacman или отсутствующее сетевое соединение.
Хорошая новость: ошибка почти всегда решается прямо из live-окружения, без перезагрузки и без повторной разметки диска. Ниже разберём, как диагностировать причину и устранить её шаг за шагом.
Что означает эта ошибка
Команда pacstrap /mnt base linux linux-firmware копирует базовую систему в смонтированный раздел. Если pacman не может скачать пакеты, проверить их подписи или записать файлы на диск, процесс завершается сообщением failed to install packages to new root.
Важно понимать: это не одна ошибка, а итоговое сообщение. Реальная причина всегда указана выше в выводе терминала — строки вида error: failed retrieving file, signature is invalid или no space left on device подскажут направление диагностики.
Шаг 1. Проверка сетевого соединения
Самая частая причина — отсутствие интернета в live-окружении. Проверьте соединение простой командой:
ping -c 3 archlinux.org
Если ответов нет, настройте сеть. Для проводного подключения обычно достаточно службы DHCP, которая в live-образе активна по умолчанию. Для Wi-Fi используйте интерактивную утилиту iwctl:
iwctl
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "Имя_сети"
Также проверьте системное время командой timedatectl. Сильно сбитые часы ломают проверку TLS-сертификатов зеркал, и загрузка пакетов отклоняется. Синхронизация включается командой timedatectl set-ntp true.
⚠️ Внимание: если вы устанавливаете систему через прокси или в сети с фильтрацией, стандартные зеркала могут быть недоступны. Проверьте доступность репозитория вручную, прежде чем менять другие настройки.
Шаг 2. Обновление списка зеркал
Если сеть работает, но пакеты не скачиваются, проблема почти наверняка в зеркалах. Файл /etc/pacman.d/mirrorlist в live-образе может содержать медленные или уже неработающие серверы.
Обновите список утилитой reflector, которая входит в установочный образ:
reflector --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
После этого принудительно обновите базы пакетов и повторите установку:
pacman -Sy
pacstrap -K /mnt base linux linux-firmware
- 🌐 Выбирайте зеркала географически близкие к вам — параметр
--countryу reflector помогает это сделать. - 🔄 Протокол HTTPS предпочтительнее: добавьте
--protocol https. - 📋 Проверить итоговый список можно командой
cat /etc/pacman.d/mirrorlist.
Шаг 3. Проблемы с ключами и подписями пакетов
Если в выводе встречаются строки signature is invalid или unknown trust, устарела связка ключей в live-образе. Пакеты подписываются ключами разработчиков, и старый установочный носитель может не знать актуальных ключей.
Решение — обновить пакет archlinux-keyring в самом live-окружении до запуска pacstrap:
pacman -Sy archlinux-keyring
В тяжёлых случаях помогает полная переинициализация связки ключей:
pacman-key --init
pacman-key --populate archlinux
⚠️ Внимание: не отключайте проверку подписей черезSigLevel = Neverвpacman.conf. Это снимает защиту от подменённых пакетов и создаёт угрозу безопасности всей будущей системы.
Почему устаревают ключи в live-образе
Разработчики Arch периодически ротируют ключи подписи. Live-образ, записанный на флешку несколько месяцев назад, содержит старый набор доверенных ключей. Новые пакеты в репозитории подписаны уже другими ключами, поэтому проверка подписи завершается ошибкой. Рекомендуется использовать свежий установочный образ, доступный на официальном сайте проекта.
Шаг 4. Проверка диска и точек монтирования
Менее очевидная причина — проблемы с целевым разделом. Если раздел не смонтирован, смонтирован не туда или переполнен, pacstrap не сможет записать файлы.
☑️ Проверка перед повторным запуском pacstrap
Команда df -h /mnt покажет свободное место, а findmnt /mnt — куда и как смонтирован раздел. Если df показывает крошечный объём, возможно, вы забыли смонтировать раздел, и pacstrap пишет в tmpfs live-системы, который ограничен объёмом оперативной памяти.
Сводная таблица причин и решений
| Симптом в выводе | Вероятная причина | Решение |
|---|---|---|
| failed retrieving file, timeout | Нерабочее зеркало | Обновить mirrorlist через reflector |
| signature is invalid, unknown trust | Устаревший archlinux-keyring | pacman -Sy archlinux-keyring |
| Нет ответа от ping | Нет сети | Настроить iwctl или DHCP |
| no space left on device | Раздел не смонтирован или переполнен | Проверить findmnt и df -h |
| could not resolve host | Проблемы DNS | Проверить /etc/resolv.conf |
Что делать, если ничего не помогло
Если все шаги выполнены, а ошибка сохраняется, начните с чистого листа: размонтируйте разделы командой umount -R /mnt, проверьте файловую систему и повторите монтирование. Иногда помогает очистка кэша пакетов live-окружения командой pacman -Scc, если повреждённые архивы мешают повторной загрузке.
Убедитесь также, что используете свежий установочный образ. Образы Arch Linux обновляются ежемесячно, и старый носитель — источник сразу нескольких проблем: устаревших ключей, несовместимых версий пакетов и мёртвых зеркал. Запишите актуальный ISO и повторите установку с нуля.
Часто задаваемые вопросы
Можно ли продолжить установку после ошибки, не начиная заново?
Да. Достаточно устранить причину (зеркала, ключи, сеть) и повторно запустить pacstrap — он докачает недостающие пакеты. Переразметка диска не требуется.
Что означает ключ -K в команде pacstrap -K?
Флаг -K заставляет pacstrap инициализировать в новой системе пустую связку ключей и заполнить её ключами из live-окружения. Это помогает избежать проблем с проверкой подписей на этапе установки.
Ошибка возникает только с некоторыми пакетами — в чём дело?
Вероятно, конкретное зеркало содержит повреждённые или устаревшие версии файлов. Обновите список зеркал через reflector и выполните pacman -Syy для принудительного обновления баз.
Нужно ли отключать проверку подписей для обхода ошибки?
Нет. Отключение SigLevel — небезопасный обходной путь. Правильное решение — обновить пакет archlinux-keyring или переинициализировать связку ключей.
pacstrap пишет в оперативную память вместо диска — как исправить?
Это значит, что корневой раздел не смонтирован в /mnt. Проверьте командой findmnt /mnt, при необходимости выполните mount /dev/ваш_раздел /mnt и повторите установку.