如何查找包在Ubuntu上拥有特定文件
时间:2020-03-05 15:26:47 来源:igfitidea点击:
本教程旨在识别在Ubuntu系统上拥有/提供特定文件的包。
本文上的所有命令已在Ubuntu 18.04和Ubuntu 16.04桌面和服务器版上测试。
有时有必要知道在系统中添加文件的包,这通常是为了监视和安全目的是至关重要的,例如,防止rootkit和任何形式的侵入到Linux服务器中。
以下是为此任务中派上派上辅导的命令列表。
使用DPKG.
DPKG是用于安装,删除,升级和管理Debian软件包的Debian包管理工具。
我们可以使用DPKG包管理工具标识提供文件的包。
使用的选项是:
-s,-search:这些用于搜索从已安装的包中的文件名。
例如,让我们尝试识别提供/etc/updatedb.conf文件的包。
# dpkg -S /etc/updatedb.conf mlocate: /etc/updatedb.conf
如图所示,文件通过mlocate包写入文件系统。
我们也可以对二进制文件做同样的事情,例如,
# dpkg -S /bin/sync coreutils: /bin/sync
如果我们不知道命令的绝对路径,则可以使用whate
命令在飞行中定位它。
# dpkg -S `which ping` iputils-ping: /bin/ping
或者
# dpkg -S $(which ping) iputils-ping: /bin/ping
使用apt-file
apt-file是一个debian命令行工具,可以用于搜索APT包管理系统的软件包中的文件。
如果我们尝试在未安装时执行命令,则应要求我们安装它。
# apt-file search vim The program 'apt-file' is currently not installed. You can install it by typing: apt install apt-file
默认情况下,系统范围的缓存是空的。
以root用户身份运行以下命令以更新缓存。
# apt-file update
使用语法:
# apt-file search <file>
例如。
要查找创建文件/etc/nginx/nginx.conf的包,请使用命令:
# apt-file search /etc/nginx/nginx.conf nginx-common: /etc/nginx/nginx.conf
从输出中,可以看出该文件是通过安装"nginx-common"包来创建的。