Gentoo vs Arch Templates

Which of these distros is easier to install and install apps into?

1 Like

Maybe not a duplicate, but very similar to:

1 Like
meta-conversation

you linked the current topic itself :smiley:

Moderation edit: Thanks @solene! (Oops!) I moved the posts to the most recent topics and minimized this note to keep the topic as clean as possible.

1 Like

I installed both archlinux and gentoo-minimal template from community repository using qvm-install command, disk usage of gentoo-minimal is double of archlinux.
Arch is distro of using binary, Gentoo is distro of using source code.
Source code is normally supposed to lightweight more than binary.
Why is gentoo-minimal template double weight than archlinux template?
I cannot understand its reason.

I like gentoo, and I hope use as template of AppVM.
Because minimal template is more less attack surface, security and privacy hardened.
But gentoo-minimal template is bigger than archlinux, so vm-pool usage will be full by clone template…

1 Like

You can go deeper into how this is built and look for room of improvements.

I use the ArchLinux and Gentoo templates.

Keep in mind that as Gentoo compiles all the packages, the template needs all the packages for the build tool chain. It also need some disk storage for decompress the source code and build the target package. Try to install a big package like the firefox package, you’ll understand…

1 Like

I have installed from community repository, vanilla archlinux template is 3008.72MB, gentoo-minimal template is 6446.9MB, this disk usage is before touching.
Vanilla debian-12-minimal template is 1310.72MB, I think gentoo-minimal template is crazy heavyweight!

However gentoo-minimal template is minimal template.
For example Firefox has not been pre-installed in vanilla debian-12-minimal template.
Gentoo is designed distro as source code download from repository, all unnecessary packages should not be pre-installed in minimal template.
Necessary packages are only as need template working for example qubes-core-agent, other all packages should be download by user.
If heavyweight reason of gentoo-minimal template is default installed of unnecessary packages such as Firefox, I think their packages should be purged from gentoo-minimal template.

Can I remove all unnecessary pre-installed packages on gentoo-minimal template for example Firefox?
When user use template on Qubes os, normally copy default template after setting, for example debian-12-template is used in this way.
Because vanilla debian-12-template is very lightweight, it is little over 1GB.

But…gentoo-minimal template is over 6GB, this is too heavyweight, so copy is difficult.
Dom0 and other templates are using systemd as init, but gentoo is using OpenRC, so unlike other template.
Because I don’t understand to remove all unnecessary pre-installed packages on gentoo-minimal template before I use.
If it can do it, I remove unnecessary packages, after copy it, I hope to use truly gentoo-minimal template.

It comes with full compilation toolchains for C, C++ and Rust, this takes a lot of room. It would be nice to analyze the disk space usage, I bet it’s due to all the necessary packages for compiling packages.

Note that since December 2023, Gentoo is offering official binary packages! No need to compile anymore.

I installed a fresh gentoo-minimal and calculated the size of biggest packages, sorted by size.

In addition, the package manager + installed package weight 770 MB out of the box, once you install more packages this grows a bit, and the package repository also slightly increase in size over time.

It’s displayed in megabytes (MB)

