Migrating a Business to Linux — 19
At work one of our workstations was not migrated from Windows 7 to Ubuntu MATE 16.04, but instead was built from scratch. That system is our imaging system, from which I create hard drive partitions for other systems.
The original goal of the imaging system was to quickly rebuild system hard drives. All but one of our laptops has a single user account and are used for a single purpose in the field. We do not need extensive backups of those systems because there are no user-specific
/home directories. Imaging a system is a nice way to restore a laptop to service without performing a full installation and tweaking.
We still perform backups to preserve nominal user changes.
The workstation part of this imaging system was made from the imaging partitions. The imaging partitions are on the same hard drive but are not part of the daily workstation mount points. The support scripts I wrote to create new hard drive images use those partitions.
While an ordinary office workstation, for the final delivery I wanted a way to update the imaging system partitions without rebooting. To accomplish this I created a VirtualBox system using raw disk access. I created a special boot ISO to boot the virtual system into run level 3 (multi-user target). When the kernel is updated I manually run a separate script to create a new boot ISO. That script is basically a wrapper to a single command.
This works well as long as I am physically at the workstation.
I am fortunate with my position at work that often I work remotely. As a result, for many months during our migration project, in my home office I used one my personal test systems as the workstation. The imaging system prototype remained in my home office.
Moving the final system into the office at work meant I had to be at the office physically to update the system or the imaging partitions.
I am fortunate to often work remotely, right?
I wanted to update the imaging partitions remotely. As with all of the systems I maintain at work, I use pass phrase protected SSH keys for remote access. I did not want to add my keys to the image partitions. Instead I enabled the VirtualBox remote desktop access (port 3389). With this RDP support, I could SSH into the host imaging workstation, start the respective VirtualBox system headless, and access the virtual system using Remmina and RDP. I do not need to use the virtual machine in an actual desktop. From this approach I can update and manually power down the system.