it-swarm-vi.tech

Tìm gói nào thuộc về tệp trong Ubuntu / Debian?

Tôi thường xuyên thấy mình thiếu một chương trình, trang người dùng hoặc tệp khác khi làm việc trên hệ thống Ubuntu 8.04. Có cách nào đơn giản để tra cứu gói nào chứa một tệp nhất định (cho dù nó đã được cài đặt hay chưa)? Có lẽ một số tùy chọn tối nghĩa cho apt hoặc dpkg?

292
Jay Conrod
apt-file search filename

hoặc

apt-file search /path/to/file


Để cài đặt apt-file , sử dụng:

Sudo apt-get install apt-file

Bạn sẽ cần cập nhật cơ sở dữ liệu của nó trước khi bạn có thể sử dụng nó:

Sudo apt-file update
239
John T

(Debian/Ubuntu) Khám phá xem tập tin thuộc về gói nào :

dpkg -S /usr/bin/ls

'dpkg - Vì vậy, thông thường nên sử dụng một đường dẫn tuyệt đối. Bạn có thể thấy trong ví dụ thứ hai rằng 12 nghìn tệp được biết đến với dpkg khớp với chuỗi trần 'ls'.

391
splattne

gói.debian.org là những gì tôi luôn sử dụng để hoàn thành nhiệm vụ này. Nó vượt trội hơn apt-file vì nó cũng có thể tìm thấy các phần của tên tệp. Nó cũng được liên kết với danh sách các gói chính sẽ liệt kê các mô tả, lỗi, v.v ... Tất cả trong một trang web tốt. Không hữu ích từ dòng lệnh, nhưng vẫn khá hữu ích.

Đối với tốc độ, tôi đánh dấu url:

http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&Arch=any

trong Firefox và thêm "debfind" làm từ khóa (nhấp vào "thêm" trong trình quản lý dấu trang bị che khuất), vì vậy tôi chỉ cần gõ "gỡ lỗi" và nó sẽ hoạt động. Bạn có thể thay đổi 'bộ' từ không ổn định sang ổn định hoặc thử nghiệm nếu bạn muốn, cho các phiên bản phân phối khác.

18
jamuraa

Bạn cũng có thể sử dụng dlocate. Từ trang người đàn ông;

$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.
11
jeremiah

Tôi tìm thấy Wajig ...

wajig whichpackage /path/to/file 

ví dụ.

wajig whichpackage /etc/apt/sources.list

Wajig là một dòng lệnh hoặc công cụ điều khiển tiện dụng bao gồm tất cả các tính tốt của apt-get, dpkg mà bạn không bao giờ muốn học. .

Để cài đặt wajig sử dụng:

apt-get install wajig

Lệnh 'whichpackage' đó phụ thuộc vào tệp apt

bạn vẫn sẽ cần cập nhật cơ sở dữ liệu trước khi có thể sử dụng nó: - Tôi chưa biết nếu cập nhật wajig thì bản cập nhật apt-get cũng cập nhật bộ đệm tệp, nhưng tôi hy vọng nó có thể.

Sudo wajig update

Sudo apt-file update

(và Super Cow, Easter egss ?!)

4
pete_m

Tương tự như câu trả lời của jamuraa cho Debian, bạn cũng có thể truy cập http://packages.ubfox.com/ cho Ubuntu. Bạn sẽ phải cuộn xuống một chút để tìm hộp tìm kiếm "Tìm kiếm nội dung của gói" nơi bạn có thể nhập đường dẫn của tệp.

2
kiri

Hãy thử tìm kiếm các tệp bằng cách sử dụng http://www.kodkast.com/appluggest/find-which-package-file-belongs-to

Đây là một ứng dụng để tìm kiếm các tệp được chứa trong các gói rpms/linux khác nhau và rất hữu ích khi bạn thậm chí không cài đặt vòng/phút trên máy.

0
Ravi Agarwal

Gói không tìm thấy lệnh cho bạn gợi ý về các lệnh tiềm năng và tên của gói debian. Nó hoạt động bằng cách gõ lệnh trong bash Shell và nhìn vào đầu ra của nó.

Ví dụ: nếu tên lệnh được biết:

[email protected]:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed.  To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found

và nếu lệnh không được biết, một số dự đoán được áp dụng:

[email protected]:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
 Command 'lsh' from package 'lsh-client' (main)
 Command 'osh' from package 'omake' (main)
 Command 'ysh' from package 'libyaml-Shell-Perl' (main)
 Command 'ssh' from package 'openssh-client' (main)
 Command 'vsh' from package 'crystalspace' (main)
 Command 'dsh' from package 'dsh' (main)
 Command 'ash' from package 'ash' (main)
 Command 'msh' from package 'nmh' (main)
 Command 'zssh' from package 'zssh' (main)
 Command 'qsh' from package 'gridengine-client' (main)
 Command 'sh' from package 'dash' (main)
 Command 'bsh' from package 'bsh' (main)
zsh: command not found
0
erwing