Daftar paket tingkat atas yang diinstal di Fedora

9

Saya dulu menggunakan yum untuk mendaftar semua paket yang diinstal:

yum list installed

Sekarang saya perlu daftar hanya paket tingkat atas yaitu jika suatu paket adalah ketergantungan dari yang lain, itu tidak boleh ditampilkan. Perangkat Lunak Tambah / Hapus GNOME dapat melakukan ini, tetapi saya memerlukan output di terminal.

Saya memeriksa manual yum tetapi saya tidak dapat menemukan saklar untuk itu.

mmonem
sumber

Jawaban:

11

Anda dapat menggunakan pembersihan paket alat yang merupakan bagian dari yum-utils. Selain menemukan paket yang tidak tersedia dari repositori yum saat ini, menemukan paket dengan dependensi rusak, memangkas kernel lama dan menemukan paket duplikat juga dapat menemukan paket yang tidak bergantung pada paket lain. Itu disebut daun. Melakukan

yum install yum-utils

untuk mendapatkan paket-cleanup dan

package-cleanup --leaves --all

untuk mendapatkan daftar semua daun.

fschmitt
sumber
Terminologi Debian / Ubuntu untuk ini adalah anak yatim .
tshepang
2
@Tepang, ini tidak benar - tidak semua daun tidak digunakan. Dan tidak semua paket anak yatim harus pergi. Paket yatim dalam terminologi Debian berarti: sebelumnya sebagai paket dependensi (termasuk dependensi transitif) yang sekarang tidak diperlukan karena paket yang diinstal secara eksplisit dinamai dihapus sekarang.
maxschlepzig
2

Anda dapat menggunakan perintah repoquery(bagian dari paket yum-utils) untuk mendapatkan informasi ini:

$ repoquery --installed --qf '%{n} - %{yumdb_info.reason}' --all \
    | grep 'user$' | cut -f1 -d' '

Ini hanya mencantumkan paket yang telah Anda instal sendiri - bukan paket yang merupakan bagian dari instalasi dasar. Tergantung pada kasus penggunaan Anda, ini adalah apa yang Anda inginkan atau tidak.

maxschlepzig
sumber
Yang ini terlihat sangat berguna. Terima kasih! Yang penting, paket terdaftar tanpa versi dan .i686 atau .noarch atau apa pun sehingga tidak perlu dilakukan penggodaan atau modifikasi sebelum Anda menginstal -y.
gaoithe