Recently, I’ve been using linux(tried multiple distros). I’m curious about how linux works, it’s architecture! Is there a book, guide, video, etc to learn about linux? By using linux, I get to know something. It would be better If I know how linux works!

39 points

If you really want the deep dive, look into LFS (Linux from scratch), besides that I’ve always been the learning by doing kind of guy. Got a problem? Search a solution and read up on the intricacies of the problem

permalink
report
reply
14 points
*

I can also suggest installing gentoo if LFS is a bit much, which is understandable. It won’t have as much direct information as LFS but if you look up everything you don’t understand and follow all the links you’ll get a fairly good concept of the thing

permalink
report
parent
reply
5 points

I think they should try learning the basics with an easy to use and install distro (learning cmd like cd, lsblk, ls, ln…) then if they want more try to install arch Linux using the arch-install, then installing arch linux manually, and the diving into gentoo and then into LFS if they really want the time! (Also, for gentoo and lfs i’d recommend having a really good computer to make compilation time slower!)

permalink
report
parent
reply
3 points

Hey, I’ve tried some distros(fedora, ubuntu, vanilla…), I think it would be better If I learn. What I mean by learn is about understanding the concepts and, as I’ve been using fedora. I didnt really learn how cd, ls(although I use it a lot) works. So, I think learning through LFS is good and interesting. Do you think that it would be good if I learn from installing gentoo and arch, then go onto LFS

permalink
report
parent
reply
2 points

Hey, I will try to ubderstand LFS and build it myself. If it’s much harder than I expected it to be, i will install gentoo. What about arch? Why install gentoo instead of arch? The installation process of gentoo will teach me about linux, the same could be said about arch?

permalink
report
parent
reply
6 points
*

Absolutely, arch will teach you quite a bit. Not nearly as much as Gentoo though. If you’re going for learning how things work at a core level Gentoo is a fantastic place, though of course LFS will be better though more involved. I’m glad you’re willing to take the harder path though!

As for arch, it’ll teach you about mounting, user management, partitioning and partition management, an overview of how to set up a system and a few of the options available, and make you more comfortable with the command-line. With a few exceptions, that’s about it. you can understand what makes arch arch in less than a day.

As for Gentoo, it’s a guided experience that will teach you all of that but much, much more than arch will. With arch you could look more into it, and arch will be very well documented on what to do, but Gentoo will lay out the choices clearer with an explanation as to why. What is SystemD and why would you use something else (or, why you need so much to replace one thing?) How is networking built up? how do package managers work? What different kernels are available and why would you use them? What file system should you use? How does networking work on Linux? How do you install a tarball? What are firmware and microcode?

Just look at the index (legend?) on this page Gentoo Wiki and then this page Arch Wiki (on the left.) You’ll see how much more Gentoo goes over

To be clear, I use arch on my main system, it’s a fantastic OS and I’ll likely use it until the heat death of the universe, but installing Gentoo, following the links, and searching up what I don’t understand has taught me much more. LFS will, of course, teach you essentially everything though. It’s a great option, and you’re in for a fantastic journey. Once you’re done you’ll be the most impressive person in the room, if that room is full of us linux nerds

permalink
report
parent
reply
3 points
*

When I was in your position one of the first things I did was to install arch. It is very similar to gentoo but you don’t have to compile everything yourself which is just more practical in the beginning. You still have to learn all the basics and the arch wiki is one of the best of it’s kind. I am myself to install gentoo as a next step but the procedures are very similar to arch. Also with arch you can reinstall the system in minutes (with enough proficiency) but on gentoo or LFS this depends on how beefy your computer is. With a regular desktop you will sit there staring at 5the compilation for quite some time which was the biggest drawback for me. It will cost you more time to repeat a process and for me the best thing on arch was to srcap everything and restart to try something new.

One last thing: You will always learn as much as you are willing to understand. You can install gentoo and arch withoit any problems by just following the great wiki pages but you won’t learn much besides typing some commands. But doing some research wbile installing will help you far more. Also learning linux is a process. It’s not only about the system itself but rather about the community it’s culture as well as the philosophy behind it.

permalink
report
parent
reply
4 points

Hey, thanks for the great suggestion. Looked onto it and it’s great to build your own linux. I think that’s really the essence of linux, the freedom to build it on your own.

permalink
report
parent
reply
2 points

no joke it’s how I learned linux, bootstrapping a gentoo install from the toolchain on up, with a printed manual. it’s surprisingly effective, if time-consuming (took me about 2 weeks to get to a booted system, though most of that was compilation time - took ages back then).

permalink
report
parent
reply
1 point

One more tip, if you already have a Windows environment, spin up VMs with Hyper-V and start from there. Anytime you mess up, just nuke the VM and spin up another one. I must have burnt through hundreds of VMs (hyperbole) while testing out distros that I like.

permalink
report
parent
reply
1 point

Another vote for LFS. I like that it is really at the right level of depth (assuming that you already have a basic grasp of computing in general). Even if you end up going with a distro, reading through LFS gave me insights as to why certain things were done in certain ways. Alot of “quick-start” style guides tell you what command to type in, but for brevity reasons, they don’t explain what the command does. For example, you may come across many guides tell you to type sudo or sed or echo or | or >>. It may seem daunting at first, but gradually as you become more at ease with the CLI, all these will start to make sense.

