web-dev-qa-db-ja.com

共有ライブラリがインストールされているかどうかを確認するにはどうすればよいですか?

私の質問は、ffmpegを開始する際の私の問題に由来しています。 ffmpegをインストールしましたが、インストール済みと表示されています。

whereis ffmpeg 
ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz

後で、一部のプログラムはインストール自体に付属していないライブラリに依存していることがわかったので、欠落しているものをlddコマンドで確認しました。

# ldd /usr/bin/ffmpeg
    linux-vdso.so.1 =>  (0x00007fff71fe9000)
    libavfilter.so.0 => not found
    libpostproc.so.51 => not found
    libswscale.so.0 => not found
    libavdevice.so.52 => not found
    libavformat.so.52 => not found
    libavcodec.so.52 => not found
    libavutil.so.49 => not found
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f20bdf000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5f209c0000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5f205fb000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5f20f09000)

結局のところ、私のffmpegは7つのライブラリーから切り離されています。最初に、これらのライブラリのそれぞれをインストールする必要があると思いましたが、想像以上に、一部またはすべてがインストールされている可能性がありますが、それらの場所はffmpegには不明です。 /etc/ld.so.confと/etc/ld.so.cacheにライブラリへのパスが含まれていることを読みましたが、混乱していました。

/etc/ld.so.conf
 cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

しかし、非常に長い/etc/ld.so.cache

さらに調査する方法がわからなくなったところです。ffmpegの場所が不明な場合でも、特定のライブラリが実際にインストールされているかどうかを確認する方法は、次のステップとして役立ちます。

---------Output---of----apt-cache-policy-----request---------
apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://archive.canonical.com/ubuntu/ trusty/partner Translation-en
 500 http://archive.canonical.com/ubuntu/ trusty/partner i386 Packages
     release v=14.04,o=Canonical,a=trusty,n=trusty,l=Partner archive,c=partner
     Origin archive.canonical.com
 500 http://archive.canonical.com/ubuntu/ trusty/partner AMD64 Packages
     release v=14.04,o=Canonical,a=trusty,n=trusty,l=Partner archive,c=partner
     Origin archive.canonical.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/universe Translation-en
 500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted Translation-en
 500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse Translation-en
 500 http://security.ubuntu.com/ubuntu/ trusty-security/main Translation-en
 500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=multiverse
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/universe i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=universe
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=restricted
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=main
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=multiverse
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/universe AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=universe
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=restricted
     Origin security.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ trusty-security/main AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=main
     Origin security.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=multiverse
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=universe
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=restricted
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=main
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=multiverse
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=universe
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=restricted
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=main
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/universe Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty/restricted Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty/main Translation-en
 500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse i386 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=multiverse
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/universe i386 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=universe
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/restricted i386 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=restricted
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=main
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=multiverse
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/universe AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=universe
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/restricted AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=restricted
     Origin archive.ubuntu.com
 500 http://archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
     release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=main
     Origin archive.ubuntu.com
 700 http://extra.linuxmint.com/ rebecca/main i386 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
     Origin extra.linuxmint.com
 700 http://extra.linuxmint.com/ rebecca/main AMD64 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
     Origin extra.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/import i386 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=import
     Origin packages.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/upstream i386 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=upstream
     Origin packages.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/main i386 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
     Origin packages.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/import AMD64 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=import
     Origin packages.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/upstream AMD64 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=upstream
     Origin packages.linuxmint.com
 700 http://packages.linuxmint.com/ rebecca/main AMD64 Packages
     release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
     Origin packages.linuxmint.com
Pinned packages:
16
Abdul Al Hazred

これらのライブラリーについては、/ usr/libおよび/ usr/lib64を調べてください。 ffmpegの1つが見つからない場合は、それをシンボリックリンクして、他のディレクトリに存在するようにします。

「libm.so.6」の検索を実行して、そのファイルの場所を確認することもできます。 ffmpegが欠落しているディレクトリを同じディレクトリで探している可能性は十分にあります。あなたがそれらを見つけたら、あちらにシンボリックリンクしてください。

それらがサーバーに存在しない場合は、それらを含むパッケージをインストールします。 ffmpegパッケージに含まれているのに表示されない場合は、ffmpegを再インストールしてください。

5
Baazigar

以下を使用できます。

ldconfig -p | grep libavfilter

出力ライブラリがない場合はインストールされません。これが100%信頼できるかどうかはわかりません。
少なくとも-pのldconfigのmanページで-p:

現在のキャッシュに保存されているディレクトリと候補ライブラリのリストを出力します。

30
taliezin

コマンドfile `which ffmpeg`を使用して、ffmpegが64ビット用にコンパイルされているか32ビット用にコンパイルされているかを判別します。 64ビットの場合は、/usr/lib64でライブラリを探します。 32ビットの場合は、/usr/libでライブラリを探します。 ffmpegが静的にリンクされている場合、それは問題ではありません...共有ライブラリは使用されず、fileの出力からもそれがわかります。

/usr/lib/usr/lib64の間でライブラリをシンボリックリンクしないでください。 64ビットプログラムには64ビットライブラリ(/usr/lib64に含まれる)が必要であり、32ビットプログラムには32ビットライブラリ(/usr/lib32に含まれる)が必要であるため、これは役に立ちません。

サーバーにライブラリが存在しない場合は、それらを提供するパッケージをインストールします(ffmpegが32ビットの場合は、必ず32ビットパッケージを選択してください)。

1
gmorganVA