4.1 Scegliere il Sistema Operativo

Introduzione

Non importa se si utilizza il sistema informatico a casa, all’università o all’interno di un’azienda, deve ancora essere presa una decisione sul sistema operativo che si utilizzerà. Questa decisione può essere presa da te, soprattutto se si tratta del tuo computer, ma potresti anche essere responsabile della scelta tra i sistemi della tua azienda. Come sempre, essere ben informati sulle scelte disponibili vi aiuterà a prendere una decisione responsabile. In questa lezione intendiamo aiutarti a tenerti informato sulle scelte del sistema operativo che potresti prendere in considerazione.

Cos’è un sistema operativo

Una delle prime cose di cui dobbiamo essere sicuri prima di iniziare il nostro viaggio nella scelta di un sistema operativo è capire cosa intendiamo con il termine. Il sistema operativo è al centro del computer e consente alle applicazioni di funzionare all’interno e sopra di esso. Inoltre, il sistema operativo conterrà driver per accedere all’hardware del computer come dischi e partizioni, schermi, tastiere, schede di rete e così via. Spesso abbreviiamo il sistema operativo semplicemente nel sistema operativo. Oggi ci sono molti sistemi operativi disponibili sia per l’utilizzo di computer aziendali che per coloro che cercano qualcosa in casa. Se vogliamo semplificare la selezione a nostra disposizione, possiamo raggruppare le selezioni come segue:

Sistemi operativi basati su LinuxImpresa presa LinuxConsumer LinuxUnixMacosSistemi operativi basati su WindowsWindows Server Windows Desktop

Scelta di una distribuzione Linux

Il kernel Linux e le distribuzioni Linux

Quando si parla di distribuzioni Linux il sistema operativo è Linux. Linux è il kernel e al centro di ogni distribuzione Linux. Il software del kernel Linux è gestito da un gruppo di individui, guidati da Linus Torvalds. Torvalds è impiegato da un consorzio industriale chiamato The Linux Foundation per lavorare sul kernel Linux.

NotaIl kernel Linux è stato sviluppato per la prima volta da Linus Torvalds, uno studente finlandese, nel 1991. Nel 1992, la prima versione del Kernel sotto la GNU General Public License versione 2 (GPLv2) era la versione 0.12.

Kernel Linux

Come abbiamo accennato, tutte le distribuzioni Linux eseguono lo stesso sistema operativo, Linux.Linux Distribution

Quando si parla di Red Hat Linux, o Ubuntu Linux, si riferisce alla distribuzione Linux. La distribuzione Linux verrà spedita con un kernel Linux e un ambiente che rende il kernel utile in un modo che possiamo interagire con esso. Come minimo avremmo bisogno di una shell della riga di comando come Bash e di una serie di comandi di base che ci permettano di accedere e gestire il sistema. Spesso, ovviamente, la distribuzione Linux avrà un ambiente desktop completo come Gnome o KDE.

Anche se ogni distribuzione Linux esegue il sistema operativo Linux, le distribuzioni possono variare in base alla versione del sistema operativo utilizzato. Con questo, intendiamo, la versione del kernel Linux che è in uso all’avvio della distribuzione.

TiPISe hai accesso a una riga di comando Linux al momento, puoi facilmente controllare la versione del kernel Linux che stai eseguendo leggendo la release del kernel: $uname -r

4.15.0-1019-aws

Tipi di distribuzioni Linux

Può sembrare una scelta ovvia per eseguire sempre l’ultima versione del kernel Linux, ma non è così semplice. Possiamo vagamente categorizzare le distribuzioni Linux in tre insiemi:

Distribuzioni Linux Enterprise Grade RedHat Enterprise LinuxCentossUsa Linux Enterprise ServerDebian GNU/LinuxUbuntu LTSConsumer Grade Linux DistributionsFedorauubuntu non-LTSOPensuseExperimental e Hacker Linux DistributionsArchgentoo

Questo, ovviamente, è solo un sottoinsieme molto piccolo di possibili distribuzioni, ma l’importanza è la differenza tra distribuzioni enterprise, consumer e sperimentali e perché esistono ognuna. Enterprise Grade Linux

Le distribuzioni come CentOS (Community Enterprise OS) sono progettate per essere distribuite all’interno di organizzazioni di grandi dimensioni utilizzando hardware aziendale. Le esigenze dell’impresa sono molto diverse dalle esigenze della piccola impresa, dell’hobbista o dell’utente domestico. Al fine di garantire la disponibilità dei propri servizi, gli utenti aziendali hanno requisiti più elevati per quanto riguarda la stabilità del loro hardware e software. Pertanto, le distribuzioni Linux aziendali tendono a includere versioni meno recenti del kernel e altri software, che sono noti per funzionare in modo affidabile. Spesso le distribuzioni portano aggiornamenti importanti come le correzioni di sicurezza a queste versioni stabili. In cambio, le distribuzioni Linux enterprise potrebbero non avere supporto per l’hardware consumer più recente e fornire versioni precedenti dei pacchetti software. Tuttavia, come le distribuzioni Linux consumer, le aziende tendono a scegliere anche componenti hardware maturi e costruire i loro servizi su versioni software stabili. Consumer Grade Linux

