📦 Как составить список установленных пакетов по размеру на Ubuntu/Debian

by itisgood

В этом руководстве мы рассмотрим шаги по составлению списка установленных пакетов по размеру в системах Ubuntu/Debian Linux.

Это может быть важно при проведении аудита пространства и попытке найти пакеты, занимающие много места в вашей системе.

Ubuntu / Debian dpkg-query и dpkg менеджер пакетов предоставляют некоторые опции командной строки, которые могут быть использованы для этой задачи, с помощью некоторых инструментов Linux regex, таких как awk, sed, sort, tr

Список размеров установленных пакетов с помощью Wajig

Wajig – это упрощенный администратор командной строки для пакетов Debian / Ubuntu.

Мы можем использовать эту программу для получения списка размеров пакетов.

Этот инструмент может быть установлен с помощью команд:

sudo apt install wajig

Чтобы перечислить самые большие установленные пакеты в порядке убывания, используйте команду:

wajig large
OutputPackage Size (KB) Status
=================================-==========-============
libc6 10,508 installed
grub-common 11,484 installed
linux-headers-3.13.0-32-generic 12,999 installed
linux-headers-3.13.0-143-generic 13,216 installed
iso-codes 15,207 installed
perl-modules 16,134 installed
perl 17,320 installed
vim-runtime 25,186 installed
linux-image-3.13.0-32-generic 41,029 installed
linux-image-3.13.0-143-generic 43,054 installed
linux-headers-3.13.0-32 61,797 installed
linux-headers-3.13.0-143 62,064 installed
linux-firmware 124,150 installed
linux-image-extra-3.13.0-32-generic 148,283 installed
linux-image-extra-3.13.0-143-generic 150,240 installed

Из приведенного выше результата видно, что пакет, который занимает больше всего места на моем сервере Ubuntu, это linux-image-extra-3.13.0-143-generic размером 150 Мб.

Список размеров установленных пакетов с помощью команды dpkg-query

Вы также можете использовать команду dpkg-query для получения списка установленных пакетов, отфильтрованных по размеру.

dpkg-query – это инструмент, используемый для отображения информации о пакетах, перечисленных в базе данных dpkg.

Вы должны использовать опцию -Wf и направить вывод в команду sort, чтобы получить результат, отсортированный по порядку.

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 10
Output23508 git
26870 vim-runtime
30094 libicu55
32502 cassandra
65367 linux-image-4.4.0-87-generic
68901 linux-headers-4.4.0-87
75176 snapd
97190 openjdk-8-jre-headless
148663 linux-image-extra-4.4.0-87-generic
207968 linux-firmware

Вы должны заметить, что этот вывод похож на вывод команды wajig.

Последний файл в списке – самый большой.

Список размеров установленных пакетов с помощью dpigs

Dpigs – это инструмент Debian, который используется для того, чтобы показать, какие установленные пакеты занимают больше всего места в системе.

dpigs сортирует установленные пакеты по размеру и выводит самые большие из них, по умолчанию отображается 10 пакетов.

Этот инструмент не установлен по умолчанию, установите его в системе Ubuntu / Debian с помощью команды.

apt install debian-goodies

Теперь, чтобы перечислить размер установленных пакетов, введите

dpigs
Output
150240 linux-image-extra-3.13.0-143-generic
148283 linux-image-extra-3.13.0-32-generic
124150 linux-firmware
93841 libboost1.54-dev
62064 linux-headers-3.13.0-143
61797 linux-headers-3.13.0-32
54539 openjdk-7-jre-headless
43054 linux-image-3.13.0-143-generic
41029 linux-image-3.13.0-32-generic
39210 python-neutron

Как показать размер установленного пакета с помощью /var/lib/dpkg/status и awk

Вы также можете использовать awk для чтения данных из /var/lib/dpkg/status и их фильтрации, чтобы получить размер каждого пакета, установленного в вашей системе.

Для этого используйте команду:

awk '{if ($1 ~ /Package/) p = $2; if ($1 ~ /Installed/) printf("%9d %s\n", $2, p)}' /var/lib/dpkg/status
Вы можете дополнительно отфильтровать вывод, направляя его в команды sort и tail|head.
awk '{if ($1 ~ /Package/) p = $2; if ($1 ~ /Installed/) printf("%9d %s\n", $2, p)}' /var/lib/dpkg/status | sort -n | tail

Приведенная выше команда покажет размеры пакетов в порядке возрастания – от наименьшего к наибольшему.

Есть и другие команды, которые вы можете использовать, но все они делают одно и то же. Это должно дать вам достаточно информации для начала работы. Вы можете написать свои собственные функции/алиасы или скрипты bash, используя те же команды для быстрого выполнения и справки.

Заключение

В этом руководстве мы узнали, как составить список установленных пакетов по размеру в Ubuntu.

Спасибо за прочтение, пожалуйста, оставляйте свои отзывы и предложения в разделе комментариев.

см. также:

 

You may also like

Leave a Comment