What are some resources for learning Linux in a structured manner?
from alexdeathway@programming.dev to linux@lemmy.ml on 07 Aug 06:18
https://programming.dev/post/35237589

I have been using Linux as my daily driver for quite some time (around 5-6 years) and usually manage to get whatever needs to be done. However, I now wish to learn it in a more structured manner, which includes understanding utilities and the workings of Linux. What resources should I look out for?

#linux

threaded - newest

anamethatisnt@sopuli.xyz on 07 Aug 06:35 next collapse

What do you consider a structured approach? Are you after something with video lessons and lesson plans or do you just want to be thrown ideas about what to research?
If the latter, here’s some ideas:

  • What are kernel modules?
  • How do kernel drivers and kernel modules differ?
  • What are daemons in Linux?
  • How to use crond?
alexdeathway@programming.dev on 07 Aug 06:51 collapse

I want to cover a little bit of everything so that diving deeper later becomes much more efficient. For example, I want to understand the directory structure at a surface level before diving deep into installing and understanding the utilities and limitations of specific tools/packages.

anamethatisnt@sopuli.xyz on 07 Aug 07:17 collapse

Then I would look for linux sysadmin resources, f.e.
github.com/…/Practical_Linux_System_Administratio…

anamethatisnt@sopuli.xyz on 07 Aug 07:22 collapse

Or wait for a udemy offer (Should never have to buy for full price, offers at 13-15 euro comes more often than not) and grab an admin course there if you want video lectures, f.e.
www.udemy.com/…/master-linux-administration/

VoxAliorum@lemmy.ml on 07 Aug 06:40 next collapse

If by chance you understand German this is an excellent beginner course: www.math.uni-bielefeld.de/…/unix20.html otherwise I would grab a book; but I have no specific book to recommend. However, to name some I found interesting after a quick search:

  • How Linux Works: What Every Super-User Should Know
  • The Linux Command Line
p0op@lemmy.world on 07 Aug 06:44 collapse

Danke dir

wildflower@lemmy.world on 07 Aug 06:53 next collapse

The book that got me started was “friheden til at vælge Linux” (Freedom to choose Linux), at the time it was available in other languages, but I can only find the Danish version online:
linuxbog.dk (last updated in 2020)

When I started my LPIC I bought the “LPIC-1 in depth”., it’s a bit dry but very thorough.

enumerator4829@sh.itjust.works on 07 Aug 07:07 next collapse

You are probably approaching this from the wrong angle. Linux, and computers in general, are tools. Figure out what you want to use it for, and then do it. One example would be to build a homelab with jellyfin and nextcloud.

On the path to that goal, you’ll find problems and tasks for which there exists very nice structured resources. For example, you might want some security, a perfect opportunity to read a book on networking and firewalls.

hanabatake@lemmy.ml on 07 Aug 08:47 next collapse

I disagree. Sometime, a structured approach allows to discover things you don’t even know exist

enumerator4829@sh.itjust.works on 07 Aug 09:37 collapse

Structured approach to what? You don’t take a structured approach to a hammer, you use it as a tool to accomplish something.

”The Linux Programming Interface” is an excellent book, if you are interested in interacting with the Linux kernel directly, but somehow I doubt that’s what OP wants to do. I doubt OP knows what he wants to do.

Besides, please note that I did encourage taking a structured approach to stuff discovered on the way. But taking a structured approach to ”Linux” is just a bad idea, it’s far to broad of a topic.

Edit: RedHat has their certification programs. These are certainly structured. You’ll get to know RedHat and the RedHat^{TM} certified way of doing things. That’s probably the closest thing to what OP wants. You even get a paper at the end if you pay up. This is not the most efficient way to get proficient.

Lumidaub@feddit.org on 07 Aug 09:49 next collapse

I want to use this hammer to do my dishes, how do I do that?

alexdeathway@programming.dev on 07 Aug 10:06 next collapse

If the plates are made of metal, leave them outside in the sun for an hour or so, and then beat them with a hammer.

Lumidaub@feddit.org on 07 Aug 10:07 collapse

