Apa perintah untuk membuat daftar rpms apa yang bisa menyediakan file tertentu: rpm yang menyediakan file yang sudah diinstal atau rpms yang bisa menyediakan file yang tidak diinstal?
Untuk file / paket yang sudah diinstal:
[jb @ smokey ~] $ rpm -qf / etc / sudoers sudo-1.6.9p13-8.fc9.x86_64
Untuk file & paket yang belum diinstal:
[jb @ smokey ~] $ yum whatprovides "/ etc / sudoers" sudo-1.6.9p13-8.fc9.x86_64: Mengizinkan akses root terbatas untuk pengguna tertentu Repo: pembaruan -kunci baru Cocok dari: Nama file: / etc / sudoers sudo-1.6.9p13-4.fc9.x86_64: Mengizinkan akses root terbatas untuk pengguna tertentu Repo: fedora Cocok dari: Nama file: / etc / sudoers sudo-1.6.9p13-8.fc9.x86_64: Mengizinkan akses root terbatas untuk pengguna tertentu Repo: diinstal Cocok dari: Lainnya: Menyediakan-cocok: / etc / sudoers
Perhatikan bahwa "yum whatprovides" adalah pencocokan pola, jadi jika Anda tidak yakin di mana file yang Anda cari akan tinggal di struktur direktori hanya mengelilinginya dengan tanda kutip dan tanda bintang:
yum apa yang memberikan "* foo *"
Demikian pula jika Anda yakin apa yang Anda cari adalah biner yang dapat Anda lakukan:
yum whatmenyediakan "* bin / foo"
Saya tidak tahu tentang file yang belum diinstal tetapi untuk file yang sudah diinstal Anda dapat menggunakan rpm -qif:
rpm -qif / bin / ls Nama: coreutils Relokasi: (tidak dapat dipindahkan) Versi: 5.97 Vendor: Red Hat, Inc. Rilis: 23.el5 Tanggal Pembuatan: Sen 13 Jul 2009 04:21:27 MDT Tanggal Instalasi: Jum 11 Sep 2009 04:46:01 AM MDT Build Host: hs20-bc1-7.build.redhat.com Grup: Lingkungan Sistem / Sumber Basis RPM: coreutils-5.97-23.el5.src.rpm Ukuran: 9053874 Lisensi: GPLv2 + Tanda tangan: DSA / SHA1, Sel 28 Jul 2009 03:42:40 MDT, Key ID 5326810137017186 Pengemas: Red Hat, Inc. URL: Rangkuman: Utilitas inti GNU: seperangkat alat yang biasa digunakan dalam skrip shell Deskripsi: Ini adalah utilitas inti GNU. Paket ini adalah kombinasi dari paket fileutils, sh-utils, dan textutils GNU lama.Jika Anda memiliki RPM yang diunduh, Anda dapat meminta untuk melihat apa yang akan dipasang:
rpm -qilp ./Server/jzlib-1.0.7-4jpp.1.i386.rpm peringatan: ./Server/jzlib-1.0.7-4jpp.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Nama: jzlib Relokasi: (tidak dapat dipindahkan) Versi: 1.0.7 Vendor: Red Hat, Inc. Rilis: 4jpp.1 Tanggal Pembuatan: Sel 08 Agu 2006 12:10:03 PM MDT Tanggal Instalasi: (tidak diinstal) Bangun Host: hs20-bc1-6.build.redhat.com Grup: Pengembangan / Perpustakaan / Java Source RPM: jzlib-1.0.7-4jpp.1.src.rpm Ukuran: 280436 Lisensi: BSD-style Tanda tangan: DSA / SHA1, Kamis 18 Jan 2007 08:49:50 MST, Key ID 5326810137017186 Pengemas: Red Hat, Inc. URL: Rangkuman: JZlib implementasi ulang zlib di Java murni Deskripsi: Zlib dirancang untuk menjadi bebas, bertujuan umum, tidak terbebani secara hukum - yaitu, tidak tercakup oleh paten apa pun - kompresi data lossless perpustakaan untuk digunakan di hampir semua perangkat keras komputer dan sistem operasi. Zlib ditulis oleh Jean-loup Gailly (kompresi) dan Mark Adler (dekompresi). /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.db /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.so /usr/share/doc/jzlib-1.0.7 /usr/share/doc/jzlib-1.0.7/LICENSE.txt /usr/share/java/jzlib-1.0.7.jar /usr/share/java/jzlib.jarAnda dapat menghilangkan "-i" dari opsi jika Anda tidak ingin melihat semua info tentang RPM.
Dalam repositori berbasis yum, Anda dapat mencoba sesuatu seperti yum provides */filename
afaik, itu tidak mungkin dengan rpm murni. rpm hanya menyediakan opsi ini untuk paket yang diinstal --whatprovides
.
ketika Anda dapat menggunakan yum, cobalah yum provides <filename>
mencari di repositori.
Jika Anda tidak ingin (atau tidak bisa) menggunakan yum (mis. Pada mesin offline), Anda dapat mencari di dalam RPM yang tidak diinstal dengan melakukan
# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*
Ini bisa memakan waktu, jadi bersabarlah ketika mencari di antara * .rpm pada repositori besar, seperti DVD instal, misalnya. Tetapi, tidak seperti "-qpl", "-qp --filesbypkg" akan mencantumkan file dan RPM yang dimilikinya, misalnya:
# rpm -qpl p*.rpm|grep libpq.so.4
/usr/lib/libpq.so.4
/usr/lib64/libpq.so.4
# rpm -qp --filesbypkg p*.rpm|grep libpq.so.4
postgresql-libs /usr/lib/libpq.so.4
postgresql-libs /usr/lib64/libpq.so.4
dalam hal ini duplikat yang jelas disebabkan oleh adanya paket i386 dan x86_64 (dibuat jelas dari string "lib64").
Saya khawatir saya tidak yakin bagaimana melakukannya dengan RPMS, tetapi dengan Debian dan Ubuntu Anda dapat menggunakan program ini apt-file