Primary Linux Distro's

I'm interested in expanding my knowledge in Linux and currently responsible for an application running on Red Hat. Are the primary linux distro's you see in large scale/production environments: RH, Fedora, SuSe, CentOS?

Looking at studying the distro's that would help me land a primary linux role which looks like it entails administering cloud/web hosting applications.

Comments

  • YuckTheFankeesYuckTheFankees Member Posts: 1,281 ■■■■■□□□□□
    My company uses Fedora and CentOS.
  • ChooseLifeChooseLife Member Posts: 941 ■■■■■■■□□□
    On production servers so far I have seen only RHEL/CentOS/SL, Debian/Ubuntu Server, and SuSE. I have a subjective feeling these three combined are powering some 90-95% of the production servers.

    My current company uses Ubuntu Server and RHEL. Two previous companies had CentOS.
    “You don’t become great by trying to be great. You become great by wanting to do something, and then doing it so hard that you become great in the process.” (c) xkcd #896

    GetCertified4Less
    - discounted vouchers for certs
  • ptilsenptilsen Member Posts: 2,835 ■■■■■■■■■■
    Everyone seems to use RHEL, CentOS, Debian, Fedora, SuSe, Ubuntu -- roughly in that order.
    Working B.S., Computer Science
    Complete: 55/120 credits SPAN 201, LIT 100, ETHS 200, AP Lang, MATH 120, WRIT 231, ICS 140, MATH 215, ECON 202, ECON 201, ICS 141, MATH 210, LING 111, ICS 240
    In progress: CLEP US GOV,
    Next up: MATH 211, ECON 352, ICS 340
  • onesaintonesaint Member Posts: 801
    From a web server prospective, see here.

    For Corporate supported distros are most popular, such as : Redhat, Ubuntu, Mandriva, SuSE and Debian.

    And lastly, by user popularity, distrowatch.

    For my company, we use CentOS and some RHEL.
    Work in progress: picking up Postgres, elastisearch, redis, Cloudera, & AWS.
    Next up: eventually the RHCE and to start blogging again.

    Control Protocol; my blog of exam notes and IT randomness
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    If you're looking to expand knowledge, learn CentOS, learn Debian. The majority of current popular distros derive from either Debian or RHEL, but RHEL is commercial, so learn from CentOS which is the same damn thing, just without the logos and price tag.

    If you can master both of those, you'll be well set to support linux.

    That being said... linux is linux, learn one, and you can usually figure out the others. Other than a few subsystems, paths, and package management (and package management is really the big differentiator between the distros), it's all the same. grep is grep, awk is awk, sed is sed, rm -rf / is.... a career limiting move, no matter what version of linux you use.
  • ptilsenptilsen Member Posts: 2,835 ■■■■■■■■■■
    If you're looking to expand knowledge, learn CentOS, learn Debian. The majority of current popular distros derive from either Debian or RHEL, but RHEL is commercial, so learn from CentOS which is the same damn thing, just without the logos and price tag.

    I might be wrong about this, but my understanding was that Fedora was more similar, being the freeware "version" of RHEL.

    Also, the advice I'd seen in the past was to learn linux, get Slackware. If you get Debian/Ubuntu, RHEL/Fedora/CentOS, Suse, etc., you're learning those distros more so than Linux. Not that there isn't value to learning all of it -- I'm just repeating what I've seen, anyway.
    Working B.S., Computer Science
    Complete: 55/120 credits SPAN 201, LIT 100, ETHS 200, AP Lang, MATH 120, WRIT 231, ICS 140, MATH 215, ECON 202, ECON 201, ICS 141, MATH 210, LING 111, ICS 240
    In progress: CLEP US GOV,
    Next up: MATH 211, ECON 352, ICS 340
  • BodanelBodanel Member Posts: 214 ■■■□□□□□□□
    We use RHEL, CentOS, a few Ubuntu and 1 Debian (Ubuntu for a few devs and Debian for compatibility with the client production server).
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    ptilsen wrote: »
    I might be wrong about this, but my understanding was that Fedora was more similar, being the freeware "version" of RHEL.

    Nope. Fedora is actually the upstream for RHEL. RHEL 6 is based off Fedora 9, while Fedora current is at 16. Feature and implementation wise, and software version wise, Fedora will always be ahead of RHEL.
    Also, the advice I'd seen in the past was to learn linux, get Slackware. If you get Debian/Ubuntu, RHEL/Fedora/CentOS, Suse, etc., you're learning those distros more so than Linux. Not that there isn't value to learning all of it -- I'm just repeating what I've seen, anyway.

    Well, again, it depends on what you want to learn. If you want to learn how to install and patch linux servers, then the choice of OS matters. If you want to actually configure those servers to do something useful, then the choice matters much less. The differences are mostly cosmetic. For example, configuring network interfaces under debian and RHEL is totally different.... and it'll take you 5 minutes to learn the other one if you know the former. It's not exactly groundbreaking. Once you have the tools installed and working, there aren't many meaningful changes between the distros, and the issues that pop up tend to be minor. Linux is linux. Pick a distro, pick some stuff you want to do (setup and configure a LAMP stack is a great place to begin) and learn. My favorite distro is Debian, but I employ Debian, CentOS, and FreeBSD servers in my home lab, just to keep me on my toes... Debian makes me lazy. That being said, if you sit me down in front of any version of unix, I'll be perfectly comfortable, except maybe Solaris, since those pricks like to name some of their binaries after common GNU utils, but they function and take syntax totally different.
  • ptilsenptilsen Member Posts: 2,835 ■■■■■■■■■■
    Nope. Fedora is actually the upstream for RHEL. RHEL 6 is based off Fedora 9, while Fedora current is at 16. Feature and implementation wise, and software version wise, Fedora will always be ahead of RHEL.
    That's not contrary to my understanding, technically. Fedora is more or less the test bed for features that will be in RHEL, right? But, more to the point I was making, it's freeware and fundamentally most similar to RHEL. Unless I am wrong there, and CentOS is more similar and therefore a better learning tool. That's all I'm getting at; which is better for learning RHEL, Fedora or CentOS?
    Working B.S., Computer Science
    Complete: 55/120 credits SPAN 201, LIT 100, ETHS 200, AP Lang, MATH 120, WRIT 231, ICS 140, MATH 215, ECON 202, ECON 201, ICS 141, MATH 210, LING 111, ICS 240
    In progress: CLEP US GOV,
    Next up: MATH 211, ECON 352, ICS 340
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    CentOS. CentOS is a direct recompile of RHEL with the branding removed, and their goal is to maintain 100% binary compatibility with RHEL, so you can use CentOS binaries on a RHEL system, and vice versa. For all practical intents and purposes, CentOS *is* RHEL. Scientific Linux is another RHEL recompile, but they don't go out of their way to maintain 100% binary compatibility, and they do a few minor tweaks and install some non-RHEL packages, as it's a distro that's aimed at research labs. I wouldn't have any problem deploying SL instead of CentOS though.

    Fedora is fundamentally different from RHEL, though. It's essentially cutting edge and constantly updating, whereas RHEL is culled from a base of Fedora, with attention at fixing packages and bugs for use in an Enterprise deployment, where stability is more important than being on the cutting edge of features. If you install Fedora 16 and then install RHEL 6, and try to configure both, you'll notice some pretty big differences.
  • onesaintonesaint Member Posts: 801
    ptilsen wrote: »
    That's not contrary to my understanding, technically. Fedora is more or less the test bed for features that will be in RHEL, right? But, more to the point I was making, it's freeware and fundamentally most similar to RHEL. Unless I am wrong there, and CentOS is more similar and therefore a better learning tool. That's all I'm getting at; which is better for learning RHEL, Fedora or CentOS?

    Better would be CentOS / Scientific Linux. They are actually RHEL source that is just re-branded to avoid trademark lawsuits (i.e., same thing less RHEL name). While Fedora has features not included in RHEL as it's RHEL's test bed for future releases.

    Also, Slackware is closest to Unix AFAIK and most used for pen testing. Or so I've heard.
    Work in progress: picking up Postgres, elastisearch, redis, Cloudera, & AWS.
    Next up: eventually the RHCE and to start blogging again.

    Control Protocol; my blog of exam notes and IT randomness
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    onesaint wrote: »
    Also, Slackware is closest to Unix AFAIK and most used for pen testing. Or so I've heard.

    Well, that depends. BackTrack is pretty popular these days, and it used to be Slack based, but now it's Debian/Ubuntu based.

    No distro is worse or better than any other for something like pentesting, all the software runs on everything, just matters how it's packaged. Slackware was a bit of an anomaly in that it used the BSD style init, as opposed to the sysv init that most linux distros use. But Slack can do sysv init ever since Slack 7. And now everyone is moving towards Upstart for init instead....

    Seriously, take it from someone who was thrown to the wolves - I started a job after not having touched any form of unix for over 3 years, and prior to that I was only a dabbler, and was given 90 days to get my skills up to snuff. And I had Debian forced on me as a distro choice since it was a Debian shop.

    Just pick a distro and go, you'll learn enough to be proficient with any flavor of unix. The idea is to learn to do stuff with Linux, not just 'learn linux'. By learning to do stuff with it, you will learn it, since one follows the other. Pick a set of stuff to do, and then go learn it.

    My usual recommendation to folks is to go look at the table of contents for the book Building A Server with FreeBSD 7, as it gives a guide to a number of common things to do with a unix based server. Copy down the tasks from the ToC, and then try and do them in your chosen flavor of linux.

    Of course, I prefer the total immersion method and just get rid of everything non linux. If you're not a gamer, that's the best way to learn it, force yourself to do everything with it. You'll either find out you love, or you'll find out that linux is not your cup o' java.
  • effektedeffekted Member Posts: 166
    Thanks everyone for all the great info! Funny that you mention the syntax to delete the root directory, I've seen 2 developers accidentally include a space after the / and end up tanking the entire box... is it too much to ask that you proof read your syntax when a mistake could destroy a production box lol

    I did the HackingDojo novice class last year and comfortable in Backtrack and did fairly well in the scripting tasks for collecting info, now I just need to drill down and learn full system administration for a large scale/enterprise environment.
  • ptilsenptilsen Member Posts: 2,835 ■■■■■■■■■■
    CentOS. CentOS is a direct recompile of RHEL with the branding removed, and their goal is to maintain 100% binary compatibility with RHEL, so you can use CentOS binaries on a RHEL system, and vice versa. For all practical intents and purposes, CentOS *is* RHEL. Scientific Linux is another RHEL recompile, but they don't go out of their way to maintain 100% binary compatibility, and they do a few minor tweaks and install some non-RHEL packages, as it's a distro that's aimed at research labs. I wouldn't have any problem deploying SL instead of CentOS though.

    Fedora is fundamentally different from RHEL, though. It's essentially cutting edge and constantly updating, whereas RHEL is culled from a base of Fedora, with attention at fixing packages and bugs for use in an Enterprise deployment, where stability is more important than being on the cutting edge of features. If you install Fedora 16 and then install RHEL 6, and try to configure both, you'll notice some pretty big differences.

    That's a great explanation. Thanks!
    Working B.S., Computer Science
    Complete: 55/120 credits SPAN 201, LIT 100, ETHS 200, AP Lang, MATH 120, WRIT 231, ICS 140, MATH 215, ECON 202, ECON 201, ICS 141, MATH 210, LING 111, ICS 240
    In progress: CLEP US GOV,
    Next up: MATH 211, ECON 352, ICS 340
  • SlowhandSlowhand MCSE: Cloud Platform and Infrastructure, MCSA: Windows Server 2003/2012/2016, CCNA Routing & Switchi Bay Area, CaliforniaMod Posts: 5,161 Mod
    I've used Linux quite a bit, at two separate jobs I've held.

    At the datacenter, we used Red Hat Enterprise Linux 4 and 5 as the distro we deployed for managed clients. We used FreeBSD in-house *NIX stuff, so I had a little bit of exposure to that as well, in addition to the odd request to help our co-located clients with some random Linux server. We used CentOS 5 and 6 at the game company for hosting both testing and live environments for the developers.

    There's been some excellent advice in this thread, regarding what you should learn to do with Linux and what to look for. In my opinion, I'd say that picking up Red Hat Enterprise Linux, (or CentOS if you don't have access to RHEL,) is your best bet for three reasons: 1) Red Hat is pretty widely deployed and there are lots of distros in enterprise environments based on Red Hat; 2) there is lots and LOTS of training and self-study material available for Red Hat, thanks in large part to the popularity of and demand for RHCSA/RHCE certified admins; 3) as Forsaken_GA mentioned, once you learn to administrate one distro picking up another isn't all that hard, so those readily-available Red Hat books/videos/howtos won't really be going to waste even if you end up working with something else.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
  • onesaintonesaint Member Posts: 801
    Well, that depends. BackTrack is pretty popular these days, and it used to be Slack based, but now it's Debian/Ubuntu based.

    No distro is worse or better than any other for something like pentesting, all the software runs on everything, just matters how it's packaged. Slackware was a bit of an anomaly in that it used the BSD style init, as opposed to the sysv init that most linux distros use. But Slack can do sysv init ever since Slack 7. And now everyone is moving towards Upstart for init instead....

    Thinking about it the reference I have to Pen testing with Slack is from an older person in infosec. It's curious to see how much momentum Ubuntu is gaining.

    Upstart or systemd, but I'm not sure systemd will make the cut like Upstart has.

    As for my first venture into Linux it was YDL for a HTPC and coming from Windows 2k it was a nightmare. When I started working at my present company, I was fortunate enough to have a SVR4 guy here and picked his brain till he hated me. Once you get over that steep learning curve, Linux is amazing. Built for computer scientists, by computer scientists.
    Work in progress: picking up Postgres, elastisearch, redis, Cloudera, & AWS.
    Next up: eventually the RHCE and to start blogging again.

    Control Protocol; my blog of exam notes and IT randomness
  • techinthewoodstechinthewoods Member Posts: 96 ■■□□□□□□□□
    Seriously, take it from someone who was thrown to the wolves - I started a job after not having touched any form of unix for over 3 years, and prior to that I was only a dabbler, and was given 90 days to get my skills up to snuff. And I had Debian forced on me as a distro choice since it was a Debian shop.

    If you feel like sharing, I'd love to hear more about that story. How did you end up in a Linux-centric job with only dabbler experience? More importantly, how did you get your Linux skills up to snuff in 90 days? Thanks.
  • MentholMooseMentholMoose Senior Member Member Posts: 1,524 ■■■■■■■■□□
    effekted wrote: »
    Thanks everyone for all the great info! Funny that you mention the syntax to delete the root directory, I've seen 2 developers accidentally include a space after the / and end up tanking the entire box... is it too much to ask that you proof read your syntax when a mistake could destroy a production box lol
    I've seen something similar... IIRC it went like this (simplified a bit):
    1. mkdir /mnt/temp/
    2. mount -t nfs hostname:/some/share /mnt/temp/
    3. do stuff to the data in /mnt/temp/
    4. umount /mnt/temp/
    5. rm -rf /mnt/temp/

    It worked 99% of the time, but 1% of the time, umount would fail, so bye bye data. Better error checking was added, and step 5 was changed to use rmdir for good measure.


    As for learning Linux, I concur with Forsaken_GA's suggestion of CentOS and Debian. Learning these will get you experience with rpm and dpkg, which are the predominant package managers. If someone asks if you know SUSE and you've never touched it, you can at least say you know rpm which is important. Different distributions have different helper applications for the package manager (CentOS/RHEL/Fedora = yum, Debian/Ubuntu = apt, SUSE = yast, etc.) but they are not as hard to learn as the underlying package manager.

    Heck, just learn ONE distribution well. Once you know one, it is not a great leap to any other. For example, a while ago I had a job interview which happened to have a lab component where I had to do a bunch of stuff on a Ubuntu server. At that point, I had very limited experience with Debian and none with Ubuntu. Although I didn't know where any config files were (besides obviously somewhere in /etc/), I still aced the lab since I knew commands like man, find, and grep and could quickly find and update the necessary config files.

    If you want to use a "hard core" distribution to gain an in depth familiarity with Linux, I'd suggest Gentoo over Slackware. I prefer Gentoo due to its package manager (portage). Gentoo is hard core in that you are required to do many things manually to get it up and running (e.g. configure and build the kernel), but portage makes it really simple to maintain (similar to distributions with rpm/yum, rpm/yast, dpkg/apt, etc.). So basically it has a learning curve but once you get it going it will be smooth sailing. I've used Gentoo on my primary desktop for about 8 years.

    The main thing I disliked about Slackware's package manager (pkgtool) when I last touched it was the dependency checking (or lack thereof). I guess in this sense Slackware is more hard core than Gentoo, but dealing with dependencies is not interesting and pretty much just a hassle. If you are really inclined, you can disable dependency checking with every package manager that can handles dependencies, so I don't see the advantage of pkgtool lacking this functionality. Anyway, that's just my perspective. I am not a Slackware expert and haven't used it recently.
    MentholMoose
    LFCE - MCITP: EDA7, VA, SA, EA - MCSA:S 2003 - CCA (PVS 5, XD 3 / 4 / 5, XS 5 / 6) - VCP 4 / 5
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    If you feel like sharing, I'd love to hear more about that story. How did you end up in a Linux-centric job with only dabbler experience? More importantly, how did you get your Linux skills up to snuff in 90 days? Thanks.

    I knew just enough to be dangerous, could talk about the subject in an intelligent manner, asked insightful questions which demonstrated I had the ability to learn, and I had personality, as compared to some other applicants who had 'personalities like a dry fart' (direct quote from the president of the company). I also had a personal recommendation from an employee held in high regard, who was a friend I'd worked with before, so he had no issue sticking his neck out for me.

    As far as how I learned it... total immersion. I got rid of every non debian box in the house and installed Debian, including my every day computer. While I was at work, I paid attention to the tickets that came in, and I asked questions about what I didn't know, and then went home and practiced it.
    By the end of the 90 days, my skills were more than acceptable and after my first year, I was one of the top three admins in the company, surpassing my friend who got me the job. So two things worked in my favor - I had the personal reference to get the chance (and make no mistake about it, I'm well aware of what tipped the scales, and it wasn't my personality) and a natural ability to rapidly learn.

    This is a pretty common theme for me. Whenever I start a new job, I figure out what I don't know, and go focus on that, learning it as quickly as possible. The known unknowns are easier to deal with than the unknown unknowns, so I go kill them first.
  • effektedeffekted Member Posts: 166
    Thanks a bunch for all the responses. I'll prob use CentOS to lab a bunch from home. The application that I'm primarily responsible for has 2 RH servers but anytime there's an issue its generally the applications service that I'll need to restart or a network route added so not a whole lot of opportunity to learn much from it.

    I'm going to try and get a subscription to the LinuxCBT nuggets for RHEL 6 along with probably pickup RHCSA/RHCE Red Hat Linux Certification Study Guide (Exams EX200 & EX300), 6th Edition. Hopefully going through the videos, reading the book, and labbing as much as I can hopefully I can sit for RHCSA this summer. Is that a realistic time frame (3-4 months)?
  • BodanelBodanel Member Posts: 214 ■■■□□□□□□□
    It's a realistic time frame if you remain concentrated do lots of labs after reading the theory.
Sign In or Register to comment.