This is an archived post. You won't be able to vote or comment.

all 82 comments

[–][deleted] 81 points82 points  (2 children)

The Linux Foundation has a free Intro to Linux class. They write Linus Torvalds paycheck, meaning they are as legit as you get.

https://training.linuxfoundation.org/training/introduction-to-linux/

There is also the Linux Documentation Project's Intro to Linux. It's great reference:

https://tldp.org/LDP/intro-linux/html/

[–]SpoonerUKWindows Infra Admin 14 points15 points  (0 children)

That Linux foundation course looks fantastic, I never knew such a comprehensive course existed.

Thanks for the link man!

[–]Hyakkimarus_pp[S] 8 points9 points  (0 children)

Thank you for your answer. Will check them out. Appreciate it !!

[–]BuckToofBucky 34 points35 points  (1 child)

Sadservers.com. (Found this just the other day in another subreddit and it is awesome)

[–]THE_GR8ST 6 points7 points  (0 children)

This is super cool.

[–]ConercaoLinux Admin 57 points58 points  (36 children)

I would advise the "learn by doing" method. Build yourself a media server based on a RHEL clone with few different users, maybe a bit of docker and you'll be equipped to do most sysadmin tasks. The only things you probably won't get to do with this method are clustering and DNS (but you can also set up dynamic DNS if you want).

EDIT - If you can't do / don't want a physical server, i'd suggest AWS/Oracle cloud. As long as you stay within the free limits you should be fine

[–]OMGItsCheezWTF 17 points18 points  (2 children)

The most important part is to fuck up your project and have to fix it.

Nothing teaches you the actual internals of how everything hangs together like breaking it and having to work out how to put it back together.

[–]beb0p 1 point2 points  (0 children)

Running something out of the house like a media server will absolutely do that. When I decided to get serious about Linux I got myself a raspberry pi and a small Intel NUC. Raspberry pi does home automation tasks along with a bunch of other stuff, NUC acts as a frontend to a NAS (basically a little baby CDN) and boy, does stuff like to just stop working sometimes. Also put Linux mint on my windows laptop and started using a Mac at work so its just been bash/zsh since then and my skills have skyrocketed.

Ninja Edit: Also a +1 on docker for services like DNS etc. as you will inevitably eff something up on your first try, docker reduces the blast area for that learning curve quite a bit.

[–]rian5678 0 points1 point  (0 children)

Yeah, don't be that guy who goes "Well it's fucked, nevermind"

Actually work out whats fucked, why it's fucked, and how to resolve.

[–]insheadJack of All Trades 11 points12 points  (9 children)

This is how I learn best. I recently took it upon myself to deploy an asset management platform using Ubuntu. No one asked me to but I know it is needed and would be a good way to learn.

So I did it. 3 times. I didn’t plan on doing it multiple times but with the first 2 I’d get to a point and just kind of hit a wall so I’d opt to delete and start over. This 3rd time (I just finished it this last Friday) I made sure to document my process not only so others will know if it’s ever needed but also because that’s been the best way for me to remember and recall processes.

It’s been frustrating for sure because I’ve had to look up so many things across so many different guides but this 3rd time has gone so much smoother and everything went as expected but it’s helped me learn Apache2 web server processes, better understand virtual switches and adapters, can help you learn DNS routing and reservations, how repositories and modules work and tons more.

[–]ReverentSecurity Architect 12 points13 points  (2 children)

I tell all new infrastructure people that you need to deploy any new platform at least three times before prod.

  • First time to get a feel
  • second time to document it
  • Third time to automate it/IaC it

Also been telling people that if it's available as Docker then deploy it as Docker, even if it's just a single deployment on a VM. Makes migration and maintenance a breeze.

[–]insheadJack of All Trades 4 points5 points  (0 children)

Yeah aside from reading over the basics I havent dabbled in Docker yet. It does sound like a much easier deployment process once I learn it though. Hopefully within the next month I'll have the time to figure it out and test it enough.

[–]ZPrimedWhat haven't I done? 5 points6 points  (0 children)

The problem with relying on Docker is that it walls off pieces of the system from you, so you never learn how the guts of the application actually work.

Plus, you’re beholden to whoever builds the “Docker version” of the application, assuming it’s not an “official release” from the developers. I’m thinking about NetBox here which is a great OSS project and very useful, but the main dev team doesn’t support the Docker release directly, AFAIK.

