EITC/IS/LSA Linux System Administration è il programma di certificazione IT europea sull'amministrazione e la gestione della sicurezza in Linux, un sistema operativo di rete open source spesso utilizzato in server con una posizione di leadership mondiale.
Il curriculum dell'EITC/IS/LSA Linux System Administration si concentra sulle conoscenze e abilità pratiche nell'amministrazione e nella gestione della sicurezza in Linux organizzato all'interno della struttura seguente, che comprende contenuti didattici video completi come riferimento per questa certificazione EITC.
Linux è una raccolta di sistemi operativi open source simili a Unix, generalmente accettati come standard leader per i sistemi operativi dei server di rete, basati sul kernel Linux di Linus Torvalds, che è stato inizialmente rilasciato nel 1991. Il kernel Linux, così come il software di sistema e le librerie che accompagnano, sono comunemente raggruppati in una distribuzione Linux, con molti di loro concessi in licenza nell'ambito del progetto GNU. Sebbene molte distribuzioni Linux utilizzino il termine “Linux”, la Free Software Foundation preferisce il termine “GNU/Linux” per sottolineare il significato del software GNU.
Debian, Fedora e Ubuntu sono tutte distribuzioni Linux popolari. Red Hat Enterprise Linux e SUSE Linux Enterprise Server sono due distribuzioni commerciali. Un sistema a finestre come X11 o Wayland, così come un ambiente desktop come GNOME o KDE Plasma, sono inclusi nelle distribuzioni Linux desktop. Le distribuzioni del server possono includere o meno elementi grafici o possono includere uno stack di soluzioni come LAMP. Chiunque può produrre una distribuzione per qualsiasi scopo perché Linux è un software open source liberamente ridistribuibile.
Linux è stato creato per i personal computer basati sull'architettura x86 di Intel, ma successivamente è stato portato su più piattaforme rispetto a qualsiasi altro sistema operativo. Linux ha la più grande base installata di tutti i sistemi operativi generici a causa del predominio di Android basato su Linux sugli smartphone. Nonostante Linux sia utilizzato solo dal 2.3% dei computer desktop, il Chromebook, che esegue Chrome OS basato su kernel Linux, domina il mercato dell'istruzione degli Stati Uniti K-12 e rappresenta circa il 20% di tutte le vendite di laptop inferiori a $ 300 . Linux è il sistema operativo più popolare per i server (circa il 96.4% dei primi 1 milione di server Web esegue Linux), così come altri grandi sistemi di ferro come computer mainframe e supercomputer TOP500 (da novembre 2017, dopo aver gradualmente eliminato tutti i concorrenti).
Linux è disponibile anche per i sistemi embedded, che sono dispositivi il cui sistema operativo è spesso incorporato nel firmware ed è altamente personalizzato per il sistema. Router, controlli di automazione, tecnologia per la casa intelligente, televisori (Samsung e LG Smart TV utilizzano rispettivamente Tizen e WebOS), automobili (Tesla, Audi, Mercedes-Benz, Hyundai e Toyota utilizzano tutti Linux), videoregistratori digitali, console per videogiochi e gli smartwatch sono tutti esempi di dispositivi basati su Linux. L'avionica di Falcon 9 e Dragon 2 si basa su una versione personalizzata di Linux.
Linux è uno degli esempi più famosi di collaborazione software gratuita e open source. Secondo le regole delle sue singole licenze, come la GNU General Public License, il codice sorgente può essere utilizzato, aggiornato e distribuito commercialmente o non commercialmente da chiunque.
Il kernel Linux non è stato progettato, ma si è evoluto attraverso la selezione naturale, secondo diversi sviluppatori open source. Sebbene l'architettura Unix abbia agito come un'impalcatura, Torvalds ritiene che "Linux si sia evoluto con molte mutazioni e poiché le mutazioni erano meno che casuali, erano più veloci e più dirette delle particelle alfa nel DNA". Le caratteristiche rivoluzionarie di Linux, secondo Eric S. Raymond, sono sociali più che tecniche: prima di Linux, il software sofisticato veniva costruito scrupolosamente da piccoli gruppi, ma “Linux è cresciuto in un modo molto diverso. È stato violato quasi inavvertitamente fin dall'inizio da grandi gruppi di volontari che comunicavano esclusivamente tramite Internet. La tecnica stupidamente semplice di pubblicare ogni settimana e ricevere input da centinaia di utenti in pochi giorni, generando una forma di rapida selezione darwiniana sulle mutazioni apportate dagli sviluppatori, piuttosto che standard rigorosi o dittature, è stata utilizzata per preservare la qualità". "Linux non è stato progettato, si è evoluto", afferma Bryan Cantrill, un ingegnere per un sistema operativo concorrente, ma vede questo come un limite, affermando che alcune funzionalità, in particolare quelle relative alla sicurezza, non possono essere sviluppate, perché "questo è Non è un sistema biologico alla fine della giornata, è un sistema software. Un sistema basato su Linux è un sistema operativo modulare simile a Unix che trae gran parte della sua ispirazione architettonica dai principi Unix sviluppati negli anni '1970 e '1980. Un kernel monolitico, il kernel Linux, viene utilizzato in un tale sistema per gestire il controllo dei processi, la rete, l'accesso alle periferiche e i file system. I driver di dispositivo sono integrati direttamente nel kernel o aggiunti come moduli che vengono caricati durante l'esecuzione del sistema.
Il mondo degli utenti GNU è una caratteristica importante della maggior parte dei sistemi basati su Linux, con Android che rappresenta un'eccezione. La toolchain è un'ampia raccolta di strumenti di programmazione vitali per lo sviluppo di Linux (inclusi i compilatori usati per costruire il kernel Linux stesso) e le coreutils implementano molti strumenti Unix di base. L'implementazione della libreria C da parte del progetto funziona come un wrapper per le chiamate di sistema del kernel Linux necessarie all'interfaccia kernel-userspace, la toolchain è un'ampia raccolta di strumenti di programmazione vitali per lo sviluppo di Linux (inclusi i compilatori usati per costruire il kernel Linux stesso) e le coreutils implementano molti strumenti Unix di base. Nell'ambito del progetto viene sviluppata anche Bash, una popolare shell CLI. La maggior parte dell'interfaccia utente grafica (o GUI) dei sistemi Linux si basa su un'implementazione del sistema X Window. Più recentemente, la comunità Linux ha lavorato per sostituire X11 con Wayland come protocollo del server di visualizzazione sostitutivo. I sistemi Linux traggono vantaggio da diverse altre iniziative software open source.
I componenti installati di un sistema Linux includono quanto segue:
- GNU GRUB, LILO, SYSLINUX o Gummiboot sono esempi di bootloader. Questo è un software che viene eseguito all'accensione del computer e dopo l'inizializzazione del firmware per caricare il kernel Linux nella memoria principale del computer.
- Un programma init, come sysvinit o il più recente systemd, OpenRC o Upstart. Questo è il processo iniziale avviato dal kernel Linux e si trova in cima all'albero dei processi; in altre parole, init iniziano tutti gli altri processi. Avvia attività come servizi di sistema e richieste di accesso (sia in modalità grafica che in modalità terminale).
- Le librerie software sono raccolte di codice che possono essere utilizzate da altri programmi. Il linker dinamico che gestisce l'uso di librerie dinamiche su sistemi Linux che utilizzano file eseguibili in formato ELF è noto come ld-linux.so. Se il sistema è impostato in modo che l'utente possa generare le applicazioni da solo, verranno inclusi file di intestazione per descrivere l'interfaccia delle librerie installate. Oltre alla GNU C Library (glibc), che è la libreria software più utilizzata sui sistemi Linux, ci sono altre librerie, come SDL e Mesa.
- La libreria GNU C è la libreria standard C standard, necessaria per eseguire programmi C su un sistema informatico. Sono state sviluppate alternative per i sistemi embedded, inclusi musl, EGLIBC (un clone di glibc originariamente utilizzato da Debian) e uClibc (costruito per uClinux), tuttavia gli ultimi due non vengono più mantenuti. Viene utilizzata Bionic, la libreria C di Android.
- GNU coreutils è l'implementazione standard dei comandi Unix di base. Per i dispositivi embedded, ci sono alternative come BusyBox copyleft e Toybox con licenza BSD.
- I widget toolkit sono librerie per la creazione di interfacce utente grafiche (GUI) di applicazioni software. GTK e Clutter, creati dal progetto GNOME, Qt, sviluppato dal Qt Project e guidato da The Qt Company, e Enlightenment Foundation Libraries (EFL), gestiti principalmente dal team Enlightenment, sono tra i widget toolkit disponibili.
- Un sistema di gestione dei pacchetti, come dpkg o RPM, viene utilizzato per gestire i pacchetti. I pacchetti possono anche essere compilati da tarball sorgente o tarball binari.
- Le shell dei comandi e gli ambienti a finestre sono esempi di programmi di interfaccia utente.
L'interfaccia utente, spesso nota come shell, è in genere un'interfaccia della riga di comando (CLI), un'interfaccia utente grafica (GUI) o controlli accoppiati all'hardware di accompagnamento. L'interfaccia utente tipica sui PC desktop è solitamente grafica, mentre la CLI è spesso accessibile tramite le finestre dell'emulatore di terminale o una console virtuale separata.
Le interfacce utente basate su testo, o shell CLI, utilizzano il testo sia per l'input che per l'output. La Bourne-Again Shell (bash), creata per il progetto GNU, è la shell più utilizzata sotto Linux. La CLI è utilizzata interamente dalla maggior parte dei componenti Linux di basso livello, comprese varie sezioni del territorio degli utenti. La CLI è particolarmente adatta per automatizzare operazioni ripetute o ritardate e consente una comunicazione tra processi relativamente semplice.
Le shell della GUI, piene di ambienti desktop completi come KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon e Xfce, sono le interfacce utente più popolari sui sistemi desktop, mentre esistono numerose altre interfacce utente. Il sistema X Window, noto anche come "X", è alla base della maggior parte delle interfacce utente popolari. Consente la trasparenza della rete consentendo a un'applicazione grafica che opera su una macchina di essere visualizzata su un'altra, dove un utente può interagire con essa; tuttavia, alcune estensioni di X Window System non sono in grado di funzionare in rete. Esistono diversi server di visualizzazione X, il più popolare dei quali è X.Org Server, che è l'implementazione di riferimento.
Le distribuzioni server possono fornire un'interfaccia a riga di comando per sviluppatori e amministratori, ma possono anche includere un'interfaccia personalizzata per gli utenti finali che è adattata al caso d'uso del sistema. È possibile accedere a questa interfaccia personalizzata tramite un client in esecuzione su un sistema diverso che non è necessariamente basato su Linux.
Per X11, esistono diversi tipi di gestori di finestre, inclusi tiling, dynamic, stacking e compositing. I gestori di finestre interagiscono con il sistema X Window e consentono di controllare la posizione e l'aspetto delle singole finestre delle applicazioni. I gestori di finestre X più semplici come dwm, ratpoison, i3wm o herbstluftwm hanno un'interfaccia minimalista, mentre i gestori di finestre più complessi come FVWM, Enlightenment o Window Maker includono funzionalità aggiuntive come una barra delle applicazioni e temi incorporati, ma sono comunque leggeri rispetto a ambienti desktop. I gestori di finestre come Mutter (GNOME), KWin (KDE) e Xfwm (xfce) sono inclusi nelle installazioni di base della maggior parte degli ambienti desktop, ma gli utenti possono scegliere di utilizzare un gestore di finestre diverso se preferiscono.
Wayland è un protocollo del server di visualizzazione progettato per sostituire il protocollo X11, tuttavia non ha ancora ottenuto un uso diffuso a partire dal 2014. Wayland, a differenza di X11, non richiede un gestore di finestre o un gestore di compositing esterno. Di conseguenza, un compositore Wayland funge da display server, window manager e compositing manager tutto in uno. L'implementazione di riferimento di Wayland è Weston, sebbene Mutter e KWin di GNOME e KDE vengano convertiti in Wayland come server di visualizzazione standalone. Dalla versione 19, Enlightenment è stato portato con successo.
Per conoscere nel dettaglio il curriculum di certificazione puoi espandere e analizzare la tabella sottostante.
Il curriculum di certificazione EITC/IS/LSA Linux System Administration fa riferimento a materiali didattici ad accesso aperto in forma di video. Il processo di apprendimento è suddiviso in una struttura passo dopo passo (programmi -> lezioni -> argomenti) che copre le parti rilevanti del curriculum. Sono inoltre previste consulenze illimitate con esperti di dominio.
Per i dettagli sulla procedura di certificazione controllare Come Funziona?.
Scarica i materiali preparatori completi di autoapprendimento offline per il programma EITC/IS/LSA Linux System Administration in un file PDF
Materiali preparatori EITC/IS/LSA – versione standard
Materiali preparatori EITC/IS/LSA – versione estesa con domande di revisione