Пакети названі так, як там, де є (або була) потреба полегшити перехід між двома основними версіями пакету, і час, необхідний для цього, очікується довгий. Під час перехідного періоду доступні як нові, так і старі версії з розумінням того, що в майбутній час старіші (і) будуть припинені.
Іноді перехідний період відбувається під час випуску системи, який ви зараз використовуєте. Для деяких пакетів трапляється досить часто, що ви можете розраховувати побачити перехідні версії пакунків у кожному новому випуску системи. Засоби розробки програмного забезпечення часто потрапляють до цієї категорії, оскільки оновлення до нових інструментів за тим самим графіком, що і випуски системи, може бути не практичним. Залежність моєї компанії від конкретних версій GCC, Autoconf та Perl може бути на 5-річному циклі, тоді як моя ОС може бути на трирічному циклі оновлення. Тому мені стає простіше прийняти нові ОС, якщо вони включають мої старіші версії деяких пакетів на додаток до того, що було актуальним на той час, коли нова ОС розроблялася.
Інші часи ці основні зміни версій траплялися давно, в минулому, і тепер усі перебувають на поточній версії. Так є, наприклад, з Apache. Зміни від 1.3 до 2.0 були набагато більшою угодою з точки зору сумісності, ніж будь-яка зміна версії 2.x, тому, коли всі вимкнули 1.3, більше не потрібно було пропонувати декілька версій Apache в межах даного випуску ОС. Але, як тільки ви отримаєте всіх, хто користується apache2
пакетом, не дуже хороший аргумент для того, щоб перейменувати його на справедливий apache
. Це призведе до зайвих клопотів щодо оновлення. Крім того, там, де раніше існувала потреба в тимчасовому забезпеченні двох паралельних версій, потреба, мабуть, повториться в майбутньому.
Ця практика іменування пакетів зазвичай відбувається лише з бібліотеками або важливими основними пакетами. Що стосується інших периферійних пакетів, то, як очікується, ви просто перейдете до поточного на даний момент.
Бібліотеки частіше трактуються таким чином, ніж додатки, оскільки за своєю природою інші пакети залежать від них. Чим популярніша бібліотека, тим непрактичніше вимагати, щоб кожен інший пакунок залежно від нього був перероблений та повторно пов’язаний з ним, щоб бібліотеку можна було перейти до нової основної версії без цього перехідного періоду.
Часто, коли програма обробляється таким чином, це відбувається тому, що вона містить елемент бібліотеки. Наприклад, Apache - це не просто веб-сервер, він також пропонує API розробки для плагінів. ( mod_foo
і таке інше.) Якщо хтось має старе mod_something
зв’язане з плагіном ABI Apache 1.3 і не оновив його до використання новішого API API, зручно, якщо ваша ОС продовжує пропонувати старий Apache 1.3, поки всі творці плагінів не матимуть шансу оновити свої плагіни.