[General Questions and Answers] dandudikof:
To keep things isolated, clean and manageable on host system, that has no dev tools

or anything extra besides standard desktop stuff. (under main linux distros)

#1 For smallest , fastest deployment of various build/dev environments i use schroot

on devuan/debian , it is a system to manage/automate the use of chrootable containers.

like regular manual chroot but most thigs are automated/preconfigured with

just a few commands and config files.

Basicaly a new root filesystem (userspace) that is independent of hosts root filesystem and just

uses hosts kernel (or as much/little acces to kernel as you give it trough schroot config files)

has its own packages and dependencies and will only see specific sections of hosts filesystem sections you give it access to like say /src/myproject from host. can be a separate /home

or shared with host, all depends on your config.

Using debootstrap to create the filesystems for containers of specific distributions/verions.

Or can just manualy copy an install and rip out the kernel etc...

(Can install ubuntu userspace in debian with debootstrap , if need be.)

(like lineageOS was hard to find all the correct/matching dev tools under devuan, so ubuntu it was)

#2 For something a bit beefier LXC on top of libvirt.

(regular chroot wont run services, or have its own networking , LXCs can , with some extra configuration)

#3 For when you just need an actual full blown VM os installation use KVM/qemu on top of libvirt .

(like installing 15 year old redhat 5.1 in a container wont work, kernels and main libs too far apart)

(or anything that is just too different from current linux kernel , other OS s etc...)

virt-manager is nice for graphicaly managing VMs and LXCs

#1 But schroot is essential and will suffice for more then 90% if not whole 100% of your needs.

if you want a clean host system from being clobbered by constant installing and testing and such . Keeps the environment contained in its own filesystem namespace , have as many as you need .

start fresh,rollback,clone etc.............

Once configured just start another tab in a terminal emulator and schroot in to the container

and your main host system in unaffected, always clean :).

#4 Running all of this on top of ZFS takes it a step up, to the next level of effeciency.

zfs helps quite a bit with cloning,branching,snapshots, rollbacks but not essential,

like git versioning for things that are too big for or are not made for git management

(but is another system on to itself to learn, so ignore it if new to linux )

just cloning a 300Mb-1Gb base bootstrap install folder takes no time on regular filesystem on ssds .

With these 3 tools , you can have 10s if not 100s of different environments on a single host

quickly deployable once you get to know the procedures. all usable at the same time without

reboot,

#5 The most important is learning how to hunt for the right version of tools and all of the

dependencies and the correct versions of those , as each project will have their own

and will base it on their own distribution of choice at a specific point in time.

(by being able to install/test/restart in container makes this whole process , easier)

you can test many different ideas at the same time , and merge what works in

to your own dev-build-env for a specific project.

(like hunting down correct tutorial for specific/old/obscure phone and a rom and recovery

and rooting tools associate from a time long past. using wayback machine to source

correct versions of each , as normal web has erased them )

even used schroot to install games for nephew from untrusted sources without hesitation,

and just delete the container when done, but that was a bit more involved as proprietary

nvidia drivers had to be installed on host and partially in containers.