No entiendo el comportamiento de zypper a ver si me podéis ayudar, porque me genera TOC saber que tengo basura cada vez que instalo algo.
Primero hago esto: (resumo la salida)
sudo zypper install leafpad
Se han seleccionado automáticamente los siguientes 2 paquetes recomendados:
gtk2-branding-openSUSE gtk2-data
Los siguientes 12 paquetes NUEVOS van a ser instalados:
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
12 nuevos paquetes a instalar.
A continuación hago un remove
sudo zypper remove leafpad
Leyendo los paquetes instalados...
Resolviendo dependencias de paquete...
El siguiente paquete va a ser ELIMINADO:
leafpad
1 paquete a quitar.
Entonces hago
zypper packages --unneeded
Y me saca muchos y solo 1 coincide con mis 12 paquetes de leafpad. He eliminado todos sin compasión
Ahora tengo 11 paquetes huerfanos pero que zypper no me los detecta, y hago esto:
sudo zypper rm --clean-deps leafpad
Los siguientes 11 paquetes van a ser ELIMINADOS:
gtk2-branding-openSUSE gtk2-data 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
11 paquetes a quitar.
Los elimino
Preguntas
¿Como lo hago a todo el sistema? sin tener que ir aplicación por aplicación
¿Es un error de diseño de zypper / bug o hay un motivo? por reportarlo lo digo
Yo soy muy nueva y ando probando bastantes cosas y no quiero llenar de porquería el sistema innecesariamente
Ya que estoy añado por si alguien tiene algún flujo de trabajo
En ocasiones copias un ejemplo de algún sitio y no lo puedes llevar tal cual a la consola o el editor de turno, prefieres editarlo de forma intermedia y ya después pegarlo (a veces por cosas como que si pegas una conversación de teams te mete el texto y un enlace, o el formato UTF no es correcto etc… y prefieres pasarlo por editor sin formato)
En windows lo sencillo es escribir notepad, pegar - editar - copiar y ir al destino…
Aquí estoy probando hacer algo así y metiendolo en un comando y a ver si lo asigno a un botón del ratón
No sé si entiendo bien este asunto (y lo que pones por encima). Cuando tengo un texto que si copio y pego en otro sitio me arrastra formatos no deseados (tamaño de letra, citas, etc), lo que hago es pegarlo en Kate (siempre lo tengo abierto) y de allí copio y pego al sitio que quería sin formatos raros.
Respecto a paquetes huérfanos, los puedes ver en Yast-->Instalar/desinstalar software-->Clasificación del paquete-->Paquetes huérfanos
Si no ves la pestaña Clasificación del paquete, haz click en el Ver de la izquierda y se desplegará una lista con todas las pestañas que puedes meter. Click en Paquetes huérfanos.
Comentar que puedes ver como huérfano el paquete autofirma. Aunque salga como huérfano, es un rpm externo al sistema que instalé con rpm -ivh autofirma.rpm (algo así era el comando). Como no es de los repos activos (si tienes un paquete instalado de un repositorio que sigues teniendo pero desactivado te lo marca como huérfano), lo marca como huérfano.
También puedes ver la sección Paquetes no necesarios. Pero como no estoy seguro al 100% de que no me hagan falta, pues ahí siguen.
He mezclado dos cosas, soy una liante. A ver simplemente buscaba una aplicación puente (Kate no me gusta nada ) para editar algo antes de pegarlo en el destino final y ha sido cuando me he encontrado con esto de zypper.
He hecho install leafpad y remove leafpad… y nuevamente no me ha eliminado los 11 paquetes y se han quedado en el sistema, si voy a la pantalla que me indicas tampoco están, solo 1
Secuencia de hechos: sudo zypper install leafpad > añade 12 paquetes (explicitamente ha dicho que eran nuevos) sudo zypper remove leafpad > elimina 1 paquetes (así que se te han quedado 11 en el sistema) sudo zypper install leafpad > añade 1 paquete (claro ya hay 11 en el sistema) sudo zypper rm --clean-deps leafpad> ahora sí que elimina 12
= Zypper te deja dependencias por defecto que no necesitas y nadie las usa
Hola. Yo siempre he usado para desinstalar el parametro -u y asi eliminar todas las dependencias que el programa necesita y que no son usadas por otros programas.
En lo sucesivo, no mezcles distintos problemas. Crea un hilo para cada problema.
Es lo que hay, zypper rm -u, --clean-deps: Elimina automáticamente las dependencias innecesarias. Si te fijas bien, veras que el paquete que no ha borrado gtk2-lang tiene su sentido porque en ese paquete esta los idiomas de cualquier paquete de gtk2…
Si ejecutas esto: zypper se -i gtk2 , veras que tienes algunos paquetes instalados y, por lo tanto, gtk2-lang es necesario y no se borra.
El comando zypper lleva bastantes años funcionando y hace bien su trabajo.
Sí lo hace bien, y siempre lo utilizo en lugar de discover, eso no quita que, en mi opinión de novata, sigue habiendo 11 paquetes huerfanos que no quita a no ser que le pases el parámetro… y no será por capricho o error, entiendo que hay un motivo que no comprendo
La pregunta que me surge de esto, como localizo esos 11 paquetes que no hice con -u en su momento… a lo largo de este tiempo he instalado muchos programas que no he desinstalado con -u… y en huerfanos no aparecen (hemos visto que solo el gtk2-lang el resto no aparecian)
Es que si NO lo haces con la opción -u o --clean-deps no los borran y ahí se quedan sin ser marcados como huérfanos (*) porque no lo son.
En mi caso, casi nunca lo utilizo salvo que me instale un motón de paquetes de una aplicación que quiera probar.
PD: Otra cosa, sobre copiar y pegar sin formato, todo depende de la aplicación donde quieras pegar. Por ejemplo, LibreOffice Writer admite la opción de pegar sin formato, se llama Pegado especial.
(*) Los paquetes huérfanos son archivos que ya no son referenciados por ningún repositorio, pero permanecen en el sistema de archivos y consumen espacio en disco. Los archivos de paquete pueden quedar huérfanos debido a la configuración o a la eliminación del repositorio.
Como comenta @Krovikan , se puede ver bien.
Había una utilidad dentro de yast software , que indicaba el flujo de cada aplicación, esta se quito y ya no aparece en minguna (desconozco la causa) .
Al eliminar es bueno marcar las opciones que no están seleccionadas, el limpiar al borrar y añadir también cambio de proveedor.
Hay que tener especial cuidado, ya que aquellas instalaciones que no se pueden confirmar por un proveedor, también son marcadas como huérfanas, y en realidad son funcionales (a pesar de aparecer en rojo como huérfanas) ; un ejemplo son los drivers de las impresoras, al no aparecer como certificadas, no se pueden comprobar .
Buenas. Podriamos decir que zypper no tiene (que yo sepa) un comando para borrar dependencias no usadas por otros programas como si tiene por ejemplo apt con la orden autoremove.
Las dependencias que no sean usadas por otros programas debes borrarlas en el momento de desinstalar el programa que las usa o se quedan en el sistema salvo que sean marcadas por zypper como paquetes huerfanos, es decir, que no estan en ningun repositorio.
Si no es correcto, por favor corregidme que asi me aclaro yo tb.
Saludos
yo entiendo exactamente lo mismo, y lo veo como un fallo, que ignoro si apt u otros también lo tienen. Si es así es un fallo no por el espacio en disco, sino sobre todo por el riesgo de seguridad.
Entiendo que zypper debería tener un árbol de dependencias y poder saber estén firmadas o no, qué se ha instalado con qué. Conoce la base del sistema que viene “planchada” y conoce todas las cosas que pasen por él.
Debe haber alguna complejidad que no comprendo y por ese motivo es así
Tengo, con permisos de ejecución, el siguiente script que ejecuto cada tanto:
#!/bin/sh
zypper packages --unneeded | awk -F'|' 'NR==0 || NR==1 || NR==2 || NR==3 || NR==4 {next} {print $3}' > list
while read p; do zypper info $p && zypper se --requires $p && zypper rm $p; done < list
rm -rf list
Creado por gnac, y que básicamente lista paquetes innecesarios, muestra su información, verifica dependencias y luego los elimina después de solicitar confirmación para cada uno.
Hola:
Según tengo entendido, yast soft, lo hace de forma automática , y tiene opción de comprobarlo de forma manual .
En auto firma de drivers , advierte, pero al saber la procedencia ,se le da ignorar y se instala ( lo único es que aparece en rojo) .
Había la utilidad de ver la resolución de lo que instalaba, pero ya hace tiempo que la quitaron .
No se si de forma gráfica ,se pueda ver con systemd-analyze en una de sus opciones , pero es muy extensa y compleja.
Lo bueno de zypper ( lo indica en la wiki) , es que se puede usar con script , Por lo demás hay que respetar ,las reglas (repos,prioridades,etc) ,siendo así es raro que haya dependencias .