ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

steam tries to remove essential system packages #7982

Closed christianrauch closed 2 years ago

christianrauch commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

When starting steam, it tries to install 3 32bit libraries:

Steam needs to install these additional packages:
    libgl1-mesa-dri:i386, libgl1:i386, libc6:i386

After entering the password and acknowledging this, it will try to remove essential packages:

WARNUNG: Die folgenden essentiellen Pakete werden entfernt.
Dies sollte NICHT geschehen, außer Sie wissen genau, was Sie tun!
  apt adduser (wegen apt) gpgv (wegen apt) libapt-pkg6.0 (wegen apt) libc6 (wegen apt) libgcc-s1 (wegen apt) libgnutls30 (wegen apt) libseccomp2 (wegen apt) libstdc++6 (wegen apt)
  libsystemd0 (wegen apt) base-files libcrypt1 (wegen base-files) base-passwd libdebconfclient0 (wegen base-passwd) bash libtinfo6 (wegen bash) debianutils (wegen bash) bsdutils
  coreutils libacl1 (wegen coreutils) libattr1 (wegen coreutils) libselinux1 (wegen coreutils) dash dpkg (wegen dash) debconf (wegen dash) diffutils libbz2-1.0 (wegen dpkg)
  liblzma5 (wegen dpkg) libzstd1 (wegen dpkg) zlib1g (wegen dpkg) tar (wegen dpkg) e2fsprogs libblkid1 (wegen e2fsprogs) libcom-err2 (wegen e2fsprogs) libext2fs2 (wegen e2fsprogs)
  libss2 (wegen e2fsprogs) libuuid1 (wegen e2fsprogs) logsave (wegen e2fsprogs) fdisk libfdisk1 (wegen fdisk) libmount1 (wegen fdisk) libncursesw6 (wegen fdisk)
  libsmartcols1 (wegen fdisk) findutils grep libpcre3 (wegen grep) install-info (wegen grep) gzip hostname init systemd-sysv (wegen init) init-system-helpers (wegen init)
  perl-base (wegen init-system-helpers) libc-bin login libaudit1 (wegen login) libpam0g (wegen login) libpam-runtime (wegen login) libpam-modules (wegen login) mount
  util-linux (wegen mount) ncurses-bin sed shim-signed grub-efi-amd64-signed (wegen shim-signed) grub2-common (wegen shim-signed) mokutil (wegen shim-signed)
  sbsigntool (wegen shim-signed) sysvinit-utils libcap-ng0 (wegen util-linux) libudev1 (wegen util-linux)

Amongst others, it is trying to remove the package manager, the standard C library, the boot loader and the init system. I am 100% certain that this will screw my Ubuntu installation.

Don't you think it's time to provide 64bit builds of steam or at least ship your own 32bit libraries? Messing with the operating system on this level is ridiculous.

Steps for reproducing this issue:

  1. run steam
kisak-valve commented 3 years ago

Hello @christianrauch, not letting apt proceed in this case is definitely the right answer. This is a distro packaging issue, not a Steam client issue.

Steam provides the majority of libraries needed by itself and Steam games in the Steam runtime, but it needs the host system to provide libc and a sane 32 bit OpenGL video driver stack.

In general, apt requires that the 32 bit variant and 64 bit variant of a package have exactly the same version, and it doesn't like to downgrade packages ever, so if you added a PPA which updated libgl1-mesa-dri or a dependency of it like libllvm12, or some installed package was downgraded in Ubuntu's package repository and your system was not downgraded to match that version, which could lead to this scenario.

You could try to run something like sudo apt install libgl1-mesa-dri libgl1-mesa-dri:i386, see if apt sanely wants to add mesa's 32 bit libraries, and use something like apt policy libgl1-mesa-dri libgl1-mesa-dri:i386 to inspect what package versions are available, then repeat as needed with the package's dependencies until you find the package that has an installed version and doesn't have an exactly matching 32 bit variant available.

christianrauch commented 3 years ago

apt policy libc6 shows me indeed that I have a newer libc6 version installed than what is available on the Ubuntu repos:

libc6:
  Installiert:           2.31-0ubuntu9.3
  Installationskandidat: 2.31-0ubuntu9.3
  Versionstabelle:
 *** 2.31-0ubuntu9.3 100
        100 /var/lib/dpkg/status
     2.31-0ubuntu9.2 500
        500 http://de.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages

I have version 2.31-0ubuntu9.3 installed, while only version 2.31-0ubuntu9.2 is available from the focal-updates repo.

This might have happened either when I had a ppa installed or use the "proposed" repo for testing. However, I used ppa-purge to remove the ppa and apt search ~o (lists orphaned packages) does not list packages without a repo.

I could only rectify this by forcing version 2.31-0ubuntu9.2 from the repo:

sudo apt install libc6=2.31-0ubuntu9.2 libc6-dev=2.31-0ubuntu9.2

Is there a way steam can make sure that only versions form the repo are installed? Otherwise, this could end catastrophically for users that are not so familiar with the package system. I think you can somehow pin package versions or package sources to prevent issues with manual updates.

smcv commented 3 years ago

Don't you think it's time to provide 64bit builds of steam

Even if Steam itself was 64-bit, it would still need a 32-bit glibc and graphics drivers, otherwise 32-bit games like Team Fortress 2 will not be runnable.

or at least ship your own 32bit libraries?

