¿Zypper no elimina todas las dependencias huérfanas al quitar un paquete?

Yo suelo usar kate también, pero aquí la idea es convertiros en Másters. Así que ahí va.

Requisitos:

  • Escritorio Plasma. No estoy seguro de la disponibilidad de esto en Gnome, Xfce y demás, al menos en la instalación estándar.

Procedimiento:

  1. Cuidadosamente selecciona el texto que quieres guardar, digamos la línea del comando xclip.
  2. Busca un hueco libre en el escritorio.
  3. Pulsa el botón del ratón que tengas asignado a pegar. Normalmente el tercero (central) o la rueda, y con los touchpads de los portátiles probablemente tengas pegar asignado a pulsar con tres dedos (yo lo tengo en dos).

    La nota es reutilizable o puedes eliminarla pinchando en ella sin soltar hasta que salen los cuadros de control.

Enhorabuena! Ya sois Másters!.

[edición para principiantes]
No se ha usado copiar en ningún momento. En realidad, la configuración estándar permite copiar, seleccionar y pegar dos cosas diferentes:

Texto 1
Texto 2

seleccionas Texto 1, lo copias (ej. ctrl+c), seleccionas Texto 2, vas al lugar donde los quieres pegar, pulsas en el botón central para pegar (Texto 2) y luego p.ej. ctrl+v para pegar (Texto 1).

Tampoco usa el búfer del portapapeles (Tecla Meta + v donde la tecla Meta será la de Windows).

Es un comportamiento estándar y un error que haga otra cosa. Para instalar, se instala lo necesario para que funcione. Para desinstalar, zypper no puede saber si necesitas ese paquete para otra cosa.

Aunque puede parecer obvio p.ej. para paquetes lang y similares (de hecho, eso justamente zypper lo hace)

tux@desktop:~> sudo zypper in tokodon
Actualizando servizo 'NVIDIA'.
Actualizando servizo 'openSUSE'.
Obtendo os datos do repositorio...
Lendo os paquetes instalados...
Resolvendo as dependencias...

Se ha seleccionado automáticamente el siguiente paquete recomendado:
  kunifiedpush

Los siguientes 5 paquetes NUEVOS van a ser instalados:
  kunifiedpush kunifiedpush-lang libKUnifiedPush1 tokodon tokodon-lang
(...)
tux@desktop:~> sudo zypper rm tokodon
Lendo os paquetes instalados...
Resolvendo as dependencias...

Los siguientes 2 paquetes van a ser ELIMINADOS:
  tokodon tokodon-lang
(...)
tux@desktop:~> sudo zypper rm --clean-deps tokodon
Lendo os paquetes instalados...
Resolvendo as dependencias...

Los siguientes 7 paquetes van a ser ELIMINADOS:
  kunifiedpush kunifiedpush-lang libKUnifiedPush1 qt6-webview qt6-webview-imports tokodon tokodon-lang

Todo sería más sencillo si se instalase software de una única fuente, pero puedes descargar binarios desde Internet, o puedes compilar un programa, etc.

En /etc/zypp/zypp.conf hay una variable comentada y con valor false. Si la descomentas y le asignas valor true hace que clean-deps pase a ser lo que hace por defecto.

tux@desktop:~> sudo zypper in tokodon
Actualizando servizo 'NVIDIA'.
Actualizando servizo 'openSUSE'.
Obtendo os datos do repositorio...
Lendo os paquetes instalados...
Resolvendo as dependencias...

Se ha seleccionado automáticamente el siguiente paquete recomendado:
  kunifiedpush

Los siguientes 7 paquetes NUEVOS van a ser instalados:
  kunifiedpush kunifiedpush-lang libKUnifiedPush1 qt6-webview qt6-webview-imports tokodon tokodon-lang
(...)
tux@desktop:~> sudo zypper rm tokodon
Lendo os paquetes instalados...
Resolvendo as dependencias...

Los siguientes 7 paquetes van a ser ELIMINADOS:
  kunifiedpush kunifiedpush-lang libKUnifiedPush1 qt6-webview qt6-webview-imports tokodon tokodon-lang

Entiendo tu punto y por qué lo haces tú, pero esto es justo la clase de cosas que implican que la persona usuaria sepa un puñado de cosas respecto a su sistema :grinning: sea openSUSE, Debian, Arch o lo que más gustéis. En realidad, es más sencillo configurar como se ha visto más arriba que la desinstalación por defecto incluya paquetes instalados como dependencias.

