Làm thế nào để tìm hiểu xem một gói cụ thể được cài đặt trên Debian?


9

Tôi đang làm việc với Raspberry Pi B + và Raspbian 5/5/2015 và một số hướng dẫn đã được vài năm tuổi. Tôi đã có một ổ cứng NTFS bên ngoài được nối với Pi. Do tuổi tác của bài viết, các thông lệ đã thay đổi và hóa ra các gói và tính năng và chức năng nhất định hiện được tích hợp và / hoặc tự động.

Ví dụ, tôi phát hiện ra rằng Raspbian sẽ xử lý việc tự động hóa ổ đĩa / ổ đĩa NTFS nếu bạn chỉ cài đặt ntfs-3g. Tất cả các hướng dẫn và hướng dẫn tôi có thể tìm thấy (IRC, diễn đàn raspberry pi và một anh chàng Linux mà tôi biết) tất cả đều cực kỳ kỹ thuật khi biết hệ thống của tôi để cố gắng hỗ trợ tôi, trong thực tế, tất cả chúng ta đều vấp phải các tính năng tự động mà không ai biết hoặc nghĩ để kiểm tra. Kể từ khi tôi cài đặt Raspbian mới vào thẻ SD mới và cho đến nay chỉ cần bật SSH, cập nhật apt-get và cài đặt ntfs-3g.

Đây là bài viết tôi đang sử dụng ngay bây giờ: http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-stcharge-device/?PageSpeed = bản mô tả

Bước tiếp theo của tôi là đưa Samba lên và chạy. Vâng, tôi biết người Linux ghét Windows, nhưng tôi là một người Windows, vì vậy cho đến khi tôi có thể biết đủ về Linux để hệ thống Linux trở thành dự phòng của tôi, máy Windows là nhược điểm của tôi. Cuối cùng, Raspberry Pi này sẽ có ổ đĩa đa TB, mặc dù hiện tại nó chỉ là một vài GB; đó là lý do tại sao nó cần phải là NTFS.

Tôi muốn kiểm tra xem Samba đã được cài đặt chưa, vì bước tiếp theo trong hướng dẫn của tôi cho tôi biết cách cài đặt và định cấu hình nó. Tôi đã thử một vài lệnh và tôi không biết phải làm gì với kết quả hoặc cách sử dụng chúng. Tôi đã tìm kiếm ở đây và các chi tiết kỹ thuật nằm trên khả năng của tôi và tôi không nghĩ rằng họ giải quyết nhu cầu có vẻ đơn giản của tôi để tìm hiểu xem một gói có được cài đặt hay không.

Tôi đã thử:

apt-cache dump

Điều này đã cho tôi quá nhiều dữ liệu. Nó cuộn xuống trong vài phút. Tôi đã nhận được điều này từ Cẩm nang Raspberry Pi Phiên bản thứ 3 (Liên kết - Amazon)

Tôi đã thử

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:

nhưng tôi không chắc chắn những gì để làm cho kết quả. Tôi không thể biết liệu nó có thích hợp với máy chủ hay không và lấy thông tin từ hệ thống của tôi.

Tôi đã thử:

dpkg --get-selections

mà tôi đã nhận được từ đây: http://www.howtogeek.com/howto/linux/show-the-list-of-installed-packages-on-ubfox-or-debian/?PageSpeed=noscript nhưng tôi nghĩ tôi chạy vào cùng một vấn đề Có vẻ như cú pháp đã thay đổi kể từ năm 2007. Tệp hướng dẫn / trang trợ giúp dường như khiến tôi tin rằng lệnh sẽ hoạt động

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

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

nhưng tôi gặp lỗi:

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

Tôi đã tìm thấy một vài lời khuyên ở đây có liên quan, nhưng đừng cho tôi những gì tôi đang tìm kiếm. Tôi quan tâm đến việc chỉ cần biết những gì được cài đặt, nhưng tôi đoán đó là một chủ đề cho một câu hỏi khác.


Raspban và Debian có thể hoán đổi cho nhau không? Tôi nghĩ không phải vì Raspbian dành riêng cho Raspberry Pi và Debian có thể có thể chạy trên nhiều nền tảng phần cứng.
YetAnotherRandomUser

Raspbian và Debian không thể hoán đổi cho nhau, nhưng Raspbian là một dẫn xuất Debian có cùng cơ chế quản lý gói. Các câu trả lời bên dưới bằng cách sử dụng các lệnh như apt-cache và dpkg áp dụng như nhau cho cả hai (và cho Ubuntu, Linux Mint, v.v.)
Benjamin Staton

Câu trả lời:


10

