If you are planning to roll out numerous Ubuntu-based servers, you can download the default ISO, install the operating system on each machine, and then install the necessary software. But what if each of those servers will need the same list of software packages installed? Why go through the hassle of manually adding those packages after you’ve installed the OS? If there were a way you could create a custom Ubuntu ISO, which includes all the necessary software, wouldn’t that be the most efficient means of handling this task?

Good thing such a tool exists.

Cubic is a custom Ubuntu ISO creator. With it you can take a standard Ubuntu ISO image, install all the third-party software you need, and then create a custom, bootable (and installable) image from that. In the end, you’ll have a Ubuntu platform that includes all the software you need, without having to add everything post-install.

I’m going to walk you through the process of installing and using Cubic. Once you know this tool, you won’t want to work without it.

SEE: Linux distribution comparison chart (Tech Pro Research)


I’ll be installing on Elementary OS, but the tool will install on any modern Debian-based distribution (so long as said platform has a GUI desktop). Open a terminal window and issue the following commands to install Cubic:

sudo apt-add-repository ppa:cubic-wizard/release
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
sudo apt update
sudo apt install cubic

That’s all there is to the installation. You should find an entry for Cubic in your desktop menu. Click to start it and you’ll be prompted for your sudo password.


The first screen requires you select a project directory (Figure A). You can have only one project per directory, so make sure you are using a new directory for each custom ISO (or delete all project files when the task is complete).

Figure A

In the next window, you must select the original ISO image to be used for the creation of the custom image (Figure B). I’m going to use Ubuntu 16.04 and add Kubernetes to that image. Once you select the image, the rest of the information will automatically fill in. Do not change anything in the Original ISO section. You can, however, change information in the Custom ISO section.

Figure B

Click Next and you will eventually find yourself in a terminal window indicating you are in a chroot environment (Figure C).

Figure C

From this terminal window, install all the applications you need in the standard fashion (via apt or apt-get). Once you’ve completed this task, click Next. You will then see the kernel image being used for the ISO. You can’t change this, so click Next again. At this point Cubic will begin building your custom ISO (Figure D). When it completes, click the Finish and your new disk image is ready and can be found in your project directory.

Figure D

The final screen does allow you to delete all project files (minus the generated disk image). Unless you have a need for the files, I’d recommend you do this. Burn your ISO image onto a CD/DVD or USB drive (or use it for a VirtualBox VM) and you’re ready to install your custom platform.

SEE: How to find files in Linux with grep: 10 examples (free TechRepublic PDF)

Easy does it

That’s all there is to creating a custom, installable ISO image based on an original Ubuntu disk image. If you’re looking at deploying numerous Linux servers (each of which will be based on the same collection of software), I highly recommend you giving Cubic a try. This easy-to-use software will save you time, especially when rolling out a data center filled with Ubuntu servers.

Also read…

Your thoughts

Have you ever used Cubic? Share your experiences and advice with fellow TechRepublic members.