如何在Debian/Ubuntu系统中检查程序包是否安装

这篇文章主要讲解了“如何在Debian/Ubuntu系统中检查程序包是否安装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Debian/Ubuntu系统中检查程序包是否安装”吧!

成都创新互联公司拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕10余年,专业且经验丰富。10余年网站优化营销经验,我们已为上1000+中小企业提供了网站建设、网站设计解决方案,按需设计网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!

有很多种方法可以检查程序包是否已安装,我找到了 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 nanonano:  Installed: 2.9.3-2  Candidate: 2.9.3-2  Version table: *** 2.9.3-2 500        500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages        100 /var/lib/dpkg/status

方法二、使用 apt 命令

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

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

方法三、使用 dpkg-query 命令

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

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

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

方法四、使用 dpkg 命令

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

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

# dpkg -l | grep -i nanoii  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 nanonano: /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/Ubuntu系统中检查程序包是否安装”的内容了,经过本文的学习后,相信大家对如何在Debian/Ubuntu系统中检查程序包是否安装这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享名称:如何在Debian/Ubuntu系统中检查程序包是否安装
分享网址:http://azwzsj.com/article/ipphjd.html