Folks, a long time ago I installed a number of i686 packages on my system. I now want to remove them. When I try to remove one particular package I get some unexpected behavior.
I do
dnf remove pixman.i686
and I get:
Package Arch Version Repository Size Removing: pixman i686 0.44.2-1.fc41 updates 711.7 KiB Removing dependent packages: cairo i686 1.18.2-2.fc41 updates 1.8 MiB gtk2 i686 2.24.33-19.fc41 <unknown> 13.5 MiB gtk3 i686 3.24.43-2.fc41 <unknown> 23.4 MiB libcanberra-gtk3 i686 0.30-36.fc41 <unknown> 68.8 KiB libdecor i686 0.2.2-4.fc41 <unknown> 162.7 KiB pango i686 1.54.0-2.fc41 <unknown> 1.0 MiB wine x86_64 10.1-1.fc41 updates 0.0 B Removing unused dependencies: SDL2 i686 2.30.11-1.fc41 updates 2.0 MiB SDL2_net x86_64 2.2.0-6.fc41 <unknown> 27.2 KiB at-spi2-atk i686 2.54.0-1.fc41 <unknown> 292.5 KiB avahi-glib i686 0.8-29.fc41 <unknown> 18.9 KiB cairo-gobject i686 1.18.2-2.fc41 updates 33.4 KiB cdparanoia-libs i686 10.2-45.fc41 <unknown> 115.7 KiB colord-libs i686 1.4.7-5.fc41 <unknown> 863.4 KiB dosbox-staging x86_64 0.81.2-3.fc41 <unknown> 14.6 MiB fluid-soundfont-common noarch 3.1-33.fc41 <unknown> 78.7 KiB fluid-soundfont-gm noarch 3.1-33.fc41 <unknown> 141.7 MiB graphene i686 1.10.6-9.fc41 <unknown> 226.0 KiB gstreamer1 i686 1.24.11-1.fc41 updates 5.7 MiB gstreamer1-plugins-base i686 1.24.11-1.fc41 updates 7.7 MiB icoutils x86_64 0.32.3-17.fc41 <unknown> 196.4 KiB iir1 x86_64 1.9.5-1.fc41 <unknown> 53.1 KiB json-glib i686 1.10.0-1.fc41 <unknown> 569.6 KiB lcms2 i686 2.16-4.fc41 <unknown> 463.2 KiB libXv i686 1.0.13-1.fc41 updates 27.9 KiB libcanberra i686 0.30-36.fc41 <unknown> 266.0 KiB libcanberra-gtk2 i686 0.30-36.fc41 <unknown> 53.0 KiB libcloudproviders i686 0.3.5-5.fc41 <unknown> 123.5 KiB libexif i686 0.6.24-8.fc41 <unknown> 2.4 MiB libgphoto2 i686 2.5.31-2.fc41 <unknown> 5.7 MiB libgusb i686 0.4.9-2.fc41 <unknown> 161.4 KiB libsoup3 i686 3.6.4-1.fc41 updates 1.2 MiB libtheora i686 1:1.1.1-38.fc41 <unknown> 491.7 KiB libtracker-sparql i686 3.7.3-3.fc41 <unknown> 1.1 MiB libv4l i686 1.28.1-1.fc41 <unknown> 377.5 KiB libvisual i686 1:0.4.1-5.fc41 <unknown> 474.5 KiB libwayland-cursor i686 1.23.0-2.fc41 <unknown> 32.4 KiB libwayland-egl i686 1.23.0-2.fc41 <unknown> 15.8 KiB mesa-libOSMesa i686 25.0.0-2.fc41 updates 14.7 MiB mesa-libOSMesa x86_64 25.0.0-2.fc41 updates 14.0 MiB mingw32-FAudio noarch 23.07-6.fc41 <unknown> 512.0 KiB mingw32-SDL2 noarch 2.30.3-2.fc41 <unknown> 5.2 MiB mingw32-lcms2 noarch 2.14-6.fc41 <unknown> 850.3 KiB mingw32-libjpeg-turbo noarch 3.0.2-2.fc41 <unknown> 1.0 MiB mingw32-libpng noarch 1.6.40-4.fc41 <unknown> 1.0 MiB mingw32-libstdc++ x86_64 14.2.1-3.fc41 <unknown> 22.3 MiB mingw32-libtiff noarch 4.4.0-6.fc41 <unknown> 1.2 MiB mingw32-libxml2 noarch 2.12.8-2.fc41 <unknown> 2.9 MiB mingw32-libxslt noarch 1.1.42-2.fc41 <unknown> 882.5 KiB mingw32-vkd3d noarch 1.14-1.fc41 updates 3.6 MiB mingw32-win-iconv noarch 0.0.8-13.fc41 <unknown> 52.7 KiB mingw32-wine-gecko noarch 2.47.4-4.fc40 fedora 51.7 MiB mingw32-zlib noarch 1.3.1-3.fc41 <unknown> 272.7 KiB mingw64-FAudio noarch 23.07-6.fc41 <unknown> 510.7 KiB mingw64-SDL2 noarch 2.30.3-2.fc41 <unknown> 5.0 MiB mingw64-lcms2 noarch 2.14-6.fc41 <unknown> 817.8 KiB mingw64-libjpeg-turbo noarch 3.0.2-2.fc41 <unknown> 1.2 MiB mingw64-libpng noarch 1.6.40-4.fc41 <unknown> 990.3 KiB mingw64-libstdc++ x86_64 14.2.1-3.fc41 <unknown> 24.9 MiB mingw64-libtiff noarch 4.4.0-6.fc41 <unknown> 1.2 MiB mingw64-libxml2 noarch 2.12.8-2.fc41 <unknown> 2.8 MiB mingw64-libxslt noarch 1.1.42-2.fc41 <unknown> 842.7 KiB mingw64-vkd3d noarch 1.14-1.fc41 updates 3.4 MiB mingw64-win-iconv noarch 0.0.8-13.fc41 <unknown> 53.3 KiB mingw64-wine-gecko noarch 2.47.4-4.fc40 fedora 49.5 MiB mingw64-zlib noarch 1.3.1-3.fc41 <unknown> 269.7 KiB mt32emu x86_64 2.7.1-4.fc41 <unknown> 247.9 KiB ocl-icd i686 2.3.2-7.fc41 <unknown> 233.4 KiB orc i686 0.4.39-1.fc41 <unknown> 875.1 KiB samba-winbind-clients x86_64 2:4.21.4-1.fc41 updates 160.3 KiB sane-backends-libs i686 1.3.1-1.fc41 <unknown> 99.5 KiB vulkan-tools x86_64 1.4.304.0-1.fc41 updates 1.3 MiB wine-alsa i686 10.1-1.fc41 updates 271.1 KiB wine-alsa x86_64 10.1-1.fc41 updates 304.9 KiB wine-arial-fonts noarch 10.1-1.fc41 updates 156.9 KiB wine-cms i686 10.1-1.fc41 updates 1.6 MiB wine-cms x86_64 10.1-1.fc41 updates 2.2 MiB wine-common noarch 10.1-1.fc41 updates 141.0 KiB wine-core i686 10.1-1.fc41 updates 599.4 MiB wine-core x86_64 10.1-1.fc41 updates 713.6 MiB wine-courier-fonts noarch 10.1-1.fc41 updates 170.1 KiB wine-desktop noarch 10.1-1.fc41 updates 696.0 KiB wine-dxvk i686 2.5.3-2.fc41 <unknown> 16.6 MiB wine-dxvk x86_64 2.5.3-2.fc41 <unknown> 17.9 MiB wine-dxvk-d3d10 i686 2.5.3-2.fc41 <unknown> 790.2 KiB wine-dxvk-d3d10 x86_64 2.5.3-2.fc41 <unknown> 11.7 MiB wine-dxvk-d3d8 i686 2.5.3-2.fc41 <unknown> 11.8 MiB wine-dxvk-d3d8 x86_64 2.5.3-2.fc41 <unknown> 13.3 MiB wine-dxvk-d3d9 i686 2.5.3-2.fc41 <unknown> 15.3 MiB wine-dxvk-d3d9 x86_64 2.5.3-2.fc41 <unknown> 16.4 MiB wine-dxvk-dxgi i686 2.5.3-2.fc41 <unknown> 13.6 MiB wine-dxvk-dxgi x86_64 2.5.3-2.fc41 <unknown> 14.9 MiB wine-filesystem noarch 10.1-1.fc41 updates 10.0 MiB wine-fixedsys-fonts noarch 10.1-1.fc41 updates 36.9 KiB wine-fonts noarch 10.1-1.fc41 updates 0.0 B wine-ldap i686 10.1-1.fc41 updates 2.6 MiB wine-ldap x86_64 10.1-1.fc41 updates 3.3 MiB wine-mono noarch 9.4.0-2.fc41 updates 237.9 MiB wine-ms-sans-serif-fonts noarch 10.1-1.fc41 updates 4.6 MiB wine-opencl i686 10.1-1.fc41 updates 299.1 KiB wine-opencl x86_64 10.1-1.fc41 updates 355.2 KiB wine-pulseaudio i686 10.1-1.fc41 updates 208.8 KiB wine-pulseaudio x86_64 10.1-1.fc41 updates 229.6 KiB wine-small-fonts noarch 10.1-1.fc41 updates 65.5 KiB wine-smartcard i686 10.1-1.fc41 updates 225.2 KiB wine-smartcard x86_64 10.1-1.fc41 updates 280.9 KiB wine-system-fonts noarch 10.1-1.fc41 updates 120.9 KiB wine-systemd noarch 10.1-1.fc41 updates 119.0 B wine-tahoma-fonts noarch 10.1-1.fc41 updates 300.4 KiB wine-times-new-roman-fonts noarch 10.1-1.fc41 updates 169.5 KiB wine-twain i686 10.1-1.fc41 updates 536.2 KiB wine-twain x86_64 10.1-1.fc41 updates 674.6 KiB wine-webdings-fonts noarch 10.1-1.fc41 updates 30.0 KiB wine-wingdings-fonts noarch 10.1-1.fc41 updates 35.1 KiB
My question is why is it removing so many x86_64 packages and why is pixman.i686 dependent on wine.x86_64? Is there a way to remove only the i686 packages?
Any help is appreciated.
Paolo
Paolo Galtieri wrote:
Folks, a long time ago I installed a number of i686 packages on my system. I now want to remove them. When I try to remove one particular package I get some unexpected behavior.
I do
dnf remove pixman.i686
and I get:
Package Arch Version Repository Size Removing: pixman i686 0.44.2-1.fc41 updates 711.7 KiB Removing dependent packages: cairo i686 1.18.2-2.fc41 updates 1.8 MiB gtk2 i686 2.24.33-19.fc41 <unknown> 13.5 MiB gtk3 i686 3.24.43-2.fc41 <unknown> 23.4 MiB libcanberra-gtk3 i686 0.30-36.fc41 <unknown> 68.8 KiB libdecor i686 0.2.2-4.fc41 <unknown> 162.7 KiB pango i686 1.54.0-2.fc41 <unknown> 1.0 MiB wine x86_64 10.1-1.fc41 updates 0.0 B Removing unused dependencies: SDL2 i686 2.30.11-1.fc41 updates 2.0 MiB SDL2_net x86_64 2.2.0-6.fc41 <unknown> 27.2 KiB
[...]
wine-wingdings-fonts noarch 10.1-1.fc41 updates 35.1 KiB
My question is why is it removing so many x86_64 packages and why is pixman.i686 dependent on wine.x86_64? Is there a way to remove only the i686 packages?
The wine x86_64 package requires both the i686 and x86_64 mesa-dri-drivers (I presume to support 32-bit windows binaries, but I don't use Window or Wine, so that's a rough guess).
The dependency was added in
https://src.fedoraproject.org/rpms/wine/c/4787aa7
which says "pull in mesa-dri-drivers in meta package to make direct rendering work out of the box (rhbz#827776)
You can limit the removals by not removing unused dependencies via the --noautoremove option. That won't limit things to just i686, but it will leave more cruft on your system, so I don't think it's a good option.
If you really need any of the packages which are being removed for something else which isn't installed as an rpm, you can either reinstall it later to use dnf mark to prevent it from being removed as an unused dependency.
Unless you're building local software or installing non-rpm code from elsewhere, allowing dnf to clean up what is not used is really the more sensible option.