Необходимо сделать кастомный дистрибутив для развёртывания приложения на куче потенциально разнородных компов (самосбор, не сервера, но и не совсем зоопарк). По назначению близко к платёжным терминалам. Требования:
1. Лёгкость заточки инсталлятора для unattended установки (начальная заливка по сети, перезаливка в полевых условиях с CD)
2. После установки нужна лёгкая возможность ручного задания нескольких уникальных параметров (типа настроек сети, имени хоста и заливки ключей/сертификатов с флэшки)
3. Очень полезной будет возможность не форматировать определённые разделы в инсталляторе (чтобы при перезаливке/дистапгрейде не портились данные)
4. Минимально необходимый набор пакетов (поменьше левых зависимостей и предустановленного софта)
5. Возможность безгеморройного вкорячивания нужных версий пакетов (как правило новее чем в дистрибутиве)
6. Лёгкость обновления всего этого дела по сети (включая собственные пакеты)
7. Хорошая поддержка дистрибутива в системах управления конфигурациями (Puppet, cfengine и т.п.)
Пункты 1 и 2 будут делаться малоподготовленным персоналом. У всего остального очень полезным свойством будет возможность быстрого обучения (для последующего делегирования части задач по поддержке). Т.е. если для поддержки потребуется знание какой-нибудь древней неинтуитивной штуки типа Makefile или m4, а также постоянное скриптование чего-либо на bash/perl или ещё чем-то подобном, то это минус.
Вопросы:
1. Какой дистрибутив выбрать
2. Какие инструменты использовать для обеспечения максимально простой и быстрой заливки на целевые машины
3. Интересно послушать про опыт поддержки таких инсталляций (организация процесса, цикл обновления/дистапгрейда, грабли, полезные приёмы и советы).