It is not possible to do this more than the Steam Runtime already does. The ELF interpreter path /lib/ld-linux.so.2 is part of the x86 Linux ABI (it's hard-coded into every 32-bit dynamic binary), so we have to rely on the operating system to provide it; but the ELF interpreter is part of glibc and must be the same version as the actual library libc.so.6, so we have to rely on the operating system to provide that too.

In general, apt requires that the 32 bit variant and 64 bit variant of a package have exactly the same version

Yes, that's the root cause here: the multiarch feature in apt does not allow for version-skew between 32- and 64-bit packages (for very good reasons!), but on your system, because you had installed a new glibc version and then removed the apt source that it came from, it was impossible to arrange for this to happen without downgrading, which apt tries hard to avoid because apt-based distributions do not officially support downgrades.

Is there a way steam can make sure that only versions form the repo are installed?

Maybe. If we do a command-line like the equivalent of

sudo apt install libc6:amd64 libc6:i386

(and the same for all the Mesa libraries that we need), then that might hint apt into either doing the right thing, or if it cannot, refusing to take action and failing cleanly.

christianrauch commented 3 years ago

Thanks @smcv for this explanation. I always assumed the 32bit libraries are just for the Steam client and that games would either ship their own dependencies or use the Steam Linux runtime. If /lib/ld-linux.so.2 is hardcoded and tight to the libc version, then this all makes sense. I thought that running and linking executables is separate from libc, since you can create executables with languages other than C.

How do containerised formats like flatpak and snap solve this issue? After all, they don't require to install the :i386 packages.

smcv commented 3 years ago

How do containerised formats like flatpak and snap solve this issue?

They ship their own complete operating system stack, including glibc and graphics drivers (which leads to its own problems, but avoids this particular issue). Everything in this space has trade-offs between advantages and disadvantages. If there was a distribution mechanism that was unquestionably better in every way, then we'd be using that - but there isn't, so we have to choose from among the imperfect mechanisms that are available, including .deb and Flatpak.

If you want to install Steam as a Flatpak app, there is an unofficial Flatpak app available on Flathub, and it avoids this. However, it has some regressions and limitations when compared with the official non-containerized Steam, and is not officially supported by Valve.

smcv commented 3 years ago

apt policy libc6 shows me indeed that I have a newer libc6 version installed than what is available on the Ubuntu repos

This is not a situation that we can safely make work: anyone else who gets into this situation will have to solve it themselves. However, the new steam-launcher version 1.0.0.72 package (currently a public beta) will fail in a safer way.

If we do a command-line like the equivalent of

sudo apt install libc6:amd64 libc6:i386

(and the same for all the Mesa libraries that we need), then that might hint apt into either doing the right thing, or if it cannot, refusing to take action and failing cleanly.

We've made that change.

In that version, we also use apt-get --no-remove to force apt not to consider removing packages as a possible solution.

In your situation, the apt command would now fail with unsatisfiable dependencies, instead of removing important packages.

edraft commented 2 years ago

I don't know why but maybe one of you can explain that to me. When I send the command apt install libgcc-s1:i386 libc6:i386

this happens:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  alsa-topology-conf alsa-ucm-conf amd64-microcode apport-symptoms aptdaemon-data binutils-common brave-keyring colord-data cups-common cups-server-common distro-info-data dns-root-data emacsen-common
  espeak-ng-data evince-common fonts-dejavu-extra fonts-gargi fonts-gujr-extra fonts-inter fonts-lohit-deva fonts-lohit-gujr fonts-lohit-mlym fonts-nakula fonts-noto-mono fonts-sahadeva fonts-samyak-deva
  fonts-samyak-gujr fonts-samyak-mlym fonts-sarai fonts-smc-anjalioldlipi fonts-smc-chilanka fonts-smc-dyuthi fonts-smc-gayathri fonts-smc-karumbi fonts-smc-keraleeyam fonts-smc-manjari fonts-smc-meera
  fonts-smc-rachana fonts-smc-raghumalayalamsans fonts-smc-suruma fonts-smc-uroob fonts-urw-base35 fonts-yrsa-rasa gcc-9-base gir1.2-gdesktopenums-3.0 git-man glib-networking-common gnome-control-center-faces
  gnome-desktop3-data gnome-session-common gnome-terminal-data gnome-themes-extra-data gnupg-l10n gsfonts hicolor-icon-theme imagemagick-6-common ipxe-qemu ipxe-qemu-256k-compat-efi-roms iso-codes java-common
  klibc-utils krb5-locales kwayland-data libamtk-5-common libao-common libasound2-data libatk1.0-data libavahi-common-data libclutter-1.0-common libcogl-common libdbusmenu-glib4 libdjvulibre-text libdrm-common
  libexttextcat-data libgdata-common libgdk-pixbuf2.0-common libglib2.0-data libgnome-games-support-common libgnome-todo libgpg-error-l10n libgphoto2-l10n libgs9-common libgsf-1-common libgspell-1-common
  libgtk2.0-common libgtksourceview-4-common libgtop2-common libjson-glib-1.0-common libkf5auth-data libkf5codecs-data libkf5config-data libkf5coreaddons-data libkf5dbusaddons-data libkf5globalaccel-data
  libkf5i18n-data libkf5iconthemes-data libkf5itemviews-data libkf5widgetsaddons-data libkf5windowsystem-data libkf5xmlgui-data libklibc liblangtag-common libldap-common liblouis-data liblouisutdml-data
  libmagic-mgc libmtp-common libpeas-common libphodav-2.0-common libpthread-stubs0-dev libpwquality-common libpython2.7-minimal libqt5webengine-data libreoffice-style-colibre libreoffice-style-elementary
  libridl-java libsecret-common libsensors-config libsnmp-base libthai-data libtirpc-common libtotem-plparser-common libunity-scopes-json-def-desktop libunoloader-java libwacom-common libwnck-3-common
  libx11-data libx11-xcb1 libzvbi-common linux-libc-dev manpages-dev mobile-broadband-provider-info mysql-common nextcloud-desktop-common nextcloud-desktop-l10n osinfo-db ovmf pci.ids powermgmt-base
  publicsuffix python-apt-common qemu-system-data qttranslations5-l10n remmina-common seabios sound-icons sound-theme-freedesktop syslinux-common transmission-common usb-modeswitch-data usb.ids wireless-regdb
  x11-common x11proto-core-dev x11proto-dev x11proto-scrnsaver-dev x11proto-xext-dev xbitmaps xfonts-encodings xorg-docs-core xorg-sgml-doctools xtrans-dev yelp-xsl zenity-common
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  gcc-10-base:i386 libcrypt1:i386 libidn2-0:i386 libunistring2:i386
Vorgeschlagene Pakete:
  glibc-doc:i386 debconf:i386 | debconf-2.0:i386 locales:i386
Die folgenden Pakete werden ENTFERNT:
  accountsservice acl acpi-support acpid adduser adwaita-icon-theme aisleriot alsa-base alsa-utils anacron apg apparmor apport apport-gtk appstream apt apt-config-icons apt-config-icons-hidpi
  apt-transport-https apt-utils aptdaemon apturl apturl-common aspell aspell-en at-spi2-core avahi-autoipd avahi-daemon avahi-utils baobab barrier base-files base-passwd bash bc bind9-dnsutils bind9-host
  bind9-libs binutils binutils-x86-64-linux-gnu blueman bluez bluez-cups bluez-obexd bolt brave-browser brltty bsdmainutils bsdutils btrfs-progs bubblewrap build-essential busybox-initramfs bzip2 bzip2-doc
  ca-certificates ca-certificates-java chafa cheese cheese-common chrome-gnome-shell code colord command-not-found console-setup console-setup-linux coreutils cpio cpp cpp-11 cpp-9 cpu-checker cracklib-runtime
  crda cron cups cups-browsed cups-bsd cups-client cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc curl dash dbus dbus-user-session dbus-x11 dc
  dconf-cli dconf-gsettings-backend dconf-service dctrl-tools debconf debconf-i18n debianutils default-jre default-jre-headless deja-dup desktop-file-utils dictionaries-common diffutils dirmngr discord
  distro-info dkms dmeventd dmidecode dmsetup dnsmasq-base dnsutils docbook-xml dosfstools dpkg dpkg-dev duplicity e2fsprogs ed efibootmgr eject enchant-2 eog evince evolution-data-server
  evolution-data-server-common fakeroot fdisk file file-roller findutils firefox flameshot folks-common fontconfig fontconfig-config fonts-deva fonts-deva-extra fonts-droid-fallback fonts-gujr fonts-indic
  fonts-kacst fonts-kacst-one fonts-kalapi fonts-mlym fonts-smc foomatic-db-compressed-ppds fprintd freerdp2-x11 friendly-recovery ftp fuse fwupd fwupd-signed g++ g++-11 g++-9 gamemode gcc gcc-11 gcc-9
  gconf-service gconf-service-backend gconf2-common gcr gdb gdbserver gdisk gdm3 geary gedit gedit-common genisoimage geoclue-2.0 gettext-base ghostscript ghostscript-x gir1.2-accountsservice-1.0
  gir1.2-appindicator3-0.1 gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-ayatanaappindicator3-0.1 gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-dbusmenu-glib-0.4 gir1.2-dee-1.0
  gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-glib-2.0 gir1.2-gmenu-3.0 gir1.2-gnomebluetooth-1.0 gir1.2-gnomedesktop-3.0 gir1.2-goa-1.0
  gir1.2-graphene-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-gtkclutter-1.0 gir1.2-gtksource-4 gir1.2-gudev-1.0 gir1.2-gweather-3.0 gir1.2-handy-0.0 gir1.2-ibus-1.0
  gir1.2-javascriptcoregtk-4.0 gir1.2-json-1.0 gir1.2-keybinder-3.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-peas-1.0 gir1.2-polkit-1.0
  gir1.2-rb-3.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-soup-2.4 gir1.2-totem-1.0 gir1.2-totemplparser-1.0 gir1.2-udisks-2.0 gir1.2-unity-5.0 gir1.2-upowerglib-1.0 gir1.2-vte-2.91
  gir1.2-webkit2-4.0 gir1.2-wnck-3.0 git gjs gkbd-capplet glib-networking glib-networking-services gnome-bluetooth gnome-boxes gnome-calculator gnome-calendar gnome-characters gnome-control-center
  gnome-control-center-data gnome-disk-utility gnome-font-viewer gnome-getting-started-docs gnome-getting-started-docs-de gnome-initial-setup gnome-keyring gnome-keyring-pkcs11 gnome-logs gnome-mahjongg
  gnome-menus gnome-mines gnome-online-accounts gnome-power-manager gnome-screenshot gnome-session-bin gnome-session-canberra gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common
  gnome-shell-extension-appindicator gnome-shell-extension-desktop-icons gnome-shell-extension-prefs gnome-shell-extension-ubuntu-dock gnome-startup-applications gnome-sudoku gnome-system-monitor
  gnome-terminal gnome-themes-extra gnome-todo gnome-todo-common gnome-tweaks gnome-user-docs gnome-user-docs-de gnome-video-effects gnupg gnupg-utils google-chrome-stable gpg gpg-agent gpg-wks-client
  gpg-wks-server gpgconf gpgsm gpgv gpick grep grilo-plugins-0.3-base groff-base grub-common grub-efi-amd64-bin grub-efi-amd64-signed grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common
  gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-alsa gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-packagekit gstreamer1.0-plugins-base
  gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x gtk-update-icon-cache gtk2-engines-murrine gtk2-engines-pixbuf guile-2.2-libs gvfs
  gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-fuse gvfs-libs gzip hdparm hostname hplip hplip-data htop humanity-icon-theme hunspell-de-at-frami hunspell-de-ch-frami hunspell-de-de-frami
  hunspell-en-us hyphen-de hyphen-en-us i965-va-driver ibus ibus-data ibus-gtk ibus-gtk3 ibus-table ibverbs-providers iftop iio-sensor-proxy im-config info init init-system-helpers initramfs-tools
  initramfs-tools-bin initramfs-tools-core inputattach install-info intel-media-va-driver intel-microcode ippusbxd iproute2 iptables iputils-ping iputils-tracepath irqbalance isc-dhcp-client isc-dhcp-common
  iucode-tool iw kbd kcolorchooser keepassxc kerneloops keyboard-configuration kmod kwayland-integration language-pack-de language-pack-de-base language-pack-gnome-de language-pack-gnome-de-base
  language-selector-common language-selector-gnome less libaa1 libaacs0 libabw-0.1-1 libaccountsservice0 libacl1 libaio1 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libamtk-5-0
  libao4 libaom0 libapparmor1 libappindicator1 libappindicator3-1 libappstream4 libapt-pkg6.0 libarchive13 libargon2-1 libasan5 libasan6 libasn1-8-heimdal libasound2 libasound2-plugins libaspell15 libassuan0
  libasyncns0 libatasmart4 libatk-adaptor libatk-bridge2.0-0 libatk-wrapper-java libatk-wrapper-java-jni libatk1.0-0 libatkmm-1.6-1v5 libatm1 libatomic1 libatopology2 libatspi2.0-0 libattr1 libaudit1
  libauthen-sasl-perl libavahi-client3 libavahi-common3 libavahi-compat-libdnssd1 libavahi-core7 libavahi-glib1 libavahi-ui-gtk3-0 libavc1394-0 libavcodec58 libavformat58 libavutil56 libayatana-appindicator3-1
  libayatana-indicator3-7 libbabeltrace1 libbdplus0 libbinutils libblkid1 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2
  libblockdev2 libbluetooth3 libbluray2 libboost-date-time1.71.0 libboost-filesystem1.67.0 libboost-filesystem1.71.0 libboost-iostreams1.71.0 libboost-locale1.71.0 libboost-system1.67.0 libboost-thread1.71.0
  libbrlapi0.7 libbrotli1 libbsd0 libbz2-1.0 libbz2-dev libc++1 libc++1-10 libc++abi1-10 libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libcaca0 libcacard0 libcairo-gobject-perl libcairo-gobject2
  libcairo-perl libcairo2 libcairomm-1.0-1v5 libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcap-ng0 libcap2 libcap2-bin libcbor0.6 libcc1-0 libcdio-cdda2
  libcdio-paranoia2 libcdio18 libcdparanoia0 libcdr-0.1-1 libchafa0 libcheese-gtk25 libcheese8 libchromaprint1 libcloudproviders0 libclucene-contribs1v5 libclucene-core1v5 libclutter-1.0-0 libclutter-gst-3.0-0
  libclutter-gtk-1.0-0 libcmis-0.5-5v5 libcodec2-0.9 libcogl-pango20 libcogl-path20 libcogl20 libcolamd2 libcolord-gtk1 libcolord2 libcolorhug2 libcom-err2 libcrack2 libcrypt-dev libcrypt1 libcryptsetup12
  libctf-nobfd0 libctf0 libcue2 libcups2 libcupsfilters1 libcupsimage2 libcurl3-gnutls libcurl4 libdaemon0 libdata-dump-perl libdatrie1 libdazzle-1.0-0 libdb5.3 libdbus-1-3 libdbus-glib-1-2 libdbusmenu-gtk3-4
  libdbusmenu-gtk4 libdconf1 libdebconfclient0 libdee-1.0-4 libdevmapper-event1.02.1 libdevmapper1.02.1 libdjvulibre21 libdmapsharing-3.0-2 libdns-export1109 libdotconf0 libdouble-conversion3 libdpkg-perl
  libdrm-amdgpu1 libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4 libdw1 libe-book-0.1-1 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 libedit2 libefiboot1 libefivar1 libegl-mesa0 libegl1 libelf1 libenchant-2-2 libencode-locale-perl libeot0 libepoxy0 libepubgen-0.1-1
  liberror-perl libespeak-ng1 libestr0 libetonyek-0.1-1 libevdev2 libevdocument3-4 libevent-2.1-7 libevview3-3 libexempi8 libexif12 libexiv2-27 libexpat1 libexpat1-dev libext2fs2 libexttextcat-2.0-0
  libextutils-depends-perl libextutils-pkgconfig-perl libfakeroot libfam0 libfastjson4 libfdisk1 libfdt1 libffi-dev libffi7 libfftw3-double3 libfftw3-single3 libfido2-1 libfile-basedir-perl
  libfile-desktopentry-perl libfile-fcntllock-perl libfile-listing-perl libfile-mimeinfo-perl libflac8 libfolks-eds25 libfolks25 libfont-afm-perl libfontconfig1 libfontconfig1-dev libfontembed1 libfontenc1
  libfprint-2-2 libfprint-2-tod1 libfreehand-0.1-1 libfreerdp-client2-2 libfreerdp2-2 libfreetype-dev libfreetype6 libfreetype6-dev libfribidi0 libfuse2 libfwupd2 libfwupdplugin1 libgail-common libgail18
  libgamemode0 libgamemodeauto0 libgbm1 libgc1c2 libgcab-1.0-0 libgcc-11-dev libgcc-9-dev libgcc-s1 libgck-1-0 libgconf-2-4 libgcr-base-3-1 libgcr-ui-3-1 libgcrypt20 libgd3 libgdata22 libgdbm-compat4
  libgdbm-dev libgdbm6 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdm1 libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgexiv2-2 libgif7 libgirepository-1.0-1 libgjs0g libgl1 libgl1-mesa-dri libglapi-mesa
  libgles2 libglib-object-introspection-perl libglib-perl libglib2.0-0 libglib2.0-bin libglibmm-2.4-1v5 libglu1-mesa libglvnd0 libglx-mesa0 libglx0 libgme0 libgmime-3.0-0 libgmp10 libgnome-autoar-0-0
  libgnome-bluetooth13 libgnome-desktop-3-19 libgnome-games-support-1-3 libgnome-menu-3-0 libgnomekbd-common libgnomekbd8 libgnutls30 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgom-1.0-0 libgomp1
  libgpg-error0 libgpgme11 libgpgmepp6 libgphoto2-6 libgphoto2-port12 libgpm2 libgpod-common libgpod4 libgraphene-1.0-0 libgraphite2-3 libgrilo-0.3-0 libgs9 libgsf-1-114 libgsm1 libgsound0 libgspell-1-2
  libgssapi-krb5-2 libgssapi3-heimdal 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
  libgtk-vnc-2.0-0 libgtk2.0-0 libgtk2.0-bin libgtk3-perl libgtkmm-3.0-1v5 libgtksourceview-4-0 libgtop-2.0-11 libgudev-1.0-0 libgupnp-1.2-0 libgupnp-av-1.0-2 libgupnp-dlna-2.0-3 libgusb2 libgvnc-1.0-0
  libgweather-3-16 libgweather-common libgxps2 libhandy-0.0-0 libharfbuzz-icu0 libharfbuzz0b libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhogweed5 libhpmud0 libhtml-form-perl
  libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhunspell-1.7-0
  libhx509-5-heimdal libhyphen0 libibus-1.0-5 libibverbs1 libical3 libice-dev libice6 libicu66 libidn11 libidn2-0 libiec61883-0 libieee1284-3 libigdgmm11 libijs-0.35 libimagequant0 libimobiledevice6
  libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libio-stringy-perl libip4tc2 libip6tc2 libipc-system-simple-perl libisc-export1105 libiscsi7 libisl22 libisl23 libitm1 libiw30 libjack-jackd2-0
  libjansson4 libjavascriptcoregtk-4.0-18 libjbig0 libjbig2dec0 libjcat1 libjpeg-turbo8 libjpeg8 libjson-c4 libjson-glib-1.0-0 libjuh-java libjurt-java libk5crypto3 libkeybinder-3.0-0 libkeyutils1
  libkf5archive5 libkf5attica5 libkf5authcore5 libkf5codecs5 libkf5config-bin libkf5configcore5 libkf5configgui5 libkf5configwidgets-data libkf5configwidgets5 libkf5coreaddons5 libkf5crash5
  libkf5dbusaddons-bin libkf5dbusaddons5 libkf5globalaccel-bin libkf5globalaccel5 libkf5globalaccelprivate5 libkf5guiaddons5 libkf5i18n5 libkf5iconthemes-bin libkf5iconthemes5 libkf5idletime5 libkf5itemviews5
  libkf5waylandclient5 libkf5widgetsaddons5 libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui5 libkmod2 libkpathsea6 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libksba8 liblangtag1 liblcms2-2 liblcms2-utils
  libldap-2.4-2 libldb2 liblirc-client0 libllvm13 libllvm9 liblmdb0 liblocale-gettext-perl liblouis20 liblouisutdml-bin liblouisutdml9 liblqr-1-0 liblsan0 libltdl7 liblua5.2-0 liblua5.3-0 liblvm2cmd2.03
  liblwp-mediatypes-perl liblwp-protocol-https-perl liblz4-1 liblzma5 liblzo2-2 libmagic1 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmailtools-perl libmaxminddb0 libmbim-glib4 libmbim-proxy
  libmediaart-2.0-0 libmessaging-menu0 libmhash2 libminiupnpc17 libminizip1 libmm-glib0 libmnl0 libmount1 libmozjs-68-0 libmp3lame0 libmpc3 libmpdec2 libmpfr6 libmpg123-0 libmspub-0.1-1 libmtdev1
  libmtp-runtime libmtp9 libmutter-6-0 libmwaw-0.3-3 libmysqlclient21 libmythes-1.2-0 libnatpmp1 libnautilus-extension1a libncurses-dev libncurses5-dev libncurses6 libncursesw5-dev libncursesw6 libndp0
  libneon27-gnutls libnet-dbus-perl libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnetfilter-conntrack3 libnetplan0 libnettle7 libnewt0.52 libnextcloudsync0 libnfnetlink0 libnfs13 libnftnl11
  libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm0 libnma0 libnotify-bin libnotify4 libnpth0 libnsl-dev libnsl2 libnspr4 libnspr4-dev libnss-mdns libnss-nis libnss-nisplus libnss-systemd
  libnss3 libnss3-dev libntfs-3g883 libnuma1 libodfgen-0.1-1 libogg0 libopenjp2-7 libopenmpt0 libopus0 liborc-0.4-0 liborcus-0.15-0 libosinfo-1.0-0 libosinfo-bin libp11-kit0 libpackagekit-glib2-18
  libpagemaker-0.0-0 libpam-cap libpam-fprintd libpam-gnome-keyring libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper-utils libpaper1 libparted-fs-resize0 libparted2 libpcap0.8 libpcaudio0 libpci3 libpciaccess-dev libpciaccess0 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre3
  libpcsclite1 libpeas-1.0-0 libperl5.30 libphodav-2.0-0 libphonenumber7 libpipeline1 libpixman-1-0 libpkcs11-helper1 libplist3 libplymouth5 libpmem1 libpng-dev libpng-tools libpng16-16 libpolkit-agent-1-0
  libpolkit-gobject-1-0 libpolkit-qt5-1-1 libpoppler-cpp0v5 libpoppler-glib8 libpoppler97 libpopt0 libprocps8 libprotobuf17 libproxy1-plugin-gsettings libproxy1-plugin-networkmanager libproxy1v5 libpsl5
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libpwquality1 libpython2-stdlib libpython2.7-stdlib libpython3-dev libpython3-stdlib libpython3.8 libpython3.8-dev libpython3.8-minimal libpython3.8-stdlib
  libqmi-glib5 libqmi-proxy libqpdf26 libqqwing2v5 libqrencode4 libqt5charts5 libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5keychain1 libqt5network5 libqt5positioning5 libqt5printsupport5
  libqt5qml5 libqt5quick5 libqt5quickwidgets5 libqt5sensors5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5waylandclient5 libqt5waylandcompositor5 libqt5webchannel5 libqt5webenginecore5 libqt5webenginewidgets5
  libqt5webkit5 libqt5widgets5 libqt5x11extras5 libqt5xml5 libquadmath0 librados2 libraptor2-0 librasqal3 libraw1394-11 libraw19 librbd1 librdf0 librdmacm1 libre2-5 libreadline-dev libreadline5 libreadline8
  libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk3 libreoffice-help-common libreoffice-help-de libreoffice-help-en-us
  libreoffice-impress libreoffice-l10n-de libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-writer librest-0.7-0 librevenge-0.0-0 librhythmbox-core10 libroken18-heimdal librsvg2-2
  librsvg2-common librsync2 librtmp1 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsamplerate0 libsane libsane-common libsane-hpaio libsasl2-2 libsasl2-modules
  libsasl2-modules-db libsass1 libsbc1 libseccomp2 libsecret-1-0 libselinux1 libsemanage1 libsensors5 libsepol1 libsgutils2-2 libshine3 libshout3 libsigc++-2.0-0v5 libslang2 libslirp0 libsm-dev libsm6
  libsmartcols1 libsmbclient libsmbios-c2 libsnapd-glib1 libsnappy1v5 libsndfile1 libsnmp35 libsodium23 libsonic0 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspectre1 libspeechd2 libspeex1 libspeexdsp1
  libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libspice-server1 libsqlite3-0 libsqlite3-dev libss2 libssh-4 libssh-gcrypt-4 libssl-dev libssl1.1 libstartup-notification0 libstdc++-11-dev
  libstdc++-9-dev libstdc++6 libstemmer0d libsub-name-perl libsuitesparseconfig5 libswresample3 libsynctex2 libsysmetrics1 libsystemd0 libtag1v5 libtag1v5-vanilla libtalloc2 libtasn1-6 libtcl8.6 libtdb1
  libteamdctl0 libtepl-4-0 libtevent0 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai0 libtheora0 libtie-ixhash-perl libtiff5 libtimedate-perl libtinfo6 libtirpc-dev libtirpc3 libtk8.6
  libtotem-plparser18 libtotem0 libtracker-control-2.0-0 libtracker-miner-2.0-0 libtracker-sparql-2.0-0 libtry-tiny-perl libtsan0 libtss2-esys0 libtwolame0 libu2f-udev libubsan1 libuchardet0 libudev1
  libudisks2-0 libunistring2 libunity-protocol-private0 libunity9 libuno-cppu3 libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libunwind8 libupower-glib3 liburi-perl
  libusb-1.0-0 libusbmuxd6 libusbredirhost1 libusbredirparser1 libuuid1 libuv1 libv4l-0 libv4lconvert0 libva-drm2 libva-x11-2 libva2 libvdpau1 libvirglrenderer1 libvirt-daemon libvirt-daemon-driver-qemu
  libvirt-daemon-driver-storage-rbd libvirt-glib-1.0-0 libvirt0 libvisio-0.1-1 libvisual-0.4-0 libvncclient1 libvolume-key1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx6 libvte-2.91-0 libvte-2.91-common
  libvulkan1 libwacom-bin libwacom2 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebp6 libwebpdemux2 libwebpmux3
  libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwind0-heimdal libwinpr2-2 libwmf0.2-7 libwmf0.2-7-gtk libwnck-3-0 libwoff1 libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libwrap0 libwww-perl
  libwww-robotrules-perl libx11-6 libx11-dev libx11-protocol-perl libx264-155 libx265-179 libxatracker2 libxau-dev libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0
  libxcb-keysyms1 libxcb-present0 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-res0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1
  libxcb-xv0 libxcb1 libxcb1-dev libxcomposite1 libxcursor1 libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxfont2 libxft-dev libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0
  libxkbfile1 libxklavier16 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxml2 libxml2-utils libxmlb1 libxmlsec1 libxmlsec1-nss libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender-dev libxrender1
  libxres1 libxshmfence1 libxslt1.1 libxss-dev libxss1 libxt-dev libxt6 libxtables12 libxtst6 libxv1 libxvidcore4 libxvmc1 libxxf86dga1 libxxf86vm1 libyajl2 libyaml-0-2 libyelp0 libykpers-1-1 libytnef0
  libyubikey-udev libyubikey0 libzstd1 libzvbi0 libzxcvbn0 linux-base linux-generic-hwe-20.04 linux-headers-5.11.0-27-generic linux-headers-5.11.0-41-generic linux-headers-generic-hwe-20.04
  linux-hwe-5.11-headers-5.11.0-27 linux-hwe-5.11-headers-5.11.0-41 linux-image-5.11.0-27-generic linux-image-5.11.0-41-generic linux-image-generic-hwe-20.04 linux-modules-5.11.0-27-generic
  linux-modules-5.11.0-41-generic linux-modules-extra-5.11.0-27-generic linux-modules-extra-5.11.0-41-generic linux-sound-base locales login logrotate logsave lp-solve lsb-release lshw lsof ltrace lvm2 lz4
  make man-db mawk media-player-info memtest86+ mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers minecraft-launcher mlocate modemmanager mokutil mount mousetweaks mscompress msr-tools mtools mtr-tiny
  mutter mutter-common mythes-en-us nano nautilus nautilus-data nautilus-extension-gnome-terminal nautilus-sendto nautilus-share ncdu ncurses-bin net-tools netcat-openbsd netplan.io network-manager
  network-manager-config-connectivity-ubuntu network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome networkd-dispatcher nextcloud-desktop
  ntfs-3g ocl-icd-libopencl1 openjdk-11-jre openjdk-11-jre-headless openprinting-ppds openssh-client openssl openvpn orca os-prober p11-kit p11-kit-modules packagekit packagekit-tools parted passwd patch
  pciutils pcmciautils perl perl-base perl-modules-5.30 perl-openssl-defaults pinentry-curses pinentry-gnome3 pkg-config plymouth plymouth-label plymouth-theme-spinner plymouth-theme-ubuntu-text policykit-1
  poppler-data poppler-utils popularity-contest ppp pptp-linux printer-driver-brlaser printer-driver-c2esp printer-driver-foo2zjs printer-driver-foo2zjs-common printer-driver-hpcups printer-driver-m2300w
  printer-driver-min12xxw printer-driver-pnm2ppa printer-driver-postscript-hp printer-driver-ptouch printer-driver-pxljr printer-driver-sag-gdi printer-driver-splix procps psmisc pulseaudio
  pulseaudio-module-bluetooth pulseaudio-utils python-apt python-pip-whl python-pkg-resources python2 python2-minimal python2.7 python2.7-minimal python3 python3-apport python3-apt python3-aptdaemon
  python3-aptdaemon.gtk3widgets python3-bcrypt python3-blinker python3-brlapi python3-cairo python3-certifi python3-cffi-backend python3-chardet python3-click python3-colorama python3-commandnotfound
  python3-cryptography python3-cups python3-cupshelpers python3-dateutil python3-dbus python3-debconf python3-debian python3-defer python3-dev python3-distro python3-distro-info python3-distupgrade
  python3-distutils python3-entrypoints python3-fasteners python3-future python3-gdbm python3-gi python3-gi-cairo python3-httplib2 python3-ibus-1.0 python3-idna python3-jwt python3-keyring python3-launchpadlib
  python3-lazr.restfulclient python3-lazr.uri python3-ldb python3-levenshtein python3-lib2to3 python3-lockfile python3-louis python3-macaroonbakery python3-mako python3-markupsafe python3-minimal
  python3-monotonic python3-nacl python3-netifaces python3-oauthlib python3-olefile python3-paramiko python3-pexpect python3-pil python3-pip python3-pkg-resources python3-problem-report python3-protobuf
  python3-ptyprocess python3-pyatspi python3-pyinotify python3-pymacaroons python3-renderpm python3-reportlab python3-reportlab-accel python3-requests python3-requests-unixsocket python3-rfc3339
  python3-secretstorage python3-setuptools python3-simplejson python3-six python3-software-properties python3-speechd python3-systemd python3-talloc python3-tz python3-uno python3-update-manager
  python3-urllib3 python3-wadllib python3-websocket python3-wheel python3-xdg python3-xkit python3-yaml python3.8 python3.8-dev python3.8-minimal qemu-block-extra qemu-kvm qemu-system-common qemu-system-gui
  qemu-system-x86 qemu-utils qt5-gtk-platformtheme qtwayland5 readline-common remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-vnc rfkill rhythmbox rhythmbox-data
  rhythmbox-plugin-alternative-toolbar rhythmbox-plugins rpcsvc-proto rsync rsyslog rtkit rygel samba-libs sane-utils sassc sbsigntool seahorse secureboot-db sed session-migration sgml-base sgml-data
  shared-mime-info sharutils shim-signed shotwell shotwell-common simple-scan snapd software-properties-common software-properties-gtk speech-dispatcher speech-dispatcher-audio-plugins
  speech-dispatcher-espeak-ng spice-client-glib-usb-acl-helper spice-vdagent squashfs-tools sshpass ssl-cert stacer steam-launcher strace sublime-text sudo switcheroo-control syslinux syslinux-legacy
  system-config-printer system-config-printer-common system-config-printer-udev systemd systemd-sysv systemd-timesyncd sysvinit-utils tar tcl tcl-dev tcl8.6 tcl8.6-dev tcpdump telnet thermald
  thin-provisioning-tools thunderbird thunderbird-gnome-support thunderbird-locale-de time timeshift tk tk-dev tk8.6 tk8.6-dev totem totem-common totem-plugins tpm-udev tracker tracker-extract tracker-miner-fs
  transmission-gtk trash-cli tree tuxedo-control-center tuxedo-keyboard tzdata ubuntu-advantage-tools ubuntu-desktop ubuntu-desktop-minimal ubuntu-docs ubuntu-drivers-common ubuntu-minimal ubuntu-mono
  ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk ubuntu-report ubuntu-session ubuntu-settings ubuntu-standard ucf udev udisks2 ufw ulauncher unattended-upgrades uno-libs-private unzip update-inetd
  update-manager update-manager-core update-notifier update-notifier-common upower ure usb-creator-common usb-creator-gtk usb-modeswitch usbmuxd usbutils util-linux uuid-dev uuid-runtime va-driver-all valgrind
  vdpau-driver-all vim-common vim-tiny vino vulkan-tools wamerican wbritish wget whiptail whoopsie whoopsie-preferences wireless-tools wngerman wogerman wpasupplicant wswiss x11-apps x11-session-utils
  x11-utils x11-xkb-utils x11-xserver-utils xauth xbrlapi xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk xdg-user-dirs xdg-user-dirs-gtk xfonts-base xfonts-scalable xfonts-utils xinit xinput xml-core
  xorg 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-qxl xserver-xorg-video-radeon xserver-xorg-video-vesa
  xserver-xorg-video-vmware xul-ext-ubufox xwayland xxd xz-utils yaru-theme-gtk yelp zenity zip zlib1g zlib1g-dev
Die folgenden NEUEN Pakete werden installiert:
  gcc-10-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1:i386 libidn2-0:i386 libunistring2:i386
WARNUNG: Die folgenden essentiellen Pakete werden entfernt.
Dies sollte NICHT geschehen, außer Sie wissen genau, was Sie tun!
  apt adduser (wegen apt) gpgv (wegen apt) libapt-pkg6.0 (wegen apt) libc6 (wegen apt) libgcc-s1 (wegen apt) libgnutls30 (wegen apt) libseccomp2 (wegen apt) libstdc++6 (wegen apt) libsystemd0 (wegen apt)
  base-files libcrypt1 (wegen base-files) base-passwd libdebconfclient0 (wegen base-passwd) bash libtinfo6 (wegen bash) debianutils (wegen bash) bsdutils coreutils libacl1 (wegen coreutils)
  libattr1 (wegen coreutils) libselinux1 (wegen coreutils) dash dpkg (wegen dash) debconf (wegen dash) diffutils libbz2-1.0 (wegen dpkg) liblzma5 (wegen dpkg) libzstd1 (wegen dpkg) zlib1g (wegen dpkg)
  tar (wegen dpkg) e2fsprogs libblkid1 (wegen e2fsprogs) libcom-err2 (wegen e2fsprogs) libext2fs2 (wegen e2fsprogs) libss2 (wegen e2fsprogs) libuuid1 (wegen e2fsprogs) logsave (wegen e2fsprogs) fdisk
  libfdisk1 (wegen fdisk) libmount1 (wegen fdisk) libncursesw6 (wegen fdisk) libsmartcols1 (wegen fdisk) findutils grep libpcre3 (wegen grep) install-info (wegen grep) gzip hostname init
  systemd-sysv (wegen init) init-system-helpers (wegen init) perl-base (wegen init-system-helpers) libc-bin login libaudit1 (wegen login) libpam0g (wegen login) libpam-runtime (wegen login)
  libpam-modules (wegen login) mount util-linux (wegen mount) ncurses-bin sed shim-signed grub-efi-amd64-signed (wegen shim-signed) grub2-common (wegen shim-signed) mokutil (wegen shim-signed)
  sbsigntool (wegen shim-signed) sysvinit-utils libcap-ng0 (wegen util-linux) libudev1 (wegen util-linux)
0 aktualisiert, 6 neu installiert, 1733 zu entfernen und 0 nicht aktualisiert.
Es müssen 3161 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 7109 MB Plattenplatz freigegeben.
Sie sind im Begriff, etwas potentiell Schädliches zu tun.
Zum Fortfahren geben Sie bitte »Ja, tue was ich sage!« ein.
 ?]
