2016-04-04 2 views
0

Ich brauche einen Befehl zu schreiben, die nur eine Versionsnummer eines Pakets, so etwas wie zurückgibt:gibt es die Versionsnummer eines Pakets in ubuntu für den Einsatz in ansible

docker --version Docker version 1.10.3, build 20f81dd

Aber das gibt nur die 1.10 .3 Teil.

Ich brauche das für ein Ansible Playbook. Der Versuch, die --version zu analysieren funktioniert nur, wenn das Paket installiert ist, aber wenn es nicht ist, wirft es Fehler. Ich zögere, den Fehler als eine Abwesenheit des Pakets zu interpretieren, kann nichts finden, das meinen Bedürfnissen entspricht.

Ich habe versucht, mehrere Befehle:

dpkg -l 'docker' | grep 'Version' apt-cache policy docker | grep Installed

Beide tun ihre Arbeit, aber ansible bekommt riesige Mengen an überschüssigen Daten (wie in jeder Paketdatei und ihre Informationen, und das ist nicht gut, wenn es eine Menge Maschinen, die all diese Daten senden)

Ist das überhaupt möglich? Oder sollte ich nach einem Workaround suchen?

Vielen Dank!

Antwort

0

Dies funktioniert für mich:

➜ ~ dpkg -l |grep docker | awk 'NR==1{ print $3 }'| tr "~" "\n" | grep -v trusty 
1.9.1-0 
Verwandte Themen