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?
300
dpkg -S /path/to/file
jika Anda memiliki paket yang diinstal.Jawaban:
atau
Untuk menginstal
apt-file
, gunakan:Anda perlu memperbarui databasenya sebelum dapat menggunakannya:
sumber
dpkg -S
berfungsi seperti yang dijelaskan di bawah ini.(Debian / Ubuntu) Temukan paket milik file apa :
sumber
apt-file
ini, ini juga menemukan paket ke file jika itu diinstal secara manual viadpkg -i
!dpkg -S "$(readlink -fn "$(which rename)")"
.dpkg-query: no path found matching pattern /usr/bin/java
/usr/bin/java
Packages.debian.org adalah apa yang selalu saya gunakan untuk menyelesaikan tugas ini. Ini lebih unggul daripada apt-file 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:
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.
sumber
Anda juga dapat menggunakan dlocate. Dari halaman manual;
sumber
dlocate
juga metode favorit saya, sangat bisa diandalkan.dlocate
tidak menemukan paket yang baru diinstal kecuali Anda menjalankannyasudo update-dlocatedb
terlebih dahulu. Perintah ini secara otomatis dijalankan setiap hari di /etc/cron.daily/dlocateSaya menemukan Wajig ...
misalnya.
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:
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.
(dan Super Cow, Paskah, dll?)
sumber
Sama 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" di mana Anda dapat memasukkan jalur file.
sumber
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.
sumber
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:
dan jika perintah tidak diketahui, beberapa tebakan diterapkan:
sumber
-h
atau--help
pada akhirnya akan sedikit membantu. Jika menambahkan-h
pada akhirnya akan membuat ini cukup aman saya akan merekomendasikan, tetapi meskipun demikian itu bukan cara yang baik untuk mencapai apa yang diminta OP.