LINUX.ORG.RU

История изменений

Исправление kmeaw, (текущая версия) :

Считаю, что переход на ArchLinux был ошибкой.

Во-первых под старую версию были прекрасные скрипты в initramfs, которые могли правильно найти sysrcd.dat и на флешке, и на локальном диске, и на удалённом сервере. В случае с дисками было не важно, gpt там или mbr. А если что-то шло не так, то можно было не только получить шелл, но и явным образом указать загрузочное устройство, после чего скрипты повторят попытку. Этим скриптам уже много лет, и за это время они были хорошо отлажены.

В новой версии эти скрипты выкинули, так как перешли на хуки от ArchLinux’овского mkinitcpio. У меня были проблемы с медленно поднимающимся линком сетевой карты (хук успевал сфейлиться), медленно инициализирующимися дисками (аналогично), гибридной разметкой GPT+MBR на мультизагрузочной флешке. Конечно, проблемы несложные, и все их можно починить, одну за другой, но зачем было выкидывать то, что уже отлично работало?

Во-вторых, ArchLinux не имеет релизов. И не поддерживает partial upgrades, об этом в явном виде сказано в документации. Скачивая system rescue cd, я получаю заведомо устаревший срез бинарного репозитория пакетов, а значит не могу доустановить то, что мне нужно, не делая full system upgrade. Мало того, что полный апгрейд может быть неприменим для какой-то аварийной ситуации (например, когда чинишь систему на маршрутизаторе, и поэтому получаешь связность через какой-нибудь резервный канал, например мобильный), так это ещё может и не сработать, если нужно установить какой-нибудь модуль ядра — для этого нужно будет обновить ядро, а оно уже загружено. Придётся ковыряться с оверлеями, чтобы система смогла правильно обновиться.

В Gentoo же не было никакой проблемы с установкой любых версий. Более того, если в portage внезапно оказывалась сломанная версия некоторого пакета, то можно было просто собраться из предыдущего ебилда.

Таким образом, текущую ситуацию можно было бы улучшить, если сделать две вещи:

  1. вернуть старое preinit-окружение;
  2. создать инфраструктуру, замораживающую репозиторий пакетов на момент очередного релиза system rescue cd.

Но вряд ли кто-то будет этим заниматься. Поэтому сейчас я использую для целей установки/починки систем либо старую версию system rescue cd, либо grml, либо alpinelinux.

Исходная версия kmeaw, :

Считаю, что переход на ArchLinux был ошибкой.

Во-первых под старую версию были прекрасные скрипты в initramfs, которые могли правильно найти sysrcd.dat и на флешке, и на локальном диске, и на удалённом сервере. В случае с дисками было не важно, gpt там или mbr. А если что-то шло не так, то можно было не только получить шелл, но и явным образом указать загрузочное устройство, после чего скрипты повторят попытку. Этим скриптам уже много лет, и за это время они были хорошо отлажены.

В новой версии эти скрипты выкинули, так как перешли на хуки от ArchLinux’овского mkinitcpio. У меня были проблемы с медленно поднимающимся линком сетевой карты (хук успевал сфейлиться), медленно инициализирующимися дисками (аналогично), гибридной разметкой GPT+MBR на мультизагрузочной флешке. Конечно, проблемы несложные, и все их можно починить, одну за другой, но зачем было выкидывать то, что уже отлично работало?

ArchLinux не имеет релизов. И не поддерживает partial upgrades, об этом в явном виде сказано в документации. Скачивая system rescue cd, я получаю заведомо устаревший срез бинарного репозитория пакетов, а значит не могу доустановить то, что мне нужно, не делая full system upgrade. Мало того, что полный апгрейд может быть неприменим для какой-то аварийной ситуации (например, когда чинишь систему на маршрутизаторе, и поэтому получаешь связность через какой-нибудь резервный канал, например мобильный), так это ещё может и не сработать, если нужно установить какой-нибудь модуль ядра — для этого нужно будет обновить ядро, а оно уже загружено. Придётся ковыряться с оверлеями, чтобы система смогла правильно обновиться.

В Gentoo же не было никакой проблемы с установкой любых версий. Более того, если в portage внезапно оказывалась сломанная версия некоторого пакета, то можно было просто собраться из предыдущего ебилда.

Таким образом, текущую ситуацию можно было бы улучшить, если сделать две вещи:

  1. вернуть старое preinit-окружение;
  2. создать инфраструктуру, замораживающую репозиторий пакетов на момент очередного релиза system rescue cd.

Но вряд ли кто-то будет этим заниматься. Поэтому сейчас я использую для целей установки/починки систем либо старую версию system rescue cd, либо grml, либо alpinelinux.