They’re not though :(

enumerator4829@sh.itjust.works on 07 Aug 10:21 collapse

Fine, take the structured approach to ”Linux”:

  • 3-5 years of university studies with a well designed curriculum, including operating systems basics, networking, security, data structures and compilers. This will get you the basic stuff you need to know to further delve into ”Linux”.
  • Add MIT’s ”Missing Semester” online course. This will get you more proficient in practice.
  • Go grab a RedHat certification (or don’t, it’s not worth the paper it’s printed on). This will ensure you have a paper certifying you are sufficiently indoctrinated. It’s also a structured course in Linux.
  • Go do stuff with your newly acquired knowledge and gradually build up your competences.

If that investment seems a bit steep, take only the last step, build a homelab and take a structured approach to any interesting subjects you encounter doing that.

Lumidaub@feddit.org on 07 Aug 10:30 collapse

And then my dishes will be done? ☜(°⁠ヮ゚☜⁠⁠)

enumerator4829@sh.itjust.works on 07 Aug 10:41 collapse

You can probably pay for a dishwasher.

Lumidaub@feddit.org on 07 Aug 10:44 collapse

Oh so there are more steps. This is getting complicated, especially since I wouldn’t know where to put a dishwasher or what to feed them. When does the hammer come into play?

enumerator4829@sh.itjust.works on 07 Aug 10:47 collapse

You can put it in the dishwasher to clean it. Just make sure to dry it and oil it a bit afterwards, otherwise it will rust. In most countries, this is covered by structured teaching in chemistry, contained within the concept of ”school”.

Lumidaub@feddit.org on 07 Aug 10:51 collapse

I’m not trying to clean the hammer, I’m trying to use the hammer to do my dishes. I’m starting to think you’re not being serious with me. What’s your qualification in terms of hammer-based daily chores?

Also, I failed every year of chemistry HAAAAARRRR-DDD.

FauxLiving@lemmy.world on 07 Aug 13:00 collapse

Hello, I’ve been trying to reach you about our Online University where we Teach Hammer 4 You. Plz run this executable and click ok on all the popups.

Lumidaub@feddit.org on 07 Aug 13:33 collapse

Wow, if I’d known this would be a whole-ass university education, I wouldn’t have bought dishes OR that hammer. While that executable does its thing, can you tell me what degrees specifically I can earn with you and how long they take on average? Are you certified in EU countries? Will I be qualified to hammer dishes in Germany? Plates AND mugs? What about hammering windows? Those need a clean too, now that I look at them.

Edit: Speaking of windows, does your course teach how to use a hammer to switch from Windows to Linux?

FauxLiving@lemmy.world on 07 Aug 13:48 collapse

Oh no, thank you for your intetest in our course, unfortunately we’re ransomware and not a University. Haha.

Plz send butcoin to 0x2fa4u8008 or i delete you computer

Lumidaub@feddit.org on 07 Aug 15:39 collapse

You’ll be pleased to hear that you can’t do that because I’m in the EU. So there.

FauxLiving@lemmy.world on 07 Aug 18:01 collapse

Ahhh! Laws, my only weakness…

Lumidaub@feddit.org on 07 Aug 19:04 collapse

<img alt="Superman, only he’s very blue and also has a ring of stars on his chest because it’s not really Superman but totally real and not shopped at all Euroman." src="https://feddit.org/pictrs/image/4a65d564-21f0-4b04-aa3d-00f0768ba450.png">

alexdeathway@programming.dev on 07 Aug 10:05 collapse

Structured approach for hammer would be probably learning when not to use hammer I guess?

N0x0n@lemmy.ml on 07 Aug 09:14 collapse

This is a perfect valid approach though ! My first few years in self-hosting I learned soooo many things: CLI, Shell, scripting, networking, containers…

Doing my own AV1 encodes I learned alot about audio/video processing, metadata, ffmpeg, av1an…

Maybe not as structured as OP asked for, but there’s way to much to learn in the OS world that a whole life is not sufficient to have it all ! However, following that said goal, you will learn alot arround other stuff and improve overall.

If your goal is to learn the Linux system and all the nitty gritty arround it, good luck :/ it takes more than 1 person to make an OS work, so understanding all the bells and whistle is just crazy IMO !

FauxLiving@lemmy.world on 07 Aug 13:03 collapse

Honestly, this is the best way to learn almost anything: Start a project. When you don’t know how to do something, look it up. Repeat until you die.

HelloRoot@lemy.lol on 07 Aug 08:36 next collapse

Try your local library - one of the most underrated free resources.

Nearly every lib I’ve been to had at least a couple of decent linux books, so you can just snoop around and check out which ones you like.

pathief@lemmy.world on 07 Aug 09:14 collapse

Recommending the library when someone is asking for information on a specific topic is almost as helpful as pointing them to a search engine. “Just google it and use whichever result you like”.

hendrik@palaver.p3x.de on 07 Aug 10:03 next collapse

Usually a library is curated, while the internet isn't. Idk I usually have a good time there. It's an amount of books on the shelf I can still manage. If it's multiple, I grab the 5-10 or so books, walk to a table and skim the table of content and a few pages, see which one has the info I was looking for and has a style of writing I like. (And isn't outdated.) I regularly find Linux or programming books that way. And they all have some minimum standard in the library so I'll find something within 5-10minutes.

