Używam tego dpkg -l
polecenia, aby dowiedzieć się, którą wersję pakietu zainstalowałem. Na przykład:
dpkg -l network-manager
zwraca informacje na opakowaniu:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=========================-=========================-==================================================================
ii network-manager 0.8.3~git.20101118t223039 network management framework daemon
Jak widać, zwraca wartość, 0.8.3~git.20101118t223039
która jest błędna, ponieważ obcina wersję (wybrałem długą na potrzeby tego pytania). Sposób, w jaki rozwiązałem to w przeszłości, polega na przekazaniu głupio długiego argumentu COLUMNS, aby go rozwinąć:
COLUMNS=200 dpkg -l network-manager
co daje mi cały numer wersji, ale także garść śmieci:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-============================================-============================================-========================================================================================================
ii network-manager 0.8.3~git.20101118t223039.d60a988-0ubuntu1 network management framework daemon
Teraz widzę pełny numer wersji, który jest 0.8.3~git.20101118t223039.d60a988-0ubuntu1
.
Mam wrażenie, że nie jest to właściwy sposób na znalezienie numeru wersji zainstalowanego pakietu. W przeszłości tak naprawdę nigdy nie stanowiło to problemu, ale przy dołączaniu „ubuntu” w wersjach i rozprzestrzenianiu się umów PPA ciągi te stają się coraz dłuższe. Czy istnieje prostszy sposób?
dpkg --info package.deb
działa, choć-s
nie