Проведя большую часть своей жизни в Linux с использованием Debian, я смотрю на другие дистрибутивы и очень удивлен тем, насколько они не обеспечивают плавного обновления между версиями. Debian можно бесконечно обновлять, и теперь я обновил несколько основных стабильных версий.
Я говорю о хорошо поддерживаемых дистрибутивах, таких как Fedora (и производные), даже Ubuntu и производные. Даже стабильные серверно-ориентированные дистрибутивы, такие как CentOS.
Это потому, что система управления пакетами Debian и сценарии обновления пакетов намного более продвинуты, чем все остальные дистрибутивы?
Или переустановка с нуля при обновлении основной версии - это просто лучшая идея, независимо от дистрибутива?
Если говорить более конкретно, я сталкивался с проблемами во многих дистрибутивах при обновлении. Например, Ubuntu радикально меняет базу установленных пакетов между выпусками. Если вы выполняете традиционное 'dist-upgrade', установленные пакеты будут обновляться до новых выпусков, но в конечном результате новые изменения в составе отсутствуют. Если пакет из установленной по умолчанию установки понижен в звании до «поддерживаемого» или, что еще хуже, «неподдерживаемого», вы все равно сохраняете этот пакет. Если новый пакет находится в установке по умолчанию, он не будет установлен. Даже если ваш релиз «технически» обновленный, он не отражает опыт нового выпуска. Тот же самый случай также очень точен, сравнивая CentOS5 с CentOS6, они полностью реорганизовали названия своих упаковок.
Debian отдает приоритет плавным обновлениям за счет таких радикальных изменений. Вот почему Debian медленнее работает с новыми функциями, для их сообщества компромисс приемлем. Повторяя предыдущий ответ, он не имеет ничего общего с технологией управления пакетами как таковой. Я скажу, постоянные переустановки Ubuntu носят на меня.
источник
То, что вы заявляете, не относится ко всему семейству дистрибутивов с постепенным выпуском
Для программного обеспечения для обслуживания системы гораздо сложнее разрешить проблемы совместимости между пакетами при обновлении только некоторых частей системы или поддержании согласованности конфигурации в течение всех обновлений. Различные пакеты программного обеспечения должны быть адаптированы для работы друг с другом.
Вот почему самое простое (то есть самое надежное и в то же время затраченное на разработку ) решение для предоставления обновления системы - это периодически готовить полный, полностью протестированный, полностью инсталляционный выпуск. Корпоративные решения, такие как Red Hat, занимают позицию, согласно которой клиенту должна быть предоставлена надежная система, и он должен быть обеспокоен, ломая обновления как можно дольше. (Конечно, незначительные обновления и исправления должны быть доступны или даже автоматически обновляться). Это также общая философия бесплатных серверных дистрибутивов, таких как CentOS.
Предоставление конечному пользователю бесшовного маршрута обновления между выпусками является большой проблемой для разработчиков системы. Многие дистрибутивы предпочитают не жертвовать своим скудным временем ради этого. Многие популярные пакеты (например, QT) сложно обновить, часто требуя полной переустановки. Что еще более важно, многие проекты демонстрируют снижение усилий по разработке или вытесняются новыми технологиями. В случае системных пакетов это часто требует значительного изменения системы. Процедуры миграции могут быть особенно сложными для реализации, если они должны учитывать тот факт, что некоторые люди захотят перейти с версии C на D, а другие будут переключаться с формы B или с A или из какого-то пользовательского состояния в середине.
Итак, как вы уже могли догадаться, самый сложный подход - это скользящий релиз. Я не знаю деталей подхода Debian, но из вашего описания я вижу, что они где-то посередине.
источник