ฉันต้องการทราบวิธีรับข้อมูลรุ่นของโปรแกรมที่ติดตั้งที่ไม่มี
--version
หรือ-version
วิธีการดำเนินการ
ฉันรู้ว่าคุณหมายถึงโปรแกรมใด ๆ แต่คุณสามารถพูดได้ว่าโปรแกรมใด
ฉันต้องการทราบวิธีรับข้อมูลรุ่นของโปรแกรมที่ติดตั้งที่ไม่มี
--version
หรือ-version
วิธีการดำเนินการ
คำตอบ:
คุณสามารถใช้หรือdpkg
apt-cache
วิธีตรวจสอบเวอร์ชั่นของbash
:
dpkg -l bash
apt-cache show bash
yum requires <file>
เช่นyum requires ssh-keygen
นั้นจะให้รุ่น openSSH ของคุณ
หากโปรแกรมไม่มีตัวเลือกบรรทัดคำสั่งใด ๆ ที่แสดงข้อมูลเวอร์ชันคุณสามารถลองใช้dpkg
เพื่อรับรุ่นแพ็กเกจซึ่งมักจะมีเวอร์ชันของโปรแกรมอยู่บ้าง
dpkg -S "$(which YOUR_PROGRAM)"
พิมพ์แพ็คเกจที่มี YOUR_PROGRAM และ
dpkg --status YOUR_PACKAGE | grep ^Version
พิมพ์รุ่น YOUR_PACKAGE
คุณสามารถรวมมันเข้าด้วยกัน:
dpkg --status "$(dpkg -S "$(which YOUR_PROGRAM)" | cut -d: -f1)" | grep ^Version
ใช้สำหรับตัวอย่างเช่นนี้สำหรับls
:
dpkg --status "$(dpkg -S "$(which ls)"| cut -d: -f1)"| grep ^Version
คุณสามารถใช้dpkg-query
เพื่อรับแพคเกจเวอร์ชัน:
$ dpkg-query -W -f='${binary:Package} ${Version}\n' firefox
firefox 29.0+build1-0ubuntu0.13.10.3
ในการรับเฉพาะสตริงเวอร์ชัน:
$ dpkg-query -W -f='${Version}\n' firefox
29.0+build1-0ubuntu0.13.10.3
คำสั่งด้านล่างยังช่วยให้คุณมีรุ่นแพคเกจที่ติดตั้งแน่นอน
apt-cache policy <package-name> | grep Installed: | cut -d: -f2
ตัวอย่าง
$ 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