2 Likes

Y como yo estoy a años luz de todos ustedes, pregunto si este comando es absolutamente seguro:

keos@localhost:~> zypper packages --unneeded | awk -F'|' 'NR==0 || NR==1 || NR==2 || NR==3 || NR==4 {next} {print $3}' | grep -v Name | sudo xargs zypper remove --clean-deps
Leyendo los paquetes instalados...
Resolviendo dependencias de paquete...

Los siguientes 112 paquetes van a ser ELIMINADOS:
  bluez bluez-cups bluez-obexd dosbox fluid-soundfont-gm
  intel-vaapi-driver libabsl_2501_0_0-32bit libabsl_lite_2501_0_0-32bit
  libargon2-1 libavcodec60 libavformat60 libavutil58 libdb-4_8
  libdeflate0-32bit libdrm_radeon1 libdrm_radeon1-32bit libell0
  libfido2-udev libfluidsynth3 libgif7-32bit libgthread-2_0-0 libical3
  libIex-3_2-31-32bit libiir1 libIlmThread-3_2-31-32bit
  libImath-3_1-29-32bit libinstpatch-1_0-2 libLLVM18 libLLVM18-32bit
  libLLVM19 libLLVM19-32bit liblrdf2 libmt32emu2 libOpenEXR-3_2-31-32bit
  libOpenEXRCore-3_2-31-32bit libopenobex2 libopusfile0 libpoppler146
  libpoppler147 libportal1 libportal-gtk4-1 libpython3_11-1_0
  libQt5Multimedia5 libqt5-qtspeech-plugin-speechd libQt5TextToSpeech5
  libQt5Xml5 libraptor2-0 libre2-11 libSDL2_net-2_0-0 libslirp0
  libswresample4 libubsan1 libusb-0_1-4 libvulkan_radeon
  libwebrtc-audio-processing-2-1 libwebrtc-audio-processing-2-1-32bit
  libxcb-dri2-0 libxcb-dri2-0-32bit libz-ng2 mingw64-libz
  obex-data-server parallel-printer-support python311 python311-base
  python311-bcrypt python311-Brotli python311-certifi python311-cffi
  python311-chardet python311-charset-normalizer python311-configobj
  python311-cryptography python311-curses python311-dbm
  python311-dbus-python python311-decorator python311-gobject
  python311-gobject-cairo python311-gobject-Gdk python311-gssapi
  python311-h2 python311-hpack python311-hyperframe python311-idna
  python311-linux-procfs python311-nftables python311-notify2
  python311-pexpect python311-pip python311-psutil python311-ptyprocess
  python311-pycairo python311-pycparser python311-pycups
  python311-pycurl python311-pygdbmi python311-pyinotify
  python311-pyOpenSSL python311-pysmbc python311-PySocks
  python311-pyudev python311-requests python311-requests-gssapi
  python311-rpm python311-six python311-typing_extensions
  python311-urllib3 python311-zstandard sbc setserial
  vlc-codec-fluidsynth wireless-regdb

112 paquetes a quitar.

Cambio de tamaño de la instalación del paquete:
              |         0 B    requerido por los paquetes que se instalarán
  -823,0 MiB  |  -  823,0 MiB  liberados por los paquetes que van a ser eliminados

Backend:  classic_rpmtrans
¿Desea continuar? [s/n/v/...? mostrar todas las opciones] (s):

Estoy verificándolo. Diré algo en unos minutos.

Saludos

sudo zypper rm $(zypper --no-refresh packages --orphaned --unneeded | gawk '{print $5}' | tail -n +5)

zypper packages --orphaned --unneeded

Es seguro el comando que pasé. Este: zypper packages --unneeded | awk -F'|' 'NR==0 || NR==1 || NR==2 || NR==3 || NR==4 {next} {print $3}' | grep -v Name | sudo xargs zypper remove --clean-deps

Para verificar que así es, he conseguido encontrar un comando que hace la trazada inversa de dependencias. Lo he probado con varios archivos de mi lista de paquetes a eliminar con el comando largo que puse (el que pregunta @elbitmalo ).