HelloRoot@lemy.lol on 07 Aug 12:08 collapse

What? No.

At least in all the libraries I’ve been to in my life there is a dedicated section for operating systems, which contains a subsection with just Linux books. You can ask the receptionist “Where is the Linux section?”, walk up to it and there it is. And you can grab a book and skim through it to see whether it suits you.

How is that not information on exactly that specific topic?


Genuine question:

Have you ever been to a library when looking for something specific? Was your experience vastly different from mine?

pathief@lemmy.world on 07 Aug 13:23 next collapse

You can ask the receptionist “Where is the Linux section?”, walk up to it and there it is. And you can grab a book and skim through it to see whether it suits you.

You can also go to google, ask “How linux works” and skim through the results.

I’m not saying libraries are bad, they’re obviously amazing (and yes, I’ve been to libraries lol). However, in these sort of questions OP is usually looking for personal recommendations, something that you already read, heard about or found interesting to share. Yes library has books, but which book would you personally recommend OP to read? Which one do you like the best and why?

HelloRoot@lemy.lol on 07 Aug 20:34 collapse

I’ve read whats in libraries, it is usually way better than what you find on google and my personal recommendation is to look at the available selection and pick one that personally suits yourself instead of getting recommendations which suit other people. Thats what I personally like best and why.

BrianTheeBiscuiteer@lemmy.world on 07 Aug 14:03 collapse

Publishing a physical book is expensive, publishing a website is dirt cheap. For the publisher and author of a book it’s much more imperative to release good content that people will want to read, cover to cover. You can find more extensive, in-depth, and up-to-date content on the Internet but where exactly and is the info all in one place? Websites are also often made with the assumption you’ll jump around or that you know what you’re looking for. If you’re learning something new it’s often best to have a linear, paved path and not be your own guide.

Edit: Someone else said it first but I was trying to say library books are “curated” in a roundabout way.

hanabatake@lemmy.ml on 07 Aug 08:46 next collapse

doc.opensuse.org/…/book-startup_en.pdf

The best pdf imo

fr.linuxfromscratch.org/view/lfs-stable/

To know what the standard packages do

MyNameIsRichard@lemmy.ml on 07 Aug 11:08 next collapse

If you’re a near absolute beginner then Linux Journey is a good place to start.

thirdBreakfast@lemmy.world on 07 Aug 11:57 next collapse

When I switched to webdev, I dropped $20 on a system admin Linux course on Udemy. I highly recommended this approach.

onslaught545@lemmy.zip on 07 Aug 14:01 next collapse

I’d look into used textbooks.

vane@lemmy.world on 07 Aug 14:04 next collapse

www.linuxfromscratch.org
here’s latest generated document
linuxfromscratch.org/…/LFS-BOOK-r12.3-98-NOCHUNKS…

utopiah@lemmy.ml on 07 Aug 15:19 next collapse

I would look for something interactive e.g LFS but in containers (or VM or WASM VM) with checkpoints with instructions, something risk free yet hands on.