apt-cache showpkghiển thị thông tin chi tiết về các gói có khả năng cài đặt. Nó cho biết liệu gói được cài đặt, loại, nhưng không phải theo cách rất dễ đọc:

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

Nếu gói đã được cài đặt, bạn sẽ thấy (/var/lib/dpkg/status)ở cuối dòng. Tuy nhiên, điều này không hoàn toàn đáng tin cậy, bởi vì bạn cũng sẽ thấy dấu hiệu này nếu gói được biết đến với hệ thống của bạn nhưng chưa được cài đặt đầy đủ, ví dụ: nếu gói đó đã được gỡ cài đặt nhưng các tệp cấu hình còn sót lại trong trạng thái của Hay.

Một apt-cachetiểu ban hữu ích hơn là apt-cache policy. Nó hiển thị rõ ràng phiên bản đã cài đặt (nếu có) và (các) phiên bản có sẵn. Ví dụ: đây là đầu ra từ một máy đã sambacài đặt nhưng không 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

Ngoài ra, bạn có thể sử dụng dpkglệnh để lấy thông tin về hệ thống hiện tại của bạn. APT là phần mềm quản lý việc tải xuống các gói, phân tích phụ thuộc, v.v. Dpkg là phần mềm cấp thấp thực hiện cài đặt thực tế của tệp gói.

dpkg -l samba

Chương trình này một dòng bắt đầu bằng inếu gói được cài đặt, và một dòng bắt đầu bằng uhoặc phoặc không có gì ở tất cả nếu gói không được cài đặt.

$ 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-querydpkgtiểu ban trả về thông tin về cơ sở dữ liệu gói.)

Lưu ý rằng nếu bạn chỉ muốn đảm bảo rằng gói được cài đặt, bạn chỉ cần chạy

apt-get install samba

Điều này sẽ không làm gì nếu phiên bản mới nhất của gói có sẵn trong bản phân phối của bạn đã được cài đặt. Nó sẽ cài đặt gói nếu chưa cài đặt và nó sẽ nâng cấp nếu bạn có phiên bản cũ hơn.


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

Sẽ liệt kê các gói bạn quan tâm với các stauts kết tinh hiện tại của họ. Đầu ra sẽ giống như thế này

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

2 ký tự đầu tiên cho biết trạng thái - ii ở đây có nghĩa là Đầu tiên i - được đánh dấu để cài đặt Thứ hai i - Đã cài đặt thành công

Có các mã trạng thái khác như r có nghĩa được đánh dấu để loại bỏ, p có nghĩa được đánh dấu để thanh trừng, v.v.


+1 cho sức mạnh cộng với sự đơn giản và cho phép khớp một phần nếu bạn không biết tên gói chính xác. Một phần trong đó dpkg -l | grep php có thể trả về php5, php5-cli, php5-common, v.v.
Benjamin Staton

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

1

dpkg -l $ PACKAGENAME

Là đủ. Hai ký tự đầu tiên trong dòng sẽ hiển thị trạng thái gói


cụ thể, trạng thái iicó nghĩa là nó đã được cài đặt
Corey Goldberg

1
aptitude show foo

sẽ hiển thị trạng thái của pakage

root @ srv: # aptitude hiển thị python-jmespath
Gói: python-jmespath
Phiên bản: 0.9.0-2
Nhà nước: chưa cài đặt
Ưu tiên: tùy chọn
Mục: trăn
Người bảo trì: Nhóm mô-đun Debian Debian python-modules-team@lists.alioth.debian.org
Kiến trúc: tất cả
Kích thước không nén: 97,3 k
Phụ thuộc: trăn (> = 2.7)
Mô tả: Biểu thức khớp JSON (Python 2)
 JMESPath là thư viện python cho phép bạn khai báo cụ thể cách trích xuất các phần tử từ tài liệu JSON.

 Gói này chứa mô-đun cho Python 2.
Trang chủ: https://github.com/boto/jmespath


root @ cx-ops02: #

0

Tôi hy vọng bạn có thể giải quyết vấn đề này.

  • dpkg --help để được trợ giúp về việc cài đặt và gỡ cài đặt gói [*];

  • sử dụng apthoặc aptitudeđể quản lý gói thân thiện với người dùng;

  • dpkg -Dhelpcho một danh sách các dpkggiá trị cờ gỡ lỗi;
  • dpkg --force-helpcho một danh sách các tùy chọn buộc;
  • loại dpkg-deb --helpđể được giúp đỡ về thao tác *.debtập tin;

Các tùy chọn được đánh dấu [*] tạo ra rất nhiều đầu ra - dẫn nó qua lesshoặc more!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.