0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Linux中如何查找软件包版本

jf_78858299 来源:运维漫谈 作者:运维漫谈 2023-05-12 16:33 次阅读

尽管在图形包管理器的帮助下包管理变得更加容易,但一些用户总是更喜欢命令行方式。有不同的命令可以在不同的 Linux 版本中找出包版本。今天,在本教程中,我们将看到如何在一些流行的 Linux 发行版中找到软件包版本,例如 Alpine Linux、Arch Linux 及其衍生产品、Debian 及其衍生产品、RHEL 及其衍生产品。

  • 在 Alpine Linux 中查找软件包版本
  • 在基于 Arch 的系统中查找软件包版本
  • 在基于 DEB 的系统中查找包版本
  • 在基于 RPM 的系统中查找软件包版本

在 Alpine Linux 中查找软件包版本

要查看软件包版本和其他详细信息,请使用apk info如下命令。

$ apk info vim

您将看到给定包的简短描述及其托管网站。

示例输出:

vim-8.2.2137-r0 description:
Improved vi-style text editor

vim-8.2.2137-r0 webpage:
https://www.vim.org/

vim-8.2.2137-r0 installed size:
18 MiB

gvim-8.2.2137-r0 description:
advanced text editor, with GUI

gvim-8.2.2137-r0 webpage:
https://www.vim.org/

gvim-8.2.2137-r0 installed size:
29 MiB

如您所见,安装的 Vim 版本是8.2.

在基于 Arch 的系统中查找软件包版本

要在 Arch Linux 及其衍生产品(如 EndeavourOS 和 Manjaro Linux)中查找已安装的软件包(例如 VLC)版本,请运行以下命令:

$ pacman -Q vlc

示例输出:

vlc 2.2.4-3

正如你在上面的输出中看到的,VLC 包的安装版本是2.2.4-3。

要显示包的详细信息,请运行:

$ pacman -Qi vlc

示例输出:

Name : vlc
Version : 2.2.4-3
Description : A multi-platform MPEG, VCD/DVD, and DivX player
Architecture : x86_64
URL : http://www.videolan.org/vlc/
Licenses : LGPL2.1 GPL2
Groups : None
Provides : None
Depends On : a52dec libdvbpsi libxpm libdca libproxy sdl_image
 libdvdnav libtiger lua libmatroska zvbi taglib
 libmpcdec ffmpeg2.8 faad2 libupnp libshout libmad
 libmpeg2 xcb-util-keysyms libtar libxinerama
Optional Deps : avahi: for service discovery using bonjour protocol
 [installed]
 libnotify: for notification plugin [installed]
 gtk2: for notify plugin [installed]
 
 [...]

  lua-socket: for http interface
 qt4: for the GUI [installed]
Required By : None
Optional For : smtube
Conflicts With : vlc-plugin
Replaces : vlc-plugin
Installed Size : 53.28 MiB
Packager : Antonio Rojas 
Build Date : Sun 24 Jul 2016 03:12:59 PM IST
Install Date : Fri 05 Aug 2016 11:22:54 AM IST
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature

在基于 DEB 的系统中查找包版本

在 Debian、Ubuntu 及其衍生产品(例如 Linux Mint、Pop OS 和 Elementary OS)中,我们可以找到已安装的软件包,例如 Apache webserver,使用dpkg带有-l开关的命令的版本如下:

$ dpkg -l apache2

或者,您可以使用dpkgwithgrep命令来获取安装版本的软件包,如下所示。

$ dpkg -s apache2 | grep -i version

示例输出:

Version: 2.4.18-2ubuntu3.1

要显示已安装软件包的详细信息,请运行:

$ dpkg -s apache2

示例输出:

Package: apache2
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 488
Maintainer: Ubuntu Developers 
Architecture: amd64
Version: 2.4.18-2ubuntu3.1
Replaces: apache2.2-bin, apache2.2-common
Provides: httpd, httpd-cgi
Depends: lsb-base, procps, perl, mime-support, apache2-bin (= 2.4.18-2ubuntu3.1), apache2-utils (>= 2.4), apache2-data (= 2.4.18-2ubuntu3.1)
Pre-Depends: dpkg (>= 1.17.14)
Recommends: ssl-cert
Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, ufw
Conflicts: apache2.2-bin, apache2.2-common
Conffiles:
 /etc/apache2/apache2.conf da32fcc6a783acaebf0d74c17c726bf7
 /etc/default/apache-htcacheclean ae8721a0bc5b4e2ef7a5258b1e9db5c5

 [..]

 /etc/logrotate.d/apache2 7322a4f050c1e2454249695236a3472c
 /etc/ufw/applications.d/apache2-utils.ufw.profile f8d4fd920e598ceb4379613c6261f6af
Description: Apache HTTP Server
 The Apache HTTP Server Project's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software. The
 result has long been the number one web server on the Internet.
 .
 Installing this package results in a full installation, including the
 configuration files, init scripts and support scripts.
Homepage: http://httpd.apache.org/
Original-Maintainer: Debian Apache Maintainers

此外,我们可以使用以下apt-show-versions命令查找软件包版本:

$ apt-show-versions apache2

示例输出:

apache2:amd64/xenial-security 2.4.18-2ubuntu3.1 uptodate
apache2:i386 not installed

如上结果所示,我安装了 apache2 64位版本,版本为 2.4.18。

如果没有安装'apt-show-versions'程序,您可以使用以下命令安装它:

$ sudo apt install apt-show-versions

我们现在知道如何检查已安装软件包的版本。在线存储库中的软件包版本如何?无论如何要检查官方存储库中可用的软件包版本?这也是可能的。查看以下链接以了解操作方法。

即使这些软件包没有安装在基于 Debian 的系统中,您仍然可以找到它们的版本。查看以下指南了解更多详情。

在基于 RPM 的系统中查找软件包版本

要在基于 RPM 的发行版(例如 Red Hat、CentOS、Fedora、AlmaLinux、Rocky Linux 和 openSUSE 等)中找出已安装软件包(例如 httpd)的版本,请运行:

$ rpm -qi httpd

示例输出:

Name : httpd
Version : 2.4.6
Release : 40.el7.centos.4
Architecture: x86_64
Install Date: Thu 11 Aug 2016 08:08:45 PM IST
Group : System Environment/Daemons
Size : 9806117
License : ASL 2.0
Signature : RSA/SHA256, Mon 18 Jul 2016 09:35:16 PM IST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-40.el7.centos.4.src.rpm
Build Date : Mon 18 Jul 2016 09:02:11 PM IST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem

上面的命令显示安装的包版本、构建日期、许可证、描述等。正如你在输出中看到的,httpd 包版本是2.4.6。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 管理器
    +关注

    关注

    0

    文章

    233

    浏览量

    18315
收藏 人收藏

    评论

    相关推荐

    Linux的dpkg处理命令详解

    所有的Uninstall的软件包信息 命令行:dpkg –forget-old-unavail 11)删除软件包的Avaliable信息 命令行:dpkg –clear-avail 12)查找只有部分安装的
    发表于 07-03 04:34

    香橙派R1 Plus开发板安装非官方源的软件包的注意事项

    可以 github 或者其他论坛上查找下载。常见安装错误(1)软件包系统架构不对,需要下载后缀为 aarch64_generic 的软件包 (2)相关的库已经由旧
    发表于 03-31 20:18

    RTTHREAD软件包目录推荐

    RTTHREAD软件包目录这边统计下RTTHREAD软件包的各项内容IOT名技术标签依赖平台备注abup_fotaOTATCP/UDP本软件包是用于 Abup FOTA 升级的固件下
    发表于 07-02 06:57

    linux编译升级gcc无法定位软件包libmpfr4请问怎么解决

    A40i板子第四章linux编译篇4.3安装 依赖升级gcc安装依赖是出现无法定位软件包libmpfr4,请问怎么解决?请问您解决了吗
    发表于 01-04 07:06

    OK10xx-linux-fs.tar.bz2软件包缺少文件

    你好! OK10xx-linux-fs.tar.bz2 软件包 缺少文件:目录 /home/forlinx/work/OK10xx-linux
    发表于 01-05 06:27

    软件包怎么使用

    RT-thread有很多实用的软件包,包含网络、IOT、外设、系统等多个方面,对于项目的快速开发或者评估来说是非常方便的。但不是所有软件包都是友好的,因为有些软件包是第三方贡献的,软件
    发表于 01-21 07:53

    更新了RT-Thread4.1.0版本的内核后,软件包编译后报错是为什么

    更新了4.1.0版本的内核,但是发现有好多之前用的软件包,编译后报错,可能是缺少某些头文件造成的,还有RTC驱动,4.0.5版本和4.1.0版本的内核,
    发表于 05-07 09:44

    sqlite软件包内存泄漏如何解决?

    4.1.0版本下使用sqlite软件包,update的sqlite文件(不知道为什么直接update的一运行就报(obj != object) assertion failed
    发表于 05-24 15:25

    开源实习经验分享:openEuler软件包加固测试

    。开源实习官网:https://www.openeuler.org/zh/internship/本文作者开源实习参与了openEuler社区QA SIG的工作,以下分享关于openEuler软件包
    发表于 07-01 14:29

    基于HTTP协议客户端实现WebClient软件包开发

    支持并选择支持的模式;不支持:不支持TLS功能;SAL TLS 支持: SAL 组件配置 TLS 功能支持,并在 SAL 组件抽象 TLS 操作。用户还需要手动配置使用的 TLS 软件
    发表于 08-08 11:18

    主要介绍NimBLE软件包的使用说明

    中选择 “latest”。最终配置结果如下图:配置完成后保存,studio 将自动更新下载软件包。BSP 工程配置使用 NimBLE某一 bsp 工程下打开 env 工具, 输入
    发表于 08-18 10:22

    想请教一下RTThread添加软件包有什么需要注意的地方吗?

    Studio添加软件包,总是下载不成功,package下面没有任何,工程文件的package组下面也没有任何文件。想请教一下,RTThread
    发表于 11-04 10:35

    RT-Thread的mymqtt软件包添加步骤与使用方法

    开发环境:野火的stm32f407,rt-thread studio版本版本: 2.2.6,stm32f4的资源为0.2.2,mymqtt软件包
    发表于 02-13 14:58

    使用RT-Thread Studio开发CH32V307实现按键软件包使用

    软件包中心查找MultiButton软件包保存工程RT-Thread Studio会自动将软件包下载并添加到工程
    发表于 04-15 21:16

    RT-Thread5.0.0版本下littlefs软件包编译出错如何解决?

    变量,该结构体不存在该变量。 与rt-thread-4.1.1版本比较发现,5.0.0版本dfs_file.h文件内容有调整,但是,littlefs
    发表于 09-03 10:48