有很多种方法可以检查程序包是否已安装,我找到了 7 种命令,你可以从中选择你喜欢的使用。
-- Magesh Maruthamuthu(作者)

我们近期发布了一篇关于批量程序包安装的文章。在此同时,关于如何获取系统上已安装了的程序包信息,我也做了些调查然后找到了些方法。我会把这些方法分享在我们的网站上,希望能帮助到其他人。

有很多种方法可以检查程序包是否已安装,我找到了 7 种命令,你可以从中选择你喜欢的使用。

如下:

  • apt-cache:可用于查询 APT 缓存或程序包的元数据。
  • apt:是基于 Debian 的系统中的安装、下载、删除、搜索和管理包的强有力的工具。
  • dpkg-query:一个查询 dpkg 数据库的工具。
  • dpkg:基于 Debian 的系统的包管理工具。
  • which:返回在终端中输入命令时执行的可执行文件的全路径。
  • whereis:可用于搜索指定命令的二进制文件、源码文件和帮助文件。
  • locate:比 find 命令快,因为其使用 updatedb 数据库搜索,而 find命令在实际系统中搜索。

方法一、使用 apt-cache 命令

apt-cache 命令用于从 APT 内部数据库中查询APT 缓存包的元数据,将会搜索和显示指定包的信息,包括是否安装、程序包版本、源码仓库信息等。

下面的示例清楚的显示 nano 包已经在系统中安装了以及对应安装的版本号。

# apt-cache policy nano
nano:Installed: 2.9.3-2Candidate: 2.9.3-2Version table:*** 2.9.3-2 500500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages100 /var/lib/dpkg/status

方法二、使用 apt 命令

apt 是一个功能强大的命令行工具,可用于安装、下载、删除、搜索、管理程序包以及查询关于程序包的信息,类似对于 libapt-pkg 库的所有功能的底层访问。其包含一些与包管理相关的但很少用到的命令行功能。

# apt -qq list nano
nano/bionic,now 2.9.3-2 amd64 [installed]

方法三、使用 dpkg-query 命令

dpkg-query 是显示 dpkg 数据库中程序包信息列表的一个工具。

下面示例中的输出的第一列 ii,表示查询的程序包已安装了。

# dpkg-query --list | grep -i nano
ii  nano    2.9.3-2    amd64    small, friendly text editor inspired by Pico

方法四、使用 dpkg 命令

dpkgdebian package)是一个安装、构建、删除和管理 Debian 包的工具,但和其他包管理系统不同的是,其不能自动下载和安装包或包依赖。

下面示例中的输出的第一列 ii,表示查询的包已安装了。

# dpkg -l | grep -i nano
ii  nano     2.9.3-2    amd64   small, friendly text editor inspired by Pico

方法五、使用 which 命令

which 命令返回在终端中输入命令时执行的可执行文件的全路径。这对于你想要给可执行文件创建桌面快捷方式或符号链接时非常有用。

which 命令仅在当前用户 PATH 环境变量配置的目录列表中搜索,而不是在所有用户的目录中搜索。这意思是当你登入你自己账号时,其不会在 root 用户文件或目录中搜索。

如果对于指定的程序包或可执行文件路径有如下输出,则表示已安装了,否则没有。

# which nano
/bin/nano

方法六、使用 whereis 命令

whereis 命令用于针对指定命令搜索对应的程序二进制文件、源码文件以及帮助文件等。

如果对于指定的程序包或可执行文件路径有如下输出,则表示已安装了,否则没有。

# whereis nano
nano: /bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

方法七、使用 locate 命令

locate 命令比 find 命令快,因为其在 updatedb 数据库中搜索,而 find 命令在实际系统中进行搜索。

对于获取指定文件,其使用数据库而不是在特定目录路径中搜索。

locate 命令不会预安装在大多数系统中,需要手动安装。

locate 使用的数据库会根据定时任务定期更新。当然,我们也可以手动更新。

如果对于指定的程序包或可执行文件路径有如下输出,则表示已安装了,否则没有。

# locate --basename 'nano'
/usr/bin/nano
/usr/share/nano
/usr/share/doc/nano


