Wie finde ich heraus, ob ein bestimmtes Paket auf Debian installiert ist?


9

Ich arbeite mit einem Raspberry Pi B + und Raspbian 5/5/2015 und einigen Guides, die ein paar Jahre alt sind. Ich habe eine externe NTFS-Festplatte an den Pi angeschlossen. Aufgrund des Alters der Artikel haben sich die gängigen Praktiken geändert, und es stellt sich heraus, dass bestimmte Pakete sowie Features und Funktionen jetzt integriert und / oder automatisch sind.

Ich habe zum Beispiel herausgefunden, dass Raspbian die automatische Bereitstellung eines NTFS-Laufwerks / Volumes übernimmt, wenn Sie nur ntfs-3g installieren. Alle Anweisungen und Anleitungen, die ich finden konnte (IRC, Himbeer-Pi-Forum und ein Linux-Typ, den ich kenne), waren äußerst technisch und machten Wer-weiß-was mit meinem System, um mir zu helfen, als wir in Wirklichkeit alle über automatische Funktionen stolperten dass niemand davon wusste oder daran dachte, es zu überprüfen. Ich habe seitdem Raspbian frisch auf einer neuen SD-Karte installiert und bisher nur SSH aktiviert, apt-get aktualisiert und ntfs-3g installiert.

Dies ist der Artikel, den ich gerade verwende: http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/?PageSpeed = Noscript

Mein nächster Schritt ist, Samba zum Laufen zu bringen. Ja, ich weiß, dass Linux-Leute Windows hassen, aber ich bin ein Windows-Typ. Bis ich genug über Linux wissen kann, damit ein Linux-System mein Fallback ist, sind Windows-Computer meine Fallbacks. Irgendwann wird dieser Raspberry Pi ein Multi-TB-Laufwerk bekommen, obwohl es im Moment nur ein paar GB sind. Deshalb muss es NTFS sein.

Ich möchte überprüfen, ob Samba installiert ist, da mir im nächsten Schritt meiner Anleitung erklärt wird, wie Samba installiert und konfiguriert wird. Ich habe einige Befehle ausprobiert und bin mir nicht sicher, was ich mit den Ergebnissen anfangen soll oder wie ich sie verwenden soll. Ich habe hier gesucht und die technischen Details liegen über meinen Fähigkeiten und ich glaube nicht, dass sie mein scheinbar einfaches Bedürfnis befriedigen, herauszufinden, ob ein Paket installiert ist oder nicht.

Ich habe es versucht:

apt-cache dump

das gab mir viel zu viele Daten. Es rollte ein paar Minuten nach unten. Ich habe dies von The Raspberry Pi Handbook 3rd Edition (Link - Amazon) erhalten.

Ich habe es versucht

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:

aber ich bin nicht sicher, was ich von den Ergebnissen halten soll. Ich kann nicht sagen, ob es geeignet ist, die Server abzurufen und Informationen abzurufen oder sie von meinem System abzurufen.

Ich habe es versucht :

dpkg --get-selections

was ich von hier bekommen habe: http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/?PageSpeed=noscript, aber ich denke ich bin auf das gleiche Problem stoßen. Es scheint, dass sich die Syntax seit 2007 geändert hat. Die Manpage / Hilfedatei scheint mich zu der Annahme zu bringen, dass der Befehl funktionieren sollte

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

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

aber ich bekomme eine Fehlermeldung:

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

Ich habe hier ein paar Fragen gefunden, die verwandt sind, aber gib mir nicht, wonach ich suche. Ich möchte nur wissen, was installiert ist, aber ich denke, das ist ein Thema für eine andere Frage.


Sind Raspban und Debian austauschbar? Ich würde nicht denken, da Raspbian spezifisch für den Raspberry Pi ist und Debian wahrscheinlich auf mehreren Hardwareplattformen ausgeführt werden kann.
YetAnotherRandomUser

Raspbian und Debian sind nicht austauschbar, aber Raspbian ist ein Debian-Derivat mit denselben Paketverwaltungsmechanismen. Die folgenden Antworten mit Befehlen wie apt-cache und dpkg gelten gleichermaßen für beide (und für Ubuntu, Linux Mint usw.)
Benjamin Staton

Antworten:


10

apt-cache showpkgZeigt detaillierte Informationen zu potenziell installierbaren Paketen an. Es zeigt an, ob das Paket installiert ist, aber nicht sehr gut lesbar:

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

