VOOZH about

URL: https://thenewstack.io/exploring-microos-opensuses-immutable-container-os/

⇱ Exploring MicroOS, OpenSUSE's Immutable Container OS - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2024-07-05 06:00:17
Exploring MicroOS, OpenSUSE's Immutable Container OS
Containers / Linux

Exploring MicroOS, OpenSUSE’s Immutable Container OS

MicroOS is OpenSUSE's container-centric immutable Linux distribution. Here is how to set it up and give it a test run.
Jul 5th, 2024 6:00am by Jack Wallen
👁 Featued image for: Exploring MicroOS, OpenSUSE’s Immutable Container OS

The thing about containerization is that less is always more. When deploying containerized workloads, you need to think about your operating system a bit differently than you would with a traditional desktop or server. What you need is an operating system designed specifically for such workloads. You need atomic updates, rolling releases, and security geared specifically for containers.

That’s where openSUSE MicroOS comes into play. This container-centric Linux distribution is predictable, immutable, scalable, uses transactional/secure updates, and all applications are installed in containers.

You might currently be using a standard distribution (such as Ubuntu Server, Debian, AlmaLinux, or Red Hat Enterprise Linux) for your container deployments. The problem with those operating systems is that things can be changed. Some unwanted ne’re do well could access a running container, hop onto the operating system, and inject malicious code.

With an immutable OS, that’s exponentially more challenging because no changes can be made on disk.

You probably want that and openSUSE MicroOS delivers.

I want to show you how easy openSUSE MicroOS is to install and even get Cockpit installed, so you have a web-based GUI to manage the platform (because it’s just easier for some than the CLI).

Are you ready for this?

Let’s do it.

What You’ll Need

To make this work, you’ll need the ISO image of openSUSE MicroOS and a virtual machine platform. I’ll demonstrate the process using VirtualBox but you can use your VM technology of choice.

Getting and Installing openSUSE MicroOS

The first thing to be done is to download the openSUSE MicroOS ISO image, which can be done from the official site. Make sure to download the file that’s correct for your architecture (it’s available for Intell/AMD, PowerPC, little endian, and aarch64).

Once you’ve saved the ISO image to your local drive, create a new virtual machine as you normally would in your VM platform of choice. In the first interactive screen (Figure 1), select Installation with your keyboard up/down keys and hit Enter.

👁 MicroOS installation screen

Figure 1: This is the first screen in the MicroOS installation wizard.

You’ll then have to select your language and keyboard layout and accept the license agreement on the same page. By default, the language/keyboard is configured to English, so you can click Next to continue (Figure 2).

👁 License agreement

Figure 2: License agreement

You’ll then be presented with a system role selection. For container deployments, select MicroOS Container Host and click Next (Figure 3). This installs MicroOS such that it’s optimized for containerized workloads which includes the Podman runtime.

👁 Screenshot of installation options..

Figure 3: Selecting your system role during installation.

Make your selection and click Next.

In the NTP Servers window, keep the default and click Next.

You’ll then be asked to create a password for the root user. Type and confirm your password and click Next (Figure 4).

👁 Screenshot for creating a root user password.

Figure 4: Creating a password for the root user.

You can also import a public SSH key but that key has to be copied from the MicroOS file system. To do that, you’d need to create a shared folder between your virtual machine and desktop. I’ll show you how to upload the SSH key later.

Finally, click Install to begin the process. When the installation completes, reboot and log in. This is a GUI-less OS, so you’ll find yourself at a terminal prompt.

Installing Cockpit

For those who’d prefer to have a web-based GUI to manage MicroOS, here’s what you need to do. As the root user, issue the command:

transactional-update pkg install patterns-microos-cockpit cockpit-ws cockpit-tukit

This will install Cockpit. Before you can use the app, you’ll need to reboot the machine with the command:

reboot

You then must enable it with the command:

systemctl enable --now cockpit.socket

Finally, allow Cockpit through the firewall with:

firewall-cmd --permanent --zone=public --add-service=cockpit

Reload the firewall with:

firewall-cmd --reload

Once you’ve taken care of that, locate the IP address of your MicroOS server with the command:

ip a

You can then access Cockpit by pointing a browser to https://SERVER:9090 (where SERVER is the IP address of the MicroOS server). At the login screen, use root and the password you created during installation.

Adding a New User

The first thing you’ll notice when you attempt to login to Cockpit is the root user isn’t allowed to do so. To get around this, you need to create a new user. Back at the command line, do this:

useradd -m USERNAME

Where USERNAME is the user you want to add.

Next, give the user a strong/unique password with:

passwd USERNAME

Where USERNAME is the new user you just added.

Once you’ve added the new user, you can then use those credentials to log into Cockpit. When you do, you’ll want to give that user administrative access by clicking Administrative Access near the top of the window.

Once you’ve taken care of that, you can go into Accounts (within Cockpit) and then add your SSH public key. Here’s how:

On your desktop (from where you’d SSH into MicroOS) issue the command (assuming you saved the key in the default location):

cat ~/.ssh/id_rsa.pub

Copy the contents of that key and then go back to Cockpit > Accounts > Authorized public SSH keys and click Add Key. Paste the SSH key into the resulting window and click Add. Once you’ve done that, you should be able to SSH (with your SSH key) into MicroOS via that new user.

Now that you’ve taken care of this, you can either use Cockpit or the command line to work with your Podman containers.

And that is all there is to get openSUSE MicroOS up and running and ready for your first containerized deployment.

TRENDING STORIES
Jack Wallen is what happens when a Gen Xer mind-melds with present-day snark. Jack is a seeker of truth and a writer of words with a quantum mechanical pencil and a disjointed beat of sound and soul. Although he resides...
Read more from Jack Wallen
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.