Cara menunjukkan jumlah paket yang diinstal

8

Apa yang setara Debian dari Fedora yum list installed | grep wc --lines?

tepang
sumber

Jawaban:

11

Menurut utas ini :

Untuk daftar paket yang diinstal:

dpkg --list | wc --lines

Untuk melihat apakah suatu paket diinstal:

dpkg --list | grep package
Justin Ethier
sumber
1
Anda menyertakan baris tajuk dan beberapa paket yang tidak diinstal (mis. rc(Dihapus tetapi dengan file konfigurasi yang tersisa)) dalam hitungan Anda.
Gilles 'SO- stop being evil'
6
dpkg -l | grep -c '^ii'

Ada varian halus seperti dpkg -l | grep -c '^?i'jika Anda ingin menyertakan paket yang diinstal tetapi penghapusan yang Anda minta. Cara lain adalah

aptitude search '~i' |wc -l

Anda bahkan dapat menyodok langsung ke dalam basis data dpkg:

sh -c 'set /var/lib/dpkg/info/*; echo $#'

Yang ini termasuk paket-paket yang tidak diinstal tetapi yang memiliki file konfigurasi yang tersisa; Anda dapat mendaftar ini dengan dpkg -l | grep '^rc'.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1

dpkg -lbagus tetapi saya benar-benar menemukan diri saya menggunakan apt-show-versions(tidak diinstal secara default pada Debian; menginstal paket dengan nama yang sama) sebagai gantinya, terutama ketika saya ingin memproses output lebih lanjut (dpkg mencoba menjadi terlalu pintar dengan pembungkus baris).

timday
sumber
1

Synaptic , manajer paket GUI, menampilkan penghitungan di bagian bawah jendela utama.

masukkan deskripsi gambar di sini

tepang
sumber
0

Jika Anda menginginkan jumlah paket yang tepat, Anda tidak boleh menghitung output baris header dpkg-query -l, jadi Anda perlu pola untuk mencocokkan baris yang dimulai dengan ii. Satu-liner berikut memberi Anda jumlah baris yang dimulai dengan iidan karenanya jumlah paket yang diinstal:

dpkg-query -l | grep "^ii" | wc -l 

Ini memberikan hasil yang sama dengan

 dpkg --get-selections | grep "[[:space:]]install" | wc -l

Pola grep pada perintah kedua mengabaikan baris yang berisi string "deinstall" di output dari dpkg --get-selections.

Tsundoku
sumber
-1

Untuk instace, Anda dapat melakukan ini:

dpkg-query -l | nl | tail -1 | awk '{print $1}'
Karim Manaouil
sumber
OK, memang benar bahwa nl | tail -1 | awk '{print $1}'akan melaporkan jumlah baris dalam inputnya (kecuali, jika tidak ada input, itu akan mengatakan apa-apa daripada melaporkan 0) - tetapi mengapa Anda merekomendasikan kludge seperti itu ketika jawaban lain sudah menggunakan wc -l?
G-Man Mengatakan 'Reinstate Monica'
Itu lucu karena saya tidak membaca jawaban sebelumnya! @ G-Man ... tapi ini masih merupakan jawaban yang bagus.
Karim Manaouil