如何查看已安装软件的版本信息?
美国、香港服务器
如何查看已安装软件的版本信息?
06-14 来源:
在 Ubuntu 系统中,查看已安装软件的版本信息有多种方式,以下是最常用的方法及场景说明:
一、通用命令:dpkg -s(适用于所有 deb 包)
bash
dpkg -s nginx | grep Version
# 输出:Version: 1.18.0-6ubuntu1
优点:直接查询本地包管理数据库,无需网络连接。
缺点:需准确知道包名(如mysql-server而非mysql)。
二、软件自带命令(适用于大多数 CLI 工具)
bash
# 方法1:--version参数
nginx --version
# 输出:nginx version: nginx/1.18.0 (Ubuntu)
# 方法2:-v参数
python3 -v
# 输出:Python 3.8.10
# 方法3:特定命令(如Java)
java -version
# 输出:openjdk version "11.0.11" 2021-04-20
优点:直接获取运行时版本,适合验证配置是否生效。
缺点:部分 GUI 软件(如 GIMP)可能不支持命令行参数。
三、APT 工具:apt list(实时查询软件源)
bash
# 查看已安装版本(绿色[installed]标记)
apt list --installed nginx
# 查看所有可用版本(包括未安装的)
apt-cache policy nginx
# 输出:
# nginx:
# Installed: 1.18.0-6ubuntu1
# Candidate: 1.18.0-6ubuntu1
# Version table:
# *** 1.18.0-6ubuntu1 500
# 500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
# 100 /var/lib/dpkg/status
优点:同时显示当前版本、可用更新版本及来源。
缺点:需先执行apt update以获取最新信息。
四、图形界面工具(适合桌面环境)
软件和更新应用:
打开「软件和更新」→「已安装」标签页,按名称排序查看版本。
Synaptic 包管理器:
bash
sudo apt install synaptic
打开 Synaptic → 搜索软件 → 在「版本」列查看详情。
五、脚本化批量查询(适用于自动化)
bash
# 列出所有已安装软件及其版本
dpkg -l | grep "^ii" | awk "{print $2 "\t" $3}"
# 输出示例:
# adduser 3.118ubuntu2
# apt 2.0.6ubuntu0.1
# bash 5.0.17-1ubuntu1
扩展:结合grep筛选特定软件:
bash
dpkg -l | grep mysql
六、常见问题与解决方案
1. 包名与软件名不一致
问题:如 MySQL 服务器包名为mysql-server,直接查mysql会报错。
解决:先用apt search查找正确包名:
bash
apt search mysql | grep ^mysql
2. Snap/Python 包版本查询
Snap 包:
bash
snap list
# 输出:
# Name Version Rev Tracking Publisher Notes
# code 1.64.0 101 latest/stable canonical✓ classic
Python 包:
bash
pip show requests
# 输出:
# Name: requests
# Version: 2.25.1
3. 二进制文件版本查询
问题:某些软件无包管理记录(如手动编译安装)。
解决:直接运行软件并带--version参数:
bash
/usr/local/bin/nginx --version
七、最佳实践建议
优先使用dpkg -s:准确性最高,适合脚本自动化检查。
结合apt-cache policy:可同时评估更新风险(如候选版本差异过大需谨慎升级)。
版本格式说明:
Ubuntu 包格式:主版本.次版本.修订版-发行版号(如1.18.0-6ubuntu1)。
第三方包可能包含更多前缀(如redis-server 5:6.0.16-1ubuntu1中的5:表示软件源优先级)。
掌握这些方法后,可快速定位系统中任意软件的版本信息,为故障排查、安全审计或版本升级提供依据。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快