2012-08-29 19 views

Respuesta

1

Digamos que usted quiere saber quién depende libpng14

En tcsh:

zypper search -i | cut -d \| -f 2 | tr -s '\n' ' ' > z.txt 
foreach i (`cat z.txt`) 
    zypper info --requires $i |grep libpng14 &&echo $i 
end 

Y desde hace tiempo, que comenzará a conseguir resultados como:

libpng14.so.14()(64bit) 
libpng14.so.14(PNG14_0)(64bit) 
DirectFB 
libpng14.so.14()(64bit) 
libpng14.so.14(PNG14_0)(64bit) 
MPlayer 

Es necesario para separar los paquetes de los mensajes grep, sin embargo.

+2

(use el modificador -q del comando 'grep' para no repetir los resultados) – mveroone

1

Si ya está instalado, puede utilizar --whatrequires rpm:

--whatrequires CAPABILITY 
     Query all packages that require CAPABILITY for proper functioning. 
     Note that this does not return what requires a given package. 

Si no es así, [que] eres de suerte por ahora.

+1

Gracias - pero las rpm no parecen funcionar correctamente. De acuerdo con las rpm, nada en el sistema requiere nada más. Por lo tanto, rpm puede desinstalar todo por sí mismo :( – user626201

-1

Esto funciona:

rpm -e --test PKGNAME 

Fuente: hombre rpm

12

usted puede buscar (abreviado con "sí") para los paquetes que requieren un determinado paquete con:

zypper se --requiere nombre del paquete

Además, puede buscar sólo entre los paquetes instalados con:

zypper se -i --requires nombrepaquete

Por ejemplo, la búsqueda de paquetes que requieren libpng:

# zypper se -i --requires libpng 
Loading repository data... 
Reading installed packages... 
S | Name      | Summary                | Type 
--+-----------------------------+---------------------------------------------------------------------+-------- 
i | DirectFB     | Graphics Library for Framebuffer Devices       | package 
i | MPlayer      | Multimedia Player             | package 
i | cairo-devel     | Development environment for cairo         | package 
etc.