permalink
report
parent
reply
24 points

I’ve been dabbling with Linux for 30 years and it’s only in the last few that it really clicked. I needed a project.

Go start a home server and give yourself projects to work on. Makes Linux very fast to pick up.

permalink
report
reply
5 points

A simple distro, like one for a raspberry pi, is also helpful.

permalink
report
parent
reply
5 points

I actually would recommend learning a hypervisor.

Not first. For sure. But before you want to do anything serious.

Proxmox made learning home service hosting so much easier and faster to unfuck.

permalink
report
parent
reply
15 points

IMO running through a Gentoo installation is a great way to learn.

The handbook is well documented and walks you through all of the steps that an installer would traditionally do.

You can do it in a VM or bare metal if you’re feeling adventurous!

permalink
report
reply
4 points

Yeah, Gentoo is a good way to get your hands dirty. Reading the guide and trying to dig in deeper as to what you’re doing will give you a decent understanding of Linux.

permalink
report
parent
reply
3 points

And for more in depth explanation of compilation, patches etc. consider LFS, or at least reading the ‘book’ on https://linuxfromscratch.org/

permalink
report
parent
reply
2 points

Gentoo install keeps coming up - what does it do ? What does it offer ?

permalink
report
parent
reply
6 points
*

Gentoo itself is “just” a very solid distro with lots of flexibility due to being source-based (most distros just deliver the resulting binaries), so if you’re the kind of person that would customize the things Gentoo exposes, Gentoo makes it easier than it would be on Debian or Arch. If not, it’s an added complexity for not much benefit.

The Gentoo installation guide famously doesn’t shy away from explaining what needs to be done, it isn’t just a series of step-by-step instructions. For this reason it’s a great way to start learning this stuff. Even if it won’t explain everything completely, it will surely point at the right direction.

permalink
report
parent
reply
5 points
*

The standout feature of Gentoo is its configurability; you can configure portage, the package manager, to enable and disable features of a package at build time.

Say you don’t have Bluetooth. You can just exclude Bluetooth from every package by setting the use flag globally:

*/* -bluetooth

it can even manage dependencies, a good example is picking pipewire over pulse.

It’s also easy to package software that isn’t in the official repos - here’s a post where I did just that.

The community is fantastic and supportive, and you can often get a near immediate response in IRC.

Finally the documentation is excellent, especually the handbook.

permalink
report
parent
reply
3 points

Thanks !

permalink
report
parent
reply
2 points

me, a Linux Mint user, reading that comment

permalink
report
parent
reply
2 points

Even manually installing Arch is a good way to understand the parts of a Linux system, stuff like users, package management, etc. Without heating your house all summer compiling the kernel.

permalink
report
parent
reply
2 points

I found that, at the cost of a few months of absolute suffering, using Gentoo as my first distro fasttracked my Linux learning.

permalink
report
parent
reply
9 points

Heres a tl;dr of some “must learn” things in order to use GNU/Linux in an acceptable fashion;

  • Package manager (how to install, remove, clean old packages)

  • The “know-hows” (Which package goes for audio, video card, webcam, etc)

  • How to make a minimal/baremetal installation (Which is a very simple process nowadays – it takes only one package to do this)

Thats it.

permalink
report
reply
2 points

Yep, having stumbled around and learned many of this the hard way (guided by a knowledgeable friend) it was a big headache, however it’s stuff I’m not going to forget anytime soon.

permalink
report
parent
reply
9 points

What I did back in the day when I started Unix was mostly explore.

I looked at what was in /bin and read their manpages, or just browsed manpages to see what did what (your desktop manager will probably have a help browser nowadays that makes this much easier, in KDE it’s the Help Center), and generally experimented with stuff.

Poking at things to see what they do is probably the best way, especially on a system that’s not production. Also there will be a lot of reading involved, although it will mostly be to get a feel of things, as in the end, you’ll essentially have to be proficient in finding information rather than memorising it for the most part.

And don’t get too hung up on the whole distribution thing, in the end they all install the same stuff anyway.

permalink
report
reply
2 points

Wow, I’ve planned to learn linux by exploring and doing. Any suggestions on exploration?

permalink
report
parent
reply
3 points
*

Create a VM on your current machine, install it, install software on it, try use it as your daily driver. Don’t forget to take snapshots of your vm incase you break something.

But… Then again, if it does break, nothing like reinstalling again to make sure you know what you’re doing ;)

permalink
report
parent
reply
2 points
*

I was going to do this, but ended up happening across the Orange Pi 5 upon release and managed to get an order in.

I had it running Ubuntu 22.04LTS, but there were some OPi specific issues I just wasn’t capable of troubleshooting myself at that stage, I’ve since switched it to 23.01 non LTS and is much better suited to me.

That said, even after discovering gnome extensions I still dont like gnome that much. I’m trying to get a better handle on CLI so I can abandon the desktop all together later.

But yeah, having a whole device just for experimenting with has been huge, very much helps keep me from distractions, I usually will just swing my monitor towards my bed and play twitch while I mess around.

Edit: it’s also saved me the issue of adding to my already chaotic daily filesystem, all my projects are on GitHub, I’ve gotten more proficient at getting a distro going, the urge to hop around a few more is really growing now.

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

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.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 9.8K

    Monthly active users

  • 6.1K

    Posts

  • 170K

    Comments