Paket Fedora mana yang dimiliki oleh file tertentu?

69

Dalam keluarga OS Debian, dpkg --search /bin/lsberikan:

coreutils: /bin/ls

Artinya, file tersebut /bin/lsmilik paket Debian bernama coreutils . (lihat posting ini jika Anda tertarik pada paket yang berisi file yang tidak diinstal)

Apa yang setara dengan Fedora?

tepang
sumber

Jawaban:

85

Anda dapat menggunakan rpm -qf /bin/lsuntuk mengetahui paket milik versi instal Anda:

[09:46:58] ~ $ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686
[09:47:01] ~ $ 

Perbarui: Per komentar Anda, berikut ini akan berfungsi jika Anda hanya ingin nama paket (Saya baru saja mendapat kesempatan untuk menguji):

[01:52:49] ~ $ rpm -qf /bin/ls --queryformat '%{NAME}\n'
coreutils
[01:52:52] ~ $ 

Anda juga dapat menggunakan dnf provides /bin/lsuntuk mendapatkan daftar semua paket repositori yang tersedia yang akan menyediakan file:

# dnf provides /bin/ls
Last metadata expiration check: 0:17:06 ago on Tue Jun 27 18:04:08 2017.
coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : @System

coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : updates

coreutils-8.25-14.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : fedora
eldarerathis
sumber
Apakah ada cara untuk membuat pemilik tampilan file rpm tanpa menyediakan path lengkap? Anda ingin menambahkan catatan ke efek itu?
tshepang
@Tepanget: Saya pikir Anda harus dapat menambahkan --queryformat '%{NAME}'untuk mencapai itu, tapi saya belum mengujinya sendiri. Saya dapat melakukan tes cepat dan memperbarui ini setelah bekerja. Sementara itu, Anda mungkin menemukan info di sini berguna: rpm.org/max-rpm/s1-rpm-query-parts.html
eldarerathis
Hanya ingin menambahkan bahwa OpenSuSE's zyppermemiliki what-providesfitur yang menyelesaikan tugas ini. Pertanyaan ini muncul lebih dulu ketika melakukan pencarian, jadi akan lebih mudah untuk mendapatkan jawaban ini meskipun pertanyaannya spesifik.
casualunixer
2
Untuk fedora 22 "dnv memberikan nama file" juga berfungsi
Trismegistos