kisak-valve commented 2 years ago

Hello @edraft, I would start by looking at the 32 bit and 64 bit variants of those two packages with something like apt policy libgcc-s1 libgcc-s1:i386 and apt policy libc6 libc6:i386. What you're looking for is an installed package that is newer than what is available in your distro's repositories.

Debian's multiarch implementation requires that arch variants of a package must have exactly the same version between variants like amd64 and i386. Apt also strongly dislikes downgrading packages to resolve a dependency conflict.

If it's not obvious which package has mismatched version between what is installed and what is available, then you can pick one of the packages and try to install both arch variants at the same time. For example: sudo apt install libc6 libc6:i386 should as apt to try to install both the install's primary architecture (amd64 is assumed for this example) and the i386 variant. This should either give a reasonable request to install packages or fail with a package dependency hint that you can use to repeat the process of inspecting package versions until you find which package is causing you trouble.

edraft commented 2 years ago

Solved my problem few weeks ago. For some reason i had some package from Ubuntu 21 installed. I reinstalled Ubuntu because i couldnt go back to the Ubuntu 20 packages.

Check /etc/sources.list and /etc/sources.list.d/* to find repos which are for other versions.

smcv commented 2 years ago

This is not a situation that we can safely make work: anyone else who gets into this situation will have to solve it themselves. However, the new steam-launcher version 1.0.0.72 package (currently a public beta) will fail in a safer way.

@kisak-valve, I think this issue can be closed: we've done all that we can do to avoid this.

RoryO commented 2 years ago

Reference for people landing here searching from trying to figure this out.

It looks like Ubuntu released libc 9.3 for x64 for 20.04 LTS as a non point release package update, then backed out of that. They pulled 9.3 from the x64 update list and didn't actually revert the package. They did not release libc 9.3 for x86 at any point. That's how we got into the situation, by no fault of our own, where libc x64 is 9.3, and x86 is 9.2. Your system was unlucky that it updated in that time where 9.3 was available as normal update for x64. For some reason Ubuntu maintainers never actually fixed this, leaving a lot of people who need both x86 and x64 confused and stranded.

Best hope is 20.04.4 updates both i386 and x64 to libc 9.4. It's set to release February 24, so this should all magically go away once you update to that.

smcv commented 2 years ago

It looks like Ubuntu released libc 9.3 for x64 for 20.04 LTS as a non point release package update, then backed out of that. They pulled 9.3 from the x64 update list and didn't actually revert the package.

That seems like a release-management problem in Ubuntu: as soon as this update had gone out in an end-user-visible update channel, the correct way to revert it would have been to release a -9.4 revision (for both i386 and amd64) to the same update channels that received -9.3, reverting the problematic change (worst-case, it could have been literally identical to -9.2, other than the changelog entries).

Hopefully 20.04.4 will resolve this properly, although it would have been better if this did not have to wait for the next point release.

Stormur commented 2 years ago

Best hope is 20.04.4 updates both i386 and x64 to libc 9.4. It's set to release February 24, so this should all magically go away once you update to that.

This actually seems to have got me in worse troubles. My system now is 20.04.4, but something got broken and now it seems impossible to maintain both i386 packages and the new ones, the yare incompatible. I solved an issue of distro upgrading by removing some libraries, but now Steam does not work and it's impossible to reinstall those packages. For example, what I get with sudo apt install libgl1-mesa-dri libgl1-mesa-dri:i386:

Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze       
Lettura informazioni sullo stato... Fatto
libgl1-mesa-dri è già alla versione più recente (21.3.7~kisak1~f).
Alcuni pacchetti non possono essere installati. Questo può voler dire
che è stata richiesta una situazione impossibile oppure, se si sta
usando una distribuzione in sviluppo, che alcuni pacchetti richiesti
non sono ancora stati creati o sono stati rimossi da Incoming.
Le seguenti informazioni possono aiutare a risolvere la situazione:

I seguenti pacchetti hanno dipendenze non soddisfatte:
 libgl1-mesa-dri:i386 : Dipende: libdrm-amdgpu1:i386 (>= 2.4.105) ma non sta per essere installato
                        Dipende: libdrm-intel1:i386 (>= 2.4.38) ma non sta per essere installato
                        Dipende: libdrm-nouveau2:i386 (>= 2.4.66) ma non sta per essere installato
                        Dipende: libdrm-radeon1:i386 (>= 2.4.31) ma non sta per essere installato
                        Dipende: libdrm2:i386 (>= 2.4.75) ma non sta per essere installato
E: Impossibile correggere i problemi, ci sono pacchetti danneggiati bloccati.

I don't know what to do, it just seems that there is a fundamental incompatibility that cannot be solved.

kisak-valve commented 2 years ago

Hello @Stormur, you should ask your distro's community to ponder package manager issue as Steam is not the cause of your issue.

That said, the kisak-mesa PPA provides all the packages that apt is saying it's not going to install. Blind guess that the PPA was disabled without having its packages reverted to the upstream versions of mesa and its dependencies. I would try to ppa-purge the kisak-mesa PPA and re-add it.

Otherwise, follow the steps taken near the top of this issue report to figure out exactly which package is missing a matched version between the i386 and amd64 variants.

RoryO commented 2 years ago

I think @kisak-valve is on the right track with the root cause coming from i386 packages from a PPA. When my system updated to 20.04.4, the first launch of Steam installed the libc 9.4 i386 packages and worked properly as I thought it would, where before that was not possible.

mikurdi commented 1 year ago

It sounds like you're encountering a compatibility issue with Steam and the 32-bit libraries it is trying to install. To resolve this issue, you can try the following steps:

Ensure your operating system is up-to-date.
Check if you have a 64-bit operating system installed. If not, you may need to upgrade to a 64-bit operating system.
If you already have a 64-bit operating system, try reinstalling Steam and the required libraries.
If the above steps don't work, try running Steam in compatibility mode or as an administrator.

If the issue persists, you can also reach out to Steam support for further assistance.

GaelKBertrand commented 1 year ago

This is sin't simply an easy issue and it's ridiculous. For me, it even removed essential kernel packages. Any solution to use steam safely on Ubuntu?

kisak-valve commented 1 year ago

Hello @GaelKBertrand, additional guards against this scenario were put into place over a year ago, but that may not have propagated into distro-modified variants found on older LTS style distro releases. The current Valve-provided Steam package should stop the dependency check instead of giving the user an option to shot themselves in the foot if they don't read.

If you're using a distro-modified Steam package, then report your experience to your distro's package maintainer(s) for Steam, otherwise, please open a new issue report with specific package versions and a log of spew from running Steam from a terminal.

GaelKBertrand commented 1 year ago

Hello @GaelKBertrand, additional guards against this scenario were put into place over a year ago, but that may not have propagated into distro-modified variants found on older LTS style distro releases. The current Valve-provided Steam package should stop the dependency check instead of giving the user an option to shot themselves in the foot if they don't read.

If you're using a distro-modified Steam package, then report your experience to your distro's package maintainer(s) for Steam, otherwise, please open a new issue report with specific package versions and a log of spew from running Steam from a terminal.

This is not true. @kisak-valve I have the most recent distro Mint Vera I used the current Valve provided most recent repo