Package managers.
Package managers.
This script won’t work in any distro, you have to use a lot of distro specific commands in it. But if you write a script for a specific distro anyway, why not use a tool that distro provides? You’ll be sure that it does everything correct way and you even won’t need to run anything after installation completed. You can also save time and disk space by excluding packages you don’t need but that would be installed by default. You can also automate disk partitioning and customize other installer settings saving even more time.
Speaking about configuration management tools, they can look a bit overkill, but they have at least one advantage of shell script - idempotency. They won’t try to install already installed software, change configs that don’t need to be changed etc.
Kickstart and preseed do not require installing anything. These are features of distro installers. Such configuration management tools as ansible also do nat require installing agent on a target machine (only python is needed, but it is usually installed by default).
There are automation tools that are much better suited for that then pure shell. Kickstart for anaconda based installers, preseed for debian installer etc. Or configuration management tools.
deleted by creator
Security fixes are backported to ESR releases so they are not less secure than bleeding edge.