Cara menunjukkan jumlah paket yang diinstal


Jawaban:


11

Menurut utas ini :

Untuk daftar paket yang diinstal:

dpkg --list | wc --lines

Untuk melihat apakah suatu paket diinstal:

dpkg --list | grep package

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'.


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).




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.


-1

Untuk instace, Anda dapat melakukan ini:

dpkg-query -l | nl | tail -1 | awk '{print $1}'

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.