web-dev-qa-db-ja.com

Debianに特定のパッケージがインストールされているかどうかを確認する方法は?

私はRaspberry Pi B +とRaspbian 5/5/2015、および数年前のガイドを使用しています。 Piに接続された外付けNTFS HDDを持っています。記事の古さのために、一般的な慣行が変更され、特定のパッケージと機能が組み込みまたは自動化されていることが判明しました。

たとえば、ntfs-3gをインストールしただけの場合 RaspbianがNTFSドライブ/ボリュームの自動マウントを処理することがわかりました 。私が見つけることができるすべての指示とガイダンス(IRC、Raspberry Piフォーラム、およびLinuxの知り合い)はすべて、非常に技術的なもので、実際には自動機能につまずいていたときに、私のシステムに誰が何を知っているかを教えてくれました。誰も知らなかったか、チェックすることを考えていませんでした。それ以来、Raspbianを新しいSDカードに新しくインストールし、SSHをオンにして、apt-getを更新し、ntfs-3gをインストールしました。

これは私が現在使用している記事です: http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-デバイス/?PageSpeed = noscript

次のステップは、Sambaを稼働させることです。はい、私はLinuxの人々がWindowsを嫌っているのを知っていますが、私はWindowsの男なので、Linuxシステムが私のフォールバックになるためのLinuxについて十分に理解できるようになるまで、Windowsマシンが私のフォールバックです。最終的に、このRaspberry PiはマルチTBドライブを取得しますが、現時点では数GBです。これがNTFSである必要がある理由です。

Sambaがインストールされているかどうかを確認したいと思います。これは、私の指示の次のステップで、Sambaをインストールして構成する方法を示しているためです。いくつかのコマンドを試してみましたが、結果の処理方法や使用方法がわかりません。私はここで検索しましたが、技術的な詳細は私の能力よりも上で、パッケージがインストールされているかどうかを確認するという一見単純な必要性に対応しているとは思いません。

私は試した:

apt-cache dump

これはあまりにも多くのデータを与えてくれました。数分間スクロールダウンしました。 Raspberry Pi Handbook 3rd Edition ((Link-Amazon) からこれを入手しました

私は試した

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:

しかし、私は結果をどうするかわかりません。サーバーをapt-getして情報を取得するのか、それともシステムから取得するのかわかりません。

私は試した :

dpkg --get-selections

ここから得たもの: http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/?PageSpeed=noscript =しかし、私は同じ問題に遭遇していると思います。構文は2007年以降変更されているようです。manページ/ヘルプファイルは、コマンドが機能するはずであると私に思わせるようです

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

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

しかし、エラーが発生します:

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

私はここで関連しているいくつかの問題を見つけましたが、私が探しているものは与えません。何がインストールされているかを知りたいだけなのですが、それは別の質問のトピックだと思います。

apt-cache showpkgは、インストール可能なパッケージに関する詳細情報を表示します。これは、パッケージがインストールされているかどうかを示していますが、読みやすい方法ではありません。

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

パッケージがインストールされている場合は、行の終わりに(/var/lib/dpkg/status)が表示されます。ただし、パッケージがシステムに認識されているが完全にはインストールされていない場合(たとえば、 「パッケージはアンインストールされたが構成ファイルが残っている」状態の場合。

より便利なapt-cacheサブコマンドはapt-cache policyです。インストールされているバージョン(存在する場合)と使用可能なバージョンが明確に表示されます。たとえば、sambaがインストールされているが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

または、dpkgコマンドを使用して、現在のシステムに関する情報を取得できます。 APT=は、パッケージのダウンロード、依存関係の分析などを管理するソフトウェアです。Dpkgは、パッケージファイルの実際のインストールを実行する低レベルのソフトウェアです。

dpkg -l samba

これは、パッケージがインストールされている場合はiで始まる行を示し、パッケージがインストールされていない場合はuまたはpで始まる行を示します。

$ 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-queryは、パッケージデータベースに関する情報を返すdpkgサブコマンドです。)

パッケージがインストールされていることを確認したいだけの場合は、単に実行することができます

apt-get install samba

ディストリビューションで利用可能なパッケージの最新バージョンがすでにインストールされている場合、これは何もしません。パッケージがまだインストールされていない場合はインストールされ、古いバージョンの場合はアップグレードされます。

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

興味のあるパッケージを、現在のインストール状況とともにリストします。出力はこのようなものになります

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

最初の2文字はステータスを示します-ここのiiは最初のiを意味します-インストール用にマークされています2番目のi-正常にインストールされました

削除のマークが付いていることを意味するr、パージのマークが付いていることを意味するpなど、他のステータスコードもあります。

aptitude show foo

パッケージのステータスが表示されます

 root @ srv:#aptitude show python-jmespath 
パッケージ:python-jmespath 
バージョン:0.9.0-2 
状態:インストールされていません
優先度:オプション
セクション:python 
メンテナ:Debian Pythonモジュールチーム[email protected] 
アーキテクチャ:すべて
非圧縮サイズ:97.3 k 
依存:python(> = 2.7)
説明:JSONマッチング式(Python 2)
 JMESPathはpython JSONドキュメントから要素を抽出する方法を宣言的に指定できるライブラリ。
 
このパッケージには、Python 2のモジュールが含まれています。
ホームページ:https:/ /github.com/boto/jmespath


root@cx-ops02:#
1
valch85

dpkg -l $ PACKAGENAME

十分です行の最初の2文字はパッケージのステータスを示します

1
Marco d'Itri

この問題を解決していただければ幸いです。

  • dpkg --helpパッケージのインストールと削除に関するヘルプ[*];

  • ユーザーフレンドリーなパッケージ管理にはaptまたはaptitudeを使用してください。

  • タイプdpkg -Dhelpdpkgデバッグフラグ値のリスト。
  • タイプdpkg --force-help強制オプションのリスト。
  • タイプdpkg-deb --help操作に関するヘルプ*.debファイル;

[*]とマークされたオプションは、大量の出力を生成します-lessまたはmoreを介してパイプしてください!

0