debian 安装_如何在 Debian/Ubuntu 系统中检查程序包是否安装?相关推荐

  1. 在ubuntu系统中使用dpkg命令安装后缀名为deb的软件包

    在ubuntu系统中使用dpkg命令安装后缀名为deb的软件包: dpkg命令常用格式如下: #查看文件结构(其中-c等价于--contents) sudo dpkg -c xx.deb #安装软件包 ...

  2. debian 安装_如何在 Debian/Ubuntu 上手动安装安全更新? | Linux 中国

    在这个教程里面,我们会向你展示如何查看可用的安全更新,以及如何在 Ubuntu.LinuxMint 等等这些基于 Debian 的系统中安装它们.-- Magesh Maruthamuthu 在 Li ...

  3. debian文件系统_如何在Debian 10上设置文件系统配额

    debian文件系统 介绍 (Introduction) Quotas are used to limit the amount of disk space a user or group can u ...

  4. debian时间同步_如何在Debian 10上设置时间同步

    debian时间同步 介绍 (Introduction) Accurate timekeeping has become a critical component of modern software ...

  5. 32位dll转64位工具_如何在64位系统中运行32位或16位程序

    由于CPU和系统架构的更新,现行主流的Windows系统已经是64位.然而许多人还恋恋不舍的一些老游戏或老程序已经没有了更新.在64位的系统上运行这些程序,往往会出现运行故障.如何才能解决这个烦心事? ...

  6. 如何在ubuntu下安装detectron2_如何在 Debian/Ubuntu 上手动安装安全更新?

    在这个教程里面,我们会向你展示如何查看可用的安全更新,以及如何在 Ubuntu.LinuxMint 等等这些基于 Debian 的系统中安装它们. -- Magesh Maruthamuthu(作者) ...

  7. Debian\Ubuntu 系统中安装 Window10 字体

    Debian\Ubuntu 系统中安装 Window10 字体 提取 Windows10 字体 Windows10字体所在目录如下: Win10 系统字体: C:\Windows\Font 用户自定义 ...

  8. PPA 完全指南,如何在 Ubuntu 系统中使用 PPA

    如果你在使用 Ubuntu 系统,或其它衍生版本,如 Linux Mint.Linux Lite 或者 Zorin OS 等,可能会遇到添加使用 PPA 的情况.那什么是 PPA?为什么要使用 PPA ...

  9. 如何安装linux_在Ubuntu系统上如何制作Linux安装U盘

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Ubuntu系统中制作Linux启动 ...

最新文章

  1. 如何用Linux的at命令安排一个任务
  2. 关于爬楼梯的lintcode代码
  3. word标题自动编号
  4. linux 无线网卡 延时 丢包 模拟,Linux模拟网络丢包与延迟的方法
  5. Hbase之protobuf的使用
  6. layui的富文本编辑器如何上传图片,以及后期处理
  7. 【C语言】运算符与操作符的用法全面汇总(非常有用)
  8. 安卓逆向系列教程(一)Dalvik 指令集
  9. 苹果 SwiftUI 踢馆谷歌 Flutter!
  10. Android下的HttpClient的使用(9.11)
  11. python类方法和实例方法syntax errors_《Fluent Python》CH.11_面向对象_接口:从协议到抽象基类...
  12. CUDA——线程配置
  13. h710阵列卡支持最大硬盘_ORICO推爆品五盘位硬盘柜,一拖五最大支持80TB,你会买吗?...
  14. (附源码)ssm基于JSP的养老院信息管理系统的设计与实现 毕业设计 211141
  15. 怎么禁止使用计算机的软件,电脑如何禁止程序运行 一键彻底禁止电脑软件运行方法...
  16. php 七牛云获得上传token,客户端生成七牛上传token
  17. 代购工作简历如何写得高大上?
  18. 安装Nvidia显卡驱动和CUDA
  19. 【IT之路】微信小程序之美化
  20. C++GUI之wxWidgets(1)-安装与测试

热门文章

  1. 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!
  2. miniUI mini-monthpicker ie8兼容性问题
  3. MSP借助五招让中小企业签约云计算服务
  4. 视频图像处理基础知识0(双线性插值算法进行图像缩放)【转】
  5. 9.5---所有字符串的排列组合(CC150)
  6. Atitit.实现反向代理(1)----url rewrite 配置and内容改写 and -绝对路径链接改写 java php...
  7. zz 跟风小结一下孕期~
  8. Android开源项目汇总
  9. brctl 设置ip_docker配置独立桥接IP的方法
  10. php天津旅游设计网站作品