Чому у сховищах Ubuntu немає останніх версій програмного забезпечення?


145

Чому пакети в офіційних сховищах Ubuntu старіші за останні (версії) від Debian Sid, PPA, авторів тощо?


2
Це насправді відбувається для будь-якого дистрибутива, не тільки для Ubuntu.
dr01

9
@ dr01 Існують дистрибутивні версії, які завжди отримують оновлення, тому не всі дистрибутиви відповідають цьому питанню або циклам розвитку Ubuntu
Thomas Ward

Відповіді:


120

Випуск Ubuntu проходить через кілька етапів, перш ніж він фактично зробить його загальнодоступним як готовий продукт:

  • За деякий час до запуску випуску Ubuntu заморожує свої пакети в певний момент.

  • Перед випуском випуску, але після заморожування пакету, в основному виконується робота з виправлення всіх помилок і проблем, які можуть бути в цих пакетах. Нові версії пакетів вже не імпортуються в сховища після заморожування пакунків або функцій.

  • Як тільки випуск відбудеться, додаткові зміни цих пакетів трапляються лише для виправлення помилок та проблем із безпекою. Більше оновлень пакетів у офіційному сховищі немає, навіть якщо випускаються нові версії пакетів.

Нова версія пакунків послідовно імпортується (з Debian) для наступного випуску Ubuntu, поки не відбудеться наступна заморозка і не повториться той самий процес.

Як приклад, ви можете подивитися графік випуску 12.04 .

Ви можете бачити, що хоча 12.04 був випущений у квітні, 12 січня сталося щось під назвою Debian Import Freeze .

Це лише перший з багатьох етапів заморожування, що відбувається перед фактичним випуском, і означає, що в цей момент імпорт пакетів з тестування Debian або нестабільних зупинок і починається робота над ними, щоб налаштувати і виправити проблеми з ними.

Після цього в багатьох пакетах оновлення не проводиться, і версія, яку мав пакет в цей момент, - це версія, яка присутня і підтримується протягом життя релізу.

Тож навіть якщо існують більш високі версії того ж пакету в PPA розробників або в сховищах Ubuntu + 1, вони будуть включені лише в наступний випуск Ubuntu.

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

Нова версія Ubuntu виходить кожні 6 місяців, тому кожні 6 місяців нові пакети готуються, тестуються, налаштовуються та випускаються з новою версією. Майбутні версії пакетів можна встановити у вашій системі через PPA або просто завантажити їх з веб-сайту, але версія пакета в офіційному сховищі залишається такою ж.

Для отримання більш глибокого розуміння та цікавого огляду того, що сталося з Ubuntu з 10.04 до запуску 12.04, перегляньте сторінку ReleaseSchedule - LTS до LTS та оновлення стабільної версії для повного огляду та пояснення стабільної версії Ubuntu.


2
Здається, є винятки з цієї політики, особливо для веб-браузерів (Firefox, Chromium). Хоча більше 95% пакетів можуть дотримуватися наведених нижче вказівок, веб-браузер може бути найбільш використовуваною програмою для більшості користувачів.
dotpush

Якщо ви хочете найновіше програмне забезпечення, використовуйте сховище PPA Launchpad PPA.
iBug

@iBug або використовуйте інший дистрибутив, як Arch Linux або NixOS, або встановлюйте Homebrew у вашій системі Ubuntu.
Борис

16

Дві причини. Перший є цілком очевидним: вимагає, щоб людина витрачала час на оновлення пакету, коли виходить новий потік. Друга полягає в тому, що якщо ви працюєте з стабільним випуском на відміну від поточної версії розробки, пакети навмисно НЕ оновлюються добровільно, щоб уникнути поломки. Дивіться сторінку http://wiki.ubuntu.com/StableReleaseUpdates .


3
"вимагає, щоб людина витрачала час на оновлення пакета, коли виходить новий верхній потік", це явно помилково, все можна зробити автоматизованим. Справжня причина - друга, яку ви згадали.
покладено

15

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

  • може принести нові помилки, тим самим регресуючи функціональність, яка була присутня на момент випуску
  • потрібна робоча сила для упаковки, тестування та завантаження
  • потребує власний набір оновлень безпеки
  • знадобиться оновлений переклад для його інтерфейсу
  • знадобиться оновлена ​​документація (та переклади)
  • робить технічну підтримку більш складною
  • може дратувати користувачів, які звикли до функцій у старій версії
  • можуть знадобитися новіші залежності, які можуть зламати інші програми, якщо вони були змінені в сховищі
  • може зламати інші пакети, які залежать від цього
  • може порушити сценарії, шаблони, інструменти користувача, створені для старої версії

Враховуючи це, майте на увазі, що є випадки, коли Ubuntu робить повне оновлення версій програмного забезпечення у сховищі. Наприклад, Firefox.

