L
L
Little Knight2020-11-21 10:22:27
linux
Little Knight, 2020-11-21 10:22:27

What should I study to better understand Linux?

Hello QA!
I want to know Linux perfectly - to know how the system kernel works, how the file system works, how applications are launched in this architecture, what dependencies, packages, repositories are and how they work. I took a course on Stepik from the Institute of Bioinformatics of St. Petersburg State University, I liked it very much, but there is very little of everything - just working with the Ubuntu terminal and all sorts of useful terminal features.
I understand that the question will probably annoy experienced gurus who will send me to google and Linux forums, but I still want to know: if there is some kind of ultimatum full of knowledge about Linux book that can replace several tons of search queries - recommend.
If there is none, tell us how you, an experienced Linux user - a compiler of Arch from a pure kernel - managed to reach such heights, what did you read and where did you get precious knowledge.
And the distribution kit advise at last for the beginner. Is Ubuntu the best for a beginner or is there something more conducive to understanding how Linux works?

Answer the question

In order to leave comments, you need to log in

6 answer(s)
R
Ronald McDonald, 2020-11-21
@Zoominger

By device - read Nemeth. The book, however, is somewhat outdated, but the Linux architecture changes very slowly and still remains in those days.
On the command line, read Shotts, working out in practice.
By distribution - install Ubuntu in a virtual machine, do not install on real hardware.
The best booster is work experience, theory will give you 15-20% of knowledge at the most. You can also install Linux on a PC in a singleboot, then the glitches and clumsiness of the system on the desktop will plunge you headlong into the fascinating world of hemorrhoids. A month or two and you will already be a hardened Linuxoid.

S
Saboteur, 2020-11-21
@saboteur_kiev

About the file system - study access rights in POSIX, understand how iNode works, read about the File System Hierarchy Standard
Knowing exactly how the kernel works - well, it makes no sense to study it thoroughly at the initial level. You need to roughly understand what is included in the kernel, you can read about the process scheduler and about signals.
Well, practice is desirable - to raise a virtual machine with Linux, try different things in it. The bottom line is that it is through the terminal that most of the settings are made, so the skill of working in the shell is critically needed.
As you screw up several virtual machines, you will get more experience than flipping through a book.

P
phrippy, 2020-11-21
@phrippy

A short guide for beginners:
1. Get started
Just start using the Linux distribution in practice and each time set yourself tasks more and more difficult. In principle, even a specific book is not needed - Google is enough. And then you can write your own book. (I myself did not understand if this was a joke)
Well, the distribution kit itself should be changed in the process to a more "complex" one. Ubuntu is, of course, convenient, but its benefits are only for dummies.
Although you can start right away by building your kernel in Gentoo, but this is some kind of crazy way

G
greylordo, 2020-11-22
@greylordo

Oh, but they ran, they ran))
Gent, Scratch ... Why? Frighten off a future Linux user?
I understand the desire to learn, but normal use of Linux will do for a start. The same classic Ubuntu will do. And yes - it is desirable on real, but not on the main iron. You just don't need to think that Ubuntu is for hamsters. In organizations and server solutions, this distribution is popular, it will come in handy in the future. You can also get used to the dwarf, as it is sawed by red hut, as well as the core itself. Yes, and less red tape with Ubuntu. For Linux, I now use a used laptop, taken from a well-known classifieds site. You can find for the same 12 thousand with a CPU i3 config, 12Gb RAM, 120 SSD, ~ 650 GTX GPU. And study. As soon as you get comfortable, immediately switch to Arch. Personally, I killed a bunch of nerve cells, about 3 days for a bunch of attempts to put Arch on myself and eventually reached my goal. During the installation process, using the Arch wiki, you will understand what the distribution kit roughly consists of, you will enjoy the speed of pacman (not immediately, the time will come and you will understand) and get acquainted with the commands. But this is only the beginning of the journey. In the process of using Arch, you also need to draw on knowledge from the same Arch wiki, and such an opportunity will present itself, believe me. Don't forget about the herecura repository in Arch so you don't break off. Perhaps it will be other forums or the same YouTube. When you get comfortable in Arch and realize that you are wasting a lot of time on actions that are automated in the same Ubuntu (this is usually sudo systemctl enable / start service) or you are tormented to use a file, or you want to feel that your system is something a single whole and not a mosaic, then return to Ubuntu. That's the whole secret. Only practice. In the process of using Arch, you also need to draw on knowledge from the same Arch wiki, and such an opportunity will present itself, believe me. Don't forget about the herecura repository in Arch so you don't break off. Perhaps it will be other forums or the same YouTube. When you get comfortable in Arch and realize that you are wasting a lot of time on actions that are automated in the same Ubuntu (this is usually sudo systemctl enable / start service) or you are tormented to use a file, or you want to feel that your system is something a single whole and not a mosaic, then return to Ubuntu. That's the whole secret. Only practice. In the process of using Arch, you also need to draw on knowledge from the same Arch wiki, and such an opportunity will present itself, believe me. Don't forget about the herecura repository in Arch so you don't break off. Perhaps it will be other forums or the same YouTube. When you get comfortable in Arch and realize that you are wasting a lot of time on actions that are automated in the same Ubuntu (this is usually sudo systemctl enable / start service) or you are tormented to use a file, or you want to feel that your system is something a single whole and not a mosaic, then return to Ubuntu. That's the whole secret. Only practice. that you are wasting a lot of time on actions that are automated in the same Ubuntu (this is usually sudo systemctl enable / start service) or you are tormented by using a file, or you want to feel that your system is something unified and not a mosaic, then back to Ubuntu. That's the whole secret. Only practice. that you are wasting a lot of time on actions that are automated in the same Ubuntu (this is usually sudo systemctl enable / start service) or you are tormented by using a file, or you want to feel that your system is something unified and not a mosaic, then back to Ubuntu. That's the whole secret. Only practice.
PS I have been using Linux since 2009-2010

S
sn0rk64, 2020-11-21
@sn0rk64

learn si and delve into system libs, rewrite them. write your own proxy server, shell, primitive file system, etc.

T
TheAthlete, 2020-11-24
@TheAthlete

I can recommend the following:

  1. Learn C language
  2. Study the following books:

  • The Linux Kernel: A Description of the Development Process
  • UNIX. Professional Programming 3rd Edition
  • Linux API. Comprehensive guide
  • Linux internals
  • Unix and Linux: System Administrator's Guide

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question