J'utilise debian/Ubuntu et je me trompe sur les versions des paquets. Lors de l'utilisation de dpkg -l
commande, j'obtiens:
ii vim 2:7.3.429-2ubuntu2.1 Vi IMproved - enhanced vi editor
ii vim-common 2:7.3.429-2ubuntu2.1 Vi IMproved - Common files
ii vim-runtime 2:7.3.429-2ubuntu2.1 Vi IMproved - Runtime files
ii vim-tiny 2:7.3.429-2ubuntu2.1 Vi IMproved - enhanced vi editor - compact version
ii virt-what 1.11-1 detect if we are running in a virtual machine
ii w3m 0.5.3-5ubuntu1 WWW browsable pager with excellent tables/frames support
ii watershed 6 reduce superfluous executions of idempotent command
ii wget 1.13.4-2ubuntu1 retrieves files from the web
ii whiptail 0.52.11-2ubuntu10 Displays user-friendly dialog boxes from Shell scripts
ii whoopsie 0.1.33 Ubuntu crash database submission daemon
ii wimlib9 1.5.0-1~webupd8~precise Library to extract, create, modify, and mount WIM files
ii wimtools 1.5.0-1~webupd8~precise Tools to extract, create, modify, and mount WIM files
ii wireless-tools 30~pre9-5ubuntu2 Tools for manipulating Linux Wireless Extensions
ii wpasupplicant 0.7.3-6ubuntu2.1 client support for WPA and WPA2 (IEEE 802.11i)
ii x11-common 1:7.6+12ubuntu2 X Window System (X.Org) infrastructure
ii x11-utils 7.6+4ubuntu0.1 X11 utilities
ii xauth 1:1.0.6-1 X authentication utility
ii xbitmaps 1.1.1-1 Base X bitmaps
ii xclip 0.12-1 command line interface to X selections
ii xfonts-encodings 1:1.0.4-1ubuntu1 Encodings for X.Org fonts
ii xfonts-utils 1:7.6+1 X Window System font utility programs
ii xkb-data 2.5-1ubuntu1.3 X Keyboard Extension (XKB) configuration data
ii xml-core 0.13 XML infrastructure and XML catalog file support
rc xpdf 3.02-21build1 Portable Document Format (PDF) reader
ii xterm 271-1ubuntu2.1 X terminal emulator
ii xz-lzma 5.1.1alpha+20110809-3 XZ-format compression utilities - compatibility commands
ii xz-utils 5.1.1alpha+20110809-3 XZ-format compression utilities
ii zabbix-agent 1:1.8.11-1 network monitoring solution - agent
ii zlib1g 1:1.2.3.4.dfsg-3ubuntu4 compression library - runtime
ii zlib1g-dev 1:1.2.3.4.dfsg-3ubuntu4 compression library - development
ii zsh 4.3.17-1ubuntu1 Shell with lots of features
La troisième colonne est version
, mais tout est "foiré" d'une manière que je ne comprends pas. Je veux dire, différents packages utilisent des spécifications de dénomination totalement différentes.
Voici les principales questions:
ubuntu
et d'autres non?-~+
signifier?alpha
, build
et dfsg
? Puis-je simplement les utiliser avec désinvolture?vim
et d'autres packages ont 2:
. Qu'est-ce que ça veut dire?Quelqu'un peut-il me l'expliquer? Ou où puis-je trouver un document officiel?
Merci d'avance.
Le Debian Policy Manual a ceci à dire sur le champ de version, qui répond à certaines parties de votre question:
Format
Le format est:
[Epoch:]upstream_version[-debian_revision]
Les trois composantes ici sont:
Époque
Il s'agit d'un seul entier (généralement petit) non signé. Il peut être omis, auquel cas zéro est supposé. S'il est omis, alors upstream_version peut ne pas contenir de deux-points. Il est fourni pour permettre de laisser des erreurs dans les numéros de version des anciennes versions d'un package, ainsi que dans les schémas de numérotation des versions précédentes d'un package.
version_amont
Il s'agit de la partie principale du numéro de version. Il s'agit généralement du numéro de version du package d'origine ("en amont") à partir duquel le fichier .deb a été créé, le cas échéant. Habituellement, ce sera dans le même format que celui spécifié par le ou les auteurs en amont; cependant, il peut être nécessaire de le reformater pour l'adapter au format et au schéma de comparaison du système de gestion des paquets.
Le comportement de comparaison du système de gestion de paquets par rapport à upstream_version est décrit ci-dessous. La partie upstream_version du numéro de version est obligatoire.
upstream_version ne peut contenir que des caractères alphanumériques [36] et les caractères
"."
(arrêt complet),"+"
(plus),"-"
(trait d'union),":"
(deux points),"~"
(tilde) et doit commencer par un chiffre. S'il n'y a pas debian_revision alors les tirets ne sont pas autorisés; s'il n'y a pas Epoch alors les deux-points ne sont pas autorisés.debian_revision
Cette partie du numéro de version spécifie la version du paquet Debian basée sur la version en amont. Il ne peut contenir que des caractères alphanumériques et les caractères
"."
(arrêt complet),"+"
(plus),"~"
(tilde) et est comparé de la même manière que upstream_version.C'est facultatif; s'il n'est pas présent, alors upstream_version peut ne pas contenir de trait d'union. Ce format représente le cas où un logiciel a été écrit spécifiquement pour être un paquet Debian, où la source du paquet Debian doit toujours être identique à la source vierge et donc aucune indication de révision n'est requise.
Il est classique de redémarrer debian_revision à 1 chaque fois que upstream_version est augmenté.
Le système de gestion des packages séparera le numéro de version au dernier tiret de la chaîne (s'il y en a un) pour déterminer le upstream_version et debian_revision. L'absence d'un debian_revision équivaut à un debian_revision de 0.
Comparaison
Lors de la comparaison de deux numéros de version, d'abord l'Epoch de chacun est comparé, puis la version en amont si Epoch est égale, puis debian_revision if upstream_version est également égal. L'époque est comparée numériquement. Les parties upstream_version et debian_revision sont comparées par le système de gestion des packages en utilisant l'algorithme suivant:
Les cordes sont comparées de gauche à droite.
Tout d'abord, la partie initiale de chaque chaîne composée entièrement de caractères non numériques est déterminée. Ces deux parties (dont une peut être vide) sont comparées lexicalement. Si une différence est trouvée, elle est retournée. La comparaison lexicale est une comparaison des valeurs ASCII modifiées de sorte que toutes les lettres soient triées plus tôt que toutes les non-lettres et qu'un tilde trie avant tout, même la fin d'une partie. Par exemple , les éléments suivants sont triés du plus ancien au plus récent:
~~
,~~a
,~
, la partie vide,a
.Ensuite, la partie initiale du reste de chaque chaîne qui se compose entièrement de caractères numériques est déterminée. Les valeurs numériques de ces deux parties sont comparées et toute différence trouvée est renvoyée comme résultat de la comparaison. À ces fins, une chaîne vide (qui ne peut apparaître qu'à la fin d'une ou des deux chaînes de version comparées) compte comme zéro.
Ces deux étapes (comparer et supprimer les chaînes non numériques initiales et les chaînes numériques initiales) sont répétées jusqu'à ce qu'une différence soit trouvée ou que les deux chaînes soient épuisées.
Notez que le but des époques est de nous permettre de laisser des erreurs dans la numérotation des versions et de faire face aux situations où le schéma de numérotation des versions change. Il n'est pas destiné à gérer les numéros de version contenant des chaînes de lettres que le système de gestion de packages ne peut pas interpréter (telles que
ALPHA
oupre-
), ou avec des commandes stupides.
ubuntu
indiquera que le paquet a été construit spécifiquement pour Ubuntu. Les chaînes alpha
et build
ne semblent pas avoir de signification particulière, mais dfsg
fait référence à un package qui a été modifié pour la conformité avec les Debian Free Software Guidelines .
XubuntuY
partie de la version par ex. 1ubuntu1
X
est la version du paquet Debian. La plupart des paquets Ubuntu sont basés sur des paquets Debian, qui est une distribution "en amont".
Si 0
, cela signifie qu'il n'y a pas de paquet Debian: il n'existe que dans Ubuntu.
X
se réinitialise lorsque la version en amont réelle est mise à jour, par exemple Binutils 2.25 à Binutils 2.26.
Les versions de Debian existent parce que Debian peut apporter des correctifs aux paquets afin que cela fonctionne mieux dans le système Debian ou pour les versions de sécurité.
Les développeurs Debian sont bien sûr désireux de fusionner les correctifs pour éviter de bifurquer.
Chaque fois qu'un nouveau patch est créé, ce nombre augmente.
ubuntuY
est facultatif.
S'il n'est pas présent, cela signifie que le paquet Debian a été utilisé directement.
Sinon, cela signifie qu'il s'agit du patch Yth Ubuntu appliqué au-dessus d'un patch Debian, un peu comme Debian s'applique au-dessus du vrai en amont.
Y
se réinitialise lorsque X
augmente.
Si vous obtenez la source d'un package avec:
apt-get source gdb
vous verrez les correctifs appliqués par Ubuntu et Debian sur:
debian/patches/
Encore plus intéressant, vous pouvez cloner avec bzr
et voir une liste de toutes les versions d'Ubuntu avec ce qui a changé entre elles:
bzr branch ubuntu:gdb
cd gdb
bzr log | less
Voir aussi: https://askubuntu.com/questions/620533/what-is-the-meaning-of-the-xubuntuy-string-in-ubuntu-package-names
Ce que représente réellement l'époque