Большие пакеты в Arch Linux

520eac006cfb93c21da074db1fd64fc2

Зеркало 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. Это очень здорово, но сейчас такое большая редкость.

© Habrahabr.ru