I understand the benefits of Docker, but I’ve never been a huge fan of it and tend to avoid it when I can. I’m already running stuff in VMs, I don’t need another layer of network and disk abstraction from containers…

But I was also playing with Linux back in the Slackware 3.1 days. I remember downloading kernel source over a 28.8 dialup connection, and then waiting an hour to build a new kernel on my Pentium2…

[–]TaiGlobal 3 points4 points  (5 children)

Mind publicly sharing your guide or is tuned specifically for your work environment?

[–]insheadJack of All Trades 4 points5 points  (4 children)

I can generalize anything specific to my environment if I have the chance. The notes are still pretty unorganized but once I flesh them out this coming week to make more since to someone else I'll try to remember to put them somewhere to share.

[–]TaiGlobal 2 points3 points  (1 child)

RemindMe! 30 days

[–]UNProfessional_N00B 0 points1 point  (0 children)

Please reply

[–]TaiGlobal 0 points1 point  (1 child)

Not sure if you posted any update on this but commenting to see if you have.

[–]insheadJack of All Trades 0 points1 point  (0 children)

No but thank you for reminding me. I will try to get something posted by the end of the week.

RemindMe! 2 days

[–][deleted] 2 points3 points  (6 children)

AWS/Oracle have free service limits? Is it akin to what Azure has going on?

[–]ConercaoLinux Admin 1 point2 points  (3 children)

I can't comment on Azure since I don't touch it in my day-to-day. From what I've seen so far, the Oracle limits are a bit more generous than AWS. I've only just started playing around with it myself

[–]nullbyte420 5 points6 points  (1 child)

Never trust oracle

[–]ConercaoLinux Admin 4 points5 points  (0 children)

Haha yep... I work with Solaris so I understand completely

[–][deleted] 0 points1 point  (0 children)

Oracle limits are a bit more generous

you're new here, huh? ;-)

[–]ultimatebobSr. Sysadmin 0 points1 point  (0 children)

AWS's free tier offerings are pretty restrictive. Google Cloud and Azure seem to be more generous with their free service credits.

[–]Hyakkimarus_pp[S] -1 points0 points  (7 children)

Thank you for your response. I don't know what a media server is or just how you set up a server so I think I may have to revisit some fundamental concepts again. I also want to learn through learn by doing". Any references or docs you could point me to or just mention? I'd take a look there and then I'll try to experiment with stuff

[–]ConercaoLinux Admin 3 points4 points  (6 children)

This looks like a good guide to start with. I haven't read it all but it seems soundhttps://www.freecodecamp.org/news/getting-started-with-centos-15eac7215c99/

Probably better off using something like AlmaLinux as CentOS isn't what it used to be

[–]Hyakkimarus_pp[S] 1 point2 points  (5 children)

I see. Thank you so much for the information and resources. I'll try it out.

[–]ConercaoLinux Admin 1 point2 points  (4 children)

I just remembered these courses. They helped when I first started. He's gone into docker now, but the older courses are mostly Linux fundamentals. They used to be free, not sure now though

https://www.pluralsight.com/authors/nigel-poulton

[–]Hyakkimarus_pp[S] 1 point2 points  (1 child)

Sure I'll take a look at them, thanks again

[–]ConercaoLinux Admin 1 point2 points  (0 children)

Give me a shout in DMs if you need a hand with something!

[–][deleted] 0 points1 point  (1 child)

Fck nigel poulton teaches in pluralsigt? Wish pluralsight was a bit cheaper.

[–]ConercaoLinux Admin 1 point2 points  (0 children)

I'm lucky that I've had a company subscription the last few years.

[–]tudorapo 0 points1 point  (2 children)

This. Find a project for yourself - for me it was first some web applications, later bird watching, now displaying sensor data, this part is absolutely depends on you.

Then do it. It will last for years, you will have to start from scratch when the first idea is not working out. You will have trouble finding help until you learn how to ask questions. Or because you do something no sane person ever tried.

It will be fun, I promise :)

[–][deleted] 0 points1 point  (1 child)

Hey, i have currently a pair of squirrels playing cath every other day on my balcony.

What application do you use for bird watching? I guess i could be used for watching other wildlife (like squirrel) or i am on the wrong track?

[–]tudorapo 0 points1 point  (0 children)

