Vorrei sapere come ottenere le informazioni sulla versione di un programma installato che non ha
--version
o-version
metodo implementato.
Vorrei sapere come ottenere le informazioni sulla versione di un programma installato che non ha
--version
o-version
metodo implementato.
Risposte:
Puoi usare dpkg
o apt-cache
.
Per verificare la versione di bash
, ad esempio:
dpkg -l bash
apt-cache show bash
yum requires <file>
ad esempio yum requires ssh-keygen
, fornire la versione openSSH.
Se il programma non ha alcuna opzione della riga di comando che visualizza le informazioni sulla versione, puoi provare a utilizzare dpkg
per ottenere la versione del pacchetto che di solito contiene in qualche modo la versione del programma.
dpkg -S "$(which YOUR_PROGRAM)"
stampa il pacchetto che contiene YOUR_PROGRAM e
dpkg --status YOUR_PACKAGE | grep ^Version
stampa la versione di YOUR_PACKAGE.
Puoi mettere tutto insieme:
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
Usalo ad esempio in questo modo per ls
:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
Puoi usare dpkg-query
per ottenere la versione di un pacchetto:
$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3
Per ottenere solo la stringa di versione:
$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
Il comando seguente fornisce anche la versione esatta del pacchetto installato.
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
Esempio
$ apt-cache policy firefox | grep Installed: | cut -d: -f2
24.0+build1-0ubuntu1
$ apt-cache policy gedit | grep Installed: | cut -d: -f2
3.8.3-0ubuntu3