[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Consultando pacotes instalados

Às vezes, você pode querer verificar se um pacote específico está instalado ou qual versão de um pacote está instalada no seu sistema. Se o pacote fizer parte da instalação do Slackware, você poderá usar a ferramenta slackpkg:

# slackpkg info emacs

PACKAGE NAME:  emacs-24.1-x86_64-6.txz
PACKAGE LOCATION:  ./slackware64/e
PACKAGE SIZE (compressed):  36704 K
PACKAGE SIZE (uncompressed):  110720 K
PACKAGE DESCRIPTION:
emacs: emacs (GNU Emacs)
emacs:
emacs: Emacs is the extensible, customizable, self-documenting real-time
emacs: display editor. If this seems to be a bit of a mouthful, an
emacs: easier explanation is that Emacs is a text editor and more. At
emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp
emacs: programming language with extensions to support text editing.
emacs: This version supports X.
emacs:
emacs: http://www.gnu.org/software/emacs/
emacs:

Isso funciona bem para os pacotes principais do Slackware. Alguns de nós, no entanto, instalam programas adicionais de várias fontes (eg. SlackBuilds), que não são levados em consideração pelo slackpkg. Outro método que inclui todos os pacotes * instalados corretamente é o seguinte:

ls /var/log/packages | grep i3
i3-4.2-x86_64-1_SBo
i3status-2.5.1-x86_64-1_SBo

Primeiro, listamos o conteúdo do diretório /var/log/packages, que inclui os nomes de todos os pacotes atualmente instalados. Em seguida, o canalizamos para grep para restringir os resultados e exibir apenas pacotes que correspondem ao nosso padrão.

Outro exemplo mostrando todos os pacotes instalados no Slackbuilds:

ls /var/log/packages | grep SBo

Se você não quiser digitá-lo toda vez, poderá criar um script muito curto e adicioná-lo ao seu caminho:

pkg.sh
#!/bin/sh
packages_dir=/var/log/packages/
 
if [ "$#" -eq 1 ]; then
        ls $packages_dir | grep $1
else
        echo "Please, provide one argument"
fi
$ pkg.sh cairo
cairo-1.10.2-x86_64-2
cairomm-1.9.8-x86_64-1_SBo
pycairo-1.8.10-x86_64-2

Outra maneira de descobrir os pacotes instalados

installed_pkgs_info
#!/bin/sh
#Save this script as "installed_pkgs_info" probably in /usr/local/bin
 
pkgdir="/var/lib/pkgtools/packages/"
 
printf "\n\n\b\t Getting the information about installed pkgs...\n\n"
 
cd $pkgdir
 
for i in *;do slackpkg info $i | grep "PACKAGE NAME:"; sleep 1;done 
 And the output should look like this :

root@Slackware_16:45:19_Tue Jun 16:~#installed_pkgs_info


 Getting the information about installed pkgs...

PACKAGE NAME:  ConsoleKit2-1.2.1-x86_64-4.txz
PACKAGE NAME:  Cython-0.29.20-x86_64-1.txz
PACKAGE NAME:  GConf-3.2.6-x86_64-4.txz
PACKAGE NAME:  LibRaw-0.18.12-x86_64-1.txz
PACKAGE NAME:  M2Crypto-0.35.2-x86_64-5.txz
PACKAGE NAME:  MPlayer-20200103-x86_64-2.txz
PACKAGE NAME:  MPlayer-20200103-x86_64-2_alsa.txz

..snipped output for brevity!
*Observe que, se você executar instaladores binários diretamente (por exemplo, VirtualBox), um programa não terá uma entrada em /var/log/packages/.

Sources

 pt-br:howtos:slackware_admin:querying_installed_packages ()