จะทราบได้อย่างไรว่ามีการติดตั้งแพ็คเกจเฉพาะบน Debian หรือไม่?


9

ฉันกำลังทำงานกับ Raspberry Pi B + และ Raspbian 5/5/2015 และคู่มือบางอย่างที่มีอายุไม่กี่ปี ฉันมี NTFS HDD ภายนอกที่ต่อเชื่อมกับ Pi เนื่องจากอายุบทความการปฏิบัติทั่วไปมีการเปลี่ยนแปลงและปรากฎว่าแพคเกจและคุณสมบัติและฟังก์ชั่นบางอย่างตอนนี้มีในตัวและ / หรืออัตโนมัติ

ตัวอย่างเช่นฉันพบว่า Raspbian จะจัดการการติดตั้งไดรฟ์ / โวลุ่ม NTFS โดยอัตโนมัติหากคุณเพิ่งติดตั้ง ntfs-3g คำแนะนำและคำแนะนำทั้งหมดที่ฉันสามารถหาได้ (IRC ฟอรัมราสเบอร์รี่ pi และ Linux dude ที่ฉันรู้จัก) ทุกอย่างเป็นไปด้วยเทคนิคอย่างมากที่ทำใครจะรู้ว่าระบบของฉันจะพยายามช่วยฉันได้อย่างไรเมื่อในความเป็นจริงเราทุกคน ที่ไม่มีใครรู้หรือคิดจะตรวจสอบ ฉันได้ติดตั้ง Raspbian fresh ไปยังการ์ด SD ใหม่และตอนนี้เพิ่งเปิด 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

ขั้นตอนต่อไปของฉันคือการทำให้แซมบ้าทำงานได้ ใช่ฉันรู้ว่าคน Linux เกลียด Windows แต่ฉันเป็นผู้ชาย Windows ดังนั้นจนกว่าฉันจะรู้เพียงพอเกี่ยวกับ Linux สำหรับระบบ Linux ที่จะเป็นทางเลือกของฉันเครื่อง Windows เป็นทางเลือกของฉัน ในที่สุด Raspberry Pi นี้จะได้รับไดรฟ์หลาย TB แต่ตอนนี้มันมีเพียงไม่กี่ GB นี่คือสาเหตุที่จำเป็นต้องเป็น NTFS

ฉันต้องการตรวจสอบว่าติดตั้ง Samba หรือไม่เนื่องจากขั้นตอนต่อไปในคำแนะนำของฉันบอกวิธีการติดตั้งและกำหนดค่า ฉันได้ลองคำสั่งสองสามข้อแล้วและฉันไม่แน่ใจว่าจะทำอย่างไรกับผลลัพธ์หรือวิธีใช้ ฉันค้นหาที่นี่และรายละเอียดทางเทคนิคอยู่เหนือขีดความสามารถของฉันและฉันไม่คิดว่าพวกเขาจะพูดถึงความต้องการที่เรียบง่ายของฉันเพื่อดูว่ามีการติดตั้งแพคเกจหรือไม่

ฉันเหนื่อย:

apt-cache dump

