A maneira correta de obter a versão do software instalado no sistema é usar as ferramentas do gerenciador de pacotes!
--version
não é uma maneira confiável de fazer isso por vários motivos:
-
Nem todos os programas possuem executáveis. Bibliotecas são um bom exemplo. Você não pode verificar sua versão do kernel usando
linux --version
, já que não existe tal comando. Ou a versão do seu driver de vídeo. -
Nem todos os executáveis têm argumentos de linha de comando. A maioria faz, mas os programas GUI não precisam, e outros não.
-
--version
, como qualquer argumento de linha de comando, depende do aplicativo. Depende do desenvolvedor para implementá-lo, e não há "padrão" per se, apenas uma convenção. Como você notou com-v|-V
, não é consistente. Mesmo--help
não é universal. -
A saída de formato de
--version
também não é consistente. Alguns imprimem uma única linha, alguns imprimem vários. Alguns imprimem o número da versão somente , alguns imprimem o nome do programa também.
Dito isso, é uma maneira padrão e consistente de obter a versão instalada de qualquer software em seu sistema: pergunte ao sistema , não o software!
Graças à sua herança Debian, o Ubuntu possui um poderoso sistema de gerenciamento de pacotes chamado apt
(na verdade, dpkg
). Controla pacotes instalados, suas dependências, repositórios disponíveis, e versões .
Existem várias ferramentas de gerenciamento de pacotes e front-ends que você pode usar para consultar seus pacotes instalados. Aqui estão alguns que exibem a versão:
-
apt-cache policy <package>
-
dpkg --list <package>
(você pode usar curingas!)
E se você não sabe a que pacote um dado comando pertence, você pode descobrir de várias maneiras:
-
apt-cache search '<name>'
-
apt-file search '<path>'
E a saída é sempre consistente, confiável, padrão, porque você não está pedindo a um software individual feito por desenvolvedores distintos, você está consultando seu sistema sobre seu status.
Como exemplo, aqui está o resultado de uma pesquisa de todos os comandos mencionados em uma saída única :
$ dpkg --list wget gedit nano mysql-server skype php? firefox totem wine google-chrome*
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 firefox 42.0+build2-0ubuntu0.12.04 Safe and easy web browser from Mozilla ii gedit 3.4.1-0ubuntu1 official text editor of the GNOME desktop environment ii google-chrome-stable 46.0.2490.80-1 The web browser from Google ii mysql-server 5.5.46-0ubuntu0.12.04.2 MySQL database server (metapackage depending on the latest version) ii nano 2.2.6-1 small, friendly text editor inspired by Pico ii php5 5.3.10-1ubuntu3.21 server-side, HTML-embedded scripting language (metapackage) ii skype 4.3.0.37-0ubuntu0.12.04.1 client for Skype VOIP and instant messaging service ii totem 3.0.1-0ubuntu21.1 Simple media player for the GNOME desktop based on GStreamer ii wget 1.13.4-2ubuntu1.2 retrieves files from the web ii wine 1.4-0ubuntu4.1 Microsoft Windows Compatibility Layer (meta-package)