Наименование версий пакетов в Ubuntu Linux
Комментариев нет 5 ноября 2010, 16:19 • Linux
Если вы пользователь Ubuntu Linux, то наверняка заметили, что многие из пакетов в этом дистрибутиве имеют слово ubuntu в названии версии. С подобным сталкивался и я, но расшифровку значения такого поименования версий мне не нужно было знать... до тех пор, пока не понадобилось опакетить программу под Ubuntu. Тут меня этот вопрос заинтересовал, так как я пакетировал программы под Debian GNU/Linux и там поименовка версий весьма чёткая и предельно простая. Поиск информации на эту тему в интернете дал исчерпывающий ответ, но на английском языке. Для не владеющих им я постараюсь изложить содержание этого объяснения почти в дословном переводе.
Ни для кого не секрет, что многие пакеты в Ubuntu берутся из кодовой базы Debian практически без изменений и именно поэтому пришлось вводить слово ubuntu в название версии пакета.
В общем случае для такого рода пакетов название выглядит как "package-XubuntuY". Что это означает?
- package — это название программы или библиотеки
- X — это версия пакеты в репозиториях Debian'а.
- Если X=0, то это означает, что такого пакета нет в репозиториях Debian'а или команда разработчиков Ubuntu взяла более свежую версию программы и её пока нет в репозиториях Debian'а.
Пример: bzip2-1.0.3-0ubuntu2
- Если X=0, то это означает, что такого пакета нет в репозиториях Debian'а или команда разработчиков Ubuntu взяла более свежую версию программы и её пока нет в репозиториях Debian'а.
- ubuntuY — это Y-ая версия пакета Ubuntu, полученная из пакета Debian'а.
- Если эта часть в названии версии пакета опущена, то это означает, что пакет взят из Debian'а без изменений — по сути это пакет Debian'а, а не Ubuntu.
Пример: gzip-1.3.5-12 - Если эта строка присутствует, то это означает, что команда разработчиков Ubuntu взяла debian'овский пакет, добавила в него своих заплат и выпустила под своей версией.
Пример: sudo-1.6.8p12-1ubuntu6 — 6-я версия пакета sudo в Ubuntu, которая базируется на Debian'овской версии пакета за номером 1.6.8p12-1.
- Если эта часть в названии версии пакета опущена, то это означает, что пакет взят из Debian'а без изменений — по сути это пакет Debian'а, а не Ubuntu.
На правах вывода из этого несложного правила приведу возможные версии пакета в Ubuntu:
2.6.0-1 — означает, что это первая версия Debian'овского пакета версии 2.6.0 не содержащая изменений команды Ubuntu.
2.6.0-1ubuntu1 — означает, что это первая версия пакета в Ubuntu, основанная на Debian'овском пакете версии 2.6.0-1.
2.6.0-0ubuntu1 — означает, что этого пакета еще не было в репозитории Debian'а и это первая версия Ubuntu-пакета версии 2.6.0.
После такого объяснения надеюсь понятно, что пакет celestia-glut в Ubuntu версии 1.6.0+dfsg-1ubuntu1 означает, что это OpenGL версия пакета космического симулятора Celestia версии 1.6.0, над которой поработала команда Debian'а по освобождению этого пакета от несвободных компонентов (+dfsg) и выпустила в качестве первого пакета (-1). После этого команда Ubuntu взяла этот debian'овский пакет, внесла свои изменения и выпустила свой первый пакет (ubuntu1).
Для пакета fsl из Ubuntu за версией 4.1.4-2ubuntu1 я предлагаю самим расшифровать историю его происхождения в Ubuntu.
P.S. Для пакетов из ppa-репозиториев Ubuntu наименование версии будет более сложным и запутанным — вида stellarium-0.10.5~svn6140-0ubuntu1ppa4~lucid1, что означает, что это планетарий Stellarium ревизии 6140 из svn-репозитория (~svn6140) версии 0.10.5, не имеющий пакета в Debian'е (-0) и являющийся первым пакетом в Ubuntu (ubuntu1) и сделанный для Ubuntu 10.04 (~lucid1) в рамках проекта PPA, причем ppa-сборка уже четвертая — ppa4.