Running two operating systems in parallel

I have PureOS installed on my computer and am, by and large, happy with what it does. There are, however, some programmes I need to run that require Ubuntu. Is it possible to have two operating systems in parallel on my computer? i.e. PureOS and Ubuntu

Iā€™ve included some pointers below on how to install Ubuntu alongside PureOS, but before going through that, what software are you trying to install?
Ubuntu and PureOS are both based on Debian, so there is some common ground which means it could be possible to install the software on PureOS itself.


Dual Booting

You can install Ubuntu next to PureOS and choose which one to use when booting. Download Ubuntu to a USB stick and boot from it to be able to install it. There are some instructions here:

https://help.ubuntu.com/community/Installation/FromUSBStick

You can also use GNOME Disks to create the bootable USB stick. With the USB stick plugged in, open GNOME Disks, select the USB stick in the left panel, then click the three dots at the top right, and choose ā€œRestore Disk Image,ā€ then select the downloaded Ubuntu .iso file.

WARNING: To actually install Ubuntu alongside PureOS, youā€™ll need to repartition your hard drive. Doing so could end up deleting some data from your PureOS partition, so make sure youā€™ve backed up everything you want before continuing with the next steps.

Reboot your computer with the USB stick still plugged in, and it should boot from there and let you install Ubuntu. If it doesnā€™t boot from the USB stick, then youā€™ll have to change the boot options in BIOS/Coreboot, depending on which model of Librem you have/whether youā€™ve installed Coreboot yourself.

Follow the on-screen installation instructions for Ubuntu, and which should include how to repartition your hard drive. I believe it has an automatic option for installing alongside another OS, which might be good enough for your liking, but Iā€™d make sure to check how itā€™s going to partition things before actually proceeding. If you donā€™t like the partitioning scheme, you can do it manually.

Once you work through the instructions, you should have functional Ubuntu on your computer alongside PureOS. Reboot and choose Ubuntu when prompted to begin using it.

There are many online resources for how to dual boot, so I recommend searching if you have any questions during the process, though you can also always come back to these forums, too.

2 Likes

Thanks for getting back to me so quickly. The software I am trying to install is called FreeCAD ā€“ Iā€™m aware thereā€™s a similar design software available, called LibreCAD, but itā€™s not quite the same.

Also, this may be down to the fact the Iā€™m new to Linux, but it appears to me that a lot of programmes Iā€™m trying to install state that they support Debian or Ubuntu. Since I donā€™t assume that there will be a separate PureOS version, which one should I look out for?

PureOS tracks the Debian testing branch, so it follows Debian very closely. Thus, Iā€™d follow instructions for Debian more than those for Ubuntu.

Regarding FreeCAD, you might be able to simply install it from the command line (Terminal, as it is frequently called, and I believe the terminal application in PureOS is called Tilix) with sudo apt install freecad, based on these instructions:

https://www.freecadweb.org/wiki/Install_on_Unix#Debian_and_other_debian-based_systems

You can also go to this link:

and download the file called ā€œFreeCAD_0.17.13509.glibc2.17-x86_64.AppImageā€

Appimages are a way of making Linux software work across multiple types of Linux. Itā€™s basically everything you need pre-compiled together to run anywhere. Very convenient, and probably more familiar for those users coming from Windows or macOS, where you generally install programs through a .exe or .dmg system.

If youā€™re wondering why this isnā€™t the default on Linux, I think itā€™s mainly because

  1. the Linux package managers (such as apt) do generally make installing software as easy as typing sudo apt install <software>, while handling all the dependencies automatically
  2. The way Appimages are built means that all the libraries needed by the software are contained together. If you download Appimages of two different programs that might have common libraries, youā€™ll get two copies of the common libraries. They shouldnā€™t conflict with each other or anything, because the Appimages are still handling things correctly, but youā€™ve used extra disk space for two copies of the same thing. Package managers install the library when itā€™s needed, and then every future program that might need it knows youā€™ve got it, so you donā€™t need to install it again.

That isnā€™t really related to your question, but hopefully provides some insight into Linux. Iā€™m not an expert on Appimages, though, so I might have some details wrong, but I think thatā€™s the right general idea.

PureOS is actually based on Debian. The only restriction with PureOS is that it does not support non-free software installation through the package manager out of the box. Purism wanted PureOS to sport the RYF (Respect Your Freedom) certification from the FSF (Free Software Foundation). The RYF certification does not allow for non-free software support on a distribution.

Some software might have non-free dependencies. In this case, they would not run on PureOS.
On average, most software supporting Debian should run on PureOS :slight_smile:

If you have a .deb package, you can install it on your PureOS by running the following command as root:

dpkg -i the_package_you_want_to_install.deb

As an option/idea, you could try installing Qubes OS and have two TemplateVMs added, one with PureOS and the other one with Ubuntu.

I have just downloaded the Appimage and I can run the programme. Since this is a very easy way to do it, are there any downsides vs installing the whole thing?

Many thanks. This helps. It appears to be fairly similar to the process of rebooting PureOS from USB, which I have just been through. Since you pointed out the risk of deleting data from PureOS, I will try to get around this option and see how far I can get without a second system. After all, Iā€™m new to this and am probably not aware of all PureOS can do vs other Linux OS.

Many thanks. Apologies for the stupid questions, but how is this command line different from apt-install? Or is ā€˜dpkgā€™ a command to extract?

No, thereā€™s no real disadvantage to using the AppImage to my knowledge, at least for a program like FreeCAD.
Disk space is cheap and plentiful enough to not worry about any duplicate copies of stuff.

And yes, installing Ubuntu alongside PureOS should be effectively identical to rebooting PureOS from USB. I wasnā€™t sure what sort of experience you had, so I tried to assume very little.
After using Linux for several years, my experience has been that any distro can more or less be made into another. The primary differences (at least as far as the general user is concerned) are just which programs come pre-installed, and which package managers they use (though some proprietary software generally supports Debian/Ubuntu -style distros more often than Red Hat/Fedora-style distros, which can be annoying, but doesnā€™t matter here). So I donā€™t think thereā€™s much PureOS can do that any Ubuntu canā€™t in general, though default PureOS will do different things from default Ubuntu.

Iā€™d say the way to think about apt vs dpgk is that apt essentially automatically fetches and installes the .deb file for the program you want (if itā€™s in the repository). If apt canā€™t find the package, you can try to find a .deb yourself (perhaps on the softwareā€™s website), and then install the .deb with .dpkg (though GNOME Software should now also handled installing .deb files)

You did not ask anything close to a stupid question. Learning is not stupid :slight_smile:

@taylor-williamc explained it quite well already. You can think of the .deb files as packages which contain information about the software you want to install, and the software itself. It contains information about among others:

  • The software version
  • The maintainer contact information
  • The dependencies (other packages your software needs in order to run)

The apt (formerly apt-get and apt-cache) software is mostly a .deb manager. If you want to install super_software.deb, and it depends on super_lib.deb, apt will install super_lib first, and then super_software. It also allows for easier updates : apt fetches all the packages information from a repository, verifies if you have some .deb installed that have an older version as compared to the package on the repository. If so, it can update the packages.

Overall, the preferred method to manage your system is through apt:

  • It makes it easier to keep your system up to date
  • It makes it easier to manage dependencies
1 Like

Thanks, Iā€™ll check it out. I wasnā€™t aware of this option.

Many thanks for all your help. This has made my life a lot easier and helped me better understand some Linux basics - Still a lot more to learn though :wink: