Pertanyaan Cari paket apa yang dimiliki 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 yang berisi file yang diberikan (apakah sudah diinstal atau belum)? Mungkin beberapa opsi tidak jelas untuk apt atau dpkg?


258
2017-07-22 19:06


asal


Sama di Ubuntu: askubuntu.com/questions/481/… - Ciro Santilli 新疆改造中心 六四事件 法轮功
dpkg -S /path/to/file jika Anda memiliki paket yang diinstal. - Zaz


Jawaban:


apt-file search filename

atau

apt-file search /path/to/file


Untuk memasang apt-file, gunakan:

sudo apt-get install apt-file

Anda perlu memperbarui databasenya sebelum Anda dapat menggunakannya:

sudo apt-file update

210
2017-07-22 19:08



FYI: apt-file tampaknya bergantung pada Contents-amd64.gz yang disediakan oleh repositori. Dan tidak semua repo pihak ketiga menyediakan file ini. - Jokester
Itu tidak berhasil untukku. Saya memperbarui database tetapi tidak mengembalikan apa pun. dpkg -S bekerja seperti yang dijelaskan di bawah ini. - Northys


(Debian / Ubuntu) Temukan paket apa yang dimiliki file:

dpkg -S /usr/bin/ls

'dpkg -S' hanya cocok dengan string Anda   menyediakannya, jadi hanya menggunakan 'ls' sebagai   argumen cocok dengan file apa pun dari mana saja   paket yang memiliki 'ls' di mana saja di   nama file. Jadi biasanya itu ide yang bagus   untuk menggunakan jalur absolut. Anda bisa lihat   dalam contoh kedua yang 12 ribu   file yang dikenal dpkg sesuai dengan   string kosong 'ls'.


350
2017-07-22 19:13



Itu hanya jika file sudah diinstal - John T
Berlawanan dengan apt-file, ini juga menemukan paket ke file jika diinstal secara manual melalui dpkg -i! - tanius
Jika kamu mendapatkannya dpkg-query: tidak ada pola pencocokan yang ditemukan  coba ini: dpkg -S "$(readlink -fn "$(which rename)")". - Pablo Bianchi
Aneh, ini tidak berhasil untuk saya: dpkg-query: no path found matching pattern /usr/bin/java, meskipun ada file di /usr/bin/java - nnyby


packages.debian.org adalah apa yang selalu saya gunakan untuk menyelesaikan tugas ini. Ini lebih unggul daripada apt-file karena dapat menemukan bagian dari nama file juga. Ini juga dihubungkan 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 berguna.

Untuk kecepatan, saya mem-bookmark 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 banyak" di pengelola bookmark dengan itu hilton), jadi saya cukup mengetik "debfind" dan itu akan bekerja. Anda dapat mengubah 'suite' itu dari tidak stabil ke stabil atau menguji jika Anda suka, untuk versi lain dari distribusi.


16
2017-07-22 20:07



Itu tidak bekerja dengan custom repos sekalipun. - Ctrl-C
Pilihan yang buruk dalam hal otomatisasi. - Alexander Shcheblikin


Anda juga dapat menggunakan dlocate. Dari halaman manual;

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

11
2017-08-08 19:30



dlocate juga metode favorit saya, sangat andal. - Avio
@Avio dlocate tidak menemukan paket yang baru dipasang kecuali Anda menjalankannya sudo update-dlocatedb pertama. Perintah dijalankan secara otomatis setiap hari di /etc/cron.daily/dlocate - jarno


Saya menemukan Wajig ...

wajig whichpackage /path/to/file 

misalnya.

wajig whichpackage /etc/apt/sources.list

Wajig adalah baris perintah atau alat konsol yang berguna yang membungkus semua kebaikan apt-get, dpkg yang tidak pernah Anda inginkan untuk dipelajari. .

Untuk menginstal penggunaan wajig:

apt-get install wajig

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

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

sudo wajig update

sudo apt-file update

(dan Super Cow, Paskah egss?!)


4
2018-01-14 02:40





Mirip dengan jawaban jamuraa untuk Debian, Anda juga bisa pergi ke http://packages.ubuntu.com/ untuk Ubuntu. Anda harus menggulir sedikit ke bawah untuk menemukan "Cari isi paket" kotak pencarian tempat Anda dapat memasuki jalur file.


2
2017-10-28 10:40



Sekarang jika hanya Raspbian juga punya satu :) - XTL


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

Ini adalah aplikasi untuk mencari file yang terkandung dalam paket rpm / linux yang berbeda, dan sangat berguna ketika Anda bahkan tidak memiliki rpm yang diinstal pada komputer Anda.


0
2017-12-20 00:33



Downvote: Tautan rusak dan tautan tampaknya untuk paket RPM di tempat pertama. - tripleee