🛑 «Просто нажми apt upgrade», говорили они… Как я пересаживал ядро и вытаскивал Parrot OS из нокаута
Решил я сегодня обновить рабочую машинку на Parrot Security OS под ARM. Думал: «Делов на пять минут, запущу апдейт, налью чай и пойду дальше ковырять цели».
Ага, наивный. Система решила устроить мне внезапный хардкорный CTF прямо на рабочей станции. 😂
Заглядываю в терминал перед подтверждением установки, а там APT с каменным лицом выдаёт:
REMOVING: linux-image-arm64
Стоп, машина! APT на полном серьёзе решил «вылечить головную боль отсечением головы» - снести метапакет ядра Linux, чтобы не разруливать конфликт версий. Если бы я нажал «Y», после перезагрузки система просто помахала бы мне ручкой и улетела в глухой kernel panic.
В итоге безобидный апдейт превратился в полноценную миграцию с Parrot 6 («Lorykeet») на новую 7-ю ветку («Echo») с фундаментом Debian 13. И вот тут начался настоящий боевик в четырёх актах:
1. Конфликт PreDepends.
Свежее ядро 7.2.11 требовало linux-base >= 4.17, а в системе стояла древняя 4.12. Из-за разницы приоритетов веток APT встал в ступор. Пришлось идти в обход пакетного менеджера, руками через curl выдёргивать нужные deb-пакеты из архивов Debian и точечно пробивать их через dpkg.
2. Упавшие зеркала.
Официальный редиректор director.parrot.sh в самый ответственный момент выдал 503 Service Unavailable и начал сбрасывать сокеты. Пришлось на лету перекраивать sources.list, прописывать прямое европейское зеркало и локально патчить хосты, чтобы спасти загрузку.
3. Нокаут от OOM Killer.
Новый алгоритм резолвера (APT solver 3.0) на транзакции в 280 пакетов вошёл в рекурсивный штопор и… сожрал 7.4 ГБ оперативной памяти! Ядро Linux хладнокровно пристрелило процесс на 8% загрузки. Пришлось в полевых условиях отключать CoW на диске, нарезать 4 ГБ swap через dd, глушить systemd-oomd и откатывать APT на классический движок --solver internal.
4. Итог.
После трёх часов позиционной войны:
✅ Система жива и летает на ядре 7.2.11+parrot7-arm64.
✅ Все 280 пакетов безопасности, компиляторы и Python 3.13 успешно встали.
✅ Ни один байт данных или боевых конфигов не пострадал.
Главный вывод дня:
Никогда не жмите «Y» вслепую, если в списке REMOVING мелькает что-то с названием linux-image или системные метапакеты. Всегда читайте, что терминал собирается сделать с вашей ОС.
Рекламный пост
Просмотры: 27