Bagaimana cara mengetahui paket Debian yang dimiliki (tidak diinstal)?

41

Tentang sistem Debian (dan turunannya):

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

Artinya, file tersebut /bin/lsmilik paket Debian yang bernama coreutils.

Tetapi ini hanya berfungsi jika paket diinstal. Bagaimana jika tidak?

tepang
sumber

Jawaban:

58

apt-file

apt-filemenyediakan fitur mencari paket yang menyediakan biner (seperti Debian atau Ubuntu ), tidak diinstal secara default tetapi di repositori.

apt-file search <path-to-file>

Anda mungkin ingin memperbarui sekali sebelum mencari ...

apt-file update 

Sebagai contoh, mari kita mencari biner yang tidak diinstal 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

Anda juga dapat mendaftar konten paket (tidak diinstal):

$ 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

yummenerima perintah whatprovides(atau provides) untuk mencari binari yang diinstal atau tidak diinstal:

yum whatprovides <path-to-file>

Sekali lagi, yang tidak diinstal 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's searchperintah dapat memeriksa daftar file yang bila digunakan dengan -fpilihan.

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

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

Webpin menyediakan solusi berbasis web, bahkan ada skrip untuk baris perintah.

pkgfile

Tersedia pkgtoolsuntuk pacmansistem berbasis. Menyediakan fitur pencarian serupa seperti yang lain di atas:

$ pkgfile -si /usr/bin/mysqldump

Name      : mysql-clients
Version   : 5.1.54-1
Url       : http://www.mysql.com/
License   : GPL
Depends   : libmysqlclient
...
mengibaskan
sumber
apt-file search protoc, misalnya, memberikan lebih dari enam ribu hasil. Namun hasil akhir dalam nama file, sehingga dengan grep Anda benar-benar dapat menemukan nama file yang Anda cari: apt-file search protoc | grep 'protoc$'. Ini berfungsi karena menyaring apa pun yang berakhir dengan "protoc". Tentu saja Anda harus mengganti "protoc" dengan apa pun yang Anda cari.
Luc
5

Alat standar untuk ini adalah file apt . Jalankan apt-file updateuntuk mengunduh file indeks. Inilah hasilnya:

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

Setelah itu, jalankan apt-file search search_term.

tepang
sumber
3

Jika Anda tidak memiliki akses ke mesin atau tidak dapat menggunakan perintah yang diberikan dalam jawaban sebelumnya, Anda juga dapat mengetahui hal ini menggunakan mesin pencari berbasis web paket Debian (bentuk kedua, " Cari isi paket " ).

Bruno
sumber