Linux および Unix にパッケージがインストールされているかどうかを確認する方法
少し前に、 Linux でパッケージのバージョンを見つける方法を学びました。今日は、Linux および Unix オペレーティング システムにパッケージがインストールされているかどうかを確認する方法を見ていきます。 GUI モードでインストールされているパッケージを見つけるのは簡単です。メニューまたはダッシュを開いて、検索ボックスにパッケージ名を入力するだけです。パッケージがインストールされている場合は、メニュー エントリが表示されます。それはとても簡単です。ただし、GUI モードがないシステムでは、それを見つけるのは少し困難です。したがって、CLI モードでパッケージがインストールされているかどうかを確認する方法を知ることは、GUI モードで行うのと同様に重要です。さて、パッケージがインストールされているかどうかを確認する方法を見てみましょう。
Linux にパッケージがインストールされているかどうかを確認する
パッケージがインストールされているかどうかを確認する最も一般的な方法は、次のような「that」コマンドを使用することです。
which <package-name>
例:
which nano
nano パッケージがインストールされている場合は、以下のようにインストールされたパスが表示されます。
/usr/bin/nano
ご覧のとおり、nano パッケージは /usr/bin/ パスにインストールされています。
別のパッケージ、たとえば Emacs を確認してみましょう。
which emacs
/usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
見る? Emacsがインストールされていません。
「what」コマンドは、ほとんどの Unix 系オペレーティング システムでデフォルトで使用できます。
また、パッケージがインストールされているかどうかを確認するディストリビューション固有の方法が他にもいくつかあります。読む。
Arch Linux の場合:
Arch Linux と、Antergos や Manjaro LINux などのその派生製品では、以下のように「pacman」コマンドを使用してこれを行うことができます。
pacman -Qs nano
サンプル出力:
local/nano 2.9.3-1 (base)
Pico editor clone with enhancements
パッケージ「nano」の前に接頭辞「local」があることに気づきましたか?これは、Nano がシステムにインストールされていることを意味します。
上記のコマンドが何も返さない場合は、指定されたパッケージがインストールされていないことを意味します。
Fedora/RHEL/CentOS/Scientific Linux の場合:
Fedora、RHEL、CentOS、Scientific Linux などの RHEL クローンなどの RPM ベースの Linux ディストリビューションでは、以下に示すように「rpm」 コマンドを使用してパッケージがインストールされているかどうかを確認できます。
rpm -qa | grep nano
または、
rpm -qa | grep -i nano
サンプル出力:
nano-2.3.1-10.el7.x86_64
また、 以下のようなYum コマンドを使用することもできます。
yum list installed|grep 'nano'
インストールされているすべてのパッケージを一覧表示するには、次を実行します。
rpm -qa
読者の 1 人である「Gregory Pittman」 が以下のコメント セクションで言及しているように、Fedora のdnf コマンドを使用して、インストールされているパッケージを見つけることができます。
dnf list packagename
あるいは
dnf list package*
これらから取得できるのは、インストールされているもののリストと、リポジトリで利用可能なもののリストです。 dnf ではワイルドカードが使用でき、検索では大文字と小文字が区別されません。探しているものや正しいスペルがよくわからない場合があります。
Debian/Ubuntu/Linux Mint の場合:
Debian、Ubuntu、および Linux Mint、Elementary OS などの DEB ベースのシステムでは、「dpkg」 コマンドを使用してこれを行うことができます。
dpkg -s nano
サンプル出力:
上記の出力でわかるように、nano パッケージは Ubuntu システムにインストールされています。このコマンドは、指定したパッケージがインストールされているかどうかだけでなく、パッケージの優先順位、バージョン番号、メンテナー名、依存関係、その説明なども表示します。
これは、インストールされているパッケージを見つける唯一の方法ではありません。さらにいくつかのコマンドを示します。
dpkg-query -l nano
サンプル出力:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
ここにもう一つあります。
dpkg --get-selections | grep nano
サンプル出力:
nano install
そしてもう一つコマンドを……。
dpkg --list | grep nano
サンプル出力:
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
または、次のコマンドを使用します。
dpkg --list | grep -i nano
インストールされているすべてのパッケージのリストを表示するには、次を実行します。
dpkg --list
SUSE/openSUSE の場合:
パッケージが SUSE および openSUSE にインストールされているかどうかを確認するには、次のコマンドを実行します。
zypper search nano
または、簡単に:
zypper se nano
以下のように「rpm」コマンドを使用することもできます。
rpm -q nano
「has」ユーティリティを使用してパッケージがインストールされているかどうかを確認する
信じてください、これはとても簡単です。 「has」 ユーティリティは、パス上のさまざまなコマンド ライン ツールの存在を確認し、インストールされているバージョンも報告します。
インストールするには、次のコマンドを実行します。
git clone https://github.com/kdabir/has.git
cd has
sudo make install
次に、以下のようにパッケージが利用可能かどうかを確認します。
has nano
✔ nano 2.5.3
チェックマーク (✔) が表示されている場合、パッケージはインストールされています。上記の出力にあるように、nano パッケージがインストールされており、そのバージョンは 2.5.3 です。
パッケージがインストールされていない場合は、×印が表示されます。次の例を確認してください。
has emacs
✘ emacs
複数のパッケージを確認することもできます。
has nano emacs vim
✔ nano 2.5.3
✘ emacs
✔ vim 7.4
インストールしたくない場合は、以下のように直接使用できます。ただし、システムはインターネットに接続されている必要があります。
curl -sL https://git.io/_has | bash -s nano
複数のパッケージを確認するには:
curl -sL https://git.io/_has | bash -s nano emacs vim
コマンド全体を入力するのが面倒な場合は、エイリアスを作成します。
alias has="curl -sL https://git.io/_has | bash -s"
次に、このユーティリティを次のように使用します。
has nano
詳細については、プロジェクトの GitHub ページを参照してください。
- GitHub リポジトリがある
パッケージが Unix にインストールされているかどうかを確認する
以下の手順は FreeBSD 10.3 でテストされました。私は FreeBSD 以外の他の BSD オペレーティング システムを試したことはありません。したがって、パッケージが他の BSD オペレーティング システムにインストールされているかどうかを確認するには、別のコマンドが必要になる場合があります。
FreeBSD では、「pkg」 コマンドを使用してこれを行うことができます。
pkg_info -Ix <package-name>
例:
pkg info -Ix nano
サンプル出力:
インストールされているすべてのパッケージを表示するには、次のコマンドを使用できます。
pkg info
または、
pkg version -v
FreeBSD システム内のパッケージの数に応じて、これには数秒から数分かかります。
結論
コマンドラインから公式および非公式の方法を使用して、パッケージがインストールされているかどうかを確認する方法がわかりました。ご覧のとおり、それほど難しいことではありません。簡単に覚えられるいくつかのコマンドだけです。これらのコマンドを覚えていない場合は、 オンデマンドで実行できるようにブックマークするかターミナル自体に保存してください。