O que acontece quando o pacote virtual depende / recomenda / sugere sem pacote real depende / recomenda / sugere?

1

Recomenda: xkb-data, x-terminal-emulator, pavucontrol | gnome-alsamixer

O que significa aqui o x-terminal-emulator ?

Eu acho um link , mas o que deve ser instalado ?

Isso é undefined behavior ?

Por exemplo:

root@debian:/# cat /etc/os-release |grep ^PRETTY_NAME
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
root@debian:/# aptitude --disable-columns show lxpanel
Package: lxpanel                         
Version: 0.9.3-1
State: not installed
Priority: optional
Section: x11
Maintainer: Debian LXDE Maintainers <[email protected]>
Architecture: i386
Uncompressed Size: 753 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.7), libcairo2 (>= 1.2.4), libfm-gtk4 (>= 1.2.0), libfm4 (>= 1.2.0), libfontconfig1 (>= 2.11), libfreetype6
         (>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.1), libgtk2.0-0 (>= 2.24.0), libiw30 (>= 30~pre1), libkeybinder0 (>= 0.3.0), libmenu-cache3 (>= 0.5.0),
         libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libwnck22 (>= 2.30.7), libx11-6, libxml2 (>= 2.7.4), lxmenu-data, lxpanel-data
         (= 0.9.3-1), libfm-modules
Recommends: xkb-data, x-terminal-emulator, pavucontrol | gnome-alsamixer
Suggests: menu, firefox-esr | firefox | www-browser
Description: LXDE panel
 LXPanel is a GUI application for the Lightweight X11 Desktop Environment (LXDE). 

 It is derived from fbpanel and includes the following features: 

 * User-friendly application menu automatically generated from .desktop files on the system 
 * Launcher bar (small icons clicked to launch apps) 
 * Task bar supporting ICCCM/EWMH 'urgency' hint (Pidgin IM windows can flash on new incoming messages) 
 * Run dialog (type a command to run, without opening a terminal) 
 * Net status icon plug-in (optional). 
 * Volume control plug-in (optional). 
 * Notification area (system tray). 
 * Digital clock. 
 * Keyboard LEDs plug-in (display caps/num locks). 
 * lxpanelctl: control lxpanel from other programs. For example, "lxpanelctl run" will show the Run dialog in lxpanel, and "lxpanelctl menu" will show the application menu. This
   is useful in combination with window manager key bindings.
Homepage: http://www.lxde.org/
Tags: hardware::input:mouse, interface::graphical, interface::x11, role::program, scope::utility, suite::TODO, uitoolkit::gtk, use::TODO, works-with::software:package,
      works-with::software:running, x11::applet, x11::application

root@debian:/# 

Abaixo do conteúdo antigo ( resposta encontrada )

Por que o prompt "termit" será instalado, Por que o "lxterminal" não será instalado?

Eu espero que "lxerminal" seja instalado porque "lxde-core" primeiro recomenda "lxterminal", mas por que o "termit" será instalado?

O que eu fiz e encontrei:

Se precisar de mais alguma informação pode me dizer, obrigado

root@debian:~/debian_stretch# debootstrap stretch ./ http://ftp.cn.debian.org/debian/ >/dev/null
root@debian:~/debian_stretch# mount --bind /sys ./sys
root@debian:~/debian_stretch# mount --bind /proc ./proc
root@debian:~/debian_stretch# chroot ./
root@debian:/# apt update >/dev/null 2>&1
root@debian:/# echo Y |apt upgrade >/dev/null 2>&1
root@debian:/# echo n |apt install lxde-core 2>&1| grep -o termit
termit
termit
root@debian:/# echo n |apt install lxde-core 2>&1| grep -o lxterminal
root@debian:/# echo n |apt-get install lxde-core 2>&1| grep -o termit
termit
termit
root@debian:/# echo n |apt-get install lxde-core 2>&1| grep -o lxterminal
root@debian:/# apt-cache policy termit
termit:
  Installed: (none)
  Candidate: 3.0-1+b1
  Version table:
     3.0-1+b1 500
        500 http://ftp.cn.debian.org/debian stretch/main i386 Packages
root@debian:/# apt-cache policy lxterminal
lxterminal:
  Installed: (none)
  Candidate: 0.3.0-2
  Version table:
     0.3.0-2 500
        500 http://ftp.cn.debian.org/debian stretch/main i386 Packages
root@debian:/#

Mais uma vez, se precisar de mais alguma informação, diga-me, obrigado

    
por illiterate 11.05.2017 / 20:33

2 respostas

2

No caso trivial, uma dependência em A | B selecionará A se nenhum dos dois estiver instalado.

No entanto, muito comumente, a resolução de dependência também é afetada por co-dependências (se resolver outras dependências acaba puxando B de qualquer maneira, A não precisa ser instalado) e pinning (se um repositório com B tiver um pin mais alto, B será selecionado).

    
por 13.05.2017 / 20:01
1

Se você já tiver um pacote que satisfaça o pacote virtual x-terminal-emulator instalado, acho que o apt considera que a dependência seja satisfeita. E você provavelmente já faz. No topo da minha cabeça, não sei como verificar isso. Embora xterm , konsole , terminator e muitos outros forneçam x-terminal-emulator .

    
por 12.05.2017 / 10:48