Questo è un requisito molto vago. Poiché ti riferisci a DevOps, probabilmente significa cose simili a queste, incluse ma non limitate a
- Conoscenza dei parametri sintonizzabili runtime del kernel (sysctl, /proc, /sys)
- Familiarità con i soliti processi in esecuzione sulla tua tipica macchina Linux:systemd, cron, alcuni demoni syslog, ntp...
- Familiarità con i tipici filesystem Linux
- Conoscenza su come ridimensionare i filesystem, osservare il carico della macchina, installare e configurare i programmi comuni necessari...
- Possibilità di eseguire il debug di problemi di base leggendo i log, utilizzando programmi come top, vmstat, iostat, sar, strace e così via
Questa è solo un'ipotesi da parte mia.
"Interni" è un termine di marketing comune spesso utilizzato nelle descrizioni delle mansioni poiché spesso vengono scritte da responsabili delle risorse umane o responsabili delle assunzioni che non sono tecnici.
Dovresti andare al colloquio per incontrare lo staff tecnico per scoprire cosa richiede veramente il lavoro.
"Linux Internals" di solito significherebbe una familiarità di alto livello con il sistema operativo, inclusa la conoscenza dell'uso e della configurazione del kernel, ma non la programmazione o lo sviluppo.
Consiglierei di studiare per RHCE o Linux+
perché dovrei conoscere gli interni di Linux?
Capire come funziona tutto "sotto il cofano" è essenziale per ragionare sullo stato dei sistemi complessi. Una cosa è semplicemente digitare i comandi dal runbook, un'altra è capire cosa stanno facendo quei comandi ed essere in grado di scegliere in modo intelligente tra una gamma di opzioni, ognuna delle quali potrebbe funzionare a un certo livello, la migliore per una determinata situazione.
dove posso trovare un uso pratico di questo?
L'uso pratico è ogni giorno! Voglio dire, ecco un esempio molto semplice, vuoi uccidere un processo. Potresti semplicemente digitare alla cieca kill
Certo. Ma probabilmente dovresti capire cosa fa veramente questo comando, come può essere usato per qualcosa di più della semplice uccisione di un processo, cosa è probabile che un processo faccia in risposta a diversi usi di kill, a che punto della sua esecuzione agirà quella richiesta, cosa fare se apparentemente ignora la richiesta, cosa significa se diventa uno zombi dopo essere stato ucciso, potrei andare avanti all'infinito...
come imparare gli interni di Linux?
Sei fortunato che molte di queste cose siano comuni alla maggior parte dei sistemi operativi simili a Unix e che i fondamenti non cambino molto rapidamente, quindi impararlo è un investimento che ti ripagherà per tutta la tua carriera. Qualsiasi libro di W. Richard Stevens è una conoscenza senza tempo, è da lì che ho iniziato e spesso cerco ancora quei libri. Anche la progettazione e l'implementazione del sistema operativo FreeBSD è molto rilevante. Ma non c'è alcun sostituto per farlo davvero.