Not for books.

Burghler@sh.itjust.works on 07 Aug 16:22 next collapse

I agree, nothing made this stick better to me and help me understand networking more than building my own homelab and configuring a bunch of different services together.

umbrella@lemmy.ml on 07 Aug 18:22 collapse

i will add that using something like arch linux is unironically good to get a feel for how it clicks together without doing it all from complete scratch.

despite the usual stability caveats (and please do backups), it is a daily-driveable system you can learn on.

ArsonButCute@lemmy.dbzer0.com on 07 Aug 20:43 next collapse

I’m honestly kicking myself for using arch instead of something without systemd.

I used Arch to learn Linux and ended up just learning systemd really well.

EarlGrey@discuss.tchncs.de on 07 Aug 21:04 next collapse

As much as a very vocal subgroup hates to admit, systemd is a pretty core aspect of modern Linux.

That said if you really want to learn an alt init system gentoo lets you pick, and I think Slackware is still sans systemd.

ArsonButCute@lemmy.dbzer0.com on 07 Aug 21:28 collapse

I’m using FreeBSD as is, I’ve got a 20 year old PC I’m learning on and FreeBSD afict is my best bet on this system.

EarlGrey@discuss.tchncs.de on 07 Aug 22:11 collapse

It really depends on what init system you want to learn.

Right now, you’re learning BSD init. Which is not the same as the non-sysd init systems in use on Linux. Perfectly fine system mind you and they share some overlap with their Linux cousins.

ArsonButCute@lemmy.dbzer0.com on 07 Aug 23:46 collapse

That’s what I’m finding, there’s some overlap but not enough that I can confidently administer the system yet. I’ve had the FreeBSD Handbook open in links for days 😅.

I’m starting to get the hang of things, there’s a few things I wish there were analogs for on FreeBSD that I’ve used on Linux for modifying swappiness and other minutiae but I suppose eventually I’ll know enough to be the change I wanna see in the world and just write the kernel extension to do it myself.

EarlGrey@discuss.tchncs.de on 09 Aug 22:54 collapse

Now that I think about it, I believe Slackware actually uses a BSD style init if you want to try and bridge the gap. It’s been eons since I used it so not 100% sure

ArsonButCute@lemmy.dbzer0.com on 09 Aug 23:02 collapse

I have my reasona for using FreeBSD, the system I’m using is ancient, about 20 years old. Its a decommissioned corpo unit, HP/Compaq DC5700S with 2 gigs of RAM and a dog slow Celeron D processor. I’m actually compiling a custom kernel right now to match my hardware because I’m severely limited on RAM and in true UNIX fashion it needs to only be doing what I tell it to, and not a damn thing more.

EarlGrey@discuss.tchncs.de on 09 Aug 23:06 collapse

Won’t hear me knocking it. Stellar OS. I just wish Linux compatibility was a smidge better. There’s still a handful of programs that don’t run well.

umbrella@lemmy.ml on 07 Aug 22:18 collapse

you can use many init systems on gentoo and its also good for the purpose!

adrianu161999@lemmy.world on 08 Aug 05:15 collapse

I would agree, and IMO the most important aspect that makes arch good for learning is the amazing wiki

thatradomguy@lemmy.world on 08 Aug 00:04 next collapse

www.lpi.org/our-certifications/lpic-1-overview/

Free PDFs, touches on the topics and actually shows you the commands, gives you exercises + further info. It will never be an end-all-be-all but it’s a start if you’re looking to learn something. It really all depends on what you’re trying to get out of it I figure. If you’re trying to be a sysadmin, then everybody else will have a different answer.

krakenfury@lemmy.sdf.org on 08 Aug 02:46 next collapse

tldp.org/LDP/Bash-Beginners-Guide/html/

joshcodes@programming.dev on 08 Aug 07:02 next collapse

Highly recommend this wargame challenge from over the wire. It makes you think and also feels like hacking. Youre just using linux commands to find passwords but the skills transfer to heaps of usage across systems. It can be a little beginner-ish though.

dragospirvu75@lemmy.ml on 13 Aug 11:31 collapse

There is a great cheat sheet made by Ubuntu.