El comando es: zypper se --requires-pkg nombredepaquete

 ~/Descargas  zypper se --requires-pkg libdeflate0-32bit                                       ✔  13:06:28 
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name                        | Summary                                                           | Type
---+-----------------------------+-------------------------------------------------------------------+--------
i  | libOpenEXRCore-3_2-31-32bit | Biblioteca para administrar imágenes EXR  en formato de coma fl-> | paquete

 ~/Descargas  zypper se --requires-pkg libOpenEXR-3_2-31-32bit                            ✔  3s  13:11:59 
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name                            | Summary                                                       | Type
---+---------------------------------+---------------------------------------------------------------+--------
   | gstreamer-plugins-bad-32bit     | Plug-ins para GStreamer, el marco para secuencias de datos -> | paquete
   | libMagickCore-7_Q16HDRI10-32bit | C runtime library for ImageMagick                             | paquete
   | libOpenEXRUtil-3_2-31-32bit     | Library to simplify development of OpenEXR utilities          | paquete
   | synfig                          | Vector based 2D animation render

Y así vas mirando paquete a paquete que te quiera desinstalar el comando largo.

Saludos

1 Like

Gracias, no me convence la nota la verdad, mi escritorio suele tener toneladas de ventanas y no tengo hueco libre… tal vez un plasmoide, haré pruebas… lo que no tenía ni idea del botón central pegaba y los otros dos copiaban jajaja

Respecto a Zypper quiero leerlo con tranquilidad, porque con ojos de novata, es como muy “enrevesado” y no comprendo los motivos, estudiaré antes de dar más guerra :stuck_out_tongue:

Respecto a seguridad, también tengo la duda si los paquetes que no identifica como huerfanos y que simplemente no los toca si se actualizan con el sistema, si no es así, es un riesgo de seguridad tener paquetes perdidos sin actualizar, un software/script de terceros podría buscar paquetes en el sistema y aprovechar una vulnerabilidad… también a ver si me leo la docu de zypper :smiley:

En definitiva, por mi parte gracias porque estoy aprendiendo mucho :slight_smile:

No se trata de que lo uses, yo no lo hago, prefiero crear mis notas en kate. También es posible usar el portapapeles (tecla Windows + v) y seleccionar la acción copiada de la lista (hasta 20 en la configuración por defecto)

Dicho eso, acceder al escritorio es cuestión de costumbre. Por ejemplo, Meta+d (Windows + d) te mostrará el escritorio en cualquier situación.

Aunque los botones del ratón son configurables, no me refiero a eso. Cuando seleccionas un texto se incluye en un búffer. Cuando lo copias, se incluye en otro búffer diferente: el portapapeles. La acción “pegar”, por defecto, toma su contenido del portapapeles. Pero en los sistemas basados en X11 (y Wayland) la acción “pegar con el botón central” por defecto toma su contenido del búffer de selección. Eso es confuso para la gente que usa Windows, y hay escritorios que sincronizan ambas acciones para que pegar siempre tome el contenido del portapapeles.

Como he intentado expresar, el asunto es que cuando ejecutas zypper la aplicación no tiene forma de saber por qué instalas un paquete o por qué lo desinstalas.

Supón que necesitas un programa llamado MiPrograma que no encuentras en los repos ni en flatpack, pero que puedes descargar y ejecutar sin problema. Este programa usa un par de dependencias: libA y pluginZ. Revisas el sistema y compruebas que tienes que instalar libA porque pluginZ ya está instalado.

Supongamos que pluginZ lo has instalado con otro programa llamado Notas. Hasta aquí zypper no “sabe” que tienes instalado MiPrograma ni cuáles son sus dependencias. Entonces si desinstalas Notas, como no desisntalará sus dependencias, tu programa MiPrograma seguirá funcionando sin problema. Si desinstalara las dependencias de Notas, entonces MiPrograma no funcionaría.

Esto sería manejable en realidad, pero no es todo lo que puede pasar. Puede que añadas pluginZ desde un repositorio diferente, pero que con el tiempo elimines ese repositorio -o que sus responsables lo cierren. O puede ser simplemente una dependencia cruzada que ha cambiado de nombre -pero no las librerías, por eso el programa de turno sigue funcionando.

zypper puede manejar el asunto de que no haya repositorio que contenga un paquete. Si lo hay, se actualizará en la medida que lo haga el respositorio. Pero igual que con Arch, Debian y demás, la distribución está pensada para dar soporte a los repositorios oficiales. Instalar repositorios adicionales es responsabilidad de la persona usuaria, y es quien debe decidir si el repositorio en sí es lo suficientemente fiable o no.

