Debian系Linuxで依存関係エラー時に表示されたファイルを探す方法・apt-file †ソースをダウンロードしてコンパイル&リンクしたときに依存関係エラーで必要なファイルやライブラリが表示されたり 関連記事 †動作確認したLinux †$ lsb_release -cd Description: Ubuntu 18.04.2 LTS Codename: bionic dpkg -S ファイル名との違い †dpkg -S ファイル名により同様に指定したファイルがどのパッケージに存在するかを確認することができますが、 apt-fileコマンドのインストール †apt-fileコマンドはデフォルトではインストールされていないはずなので、端末(ターミナル)を起動して、 sudo apt install apt-file インストール後、以下のコマンドでパッケージ情報をアップデートしてください。 sudo apt update 尚、今回紹介したapt-fileでも同様のことができますが、廃止予定らしいです。 $ man apt-file <省略> update Deprecated action that just calls "apt update". <省略> apt-file search ファイル名 で探してみる †実際にapt-fileコマンドを使ってファイルを探してみます。 apt-file search ファイル名 †一番簡単なのは以下の構文になります。 apt-file search ファイル名 例として、他のマシンに存在するバイナリをコピーして持ってきたら、libcurl-nss.so.3が無いと言われました。 $ apt-file search libcurl-nss.so.3 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.3 上記にお通り、libcurl3-nssというパッケージ(左側)に存在することが表示されます。 $ apt-file search libcurl-nss libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.3 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4.5.0 libcurl4-nss-dev: /usr/lib/x86_64-linux-gnu/libcurl-nss.a libcurl4-nss-dev: /usr/lib/x86_64-linux-gnu/libcurl-nss.la libcurl4-nss-dev: /usr/lib/x86_64-linux-gnu/libcurl-nss.so パッケージ名のみ表示したい場合は、-lオプションを追加します。 $ apt-file -l search libcurl-nss libcurl3-nss libcurl4-nss-dev apt-file -x search ファイル名 †オプションに-xをつけると正規表現で検索できます。 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.3 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 libcurl3-nss: /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4.5.0 パッケージ名のみ表示したい場合は、-lオプションを追加します。 $ apt-file -xl search 'libcurl-nss.so.[0-9]' libcurl3-nss 以上、apt-fileコマンドを使ってインストール済み、未インストール済みを問わず |