Bir dosyanın hangi (kurulu olmayan) Debian paketine ait olduğunu nasıl öğrenebilirim?


41

Debian sistemlerinde (ve türevlerinde):

$ dpkg --search /bin/ls
coreutils: /bin/ls

Yani, dosya /bin/lsadı verilen Debian paketine aittir coreutils.

Ancak bu sadece paket kurulu ise işe yarar. Ya değilse?

Yanıtlar:


58

apt-file

apt-fileBir ikili ( Debian veya Ubuntu gibi) sağlayan bir paket arama özelliği sağlar, varsayılan olarak değil depolara kurulur.

apt-file search <path-to-file>

Arama yapmadan önce bir kez güncellemek isteyebilirsiniz ...

apt-file update 

Örneğin, yüklü olmayan ikili dosyayı arayalım mysqldump:

$ apt-file search /usr/bin/mysqldump

mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow

(Yüklenmemiş) bir paketin içeriğini listelemek de mümkündür:

$ apt-file list mysql-client-5.1

mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...

yum

yumyüklü veya yüklü olmayan ikili dosyaları aramak için komutu whatprovides(veya provides) kabul eder :

yum whatprovides <path-to-file>

Yine, yüklü değil mysqldump:

$ yum whatprovides /usr/bin/mysqldump

mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo        : fedora
Matched from: 
Filename    : /usr/bin/mysqldump

mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo        : fedora
Matched from: 
Filename    : /usr/bin/mysqldump

zypper

zypper'ın searchkomutu, -fseçenekle birlikte kullanıldığında dosya listelerini kontrol edebilir .

zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...

S | Name | Summary           | Type   
--+------+-------------------+--------
  | mksh | MirBSD Korn Shell | package

Webpin , web tabanlı bir çözüm sağlar, komut satırı için bile bir komut dosyası vardır .

PKGFile

Temin edilebilen pkgtoolsiçin pacmantabanlı sistemler. Yukarıdakiler gibi benzer bir arama özelliği sağlar:

$ pkgfile -si /usr/bin/mysqldump

Name      : mysql-clients
Version   : 5.1.54-1
Url       : http://www.mysql.com/
License   : GPL
Depends   : libmysqlclient
...

apt-file search protocörneğin, altı binden fazla sonuç verir. Ancak sonuçlar bu nedenle aslında aradığınız dosya adını bulabilirsiniz grep ile dosya sona: apt-file search protoc | grep 'protoc$'. Çalışıyor çünkü "protoc" ile biten her şeyi filtreliyor . Elbette aradığın şeyle "protok" değiştirmelisin.
Luc,

5

Bunun için standart araç apt-file'dır . apt-file updateİndeks dosyasını indirmek için çalıştırın . İşte çıktı:

Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16.6M  100 16.6M    0     0  33191      0  0:08:47  0:08:47 --:--:-- 38951

Ondan sonra koş apt-file search search_term.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.