Quizás entonces la solución para mi caso, que no entiendo ni jota de que es o no esencial dejar … sea guardarme una copia (ahora que ‘solo’ tiene ‘apenas’ 115 paquetes “sospechosos” de ser inutiles …) del sistema instalado, y cuando se esté al llenar la particion, (pues seguirá aumentando) entonces instalarmela y actualizar … solución del usuario mediocre.

Los paquetes de 32-bit los puedes ir quitando ya, usas intel o radeon? intel-vaapi-driver si tienes radeon, bluez es para bluetooth, mingw64-libz tb

keos@localhost:~> zypper se --installed-only wine
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name       | Summary                                       | Type
---+------------+-----------------------------------------------+--------
i+ | wine       | Emulador de MS Windows                        | paquete
i  | wine-32bit | Emulador de MS Windows                        | paquete
i  | wine-gecko | The Wine specific Gecko HTML rendering engine | paquete
i  | wine-mono  | A .NET replacement for use by Wine            | paquete
i  | winetricks | A way to work around problems in WINE         | paquete
keos@localhost:~>
keos@localhost:~> lspci | grep VGA
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo (rev c4)
keos@localhost:~> sudo lshw -c video
[sudo] contraseña para root: 
  *-display                 
       descripción: VGA compatible controller
       producto: Barcelo
       vendedor: Advanced Micro Devices, Inc. [AMD/ATI]
       id físico: 0
       información de bus: pci@0000:04:00.0
       versión: c4
       anchura: 64 bits
       reloj: 33MHz
       capabilidades: pm pciexpress msi msix vga_controller bus_master cap_list
       configuración: driver=amdgpu latency=0
       recursos: iomemory:40-3f iomemory:40-3f irq:54 memoria:460000000-46fffffff memoria:470000000-4701fffff ioport:1000(tamaño=256) memoria:fb300000-fb37ffff
keos@localhost:~>

Muchas gracias por la preocupación … No quiero molestar entrando cada vez en el foro cuando vea esas listas incomprensibles para preguntar, y no puedo guiarme mucho por la AI, por eso dije que la solución para mi sería guardar esta copia para cuando se llene la particion …

zin wine-32bit
Actualizando el servicio 'openSUSE'.
Cargando datos del repositorio...
Leyendo los paquetes instalados...
Resolviendo dependencias de paquete...

El siguiente paquete NUEVO va a ser instalado:
  wine-32bit

1 nuevo paquete a instalar.

Tamaño de la descarga del paquete:    25,9 MiB

Cambio de tamaño de la instalación del paquete:
              |     218,8 MiB  requerido por los paquetes que se instalarán
   218,8 MiB  |  -      0 B    liberados por los paquetes que van a ser eliminados

Si te fijas no se va a instalar ningún paquete de 32bit aparte de wine-32bit, por eso te digo que puedes ir quitando esos paquetes de 32bit y si alguno se queja pues no se desinstala …

Hola,

Quiero salir de dudas :slight_smile: así que por el principio…

  1. He creado una MV con Qemu/kvm con Tumbleweed con KDE y el software por defecto, he instalado neofetch

  1. Antes de instalar he revisado si ya existian los paquetes en mi sistema, y no existian

  1. Instalo

  1. Desinstalo

  1. Compruebo despues de desinstalar

Se que soy pesada, pero no lo entiendo, sistema limpio, solo uso Zypper, ¿y me deja esa basura ahí? Si me decís que es el comportamiento correcto, ya me callo :slight_smile: y que todos los gestores de paquetes es lo que hacen

No se si han salido bien las imágenes lo pego como texto

