Bug 15293

Summary: [FR] split base packages into basesystem and base-distro
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: installerAssignee: Anton V. Boyarshinov <boyarsh>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: antohami, boyarsh, klark, ktirf, legion, mike, rider, sbolshakov, sem, solo, vitty
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://linux.armd.ru/ru/forum/index.php?mode88=flat_list&t_id88=126&f_id88=3
Bug Depends on:    
Bug Blocks: 14888    

Description Michael Shigorin 2008-04-10 13:24:27 MSD
Есть мнение, что текущий вариант формирования и установки RPMS.base (когда туда
попадает дефолтная пакетная база дистрибутива, а не только минимальная система)
имеет такую проблему, как облом установки при сбое чтения даже некритичного пакета.

Предлагается обдумать и в рамках 4.1, наверное, реализовать вариант, когда
сначала одной транзакцией устанавливается действительно минимальный basesystem
(interactivesystem?), затем хорошо бы загрузчик, затем базовый дистрибутив.

При сбое по базовой системе считаю разумным вываливаться совсем, при сбое по
базовому дистрибутиву -- по умолчанию вываливаться, но с пятью предупреждениями
позволять на свой страх и риск продолжить установку с этого носителя.  Это даст
возможность внедренцам выкрутиться в случаях, когда действительно иначе никак --
вытащить один или десять пакетов обычно реальнее, чем целый DVD ISO.
Comment 1 Michael Shigorin 2008-04-10 13:29:22 MSD
На всякий -- копирую сообщение со школьного форума и переписку в jabber:

---
Устанавливал AltLinux 4.0 Junior

Если какой-то пакет не устанавливается по определённым причинам, то возникает
критическая ошибка и невозможно продолжить установку. У меня, например, не
установился thunderbird. Жить я без него могу спокойно, потом бы доставил из
интернета ..

может ввести список пакетов, без которых работа системы невозможна, и только в
случае проблем при их установке выдавать критическую ошибку?
--- Зайцев Евгений

---
<inger> не очень понял насчёт транзакций ... в смысле не делать выбор пакетов ?
<gvy> в смысле ставим совсем-base сперва одной транзакцией (basesystem или даже
interactivesystem), потом бы загрузчик... хотя отвлекаться лишний раз тоже
плохо..., потом -- base-дистро ещё одной
<gvy> а уж потом, как обычно, /pkg
---

---
<vitty> я всё таки  думаю что в школьном проекте лучше, чтоб взрывалось когда
пакет не ставится. А то поставят целый класс с битого диска - а там, например,
опенофиса не найдут
<vitty> и будут мучаться
<vitty> лучше им на школу выдавать по несколько дисковых комплектов
<gvy> не, шоб взрывалось и ругалось, но если совсем никак -- то чтоб был вариант
объезда
<gvy> федорину анаконду народ дружно ненавидел за облом без вариантов, и за
варианты нежно любил Master 2.4 :)
<vitty> это немного другие люди были)
---

PS: с загрузчиком: наверное, всё-таки лучше оставить после всей "безвыборной"
установки, чтоб несколько раз не отвлекаться.  Из ситуаций, когда может быть
разница с вариантом "сразу после basesystem" -- приходят в голову только те,
когда железо сурово битое.  На такой случай есть rescue.
Comment 2 Sergey Bolshakov 2008-04-10 13:41:14 MSD
depends.
я бы предпочёл иметь гарантии, что, скажем, школьный поставился
именно так, как задумано или никак.
Comment 3 Alexey Gladkov 2008-04-10 13:44:41 MSD
Комментарий из прошлой жизни: В Server базовая система была действительно
базовой. Это было не interactivesystem как предлагается, но жить на ней уже было
можно. В следующих дистрах состав этих "базовых" пакетов сильно расширили.

На самом деле проблема может быть решена переносом обязательных (а по сути
дистрибутивозависимых) пакетов из стадии установки базовой системы на стадию
установки дополнительных пакетов (но на этой стадии ставить их всегда). Кстати,
эта стадия идёт после установки загрузчика.
Comment 4 Alexey Gladkov 2008-04-10 14:24:40 MSD
Тут подумалось, что идея про битые пакеты на носителе противоречит самой идеи
инсталлера. Его задача поставить систему и сделать всё правильно, а не
как-нибудь запинать нечто на компьютер а дальше доработать напильником.
Если образ диска битый, то нет гарантий что побит пакет (если это пакет, то ещё
хорошо), который данному пользователю не нужен. Мы не можем уверено судить какие
пакеты критичны для данного пользователя.
Comment 5 inger@altlinux.org 2008-04-11 13:33:09 MSD
Да, справедливое заменчание.
Кроме того сейчас достаточно проблематично аккуратно разделить base и base2,
чтобы стало жить легче надо попробовать перейти от использования чистого rpm к
apt, тогда списки будут проще.

(In reply to comment #3)
> Комментарий из прошлой жизни: В Server базовая система была действительно
> базовой. Это было не interactivesystem как предлагается, но жить на ней уже было
> можно. В следующих дистрах состав этих "базовых" пакетов сильно расширили.
> 
> На самом деле проблема может быть решена переносом обязательных (а по сути
> дистрибутивозависимых) пакетов из стадии установки базовой системы на стадию
> установки дополнительных пакетов (но на этой стадии ставить их всегда). Кстати,
> эта стадия идёт после установки загрузчика.

Comment 6 Alexey Gladkov 2008-04-11 13:54:06 MSD
(In reply to comment #5)
> Да, справедливое заменчание.
> Кроме того сейчас достаточно проблематично аккуратно разделить base и base2,
> чтобы стало жить легче надо попробовать перейти от использования чистого rpm к
> apt, тогда списки будут проще.

С помощью apt начальный бутстрап делать значительно сложнее т.к он не может
работать с пустом чруте и тянет за собой гораздо больше чем rpm.static.
Фактически тебе предётся опять-же rpm'ом распаковать минимальную систему, в
которой сможет работать apt, а потом продолжить установку через apt. apt за
собой вытягивает libstdc++ и ещё много всего, что значительно увеличит базовую
систему. А для некоторых дистров это уже слишком.

Проблема в том, что система в которой может работать apt уже сама по себе вполне
рабочая базовая система. Собственно в Server была именно такая базовая система.

Не мне решать, но я бы советовал оставить установку базовой системы как в Server
(а может и ещё меньше). В этом случае она устроит все дистрибутивы и шаги
инсталлера с первого шага до установки загрузчика будут совершенно одинковыми
т.к. на них бутстрапится самая минимальная (но рабочая) система. После шага
установки загрузчика шаги варируются от специфики дистрибутива.
Comment 7 inger@altlinux.org 2009-04-14 17:26:32 MSD
Думаю баг неактуален ибо сейчас идёт одновременно установка и базовых и дополнительных пакетов.
Comment 8 Michael Shigorin 2009-06-06 23:36:22 MSD
(In reply to comment #7)
> Думаю баг неактуален ибо сейчас идёт одновременно установка и базовых и
> дополнительных пакетов.
Ну в качестве мнения: всё-таки заливать минимальную базовую систему отдельной транзакцией было хорошо.