これは馬鹿げた質問のように聞こえることは承知していますが、私がやろうとしていることは次のとおりです。Apache http サーバーをインストールします。
だから私は実行しapt search apache
、たくさんの結果を得ます。
実際...
apt search apache | wc -l
3で割ると、約700件の結果が得られるようです。
を使用して絞り込みを試みる
apt search apache http
と、約 200 件の結果が表示され、その後スクロールしていくと、最終的に表示されます。apt search --names-only apache
また、説明に Apache のみが記載されているものをすべて使用して、少なくとも除外することもできます。これにより、結果は 110 件に減ります。
私が探しているパッケージが「apache2」という名前であることを考えると、これらすべてはかなり複雑で面倒に思えます。結果を最適に並べ替える方法はありますか? または、他のツールを使用する必要がありますか?
答え1
パッケージをどのように呼び出すか、または少なくともその名前の一部が何であるかを知っているようです。
apt search
このタスクに最適なツールではないようですので、apt list
代わりに以下を使用してください。
$ apt list apache\*
Listing... Done
apache2/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-bin/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-data/bionic-updates,bionic-updates,bionic-security,bionic-security 2.4.29-1ubuntu4.11 all
apache2-dbg/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-dev/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-doc/bionic-updates,bionic-updates,bionic-security,bionic-security 2.4.29-1ubuntu4.11 all
apache2-ssl-dev/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-suexec-custom/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-suexec-pristine/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-utils/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apachedex/bionic,bionic 1.6.2-1 all
apacheds/bionic-updates,bionic-updates,bionic-security,bionic-security 2.0.0~M24-2~18.04 all
apachetop/bionic 0.12.6-18build2 amd64
からapt
マニュアル:
リスト
dpkg-query --list
は、特定の条件を満たすパッケージのリストを表示できるという点で、に似ています。glob
(7)パッケージ名を一致させるためのパターンと、インストール済みバージョン (--installed
)、アップグレード可能バージョン (--upgradeable
)、または利用可能なすべての--all-versions
バージョン ( ) を一覧表示するオプション。
エスケープされたアスタリスク ( \*
) は、名前の後に任意の文字が続く可能性があることを意味します。何も見つからない場合は、検索文字列の先頭にエスケープされたアスタリスクを追加することを検討してください。
このリストから適切なものを選択できると確信しています。 当然、最初のものは実際の Apache サーバーです。apache2
パッケージを選択すると、その依存関係も自動的にインストールされます。
$ sudo apt install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
ssl-cert
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom openssl-blacklist
答え2
次のコマンドを使用できますgrep
:
apt-cache search apache2 | grep apache2
もしあなたが気に入らないなら赤grep の色を変更するには、--color=none
オプションを追加するだけです:
apt-cache search apache2 | grep apache2 --color=none
PS: オプションを忘れないようにすることをお勧めします。コマンド-cache
を使用して追加しないとパッケージ名が表示されませんgrep
(このオプションなしの結果を以下に示します)。
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Apache HTTP Server (mod_ssl development headers)
WebSocket extension for Apache HTTP Server
編集: 感謝フォロー、説明を使用して結果を並べ替える方がよいでしょう。たとえば、
apt-cache search apache2 | grep "Apache HTTP Server"
結果 :
apache2-ssl-dev - Apache HTTP Server (mod_ssl development headers)
python-mod-pywebsocket - WebSocket extension for Apache HTTP Server
また、-i
オプションを使用する必要があります。小文字ではなく大文字を入力しないと、結果が並べ替えられません。
例 :
apt-cache search apache2 | grep "apache HTTP Server"
そしてあなたは検索結果はありません
apt-cache search apache2 | grep -i "apache HTTP Server"
結果は次のようになります:
apache2-ssl-dev - Apache HTTP Server (mod_ssl development headers)
python-mod-pywebsocket - WebSocket extension for Apache HTTP Server
答え3
これを検索する良い方法はタブ補完だと思います
sudo apt install apache<tab><tab>
与える
sudo apt install apache
apache2 apache2-doc apachedex
apache2-bin apache2-ssl-dev apacheds
apache2-data apache2-suexec-custom apachetop
apache2-dbg apache2-suexec-pristine
apache2-dev apache2-utils
それが失敗したら、コマンドを入力してください
~$ apache
Command 'apache' not found, did you mean:
command 'apache2' from deb apache2-bin
Try: sudo apt install <deb name>
最近のディストリビューションは、あなたが何を意図しているかを非常によく理解しています
apt search
それが失敗した場合は、通常は/に戻るapt list
か、最近ではdocker hubを検索してdocker経由でインストールすることが多いです。
答え4
apt list
結果のプレゼンテーションについては よりも のほうが優れているという解決策には同意しますがapt search
、さらに詳しい情報は以下から入手できます。
apt list | grep <package_name>
--installed
次のようなパラメータを使用します。
apt list --installed | grep <package_name>
そのパッケージに何がインストールされているかを表示します。
したがって、パラメータなしでは何そしてどこパッケージに関する情報が入手できるので、何をインストールしたいかがわかります。また、パラメータを使用すると、パッケージがすでにインストールされているかどうかを確認できます。