を使用zypper
すると、パッケージ A がパッケージ B に依存するようになります。ただし、知っておく必要があるのは、どのパッケージがパッケージ B に依存するかということです。
逆依存リストを生成する方法はありますか?
を使用zypper
すると、パッケージ A がパッケージ B に依存するようになります。ただし、知っておく必要があるのは、どのパッケージがパッケージ B に依存するかということです。
逆依存リストを生成する方法はありますか?
次のコマンドを使用して、特定のパッケージを必要とするパッケージを検索 (「se」と省略) できます。
zypper se -- パッケージ名が必要
また、次のコマンドを使用して、インストールされているパッケージのみを検索できます。
zypper se -i -- パッケージ名が必要
たとえば、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.
誰が libpng14 に依存しているか知りたいとしましょう
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
しばらくすると、次のような結果が得られるようになります。
libpng14.so.14()(64bit)
libpng14.so.14(PNG14_0)(64bit)
DirectFB
libpng14.so.14()(64bit)
libpng14.so.14(PNG14_0)(64bit)
MPlayer
ただし、grep メッセージからパッケージを分離する必要があります。
既にインストールされている場合は、rpm --whatrequires を使用できます。
--whatrequires CAPABILITY
Query all packages that require CAPABILITY for proper functioning.
Note that this does not return what requires a given package.
そうでない場合、あなた[私たちは]今のところ運が悪い.
Zypper 1.14.33+ に--requires-pkg
は--requires
. 詳しくはこちらをご覧ください。
# zypper se --requires-pkg packagename
# zypper help search | grep -A1 requires-pkg
--requires-pkg Search for all packages that require any of the provides of the
package(s) matched by the input parameters.