it-swarm.asia

Temukan paket apa yang menjadi milik file di Ubuntu / Debian?

Saya sering menemukan diri saya kehilangan program, halaman manual, atau file lain ketika bekerja pada sistem Ubuntu 8.04 saya. Apakah ada cara sederhana untuk mencari paket apa yang berisi file yang diberikan (apakah sudah diinstal atau belum)? Mungkin beberapa opsi tidak jelas untuk apt atau dpkg?

292
Jay Conrod
apt-file search filename

atau

apt-file search /path/to/file


Untuk menginstal apt-file , gunakan:

Sudo apt-get install apt-file

Anda perlu memperbarui databasenya sebelum dapat menggunakannya:

Sudo apt-file update
239
John T

(Debian/Ubuntu) Temukan paket milik file :

dpkg -S /usr/bin/ls

'dpkg -S' hanya cocok dengan string yang Anda berikan, jadi gunakan 'ls' sebagai argumen cocok dengan file apa pun dari paket apa pun yang memiliki 'ls' di mana saja dalam nama file. Jadi biasanya itu ide yang baik untuk menggunakan jalur absolut. Anda dapat melihat dalam contoh kedua bahwa 12 ribu file yang diketahui dpkg cocok dengan string kosong 'ls'.

391
splattne

packages.debian.org adalah apa yang selalu saya gunakan untuk menyelesaikan tugas ini. Ini lebih unggul daripada file apt karena dapat menemukan bagian nama file juga. Itu juga terhubung ke daftar paket utama yang akan mencantumkan deskripsi, bug, dll. Semua dalam semua situs web yang bagus. Tidak berguna dari baris perintah, tetapi masih cukup bermanfaat.

Untuk kecepatan, saya menandai URL:

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

di Firefox, dan menambahkan "debfind" sebagai kata kunci (klik "lebih" di pengelola bookmark dengan itu hilighted), jadi saya bisa mengetik "debfind" dan itu akan berfungsi. Anda dapat mengubah 'suite' itu dari tidak stabil ke stabil atau menguji jika Anda suka, untuk versi distribusi lainnya.

18
jamuraa

Anda juga dapat menggunakan dlocate. Dari halaman manual;

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

Saya menemukan Wajig ...

wajig whichpackage /path/to/file 

misalnya.

wajig whichpackage /etc/apt/sources.list

Wajig adalah alat baris perintah atau konsol praktis yang membungkus semua kebaikan apt-get, dpkg yang tidak pernah ingin Anda pelajari. .

Untuk menginstal wajig gunakan:

apt-get install wajig

Perintah 'paket mana' itu sendiri tergantung pada file-apt

anda masih perlu memperbarui databasenya sebelum dapat menggunakannya: - Saya belum tahu apakah pembaruan wajig whixh melakukan pembaruan apt-get juga memperbarui cache file, tetapi saya perkirakan mungkin.

Sudo wajig update

Sudo apt-file update

(dan Super Cow, misss Paskah?!)

4
pete_m

Serupa dengan jawaban jamuraa untuk Debian, Anda juga dapat mengunjungi http://packages.ubuntu.com/ untuk Ubuntu. Anda harus sedikit gulir ke bawah untuk menemukan kotak pencarian "Cari isi paket" tempat Anda dapat memasukkan jalur file.

2
kiri

Coba cari file menggunakan http://www.kodkast.com/applications/find-which-package-file-belongs-to

Ini adalah aplikasi untuk mencari file yang terdapat dalam paket rpms/linux yang berbeda, dan sangat berguna ketika Anda bahkan tidak menginstal rpm pada mesin Anda.

0
Ravi Agarwal

Paket command-not-found memberi Anda petunjuk tentang perintah potensial dan nama paket debian. Ia bekerja dengan mengetikkan perintah di bash Shell dan melihat hasilnya.

Misalnya jika nama perintah diketahui:

[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

dan jika perintah tidak diketahui, beberapa tebakan diterapkan:

[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