Distribuzioni come Ubuntu sono più mirate per le piccole imprese o gli utenti domestici e hobbisti. In quanto tali, è probabile che utilizzino anche l’hardware più recente presente nei sistemi consumer grade. Questi sistemi avranno bisogno dei driver più recenti per sfruttare al meglio il nuovo hardware, ma è improbabile che la maturità sia dell’hardware che dei driver soddisfi le esigenze delle grandi imprese. Per il mercato consumer, tuttavia, l’ultimo kernel è esattamente ciò che è necessario con i driver più moderni anche se sono poco sottotestati. I kernel Linux più recenti avranno i driver più recenti per supportare l’hardware più recente che probabilmente sarà in uso. Soprattutto con lo sviluppo che vediamo con Linux nel mercato dei giochi è estremamente importante che gli ultimi driver siano disponibili per questi utenti.

Le distribuzioni NotEesome come Ubuntu forniscono sia versioni di livello consumer che contengono software recenti e ricevono aggiornamenti per un periodo piuttosto piccolo di tempo, così come le cosiddette versioni di supporto a lungo termine, LTS in breve, che sono più adatte per gli ambienti aziendali.

Distribuzioni Linux sperimentali e hacker

Distribuzioni come Arch Linux o Gentoo Linux vivono all’avanguardia della tecnologia. Contengono le versioni più recenti del software, anche se queste versioni contengono ancora bug e funzionalità non testate. In cambio, queste distribuzioni tendono a utilizzare un modello di release rolling che consente loro di fornire aggiornamenti in qualsiasi momento. Queste distribuzioni sono utilizzate da utenti esperti che desiderano ricevere sempre il software più recente e sono consapevoli che le funzionalità possono rompersi in qualsiasi momento e sono in grado di riparare i loro sistemi in questi casi.

In breve, se si considera Linux come sistema operativo, se si utilizza hardware di livello enterprise sui server o desktop, è possibile utilizzare distribuzioni Linux di livello enterprise o consumer grade. Se stai usando hardware di livello consumer e hai bisogno di sfruttare al meglio le ultime innovazioni hardware, probabilmente avrai bisogno di una distribuzione Linux simile per soddisfare le esigenze dell’hardware.

Alcune distribuzioni Linux sono correlate tra loro. Ubuntu, ad esempio, si basa su Debian Linux e utilizza lo stesso sistema di packaging, DPKG. Fedora, come altro esempio, è un banco di prova per RedHat Enterprise Linux, dove le potenziali funzionalità delle future versioni RHEL possono essere esplorate prima della loro disponibilità nella distribuzione aziendale.

Oltre alle distribuzioni che abbiamo menzionato qui, ci sono molte altre distribuzioni Linux. Un vantaggio che deriva dal fatto che Linux è un software open source è che molte persone possono sviluppare quello che pensano dovrebbe essere Linux. Come tale abbiamo molte centinaia di distribuzioni. Per visualizzare altre distribuzioni Linux è possibile scegliere di visitare il sito web di The Distro Watch, i manutentori del sito web elencano i primi 100 download di distribuzioni Linux, allwing voi per confrontare e vedere ciò che è attualmente popolare.

Ciclo di vita del supporto Linux

Come ci si può aspettare, le distribuzioni Linux enterprise hanno una durata di supporto più lunga rispetto alle edizioni consumer o community di Linux. Ad esempio, Red Hat Enterprise Linux ha supporto per 10 anni. Red Hat Enterprise Linux 8 è stato lanciato nel maggio 2019, mentre gli aggiornamenti software e il supporto sono disponibili fino al maggio 2029.

Spesso le edizioni consumer avranno il supporto della community solo attraverso i forum. Gli aggiornamenti software sono spesso disponibili per 3 versioni. Se prendiamo Ubuntu come esempio, al momento della scrittura 19.04 è l’ultimo disponibile avendo aggiornamenti attraverso le versioni di 19.10, 20.04 e fermandosi sul rilascio di 20.10. Ubuntu fornisce anche edizioni con supporto a lungo termine, note come edizioni LTS, che hanno 5 anni di supporto dalla versione originale. L’attuale versione LTS è 18.04 che avrà aggiornamenti software fino al 2023. Queste versioni LTS rendono Ubuntu una possibile opzione per l’impresa con supporto commerciale disponibile da Canonical (la società dietro il marchio Ubuntu) o da società di consulenza indipendenti.

NotaLe distribuzioni Ubuntu utilizzano numeri di versione basati su data nel formato YY.MM: Ad esempio, la versione 19.04 è stata rilasciata aprile 2019.

Linux su Computer Desktop

L’utilizzo di Linux come sistema desktop può essere più impegnativo in un’azienda in cui il supporto desktop si concentra sulle offerte di sistemi operativi commerciali. Tuttavia non è solo il supporto che può rivelarsi impegnativo. Un cliente aziendale potrebbe anche aver fatto grandi investimenti in soluzioni software che li legano a specifici sistemi operativi desktop. Detto questo, ci sono molti esempi di desktop Linux integrati in grandi organizzazioni con aziende come Amazon che hanno anche la propria distribuzione Linux Amazon Linux 2. Questo viene utilizzato sulla piattaforma cloud AWS ma anche internamente per server e desktop.

