Chciałbym wiedzieć, jak uzyskać informacje o wersji zainstalowanego programu, który nie ma
--versionlub-version
zaimplementowana metoda.
Chciałbym wiedzieć, jak uzyskać informacje o wersji zainstalowanego programu, który nie ma
--versionlub-version
zaimplementowana metoda.
Odpowiedzi:
Możesz użyć dpkglub apt-cache.
Aby sprawdzić wersję bash, na przykład:
dpkg -l bash
apt-cache show bash
yum requires <file>np. yum requires ssh-keygenDałoby ci twoją wersję openSSH.
Jeśli program nie ma żadnej opcji wiersza polecenia wyświetlającej informacje o wersji, możesz spróbować użyć dpkgtej wersji pakietu, która zwykle zawiera wersję programu.
dpkg -S "$(which YOUR_PROGRAM)"
wypisuje paczkę zawierającą YOUR_PROGRAM i
dpkg --status YOUR_PACKAGE | grep ^Version
drukuje wersję YOUR_PACKAGE.
Możesz to wszystko połączyć:
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
Użyj go na przykład w następujący sposób ls:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
Możesz użyć, dpkg-queryaby uzyskać wersję pakietu:
$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3
Aby uzyskać tylko ciąg wersji:
$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
Poniższe polecenie podaje również dokładnie zainstalowaną wersję pakietu.
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
Przykład
$ 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