Bagaimana cara mendaftar perangkat lunak yang diinstal dengan ukuran yang diinstal?

38

Saya ingin memiliki daftar perangkat lunak yang diinstal pada mesin saya, dengan ruang disk yang dikonsumsi bersama mereka. Saya lebih suka untuk dapat memesan dengan terbesar / terkecil, tetapi itu bukan keharusan.

Saya adalah tipe orang yang akan menginstal perangkat lunak untuk mencobanya, dan tidak pernah membersihkan sendiri.

Akibatnya, 7GB saya (Windows dan Data saya ada di partisi terpisah, serta area swap) partisi Ubuntu 11.04 menderita, dan telah mulai secara teratur menampilkan pesan peringatan.

Lewis Goddard
sumber
unix.stackexchange.com/questions/40442/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

23

Anda dapat melakukan ini secara grafis di Synaptic Instal sinaptik .

Pertama, pastikan Anda mengaktifkan kolom Ukuran Terpasang dan Ukuran unduhan (atau hanya satu jika Anda menginginkannya).

  • Untuk melakukan ini, buka Pengaturan> Preferensi dan pilih Kolom dan Font , lalu centang kolom yang ingin Anda lihat.
  • Kemudian klik OK .

Jendela preferensi

  • Setelah diaktifkan, Anda dapat mendaftar paket yang telah Anda instal dengan unduhan / ukuran diinstal dengan mengklik pada kolom.

Kolom

  • Harap dicatat: Saya tidak memiliki paket saya terdaftar dengan cara itu screenshot ini, tetapi berfungsi.
RolandiXor
sumber
Inilah tepatnya yang saya cari! Terima kasih banyak.
Lewis Goddard
@LewisGoddard: sama-sama
RolandiXor
24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

berisi daftar paket yang diurutkan berdasarkan ukuran

Florian Diesch
sumber
3
Akan lebih baik jika Anda bisa menyebutkan ukuran unit juga.
jobin
Mungkin kilobyte
Andreas Hartmann
1
apa yang ada di ;8dalam ${Installed-Size;8}?
n611x007
1
@naxa: Cetak kanan selaras dengan lebar bidang 8
Florian Diesch
18

Solusi yang disukai

Saya telah menemukan jawaban yang lebih pendek, tidak memerlukan aptitude:

dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t

Solusi lama yang diusulkan

The showperintah aptitudemampu menunjukkan ukuran diinstal dari sebuah paket.

Saya memiliki skrip kecil ini, yang menggunakan aptitude(untuk menginstal secara terpisah) untuk memiliki daftar semua paket yang diinstal dengan ukuran:

#!/bin/bash

export LC_ALL=C

aptitude show $(dpkg-query -Wf '${Package}\n') |
  awk '$1 == "Package:"     { name = $2 }
       $1 == "Uncompressed" { printf("%10s %s\n", $3, name) }' |
  awk '$1 ~ /k/ { $1 *= 1 }; $1 ~ /M/ { $1 *= 1024 }
       { printf("%9d %s\n", $1, $2)}'

Ukuran dinyatakan dalam kilobyte, dan merupakan perkiraan, seperti yang dikembalikan oleh aptitude show pkg.

Script dapat ditingkatkan menggunakan awkdoa tunggal (tapi saya malas :-)

enzotib
sumber
1
Anda mungkin ingin melempar pipa ke sort -nk1akhir perintah pertama itu.
Marco Ceppi
@ MarscoCeppi: ya, itu bukan perhatian utama OP, dan saya biasanya tidak memesan dari skrip saya, mengingat bahwa itu dapat diterapkan dengan cara yang berbeda sesuai kebutuhan.
enzotib
1
Ini juga mencantumkan perangkat lunak yang tidak diinstal lagi. Apakah ada cara untuk menghapus ini dari output?
rumpel
Apakah Anda ingin jumlah dari paket-paket ini pipa yang perintah pertama cut -f 1 | paste -sd+ | bc. Anda juga dapat melakukan grep sebelumnya cutsehingga Anda hanya dapat menginstal ukuran paket tertentu.
MeanEYE
5

Pilihan lain adalah menggunakan dpigsaplikasi dari debian-goodiespaket:

NAME
   dpigs - Show which installed packages occupy the most space

SYNOPSIS
   dpigs [options]

DESCRIPTION
   dpigs sorts the installed packages by size and outputs the largest ones. Per
   default dpigs displays the largest 10 packages. You can change this value by
   using the -n option (see "OPTIONS"). The information is taken from the dpkg
   status file with grep-status(1).

OPTIONS
   -h, --help
       Display some usage information and exit.

   -n, --lines=N
       Display the N largest packages on the system (default 10).

   -s, --status=FILE
       Use FILE instead of the default dpkg status file (which is /var/lib/dpkg/status
       currently).

   -S, --source
       Display the largest source packages of binary packages installed on the system.
Drew Noakes
sumber
3

Anda dapat melihat daftar tersebut di manajer paket berbasis terminal Aptitude:

  1. Buka Aptitude dengan sudo aptitude.
  2. Tekan S(huruf S) dan ketikkan ~installsizepada prompt. (Ini ~untuk jenis menurun; Anda dapat menghilangkannya jika Anda ingin paket terkecil di atas.)
  3. Sekarang, paket diurutkan berdasarkan ukuran di dalam setiap level hirarkis. Untuk mendapatkan gambaran umum, Anda harus sesedikit mungkin level. Tekan Gdan masukkan statussaat diminta. Sekarang semua paket yang diinstal berada dalam satu bagian, diurutkan berdasarkan ukuran.
legoscia
sumber
1

Jawaban lain di sini mencantumkan paket yang diinstal dan yang dihapus.

Daftar berikut ini hanya yang diinstal saat ini:

dpkg-query -W -f='${Installed-Size;8}\t${Status;1}\t${Package}\n' | grep -v "\sd\s" | sort -n | cut -f1,3-

Apa fungsinya:

  1. Permintaan ukuran, status, dan nama semua paket yang diinstal
  2. Memfilter paket yang terinstal
  3. Potong kolom status dari output

Output menyerupai:

...
22376   vim-runtime
26818   linux-image-3.8.0-32-generic
28673   libc6-dbg
35303   libpython3.3-dev
40303   valgrind
40731   linux-firmware
41516   smbclient
58704   linux-headers-3.8.0-26
58733   linux-headers-3.8.0-32
93566   linux-image-extra-3.8.0-32-generic
Drew Noakes
sumber