Какой должна быть программа установки операционной системы. См. также Какой Должна Быть Система?.
Общие слова об интерфейсе
Всё предлагаемое к выбору должно иметь основной раздел из нескольких пунктов и дополнительный, к которому будут обращаться любители специфических настроек или редких языков. Например не должно быть перечня из 150 языков или стран, но в то же время должна быть возможность выбрать любой язык и страну (из заданных в системе).
В каждом меню выбора должны быть рекомендации по выбору и пункт, предлагаемый по умолчанию (например, указание «рекомендуется»).
Активные элементы (кнопки) должны иметь либо общепонятные знаки, либо надписи на языке диалога.
Должно быть сведено на нет использования «магических слов», типа /dev/hda, смутного понятия «форматирование» и пр.
Вся процедура установки должна выполнять минимум действий, чтобы не провоцировать переустановку системы в случае «если чего-то не работает».
Этап I. Установка базовой системы
Загрузка с компакт-диска
Загрузка с компакт-диска по умолчанию должна происходить только если не найдена уже установленная система??
Меню загрузки наверное должно быть графическим, с выбором, что и как загружать (довольно неплохо было в предыдущих дистрибутивах).
В частности, должны быть
сервисный режим (rescue mode) – для проведения работ при сбое системы
восстановление загрузчика системы (restore loader) – для восстановления загрузчика, запорченного другой системой
проверка памяти (memtext86) – для проверки памяти при подозрениях на сбои в аппаратной части
Выбор языка диалога
Выбор языка, на котором будет разговаривать программа установки, должен производиться как можно раньше. Все используемые в установщике понятия должны быть переведены (на русский). Предложение выбрать язык желательно писать на каждом из предлагаемых языков.
Подготовка разделов диска
Предупреждать, что информация на Linux-разделах будет потеряна. Не трогать в режиме автомата не свои разделы по возможности.
Ни в коем случае не трогать не свои разделы без предварительного получения на это согласия пользователя! В режиме автомата не трогать ничего кроме свободного места на диске без предварительного согласия пользователя. (An Dobr?)
Манипуляция разделами и выбор места для установки, типа файловой системы. Желательна возможность прочитать эффективную, но небольшую справку по теме. Какую файловую систему выбрать, например. Тут можно использовать статьи /Журналируемые Файловые Системы и /Разбиение Диска?.
Выбор что форматировать нужен только для разделов Linux, и наверное только в режиме дополнительных возможностей (режиме эксперта).
Выбор разделов для форматирования не нужен только в режиме автоматической разметки на пустом пространстве. В остальных случаях вопрос нужен обязательно, чтоб у устанавливающего не случился нервный стресс от перспективы форматирования установленных рядом других ОС. И чтоб можно было отменить форматирование, например, /home. (An Dobr?)
Установка загрузчика
При выборе раздела для записи загрузчика следует учитывать, что возможность установить загрузчик туда, откуда он вызваться не будет, нежелательна, поскольку установка не сможет быть продолжена. Контроль ситуации нужен. Но, не нужно запрещать устанавливающему любой нужный ему вариант. Видимо, после перехода в «Расширенный» режим. Таки нужна кнопка «дополнительно» на каждом шаге установки. Чтоб не было необходимости ставить целиком в режиме «Эксперта» если нужно отклонение от рекомендованных настроек только в одном шаге. (An Dobr?)
Тут нужно посмотреть и задокументировать несколько типичных вариантов установки:
На пустой диск
На диск с Windows-разделами
На диск со свободным местом
На диск с неизвестной загрузочной записью в MBR. Т.е. любой кроме штатно обрабатываемых диспетчеров загрузки. Этого очень не хватало в последних версиях старого установщика.
В загрузчик должна вписываться информация для загрузки уже имеющихся на момент установки систем (Windows).
После завершения установки базовой системы нужно написать, что всё завершено, и перезагрузиться. При этом диск должен остаться в приводе, но система должна загрузиться с жёсткого диска (нужен определять этот момент), чтобы продолжить установку в этапе II.
Этап II. Продолжение установки
В принципе, это уже часть программы настройки системы.
Выбор локали
Сейчас это называется «Выбор языка». Подменять понятие локали словом «язык» не совсем верно. Наверное нужно предложить выбрать страну, а затем используемый язык – на основании информации о имеющихся локалях. Отобранные для использования локали должны отображаться отдельно («ходим по магазину, отбираем в корзинку продукты»)
Что происходит при установке пакетов? Отбираются ли переводы согласно выбранным локалям? //Если переводы отбираются, то после выбора требуется
переустановка glibc-locales и всех пакетов, для которых устанавливаются переводы. Это делается скриптов в одну строчку.//
Нужно предупредить, какая в системе будет использоваться кодировка (и в качестве дополнительной возможности позволить эту кодировку выбрать)/
Это как раз осмысленно делать в первой стадии, чтоб не устраивать диких танцев с переустановкой _всего_, что поставили до этого шага, содержащего файлы локализации. — MS
Я предполагал, что выбор локали будет производится штатным средством в системе, которым в любой момент _после установки_ можно
изменить набор поддерживаемых локалей. К тому, как я понимаю, диких танцев не получится – программы, установленные на этот момент, можно по пальцам пересчитать.Vitaly Lipatov?
Было бы очень неплохо иметь штатное средство смены и/или добавления локали уже после установки дистрибутива. An Dobr?
Выбор раскладки
Для выбранных локалей предлагается настроить раскладку клавиатуры, автоматически предлагая разумное умолчание. Для выбранной раскладки дополнительно можно указать вариант раскладки (расположения знаков/букв) и клавиши переключения (образец названий и оформления можно посмотреть в KDE). Наверное надо отказаться от использования групп и переключать именно раскладки, чтобы прекратить путаницу, или написать обоснование – зачем нужны группы
Группы нужны если охота иметь нестандартный вариант раскладки. Т.е. в русской раскладке, например, украинские буквы. И иметь возможность вводить их не меняя раскладку. Т.к. есть любители таких усовершенствований, от групп отказаться врядли получится. An Dobr?
Настройка монтирования разделов
Мне кажется, добавление в fstab записей о сторонних файловых системах (Windows) должна производиться на этом этапе. При указании систем не нужно
указывать iocharset, он должен определяться командой mount через libnatspec.
Есть ли уверенность, что библиотека справится в любой ситуации? Лучше показать устанавливающему какие будут параметры монтирования с краткими комментариями в подсказках. Чтоб сразу иметь возможность устранить ошибки. An Dobr?
Уверенность есть. Vitaly Lipatov?
Профиль системы
Должен выбираться профиль устанавливаемой системы:
ноутбук (управление питанием, PCMCIA и пр.)
настольная система (звук и видео?)
офисная система (сеть)
сервера
Отличия в настройках должны быть описаны сразу в установщике. Естественно должно быть возможность поменять поменять профиль и после установки.
Мммм... вообще-то в некоторой мере умолчание даже можно попробовать определить — e.g. PCMCIA почти однозначно соответствует ноуту, SCSI или SMP — серверу (вдвоём — опять же почти однозначно). Вот домашнюю и офисную систему различить если как-то и возможно, то разве на основании сбора статистики (баланс процессора, памяти, видео, диска и наличие сети и внешних носителей). — MS
SCSI и SMP одновременно может иметь место на мощной рабочей станции или узле кластера.
Задание пользователей
Задание пользователей производится стандартной для этого программой. Неясностей типа «Без пароля – это когда в систему войти невозможно, быть не должно».
Сигнализация о включенности Caps Lock? при вводе пароля. Комментарий, кто есть root, что имена должны быть на английском, а пароль должен быть обязательно.
Весьма не рекомендуется предлагать пользователю ползать по 7300 пакетам, выбирая то, что нужно ему поставить.
Где-то тут должен быть и автологин
Очень хорошо этот момент сделан в Lycoris — пользователи (самая длительная интерактивная стадия, кроме разве что выбора пакетов у нас сейчас) создаются параллельно самой длительной автоматической стадии — установке пакетов. И это правильно. — MS (так было сделано еще в lizard: см. caldera openlinux, SOT Linux. В самом начале выбор пакетов, начинается их установка, во время которой конфигурируется все остальное NSG)
Простота использования
Система должна работать в сети Microsoft сразу после установки, или требуя минимальных и описанных! действий. Предварительная настройка – согласно профилю. Или эта особенность должна выбираться явным указанием при установке.
Пользователь не должен производить никаких региональных настроек в конкретных программах (типа выбора языка в FireFox).
Пользователь не должен производить настройку одинаковых параметров в различных программах после установки (например настройки proxy-сервера в различных программах).