How to learn Linux system internals [closed]
Recently I tried to apply for some DevOps Engineering positions, but I got scared about a specific requirement that was present in almost every job description:
Experience with Linux internals and administration.
I am working with Linux servers and applications deployed in Linux/Unix for quite some time and honestly, I have no idea what they meant by "Experience with Linux internals".
My questions are:
- why should I know Linux internals?
- where I can find practical use of this?
- how to learn Linux internals?
Thx
That's a very vague requirement. Because it's DevOps you are referring to, it probably means things similar to these, including but not limited to
- Knowledge about the kernel run-time tunables (sysctl, /proc, /sys)
- Familiar with the usual processes running on your typical Linux machine -- systemd, cron, some syslog daemon, ntp...
- Familiar with typical Linux filesystems
- Knowledge about how to resize filesystems, observe the machine load, install and configure common programs needed...
- Ability to debug basic problems by reading logs, using programs like top, vmstat, iostat, sar, strace and so forth
That's just a guess from my side.
"Internals" is a common marketing term often used in job descriptions as they are often written by HR or hiring managers who are non-technical.
You would have to go to the interview to meet the technical staff to find out what the job really requires.
"Linux Internals" usually would mean a high level familiarity with the OS, including knowledge of using and configuring the Kernel, but not programming or developing it.
I would recommend studying for the RHCE or Linux+