In this tutorial, we will see how to change your daily Ubuntu Linux installation into a rolling release distribution. This means, that instead of you needing to wait for a new distro release, you have the latest package updates as soon as they come out.
Ubuntu desktop lead developer Martin Wimpress has created a tool called Rolling Rhino. Its aim is to convert an Ubuntu daily build image into a “rolling-release” distro by opting into and tracking the devel series of changes/packages.
There are a few things to keep in mind when using this tool, like the fact it can’t detect PPAs or desktop meta-packages and has no GUI.
For this tutorial, we will be using the latest daily release of Ubuntu Desktop called Ubuntu 20.10 (Groovy Gorilla) Daily Build. You could use any other daily build to make it a rolling release with the steps we will be using later on.
What is rolling release distribution?
Rolling release, rolling update, or continuous delivery, in software development, is the concept of frequently delivering updates to applications. This is in contrast to a standard or point release development model which uses software versions that must be reinstalled over the previous version. An example of this difference would be the multiple versions of Ubuntu Linux versus the single, constantly updated version of Arch Linux.
To whom is this tool intended for?
Rolling Rhino is intended for Ubuntu developers and experienced Ubuntu users who want to install Ubuntu once and the track all development updates with automatic tracking of subsequent series.
Installing Daily Ubuntu Linux Build
First, we must install the daily Ubuntu image. Installation is the same as with any other Ubuntu version.
We can choose the image from the following flavors:
Once the Ubuntu daily image has finished installing, we are going to clone the rolling-rhino git repository to our local directory. We could do this in any directory we like, but for this example, we will position ourselves in /home directory.
But before that, we need to install git using:
$ sudo apt install git Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: git-man liberror-perl Suggested packages: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn The following NEW packages will be installed: git git-man liberror-perl 0 upgraded, 3 newly installed, 0 to remove and 362 not upgraded. Need to get 5764 kB of archives. After this operation, 41,2 MB of additional disk space will be used. Do you want to continue? [Y/n]
When installation has finished, enter your home directory and type the following command:
$ git clone https://github.com/wimpysworld/rolling-rhino Cloning into 'rolling-rhino'... remote: Enumerating objects: 6, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (6/6), done. remote: Total 161 (delta 2), reused 4 (delta 0), pack-reused 155 Receiving objects: 100% (161/161), 249.96 KiB | 901.00 KiB/s, done. Resolving deltas: 100% (85/85), done.
As we can see, the cloning of the repository was successful. We can also check the files by listing them using ls:
$ cd rolling-rhino/ $ ls LICENSE logo.txt README.md rolling-rhino snap
We can see the downloaded files are in the rolling-rhino directory. We can now proceed with the rolling-rhino setup.
Setting Up Rolling-Rhino
Now we are in the rolling-rhino cloned directory in our /home. The only thing left to set up rolling-rhino is to execute the following script:
$ sudo ./rolling-rhino Rolling Rhino 🦏 [+] INFO: lsb_release detected. [+] INFO: Ubuntu detected. [+] INFO: Ubuntu Groovy Gorilla (development branch) detected. [+] INFO: Detected ubuntu-desktop. [+] INFO: No PPAs detected, this is good. [+] INFO: All checks passed. Are you sure you want to start tracking the devel series? [y/N]
We need to wait for the script to finish (which will take some time...) and after that, we will be greeted with the success message and a piece of nice ASCI art:
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. After this operation, 253 kB disk space will be freed. (Reading database ... 144631 files and directories currently installed.) Removing libfprint-2-tod1:amd64 (1:1.90.2+tod1-0ubuntu1) ... Removing libsane:amd64 (1.0.30-1~experimental2ubuntu1) ... Processing triggers for libc-bin (2.31-0ubuntu10) ... [+] INFO: Your Rolling Rhino is ready.
We have successfully converted daily Ubuntu Linux build image into rolling release. You can do this with any other Ubuntu daily build image.