それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

aptコマンドでインストール済みを検索する

apt の結果をgrep するといつも警告が出る。

takuya@:~$ apt list --installed | grep docker

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

いつもこれどうしたものかとかと悩んでたんですが。ある日偶然タイプミスして解決方法に気づいたのでメモ

apt の引数にワイルドカードがつけられる。

docker のapt を消して snapd に変更しようとしてて、ワイルドカードを使ってる。

apt purge docker*
apt install docker*
apt list docker*

ワイルドカードが使えるんですね。apt の引数には

apt list の引数は ワイルドカードが取れる

ということは、ワイルドカードで検索ができる。

takuya@:~$ apt list --installed *docker*
一覧表示... 完了
cockpit-docker/stable,now 188-1 all [インストール済み]
docker-ce-cli/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル]
docker-ce/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル]
docker-compose/stable,now 1.21.0-3 all [インストール済み]
golang-docker-credential-helpers/stable,now 0.6.1-2 amd64 [インストール済み、自動]
python3-docker/stable,now 3.4.1-4 all [インストール済み、自動]
python3-dockerpty/stable,now 0.4.1-1 all [インストール済み、自動]
python3-dockerpycreds/stable,now 0.3.0-1 all [インストール済み、自動]

シェルの引数展開ではなくapt

シェルのワイルドカード展開かなともおもってエスケープしたり引数をクォートした。ちゃんとワイルドカードで取ってくれるのがわかる

takuya@:~$ apt list --installed \*docker*
takuya@:~$ apt list --installed \*docker\*
takuya@:~$ apt list --installed '*docker*'
一覧表示... 完了
cockpit-docker/stable,now 188-1 all [インストール済み]
docker-ce-cli/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル]
docker-ce/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル]
docker-compose/stable,now 1.21.0-3 all [インストール済み]
golang-docker-credential-helpers/stable,now 0.6.1-2 amd64 [インストール済み、自動]
python3-docker/stable,now 3.4.1-4 all [インストール済み、自動]
python3-dockerpty/stable,now 0.4.1-1 all [インストール済み、自動]
python3-dockerpycreds/stable,now 0.3.0-1 all [インストール済み、自動]

便利です。

インストール済みのパッケージを探したり、まとめて消すときや、関連するパッケージをまとめて探すのがとても便利になった。