Wenn das Paket installiert wurde, wird es (/var/lib/dpkg/status)am Ende der Zeile angezeigt. Dies ist jedoch nicht vollständig zuverlässig, da diese Anzeige auch angezeigt wird, wenn das Paket Ihrem System bekannt, aber nicht vollständig installiert war, z. B. wenn es sich im Status "Paket deinstalliert, aber Konfigurationsdateien übrig" befand.

Ein nützlicherer apt-cacheUnterbefehl ist apt-cache policy. Es zeigt deutlich die installierte Version (falls vorhanden) und die verfügbaren Versionen. Hier ist zum Beispiel die Ausgabe von einem Computer, der sambainstalliert wurde, aber nicht 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

Alternativ können Sie den dpkgBefehl verwenden, um Informationen zu Ihrem aktuellen System abzurufen. APT ist die Software, die das Herunterladen von Paketen, die Abhängigkeitsanalyse usw. verwaltet. Dpkg ist die Low-Level-Software, die die eigentliche Installation einer Paketdatei ausführt.

dpkg -l samba

Dies zeigt eine Zeile, die mit beginnt, iwenn das Paket installiert ist, und eine Zeile, die mit uoder poder gar nichts beginnt, wenn das Paket nicht installiert ist.

$ 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-queryist der dpkgUnterbefehl, der Informationen zur Paketdatenbank zurückgibt.)

Beachten Sie, dass Sie einfach ausführen können, wenn Sie nur sicherstellen möchten, dass ein Paket installiert ist

apt-get install samba

Dies führt zu nichts, wenn die neueste Version des Pakets, die in Ihrer Distribution verfügbar ist, bereits installiert ist. Das Paket wird installiert, wenn es noch nicht installiert ist, und es wird aktualisiert, wenn Sie eine ältere Version haben.


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

Listet Pakete auf, an denen Sie interessiert sind, mit ihren aktuellen Installationsstauts. Die Ausgabe wird ungefähr so ​​sein

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

Die ersten 2 Zeichen geben den Status an - ii bedeutet hier Erstes i - für die Installation markiert Zweites i - Erfolgreich installiert

Es gibt andere Statuscodes wie r, die zum Entfernen markiert sind, p, die zum Löschen markiert ist usw.


+1 für Leistung plus Einfachheit und Zulassen von Teilübereinstimmungen, wenn Sie den genauen Paketnamen nicht kennen. Teilweise in diesem dpkg -l | grep php könnte php5, php5-cli, php5-common usw. zurückgeben
Benjamin Staton

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

1

dpkg -l $ PACKAGENAME

reicht. Die ersten beiden Zeichen in der Zeile zeigen den Paketstatus an


Insbesondere iibedeutet der Status, dass es installiert ist
Corey Goldberg

1
aptitude show foo

zeigt den Status des Pakets an

root @ srv: # aptitude show python-jmespath
Paket: python-jmespath
Version: 0.9.0-2
Status: nicht installiert
Priorität: optional
Abschnitt: Python
Betreuer: Debian Python Modules Team python-modules-team@lists.alioth.debian.org
Architektur: alle
Unkomprimierte Größe: 97,3 k
Abhängig von: Python (> = 2,7)
Beschreibung: JSON Matching Expressions (Python 2)
 JMESPath ist eine Python-Bibliothek, mit der Sie deklarativ angeben können, wie Elemente aus einem JSON-Dokument extrahiert werden sollen.

 Dieses Paket enthält das Modul für Python 2.
Homepage: https://github.com/boto/jmespath


root @ cx-ops02: #

0

Ich hoffe, Sie können dieses Problem lösen.

  • dpkg --help Hilfe zum Installieren und Deinstallieren von Paketen [*];

  • Verwendung aptoder aptitudezur benutzerfreundlichen Paketverwaltung;

  • Typ dpkg -Dhelpfür eine Liste von dpkgDebug-Flag-Werten;
  • Typ dpkg --force-helpfür eine Liste von Forcierungsoptionen;
  • Geben Sie ein, dpkg-deb --helpum Hilfe zum Bearbeiten von *.debDateien zu erhalten.

Mit [*] gekennzeichnete Optionen erzeugen viel Ausgabe - leiten Sie sie durch lessoder more!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.