Я пытаюсь получить номер версии уже установленного пакета, чтобы создать список зависимостей для dpkg.
Если я наберу в своем терминале "dpkg -l | grep libqtcore4", я получу следующий результат:
ii libqtgui4 4:4.7.4-0ubuntu8 Qt 4 GUI module
ii libqtgui4:i386 4:4.7.4-0ubuntu8 Qt 4 GUI module
Мой вопрос: что означает двоеточие (:) в номере версии и что означает -0ubuntu в конце?
Руководство по политике Debian
Обе они описаны в: https://www.debian.org/doc/debian-policy/#version
Формат: [epoch:] upstream_version [-debian_revision].
epoch
объясняется по адресу:
эпоха
Предусмотрено, чтобы допускать ошибки в номерах версий более старых версий пакета, а также в пакете схемы нумерации предыдущих версий, которые следует оставить.
также спрашивали по адресу: https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-their-version -string
И debian_revision
:
debian_revision
Эта часть номера версии указывает версию пакета Debian, основанную на вышестоящей версии
Редакция Debian необходима, потому что Debian из-за изменений в сценариях / патчах сборки, которые сам пакет Debian использует поверх самого исходного кода программного обеспечения.
-ubuntuY
Ubuntu также может добавить суффикс -ubuntuY
, чтобы учесть изменения, сделанные в упаковке Ubuntu по сравнению с упаковкой Debian.
Так, например, 4:4.7.4-0ubuntu8
означает, что это восьмая версия пакета Ubuntu для пакета 4:4.7.4
Debian.
0
там просто выполняет роль заполнителя, когда пакет Debian не имеет номера, поскольку debian_revision
является необязательным.
Подробнее на: https://serverfault.com/questions/604541/debian-packages-version-convention/708569#708569