本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、dpkgコマンドとapt-fileコマンド、apt-show-versionsコマンドでファイルのインストール元パッケージを探し、パッケージのバージョンを確認する方法です。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「dpkg」コマンドと「apt-file」コマンド、「apt-show-versions」でファイルのインストール元パッケージを探し、パッケージのバージョンを確認する方法です。
「dpkg」と「apt」は、Debian系システムで使われている“debパッケージ”を扱うパッケージ管理コマンドです。
現在はdpkgコマンドよりも、debパッケージの依存関係なども含めて管理するAPT(Advanced Packaging Tool)が広く使用されています。
APT用のコマンドには、インストールや更新、削除に使う「apt-get」と、検索などパッケージ情報を管理する「apt-cache」、両者を統合し改良された「apt」コマンドがあります。パッケージのインストールやアンインストール、更新はdpkgではなくapt系のコマンドを用いた方がよいでしょう。
今回使用する「apt-file」もAPT用で、「該当するファイルが収録されているパッケージを探す」というコマンドです。「sudo apt install apt-file」としてインストールできます。
「apt-show-versions」は、パッケージのバージョンを表示するコマンドです(連載第247回)。アップデート可能なパッケージがある場合はその情報も併せて表示します。「sudo apt install apt-show-versions」としてインストールできます。
第139回 (基礎編)ソフトウェアをインストールする
第140回 (応用編)パッケージを検索する
なお、連載第245回では“RPMパッケージ”について、コマンドのインストール元パッケージとバージョンを確認しています。紹介したコマンドは「rpm」と「yum」です。
dpkg [オプション]
apt-file [オプション] [アクション] [パターン]
apt-show-versions [オプション] パッケージ名
※[ ]は省略可能な引数を示しています
dpkgコマンドで、ファイルのインストール元パッケージを探すには、「dpkg -S コマンド」とします(画面1)。
「-S」(--search)はファイルがどのパッケージからインストールされたかを表示するオプションです。コマンドに限らず、パッケージからインストールされたファイルを指定できます。
パッケージのバージョンを調べるには「dpkg -s パッケージ名」とします。「-s」(--status)はパッケージの情報を表示するオプションです。結果の出力が多いため、grepコマンドで「Version」という文字列が含まれている行だけ絞り込むと確認しやすいでしょう。
ただし、「dpkg -s パッケージ名」は「パッケージの情報を表示」します。このとき、インストールされていないパッケージも表示対象となります(※1)。従って、インストール済みのパッケージだけを確認したい場合は、「dpkg -l」でインストール済のパッケージを一覧表示して、grepコマンドでパッケージ名を絞り込みます。
または、(この後)紹介する「apt-show-versions」コマンドを使用するとよいでしょう。
※1 「apt show パッケージ名」も、インストールされているかいないかにかかわらずパッケージの情報を表示する。
dpkg -S コマンド
(コマンドが収録されているパッケージを検索する)
dpkg -s パッケージ名 | grep Version
dpkg -s パッケージ名 | grep -i version
(パッケージの情報を表示し、Versionという文字列で絞り込む。grepの-iオプションは大文字小文字を区別しないために使用)
dpkg -l | grep パッケージ名
(インストール済のパッケージの情報のみを表示)
「apt-file search コマンド」で、コマンドが収録されたパッケージを検索します(画面2)。コマンド名やファイル名の一部を指定するだけでも検索可能です。インストールされていないパッケージも対象となります。
コマンド名に限定したい場合は、「apt-file -F search ファイル名」でコマンドを絶対パスで指定します。
なお、インストール済パッケージだけを対象に検索する場合、先ほど紹介した「dpkg -S」の方が高速です。
パッケージのバージョンは、「apt-show-versions パッケージ名」で確認できます。
apt-file search コマンド名
(コマンドが収録されているパッケージを探す)
apt-file -F search コマンドファイル名
(コマンドを絶対パスで指定し、収録されているパッケージを探す)
apt-show-versions パッケージ名
(パッケージ名を指定し、パッケージのバージョンを表示する)
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.