Що відбувається після підкреслення в рядку версії RPM?


2

Я отримую конфлікти залежностей, коли намагаюся запустити просту yum update. Я зауважую, що в деяких випадках він шукає пакет під назвою, foo w.x-y.z.el6поки є лише репо foo w.x-y.z.el6_a.b, де a.bє щось на кшталт "2.1" або "2.9". Специфікації для імен файлів RPM не згадують цю підкреслення битого - що це значить?

Відповіді:


5

фонбранд все правильно.

У вашому прикладі, версія wx-yzel6_a.b означає, що номер версії вище за течією є wx, а версія вашого місцевого розповсюдження (як правило, номер виправлення або збірки) - yzel6_a.b

Це відрізняється від версії wx-yzel6, яка є тією ж версією версії за течією (wx), але іншою версією локального розповсюдження (yzel6). Вони не однакова версія.

Що стосується різниці між yzel6 та yzel6_a.b, то це залежатиме від конкретного синтаксису розділу, що повністю залежить від того, як людина / група, що складає пакет, внутрішньо нумерує його версії. Для пакетів від Red Hat зміна, яку ви спостерігаєте, зазвичай стосується іншої збірки в межах одного рівня патчу. Вихідний код може бути однаковим для двох версій, але вони складаються з різних випусків RHEL6 (наприклад, 6.3 проти 6.4). Вони можуть залежати від різних версій glibc або інших спільних бібліотек.

Наприклад, оновлення, яку я щойно застосував, замінив чашки-1.4.2-48.el6_3.3.x86_64.rpm на чашки-1.4.2-50.el6_4.4.x86_64.rpm. Обидва - це склади чашок версії 1.4.2. Як я розумію, угода Red Hat, пакет було модернізовано з рівня патча 48 до 50, і тепер побудовано проти RHEL 6.4 (проти 6.3). Я не впевнений, що означає остаточний ".4" проти ".3" - у мене є деякі пакети, де версія закінчується на "el6", деякі закінчуються в "el6_3", деякі в "el6_4", деякі в "el6_4" .1 ", деякі в" el6_4.4 "і т. Д. Звичайно, оскільки всі ці номери версій залежать від розповсюдження, мені потрібно буде знайти якийсь документ Red Hat, щоб бути певним.

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


1

Ім'я пакета RPM - це <ім'я> - <версія> - <місце випуску>. <Арх>. Обороти <ім'я> - це ім'я пакету (воно може бути щось на зразок funky-gui-devel-libs, '-' s відокремлювані речі враховуються в кінці), <version> - це версія версії (немає '-'!), <localrelease> - це локальна версія (на одній і тій же базі може бути кілька раундів виправлень, зазвичай це включає цільова система), <arch> - архітектура. Підкреслення - це лише роздільник, який тут не '-'.


Отже, у моєму прикладі цілий рядок y.z.el6_a.bє <localrelease>? У такому випадку я б не очікував, що кінцева частина ( _a.b) вплине на розрахунок версії, але, здається, має значення ...
Coderer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.