pkgsizes - узнайте РЕАЛЬНЫЕ размеры пакетов в вашей системе!

Разбирался с пакетами в Arch, писал скрипт, потом наткнулся на старенький скрипт
от Allan McRae и еще раз переписал все с нуля.
Решил оформить и выложить в общий доступ - вдруг кому пригодится.
Репозиторий: https://github.com/AndreyBalandin/archlinux-pkgsizes/
Для работы требуется только Python 3.6

Результат работы скрипта:
Name               Installed_Size  Depends_On  Full_Size  Used_By  Shared_Size  Relative_Size
libreoffice-still  416.7MiB        161         1.4GiB     0        0.0          638.0MiB
chromium           161.1MiB        214         1.1GiB     0        0.0          189.3MiB
.....
glibc               41.4MiB        4           51.1MiB    728      58.2KiB      41.4MiB
icu                 35.1MiB        9           202.9MiB   155      231.9KiB     35.4MiB

Колонка Relative_Size самая интересная - именно она отвечает на вопрос
"Сколько в реальности занимает установленный пакет?"
Суть в том, что нужно каким-то образом учитывать не только размер самого пакета
(который мало о чем говорит), но и все зависимости, которые он за собой тянет.
Просто суммировать размеры всех зависимостей тоже неправильно, ведь зависимые
пакеты могут быть использованы сотнями пакетов.
Таким образом, приходим к выводу, что в относительно честном размере пакета надо
учитывать доли размера зависимых пакетов. А эти доли считать пропорционально тому,
сколькими пакетами используется эта зависимость.

Полное описание работы, примеры, объяснение на пальцах - читать здесь:
https://github.com/AndreyBalandin/archlinux-pkgsizes/blob/master/README.ru.md

Просто скопировать скрипт в текущую директорию:
curl -LO https://github.com/AndreyBalandin/archlinux-pkgsizes/raw/master/pkgsizes.py
Запустить скрипт и сохранить таблицу в файл:
python3 pkgsizes.py > pkgsizes.txt
Примеры работы с таблицей есть в описании.
А дальше - размышлять над результатами;)

Update. Сделал явную ссылку на Python3 для тех, у кого дефолтный - второй.
vinc, есть предложение заменить
#!/usr/bin/env python
на
#!/usr/bin/env python3
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja, у меня указано, что запускать: python pkgsize.py.
Нигде не написано, что из него надо делать исполняемый файл.
Поэтому шебанг в начале вообще не нужен. Просто запускайте с python3.
Если будет интерес и желание, тогда можно будет пакет для AUR сделать.
Вот тогда и шебанг можно поправить.
nafanja
на
#!/usr/bin/env python3
По умолчанию и так третий используется. Это для второго прописывать надо
 python --version
Python 3.6.5
vs220
Это для второго прописывать надо
как по мне, не стоит наступать на грабли повторно.
прописывали бы версию раньше, не нужно было бы исправлять ее сегодня.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Еще раз повторю. При форме запуска python script не имеет значения, что там прописано с самом скрипте.
Хоть #!/usr/bin/env python42 пропишите;)
Если у вас до сих пор по-умолчанию при команде python запускается python2, то добавьте цифру 3 и запустите python3.
Что тут может быть непонятного?
vinc
при команде python запускается python2, то добавьте цифру 3 и запустите python3
А не наоборот ли?
In Tux We Trust
 
Зарегистрироваться или войдите чтобы оставить сообщение.