test@localhost:~> rpm -q \
> gtk2-branding-openSUSE \
> gtk2-data \
> gtk2-lang \
> gtk2-metatheme-adwaita \
> gtk2-metatheme-breeze6 \
> gtk2-theming-engine-adwaita \
> gtk2-tools \
> leafpad \
> libcanberra-gtk0 \
> libcanberra-gtk2-module \
> libgtk-2_0-0 \
> libqt5-qtstyleplugins-platformtheme-gtk2
gtk2-branding-openSUSE-15.0-2.4.noarch
gtk2-data-2.24.33-15.1.noarch
gtk2-lang-2.24.33-15.1.noarch
gtk2-metatheme-adwaita-3.28-2.5.noarch
gtk2-metatheme-breeze6-6.3.4-1.1.noarch
gtk2-theming-engine-adwaita-3.28-2.5.x86_64
gtk2-tools-2.24.33-15.1.x86_64
package leafpad is not installed
libcanberra-gtk0-0.30+2-2.1.x86_64
libcanberra-gtk2-module-0.30+2-2.1.x86_64
libgtk-2_0-0-2.24.33-15.1.x86_64
libqt5-qtstyleplugins-platformtheme-gtk2-5.0.0+git20170311-10.23.x86_64
test@localhost:~> 

Te he mirado uno de los paquetes nuevos que instala:

 ~/Descargas  zypper se --requires-pkg gtk2-metatheme-adwaita                                  ✔  19:30:15 
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name                             | Summary                                                      | Type
---+----------------------------------+--------------------------------------------------------------+--------
i+ | gtk2-branding-openSUSE           | The GTK+ toolkit library (version 2) -- openSUSE theme con-> | paquete
   | lxde-common-branding-openSUSE    | openSUSE branding for LXDE                                   | paquete
   | xfce4-settings-branding-openSUSE | openSUSE Branding of xfce4-settings                          | paquete

 ~/Descargas  zypper se --requires-pkg gtk2-branding-openSUSE                             ✔  3s  22:56:36 
Cargando datos del repositorio...
Leyendo los paquetes instalados...

S  | Name                           | Summary                                                        | Type
---+--------------------------------+----------------------------------------------------------------+--------
i+ | gtk2-branding-openSUSE         | The GTK+ toolkit library (version 2) -- openSUSE theme confi-> | paquete
   | patterns-aeon-base             | openSUSE Aeon                                                  | paquete
   | patterns-microos-desktop-gnome | Escritorio GNOME para MicroOS                                  | paquete
   | patterns-tik-base              | openSUSE tik

Como ves, gtk2-metatheme-adwaita se ha instalado como NUEVO (o sea, que no están instalados y que, por lo tanto, no los usan nada en el sistema excepto leafpad) porque es dependencia de gtk2-branding-openSUSE (que es lo que te recomendaba Leafpad)

Si buscas gtk2-branding-openSUSE ves que pertenece a sí mismo (no está instalado para ser usado ni por aeon, ni microos, ni el pattern-tik). Por lo tanto gtk2-metatheme-adwaita es borrable (igual que gtk2-branding-openSUSE) .

Ahora prueba con zypper rm --clean-deps leafpad a ver que te sale. Tendrían que salir los 12 paquetes para quitar.

Saludos

Efectivamente te los borra, pero claro, hay que saberlo, una usuaria novata como yo espera que un remove borre todo lo que instaló y no es así. Vamos que tampoco hay que darle más vueltas, porque lo hace? porque es conservador? pues vale :smiley: pero no me gusta :slight_smile:

Lo peor es que pierde la pista, si borraste con un remove, despues no te los marca como huerfanos

Pero ahora ya lo sabes. Nadie te da un manual para que te aprendas un sistema operativo entero antes de usarlo. :wink:

Con este otro comando ves los huérfanos:

 ~/Descargas  zypper packages --orphaned                                                  ✔  3s  23:39:17 
