Статьи → Настройки хоста → Восстановление системы Astra Linux
Настройки хоста Актуальная

Восстановление системы Astra Linux

Andrew ⚡ Администратор
(обновлено 22.10.2026)
121 v1.0

Устанавливать систему вы уже умеете, разбивать правильно диски тоже, даже создавать свой репозиторий. Но как чинить систему? В этой статье, рассмотрим, как чинить систему после неудачного (незавершенного) обновления системы.

Представим ситуацию, вы запустили обновление системы (как обновлять систему, описано здесь), но на 50% обновления, вдруг выключился свет и ваш компьютер оказался обесточен. Знаю много людей из практики, которые в подобных случаях, тратят часы на переустановку, так как переустанавливать они умеют, а чинить - нет. Да, бывает переустановка быстрее, чем разбираться в проблеме, особенно когда нету времени, но это больше относится к неизвестным случаям сбоя системы. До обновить систему на самом деле проще, чем Вам может показаться.

Для восстановлении системы, вам понадобится:

  • установочный диск с Astra Linux (можно на флэшке, hdd, cd итд);
  • немного времени;
  • чашка кофе.

Давайте вернемся к нашему стенду и ситуации. Я намеренно выключил во время обновления на 50% виртуальную машину с астрой и при включении ее, стал замечать трудный запуск. На удивление, даже запустилась fly оболочка, хотя я потушил на установке fly пакетов, что по идеи должно было затронуть зависимости всего fly-all-main, но походу я немного промазал. Спустя пару минут, она запустилась (fly оболочка), хотя в нормальном состоянии, она загружается за секунды.

Загрузив систему, несколько минут в левом, верхнем углу мигает курсор, графика не грузится. Если перейти на другое TTY - комбинацией клавиш (Ctrl + Alt + от F1 до F7), текущая сессия TTY - это 7 (F7), перейдем на TTY 1 с помощью (Ctrl + Alt + F1).

TTY - текстовый терминал Linux: клавиатура + экран для ввода команд.

Почему 7: традиционно 6 текстовых консолей (tty1-tty6) + 1 графическая (tty7).

Чем поможет переключение между tty:

  • вернуться в текстовую консоль, если графика зависла;
  • запустить команды/починить систему;
  • держать несколько независимых сессий;
F7 - вернуться в графику.

запуск tty 1

На скриншоте видим, что я авторизовался в TTY1. Далее вывел результат отображения релиза системы и состояние службы fly-dm. Данная служба отвечает за графическое окружение. Видим, что имеется ряд проблем. Связано это с тем, что часть системы обновилось, а часть - нет.

Выключаем нашу систему, работать в ней практически невозможно, да и чинить систему на рабочей системе крайне тяжело, а порой и невозможно. Простой пример, вы же не будите чинить мотор, когда он работает?

Так как мы знаем в чем причина сбоя и диагноз нам понятен, приступим к лечению пациента.

0) Подготовка дистрибутива.

Нам необходим своего рода Live-CD системы, чтобы использовать его в качестве рабочего инструмента для починки нашей системы.

Можно использовать установочный диск Astra Linux, можно использовать Live-CD итак далее, масса вариантов, но для новичка - идеальным вариантом будет загрузиться с установочного диска. На таких дисках. всегда присутствует «Режим восстановления».  По поводу диска. Если нужно до обновить систему с внешних (интернет, локальной репы во внутренней сети) реп, либо же внутренний ремонт, то можно использовать абсолютно любой диск с астрой, буд-то 1.6, 1.7 и так далее. А вот если вы хотите починить систему, используя пакеты с этого диска (да, в каждом диске есть необходимая база для работы системы, установив с диска пакеты, можно починить так же систему), то тут уже нужен диск конкретной версии. Если у вас сломалась 1.8.4.48, то и диск нужен от 1.8.4.48. Опять же, если вы планируете устанавливать с данного диска какие-либо пакеты. Если вам просто нужен доступ к системе через данный диск, то подойдет любой.

Предположим, вы достали диск.

1) Вставляем диск/флэшку итд в системник и выставляем загрузку с него.

загрузка с диска

Выбираем «Режим восстановления»

Далее, соглашаемся с лицензией.

соглашаемся с лицензией

Выбираем настройки клавиатуры

выбираем настройки клавиатуры

Следом запустятся настройки сети и фоновые процессы

настройки сети

Нас просят ввести имя компьютера, для отображения его в сети. Можете делать, а можете нет. Как хотите.

ввод имени машины

Домен нас тоже не интересует, просто жмакаем «Enter».

ввод домена

Выбираем часой пояс

часовой пояс

А теперь самое интересное

выбор раздела

