Eu uso o dpkg -l
comando para descobrir qual versão de um pacote eu instalei. Por exemplo:
dpkg -l network-manager
retorna as informações no pacote:
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
Como você pode ver, ele retorna o 0.8.3~git.20101118t223039
que está errado, porque trunca a versão (eu escolhi uma longa para os fins desta pergunta). A maneira que resolvi isso no passado é passar um argumento COLUMNS estupidamente longo para fazê-lo expandir:
COLUMNS=200 dpkg -l network-manager
o que me dá todo o número da versão, mas também um monte de lixo:
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
Agora eu posso ver o número da versão completa, que é 0.8.3~git.20101118t223039.d60a988-0ubuntu1
.
Tenho a sensação de que essa não é a maneira correta de encontrar o número da versão de um pacote instalado. Isso nunca foi realmente um problema no passado, mas com o uso do "ubuntu" nas versões e a proliferação de PPAs, essas seqüências estão ficando cada vez mais longas. Existe uma maneira mais fácil?
dpkg --info package.deb
funciona, apesar de-s
não ter