Před chvílí jsme se naučili, jak najít verzi balíčku v Linuxu . Dnes se podíváme, jak zjistit, zda je balíček nainstalován nebo ne v operačních systémech Linux a Unix. Nalezení nainstalovaných balíčků v režimu GUI je snadné. Jediné, co musíme udělat, je otevřít Menu nebo Dash a zadat název balíčku do vyhledávacího pole. Pokud je balíček nainstalován, uvidíte položku nabídky. Je to jednoduché. Je však trochu obtížné jej najít v systému, kde nemá režim GUI. Takže vědět, jak zjistit, zda je balíček nainstalován nebo ne v režimu CLI, je stejně důležité jako my v režimu GUI. Nyní pojďme zjistit, jak můžeme zjistit, zda je balíček nainstalován nebo ne, že?
Zjistěte, zda je balíček v Linuxu nainstalován či nikoli
Nejběžnějším způsobem, jak zjistit, zda je balíček nainstalován nebo ne, je použití příkazu "what", jak je uvedeno níže:
$ which <package-name>
Příklad:
$ which nano
Pokud je balíček nano nainstalován, zobrazí se instalovaná cesta jako níže.
/usr/bin/nano
Jak vidíte, balíček nano je nainstalován v /usr/bin/ cesta.
Pojďme se podívat na jiný balíček, například Emacs:
$ which emacs /usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
Vidět? Emacs není nainstalován.
Zjistěte, zda je balíček nainstalován nebo ne v Linuxu pomocí kterého příkazu
Příkaz "který" je standardně dostupný na většině operačních systémů podobných Unixu.
Existuje také několik dalších způsobů specifických pro distribuci, jak zjistit, zda je balíček nainstalován nebo ne. Čtěte dál.
V Arch Linuxu:
V Arch Linuxu a jeho derivátech, jako je Antergos a Manjaro LInux, to můžeme provést pomocí příkazu "pacman", jak je uvedeno níže:
$ pacman -Qs nano
Ukázkový výstup:
local/nano 2.9.3-1 (base) Pico editor clone with enhancements
Zjistěte, zda je balíček nainstalován nebo ne v Arch Linuxu pomocí Pacman
Všimli jste si předpony „local“ před balíčkem „nano“? To znamená, že Nano je nainstalováno ve vašem systému.
Pokud výše uvedený příkaz nic nevrací, znamená to, že daný balíček není nainstalován.
Přečtěte si také - Začínáme s PacmanemV systému Fedora / RHEL / CentOS / Scientific Linux:
V linuxových distribucích založených na RPM, jako je Fedora, RHEL a klony RHEL, jako je CentOS, Scientific Linux, můžeme zjistit, zda je balíček nainstalován pomocí "rpm" příkaz, jak je znázorněno níže.
$ rpm -qa | grep nano
Nebo
$ rpm -qa | grep -i nano
Ukázkový výstup:
nano-2.3.1-10.el7.x86_64
Můžete také použít Yum příkaz jako níže.
$ yum list installed|grep 'nano'
Chcete-li zobrazit seznam všech nainstalovaných balíčků, spusťte:
$ rpm -qa
Jako jeden z našich čtenářů "Gregory Pittman" uvedené v sekci komentářů níže, můžeme použít dnf příkaz ve Fedoře k nalezení nainstalovaného balíčku.
$ dnf list packagename
nebo dokonce
$ dnf list package*
Získáte z nich seznam toho, co je nainstalováno, a také to, co je k dispozici v repozitářích. dnf povoluje zástupný znak a při vyhledávání také nerozlišuje malá a velká písmena. Někdy úplně nevíte, co hledáte, nebo nevíte správný pravopis.
V systémech Debian / Ubuntu / Linux Mint:
V systémech založených na DEB, jako je Debian, Ubuntu a jeho deriváty, jako je Linux Mint a Elementary OS, to můžeme udělat pomocí "dpkg" příkaz.
$ dpkg -s nano
Ukázkový výstup:
Zjistěte, zda je balíček nainstalován nebo ne v Debianu, Ubuntu Linux pomocí příkazu dpkg
Jak vidíte ve výše uvedeném výstupu, balíček nano je nainstalován v našem systému Ubuntu. Tento příkaz nejen ukazuje, zda je daný balíček nainstalován nebo ne, ale také prioritu balíčku, číslo verze, jméno správce, závislosti a jeho popis atd.
Toto není jediný způsob, jak najít nainstalované balíčky. Zde jsou některé další příkazy.
$ dpkg-query -l nano
Ukázkový výstup:
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
Zde je další.
$ dpkg --get-selections | grep nano
Ukázkový výstup:
nano install
A ještě jeden příkaz....
$ dpkg --list | grep nano
Ukázkový výstup:
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico
Nebo použijte tento příkaz:
$ dpkg --list | grep -i nano
Chcete-li zobrazit seznam všech nainstalovaných balíčků, spusťte:
$ dpkg --list
Na SUSE/openSUSE:
Chcete-li zkontrolovat, zda je balíček nainstalován nebo ne v SUSE a openSUSE, spusťte:
$ zypper search nano
Nebo stručně:
$ zypper se nano
Můžete také použít příkaz "rpm" jako níže.
$ rpm -q nano
Zjistěte, zda je balíček nainstalován nebo ne pomocí nástroje „has“
Věřte mi, je to super snadné! "má" nástroj zkontroluje přítomnost různých nástrojů příkazového řádku na cestě a také oznámí jejich nainstalovanou verzi.
Chcete-li jej nainstalovat, spusťte následující příkazy:
$ git clone https://github.com/kdabir/has.git $ cd has $ sudo make install
Nyní zkontrolujte, zda je balíček dostupný nebo ne, jak je uvedeno níže.
$ has nano ✔ nano 2.5.3
Pokud vidíte značku zaškrtnutí (✔), balíček je nainstalován. Jak vidíte ve výše uvedeném výstupu, balíček nano je nainstalován a jeho verze je 2.5.3.
Pokud balíček není nainstalován, uvidíte křížek. Zkontrolujte následující příklad.
$ has emacs ✘ emacs
Můžete také zkontrolovat více balíčků.
$ has nano emacs vim ✔ nano 2.5.3 ✘ emacs ✔ vim 7.4
Pokud jej nechcete instalovat, můžete jej přímo použít, jak je uvedeno níže. Váš systém však musí být připojen k internetu.
$ curl -sL https://git.io/_has | bash -s nano
Chcete-li zkontrolovat více balíčků:
$ curl -sL https://git.io/_has | bash -s nano emacs vim
Pokud jste příliš líní napsat celý příkaz, vytvořte si alias:
$ alias has="curl -sL https://git.io/_has | bash -s"
Nyní použijte tento nástroj, jak je uvedeno níže:
$ has nano
Další podrobnosti najdete na stránce projektu GitHub.
- má úložiště GitHub
Zjistěte, zda je balíček nainstalován či nikoli v Unixu
Níže uvedené kroky byly testovány ve FreeBSD 10.3. Nikdy jsem nezkoušel žádný jiný operační systém BSD kromě FreeBSD. Takže mohou existovat různé příkazy pro zjištění, zda je balíček nainstalován v jiných operačních systémech BSD.
Ve FreeBSD to můžeme udělat pomocí "pkg" příkaz:
$ pkg_info -Ix <package-name>
Příklad:
$ pkg info -Ix nano
Ukázkový výstup:
Zjistěte, zda je balíček nainstalován nebo ne ve FreeBSD pomocí příkazu pkg
Chcete-li zobrazit všechny nainstalované balíčky, můžete použít následující příkaz:
$ pkg info
Nebo
$ pkg version -v
To bude trvat několik sekund až minut v závislosti na počtu balíčků, které máte ve svém systému FreeBSD.
Závěr
Nyní víte, jak z příkazového řádku zjistit, zda je balíček nainstalován nebo ne, oficiálním a neoficiálním způsobem. Jak vidíte, není to tak těžké. Je to jen pár příkazů, které si snadno zapamatujete. Pokud si tyto příkazy nepamatujete, jednoduše si je uložte do záložek nebo je uložte do Terminálu spustit na vyžádání.