Нас спрашивают, с каким разделом будем работать. Желательно это узнать до режима восстановления. Когда мы загружались в операционную систему, можно было сделать lsblk и увидели бы, где у нас корень, хоум и так далее. Либо если вы сами устанавливали операционную систему и вы знаете порядок создания разделов. Создавал я, но это было давно и я уже не помню, кто есть кто. Но я точно знаю, что sda1 - это boot, а sda2 - это корень / (Root). Это мое кредо разбивки, по этому это 500%, что это так. 

Выбор раздела важен, так как мы можем точечно, хирургическим методом чинить разделы не затрагивая все.

Нам нужно получить оболочку нашей системы, а для этого нужно попасть в корень (/ - Root). Так как sda2 - это скорее оно, выбираем его.

выбираем корень

Если вы ошибетесь, ничего страшного не произойдет. Вы просто не сможете загрузить оболочку и можно попробовать будет выбрать другой раздел и так перебрать каждый.

Нас спрашивают, хотим ли мы смонтировать загрузчик в отдельный раздел? Нас он не интересует, у нас нет с ним проблем, система то грузится. По этому можно выбрать любой вариант.

монтировать ли загрузчик

Далее запускаем оболочку в нашем корневом разделе /dev/sda2. Это даст нам командную строку bash для восстановления системы.

запуск оболочки

предупреждение

Так как мы сделали все правильно, у нас появился доступ к системе из под root.

доступ к системе

Можем кстати проверить, что у нас за остальные разделы.

остальные разделы

Кстати, показывает, что система уже 1.8.6, но по факту, только наполовину.

2) Действия по восстановлению.

Вернемся к вводным данным. Во время обновления, на 50% через dist-upgrade, отключилась машины. Значит, сломан apt/dpkg.

Давайте для начала, обновим индексы пакетов.

apt update

sudo - писать необязательно, мы ведь в root сидим.

запуск apt update

Как можно заметить, 613 пакетов не были обновлены, что доказывает теорию о незавершенном обновлении системы.

Теперь попробуем запустить починку apt, с помощью команды apt install -f (это упрощенный аналог apt install --fix-broken).

apt install -f не сработал

Видим, что система говорит: запусти сначала dpkg --configure -a

Система сама нам подсказывает, что сначала нужно починить. Оно и логично, ведь на 50% обновлении прервалось, а это скорее всего конфигурирование пакетов. Для его устранения, как раз используется dpkg --configure -a.

Давайте выполним эту команду:

dpkg --configure -a

пошел процесс конфигурирования пакетов

Пошел процесс конфигурирования пакетов.

конфигурирование пакетов

В конце видим сообщение:

сообщение об ошибке

Оно и понятно, не все же пакеты были загружены. Нам нужно догрузить пакеты и до обновить систему. Но для этого, нужно теперь как раз устранить зависимости.

Выполним apt install -f

устранение зависимостей

устранение зависимостей

Видим, что загрузятся новые версии пакетов fly-admin-reflex и fly-reflex-service для удовлетворения зависимостей fly-reflex и fly-all-main из ошибок ранее.

ошибок нет

Отлично, зависимости починили, новых ошибок нет. 

Теперь запустим снова обновление системы, после того, как починил apt и устранили все ошибки.

apt dist-upgrade

Так как я запускал обновление через эту утилиту, ее же и запустим снова.

запуск обновления

запуск обновления

Пошел процесс до обновления системы

до обновление системы

По завершению обновления, мы снова не наблюдаем никаких ошибок. Значит система полностью обновилась и ошибки все были исправлены. Кстати, иногда обновление системы помогает устранить сломанные процессы. Был как-то случай, что я случайно сломал что-то в системе и пол системы работало некорректно, а вернее вообще перестало работать. Запустил обновление до новой версии и у меня снова, все работает. На практики было пару раз так :D Лень разбираться, проще обновить и тем самым починить уже сломанное.

завершение обновления

Снова запустим apt update для проверки наличия обновления.

система обновлена

Отлично, не найдено пакетов для обновления. Значит мы успешно все обновили.

Теперь выходим из оболочки

exit

выходим из оболочки

и перезагружаем систему.

перезагружаем систему

После перезагрузки, наша система загружается и работает в штатном режиме. Это лишь один пример по восстановлению конкретной проблемы. Данная проблема распространенная, по этому ее и рассмотрели. Так же частая проблема по восстановлению inode, но ее я уже рассмотрел здесь.

Пробуйте восстанавливать, а переустановить всегда успеете, ведь на потраченном времени по восстановлению и приобретается богатый опыт. Удачи в восстановлении!

0
Andrew

DevOps Engineer

1 50 статей
Комментарии (0)
Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!