Comment savoir si un paquet spécifique est installé sur Debian?


9

Je travaille avec un Raspberry Pi B + et Raspbian 5/5/2015 et quelques guides qui ont quelques années. J'ai un disque dur externe NTFS connecté au Pi. En raison de l'âge des articles, les pratiques courantes ont changé et il s'avère que certains packages, fonctionnalités et fonctions sont désormais intégrés et / ou automatiques.

Par exemple, j'ai découvert que Raspbian gérera le montage automatique d'un lecteur / volume NTFS si vous installez simplement ntfs-3g. Toutes les instructions et tous les conseils que j'ai pu trouver (IRC, forum Raspberry Pi et un mec Linux que je connais) sont tous devenus extrêmement techniques en faisant qui sait quoi sur mon système pour essayer de m'aider, alors qu'en réalité, nous trébuchions tous sur des fonctionnalités automatiques que personne ne savait ou ne pensait vérifier. J'ai depuis installé Raspbian sur une nouvelle carte SD et jusqu'à présent, j'ai activé SSH, mis à jour apt-get et installé ntfs-3g.

Voici l'article que j'utilise actuellement: http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/?PageSpeed = noscript

Ma prochaine étape est de faire fonctionner Samba. Oui, je sais que les gens Linux détestent Windows, mais je suis un gars Windows, donc jusqu'à ce que je puisse en savoir assez sur Linux pour qu'un système Linux soit mon repli, les machines Windows sont mes replis. Finalement, ce Raspberry Pi obtiendra un lecteur multi-To, bien que pour le moment ce ne soit que quelques Go; c'est pourquoi il doit être NTFS.

Je voudrais vérifier si Samba est installé, car la prochaine étape de mes instructions me dit comment l'installer et le configurer. J'ai essayé quelques commandes et je ne sais pas quoi faire des résultats ni comment les utiliser. J'ai cherché ici et les détails techniques sont au-dessus de mes capacités et je ne pense pas qu'ils répondent à mon besoin apparemment simple de savoir si un package est installé ou non.

J'ai essayé:

apt-cache dump

cela m'a donné beaucoup trop de données. Il a défilé pendant quelques minutes. Je l'ai obtenu de la Raspberry Pi Handbook 3rd Edition (Lien - Amazon)

j'ai essayé

apt-cache showpkg samba
Package: samba
Versions:
2:3.6.6-6+deb7u5 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_                                  wheezy_main_binary-armhf_Packages)
 Description Language:
                 File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_d                                  ists_wheezy_main_binary-armhf_Packages
                  MD5: 0122ac62ef5f4ae21eb2e195eb45ad1d


Reverse Depends:
  winbind,samba 2.2.3-2
  task-file-server,samba
  swat,samba 2:3.6.6-6+deb7u5
  smbclient,samba 2.999+3.0.alpha21-4
  samba4-common-bin,samba 2:3.3.0~rc2-5
  samba4,samba 2:3.3.0~rc2-5
  samba-dbg,samba 2:3.6.6-6+deb7u5
  samba-common-bin,samba 3.0.20b-1
  samba-common,samba 3.0.20b-1
  qtsmbstatus-server,samba
  qemu-system,samba
  nautilus-share,samba 3.0.27a
  libwbclient0,samba 2:3.4.1
  libpam-winbind,samba 2.2.3-2
  libpam-smbpass,samba
  libnss-winbind,samba 2.2.3-2
  gadmin-samba,samba
  education-main-server,samba
  dpsyco-samba,samba
Dependencies:
2:3.6.6-6+deb7u5 - samba-common (5 2:3.6.6-6+deb7u5) libwbclient0 (5 2:3.6.6-6+d                                  eb7u5) libacl1 (2 2.2.51-8) libattr1 (2 1:2.4.46-8) libc6 (2 2.13-28) libcap2 (2                                   2.10) libcomerr2 (2 1.01) libcups2 (2 1.4.0) libgcc1 (2 1:4.4.0) libgssapi-krb5                                  -2 (2 1.10+dfsg~) libk5crypto3 (2 1.6.dfsg.2) libkrb5-3 (2 1.10+dfsg~) libldap-2                                  .4-2 (2 2.4.7) libpam0g (2 0.99.7.1) libpopt0 (2 1.14) libtalloc2 (2 2.0.4~git20                                  101213) libtdb1 (2 1.2.7+git20101214) zlib1g (2 1:1.1.4) debconf (18 0.5) debcon                                  f-2.0 (0 (null)) libpam-runtime (2 1.0.1-11) libpam-modules (0 (null)) lsb-base                                   (2 3.2-13) procps (0 (null)) update-inetd (0 (null)) adduser (0 (null)) dpkg (2                                   1.15.7.2) openbsd-inetd (16 (null)) inet-superserver (0 (null)) smbldap-tools (0                                   (null)) ldb-tools (0 (null)) ctdb (0 (null)) logrotate (0 (null)) tdb-tools (0                                   (null)) samba4 (3 4.0.0~alpha6-2) samba-common (1 2.0.5a-2)
Provides:
2:3.6.6-6+deb7u5 -
Reverse Provides:
pi@raspberrypi ~ $ apt-cache showpkg ntfs-3g
Package: ntfs-3g
Versions:
1:2012.1.15AR.5-2.1+deb7u2 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
                  MD5: b2df024e8627b5d253b85f35263376ef


