it-swarm.asia

Bir dosyanın hangi pakete ait olduğunu Ubuntu/Debian'da mı buluyorsunuz?

Ubuntu 8.04 sistemimde çalışırken sık sık kendimi bir program, kılavuz sayfası veya başka bir dosya eksik buluyorum. Hangi paketin belirli bir dosyayı içerdiğini bulmanın basit bir yolu var mı (önceden yüklenmiş olsun olmasın)? Belki apt veya dpkg için bazı gizli seçenek?

286
Jay Conrod
apt-file search filename

veya

apt-file search /path/to/file


apt-file uygulamasını yüklemek için şunu kullanın:

Sudo apt-get install apt-file

Kullanmadan önce veritabanını güncellemeniz gerekir:

Sudo apt-file update
235
John T

(Debian/Ubuntu) Bir dosyanın hangi pakete ait olduğunu keşfedin :

dpkg -S /usr/bin/ls

'dpkg -S' sadece sağladığınız dizgeyle eşleşir, bu nedenle sadece 'ls' argümanı olarak kullanmak, dosya adının herhangi bir yerinde 'ls' olan herhangi bir paketten herhangi bir dosyayla eşleşir. Bu yüzden genellikle mutlak bir yol kullanmak iyi bir fikirdir. İkinci örnekte, dpkg olarak bilinen 12 bin dosyanın 'ls' çıplak dizesine uyduğunu görebilirsiniz.

387
splattne

package.debian.org , bu görevi başarmak için her zaman kullandığım şey. Apt-file üzerinde üstündür çünkü dosya adlarının bölümlerini de bulabilir. Aynı zamanda açıklamaları, hataları vb. Listeleyen ana paketler listesine de bağlanmıştır. Komut satırından değil, yine de oldukça kullanışlıdır.

Hız için, URL’yi yer imlerine ekledim:

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

firefox’ta bir anahtar kelime olarak "debfind" eklendi (yükseltilmiş yer imi yöneticisinde "diğer" düğmesini tıklayın), bu yüzden sadece "debfind" yazabilir ve çalışacaktır. Dağıtımın diğer sürümleri için 'paketini' dengesizden kararlılığa veya testten değiştirebilirsiniz.

18
jamuraa

Ayrıca dlocate kullanabilirsiniz. Man sayfasından;

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

Wajig'i buldum ...

wajig whichpackage /path/to/file 

Örneğin.

wajig whichpackage /etc/apt/sources.list

Wajig, hiç öğrenmek istemediğiniz tüm apt-get, dpkg iyiliğini saran kullanışlı bir komut satırı veya konsol aracıdır. .

Wajig kullanımı kurmak için:

apt-get install wajig

'Hangipackage' komutunun kendisi apt-file dosyasına bağlıdır.

kullanmadan önce veritabanını güncellemeniz gerekecek: - henüz bir haber alma güncellemesi yapan bir wajig güncellemesinin dosya önbelleğini güncelleyip güncellemediğini henüz bilmiyorum ama bekliyorum.

Sudo wajig update

Sudo apt-file update

(ve Süper İnek, Paskalya dilleri?!)

4
pete_m

Jamuraa'nın Debian'a verdiği cevabı simmilar olarak, http://packages.ubuntu.com/ için Ubuntu'ya gidebilirsiniz. Bir dosyanın yolunu girebileceğiniz "Paketlerin içeriğini ara" searchbox'ı bulmak için biraz aşağı kaydırmanız gerekir.

2
kiri

http://www.kodkast.com/applications/find-which-package-file-belongs-to kullanarak dosyaları aramayı deneyin

Bu, farklı rpms/linux paketlerinde bulunan dosyaları aramak için bir uygulamadır ve makinenizde rpm kurulu olmadığında çok kullanışlıdır.

0
Ravi Agarwal

Bulunamayan paket, olası komutlar ve debian paketinin adı hakkında ipuçları verir. Bash Kabuğundaki komutu yazıp çıktılarına bakarak çalışır.

Örneğin, komut adı biliniyorsa:

[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

ve komut bilinmiyorsa, bazı tahminler uygulanır:

[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