Você deve ser um novo usuário Linux ou tem experiência mas esqueceu alguns simples detalhes, como descobrir se um pacote está instalado usando a opção de linha de comando.
O comando para descobrir se um pacote está instalado no Linux depende da sua distribuição Linux. Vamos ver alguns exemplos.
Debian / Ubuntu Linux
USANDO DPKH -S
Use o comando dpkg juntamente com -s. Aqui, o -s serve para exibir detalhes sobre um determinado pacote. Se usarmos sobre “dpkg -s nome_do_pacote” podemos ter um monte de linhas como retorno, para filtrar podemos usar “| grep Status”
Suponha que você queira descobrir se o pacote ssh está instalado ou não, digite o comando:
maria@debian11VM:~$ dpkg -s ssh | grep Status Status: install ok installed
Se por acaso você digitar errado o nome do programa ou ele não existir, irá aparecer isso:
maria@debian11VM:~$ dpkg -s sshr | grep Status dpkg-query: o pacote 'sshr' não está instalado e não está disponível informação Utilize dpkg --info (= dpkg-deb --info) para examinar ficheiros de arquivo.
USANDO DPKG-QUERY
Podemos usar também o comando dpkg-query -s
maria@debian11VM:~$ dpkg-query -s ssh | grep Status Status: install ok installed
Ou dpkg-query -l para listar todos os programas/pacotes instalados. A lista é imensa, irei cortar o resultado.
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Nome Versão Arquitectura Descrição +++-================================-==============================-============-=================================================================================== ii adduser 3.118 all add and remove users and groups ii apache2 2.4.54-1~deb11u1 amd64 Apache HTTP Server ii apache2-bin 2.4.54-1~deb11u1 amd64 Apache HTTP Server (modules and other binary files) ii apache2-data 2.4.54-1~deb11u1 all Apache HTTP Server (common files) ii apache2-utils 2.4.54-1~deb11u1 amd64 Apache HTTP Server (utility programs for web servers) ii apparmor 2.13.6-10 amd64 user-space parser utility for AppArmor ii apt 2.2.4 amd64 commandline package manager ii apt-listchanges 3.24 all package change history notification tool ii apt-utils 2.2.4 amd64 package management related utility programs
Pode também usar o mesmo comando acima e filtrar com “| grep Status“
maria@debian11VM:~$ dpkg-query -l | grep ssh ii libssh2-1:amd64 1.9.0-2 amd64 SSH2 client-side library ii openssh-client 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) client, for secure access to remote machines ii openssh-server 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) server, for secure access from remote machines ii openssh-sftp-server 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines ii ssh 1:8.4p1-5+deb11u1 all secure shell client and server (metapackage)
Melhor ainda, se não lembra do nome de um pacote, você pode tentar combinar o nome do pacote usando curingas para encontrá-lo:
ia@debian11VM:~$ dpkg-query -l "*ssh*" 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) ||/ Nome Versão Arquitectura Descrição +++-===================-=================-============-=============================================> un libpam-ssh <nenhuma> <nenhuma> (nenhuma descrição disponível) ii libssh2-1:amd64 1.9.0-2 amd64 SSH2 client-side library ii openssh-client 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) client, for secure access > ii openssh-server 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) server, for secure access > ii openssh-sftp-server 1:8.4p1-5+deb11u1 amd64 secure shell (SSH) sftp server module, for SF> un openssh-sk-helper <nenhuma> <nenhuma> (nenhuma descrição disponível) ii ssh 1:8.4p1-5+deb11u1 all secure shell client and server (metapackage) un ssh-askpass <nenhuma> <nenhuma> (nenhuma descrição disponível) un ssh-client <nenhuma> <nenhuma> (nenhuma descrição disponível) un ssh-krb5 <nenhuma> <nenhuma> (nenhuma descrição disponível) un ssh-server <nenhuma> <nenhuma> (nenhuma descrição disponível) un ssh-socks <nenhuma> <nenhuma> (nenhuma descrição disponível) un ssh2 <nenhuma> <nenhuma> (nenhuma descrição disponível)
Veja que o ssh aparece acima, juntamente com muitos outros pacotes que estão relacionados com ele.
Red Hat Enterprise / Fedora Linux / Suse Linux / Cent OS
Em Red Hat/Fedora/CentOS/Suse Linux, use o comando rpm: rpm -qa | grep ssh
[maria@oracle86 ~]$ rpm -qa | grep ssh libssh-config-0.9.6-3.el8.noarch openssh-clients-8.0p1-13.el8.x86_64 openssh-server-8.0p1-13.el8.x86_64 libssh-0.9.6-3.el8.x86_64 openssh-8.0p1-13.el8.x86_64
Se você não vir ou obter nenhuma saída, como nome do pacote junto com a versão, isso significa que o pacote não está instalado.
Em CentOS/RHEL versão 6.x/7.xe superior, use o comando yum list ou dnf list para informar se um pacote chamado htop está instalado: dnf list installed
Mas se quiser filtrar apenas pelo nome do pacote desejado pode usar “| grep nome_pacote“
[maria@oracle86 ~]$ dnf list installed | grep ssh libssh.x86_64 0.9.6-3.el8 @anaconda libssh-config.noarch 0.9.6-3.el8 @anaconda openssh.x86_64 8.0p1-13.el8 @anaconda openssh-clients.x86_64 8.0p1-13.el8 @anaconda openssh-server.x86_64 8.0p1-13.el8 @anaconda