Cargando datos del repositorio...
Leyendo los paquetes instalados...
S  | Repository | Name                              | Version          | Arch
---+------------+-----------------------------------+------------------+-------
i+ | @System    | autofirma                         | 1.7.1-1          | noarch
i+ | @System    | configuradorfnmt                  | 1.0.1-0          | x86_64
i  | @System    | libkdecorations3private1          | 6.3.1-1.1        | x86_64
i  | @System    | libpoppler146                     | 25.02.0-1.2      | x86_64
i  | @System    | libpoppler147                     | 25.03.0-1.1      | x86_64
i  | @System    | libwx_baseu-suse-nostl14_0_0      | 3.2.6-4.1        | x86_64
i  | @System    | libwx_baseu-suse14_0_0            | 3.2.6-4.2        | x86_64
i  | @System    | libwx_baseu_net-suse-nostl14_0_0  | 3.2.6-4.1        | x86_64
i  | @System    | libwx_baseu_net-suse14_0_0        | 3.2.6-4.2        | x86_64
i  | @System    | libwx_baseu_xml-suse-nostl14_0_0  | 3.2.6-4.1        | x86_64
i  | @System    | libwx_baseu_xml-suse14_0_0        | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_aui-suse14_0_0        | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_core-suse-nostl14_0_0 | 3.2.6-4.1        | x86_64
i  | @System    | libwx_gtk3u_core-suse14_0_0       | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_gl-suse14_0_0         | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_html-suse-nostl14_0_0 | 3.2.6-4.1        | x86_64
i  | @System    | libwx_gtk3u_html-suse14_0_0       | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_propgrid-suse14_0_0   | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_qa-suse-nostl14_0_0   | 3.2.6-4.1        | x86_64
i  | @System    | libwx_gtk3u_qa-suse14_0_0         | 3.2.6-4.2        | x86_64
i  | @System    | libwx_gtk3u_xrc-suse14_0_0        | 3.2.6-4.2        | x86_64
i  | @System    | libx265-209                       | 3.6-1699.2.pm.12 | x86_64
i  | @System    | libx265-209-32bit                 | 3.6-1699.2.pm.12 | x86_64
i+ | @System    | skypeforlinux                     | 8.109.0.209-1    | x86_64

IMPORTANTE: las líneas con i+ son paquetes que has instalado tú por iniciativa propia. Las líneas con i son paquetes de dependecias. En mi caso, autofirma, configuradorfnmty skypeforlinuxson paquetes para NO borrarlos. Por eso has de mirar cada paquete de esa lista con zypper se --requires-pkg nombredepaquete para cerciorarte antes. Una vez los huérfanos limpios, acostumbrarse a rm --clean-deps para no dejar basurilla.

Saludos

Totalmente, hay mucho que aprender y mi crítica es esta claro :slight_smile:
Orphan no son, y ahí estan los paquetes en un sistema recien instalado

test@localhost:~> sudo zypper install leafpad
Loading repository data...
Reading installed packages...
'leafpad' is already installed.
No update candidate for 'leafpad-0.8.19-1.5.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
test@localhost:~> sudo zypper remove leafpad
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  leafpad

1 package to remove.

Package install size change:
              |         0 B    required by packages that will be installed
  -359.4 KiB  |  -  359.4 KiB  released by packages that will be removed

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): y
(1/1) Removing: leafpad-0.8.19-1.5.x86_64 ..............................................................................................................................................................................................................................[done]
Running post-transaction scripts .......................................................................................................................................................................................................................................[done]
 
test@localhost:~> zypper packages --orphaned
Loading repository data...
Reading installed packages...
No packages found.
test@localhost:~> rpm -q gtk2-branding-openSUSE gtk2-data gtk2-lang gtk2-metatheme-adwaita gtk2-metatheme-breeze6 gtk2-theming-engine-adwaita gtk2-tools leafpad libcanberra-gtk0 libcanberra-gtk2-module libgtk-2_0-0 libqt5-qtstyleplugins-platformtheme-gtk2               gtk2-branding-openSUSE-15.0-2.4.noarch
gtk2-data-2.24.33-15.1.noarch
gtk2-lang-2.24.33-15.1.noarch
gtk2-metatheme-adwaita-3.28-2.5.noarch
gtk2-metatheme-breeze6-6.3.4-1.1.noarch
gtk2-theming-engine-adwaita-3.28-2.5.x86_64
gtk2-tools-2.24.33-15.1.x86_64
package leafpad is not installed
libcanberra-gtk0-0.30+2-2.1.x86_64
libcanberra-gtk2-module-0.30+2-2.1.x86_64
libgtk-2_0-0-2.24.33-15.1.x86_64
libqt5-qtstyleplugins-platformtheme-gtk2-5.0.0+git20170311-10.23.x86_64
test@localhost:~> 
``

Hola:

Tengo instalado el runtime de 32bits para ejecutar en un equipo de 64bits, programas de 32.

El quitarlos depende de lo que tengas instalado, ejemplo: mis drivers de la impresora laser brother, vienen solo en 32bits, no me queda mas remedio que instalar esa opción :

patterns-base-32bit - Entorno de ejecución de 32 bits

Esto instalará la variante de 32 bits de todos los patrones seleccionados. Permite la ejecución de software de 32 bits.

Todo lo demás se ejecuta en 64bits .

Saludos