Usare Linux in un’azienda più piccola o a casa diventa molto più semplice e può essere un’esperienza gratificante, eliminando la necessità di licenze e aprendo gli occhi alla ricchezza di software libero e open source disponibile per Linux. Troverete anche che ci sono molti ambienti desktop diversi disponibili. I più comuni sono Gnome e KDE, tuttavia molti altri esistono. La decisione si riduce alle preferenze personali.

Utilizzo di Linux sui server

L’uso di Linux come sistema operativo server è una pratica comune nel settore aziendale. I server sono gestiti da ingegneri specializzati in Linux. Quindi, anche con migliaia di utenti, gli utenti possono rimanere ignoranti dei server a cui si stanno connettendo. Il sistema operativo server non è importante per loro e, in generale, le applicazioni client non differiranno tra Linux e altri sistemi operativi nel back-end. È anche vero che, poiché più applicazioni sono virtualizzate o containerizzate all’interno di cloud locali e remoti, il sistema operativo è mascherato ancora di più e il sistema operativo embedded è probabile che sia Linux.

Linux nel cloud

Un’altra opportunità per acquisire familiarità con Linux è quella di distribuire Linux all’interno di uno dei tanti cloud pubblici disponibili. La creazione di un account con uno dei tanti altri provider cloud ti permetterà di distribuire rapidamente molte distribuzioni Linux diverse in modo rapido e semplice.

Altri Sistemi operativi (Non-Linux)

Sì, incredibile come sembra, ci sono sistemi operativi che non sono basati sul kernel Linux. Naturalmente, nel corso degli anni ce ne sono stati molti e alcuni sono caduti sul ciglio della strada, ma ci sono ancora altre scelte che sono a vostra disposizione. A casa o in ufficio.

Unix

Prima di avere Linux come sistema operativo c’era Unix. Unix era venduto insieme all’hardware e ancora oggi sono disponibili sul mercato diversi Unix commerciali come AIX e HP-UX. Mentre Linux è stato molto ispirato da Unix (e la mancanza della sua disponibilità per determinati hardware), la famiglia di sistemi operativi BSD è basata direttamente su Unix. Oggi FreeBSD, NetBSD e OpenBSD, insieme ad altri sistemi BSD correlati, sono disponibili come software libero.

Unix è stato pesantemente utilizzato in azienda, ma abbiamo visto un declino nelle fortune di Unix con la crescita di Linux. Man mano che Linux è cresciuto e che le offerte di supporto aziendale sono cresciute, abbiamo visto Unix lentamente iniziare a svanire. Solaris, originario di Sun prima di trasferirsi a Oracle, è recentemente scomparso. Questo era uno dei più grandi sistemi operativi Unix utilizzati dalle società di telecomunicazioni, annunciato come Telco Grade Unix.

I sistemi operativi Unix includono:

AIXFreeBSD, NetBSD, OpenBSDHP-UXIRIXSolaris

MacOS

macOS (precedentemente OS X) di Apple risale al 2001. Basato molto su BSD Unix, e facendo uso della shell della riga di comando Bash, è un sistema amichevole da usare se si è abituati a utilizzare sistemi operativi Unix o Linux. Se si utilizza macOS, è possibile aprire l’applicazione terminale per accedere alla riga di comando. Eseguendo lo stesso comando uname di nuovo possiamo controllare il sistema operativo riportato:

$uname -s

Darwin

NotaUtilizziamo l’opzione -s in questo caso per restituire il nome del sistema operativo. In precedenza abbiamo usato -r per restituire il numero di versione del kernel.

Microsoft Windows

Possiamo ancora dire che la maggior parte dei desktop e laptop là fuori sarà basato su Windows. Il sistema operativo ha avuto davvero successo e ha dominato il mercato desktop per anni. Anche se è software proprietario e non è gratuito, spesso la licenza del sistema operativo è inclusa quando si acquista l’hardware in modo che diventi la scelta più facile da fare. C’è, naturalmente, un ampio supporto per Windows in tutti i fornitori di hardware e software, nonché naturalmente molte applicazioni open source sono disponibili anche per Windows. Il futuro per Windows non sembra brillante come lo è stato. Con meno desktop e laptop venduti ora l’attenzione è rivolta al mercato dei tablet e dei telefoni. Questo è stato dominato da Apple e Android ed è difficile per Microsoft guadagnare terreno.

Come piattaforma server Microsoft ora consente ai suoi clienti di scegliere tra una GUI (Graphical User Interface) e la versione solo a riga di comando. La separazione della GUI e della riga di comando è importante. La maggior parte delle volte verrà caricata la GUI dei server Microsoft meno recenti, ma nessuno la utilizzerà. Considera un controller di dominio Active Directory… gli utenti lo usano sempre per autenticarsi al dominio, ma è gestito in remoto dai desktop degli amministratori e non dal server.