One Linux OS

Is there a possible way to update the newest version of Ubuntu, Fedora, Kali, Redhat, CentOS, Arch, BlackArch , ParrotOS, CentOS or, Zorin without having to reinstall the OS? I know I missed a lot of distro s there but, those I like to screw around with in virtual box. Yes most of us know the “apt-get update” and apt-get upgrade" but, I want to have all the new Kali Linux or Black Arch , or ParrotOS tools without screwing up my repositories in my Linux mint machine. There is at least one new OS every month and personally keeping it up to date is a pain in the ass. I gotta make sure everything I have is on a separate drive. Like I am better off having Linux on a 3.0 USB drive and have all the programs saved to a different Drive.

Better yet if we had one Linux ISO that you can hand pick each program you want to install via a easy to use interface similar to the Ubuntu installation but from every repository from every distro. That sounds like a dream to me the people who update Linux are doing this for little to no pay so I don’t blame them if it takes them 20 years to get something like this done.

the newest versions of the distros don’t mean anything…

when you upgrade your system via package manager, it checks if you are running up-to-date software (if not) you are presented with an update if there is one available. if you installed Fedora 24 for example, and updated your system the way you should every once in a while there is no difference between Fedora 24 and Fedora 27…

the ISOs for Fedora 27 just contain all the newest packages available in the stable repositories… if you installed Fedora 24, years ago and updated your system you’d be “Technically” be running Fedora 27

Just update your system weekly (or if you are running an LTS distro. then a bi-weekly or on monthly basis and you should be fine. there is no con to runnning a “old version” of a distro if you keep your system up-to-date as you should.

2 Likes

You just do a system upgrade with the package manager.

Linus makes over $450K, but yeah everyone isn’t as fortunate as him xD

Oh, and if you want more self contained ‘containerized’ apps, look at docker, snaps, and flatpak.

3 Likes

Usually when a new major version of a Linux OS comes out, a guide for upgrading will also come out. For instance, here’s the guide to upgrade from Fedora 27 to 28. It usually isn’t too painful, although there’s a greater chance that you’ll run into issues than between minor version or revision updates.

But it sounds like you want to switch between different Linux distributions while maintaining the same software base and user preferences. That is not entirely possible.

You can boot into different distributions on a single computer using GRUB, but packaged software is specific to the distribution. I suppose you could hypothetically share snaps between 2 OS’s that support them, but I don’t know if that would work for sure. However, as far as user prefs go, you can share a /home partition between distributions and retain your desktop/documents, .bashrc, or whatever other config you have in your home folder.

2 Likes

Unless OP really feels like getting his neckbeard on and installs Bedrocks linux.

1 Like

Or Gentoo

Abed_smiling%20

4 Likes

If you are up for learning ansible or salt you can deploy a recipe to run ‘do release upgrade’ equivalents for each of the systems.

1 Like

there is the following for debian based os’es:
change all the sources in /etc/apt/sources.list to the new version (do not switch from say debian to ubuntu, this WILL hose everything) of your os. you will need to be root to do this.

then:
open a terminal
su(do) to root
apt-get update
aptitude full-upgrade (dist-upgrade is depreciated)
or optionally (but not recommended during a distro upgrade) aptitude safe-upgrade

why aptitude? aptitude can help solve incompatible dependency issues .

2 Likes

I use debootstrap on my fedora base. That creates a container in the filesystem for a debian based system. Then I can use systemd-nspawn to chroot into the container. I think of it as a simplified docker, pulling directly from the distribution instead of building from a docker image build script.

# dnf install debootstrap dpkg
...
# cd /x
# debootstrap stretch deb9 http://deb.debian.org/debian/
I: Retrieving InRelease 
I: Retrieving Release 
I: Retrieving Release.gpg 
I: Checking Release signature
...
I: Configuring libc-bin...
I: Configuring systemd...
I: Base system installed successfully.
# systemd-nspawn -D /x/deb9
Spawning container deb9 on /x/deb9.
Press ^] three times within 1s to kill container.
root@deb9:~# apt-get install gcc
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
  binutils cpp cpp-6 gcc-6 libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-6-dev libgomp1 libisl15 libitm1
  liblsan0 libmpc3 libmpfr4 libmpx2 libquadmath0 libtsan0 libubsan0 linux-libc-dev manpages manpages-dev
...
root@deb9:~# exit
logout
Container deb9 exited successfully.
1 Like

I guess i have to ask: why are you attempting to maintain current versions of so many platforms?

Not even commercial application vendors do that - pick 2-3 platforms (I’d suggest say, CentOS/RHEL, Fedora and Ubuntu/Debian) as your supported platforms, everyone else gets to figure it out for themselves.

Attempting to support every OS on the planet will just result in you spreading yourself too thin and wasting your time with window decoration type issues rather than real work.

2c.