Большие пакеты в Arch Linux
Зеркало Arch Linux
Когда-то я писал про создание локального зеркала репозиториев с пакетами Arch Linux в статье Linux выживальщика
Время от времени я синхронизирую своё локальное зеркало с глобальным. И с каждым разом оно становится больше и больше. Это ожидаемо, но не очень приятно. Иногда я просматриваю содержимое репозиториев, чтобы обновить списки исключений и заведомо не качать то, чем я не пользуюсь.
Сегодня я собрал немного занимательной статистики с пакетами-рекордсменами в Arch Linux.
Топ-10 самых больших пакетов
1. dotnet-source-built-artifacts-6.0
Internal package for building the .NET Core SDK
Package Size: 2.6 GB
Installed Size: 2.7 GB
2. intel-oneapi-basekit
Intel oneAPI Base Toolkit for Linux
Package Size: 2.5 GB
Installed Size: 14.8 GB
3. texlive-doc
TeX Live - documentation
Package Size: 2.3 GB
Installed Size: 3.3 GB
Внутри 45 тысяч файлов с примерами, как из файлов типа sample.tex сделать файлы типа sample.pdf. «Многовато будет!»
4. kea-docs
High-performance, extensible DHCP server ... (user and developer documentation)
Package Size: 1.7 GB
Installed Size: 2.0 GB
У меня этот файл уже много лет в стоп-листе (хотя однажды ему удалось пролезть в моё зеркало после переименования kea-devel-docs в kea-docs).
Этот пакет, как мне кажется — максимальный акт неуважения к сообществу. Что это за документация такая размером 2.0 GB из 30 тысяч файлов?
Почему у меня другое отношение к тому же texlive-doc? Так там знания тысяч разных людей, собранные за четверть века. А не вот этот вот kea-docs, сгенерированный бездумным роботом.
5. cuda
NVIDIA's GPU programming toolkit
Package Size: 1.5 GB
Installed Size: 4.4 GB
6. 0ad-data
Cross-platform, 3D and historically-based real-time strategy game (data files)
Package Size: 1.4 GB
Installed Size: 3.1 GB
Игра.
7. tinygo
Go compiler for small places.
Package Size: 1.4 GB
Installed Size: 2.4 GB
Самый большой файл внутри этого пакета — это исполняемый файл «usr/lib/tinygo/bin/tinygo» размером полтора гигабайта. Экзешка. Размером полтора гигабайта.
Ну нет же, нет! TinyGo, ты был создан, чтобы бороться со злом, а не становиться его самым толстым флагманом!
Понятно, что слово «tiny» относится не к системе сборки, а к результату. И, возможно, была причина собрать tinygo именно в таком виде. Но как же всё-таки странно смотрятся гигабайты рядом со словом «tiny», особенно в любимом линукс-дистрибутиве.
Что удивительно — оригинальные сборки с https://github.com/tinygo-org/tinygo/releases — это небольшие файлы типа tinygo0.31.0.linux-amd64.tar.gz размером 132 MB. В 10 раз меньше.
8. cuda-tools
NVIDIA's GPU programming toolkit (extra tools: nvvp, nsight)
Package Size: 1.1 GB
Installed Size: 2.4 GB
9. xonotic-data
A free, fast-paced crossplatform first-person shooter (data files)
Package Size: 1.1 GB
Installed Size: 1.1 GB
Игра.
10. sauerbraten-data
Improved version of the Cube engine - datas files
Package Size: 913.4 MB
Installed Size: 1007.1 MB
Игра.
Итого
Всего в основных репозиториях Arch Linux:
Получается, что 10 самых больших пакетов (что меньше 0.1% от общего количества пакетов) занимают 17 GB (больше 20% от размера всех файлов).
Если заглянуть в зеркало чуть поглубже:
cd /mirror/archlinux/extra/os/x86_64
du -h *.zst | sort -rh | head -n 40
Можно увидеть, что Арч — это на четверть ещё и игровой линукс, с играми типа: 0ad, xonotic, sauerbraten, supertuxkart, endless-sky, frogatto, warsow, naev, wesnoth, widelands
В Арче очень не хватает отдельного репозитория games
. Хотя бы для того, чтобы никогда его не скачивать. Я по-отдельности очень люблю и линукс и игры, но почему-то совершенно не люблю игры в линуксе.
Увы, но размеры пакетов становятся всё больше и больше. Не только в Арче. Весь софт становится толще и прожорливее (и чаще всего не пропорционально тем возможностям, которые в нем появляются).
Бывают, конечно, исключения типа Fresh IDE размером в 300 килобайт от @johnfound. Это очень здорово, но сейчас такое большая редкость.