dpkg-reconfigure 如何知道应用程序属于哪个类别?

dpkg-reconfigure 如何知道应用程序属于哪个类别?

当我运行命令时sudo dpkg-reconfigure lightdm,系统会将我带到一个屏幕,让我可以自定义要使用的显示管理器。它列出了lightdmgdm以及我已安装的其他显示管理器。我没有用过这个命令做其他事情,但我认为它也允许您配置其他类别的软件包。

如何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 程序员教程是一个很好的起点。

相关内容