Иногда, когда мы задумываемся об установке нескольких сопоставимых пакетов, но выбираем только один, становится любопытно, насколько большим будет пакет.
Мы не всегда оптимизируем работу с учетом экстремального минимализма, но в целом мы об этом помним.
📦 Как определить менеджер пакетов в системе Linux
Pacman
Вот несколько результатов сравнения двух популярных инструментов для установки обоев с Wayland:
$ pacman -Si swaybg
...
Depends On : wayland cairo gdk-pixbuf2
Download Size : 14.80 KiB
Installed Size : 33.72 KiB
...
$ pacman -Si swwww
...
Depends On : dav1d gcc-libs glibc lz4
Download Size : 2.33 MiB
Installed Size : 8.43 MiB
...
Если вы хотите увидеть истинный размер установки, вы можете начать ее установку, но затем отменить с помощью n:
$ pacman -Syu swaybg
Package (1) New Version Net Change Download Size
extra/swaybg 1.2.1-1 0.03 MiB 0.01 MiB
Total Download Size: 0.01 MiB
Total Installed Size: 0.03 MiB
:: Proceed with installation? [Y/n]
В моей системе не нужно было устанавливать зависимости swaybg, потому что они у меня уже есть.
То же самое произошло с swww, поэтому в этом случае истинный размер установки – это размер пакета, указанный выше.
Убедитесь, что зависимость установлена
Вы можете запустить pacman –Q | grep cairo или любой другой пакет, который хотите проверить.
Если вы получите ответ grep, значит, он уже установлен:
$ pacman -Q | grep -E "(wayland|cairo|gdk-pixbuf2)"
cairo 1.18.4-1
gdk-pixbuf2 2.44.3-1
wayland 1.24.0-1
Apt
Как и в случае с pacman, мы можем получить аналогичную статистику.
Это для самого пакета без зависимостей:
$ apt show curl
...
Depends: libc6 (>= 2.34), libcurl4t64 (= 8.14.1-2), zlib1g (>= 1:1.1.4)
Download-Size: 269 kB
Installed-Size: 506 kB
...
$ apt show wget
...
Depends: libc6 (>= 2.38), libgnutls30t64 (>= 3.8.1), libidn2-0 (>= 0.6), libnettle8t64, libpcre2-8-0 (>= 10.22
), libpsl5t64 (>= 0.16.0), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4)Download-Size: 984 kB
Installed-Size: 3875 kB
...
Чтобы получить истинный размер установки, можно также начать установку пакета, но отменить ее:
$ apt-get install --no-install-recommends curl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libbrotli1 libcom-err2 libcurl4t64 libffi8 libgnutls30t64 libgssapi-krb5-2 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap2 libnghttp2-14 libnghttp3-9 libp11-kit0 libpsl5t64 librtmp1 libsasl2-2 libsasl2-modules-db libssh2-1t64 libtasn1-6
libunistring5
Suggested packages:
gnutls-bin krb5-doc krb5-user
Recommended packages:
bash-completion ca-certificates krb5-locales libldap-common publicsuffix libsasl2-modules
The following NEW packages will be installed:
curl libbrotli1 libcom-err2 libcurl4t64 libffi8 libgnutls30t64 libgssapi-krb5-2 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap2 libnghttp2-14 libnghttp3-9 libp11-kit0 libpsl5t64 librtmp1 libsasl2-2 libsasl2-modules-db libssh2-1t64 libtasn1-6
libunistring5
0 upgraded, 23 newly installed, 0 to remove and 2 not upgraded.
Need to get 4905 kB of archives.
After this operation, 14.8 MB of additional disk space will be used.
Do you want to continue?
Имейте в виду, что я запускал примеры apt в новом контейнере Docker с помощью docker container run –it –rm debian:stable, где я запускал только apt–get update.
В реальной системе у вас, возможно, уже установлены некоторые зависимости curl.
То же самое относится и к wget.
см. также:
- 🐳 Размер образа Docker: как проверить и уменьшить
- 📜 Руководство для начинающих по созданию первого пакета Debian
- 📦 Как составить список установленных пакетов по размеру на Ubuntu/Debian
![]()
