Какова последняя часть поля выпуска пакета rpm?

530
Sajuuk

Пример 1:

используя yum info vim-enhancedя получаю это:

Name : vim-enhanced Arch : x86_64 Epoch : 2 Version : 7.4.629 Release : 5.el6_8.1 Size : 2.2 M Repo : installed 

Пример 2:

yum info kernel

Installed Packages Name : kernel Arch : x86_64 Version : 3.10.0 Release : 514.el7 Size : 148 M Repo : installed From repo : anaconda Summary : The Linux kernel URL : http://www.kernel.org/ License : GPLv2 Description : The kernel package contains the Linux kernel (vmlinuz), the core of any : Linux operating system. The kernel handles the basic functions : of the operating system: memory allocation, process allocation, device : input and output, etc.  Name : kernel Arch : x86_64 Version : 3.10.0 Release : 514.26.2.el7 Size : 148 M Repo : installed From repo : updates Summary : The Linux kernel URL : http://www.kernel.org/ License : GPLv2 Description : The kernel package contains the Linux kernel (vmlinuz), the core of any : Linux operating system. The kernel handles the basic functions : of the operating system: memory allocation, process allocation, device : input and output, etc. 

что я на самом деле интересует релиз поля: 5.el6_8.1, 514.el7, 514.26.2.el7.

Согласно некоторым ответам, не существует официального правила, регулирующего соглашение об именах поля Release . Это правда? или у них есть определенное соглашение об именах для каждого типа программного пакета?

2
Это может быть что угодно. Спросите сопровождающего или посмотрите документацию репо / дистрибутива и их политику. Seth 6 лет назад 1

1 ответ на вопрос

1
msuchy

См. Https://fedoraproject.org/wiki/Packaging:DistTag для полной документации.

Этот макрос используется для различения двух идентичных пакетов, которые на самом деле не идентичны.

Например пакет python-alembic. Вы можете иметь файлы python-alembic-0.9.1-1.el6.rpmи python-alembic-0.9.1-1.fc26.rpm. У них одинаковый контент, одинаковый код. Но они хранятся по другому пути. EL6 использовать, /usr/lib/python2.6/site-packages/alembicно FC26 есть /usr/lib/python2.7/site-packages/alembic(разница в версии Python). Поэтому пакет .el6 не будет работать в Fedora 26 и наоборот.

Без тега dist у вас будет только один, python-alembic-0.9.1-1и вам будет сложно понять, подходит ли он для вашей ОС.

И вы обычно не определяете содержимое тега dist. Определяется одним из системных пакетов автоматически.

что вы подразумеваете под "определенным одним из системных пакетов"? не является ли это имя пакета включающим тег dist, определенный «сопровождающим по восходящему каналу» вручную? Sajuuk 6 лет назад 0
Нет. Строка в файле спецификации выглядит следующим образом: `Release: 1% {? Dist}`, которая расширяется до '1', если макрос dist не определен. Макрос обычно определяется в файле /usr/lib/rpm/macros.d/macros.dist, который в Fedora поставляется с пакетом fedora-release. msuchy 6 лет назад 0
а что такое `1` в вашем примере? как те `5`,` 514` в моем примере. Sajuuk 6 лет назад 0
Да. В вашем примере строка должна быть `Release: 5% {? Dist}`, а в примере 2 это должна быть `Release: 514% {? Dist}` msuchy 6 лет назад 0
Я имею в виду, что обозначают эти `1` /` 5` / `514`? Sajuuk 6 лет назад 0
См. Https://superuser.com/a/1237302/413143. msuchy 6 лет назад 0