Як перерахувати встановлене програмне забезпечення із встановленим розміром?


38

Мені хотілося б, щоб на моїй машині був список встановленого програмного забезпечення, а разом із цим він займає місце на диску. Я хотів би мати можливість замовити найбільші / найменші, але це не є необхідністю.

Я така людина, яка буде встановлювати програмне забезпечення, щоб спробувати його, і ніколи не прибиратимуться за собою.

Як результат, мій 7 Гб (Windows та мої дані перебувають на окремих розділах, а також ділянка підміни) Розділ Ubuntu 11.04 страждає, і він почав регулярно показувати попереджувальні повідомлення.


Відповіді:


23

Це можна зробити графічно в Synaptic Встановіть синаптичний .

Спочатку переконайтеся, що ви включили стовпці встановленого розміру та розмір завантаження (або лише один, якщо він потрібен).

  • Для цього перейдіть у Налаштування> Налаштування та виберіть Стовпці та шрифти , а потім позначте стовпці, які ви хочете бачити.
  • Потім натисніть кнопку ОК .

Вікно налаштувань

  • Після їх включення ви можете перелічити встановлені вами пакети, завантаживши / встановивши розмір, натиснувши на стовпець.

Стовпці

  • Зверніть увагу: у мене немає цих пакунків, зазначених у цьому екрані, але це працює.

Це саме те, що я шукав! Дуже дякую.
Льюїс Годдард

@LewisGoddard: ласкаво просимо.
RolandiXor

24
dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

показує вам список пакунків, відсортований за розміром


3
Було б краще, якщо ви могли б також згадати одиницю розміру.
приєднатися

Можливо кілобайт
Andreas Hartmann

1
що ;8в ${Installed-Size;8}?
n611x007

1
@naxa: Друк праворуч вирівняний з шириною полів 8
Флоріан Дієш

18

Краще рішення

Я знайшов більш коротку відповідь, не вимагаючи aptitude:

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

Старе запропоноване рішення

showКоманда aptitudeможе показати встановлений розмір пакета.

У мене є цей маленький сценарій, який використовує aptitude(для установки окремо), щоб мати список усіх встановлених пакетів з розмірами:

#!/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)}'

Розмір виражається в кілобайтах і є приблизним, як повертається aptitude show pkg.

Сценарій можна вдосконалити за допомогою одного awkвиклику (але я лінивий :-)


1
Можливо, ви захочете кинути трубку sort -nk1на кінець цієї першої команди.
Марко Чеппі

@MarcoCeppi: Так, це не було головним питанням ОП, і я зазвичай залишаю замовлення зі своїх сценаріїв, враховуючи, що це може застосовуватися по-різному, якщо потрібно.
enzotib

1
Тут також перелічено програмне забезпечення, яке більше не встановлено. Чи є спосіб видалити їх з виводу?
румпель

Ви хочете, щоб сума цих пакетів передала цю команду першою командою cut -f 1 | paste -sd+ | bc. Також можна простукувати раніше, cutщоб ви могли встановити розмір лише конкретних пакетів.
MeanEYE

5

Ще одним варіантом є використання dpigsпрограми з debian-goodiesпакета:

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.

3

Ви можете переглянути такий список у менеджері пакунків на базі терміналів.

  1. Відкрити Aptitude з sudo aptitude.
  2. Удар S ( літера S) і введіть ~installsizeпідказку. ( ~Сорт для спадання; ви можете опустити його, якщо хочете найменших пакетів зверху.)
  3. На сьогодні пакети сортуються за розмірами всередині кожного ієрархічного рівня. Щоб отримати огляд, вам потрібно якомога менше рівнів. Натисніть Gі введіть statusпідказку. Тепер усі встановлені пакети знаходяться в одному розділі, відсортованому за розміром.

1

Інші відповіді тут перераховують як встановлені, так і видалені пакети.

Нижче перелічені лише ті, які зараз встановлені:

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

Що це робить:

  1. Запитайте встановлений розмір, статус та назву всіх пакетів
  2. Відфільтруйте деінстальовані пакети
  3. Виріжте стовпчик статусу з результату

Вихід нагадує:

...
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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.