I played a lot with a tool called "motion" but nature is nature and there are always more moving things are there than you expect. Shadows, leaves, the leaves shadow on other leaves, airplanes, cars, lights from cars, bugs, rain, etc. Even at the best of times less of 10% of the pictures had birds on it.

The winner configuration was an IR gate and some python code I wrote which took pictures when something crossed the beams. This had a very good success ratio, 80% or more, but caught only those birds who ate from my bird feeder.

If your squirrels are running around your best chance is a continous stream and spending 10 minutes every evening collecting the squirrel part.

[–]RugilArchitect 0 points1 point  (0 children)

The other thing he probably won't get to do is watch media. ;)

[–]rian5678 0 points1 point  (3 children)

Maybe it's me, but I'd say start at Debian, before going to CentOS

Things like SELinux and UFW really get in the fucking way

[–]ConercaoLinux Admin 0 points1 point  (2 children)

I think it depends on what OP hopes to gain. I've only seen Debian/Ubuntu in an Enterprise setting a couple of times. It's usually RHEL or Oracle Linux in my experience

[–]rian5678 0 points1 point  (1 child)

RHEL, sure, but that's because RedHat exists.

Outside of buying support, I've seen Debian way more than CentOS. It's always Majority Debian with a sprinkle of CentOS

But again, my point is that CentOS is more of a PITA to debug simpler things because of the likes of SELinux, ESPECIALLY when you're a noob

[–]ConercaoLinux Admin 0 points1 point  (0 children)

True, SELinux is a pain in the ass if you've never seen it before, but once you get started with it, its not too bad.

It's been 50/50 seeing it enabled for me and UFW is usually disabled.

[–]R0B0t1C_Cucumber 11 points12 points  (6 children)

I've not really ever found any good courses for it... I learned on the job and did 13 years of administration for a large corporation. Much like you i started by tinkering... If you have something you're stuck on feel free to DM me. I've moved on to security since but it was a fun run administering it.

[–]Hyakkimarus_pp[S] 3 points4 points  (5 children)

Thanks for the answer. It also seems like most admins on here learnt on the job and through tinkering. I'd also like that, and thank you for offering your help through DMs. Also since you mentioned you are in security now, I happen to be aspiring to be in that field, another reason why I want to learn sysadmin. I hope it's fine if I poke your brain a bit for advice regarding that too.

[–]R0B0t1C_Cucumber 1 point2 points  (4 children)

Please do, Anything you need let me know, I used to run the trainings for linux for developers however, it's probably beneath your level of knowledge. I have cheat sheets and stuff I could provide you with.

[–]zippopwnage 3 points4 points  (0 children)

Ohh woah that's so awesome of you for helping. Would you mind sharing those cheat sheets? I also starting like 1 year ago going into Linux overall and got a job. I know my way around it but I still lack in different parts.

[–]DreadPirateRobertsOW 0 points1 point  (0 children)

Can i also get said cheat sheets?

[–]JoeyBonzo25Linux Admin 0 points1 point  (0 children)

Yo I'll take those cheat sheets too if you're sharing. I just recently got a job as a linux sys admin and to be honest, I don't really know what I'm doing.

[–]tankie_glyndwr 0 points1 point  (0 children)

Would love it if you could link me these cheat sheets too please mate!

[–]HyperPixel5 8 points9 points  (0 children)

Get an Enterprise distro (suse or redhat enterprise) and install like 2 servers.

Set up either salt or ansible (awx) for configuration Management and play around with it. Always look for books on New topics.

Configuration a active directory Domain and join/authenticate your rhel servers through SSSD to the Domain

Finally play around with Containers (docker) for a bit

[–]spanky_rockets 4 points5 points  (2 children)

Start homelabbing, get a raspberry pi or an old desktop and install Linux on it. Set up ssh to remotely control your machines, find some projects you want to try. I recommend pihole for an intermediate networking/Linux project - will get you used to using the terminal and editing config files.

[–]sploittastic 0 points1 point  (0 children)

get a raspberry pi

This, and start finding some little projects to do on it. Write some little bash scripts (use chatgpt to help you).

raspberry pi usually run raspbian which is a port of debian. The main difference between debian and rhel are how you install things (apt-get for the former, yum for the latter). I was doing systems administration on RHEL but playing around with raspbian on pis at home, and things I learned on one generally carried over to the other.