สิ่งนี้ทำให้ฉันมีข้อมูลมากเกินไป มันเลื่อนลงมาสองสามนาที ฉันได้รับสิ่งนี้จากคู่มือ Raspberry Pi รุ่นที่ 3 (ลิงก์ - 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:

แต่ฉันไม่แน่ใจว่าจะทำอย่างไรให้ได้ผลลัพธ์ ฉันไม่สามารถบอกได้ว่าจะรับเซิร์ฟเวอร์และรับข้อมูลหรือดึงข้อมูลจากระบบของฉันหรือไม่

ฉันเหนื่อย :

dpkg --get-selections

ซึ่งฉันได้จากที่นี่: http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubuntu-or-debian/?PageSpeed=noscript แต่ฉันคิดว่าฉัน พบปัญหาเดียวกัน ดูเหมือนว่าไวยากรณ์ได้เปลี่ยนไปตั้งแต่ปี 2007 หน้า man / help file ดูเหมือนจะทำให้ฉันเชื่อว่าคำสั่งควรทำงาน

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

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

แต่ฉันได้รับข้อผิดพลาด:

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

ฉันพบ wuestions ไม่กี่ที่นี่ที่เกี่ยวข้อง แต่ไม่ให้สิ่งที่ฉันกำลังมองหา ฉันสนใจเพียงแค่รู้ว่ามีอะไรติดตั้งอยู่ แต่ฉันเดาว่าเป็นหัวข้อสำหรับคำถามอื่น


Raspban และ Debian ใช้แทนกันได้หรือไม่? ฉันคิดว่าไม่ใช่เพราะ Raspbian เฉพาะกับ Raspberry Pi และ Debian อาจทำงานบนแพลตฟอร์มฮาร์ดแวร์หลายตัวได้
YetAnotherRandomUser

Raspbian และ Debian ไม่สามารถใช้แทนกันได้ แต่ Raspbian เป็นอนุพันธ์ Debian ที่มีกลไกการจัดการแพ็กเกจเดียวกัน คำตอบด้านล่างโดยใช้คำสั่งเช่น apt-cache และ dpkg ใช้ได้กับทั้ง (และ Ubuntu, Linux Mint และอื่น ๆ )
Benjamin Staton

คำตอบ:


10

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-cachesubcommand 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

สิ่งนี้จะไม่ทำอะไรเลยหากติดตั้งแพ็คเกจรุ่นล่าสุดที่มีให้ในการกระจายของคุณแล้ว มันจะติดตั้งแพคเกจหากยังไม่ได้ติดตั้งและมันจะทำการอัพเกรดหากคุณมีเวอร์ชั่นที่เก่ากว่า


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

จะแสดงรายการแพ็กเกจที่คุณสนใจด้วย stauts การติดตั้งปัจจุบันของพวกเขา ผลลัพธ์จะเป็นแบบนี้

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

อักขระ 2 ตัวแรกบอกสถานะ - ii ที่นี่หมายถึง First i - ทำเครื่องหมายสำหรับการติดตั้ง Second i - ติดตั้งสำเร็จ

มีรหัสสถานะอื่น ๆ เช่นความหมาย r ถูกทำเครื่องหมายเพื่อลบ, p หมายที่ทำเครื่องหมายสำหรับการล้าง ฯลฯ


+1 สำหรับพลังงานบวกกับความเรียบง่ายและอนุญาตการจับคู่บางส่วนหากคุณไม่ทราบชื่อแพคเกจที่แน่นอน บางส่วนใน dpkg -l | grep php อาจส่งคืน php5, php5-cli, php5- ทั่วไป ฯลฯ
Benjamin Staton

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

1

dpkg -l $ PACKAGENAME

ก็เพียงพอแล้ว อักขระสองตัวแรกในบรรทัดจะแสดงสถานะของแพ็คเกจ


โดยเฉพาะสถานะiiหมายความว่ามีการติดตั้ง
Corey Goldberg

1
aptitude show foo

จะแสดงสถานะของ pakage

root @ srv: # aptitude show python-jmespath
แพคเกจ: python-jmespath
เวอร์ชัน: 0.9.0-2
รัฐ: ไม่ได้ติดตั้ง
ระดับความสำคัญ: ไม่บังคับ
หมวด: หลาม
ผู้ดูแล: ทีม Debian Python Modules python-modules-team@lists.alioth.debian.org
สถาปัตยกรรม: ทั้งหมด
ขนาดที่ไม่บีบอัด: 97.3 k
ขึ้นอยู่กับ: หลาม (> = 2.7)
คำอธิบาย: JSON การจับคู่นิพจน์ (Python 2)
 JMESPath เป็นห้องสมุดหลามซึ่งช่วยให้คุณสามารถระบุวิธีการแยกองค์ประกอบจากเอกสาร JSON

 แพ็คเกจนี้ประกอบด้วยโมดูลสำหรับ Python 2
โฮมเพจ: https://github.com/boto/jmespath


ราก @ CX-ops02: #

0

ฉันหวังว่าคุณจะสามารถแก้ปัญหานี้ได้

  • dpkg --help สำหรับความช่วยเหลือเกี่ยวกับการติดตั้งและการยกเลิกการติดตั้งแพ็คเกจ [*];

  • ใช้aptหรือaptitudeสำหรับการจัดการแพ็คเกจที่ใช้งานง่าย

  • พิมพ์dpkg -Dhelpรายการของdpkgค่าสถานะการดีบัก
  • พิมพ์dpkg --force-helpรายการของตัวเลือกการบังคับ;
  • พิมพ์dpkg-deb --helpเพื่อขอความช่วยเหลือเกี่ยวกับการจัดการ*.debไฟล์;

ตัวเลือกที่ทำเครื่องหมาย [*] ให้ผลลัพธ์จำนวนมาก - ส่งผ่านlessหรือmore!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.