このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンドの基本:パッケージ管理(Ubuntu):パッケージの探し方

パッケージ管理(Ubuntu):パッケージの探し方

 ここでは、UbuntuをはじめとするDebian系Linuxディストリビューションで、目的のパッケージを見つけるための手段であるapt-cacheコマンドによるパッケージ検索を紹介します。


なぜパッケージの検索が必要なのか

 UbuntuなどのDebian系ディストリビューションでパッケージをインストールする際、そのパッケージ名が必ずしもコマンド名と一致しているとは限りません。たとえば、コマンド名が「netcat」でも、実際のパッケージ名がnetcat-openbsdnetcat-traditionalであることがあります。このような場合、まずはパッケージ名を正確に把握しないと、インストールをスムーズに進められません。

 そこで役立つのが、apt-cacheコマンドのsearch機能です。apt-cache searchはキーワード検索によって、パッケージ名やパッケージの説明文から関連するパッケージを探し出します。これにより、パッケージ名が分からない場合でも、関連キーワードや機能名からパッケージを特定できます。


基本的な検索方法:apt-cache search

 apt-cache searchコマンドを使うと、指定したキーワードがパッケージ名や説明文に含まれるパッケージを一覧表示します。

【書式】
apt-cache search <検索ワード>

特徴

  • root権限が不要
    パッケージの検索は単なる情報取得であり、システム構成を変えないため、一般ユーザ権限で実行可能です。
  • 全文検索
    パッケージ名だけでなく、そのパッケージの要約や説明文まで検索対象とするため、関連キーワードさえ分かれば候補を探し出せます。

検索の実例:Netcat関連パッケージの検索

 たとえば、ネットワーク診断で有名な「Netcat」に関連するパッケージを探したい場合、次のように実行できます。

user01@ubuntu:~$ apt-cache search netcat
netcat-openbsd - TCP/IP スイスアーミーナイフ
socat - multipurpose relay for bidirectional data transfer
netcat-traditional - TCP/IP スイスアーミーナイフ
corkscrew - tunnel TCP connections through HTTP proxies
fling - Transfer data from stdin over network to destination quickly
gsocket - Allows two machines on different networks to communicate with each other
kafkacat - producer and consumer for Apache Kafka (transitional package)
kcat - producer and consumer for Apache Kafka
libexpect-perl - Perl Expect interface
multimon-ng - digital radio transmission decoder
ncat - NMAP netcat reimplementation
netrw - netcat like tool with nice features to transport files over network
netsed - network packet-altering stream editor
piu-piu - Horizontal scroller game in bash for cli.

 この結果、netcat-openbsdnetcat-traditionalなどが表示されれば、Netcatに相当するパッケージとして利用可能であると判断できます。また、関連する類似ツール(socatncatなど)も同時にヒットするため、目的に応じて最適なパッケージを選べます。


パッケージ名のみを検索対象とするオプション

 apt-cache searchはデフォルトで説明文も含めて検索対象にしますが、「パッケージ名だけで検索したい」場合には--names-onlyオプションを付けることができます。

パッケージ名限定検索の例

user01@ubuntu:~$ apt-cache search --names-only netcat
netcat-openbsd - TCP/IP スイスアーミーナイフ
netcat-traditional - TCP/IP スイスアーミーナイフ

 これにより、説明文ではなくパッケージ名そのものにキーワードが含まれるものだけが表示されます。


まとめ

  • apt-cache searchコマンドを使うことで、パッケージ名や機能名から関連するパッケージを容易に探し出せる。
  • root権限は不要であり、検索のみを行うため一般ユーザ権限で安全に利用可能。
  • --names-onlyオプションを活用すると、パッケージ名だけを精確に検索できる。
  • 必要なパッケージ名を特定できたら、apt-get installコマンドでインストールを行うなど、次のステップへスムーズに移行できる。

 こうして、apt-cache searchコマンドによって、Ubuntuでのパッケージ管理がより円滑になり、目的のソフトウェアを迷わず導入できるようになります。