Недавно опубликовал статью об установке PostgreSQL из исходных кодов. Решил еще рассказать о том, как устанавливать PostgreSQL из пакетов (логичное желание). Начал разбираться, увидел, что в информации о пакетах есть дополнительные непонятные цифры. Например:
Выполняю команду apt-cache show для пакета potsgresql и получаю вот такой (не полный) вывод:
test@testPC:~$ apt-cache show postgresql Package: postgresql Architecture: all Version: 12+214ubuntu0.1 Priority: optional Section: database Source: postgresql-common (214ubuntu0.1) Origin: Ubuntu
test@testPC:~$ apt-cache show postgresql Package: postgresql Architecture: all Version: 12+214ubuntu0.1 Priority: optional Section: database Source: postgresql-common (214ubuntu0.1) Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 66 Depends: postgresql-12 Suggests: postgresql-doc Filename: pool/main/p/postgresql-common/postgresql_12+214ubuntu0.1_all.deb Size: 3924 MD5sum: 0b8d49f4e27427af323aa323ac2d564c SHA1: 1458957f9632eed66247eeff6ecd64e9ba08e9ec SHA256: 31c5fdb805618fadc6cc3deba741b4b69aa7c8addd25d761d06ede64c8d97732 SHA512: 929dfa95121e461135ddee93208d5e3f45ed8fa0ce65b2200157df02eadc40daa6f34279fe0503ea6ddf42de83f5efdd4547f0e9c83f46b3820277c343bd9c9d Description-en: object-relational SQL database (supported version) This metapackage always depends on the currently supported PostgreSQL database server version. . PostgreSQL is a fully featured object-relational database management system. It supports a large part of the SQL standard and is designed to be extensible by users in many aspects. Some of the features are: ACID transactions, foreign keys, views, sequences, subqueries, triggers, user-defined types and functions, outer joins, multiversion concurrency control. Graphical user interfaces and bindings for many programming languages are available as well. Description-md5: bdff2d6e5b2a1dd00e72b3ed8729d9ac Task: postgresql-server Package: postgresql Architecture: all Version: 12+214 Priority: optional Section: database Source: postgresql-common (214) Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 66 Depends: postgresql-12 Suggests: postgresql-doc Filename: pool/main/p/postgresql-common/postgresql_12+214_all.deb Size: 4004 MD5sum: 4a7e3f24b175497508026dee4039274f SHA1: 5bfbc6c7dbe4cba091a4b0901355ad68ca25e69e SHA256: 7e9419964a22dc062fd4a66d9f5baedd455eb908ddff575085d48daaeb54e586 Description-en: object-relational SQL database (supported version) This metapackage always depends on the currently supported PostgreSQL database server version. . PostgreSQL is a fully featured object-relational database management system. It supports a large part of the SQL standard and is designed to be extensible by users in many aspects. Some of the features are: ACID transactions, foreign keys, views, sequences, subqueries, triggers, user-defined types and functions, outer joins, multiversion concurrency control. Graphical user interfaces and bindings for many programming languages are available as well. Description-md5: bdff2d6e5b2a1dd00e72b3ed8729d9ac Task: postgresql-server
Посмотрите на значение в строке Verison: 12+214ubuntu0.1 (в выводе этой команды очень много другой информации, но я пока только версию рассматриваю).
Что это цифры?
Ранее я с этим не сталкивался, поэтому поискал в интернете, нашел вот эту очень хорошую статью, которую и привожу полностью: Наименование версий пакетов в Ubuntu Linux
Если вы пользователь Ubuntu Linux, то наверняка заметили, что многие из пакетов в этом дистрибутиве имеют слово ubuntu в названии версии. С подобным сталкивался и я, но расшифровку значения такого поименования версий мне не нужно было знать… до тех пор, пока не понадобилось опакетить программу под Ubuntu. Тут меня этот вопрос заинтересовал, так как я пакетировал программы под Debian /Linux и там поименовка версий весьма чёткая и предельно простая. Поиск информации на эту тему в интернете дал исчерпывающий ответ, но на английском языке. Для не владеющих им я постараюсь изложить содержание этого объяснения почти в дословном переводе.
Ни для кого не секрет, что многие пакеты в Ubuntu берутся из кодовой базы Debian практически без изменений и именно поэтому пришлось вводить слово ubuntu в название версии пакета.
В общем случае для такого рода пакетов название выглядит как «package-XubuntuY«. Что это означает?
- package — это название программы или библиотеки
- X — это версия пакеты в репозиториях Debian’а.
- Если X=0, то это означает, что такого пакета нет в репозиториях Debian’а или команда разработчиков Ubuntu взяла более свежую версию программы и её пока нет в репозиториях Debian’а.
- Пример: bzip2-1.0.3-0ubuntu2
- 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.
На правах вывода из этого несложного правила приведу возможные версии пакета в 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. Для пакетов из -репозиториев Ubuntu наименование версии будет более сложным и запутанным — вида stellarium-0.10.5~svn6140-0ubuntu1ppa4~lucid1, что означает, что это планетарий Stellarium ревизии 6140 из svn-репозитория (~svn6140) версии 0.10.5, не имеющий пакета в Debian’е (-0) и являющийся первым пакетом в Ubuntu (ubuntu1) и сделанный для Ubuntu 10.04 (~lucid1) в рамках проекта , причем -сборка уже четвертая — ppa4.
Leave a Reply