Как происходит установка любого RPM-based дистрибутива. Выпускаются версии для x86, x86_64, и опционально LiveCD/LiveDVD. Диски наполняются лёгким установщиком и 4 гигабайтами из каталогов x86, x86_64 и noarch репозитория. С тех пор как репозиторий вырос в размере, наполнение производится определённым набором программ из него. Для x86 - из первого и третьего, из второго и третьего для x86_64. В процессе установки нам показывают красивые тексты со стильными картинками, но есть вторая вкладка, в которой показывают список распаковавшихся файлов RPM. Через некоторое время, от 20 минут до часа, установка завершена.
Основываясь на этой системе, неизменной втечение 15 лет, я разработал новую. Я предлагаю теперь образы дисков объединить, поместив на установочный образ два лёгких установщика, и для x86, и x86_64. Остальные 4 Гб больше не наполнять RPM-файлами из каталогов x86, x86_64, которые полностью дублируют друг друга за исключением того, что бинарники в них разные по разрядности, а наполнять содержимым каталогов SRPM (который никогда не записывался на установочные CD или установочный DVD) и noarch. Во второй вкладке процесса установки можно пронаблюдать компиляцию этих пакетов.
В чём минусы: установка дистрибутива в таком случае занимает не 20-60 минут, а от 1 часа до суток (в зависимости от того, что пользователь выбрал для установки, и скорости CPU). Усложнение формирования новых дистрибутивов Linux: теперь надо будет не тупо распаковать все RPM, а устанавливать их в определённой последовательности. Также есть вероятность, что на каком-нибудь CPU какой-нибудь пакет выдаст ошибку.
В чём плюсы: образы для x86 и x86_64 объединены. Дополнительные программы устанавливаются из файлов *.src.rpm, что уничтожает проблему бинарной несовместимости между дистрибутивами Linux. Можно будет брать файлы установки (SRPM) из одного дистрибутива и запускать в другом. Обновление ПО не будет занимать много трафика: разница в версиях программ легко создаётся программой diff. Но этой проблемы нет в таких дистрибутивах как openSUSE с их бинарными патчами drpm для минорных обновлений всех программ репозитория. И, наконец: теперь оптимизацию под железо можно будет проводить не только в Gentoo, а ещё в тех дистрибутивах, где всегда был generic-i586 и generic-x86_64.
Мощности современных компьютеров позволяют проводить это: HDD размером 5 Гб сегодня нигде не найти, а одноядерные процессоры остались разве что в нетбуках. У меня как раз нетбук с одноядерным процессором 1,7 ГГц, на котором компиляция Gentoo заняла как раз именно одни сутки, и доустанавливать было больше нечего (OpenOffice.org брался бинарный). Ну а на 6-ядерном процессоре компиляция системы полностью займёт максимум 4 часа (если проводить «Полную установку», которая займёт 8 Гб).
Что вы думаете об этой идее?
P.S. В этом концепте я рассмотрел только то, как можно улучшить один, самый популярный способ установки дистрибутивов Linux. Тем, кто давно пользуется сетевой установкой, или каким-либо другим способом, предлагаю продолжать пользоваться им.