Reverse Depends:
  udisks,ntfs-3g
  ntfsprogs,ntfs-3g
  ntfs-config,ntfs-3g
  ntfs-3g-dev,ntfs-3g 1:2012.1.15AR.5-2.1+deb7u2
  ntfs-3g-dbg,ntfs-3g 1:2012.1.15AR.5-2.1+deb7u2
  kvpm,ntfs-3g
  fsarchiver,ntfs-3g
Dependencies:
1:2012.1.15AR.5-2.1+deb7u2 - debconf (18 0.5) debconf-2.0 (0 (null)) libc6 (2 2.13-28) libfuse2 (2 2.8.1) libgcc1 (2 1:4.4.0) libgcrypt11 (2 1.4.5) libgnutls26 (2 2.12.17-0) multiarch-support (0 (null)) fuse (0 (null)) libntfs-3g75 (0 (null)) ntfsprogs (3 1:2011.10.9AR.1-3~) libntfs-3g75 (0 (null)) ntfsprogs (0 (null))
Provides:
1:2012.1.15AR.5-2.1+deb7u2 -
Reverse Provides:
pi@raspberrypi ~ $ apt-cache showpkg ntfsprogs
Package: ntfsprogs
Versions:
1:2012.1.15AR.5-2.1+deb7u2 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages)
 Description Language:
                 File: /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages
                  MD5: 95f41af9cf1d0b5b66afb7d2a9e7c75d


Reverse Depends:
  partitionmanager,ntfsprogs
  ntfs-3g,ntfsprogs
  ntfs-3g,ntfsprogs 1:2011.10.9AR.1-3~
  gparted,ntfsprogs
  fsarchiver,ntfsprogs
  fai-setup-storage,ntfsprogs
Dependencies:
1:2012.1.15AR.5-2.1+deb7u2 - ntfs-3g (0 (null))
Provides:
1:2012.1.15AR.5-2.1+deb7u2 -
Reverse Provides:

mais je ne sais pas quoi faire des résultats. Je ne peux pas dire si cela va obtenir les serveurs et obtenir des informations, ou les extraire de mon système.

J'ai essayé :

dpkg --get-selections

que j'ai obtenu ici: http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/?PageSpeed=noscript mais je pense que je suis rencontrant le même problème. Il semble que la syntaxe ait changé depuis 2007. La page de manuel / fichier d'aide semble me faire croire que la commande devrait fonctionner

Usage: dpkg [<option> ...] <command>

--get-selections [<pattern> ...] Get list of selections to stdout.

mais je reçois une erreur:

dpkg –get-selections samba
dpkg: error: need an action option

J'ai trouvé ici quelques questions qui sont liées, mais ne me donnez pas ce que je recherche. Je souhaite simplement savoir ce qui est installé, mais je suppose que c'est un sujet pour une autre question.


Raspban et Debian sont-ils interchangeables? Je ne pense pas, car Raspbian est spécifique au Raspberry Pi et Debian peut probablement fonctionner sur plusieurs plates-formes matérielles.
YetAnotherRandomUser

Raspbian et Debian ne sont pas interchangeables, mais Raspbian est un dérivé de Debian avec les mêmes mécanismes de gestion de paquets. Les réponses ci-dessous en utilisant des commandes comme apt-cache et dpkg s'appliquent également aux deux (et à Ubuntu, Linux Mint, etc.)
Benjamin Staton

Réponses:


10

apt-cache showpkgaffiche des informations détaillées sur les packages potentiellement installables. Cela indique si le paquet est installé, en quelque sorte, mais pas de manière très lisible:

