libvirt-daemon-system が Debian にそんなに依存しているのはなぜですか?

libvirt-daemon-system が Debian にそんなに依存しているのはなぜですか?

私のヘッドレスDebian 11(Take Eye)サーバーにインストールしようとすると、libvirt-daemon-systemオーディオaptライブラリとすべてを含むほぼ完全なグラフィック環境がインストールされます。

mic@micserver:~$ sudo apt install libvirt-daemon-system
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme alsa-topology-conf alsa-ucm-conf at-spi2-core augeas-lenses dbus-user-session dconf-gsettings-backend dconf-service fontconfig glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gtk-update-icon-cache hicolor-icon-theme i965-va-driver
  ibverbs-providers intel-media-va-driver ipxe-qemu jq libaa1 libaacs0 libasound2 libasound2-data libass9 libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libaugeas0 libavc1394-0
  libavcodec58 libavfilter7 libavformat58 libavutil56 libbdplus0 libbluray2 libbrlapi0.8 libbs2b0 libcaca0 libcacard0 libcairo-gobject2 libcairo2 libcapstone4 libcdparanoia0 libchromaprint1 libcodec2-0.9
  libcolord2 libdatrie1 libdaxctl1 libdconf1 libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4 libdw1 libepoxy0 libexecs0 libfdt1 libflac8 libflite1 libfribidi0 libgbm1
  libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgfortran5 libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgme0 libgraphite2-3 libgsm1 libgstreamer-plugins-base1.0-0
  libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0 libharfbuzz0b libibverbs1 libiec61883-0 libigdgmm11 libjack-jackd2-0 libjq1 libjson-glib-1.0-0 libjson-glib-1.0-common liblapack3
  liblilv-0-0 libmfx1 libmp3lame0 libmpg123-0 libmysofa1 libndctl6 libnetcf1 libnl-route-3-200 libnorm1 libogg0 libopenmpt0 libopus0 liborc-0.4-0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparted2
  libpciaccess0 libpgm-5.3-0 libpixman-1-0 libpmem1 libpocketsphinx3 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpostproc55 libproxy1v5 libpulse0 libquadmath0 librabbitmq4 libraw1394-11 librdmacm1
  librest-0.7-0 librsvg2-2 librsvg2-common librubberband2 libsamplerate0 libserd-0-0 libshine3 libshout3 libslirp0 libsndfile1 libsord-0-0 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libsphinxbase3
  libspice-server1 libsratom-0-0 libsrt1.4-gnutls libssh-gcrypt-4 libswresample3 libswscale5 libtag1v5 libtag1v5-vanilla libthai-data libthai0 libtheora0 libtwolame0 libudfread0 libunwind8 liburing1
  libusbredirparser1 libv4l-0 libv4lconvert0 libva-drm2 libva-x11-2 libva2 libvdeplug2 libvdpau-va-gl1 libvdpau1 libvidstab1.1 libvirglrenderer1 libvirt-clients libvirt-daemon libvirt-daemon-config-network
  libvirt-daemon-config-nwfilter libvirt-daemon-driver-lxc libvirt-daemon-driver-vbox libvirt-daemon-driver-xen libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx6 libvte-2.91-0 libvte-2.91-common
  libvulkan1 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libx11-xcb1 libx264-160 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0
  libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxencall1 libxendevicemodel1 libxenevtchn1 libxenforeignmemory1 libxengnttab1 libxenhypfs1 libxenmisc4.14 libxenstore3.0
  libxentoolcore1 libxentoollog1 libxfixes3 libxinerama1 libxkbcommon0 libxml2-utils libxrandr2 libxshmfence1 libxv1 libxvidcore4 libxxf86vm1 libzmq5 libzvbi-common libzvbi0 mdevctl mesa-va-drivers
  mesa-vdpau-drivers mesa-vulkan-drivers ocl-icd-libopencl1 ovmf parted pocketsphinx-en-us policykit-1 qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios va-driver-all
  vdpau-driver-all

しかし、私はこれがどこから来るのか理解していません。見てくださいapt-cache dependencies。このパッケージはかなり良いようです。

mic@micserver:~$ apt-cache depends libvirt-daemon-system
libvirt-daemon-system
  Depends: adduser
  Depends: gettext-base
 |Depends: iptables
  Depends: firewalld
  Depends: libvirt-clients
  Depends: libvirt-daemon
  Depends: libvirt-daemon-config-network
  Depends: libvirt-daemon-config-nwfilter
 |Depends: libvirt-daemon-system-systemd
  Depends: libvirt-daemon-system-sysv
  Depends: logrotate
  Depends: policykit-1
 |Depends: debconf
  Depends: <debconf-2.0>
    cdebconf
    debconf
  Breaks: systemd-sysv
  Recommends: dmidecode
  Recommends: dnsmasq-base
  Recommends: iproute2
  Recommends: mdevctl
  Recommends: parted
  Suggests: apparmor
  Suggests: auditd
  Suggests: nfs-common
  Suggests: open-iscsi
  Suggests: pm-utils
  Suggests: radvd
  Suggests: systemd
  Suggests: systemtap
  Suggests: <zfsutils>

これらの依存関係を避けることはできますか?

答え1

はい、apt推奨パッケージを無視できます。

sudo apt install --no-install-recommends libvirt-daemon-system

これは厳格な依存関係のみを導入します。

推奨パッケージを完全に無視するのではなく、選択することをお勧めします。推奨パッケージは次のように定義されます。

異常なインストールを除くすべてのインストールでこのパッケージで見つかったパッケージです。

特定のパッケージの依存関係チェーンを参照するには、次のものを使用できますapt-rdepends

apt-rdepends -sDepends,PreDepends,Recommends libvirt-daemon-system | less

これにより、チェーン内のすべての推奨パッケージを確認し、インストールするかどうかを判断できます。たとえば、QEMU( qemu-system) が不要な場合や、LXC( libvirt-daemon-driver-lxc) のサポートが不要な場合があります。この場合、一部のパッケージを除く完全なインストールをリクエストできます。

sudo apt install libvirt-daemon-system qemu-system- libvirt-daemon-driver-lxc-

-インストールしないでくださいパッケージ名の後にあることに注意してください。これはapt指定されたパッケージを削除するように指示します(したがって、そのパッケージをインストールしないだけでなく、すでにインストールされている場合でも削除します)。

一見関係がないように見えるパッケージを引き付ける関係を理解するには、aptitude次のように質問します。たとえば、次のようになります。

$ aptitude why libvirt-daemon-system gsettings-desktop-schemas
i   libvirt-daemon-system     Depends    libvirt-daemon (= 7.0.0-3)       
i   libvirt-daemon            Recommends qemu-kvm | qemu-system (>= 0.9.1)
i   qemu-system               Depends    qemu-system-x86                  
i A qemu-system-x86           Depends    libspice-server1 (>= 0.14.2)     
i A libspice-server1          Recommends gstreamer1.0-plugins-good        
i A gstreamer1.0-plugins-good Depends    libsoup2.4-1 (>= 2.48)           
i A libsoup2.4-1              Depends    glib-networking (>= 2.32.0)      
i A glib-networking           Depends    gsettings-desktop-schemas        

関連情報