Das ist eine sehr vage Anforderung. Da Sie sich auf DevOps beziehen, bedeutet dies wahrscheinlich ähnliche Dinge wie diese, einschließlich, aber nicht beschränkt auf
- Wissen über die Tunables zur Laufzeit des Kernels (sysctl, /proc, /sys)
- Vertraut mit den üblichen Prozessen, die auf Ihrem typischen Linux-Rechner laufen – systemd, cron, irgendein Syslog-Daemon, ntp...
- Vertraut mit typischen Linux-Dateisystemen
- Wissen darüber, wie man Dateisysteme verkleinert, die Maschinenlast beobachtet, häufig benötigte Programme installiert und konfiguriert...
- Fähigkeit, grundlegende Probleme zu debuggen, indem Protokolle gelesen und Programme wie top, vmstat, iostat, sar, strace usw. verwendet werden
Das ist nur eine Vermutung meinerseits.
„Internals“ ist ein gebräuchlicher Marketingbegriff, der oft in Stellenbeschreibungen verwendet wird, da sie oft von HR- oder Einstellungsmanagern geschrieben werden, die nicht technisch versiert sind.
Sie müssten zum Vorstellungsgespräch gehen, um das technische Personal zu treffen, um herauszufinden, was der Job wirklich erfordert.
"Linux Internals" würde normalerweise eine hohe Vertrautheit mit dem Betriebssystem bedeuten, einschließlich Kenntnisse über die Verwendung und Konfiguration des Kernels, aber nicht über die Programmierung oder Entwicklung.
Ich würde empfehlen, für das RHCE oder Linux+ zu studieren
Warum sollte ich Linux-Interna kennen?
Zu verstehen, wie alles "unter der Haube" funktioniert, ist unerlässlich, um den Zustand komplexer Systeme zu beurteilen. Es ist eine Sache, einfach Befehle aus dem Runbook einzugeben, es ist eine andere, zu verstehen, was diese Befehle tun, und in der Lage zu sein, intelligent aus einer Reihe von Optionen auszuwählen, die alle auf einer bestimmten Ebene funktionieren können, die beste für eine bestimmte Situation.
Wo finde ich praktische Anwendung dafür?
Der praktische Nutzen ist jeden Tag! Ich meine, hier ist ein sehr einfaches Beispiel, Sie möchten einen Prozess beenden. Sie könnten einfach kill
blind eingeben Natürlich. Aber Sie sollten wahrscheinlich verstehen, was dieser Befehl wirklich tut, wie er für mehr als nur das Beenden eines Prozesses verwendet werden kann, was ein Prozess wahrscheinlich als Reaktion auf verschiedene Verwendungen von kill tun wird, an welchem Punkt seiner Ausführung wird er reagieren Diese Anfrage, was zu tun ist, wenn sie die Anfrage scheinbar ignoriert, was es bedeutet, wenn sie nach dem Töten zu einem Zombie wird, ich könnte so weitermachen...
Wie lernt man Linux-Interna?
Sie haben das Glück, dass viele dieser Dinge den meisten Unix-ähnlichen Betriebssystemen gemeinsam sind und dass sich die Grundlagen nicht sehr schnell ändern. Daher ist das Erlernen dieser Dinge eine Investition, die sich während Ihrer gesamten Karriere auszahlen wird. Jedes der Bücher von W. Richard Stevens ist zeitloses Wissen, damit habe ich angefangen und ich greife immer noch oft nach diesen Büchern. Das Design und die Implementierung des FreeBSD-Betriebssystems sind ebenfalls sehr relevant. Aber es gibt keinen Ersatz dafür, es tatsächlich zu tun.