![dpkg-reconfigure 如何知道应用程序属于哪个类别?](https://linux22.com/image/968439/dpkg-reconfigure%20%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%B1%9E%E4%BA%8E%E5%93%AA%E4%B8%AA%E7%B1%BB%E5%88%AB%EF%BC%9F.png)
当我运行命令时sudo dpkg-reconfigure lightdm
,系统会将我带到一个屏幕,让我可以自定义要使用的显示管理器。它列出了lightdm
、gdm
以及我已安装的其他显示管理器。我没有用过这个命令做其他事情,但我认为它也允许您配置其他类别的软件包。
如何dpkg-reconfigure
知道哪些应用程序是显示管理器(或您正在配置的任何其他类别),哪些不是?如果 apt-get 在后台进行了一些分类,我希望了解它,以及如何查看这些类别。
答案1
config
它在 .deb 包中的控制文件中获取选择:
CHOICES=
if db_metaget shared/default-x-display-manager choices; then
CHOICES="$RET"
fi
您可以使用以下命令查看有关包的元信息,包括它提供的虚拟函数,如“x-display-manager” apt-cache
:
steven@wind:~$ apt-cache show lightdm | head
Package: lightdm
Priority: optional
Section: x11
Installed-Size: 440
Maintainer: Robert Ancell <[email protected]>
Architecture: i386
Version: 1.2.3-0ubuntu2.2
Provides: x-display-manager
Depends: debconf (>= 0.5) | debconf-2.0, upstart-job, libc6 (>= 2.4), libglib2.0-0 (>= 2.28.0), libpam0g (>= 0.99.7.1), libxcb1, libxdmcp6, libpam-runtime (>= 0.76-14), libpam-modules, adduser, libglib2.0-bin, dbus, plymouth (>= 0.8.2-2ubuntu31.1)
Pre-Depends: dpkg (>= 1.15.7.2)
steven@wind:~$
此Provides: x-display-manager
行是此处的相关部分。
找出哪些其他软件包提供此功能的一种方法是apt-cache search ...
:
steven@wind:~$ apt-cache search x-display-manager
kdm - KDE Display Manager for X11
lightdm - Display Manager
gdm - GNOME Display Manager
lxdm - GUI login manager for LXDE
slim - desktop-independent graphical login manager for X11
wdm - WINGs Display Manager - an xdm replacement with a WindowMaker look
xdm - X display manager
steven@wind:~$
如果你真的想深入了解细节,Debconf 程序员教程是一个很好的起点。