2012-08-29 15 views

Antwort

1

Sagen wir, Sie wissen wollen, wer auf libpng14

In tcsh hängt:

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 

Und Sie in einer Weile werden Sie beginnen, Resultate wie immer:

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

Sie benötigen um die Pakete von den Grep-Nachrichten zu trennen.

+2

(Verwenden Sie den Modifikator "-q" des Befehls "grep", um keine Ergebnisse zu liefern) – mveroone

1

Wenn es ist bereits installiert haben, können Sie rpm --whatrequires verwenden:

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

Wenn nicht, Sie [wir] bist kein Glück für den Moment.

+1

Dank - aber rpm scheint nicht richtig zu funktionieren. Nach Drehzahl wird nichts im System von etwas anderem benötigt. Daher kann rpm alles selbst deinstallieren :( – user626201

-1

Dies funktioniert:

rpm -e --test PKGNAME 

Quelle: Mann rpm

12

Sie können nach Paketen suchen (mit "se" abgekürzt), die ein bestimmtes Paket benötigen mit:

zypper s --erfordern Paketname

zypper se -i --requires Paket

Zum Beispiel nach Paketen suchen erfordert libpng:Sie können aber auch nur unter installierten Pakete mit Suche

# 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.