Versions:
2:3.6.6-6+deb7u5 (/var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_wheezy_main_binary-armhf_Packages)

Si le paquet était installé, vous verriez (/var/lib/dpkg/status)à la fin de la ligne. Cependant, ce n'est pas entièrement fiable, car vous verriez également cette indication si le package était connu de votre système mais pas complètement installé, par exemple s'il était dans l'état "package désinstallé mais fichiers de configuration restants".

Une apt-cachesous-commande plus utile est apt-cache policy. Il indique clairement la version installée (le cas échéant) et la ou les versions disponibles. Par exemple, voici la sortie d'une machine qui a sambainstallé mais pas samba-dev:

samba:
  Installed: 2:4.1.17+dfsg-2
  Candidate: 2:4.1.17+dfsg-2
  Version table:
 *** 2:4.1.17+dfsg-2 0
        500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status
samba-dev:
  Installed: (none)
  Candidate: 2:4.1.17+dfsg-2
  Version table:
     2:4.1.17+dfsg-2 0
        500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages

Vous pouvez également utiliser la dpkgcommande pour obtenir des informations sur votre système actuel. APT est le logiciel qui gère le téléchargement des packages, l'analyse des dépendances, etc. Dpkg est le logiciel de bas niveau qui effectue l'installation proprement dite d'un fichier de package.

dpkg -l samba

Cela montre une ligne commençant par isi le package est installé, et une ligne commençant par uou pou rien du tout si le package n'est pas installé.

$ dpkg -l samba samba-dev
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  samba          2:4.1.17+dfs amd64        SMB/CIFS file, print, and login s
dpkg-query: no packages found matching samba-dev

( dpkg-queryest la dpkgsous-commande qui renvoie des informations sur la base de données du package.)

Notez que si vous voulez simplement vous assurer qu'un package est installé, vous pouvez simplement exécuter

apt-get install samba

Cela ne fera rien si la dernière version du package disponible dans votre distribution est déjà installée. Il installera le package s'il n'est pas encore installé, et il le mettra à niveau si vous avez une ancienne version.


5
dpkg -l | grep -e package1 -e package2 ....

Répertorie les packages qui vous intéressent avec leurs stauts d'installation actuels. La sortie sera quelque chose comme ça

bala@bala-laptop:~$ dpkg -l | grep apache2
ii  apache2                                2.4.10-10                            amd64        Apache HTTP Server

Les 2 premiers caractères indiquent l'état - ii signifie ici Premier i - marqué pour l'installation Deuxième i - Installation réussie

Il existe d'autres codes d'état comme r signifiant marqué pour la suppression, p signifiant marqué pour la purge, etc.


+1 pour plus de puissance et de simplicité, et permettant des correspondances partielles si vous ne connaissez pas le nom exact du package. Partielle dans la mesure où dpkg -l | grep php pourrait renvoyer php5, php5-cli, php5-common, etc.
Benjamin Staton

dpkg -l apache2 | grep '' ^ ii '
Corey Goldberg

1

dpkg -l $ PACKAGENAME

est assez. Les deux premiers caractères de la ligne afficheront l'état du package


en particulier, l'état iisignifie qu'il est installé
Corey Goldberg

1
aptitude show foo

affichera l'état du paquet

root @ srv: # aptitude show python-jmespath
Paquet: python-jmespath
Version: 0.9.0-2
État: non installé
Priorité: facultative
Section: python
Responsable: Debian Python Modules Team python-modules-team@lists.alioth.debian.org
Architecture: tous
Taille non compressée: 97,3 k
Dépend: python (> = 2.7)
Description: Expressions de correspondance JSON (Python 2)
 JMESPath est une bibliothèque python qui vous permet de spécifier de manière déclarative comment extraire des éléments d'un document JSON.

 Ce paquet contient le module pour Python 2.
Page d'accueil: https://github.com/boto/jmespath


root @ cx-ops02: #

0

J'espère que vous pourrez résoudre ce problème.

  • dpkg --help pour obtenir de l'aide sur l'installation et la désinstallation des packages [*];

  • utiliser aptou aptitudepour une gestion conviviale des packages;

  • tapez dpkg -Dhelppour une liste de dpkgvaleurs d'indicateur de débogage;
  • tapez dpkg --force-helppour une liste d'options de forçage;
  • tapez dpkg-deb --helppour obtenir de l'aide sur la manipulation des *.debfichiers;

Les options marquées [*] produisent beaucoup de sortie - dirigez-la vers lessou more!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.