Bagaimana cara saya mendapatkan versi aplikasi dari baris perintah?

20

Saya ingin tahu cara mendapatkan informasi versi dari program yang diinstal yang tidak memiliki

--version atau -version

metode yang diterapkan.

Paradiesstaub
sumber
Saya tahu maksud Anda untuk program apa pun, tetapi bisakah Anda mengatakan program mana tepatnya?

Jawaban:

22

Anda bisa menggunakan dpkgatau apt-cache.

Untuk memeriksa versi bash, misalnya:

dpkg -l bash

apt-cache show bash
Harimau kumbang
sumber
Bagi mereka yang hanya mencari jawaban Linux umum, yang setara dengan yang di atas untuk RHEL / CentOS / Fedora (dan sejenisnya) akan yum requires <file>misalnya yum requires ssh-keygenakan memberikan Anda versi openSSH Anda.
SeldomNeedy
1
@SeldomNeedy - yum disusutkan di Fedora, Fedora menggunakan dnf. Centos / RHEL masih menggunakan yum.
Panther
7

Jika program tidak memiliki opsi baris perintah apa pun yang menampilkan informasi versi, Anda dapat mencoba menggunakannya dpkguntuk mendapatkan versi paket yang biasanya berisi ion versi program.

dpkg -S "$(which YOUR_PROGRAM)"

mencetak paket yang berisi YOUR_PROGRAM, dan

dpkg --status YOUR_PACKAGE | grep ^Version

mencetak versi YOUR_PACKAGE.

Anda bisa menggabungkan semuanya:

dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version

Gunakan contohnya seperti ini untuk ls:

dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
Florian Diesch
sumber
1
Sebagai saran. Masukkan semuanya ke dalam fungsi dan muat ketika shell Anda mulai.
Zoke
1

Anda dapat menggunakan dpkg-queryuntuk mendapatkan versi paket:

$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3

Untuk hanya mendapatkan string versi:

$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
Sylvain Pineau
sumber
0

Perintah di bawah ini juga memberi Anda versi paket yang diinstal dengan tepat.

apt-cache policy <package-name> | grep Installed: | cut -d: -f2

Contoh

$ 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
Avinash Raj
sumber