Mass production for Ubuntu systems
I'm working on a project that is based upon an industrial PC. It runs Ubuntu 20.04 Desktop. Right now I finished the development and I have a PC with a ready-to-use environment:
- customized Ubuntu installation (removed unused packages, added other ones, udev rules, configurations for services, etc...)
- end user applications, resources, web server, ...
The boss is asking: "well, let's be ready to prepare 50 PCs like this one". The PCs are identical of course.
My first thought is to clone the SSDs (one for /
and home, another for media contents) with Clonezilla.
I read several tutorial on the Internet that explains how to save the images of the HDDs and how to restore them.
But I wonder about the fstab for example:
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=a2063e54-9179-4855-8d24-173faf9e54b0 / ext4 errors=remount-ro 0 1
UUID=82AB-EC9F /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/disk/by-uuid/f6de388b-fe5a-4a23-a3c1-d87eb32f745a /mnt/resources auto nosuid,nodev,nofail 0 0
After write back the original image to a new PC, would the o.s. even run? Or will it fail because the wrong UUIDs?
What's the correct approach to prepare a "mass" production cloning an existing system?
I'm not afraid about hostname or network configuration because I wrote a simple script that runs once at first boot. The problem is reach the first boot!
Solution 1:
If you need to do this in a consistent fashion, Canonical’s Metal-as-a-Service (MAAS) is worth a look. It makes life a whole heck of a lot simpler.
Be sure to also examine Landscape, which will drastically simplify updates, custom repositories, software deployments, and health monitoring.
These two tools have saved me (and my employer/clients) several thousands of hours per year.