888.403 dev-lang/ghc-9.0.2-r4
529.931 dev-lang/rust-bin-1.71.1
290.116 sys-devel/gcc-13.2.1_p20230826
282.152 sys-devel/llvm-16.0.6
178.532 dev-lang/python-3.11.5
135.606 app-text/pandoc-2.18-r2
66.6118 sys-libs/glibc-2.37-r7
59.8772 dev-python/numpy-1.26.1
58.6771 dev-lang/perl-5.38.0-r1
54.1489 dev-haskell/texmath-0.12.5.1
49.7652 x11-libs/gtk+-3.24.38
44.6049 app-text/docbook-xsl-ns-stylesheets-1.79.1
41.8883 dev-util/cmake-3.26.5-r2
41.6222 dev-libs/icu-73.2
35.7249 app-editors/vim-core-9.0.1627
35.5683 dev-vcs/git-2.41.0
33.5294 dev-haskell/unicode-data-0.3.0
31.9762 dev-python/Babel-2.13.1
29.007 dev-haskell/skylighting-0.12.3.1
28.9684 sys-apps/systemd-254.5-r1
28.546 media-libs/mesa-23.1.8
27.7544 sys-devel/binutils-2.40-r5
23.8583 sys-apps/portage-3.0.51
22.8804 dev-python/sphinx-7.2.6
22.5759 dev-haskell/cryptonite-0.28
22.5179 dev-python/cython-3.0.5
22.3438 dev-haskell/unicode-collation-0.1.3.3
21.0879 dev-haskell/commonmark-0.2.2
20.8292 dev-haskell/vector-0.12.3.1
20.1014 app-text/docbook-xsl-stylesheets-1.79.1-r4
20.082 media-gfx/imagemagick-7.1.1.11
19.2297 dev-haskell/aeson-2.0.3.0
18.2756 dev-haskell/juicypixels-3.3.5
17.9767 sys-apps/coreutils-9.3-r3
17.322 dev-util/meson-1.2.3
16.7911 dev-libs/openssl-3.0.11
16.7351 sys-apps/util-linux-2.38.1-r2
16.4098 dev-haskell/citeproc-0.7
16.3526 dev-libs/glib-2.76.4
15.2047 x11-libs/pango-1.50.14
15.0522 dev-libs/gobject-introspection-1.76.1
14.7373 dev-python/pygments-2.16.1
14.129 dev-haskell/tls-1.5.8
13.4475 x11-themes/adwaita-icon-theme-44.0
13.1942 dev-haskell/emojis-0.1.2
12.9201 dev-haskell/skylighting-core-0.12.3.1
12.9053 dev-lang/vala-0.56.8
12.8704 dev-python/docutils-0.20.1-r1
11.7245 dev-haskell/basement-0.0.12
11.6648 gnome-extra/zenity-3.44.2
11.2052 dev-haskell/tagsoup-0.14.8
11.1197 dev-lang/tcl-8.6.13-r1
11.1124 sys-devel/gettext-0.21.1

Yes I’m spotting this since a while but there is no signature yet available (as far I’ve checked few weeks ago). I’ve made a attempt to do it on my own using split-gpg but I hit some issues last year with the hope that probably split-gpgv2 should solve them. Never had time to finish that. And yes, it’s feasible to build whole Gentoo on my side :slight_smile:

1 Like

The announcement said the packages are signed.

See Binary package quickstart - Gentoo wiki for the setup.

2 Likes

I check by ‘qvm-template info’, buildtime of my installed gentoo-minimal is 2023-11-24 18:56:21.
I not yet touch this, so 6.3GiB is size of vanilla gentoo-minimal.
Pre-install packages in minimal template should be necessary packages only.
Source code is normally supposed to lightweight more than binary.
Is 6.3GiB really legitimate size?

yes

So very much more recent than when I started looking at the first binhost instance :slight_smile:, thank you for the update.

1 Like

I tried to run gentoo-minimal template, and I run emerge command.
Portage has been end of compile all default packages of source code, disk usage increases 6GB to 8GB.
In other words, size of necessary packages is 2GB only.
8GB is heavyweight as minimal template, but I understand 8GB is legitimate size of gentoo-minimal.

But 6GB is size of before compiled source code, what is this?
Is this size necessary packages of pre-compiled for example portage and qubes-core-agent, or size of pre-downloaded source codes on template?
If this is pre-downloaded source codes, I purge and remove them all, I can be became to very lightweight at gentoo-minimal template (But compile and system upgrade become to very slowly).

I measured it a few messages above.

Anything installed more will require more dependencies, emerge also store the sources to compile the packages you want, so you will just use more and more space. The sources are kept in cache because on a small update, they could be reused.

Did you use the equery command to build this list?

I found a one liner on the gentoo forums, but I forgot to save it :sweat_smile: it was long and not very effective as it had to loop over all installed packages to measure the size of each