데비안에 특정 패키지가 설치되어 있는지 어떻게 확인하나요?

데비안에 특정 패키지가 설치되어 있는지 어떻게 확인하나요?

저는 Raspbian 5/5/2015 및 몇 년 된 일부 가이드와 함께 Raspberry Pi B+를 사용하고 있습니다. Pi에 외부 NTFS HDD가 연결되어 있습니다. 기사가 나온 이후 일반적인 관행이 변경되었으며 특정 패키지와 기능이 이제 내장 및/또는 자동으로 제공되는 것으로 나타났습니다.

예를 들어,Raspbian이 NTFS 드라이브/볼륨의 자동 마운트를 처리한다는 것을 알았습니다.ntfs-3g만 설치하는 경우. 내가 찾을 수 있는 모든 지침과 지침(IRC, Raspberry Pi 포럼 및 내가 아는 Linux 사용자)은 매우 기술적이었고 나를 돕기 위해 내 시스템에 누가 무엇을 아는지 알 수 없었습니다. 실제로는 우리 모두 자동으로 기능이 중단되었습니다. 아무도 몰랐거나 확인하려고 생각하지 않았습니다. 새 SD 카드에 Raspbian을 새로 설치했으며 지금까지 SSH를 열고 apt-get을 업데이트하고 ntfs-3g를 설치했습니다.

이것은 내가 지금 사용하고 있는 기사입니다:http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/?PageSpeed=noscript

다음 단계는 Samba를 시작하고 실행하는 것입니다. 예, Linux 사용자가 Windows를 싫어한다는 것을 알고 있지만 저는 Windows 사용자이므로 Linux 시스템을 대체 수단으로 사용할 만큼 Linux에 대해 충분히 알기 전까지는 Windows 시스템을 대체 수단으로 사용합니다. 결국 이 Raspberry Pi에는 멀티 테라바이트 드라이브가 함께 제공되지만 현재는 몇 기가바이트에 불과하므로 NTFS가 필요합니다.

지침의 다음 단계에서 Samba를 설치하고 구성하는 방법을 알려 주기 때문에 Samba가 설치되어 있는지 확인하고 싶습니다. 몇 가지 명령을 시도했지만 결과를 어떻게 처리해야 할지, 어떻게 사용하는지 잘 모르겠습니다. 여기에서 검색 중인데 기술적인 세부 사항은 내 능력을 넘어서며 패키지 설치 여부를 확인하는 겉보기에 단순해 보이는 요구 사항을 충족하지 못하는 것 같습니다.

나는 시도했다:

apt-cache dump

이것은 나에게 너무 많은 데이터를 제공합니다. 몇 분 동안 아래로 스크롤되었습니다. 나는 이것을 Raspberry Pi Manual 3rd Edition에서 얻었습니다.(링크 - 아마존)

나는 노력했다

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:

하지만 결과를 어떻게 봐야 할지 모르겠습니다. 서버를 적절하게 가져와 정보를 얻을 것인지, 아니면 내 시스템에서 정보를 가져올 것인지는 알 수 없습니다.

나는 시도했다:

dpkg --get-selections

내가 여기에서 얻은 것 : http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/?PageSpeed=noscript 하지만 나에게도 같은 문제가 있다고 생각합니다. 2007년부터 구문이 변경된 것 같습니다. 매뉴얼 페이지/도움말 파일을 보면 명령이 작동해야 한다고 믿게 되는 것 같습니다.

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

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

하지만 오류가 발생합니다.

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

여기에서 몇 가지 관련 질문을 찾았지만 내가 원하는 것을 알려주는 질문은 없습니다. 나는 단지 무엇이 설치되었는지 알고 싶지만 그것은 또 다른 질문의 주제인 것 같습니다.

답변1

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

배포판에서 사용 가능한 최신 버전의 패키지가 이미 설치되어 있으면 아무 작업도 수행되지 않습니다. 아직 설치되지 않은 경우 패키지를 설치하고, 이전 버전이 있는 경우 패키지를 업그레이드합니다.

답변2

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가 설치된 것으로 표시되고 두 번째 i가 성공적으로 설치되었음을 의미합니다.

r(삭제 표시), p(제거 표시) 등 다른 상태 코드도 있습니다.

답변3

나를 위한

dpkg-query -s <pkg>

아마도 다른 옵션보다 간단할 것입니다.

이 명령은 출력을 무시하여 스크립트 테스트와 호환됩니다.

dpkg-query -s <pkg> >/dev/null 2>&1

패키지가 설치되어 있으면 0을 반환하고 그렇지 않으면 1을 반환합니다.

답변4

aptitude show foo

패키지 상태가 표시됩니다.

root@srv:# 적성 표시 python-jmespath
패키지: python-jmespath
버전: 0.9.0-2
상태: 설치되지 않음
우선순위: 선택사항
섹션: 파이썬
유지 관리: Debian Python 모듈 팀[이메일 보호됨]
아키텍처: 모두
비압축 크기: 97.3k
다음에 따라 다름: Python(>= 2.7)
설명: JSON 일치 표현식(Python 2)
 JMESPath는 JSON 문서에서 요소를 추출하는 방법을 선언적으로 지정할 수 있는 Python 라이브러리입니다.

 이 패키지에는 Python 2용 모듈이 포함되어 있습니다.
홈페이지: https://github.com/boto/jmespath


루트@cx-ops02:#

관련 정보