PowerShell su Ubuntu 20.04 LTS: installazione corretta e verifica reale
Su Ubuntu 20.04 LTS conviene installare PowerShell dal repository Microsoft, non con pacchetti presi a caso o con copie manuali dell’eseguibile. Il motivo è semplice: si ottengono aggiornamenti firmati, dipendenze coerenti e una procedura di rimozione pulita. In un ambiente Linux da amministrare seriamente, la differenza tra “funziona adesso” e “si mantiene nel tempo” è tutta qui.
PowerShell non sostituisce la shell classica di sistema, ma la affianca. Su Ubuntu resta fondamentale per automazione, interrogazione di API, gestione di JSON e script ripetibili. Se lavori tra Windows e Linux, avere lo stesso motore di scripting su entrambi i lati evita conversioni inutili e riduce errori operativi.
Qui sotto trovi una procedura completa per installarlo su Ubuntu 20.04 LTS, verificarne il funzionamento, aprirlo correttamente e rimuoverlo quando serve. I passaggi sono pensati per un sistema standard con accesso sudo.
Controllo preliminare: versione del sistema e architettura
Prima di aggiungere repository esterni, verifica che la macchina sia davvero su Ubuntu 20.04 e che l’architettura sia quella attesa. Questo evita di inseguire problemi banali, come un pacchetto non compatibile o un repository configurato per release diverse.
Esegui questi comandi:
lsb_release -a
uname -m
Atteso: Ubuntu 20.04 come release e un’architettura comune come x86_64 o aarch64. Se la release non coincide, non forzare la procedura: usa la guida specifica per la tua versione, perché il repository e i pacchetti possono cambiare nome o dipendenze.
Repository Microsoft: aggiunta pulita e verificabile
Il metodo più lineare è aggiungere il repository Microsoft e installare il pacchetto powershell tramite APT. In questo modo il gestore pacchetti mantiene traccia dell’installazione e degli aggiornamenti, invece di lasciare file sparsi da recuperare a mano più avanti.
Prima aggiorna l’indice pacchetti e installa i prerequisiti minimi per HTTPS e repository esterni:
sudo apt update
sudo apt install -y wget apt-transport-https software-properties-common
Ora importa il pacchetto di configurazione del repository Microsoft e registra la chiave del repository in modo corretto. Su sistemi recenti è preferibile evitare meccanismi obsoleti di trust globale e seguire il formato supportato dalla distribuzione.
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
Verifica che il repository sia stato aggiunto:
grep -R "packages.microsoft.com" /etc/apt/sources.list /etc/apt/sources.list.d/
Se il comando restituisce una riga in /etc/apt/sources.list.d/, sei nel punto giusto. Se non compare nulla, il pacchetto .deb non è stato installato o la macchina non ha scritto la configurazione dove previsto.
Installazione di PowerShell con APT
A questo punto l’installazione è banale. Aggiorna di nuovo l’indice e installa il pacchetto:
sudo apt update
sudo apt install -y powershell
Il binario principale si chiama pwsh. Non cercare powershell come comando interattivo: su Linux l’eseguibile è quello. La distinzione è utile anche quando automatizzi script o documenti le procedure per altri operatori del team.
Verifica il pacchetto installato con:
dpkg -l | grep -i powershell
Atteso: una riga con stato ii e il nome powershell. Se il pacchetto risulta in stato diverso, il problema è quasi sempre nel repository, nella rete o in una mancanza temporanea di dipendenze APT.
Avvio della shell e primo controllo funzionale
Avvia PowerShell con:
pwsh
Se tutto è corretto, vedrai il prompt di PowerShell e potrai eseguire un test minimale. Il primo controllo non deve essere un esercizio complicato: basta confermare la versione e il motore runtime.
Dentro pwsh esegui:
$PSVersionTable
$PSVersionTable.PSVersion
Get-Host
La tabella mostra la versione di PowerShell e i dettagli dell’ambiente. Su Ubuntu 20.04, una versione moderna della serie 7 è normale. Se il prompt non si apre o si chiude subito, guarda l’errore in terminale: spesso si tratta di librerie mancanti, installazione incompleta o problemi di permessi sul profilo utente.
Esempio pratico: usare PowerShell per leggere JSON e interrogare il sistema
Il punto forte di PowerShell su Linux è la manipolazione di oggetti, non solo di testo. Un esempio semplice è leggere dati JSON da un file o da un’API e trasformarli senza appoggiarsi a parsing fragile con grep o sed. Questo approccio è utile anche per chi gestisce pannelli, API cloud o inventari interni.
Prova con un oggetto JSON locale:
@'
{
"host": "ubuntu20",
"role": "web",
"env": "prod"
}
'@ | ConvertFrom-Json | Select-Object host, role, env
Il risultato deve mostrare i tre campi come proprietà oggetto. Se vuoi verificare la gestione dei processi, puoi anche interrogare il sistema con un comando classico:
Get-Process | Select-Object -First 5 Name, Id, CPU
Questo tipo di uso è molto più pulito di un parsing testuale quando devi costruire script amministrativi ripetibili. Su un server, la differenza tra oggetti e stringhe è spesso la differenza tra automazione solida e patchwork fragile.
Integrazione con la shell di sistema e alias utili
Su Ubuntu puoi lanciare pwsh da qualunque terminale e, se serve, richiamarlo anche da script Bash. Non è necessario sostituire la shell di login: conviene usare PowerShell solo dove apporta valore, ad esempio per elaborazione dati o chiamate API strutturate.
Un esempio minimale di esecuzione non interattiva:
pwsh -NoLogo -NoProfile -Command '$PSVersionTable.PSVersion'
Se vuoi evitare che il profilo utente introduca variabili o funzioni non previste, l’opzione -NoProfile è utile nei contesti di troubleshooting. Riduce il rumore e ti dice se il problema è nel motore o nel profilo dell’utente.
Aggiornamento del pacchetto e manutenzione
Una volta installato tramite APT, PowerShell si aggiorna insieme al resto del sistema o quando esegui un upgrade mirato. Questo è il vantaggio principale rispetto a installazioni manuali: meno eccezioni, meno drift e meno sorprese quando devi ricostruire una macchina.
Per aggiornare solo PowerShell:
sudo apt update
sudo apt install --only-upgrade powershell
Per controllare la versione installata dopo l’aggiornamento:
pwsh -NoLogo -NoProfile -Command '$PSVersionTable.PSVersion'
Se gestisci più server, tieni presente che il repository Microsoft va trattato come dipendenza esterna. In ambienti con proxy, mirror o restrizioni di rete, conviene verificare prima la raggiungibilità di packages.microsoft.com e la politica di uscita HTTPS, altrimenti l’installazione fallisce per cause che non hanno nulla a che vedere con PowerShell in sé.
Rimozione pulita e rollback
Se devi rimuovere PowerShell, la strada corretta è usare APT, non cancellare file a mano. In questo modo il sistema resta coerente e puoi eventualmente reinstallare senza residui strani.
sudo apt remove -y powershell
Se vuoi eliminare anche il repository Microsoft, rimuovi il pacchetto di configurazione e il file sorgente associato:
sudo dpkg -r packages-microsoft-prod
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
Prima di fare pulizia aggressiva, verifica che non ci siano altri pacchetti Microsoft dipendenti dalla stessa sorgente. In caso contrario potresti ritrovarti con aggiornamenti interrotti anche per software che non stavi pensando di toccare.
Problemi tipici e come leggerli senza perdere tempo
Se apt update segnala errori sul repository, controlla innanzitutto rete, DNS e data/ora del sistema. Un orario errato può rompere la validazione TLS e sembrare un problema di pacchetto. Se pwsh non parte, il primo controllo è il messaggio a terminale, poi l’eventuale journal del sistema se il problema è legato a librerie o crash del processo.
Comandi utili per il triage:
sudo apt update
journalctl -xe | tail -n 50
pwsh -NoLogo -NoProfile -Command '$PSVersionTable'
In caso di installazione incompleta, spesso il problema emerge già in apt: pacchetto non scaricato, dipendenza mancante o repository non raggiungibile. In questi casi non serve cambiare strategia: va prima risolta la causa di base, poi ripetuta l’installazione.
Quando conviene davvero usarlo su Ubuntu
PowerShell su Ubuntu ha senso quando lavori con ambienti misti, API, JSON, configurazioni strutturate o automazioni che devono essere portate da Windows a Linux senza riscrivere tutto. Non è la scelta giusta per ogni script di sistema, e non sostituisce Bash per la gestione quotidiana dell’host. È uno strumento in più, non un obbligo.
Se il tuo obiettivo è amministrare server, orchestrare servizi o interrogare infrastrutture cloud, la combinazione tra shell Linux e PowerShell è spesso più pratica di quanto sembri. L’importante è installarlo in modo pulito, sapere come verificarlo e non perdere il controllo del pacchetto nel tempo.
Con i comandi sopra hai una base solida: repository corretto, installazione tracciata, verifica dell’eseguibile, uso interattivo e rimozione pulita. È la sequenza che uso quando voglio ridurre al minimo il rumore operativo e lasciare il sistema in uno stato prevedibile.
Assunzione operativa: Ubuntu 20.04 LTS standard, accesso sudo disponibile, nessun proxy restrittivo o policy aziendale che blocchi i repository esterni.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.