Como o dpkg-reconfigure sabe a qual categoria um aplicativo pertence?

2

Quando executo o comando sudo dpkg-reconfigure lightdm , sou levado a uma tela que me permite personalizar o gerenciador de exibição que desejo usar. Ele lista lightdm , gdm e outros gerenciadores de exibição que eu instalei. Eu não usei este comando para outras coisas, mas eu suponho que ele permite que você configure outras categorias de pacotes também.

Como o dpkg-reconfigure sabe quais aplicativos são gerenciadores de exibição (ou qualquer outra categoria que você está configurando) e quais não são? Se houver alguma categorização acontecendo nos bastidores com o apt-get, eu gostaria de saber sobre isso, e como posso ver essas categorias.

    
por gsingh2011 18.07.2013 / 05:04

1 resposta

3

Ele obtém as opções dentro de seu arquivo de controle config no pacote .deb:

CHOICES=
if db_metaget shared/default-x-display-manager choices; then
  CHOICES="$RET"
fi

Você pode ver meta-informações sobre um pacote, incluindo funções virtuais que ele fornece como "x-display-manager", com o comando 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:~$

A linha Provides: x-display-manager é a peça relevante aqui.

Uma maneira de descobrir quais outros pacotes fornecem essa função é 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:~$

Se você realmente quiser mergulhar nos detalhes, o Tutorial do programador Debconf é Um bom lugar para começar.

    
por Steven K 18.07.2013 / 05:20