[Repository/Mirror] deepin 仓库源缺少 apt-file 根据包内文件名查找包的功能的支持
Tofloor
poster avatar
littlebat
deepin
2021-04-13 23:57
Author

deepin 仓库源缺少 apt-file 根据包内文件名查找包的功能的支持

症状:

sudo apt-file update

sudo apt-file search Xlib.h

显示:

Finding relevant cache files to search ...E: The cache is empty. You need to run "apt-file update" first.

在 /etc/apt/sources.list.d 下添加一个 Debian 10 源文件,如 debian.list,内容如下:

deb http://mirrors.163.com/debian/ buster main non-free contrib
deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ buster main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib

然后执行:

sudo apt-file update

sudo apt-file search Xlib.h

显示:

ivtools-dev: /usr/include/IV-X11/Xlib.h   

libgdk-pixbuf2.0-doc: /usr/share/gtk-doc/html/gdk-pixbuf/Xlib.html

libghc-gi-xlib-dev: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.4.4/gi-xlib-2.0.2-CLqbajDWiLlAMhtze8XLDe/GI/Xlib.hi

libghc-gi-xlib-doc: /usr/share/doc/libghc-gi-xlib-doc/html/GI-Xlib.html

libghc-gi-xlib-doc: /usr/share/doc/libghc-gi-xlib-doc/html/src/GI.Xlib.html

libghc-x11-dev: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.4.4/X11-1.9-4LlBmptidprBzBXJCyaiH5/Graphics/X11/Xlib.hi

libghc-x11-dev: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.4.4/X11-1.9-4LlBmptidprBzBXJCyaiH5/include/HsXlib.h

libghc-x11-doc: /usr/share/doc/libghc-x11-doc/html/Graphics-X11-Xlib.html

libghc-x11-doc: /usr/share/doc/libghc-x11-doc/html/src/Graphics.X11.Xlib.html

libhugs-x11-bundled: /usr/lib/hugs/packages/X11/Graphics/X11/Xlib.hs

libnx-x11-dev: /usr/include/x86_64-linux-gnu/nx-X11/Xlib.h

libx11-dev: /usr/include/X11/Xlib.h

perl-tk: /usr/lib/x86_64-linux-gnu/perl5/5.28/Tk/pTk/Xlib.h

pike8.0-doc: /usr/share/doc/pike8.0-doc/html/reference/ex/predef_3A_3A/Protocols/X/Xlib.html

python-pycparser: /usr/share/python-pycparser/fake_libc_include/X11/Xlib.h

python3-pycparser: /usr/share/python3-pycparser/fake_libc_include/X11/Xlib.h

xemacs21-bin: /usr/lib/xemacs-21.4.24/x86_64-linux-gnu/include/extw-Xlib.h

可见,应该是 deepin 仓库源缺少 apt-file 根据文件名查找包的功能的支持。

参见:

Deepin源不支持 apt-file文件查找功能:https://bbs.deepin.org/zh/post/40803

Reply Favorite View the author
All Replies
hanoch0505
deepin
2021-04-14 00:55
#1

我平时是直接 ‘apt search xxx’,不知道跟你这个有没有区别

Reply View the author
littlebat
deepin
2021-04-14 05:04
#2
hanoch0505

我平时是直接 ‘apt search xxx’,不知道跟你这个有没有区别

apt-file 的作用,比如,你知道有个命令 ifconfig 可以查看配置网卡,但是系统中没有这个命令,又不知道这个命令属于哪个软件包,可以根据 ifconfig 这个文件名搜索它所在的包,把这个包装上就有这个命令了。

mdx@eeepc:~$ apt-file search ifconfig | grep bin
inetutils-tools: /usr/bin/inetutils-ifconfig
net-tools: /sbin/ifconfig
python-ethtool: /usr/sbin/pifconfig2
python3-ethtool: /usr/sbin/pifconfig3

然后,执行:

sudo apt install net-tools

就行了。

另外,在从源码安装某个软件时,常常出现缺少某某文件导致编译不能完成,你却不知道这个文件属于哪个软件包,就可以用 apt-file 搜索一下。

Reply View the author