Чому більшість дистрибутивів (крім Debian) рекомендують / вимагають повного перевстановлення під час оновлення до нової версії?


10

Провівши більшу частину свого життя в Linux за допомогою Debian, я переглядав інші дистрибутиви і я дуже здивований тим, наскільки вони не забезпечують плавного оновлення між версіями. Debian нескінченно модернізований, і я зараз оновив кілька основних стабільних версій.

Я говорю про добре підтримувані дистрибутиви, такі як Fedora (і похідні), навіть Ubuntu та похідні. Навіть стабільні серверно-орієнтовані дистрибутиви, як CentOS.

Це тому, що система управління пакунками Debian і сценарії оновлення пакунків просто набагато вдосконаленіші, ніж будь-які інші дистрибутивні програми?

Або перевстановлення з нуля на основне оновлення версії просто краща ідея в цілому, незалежно від дистрибутива?

Відповіді:


6

Це поєднання ряду факторів.

Більшість дистрибутивів використовують основні випуски як час для впровадження значних, іноді зривних змін. Наприклад, Fedora 15 додав systemd, а Ubuntu додав старт у 6.10. Debian є дуже консервативним дистрибутивом у багатьох відношеннях. Великі, проривні зміни нахмурюються.

Наслідком цього є, наприклад, те, що цикли випусків Debian настільки далеко однакові, тому що вони потребують модифікації кожного важливого пакета, щоб відповідати стандартам нового випуску.

Технологія управління пакунками Debian не перевершує технологію Fedora або Ubuntu (очевидно, тому що це та сама, що і Ubuntu), але Debian в культурному плані вирішив, що важлива система плавного оновлення.


5
Точніше, вони вирішили, що те, що ви не хочете на виробничому сервері, - це перевстановити його з нуля, щоб оновити програмне забезпечення на ньому.
Шадур

Навіть із Fedora, хоча, при здійсненні ( одноверсійної ) оновлення через інсталятор буде намагатися DTRT щодо можливих змін інфраструктури, якщо це можливо.
Ігнасіо Васкес-Абрамс

1

Щоб уточнити, я стикався з проблемами багатьох дистрибутивів під час оновлення. Наприклад, Ubuntu різко змінює встановлену базу пакетів між релізами. Якщо ви виконаєте традиційне 'dist-upgrade', встановлені пакети оновляться до своїх нових випусків, але для остаточного результату відсутні нові зміни в лінійці. Якщо пакет із встановлення за замовчуванням знизиться до просто "підтримуваного" або ще гірше "непідтримуваного", ви все одно зберігаєте його. Якщо новий пакет зараз встановлений за замовчуванням, його не буде встановлено. Незважаючи на те, що ваш реліз є "технічно" оновленим випуском, він не відображає новий досвід випуску. Цей самий випадок також дуже точний, порівнюючи CentOS5 з CentOS6, вони повністю реорганізували свої назви упаковки.

Debian визначає пріоритетність плавного оновлення, ціною таких кардинальних змін. Ось чому Debian повільніше на нових функціях, для їх спільноти компроміс прийнятний. Наголос на попередній відповіді, це не має нічого спільного з технологією управління пакунками. Скажу, постійні переустановки Ubuntu надягають на мене.


Ubuntu включає в себе спеціальний інструмент для оновлення, який, мабуть, піклується про більше, ніж просто дистрибутив. Чи знаєте ви більше про це і чи корисне це?
trr

1

Те, що ви заявляєте, не стосується всієї родини розповсюджених випусків .

Для програмного забезпечення для обслуговування системи набагато складніше вирішити проблеми сумісності між пакетами при модернізації лише деяких частин системи або збереженні послідовності конфігурації протягом оновлень. Різні програмні пакети потрібно адаптувати, щоб вони добре працювали один з одним.

Ось чому найпростішим (тобто найнадійнішим за одночасне зусилля розробника ) рішенням для оновлення системи є підготовка повного, ретельно випробуваного випуску з повним встановленням періодично. Підприємницькі рішення, такі як Red Hat, приймають позицію, що клієнту потрібно надати надійну систему і турбувати, порушуючи оновлення як можна довше. (Звичайно, незначні оновлення та виправлення повинні бути доступні або навіть автоматично витягнуті). Це також загальна філософія, яка стоїть за вільними серверними дистрибутивами, такими як CentOS.

Надання кінцевому користувачеві безперебійного маршруту оновлення між випусками є великою проблемою для розробників системи. Багато дистрибутирів вирішують не жертвувати цим дефіцитним часом. Багато популярних пакетів (наприклад, QT) важко оновити, часто потребує повної перевстановлення. Що ще важливіше, що багато проектів демонструють зменшення зусиль із розвитку або їх іншим чином переміщують нові технології. Що стосується системних пакетів, це часто вимагає значного оновлення системи. Процедури міграції можуть бути особливо важкими у здійсненні, якщо вони повинні враховувати той факт, що деякі люди захочуть перейти з версії C на D, а інші будуть переходити з форми B або з A або з якогось спеціального стану в середині.

Отже, як ви вже здогадалися, найскладнішим підходом є прокатка. Я не знаю деталей підходу Дебіана, але з вашого опису я бачу, що вони десь посередині.


Debian повністю підтримує оновлення з попереднього стабільного до поточного стабільного. Оскільки вони знаходяться на відстані 2 або 3 роки, вони включають великі переходи, такі як glibc, KDE 3 - 4, майбутні Gnome 2 - 3 і т. Д. Ви згадуєте, що деякі пакети важко оновити і їх потрібно перевстановити - це те, що відомо в Debian як "великий перехід", і все ж їх менеджер пакунків цілком здатний керувати ними, і вони повністю перевіряють і підтримують їх для кінцевих користувачів. Я думаю, що щодо розуму має бути набагато більше, ніж ти стверджуєш - Дебіан вважає, що це правильний шлях для цього, тому вони змушують це відбутися.
trr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.