Nuovo capitolo della nostra serie di lezioni dedicate alla migrazione da Windows a Linux. In questo tutorial ci focalizzeremo sulla gestione dei pacchetti software. Per semplicità adotteremo la distribuzione Linux Mint come punto di riferimento.
L'installazione, la gestione e l'aggiornamento del proprio parco applicativi è una delle funzionalità vitali per qualsiasi tipologia di utente, in special modo per figure professionali come sistemisti o developer. Dunque prima di avviare una qualsiasi transizione ad una distribuzione è bene studiare, anche solo i rudimenti, come funziona il package manager ed il sistema dei repository del sistema Linux che andremo ad adottare.
Linux Mint è una distribuzione derivata da Ubuntu e condivide con essa il proprio parco applicativi, con alcune eccezioni rappresentate dai tool sviluppati appositamente dai coder del progetto. Chiunque scelga di affidarsi a Linux Mint non avrà difficoltà a reperire i software per le proprie attività quotidiane.
Il gestore di pacchetti APT
APT (Advanced Packaging Tool) è il package manager di riferimento per tutte le distribuzioni derivate da Debian, incluse dunque anche Ubuntu e la stessa Linux Mint. Si tratta di un potente alleato, tramite un semplice set di comandi da shell è possibile amministrare tutti i pacchetti software installati, o disponibili nei repository, le dipendenze e le librerie.
Sulle distribuzioni che adottano APT i software sono pacchettizzati tramite il formato .deb
. Questi installer vengono forniti appunto tramite i repository accessibili da APT. Il package manager gestisce quindi il download, l'esecuzione dell'installer e la ricerca e configurazione delle dipendenze. Per proporre un esempio concreto, per funzionare il pacchetto "pipewire" ha bisogno di systemd
, che a sua volta necessita di tutta una serie di librerie. Con un singolo comando nella shell:
sudo apt install pipewire
APT proporrà di installare il pacchetto richiesto e tutto ciò che è necessario, nel caso tali pacchetti non siano già presenti nel sistema, alla sua esecuzione ottimale.
Come possiamo notare la sintassi per ottenere un software è davvero semplice. Lo stesso vale anche per la sua rimozione:
sudo apt remove pipewire
Di base APT lascia intatte le dipendenze software connesse al pacchetto da rimuovere. Questo perché tali librerie potrebbero essere necessarie ad altri programmi che abbiamo installato sul sistema. Su Linux infatti gli applicativi possono condividere una o più dipendenze o API. Tale approccio è stato scelto per limitare la dimensione dei pacchetti e preservare lo spazio su disco. Cosi facendo non è necessario dover riscaricare ogni volta la medesima libreria per più software.
Se invece si desidera fare pulizia dei file di configurazione connessi al pacchetto, magari per resettarlo, possiamo usare l'opzione purge
:
sudo apt purge pipewire
Mentre per quanto riguarda l'eliminazione delle dipendenze si può fare affidamento su autoremove
:
sudo apt autoremove
Questo comando cancella tutti i pacchetti che sono stati installati automaticamente per soddisfare le dipendenze di altri applicativi. Se si desidera concatenare i due precedenti comandi possiamo invece digitare:
sudo apt autopurge
Per velocizzare le tempistiche di reinstallazione dei pacchetti rimossi in precedenza il sistema può conservare una cache con alcuni .deb
eliminati di recente. Per cancellare tale cache e liberare spazio su disco si può operare sfruttando autoclean
:
sudo apt autoclean
Mentre se si sta cercando un programma ma non ci si ricorda bene il nome completo esiste una comoda funzione di ricerca:
sudo apt search appcercata
tale comando è applicabile anche alla cache di APT:
sudo apt-cache search applicativo
Se ci interessa invece capire quale release del pacchetto abbiamo installato, perché magari sui repository ne sono disponibili diverse, possiamo affidarci a policy
:
sudo apt-cache policy nomepacchetto
Aggiornare i pacchetti è altrettanto semplice, prima di tutto bisogna aggiornare la lista dei pacchetti disponibili nei repository software:
sudo apt update
ed infine indicare ad APT di eseguire l'upgrade dei programmi che hanno una nuova release disponibile:
sudo apt upgrade
Possiamo inoltre concatenare questi due comandi cosi:
sudo apt update && apt upgrade
Installazione driver
Se decidiamo di affidarci a Linux Mint con tutta probabilità, durante l'installazione del sistema, APT provvederà ad installare in automatico tutti i driver necessari al funzionamento del nostro computer. Tuttavia esistono delle periferiche che potrebbero necessitare l'installazione manuale di un driver.
Se questo driver è presente nei repository possiamo cercarlo tramite la funzione di ricerca:
sudo apt search nomedriver
e successivamente installarlo manualmente:
sudo apt install pacchettodriver
Se il driver non si trova nei repository quasi sicuramente è reperibile online. In genere le aziende, o i developer indipendenti, li distribuiscono tramite installer .deb
. Dunque basta scaricare l'installer .deb
ed usare dpkg
:
sudo dpkg -i driver.deb
Assicuriamoci ovviamente che bash si trovi nella directory dove è collocato il pacchetto.
Se invece desideriamo rimuovere i driver manualmente, magari perché affetti da bug, possiamo usare tale sintassi:
sudo dpkg -r driver.deb
Pacchetti Flatpak
APT non è il solo gestore di pacchetti utilizzabile su Linux, cosi come i repository della distribuzione non sono l'unico posto in cui reperire gli applicativi che ci servono.
In questi ultimi anni il formato Flatpak si sta imponendo come nuovo standard per la pacchettizzazione di applicazioni e dipendenze. Gli installer Flatpak sono quindi svincolati dai repository e sono più simili agli .exe
di Windows.
Per fare un esempio concreto, per installare un programma basta utilizzare il comando "flatpak install
" seguito dalla fonte del pacchetto e dal nome:
flatpak install flathub com.google.Chrome
Mentre per rimuovere tale programma:
flatpak uninstall flathub com.google.Chrome
o per eseguire un update di tutti i software Flatpak:
flatpak update
e per vedere tutti i software installati dall'utente:
flatpak list
Configurazione di Wine
Nel caso in cui un programma vitale per il proprio workflow giri unicamente su Windows è possibile affidarsi ad un layer di compatibilità come Wine. In buona sostanza grazie a questo non-emulatore è possibile eseguire binari scritti per il sistema Microsoft anche sulle distribuzioni.
L'installazione è configurazione di Wine è abbastanza semplice, basta appunto utilizzare Flatpak ed il download manager wget
:
sudo apt install wget
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --user -y install flathub org.winehq.Wine/x86_64/stable-22.08
wget -c https://github.com/fastrizwaan/flatpak-wine/releases/download/0.90/flatpak-proton-ge-7.36_0.90_20221201.flatpak
wget -c https://github.com/fastrizwaan/flatpak-wine/releases/download/0.90/flatpak-wine5_0.90_20221201.flatpak
wget -c https://github.com/fastrizwaan/flatpak-wine/releases/download/0.90/flatpak-wine7_0.90_20221201.flatpak
wget -c https://github.com/fastrizwaan/flatpak-wine/releases/download/0.90/flatpak-winezgui_0.90_20221201.flatpak
flatpak --user install flatpak-proton-ge-7.36_0.90_20221201.flatpak
flatpak --user install flatpak-wine5_0.90_20221201.flatpak
flatpak --user install flatpak-wine7_0.90_20221201.flatpak
flatpak --user install flatpak-winezgui_0.90_20221201.flatpak
Se preferite potete anche lanciare Wine direttamente da shell cosi da avviare il setup iniziale:
flatpak run io.github.fastrizwaan.flatpak-proton
flatpak run io.github.fastrizwaan.flatpak-wine5
flatpak run io.github.fastrizwaan.flatpak-wine7
flatpak run io.github.fastrizwaan.WineZGUI
Terminata la configurazione iniziale, che dovrebbe durare pochi secondi, è possibile procedere all'installazione dei software tramite l'installer di Windows .exe
o .msi
normalmente, come se ci trovassimo sul sistema operativo di Microsoft.