learning bash free linux training

Microsoft is not the company that it used

to be. Remember, if you will, Steve Ballmer,

the then CEO, said in June of 2001 that “Linux

is a cancer” [1]. Microsoft tried for years

to thwart the open source model and attacked

Linux head-on. However, Microsoft mellowed

over the years and eventually admitted they

were wrong. These days they embrace Linux.

Microsoft’s current CEO, Satya Nadella even

campaigned that [quote] “Microsoft Loves

Linux” in 2015 [2].

Then the Windows Subsystem for Linux WSL was

released back in 2016, making it possible

to run bash and other Linux stuff on your

Windows PC, even going as far as allowing

you to run a cut-down version of Ubuntu in

a terminal on your Windows desktop. Three

years ago, Microsoft made the somewhat surprise

acquisition of Github, learning the bash shell best way to learn linux (vps.evlla.com) popular code hosting

and development site. They then went on to

port it’s now hugely popular development environment,

Visual Studio Code to Linux. In 2019, the

Redmond rascal upped the WSL ante with WSL2

and included the Linux kernel right into Windows

itself, and then…. a few days ago, Microsoft

went all in… They released their own version

of Linux. Yes, that’s right, Microsoft made

their own FREAKING Linux distro! The oddly

titled, CBL-Mariner was released with little

fanfare, but it could have huge ramifications

for Microsoft, You and/or the Open Source

Community. But will these ramifications be

positive, or negative? Let’s discuss, here,

on Al’s Geek Lab!

The readme file, available on GitHub [3] says:

“CBL-Mariner is an internal Linux distribution

for Microsoft’s cloud infrastructure and

edge products and services.”, and it continues

“CBL-Mariner is being shared publicly as

part of Microsoft’s commitment to Open Source

and to contribute back to the Linux community.”.

So firstly, what’s with the name? Well,

CBL stands for ‘Common Base Linux’, and

Mariner, is the codename they are going with

for this 1.0 release. Kinda like how ‘Cobalt’

is the codename for the upcoming Windows 11

release.

Now, whilst CBL is available for download

immediately from Github, you’ll be hard

pressed to find something that constitutes

a linux-distro like download. Most of us are

well versed with going to websites like ubuntu.com

and downloading an .iso image, but no such

image is available on the Mariner github site.

Instead, at the moment, you need to download

a fair few gigs worth of stuff and then run

a lengthy build process. In the end, if you

follow the steps right, you’ll get an .iso

image which you can then boot the installer

from.

Under the hood, CBL-Mariner seems to be a

hodge-podge of the Red Hat based Fedora Linux

distribution, as it uses Red Hat’s popular

RPM packages, however it notably also borrows

from VMWare’s PhotonOS [4]. PhotonOS introduced

the TDNF installer, which is the ‘tiny’

version of Red Hat’s DNF package manager,

the replacement for YUM. TDNF is written in

C and doesn’t have Python dependencies [5],

which makes it more lightweight than DNF in

Fedora. Software packages for Mariner can

be generated from SPEC files and source files

as well.

Microsoft CBL is designed from a minimalist,

cloud-ready perspective, and can be deployed

as a container or a VM. This makes it sit

as a contender to the likes of RedHat’s

Fedora CoreOS, RancherOS and Ubuntu Core.

It consumes very limited disk and memory resources.

Microsoft went on to say that “The lightweight

characteristics of CBL-Mariner also provides

faster boot times and a minimal attack surface”.

Checking the requirements, I found that it

is indeed lightweight. 1 CPU, 0.5GB of RAM,

and 8GB of disk is sufficient to get it running

rudimentary workloads. Now, when I say CBL-Mariner

is minimalist, I’m not talking Slackware

or Arch with i3wm here, I’m talking zero

graphical user interface. In fact, the 2000-odd

package software repository for Mariner doesn’t

include any graphical applications or X server.

That’s totally deliberate, just like the

other container/cloud server Linux distros

I mentioned a moment ago.

From what can be gleaned, Microsoft is serious

about the security of it’s minimalist distro,

out of the box, it features tamper-resistant

logs, a hardened kernel, address space layout

randomization (ASLR), compiler-based hardening,

and signed updates.

So what the hell is this all about? Why are

Microsoft getting into making distros, especially

when there are already plenty of distros out

there?

Well, a few reasons:

It’s probably likely that CBL will replace

Ubuntu as the default distro with Windows

Subsystem for Linux in the future. That’s

not necessarily a bad thing, it’ll mean

it’s tightly coupled with Windows, so it

will provide all of the necessary services

that a developer might want right out of the

box.

The Internet of Things: IOT is the future,

so everyone keeps saying. Microsoft are riding

this wave of internet integration in a big

way, all you need to do is log into Azure

to see lots of tutorials about how to use

Azure to power your latest IOT product or

project. The reality is though, IOT devices,

from things like sensors in your fridge, to

your toddler’s cot monitor are small, cheap,

low-power, low-memory devices. Windows Server

in every incarnation, is too big and heavy

an operating system to realistically power

these devices. It makes perfect sense to have

a minimal Linux distro running on these devices,

and 99.9% of them already do. Microsoft are

betting that isn’t going to change, so this

is a perfect way for Microsoft to still have

a little control of this market.

Cloud Services: By far and away, the main

reason Microsoft will be making their own

Linux distro, is to provide a Microsoft spin

for lightweight cloud services. AWS have their

own Amazon Linux, which can operate as a minimalist

distribution. Rather than having full-fat

distributions with all the bells and whistles,

when all you need is the kernel and a few

choice tools to get an application running,

a minimalist distribution is ideal. Especially

if you want it to run in a container in the

cloud.

There are the naysayers out there, those that

still reckon that Microsoft are the enemy,

and wish to crush open source and Linux at

every pass, and that their current strategy

is to bring death to Linux by crushing it

with kindness, however, Microsoft’s been

making steady contributions to the Linux world

since at least 2015, and there hasn’t been

anything done particularly to hurt Linux.

Could this hurt Linux? I highly doubt it.

Microsoft are rolling-their own distro because

it suits Microsoft’s own product roadmap,

this is true, but a super-secure, minimalist

distro that’s funded by big pockets, if

anything, will normalise Linux a bit more,

just in the way that WSL did when it brought

bash to Windows. We now have developers across

the world making cross-platform, open source

software and they are able to do it on a Windows

PC. Microsoft opened Linux up to a whole new

generation of developers (and by extension,

consumers), by taking these actions. So surely

that can’t be a bad thing.

Recently, Bryan Lunduke said in his ‘Linux

Sucks 2021’ video, that the ‘End of Linux

is nigh’, [6] and whilst he does make a

point that Google’s new operating system

(Fuschia), which is being released for IoT

devices such as the Nest this year, will over

time, draw an audience away from Linux. Just

because a few companies are doing their own

thing, Linux isn’t going anywhere fast,

especially if companies like Microsoft are

doubling down on it and going to such efforts

as to port software to it, and now roll their

own distributions of it!

So what are your thoughts? Are Microsoft out

to rid the cancer that is Linux from within

Redmond? Or are they spreading their love

of Linux across the world in many tiny Linux

instances? Let me know in the comments below!

If you liked this video, please consider subscribing,

giving me a thumbs up, and pressing the notification

bell.

Thanks for watching, see ya next time!

Leave a Reply

Your email address will not be published.