Làm cách nào để có danh sách các tệp đã cài đặt từ gói?


401

Tôi muốn biết nơi tôi có thể tìm thấy ứng dụng đã cài đặt của mình khi tôi cài đặt nó trên Ubuntu bằng trình quản lý gói.

Tôi đã cài đặt RabbitMQ và chạy locate rabbitmqcho tôi kết quả như sau:

/home/anupamg/.m2/repository/com/rabbitmq
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/_maven.repositories
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.sha1
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.sha1
/home/anupamg/Downloads/rabbitmq-server-generic-unix-2.4.0.tar.gz

Ứng dụng gì? Một số có thể truy cập thông qua dòng lệnh, số khác nhận được một biểu tượng đẹp trong menu ứng dụng. Hãy cụ thể hơn.
Ragnar123

Bạn có muốn biết các tập tin thực thi và cấu hình nằm ở đâu hoặc bạn muốn thực thi nó và không biết làm thế nào?

đồng ý!!! Tôi thực sự muốn biết rằng như trong windows nếu tôi cài đặt ứng dụng, tôi có thể thấy nó trong các tệp chương trình tương tự trong Ubuntu, nơi định vị ứng dụng đã cài đặt ... Tôi chỉ cần cài đặt RabbitMq và muốn biết nó đang ở đâu, tôi cần cấu hình nó chạy ở đâu tập tin .sh

@ das_weezul: - vâng tôi muốn biết tất cả mọi thứ được thực hiện trong hộp của mình khi tôi nhấp vào cài đặt từ trình quản lý gói synap ... tôi là người mới trên ubfox ... vì vậy mọi liên kết đều được hoan nghênh

1
Một trong những câu trả lời gợi ý những điều sau dpkg-query -c <package_name.deb>Bạn không thể làm điều đó với tệp deb. Tôi nghi ngờ người đăng có nghĩa là sử dụng dpkg-debcùng một params dpkg-deb -c <filename.deb>danh sách các tệp như mong đợi.
gazhay

Câu trả lời:


600

Để xem tất cả các tệp mà gói được cài đặt trên hệ thống của bạn, hãy làm điều này:

dpkg-query -L <package_name>

Để xem các tệp, tệp .deb sẽ cài đặt

dpkg-deb -c <package_name.deb>

Để xem các tệp có trong gói KHÔNG được cài đặt, hãy thực hiện việc này một lần (nếu bạn chưa cài đặt tệp apt :

sudo apt-get install apt-file
sudo apt-file update

sau đó

apt-file list <package_name>

Xem câu hỏi này để biết thêm


2
Như gazhay nhận xét ở trên, dpkg-query -c foo.debthất bại. Nhưng dpkg-deb -c foo.debhoạt động.
Camille Goudeseune

4
Cập nhật apt-filelà nỗi đau.
sjsam

1
Lưu ý rằng dpkg -Lkhông tính đến các tệp tài khoản có thể đã bị loại trừ --path-exclude=. Nó sẽ liệt kê chúng ngay cả khi chúng chưa được cài đặt.
Steve

24

@drysdam dpkg -L <package_name>có thể là vấn đề tốt nhất cho vấn đề trước mắt của bạn, nhưng bạn có thể muốn đọc Tiêu chuẩn phân cấp hệ thống tập tin , mô tả nơi các loại tệp khác nhau sống trong hệ thống tệp.

không dứt khoát; nó chỉ là một tài khoản mô tả về cách mọi thứ "chủ yếu".

Cụ thể hơn với Ubuntu là Hướng dẫn máy chủ Ubuntu , sẽ mô tả mọi thứ chi tiết. (Rất nhiều hướng dẫn khác che đậy quá nhiều chi tiết, nhưng điều này sẽ tốt hơn.)


13

nếu bạn chỉ muốn một gói được cài đặt, bạn có thể tìm thấy tên gói

$ apt-cache search rabbitmq
...
librabbitmq-dev
...

sau đó sử dụng dpkg --listfiles

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 

có thể phụ thuộc vào phiên bản nhưng tôi phải sử dụngdpkg -L <package>
JimB

dpkg -Lchỉ hoạt động trên các gói cài đặt.
kenorb

11

Câu trả lời được đưa ra bởi @Gilles rất hữu ích (thực ra, câu trả lời đã được cải thiện theo thời gian ).

Hơn nữa, tôi có một mẹo cho những người không muốn cài đặt bất kỳ gói phụ trợ nào (như apt-file)

  • Tới http://packages.ubuntu.com/ ;
  • Chuyển đến phiên thư mục gói Tìm kiếm ;
  • Chèn tên gói của bạn vào trường Từ khóa và chọn Chỉ hiển thị các kết quả khớp chính xác ;
  • Chọn phân phối của bạn và nhấp vào nút Tìm kiếm .
  • Chọn gói mong muốn trong màn hình tiếp theo;
  • Cuối trang, nhấp vào danh sách liên kết tệp bên cạnh tên kiến ​​trúc của bạn;
  • Trang tiếp theo sẽ hiển thị danh sách các tập tin của gói của bạn.

Ví dụ: http://packages.ubfox.com/trusty/amd64/multipath-tools/filelist


1
curl -s https://packages.ubuntu.com/$(lsb_release -cs)/$(dpkg --print-architecture)/<<PACKAGE NAME>>/filelist | sed '1,/pfilelist/d;/<\/div>/,$d' :-)
Nicolas Melay

0

Đây là một cách để làm điều đó cho các gói bạn chưa cài đặt. Chỉ cần thay đổi "autoconf" bên dưới cho gói bạn đang cố lấy danh sách các tệp cho:

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp

0

Sử dụng synaptic-package-manager:

nhập mô tả hình ảnh ở đây

Giả sử rằng chúng tôi muốn xác định vị trí các tệp của gói autotools-dev, trong phần 'Bộ lọc nhanh', hãy nhập autotools-dev để xác định vị trí của nó. Gói autotools-dev xuất hiện tự động. Chọn nó bằng cách nhấp vào nó và sau đó nhấn 'Thuộc tính'. Trong hộp thoại xuất hiện, chọn tab 'Tệp đã cài đặt'.

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.