RedHat, CentOS, Debian, Ubuntu.
All are good choices.
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
RedHat, CentOS, Debian, Ubuntu.
All are good choices.
Ubuntu, RedHat, AWS Linux, Arch. Honestly distros in production are pretty similar since they're all headless and pretty pared-down. If you just know the logistics of a few package managers and init systems you'll be good.
I'm surprised to see arch on your list, I know everything runs in containers now but arch seems way too unstable O_o
By unstable I don't mean "buggy", but "you will have to adapt to new major version of package XXX or you can't fetch updates anymore, so no security patches anymore".
Debian.
Depends on context.
If you want to get a job as a "Linux admin" then Red Hat is basically what you want as a "default". Fedora will give you something you can use at home that's broadly similar. You will need to learn more than just that though.
I once worked in for a small publishing company years ago, circa 2005, where they used CentOS on the desktop and server environments. Deploying a new desktop was as simple as using kickstart. They had their infrastructure down to a science.
I hope I can get my company to go linux. But for now I can only use it for myself. But i'm quietly pushing :)
To tag onto this, what makes RHEL so special? Is it just the support you get from Red Hat or is there something about the distro that makes it so widely used?
Support contracts for risk mitigation is a big part of it, and the other is RH release engineering is amazing.
Aside from that, RHEL, and clones, is a very straight forward, clean distro. It’s very focused with everything doted and tidy, and overall, it has a very uncomplicated feel to it. In contrast Debian derivatives are kind of messy, and SUSE tries to stuff every function into a single application.
RHEL does push a lot of technology. Out of the stable distros, it will be the first to put tech into production. RH does a lot with integration with other systems. This has kept me off of SUSE in the past. RHEL was more tech forward, comparatively.
dnf downgrade
dnf history undo
dnf history redo
it's very very very critical for most case :')
Beyond support agreements that others are mentioning, the huge requirement for the shop I work at (mid-scale high performance computing center) it’s 3rd party vendor package support. Mellanox/nvidia, whamcloud, slurm, vast, and on and on. Driver packages targeting rhel kernels are an industry standard offering if a vendor supports linux. That’s not always the case with Debian variants, for instance.
Same with huge applications and proprietary compiler suites (think matlab and the intel compiler suite or OneAPI). These are hugely important packages for a number of shops.
Don’t get me wrong, I can build against plenty of other distros but my vendors target rhel as a first class citizen for both build scripts and straight binary packaging.
It is 100% the support. Corporations pay big money to have experts on call to fix things fast when they break, and there's basically no other player for that kind of model in the Linux space.
The support is a huge part of it. Being able to submit a ticket or call in to get help with a strange quirk is extremely valuable to a lot of companies. Additionally, having a licensed distribution like this means there’s built in trust. Red Hat has been a big player in this space forever and are well trusted already, too. So there’s a huge community of people who have used the product to talk to or hire. They also have certifications for rhel, supported by Red Hat, and those carry weight in the industry to some degree.
All of my personal servers are Debian. My last company switched their entire production fleet from centos to Debian. I think a lot of people switched to Debian back when the Centos Stream debacle went down.
I'd suggest RedHat and SUSE as well.
Mostly mission critical server that I deployed in the past, all use RHEL/Clones because their LTS, and stability across packages version.
If for hobbyist, it's Ubuntu. I think you need to learn more about ansible, container/podman/openshift, and SDN for work. Nowdays, there are some use APT in production, but mostly they switch to dnf because dnf have better way to do downgrade, undo, redo, and config package in production.
This applied mostly for ERP project such as SAP Hanna, SQL Server, DB2, etc... Like it not, Red Hat Dwindling isn't now, probably 5-10 years ahead, but I'm not sure, as mostly rant about RHEL are in Community. I do know regional linux user group in Indonesia, some are leaving EL group, but they still can't rip apart most mission critical server on top of RHEL/Clones... so it's still worth learning RHEL/Clones, and use Fedora for day 2 day task, and learn ubuntu, as well ubuntu pro, for learn deploying critical production server.
Debian and Ubuntu are near, and ubuntu is derived from debian, but if you talk spirit, they are different... If you are conscious about what Red Hat do, stay away from it, but if you are working in corporate, you can't go without learning it.
100% sure its Debian.
Mission critical server mostly are RHEL or EL Clone or Fedora or it's derivative... If you combine even Azure nowdays, Microsoft Linux is derived from Fedora, same as Amazon Linux, and others... Debian are covering some part, but mostly hobbyist, or SME, and mostly non critical, as they don't have standard across, even on their https://wiki.debian.org/LTS/Extended and https://www.debian.org/consultants/
apt also bad when you got to dowgrade package when something mess up, and get messy with dpkg.. :'(
So I quite doubt if it's production env, mostly go with EL. I do know some company use Ubuntu/Debian, but it's quite few...
If Ubuntu/Debian want to shape Industries, and kick out RHEL, they need to have standard, and better consultancy than RHEL. I hope so that they could grow and make market competitive, but for now it isn't sadly.
Where I'm at, that would be Ubuntu, followed by Debian.
Company I'm at runs Windows server. Kill me.
Oh dear god
I work for a well known internet company, and its 98% redhat (or derivative) with some alpine and ubuntu scattered about randomly
It really depends. I work for a large company and we use Ubuntu, Oracle, RedHat, and SLES. We were moving from Oracle to Ubuntu but now we are going back to RedHat.
Currently we deploy like this: Ubuntu: PostgreSQL, web servers, some engineering workstations, and big data Oracle & RedHat: web servers, security applications, and network systems
So just having a fundamental understanding of Linux and you will be fine SUSE: SAP and HR software
I've been seeing a lot of alpine based containers recently. Used to see a lot of Ubuntu, debian, redhat.
I think a lot of it depends on if you are spinning a lot of containers up.
i dont get why people do not just use debian. especially if they got their own it person / support
No certification and no support. Critical bug will be fixed faster in RHEL than Debian when come to Enterprise, very clear structure and powerful consultancy.
Debian consultancy never near RHEL, that's why they need to work hard on that, and make industry standard.
Red Hat drive the industry standard for more than 20 years... That make every Corp lean to it, and it won't dwindling soon.. Unless other are making Debian standardized.
Ubuntu tried it, still not even taking chunk I guess? Mostly Enterprise is RHEL/Clones.
Personal take: RHEL is a very high quality well integrated OS. Debian is a mess of community opinion all conflicting held together by outdated and poor tooling.
Almost always use Ubuntu in production. Also a bit of Centos at one point.
I work at NASA and we use redhat a lot for development work.
If you want to learn more than one distro, try setting up Docker containers for various services. The base distros in the containers use the same commands as on the base metal
Nobody said Alpine? Youre debugging k8s containers your gonna find Alpine, Ubuntu/Debian and CentOS.
Once you know package managers and basic images you're gonna be able to get what you need.
A lot of my clients were using CentOS. Not sure what'll happen next now that Red Hat killed CentOD.
Ive worked a couple fortune 500s that used ubuntu. If im using aws ill stick with their distro but most of time im happy with ubuntu. I think distro choice matters less and less. Most of the systems ive run recently have had ansible to configure them or have just run docker containers. Most of the gov contracts iveworked on insisted on red hat but honestly the teams making those decsions seemed the least technically capeable ive worked with and it was just a red tape issue to change distros
I'm seeing a lot of very interesting answers but I'm wondering what you mean by "production environment".
Do you mean VFX Production? (English not my first language so if "production" is used in different industries, well, I didn't know).
I'm new to the industry and worked for small companies that don't use Linux. But my VFX peeps use Rocky, Mint, and Ubuntu ( stronger preference for Rocky in studios).
In IT in the US, "production" is commonly used to refer to systems that support actual business operations. In other words, it's as opposed to "development" or "testing" systems.
Not Linux but there are still a of Unix System V systems out there too. AIX, Solaris and HP-UX. Harder to learn as very much not open source software (although there is the Illumos project with distros like OpenIndiana).
The two distros I've seen in the workplace most often were Redhat (because support contracts can be purchased) and Ubuntu (because AWS and Digital Ocean treat Ubuntu VMs as first-class citizens).
My experience in my career has been all RHEL/CentOS. The meat of Linux admin isn't going to hugely change between most distros tho. Different package mgmt, how the network is configured, etc... Spin up an VM, install it from scratch, and just learn those differences.
The default Linux image on AWS (Amazon Linux) is RPM-based; but the default image on Google Cloud currently appears to be Debian "bullseye" (the April 2023 release) with an option for "bookworm" (brand new this month). I'm not sure about Microsoft Azure but their docs suggest a Debian default as well.
So that's one impression. Knowing both dpkg
/apt
and rpm
will serve you well.
Major tech companies have their own internal distributions in their production datacenters, which focus much more on their specific needs. Any major tech company using Linux in datacenters will have an engineering team specifically building what they need.
That's interesting to know thanks! I do know some dpkg and apt but nothing about rpm so will learn more about that.
I work at a big company: most of our customers are using RHEL when they use Linux. There are some customers that use SUSE for SAP workloads, but these are about 10% of all linux VMs.
At work: Alpine-based docker containers. Flatcar Container Linux for host VMs.
Personally: Ubuntu Server. Some alpine docker containers.