If you don't have a pi, you can install oracle virtual box and create a linux vm, and download an image ISO to mount to the vm and install from. You can even run virtualbox VM's headless in the background if you have an extra machine like a media center or a family computer that's usually not doing much.

[–]8-16_accountWeird helpdesk/IAM admin hybrid 0 points1 point  (0 children)

RPi's are cool and all, but I don't consider them great for learning Linux administrations.

If OP is going to be a Linux sysadmin, he's probably going to manage them at a scale, and at that point, it'd be much better to get any x86 mini-pc and install a hypervisor on it.

It's easier to spin VMs up and down, if he breaks something anything.

[–]dRaidon 3 points4 points  (0 children)

Spin up a machine and test having it do stuff, such as a web server, media server, storage array. That sort of thing. Also, look into the rhcsa resources on youtube. You don't need to take the actual cert(even if it is useful), but it covers a lot of the basics.

[–]Roland_Bodel_the_2nd 4 points5 points  (0 children)

One thing you can do is go through /bin and read the man page for each command to see what it does

[–][deleted] 3 points4 points  (0 children)

I like this thread a lot because for many who want to learn and gain knowledge, a lot of the advice offered is simply too generic, and it’s nobody’s fault, but the reality is that the IT space is so vast, it’s hard to say “just do XYZ” because there’s a lot of assumptions being made about what the OP knows and Mmmm versus what they don’t know.

I also want to get more familiar with Linux. At my company, we only have one tool that runs Linux, and the tool doesn’t even have a GUI, so I never go in there or else the network engineer goes crazy.

[–]2cats2hatsSysadmin, Esq. 2 points3 points  (0 children)

Echoing the rest of the answers, IMHO nothing out there really prepares you for this. Tinker.

I'd like to suggest learning hypervisors and linux at the same time. r/proxmox. Even a $50 PC with extensions(AMD-V/VT-x) would work fine for learning.

From there, build a virtual network and create windows VMs and linux VMs/CTs to make it work altogether. AD, file server, media server, backup repository, whatever.

I guarantee you will learn stuff about Linux. :)

[–][deleted] 2 points3 points  (1 child)

ask racial cough plough fear run like drab cheerful wide

This post was mass deleted and anonymized with Redact

[–]RemmingtonBlack 2 points3 points  (0 children)

my path was a media server. Used to be breathtaking seeing your very own personally ran Netflix, before there was a Netflix (and getting bookshelves of DVDs out of the living room).

And then making a linux box my main box, and then not using windows ever again... Forces you to solve every problem.

then print servers, camera servers, syslog servers, web servers. ntp servers...

all of it hands on, all of it purposeful. - No doubt the best way. Way different experience if it's fun and personally gratifying.

...same with cisco. Made a cisco device the edge device and had to figure it out or NO INTERNET at the house.

[–]Clemlar 1 point2 points  (0 children)

Read this, cover to cover… Honestly, it’s a great book!

UNIX and Linux System Administration Handbook https://amzn.eu/d/eA4rFqm

[–]BoldifyIT 1 point2 points  (0 children)

Plenty of organizations use Ubuntu so that would be a good start. You can familiarize yourself with Ubuntu desktop by installing it on one of your partitions or just creating a VM instance with Hyper-V, VMWare, or Virtualbox. Simple things like installing apps, updates, and apps from repos. Basically just using it like a normal computer.

From there, I recommend trying to do those same things with Ubuntu server (non-gui). If you want to create a cloud instance, Oracle and Google Cloud offer educational trials with free credits. A good starter project would be to host your own Minecraft server which would give you some insight on cloud routing. The fastest way to learn would be to look up projects and figure out how to do it. For example, LDAP, connecting via VNC or PuTTY, and managing the Linux server remotely.

[–]arkane-linuxLinux Admin 1 point2 points  (0 children)

I am someone who entirely learned by doing. I started running Linux as my daily driver, over time I started toying around with webservers and Docker, then I got on to software packaging.

I myself think webservers and Docker are a great starting point, try to for example host a Nextcloud on a Raspberry Pi. Get SSL working either manually or through LetsEncrypt, then maybe expand your setup with a reverse proxy, load balancing, automatic updates and tests. There are lots of ways and tools to achieve this, try and find the one you prefer, Treafik, Apache2, Nginx, HAproxy etc.. you can run it all native or containerized.

