Ошибка «failed to install packages to new root» при установке Arch Linux: причины и решение

Ошибка 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.
📊 Что стало причиной ошибки в вашем случае?
Нерабочие зеркала
Проблемы с ключами pacman
Отсутствие интернета
Нехватка места на диске

Шаг 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

Выполнено: 0 / 5

Команда df -h /mnt покажет свободное место, а findmnt /mnt — куда и как смонтирован раздел. Если df показывает крошечный объём, возможно, вы забыли смонтировать раздел, и pacstrap пишет в tmpfs live-системы, который ограничен объёмом оперативной памяти.

Сводная таблица причин и решений

Симптом в выводеВероятная причинаРешение
failed retrieving file, timeoutНерабочее зеркалоОбновить mirrorlist через reflector
signature is invalid, unknown trustУстаревший archlinux-keyringpacman -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 и повторите установку.