このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:パッケージ管理(Ubuntu):パッケージの探し方

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

なぜパッケージの検索が必要なのか
UbuntuなどのDebian系ディストリビューションでパッケージをインストールする際、そのパッケージ名が必ずしもコマンド名と一致しているとは限りません。たとえば、コマンド名が「netcat」でも、実際のパッケージ名がnetcat-openbsdやnetcat-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-openbsdやnetcat-traditionalなどが表示されれば、Netcatに相当するパッケージとして利用可能であると判断できます。また、関連する類似ツール(socat、ncatなど)も同時にヒットするため、目的に応じて最適なパッケージを選べます。
パッケージ名のみを検索対象とするオプション
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でのパッケージ管理がより円滑になり、目的のソフトウェアを迷わず導入できるようになります。
