专有 nvidia 驱动程序的依赖列表有多疯狂?
我一直在尝试让 GUI LXC 容器工作,但那是另外一回事。这主要与此相关,因为这就是我希望驱动程序能够驱动显示器但不带来桌面所有功能的原因。
在尝试不同的驱动程序版本/源的过程中,我注意到 Gnome 一直在安装。事实上,即使是服务器版本的 nvidia 驱动程序也会引入一个疯狂的依赖项列表。我真的需要所有这些垃圾吗?我如何找出我真正需要的垃圾?这些垃圾来自 Nvidia 还是 Universe repo 维护者?
sudo apt install --dry-run nvidia-driver-470-server | less
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
acl adwaita-icon-theme apg aptdaemon aptdaemon-data aspell aspell-en
at-spi2-core avahi-daemon avahi-utils bluez bolt bubblewrap build-essential
cheese-common colord colord-data cpp cpp-9 cracklib-runtime cups-pk-helper
dbus-user-session dbus-x11 dconf-cli dconf-gsettings-backend dconf-service
dctrl-tools desktop-file-utils dictionaries-common dirmngr dkms
dns-root-data dnsmasq-base docbook-xml dpkg-dev emacsen-common enchant-2
evolution-data-server evolution-data-server-common fakeroot fontconfig
fprintd g++ g++-9 gcc gcc-9 gcc-9-base gcr gdm3 geoclue-2.0
gir1.2-accountsservice-1.0 gir1.2-atk-1.0 gir1.2-atspi-2.0
gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdesktopenums-3.0
gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0
gir1.2-gnomebluetooth-1.0 gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0
gir1.2-gtk-3.0 gir1.2-gweather-3.0 gir1.2-ibus-1.0 gir1.2-json-1.0
gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-notify-0.7
gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0
gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gir1.2-vte-2.91 gjs
gkbd-capplet glib-networking glib-networking-common glib-networking-services
gnome-control-center gnome-control-center-data gnome-control-center-faces
gnome-desktop3-data gnome-keyring gnome-keyring-pkcs11 gnome-menus
gnome-online-accounts gnome-session-bin gnome-session-common
gnome-settings-daemon gnome-settings-daemon-common gnome-shell
gnome-shell-common gnome-startup-applications gnome-user-docs gnupg
gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf
gpgsm gsettings-desktop-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-gl
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pulseaudio
gstreamer1.0-x gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme
hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 iio-sensor-proxy im-config
ippusbxd language-selector-gnome libaa1 libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libappindicator3-1
libappstream4 libarchive13 libasan5 libasound2-plugins libaspell15
libassuan0 libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data
libatomic1 libatspi2.0-0 libavahi-client3 libavahi-common-data
libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libbluetooth3
libboost-thread1.71.0 libc-dev-bin libc6-dev libcaca0 libcairo-gobject2
libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse
libcc1-0 libcdparanoia0 libcheese-gtk25 libcheese8 libclutter-1.0-0
libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0
libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord-gtk1
libcolord2 libcolorhug2 libcrack2 libcrypt-dev libcups2 libcurl3-gnutls
libdaemon0 libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1
libdpkg-perl libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
libdv4 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3
libecal-2.0-1 libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24
libedataserverui-1.2-2 libegl-mesa0 libegl1 libenchant-2-2 libepoxy0
libexif12 libfakeroot libfile-fcntllock-perl libflac8 libfontenc1
libfprint-2-2 libgail-common libgail18 libgbm1 libgcc-9-dev libgck-1-0
libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22
libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdm1
libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgl1 libgl1-mesa-dri
libglapi-mesa libgles2 libglib2.0-bin libglvnd0 libglx-mesa0 libglx0
libgnome-autoar-0-0 libgnome-bluetooth13 libgnome-desktop-3-19
libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common
libgoa-backend-1.0-1 libgomp1 libgphoto2-6 libgphoto2-l10n libgphoto2-port12
libgraphene-1.0-0 libgraphite2-3 libgsound0 libgssdp-1.2-0
libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0
libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin
libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtop-2.0-11
libgtop2-common libgupnp-1.2-0 libgupnp-av-1.0-2 libgupnp-dlna-2.0-3
libgusb2 libgweather-3-16 libgweather-common libharfbuzz-icu0 libharfbuzz0b
libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6 libidn11
libiec61883-0 libieee1284-3 libinput-bin libinput10 libisl22 libitm1
libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjbig0
libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libksba8
liblcms2-2 libldb2 libllvm12 liblsan0 libmbim-glib4 libmbim-proxy
libmediaart-2.0-0 libmm-glib0 libmozjs-68-0 libmp3lame0 libmpc3 libmpfr6
libmpg123-0 libmtdev1 libmutter-6-0 libmysqlclient21 libndp0
libnl-route-3-200 libnm0 libnma0 libnotify4 libnpth0 libnspr4 libnss-mdns
libnss3 libnvidia-cfg1-470-server libnvidia-common-470-server
libnvidia-compute-470-server libnvidia-decode-470-server
libnvidia-encode-470-server libnvidia-extra-470-server
libnvidia-fbc1-470-server libnvidia-gl-470-server libnvidia-ifr1-470-server
libopenjp2-7 libopus0 liborc-0.4-0 libpackagekit-glib2-18 libpam-fprintd
libpam-gnome-keyring libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpangoxft-1.0-0 libpcsclite1 libphonenumber7 libprotobuf17 libproxy1v5
libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality-common
libpwquality1 libqmi-glib5 libqmi-proxy libquadmath0 libraw1394-11
librest-0.7-0 librsvg2-2 librsvg2-common librygel-core-2.6-2
librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2
libsamplerate0 libsane libsane-common libsbc1 libsecret-1-0 libsecret-common
libshout3 libsm6 libsmbclient libsnapd-glib1 libsndfile1 libsnmp-base
libsnmp35 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libspeexdsp1
libstartup-notification0 libstdc++-9-dev libstemmer0d libtag1v5
libtag1v5-vanilla libtalloc2 libteamdctl0 libtevent0 libthai-data libthai0
libtheora0 libtiff5 libtsan0 libtwolame0 libubsan1 libudisks2-0 libv4l-0
libv4lconvert0 libvdpau1 libvisual-0.4-0 libvorbisenc2 libvpx6 libvte-2.91-0
libvte-2.91-common libvulkan1 libwacom-bin libwacom-common libwacom2
libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1
libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebp6 libwebpdemux2
libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwoff1
libx11-xcb1 libxatracker2 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0
libxcb-render-util0 libxcb-res0 libxcb-shape0 libxcb-sync1 libxcb-util1
libxcb-xfixes0 libxcb-xkb1 libxcb-xv0 libxcomposite1 libxcursor1 libxdamage1
libxfixes3 libxfont2 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0
libxkbcommon0 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxrandr2
libxshmfence1 libxslt1.1 libxss1 libxt6 libxtst6 libxv1 libxvmc1 libxxf86vm1
libyelp0 linux-libc-dev manpages-dev mesa-vdpau-drivers mesa-vulkan-drivers
mobile-broadband-provider-info modemmanager mousetweaks mutter mutter-common
mysql-common network-manager network-manager-gnome network-manager-pptp
nvidia-compute-utils-470-server nvidia-dkms-470-server
nvidia-kernel-common-470-server nvidia-kernel-source-470-server nvidia-prime
nvidia-settings nvidia-utils-470-server p11-kit p11-kit-modules packagekit
packagekit-tools patch pinentry-curses pinentry-gnome3 pkg-config ppp
pptp-linux pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
python3-aptdaemon python3-aptdaemon.gtk3widgets python3-cairo python3-cups
python3-cupshelpers python3-defer python3-ibus-1.0 python3-ldb
python3-macaroonbakery python3-protobuf python3-rfc3339 python3-talloc
python3-tz python3-xkit rtkit rygel samba-libs sane-utils
screen-resolution-extra session-migration sgml-base sgml-data
switcheroo-control system-config-printer system-config-printer-common
system-config-printer-udev ubuntu-docs ubuntu-mono ubuntu-session
ubuntu-wallpapers ubuntu-wallpapers-focal unzip update-inetd usb-modeswitch
usb-modeswitch-data vdpau-driver-all wamerican whoopsie-preferences
wpasupplicant x11-common x11-xkb-utils x11-xserver-utils xdg-dbus-proxy
xfonts-base xfonts-encodings xfonts-utils xml-core xserver-common
xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati
xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau
xserver-xorg-video-nvidia-470-server xserver-xorg-video-qxl
xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware
xwayland yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common
当我从 Nvidia 网站下载的 .run 文件进行安装时,我也得到了一些 Gnome。
我发现另一个软件包nvidia-headless-470-server
的依赖项列表要合理得多,但我确实需要它具有图形功能,因为它将驱动 GUI 应用程序。但最好使用没有窗口管理器的 X。
答案1
我猜 nvidia-settings 依赖项需要大多数其他依赖项。“nvidia-settings”是一个 GUI,并且只是推荐的依赖项。您的软件包安装程序可能有办法忽略“推荐”和“建议”依赖项。您也可以在从命令行安装软件包时使用正确的选项忽略它们。