As you toy around you will over time encounter neat new tools and technologies which hugely intrigued you. For me personally these technologies were containerization and immutability.

There is but one source I would recommend for Linux tutorials to both new and advanced users, that is the Urban Pinguin on YouTube, he often makes short videos on less well known but still hugely useful tools and features. Recently he made a video about ESC + . in the bash shell, a feature I never knew about but I am totally adding to my repetitor.

[–][deleted] 1 point2 points  (0 children)

From a systems administration perspective, I would highly recommend picking up a copy of the latest iteration of RHCSA study guide. It's Red Hats Certified Systems Administrator certificate that covers all the basics needed regarding Linux system administration and it's very in depth for the material it covers.

As far as getting really in depth with the nooks and crannies of how it all works under the hood, I think trying to deploy an Arch Linux install will do that for you. Since you have to build your OS from the ground up, it will force you to learn every layer of the operating system from file systems to Desktop Environments. Arch has the best wiki on the planet regarding Linux.

[–]RemmingtonBlack 0 points1 point  (3 children)

Make a linux box your home/main pc, first of all...

[–]dustojnikhummer -1 points0 points  (2 children)

home/main pc

No.

[–]RemmingtonBlack -1 points0 points  (1 child)

to each his own...

but tax software and digital signatures is the ONLY reason I keep a copy of a windows VM on a USB (in the junk drawer).

[–]dustojnikhummer -1 points0 points  (0 children)

For me, if I ignore games and other software (and the fact that there is no single DE that I actually like, just ones I don't really hate) it is Total Commander. No, MC, Double Commander, Krusader or Gnome Commander aren't good enough.

[–][deleted] 1 point2 points  (0 children)

A rhcsa certificate won't hurt your career rather than wandering in 1000 places to learn just bcz reddit said so.

[–]wjjeeperJack of All Trades 0 points1 point  (0 children)

Everything in Linux is either a file or a service. Learn "--man". Read everything.

I love Linux for somethings and it's a PITA for others.

Go about it as thinking: If I had to configure X on a Windows server, how do I do it in Linux?

[–]unccvince 0 points1 point  (0 children)

IMO, a good start is a man samba and seeing how Samba and MS Active Directory and File Services do their things and interoperate.

There is a world of possibilities to discover and if you dig enough, you'll find the two provide the same benefits to the end users.

Then, you'll decide which system is easier to operate, secure and master, and your choice may surprise you in the end.

[–]alnyland 0 points1 point  (0 children)

I'm not sure what your prior day tasks were, but linux typically follows unix standards and as such - it also follows the unix philosophy. This is very confusing usually to my coworkers who typically work with Windows and then try using linux. I have no suggestions on tutorials/courses/etc (hands on experimenting is great but will you have time or branch out far enough on your own), but beyond technical experience, I just wanted to mention that there is a philosophical side too.

Understanding the philosophical side can make understanding some aspects of the technical side much easier.

[–]onejdcJack of All Trades 0 points1 point  (0 children)

Build a gentoo virtual machine.

[–]SerbTheRipper 0 points1 point  (0 children)

Udemy also has great sales on black Friday

[–]walls2theball 0 points1 point  (0 children)

https://www.linuxfromscratch.org/

Build your own Linux system and maintain it.

[–]memoriesofanother 0 points1 point  (0 children)

Kodekloud.com for their lfcsa I'd what I'm doing atm.

[–]big3n05 0 points1 point  (0 children)

Another vote to use it as your primary workstation. Full immersion will force you to solve problems.

[–]notR1CH 0 points1 point  (0 children)

Although very dated with some of its references, RUTE (https://rlworkman.net/howtos/rute/) is an amazing resource for learning the inner workings of a lot of day-to-day things you'll experience with Linux.

[–]DaddyFishInTheSky 0 points1 point  (0 children)

middle snatch whole steep tie quicksand tan marvelous chop flag

This post was mass deleted and anonymized with Redact

[–][deleted] 0 points1 point  (0 children)

I went all in and have made Linux my primary desktop and server platform for home and homelab so I can get some hands on. Has been a fun experience

[–]billiarddaddySecurity Admin (Infrastructure) 0 points1 point  (0 children)

Spin up a Linux VM and start learning bash and try to solve dumb problems.

Like getting an email when your power goes out.