Крім того, існує сховище ubuntu-backports, користувачі якого можуть ввімкнути оновлення програмних пакетів, які не спричинять проблем, як перелічені вище. Він не включений за замовчуванням, тому користувачі повинні підключитися до нього, що робиться для усунення несподіванки щодо зміни програмного забезпечення під вами. Крім того, він не має достатнього персоналу, тому я не впевнений, наскільки часто пакети отримують оновлення.

Крім того, команда СРУ нещодавно оновила політику, яка, сподіваємось, зробить її трохи простішою для отримання оновлень пакета, що стосується лише помилок.


11

Зазвичай оновлення випущених версій Ubuntu призначені для захисту та виправлення помилок, приклади таких помилок включають:

  • Помилки, які за реальних обставин можуть безпосередньо спричинити вразливість безпеки. Це робиться командою з безпеки та документується на SecurityTeam / UpdateProcedures.

  • Помилки, які представляють серйозні регресії від попереднього випуску Ubuntu. Сюди входять пакети, які є абсолютно непридатними, як-от видалення або збій при запуску.

  • Помилки, які в реалістичних обставинах можуть безпосередньо спричинити втрату даних користувачів Помилки, які не входять до вищевказаних категорій, але (1) мають очевидно безпечний виправлення та (2) впливають на додаток, а не на критичні інфраструктурні пакети (наприклад, X.org або ядро).

  • Для випусків довгострокової підтримки ми регулярно хочемо включити нове обладнання. Такі зміни є відповідними за умови, що ми можемо переконатися, що вони не вплинуть на оновлення існуючого обладнання. Наприклад, модаліаси нещодавно представлених водіїв не повинні перетинатися з раніше поставленими водіями. -Нові версії комерційного програмного забезпечення в архіві партнерів Canonical.

    -FTBFS (Не вдалося побудувати з джерела) також можна врахувати. Зверніть увагу, що в основному процес випуску забезпечує відсутність бінарних файлів, які не побудовані з джерела струму. Зазвичай ці помилки повинні бути SRUed тільки в поєднанні з іншим виправленням помилок.

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

Взяте з чудової сторінки вікі StableReleaseUpdates .


11

Я спробую відповісти на ваші запитання на основі мого минулого досвіду роботи з форумів ubuntu та планети ubuntu.

Мені здається, мені просто цікаво, як влучні сховища оновлюються та ким.

Репост APT дійсно оновлюється від команди з упаковки в Ubuntu. Команда з упаковки отримує всі пакети, що надходять за течією, від розробників, які проводять початкове тестування упаковки та інші речі. Потім група тестування проводить остаточне тестування, подаючи сигнал про перехід. Але група з упаковки та групи, що випробовують, дуже обережно ставляться до залежностей та її боку впливає на стабільну систему.

Коли є відставання, чи не тому, що розробник не натиснув останню версію на відповідний сервер?

Якщо ви бачите зміни в потоці, тисячі розробників хочуть відсунути свої пакети. Але не всі вдаються в основний потік це тому, що з різних причин. Припустимо, додаток Gedit, версія 2.2 підходить і прекрасно працює з Dbus 2.1 та Gtk 2.4 і т.д. Тепер команда тестування та упаковки (команда випуску також) не приймає цього, оскільки зміна існуючої системи зі старим dbus і gtk на нову порушує все інше. Сподіваюся, ви отримали точку пекла залежності.

Чи є набагато більше роботи для розробника щодо отримання випуску у форму, яку може використовувати репозиторій?

Не для висхідного каналу. Але каналу випуску так :)

PS: У процесі канонічного процесу можуть бути зроблені невеликі зміни порівняно з описаними вище. Але це більш-менш те саме.


6

Прийнята відповідь у посиланні fossfreedom, розміщеному як коментар, дуже добре.

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

Ви можете виявити, що деякі пакети будуть випущені в сховище backports, якщо вони успішно включені в майбутній випуск Ubuntu і якщо розробники вважають, що він також буде працювати з більш ранніми. Повернення можна активувати та деактивувати в Центрі програмного забезпечення (Правка-> Джерела програмного забезпечення-> Вкладка Оновлення-> Непідтримувані оновлення)


1
Як згадувалося в іншому місці, спостереження є рідкісними, і їх не так багато.
Thomas Ward

-3

Відповідь не повна.

Є дещо упаковані, ніж їх можна встановити у резервній версії з Software Center. У правій частині вікна, ліворуч від кнопки Встановити / Змінити, є вікно вибору, де ви можете змінити версію.

Exempli gratia: За замовчуванням conkyзараз, 1.8.xі у вас є резервний порт 1.9.0 (precise-backports). Звичайно, спочатку слід увімкнути підпорки.

Джерело: http://bugs.launchpad.net/ubuntu/+source/conky/+bug/1003727

РЕДАКТУВАННЯ: Як зазначено нижче, не кожен пакет має резервний порт, але іноді у вас може бути ранній доступ, якщо вам пощастить.


3
Довідки доступні не для кожного пакету ...
papukaija
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.