| 副标题[/!--empirenews.page--] 
 我们近期发布了一篇关于批量程序包安装的文章。在此同时,关于如何获取系统上已安装了的程序包信息,我也做了些调查然后找到了些方法。我会把这些方法分享在我们的网站上,希望能帮助到其他人。 有很多种方法可以检查程序包是否已安装,我找到了 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 命令dpkg(debian 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
 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |