92
How to learn linux?
(lemmy.ml)
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
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
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
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!)
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
If you're interested, you will learn a lot of things by installing lfs, arch or gentoo, you'll just learn differents things with each distro and will learn in a different manner, all are interesting imo, but I think it's better to learn gradually than to learn from the hardest thing (lfs is the hardest in my opinion)
May be, I wasn't all interesting how the things work when you download it! Yeah, learning gradually will not only save time but also make the learning process enjoyable.
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?
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
New life goal unlocked.
To make the learning process much more enjoyable, I'am going to try one of the OS'es either arch or gentoo. Which one will best for as a beginner? As gentoo has much more wiki than arch, which one will best suit for beginners(like me) to trying to understand things? Are there some resources, where I can learn some very basic stuff like about package manager, linux kernel, etc(if there, please share it here) and then it would be good if I go onto the installation and then onto the LFS thing. Learning linux would be a fantastic journey!
As a beginner I installed Arch manually to learn things and was kind of disappointed. The only hard thing was to understand the partition system, so it's more or less the only thing I learnt. Sure there were pieces of other things learnable, but it was small things.
Now I want to try to install Gentoo.
I'd argue gentoo isn't the worst thing to do even as a beginner, but installing arch would likely be the best first step as it's shorter and you're more likely to get it running first try. You also don't have to compile.
As for other resources, though I prefer reading and doing, youtube might help. Specifically, chris tituss tech's linux basics playlist or learn linux TV playlist on the subject. Another great resource is to just read the
man
page for and specific commandOther than that, install in a virtual machine and start breaking things. Finding the solution will likely teach you quite a bit
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.
@PropaGandalf @fbsz
I've used both, and really, from an understanding standpoint, there's really not much difference between Arch and Gentoo.
Gentoo's main advantage are its USE flags, which the packages use to determine which "configure" options to select at compile time. However, installing and updating the system can take hours or days while you wait for everything to compile.
Arch, on the other hand, uses binary packages, which is faster, but lacks the flexibility of USE flags.
Exactly, thats what I said. OP should better focus on learning the basics which is by far faster on arch.
@PropaGandalf
I should also probably mention that messing with the USE flags can make things a little brittle, since it's possible to flag out options that might not be important now, but could become important later. Most binary distributions make things as flexible as possible to accommodate future changes.
Yeah most of the times I just included them all unless I really didn't need them (some architecture specific stuff or a specific protocol)
Understanding is more important than installation! So, arch is a starting point and then gentoo for a little advanced user? Yes, the community and the philosophy behind the GNU/Linux made it a great thing to explore! As it have made me switch from windows to GNU/Linux!
I'd advise you to go with arch to familiarize yourself with the basics of a linux system. Everything is already precompiled for you so all the packages and the kernel shouldn't take long to download. If you then need a new challange you can also go with gentoo. It has some specific knowlegde around it's super powerful package manager and about configuring the kernel but besides that everthing should be very much the same. Of course this comes at the cost of compiling all the stuff you need by yourself so...
I plan to try arch and then gentoo, are there any resources which teach the very fundamentals of linux?
RTFM, no seriusly just try to follow the arch install wiki and try to get acquainted with the terminal and the tools used.
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.
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).
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.
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
orsed
orecho
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.