Esistono molti modi per trasferire le applicazioni su un sistema Linux. Alcuni, come Flatpak e container, sono nuovi. Altri, come DEB e RPM, sono formati classici che hanno resistito alla prova del tempo.
Non esiste un programma di installazione universale per nessun sistema operativo. Oggi, tutti i principali sistemi operativi utilizzano un mix di app store (sia di prima che di terze parti), installazione drag-and-drop e procedure guidate di installazione perché ci sono innumerevoli sviluppatori che forniscono software. Diversi sviluppatori hanno requisiti diversi per il codice che forniscono e questo informa sul metodo di installazione che ciascuno sceglie.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Linux ha aperto la strada al concetto di gestore di pacchetti , un comando per installare, gestire e disinstallare le applicazioni. Due comandi comuni del gestore di pacchetti sono apt
e dnf
. Il apt
il comando gestisce i pacchetti DEB, mentre dnf
gestisce i pacchetti RPM. I due non si escludono strettamente l'uno dall'altro in teoria, sebbene in pratica una distribuzione Linux generalmente utilizzi l'uno o l'altro. In teoria è possibile eseguire entrambi su un sistema, ma le installazioni dei pacchetti si sovrapporrebbero, il controllo delle versioni sarebbe difficile e i comandi sarebbero ridondanti l'uno con l'altro. Tuttavia, se lavori in un ambiente Linux misto, interagendo con workstation che eseguono una distribuzione e server che ne eseguono un'altra, potresti aver bisogno di conoscerle entrambe.
Ricerca di applicazioni
Prima di poter installare un'applicazione con un gestore di pacchetti, è necessario conoscere il nome del pacchetto. Di solito, il nome dell'applicazione e il nome del pacchetto sono gli stessi. La procedura per verificare il nome del pacchetto che vuoi installare è esattamente la stessa su dnf
e apt
:
$ sudo dnf search zsh
====== Name Exactly Matched: zsh ======
zsh.x86_64 : Powerful interactive shell
[...]
Con apt
:
$ sudo apt search zsh
Sorting... Done
Full Text Search... Done
csh/stable 20110502-4+deb10u1 amd64
Shell with C-like syntax
ddgr/stable 1.6-1 all
DuckDuckGo from the terminal
direnv/stable 2.18.2-2 amd64
Utility to set directory specific environment variables
draai/stable 20180521-1 all
Command-line music player for MPD
[...]
Per ottenere risultati pertinenti da apt
in precedenza nella ricerca, puoi usare regex:
apt search ^zsh
Sorting... Done
Full Text Search... Done
zsh/stable 5.7.1-1 amd64
shell with lots of features
[...]
Trovare il pacchetto di un'applicazione
Alcuni comandi vengono forniti in bundle con altri comandi, tutti in un unico pacchetto. Quando ciò accade, puoi utilizzare il tuo gestore di pacchetti per sapere quale pacchetto fornisce ciò di cui hai bisogno. Il dnf
e apt
i comandi divergono sul modo in cui cercano questo tipo di metadati.
Su dnf
:
$ sudo dnf provides pgrep
procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities
Repo : baseos
Matched from:
Filename : /usr/bin/pgrep
Il apt
comando utilizza un sottocomando, apt-file
. Per utilizzare apt-file
, devi prima installarlo e poi chiedergli di aggiornare la sua cache:
$ sudo apt install apt-file
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.
Need to get 297 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
$ sudo apt-file update
[...]
Puoi utilizzare apt-file
per cercare un comando. Puoi lanciare una rete molto ampia semplicemente cercando il comando, ma se ti capita di conoscere il percorso previsto del comando, è più preciso:
$ sudo apt-file search /usr/bin/pgrep
pgreplay: /usr/bin/pgreplay
procps: /usr/bin/pgrep
Installazione di applicazioni
L'installazione delle applicazioni è essenzialmente identica a apt
e dnf
:
$ sudo apt install zsh
Con dnf
, puoi installare un singolo pacchetto utilizzando la stessa opzione:
$ sudo dnf install zsh
Molte distribuzioni basate su RPM presentano gruppi di installazione , che raccolgono applicazioni a volte superficialmente correlate in un'unica destinazione facilmente installabile. Ad esempio, il gruppo Design Suite in Fedora contiene applicazioni creative popolari. È probabile che molti artisti che desiderano un'applicazione creativa desiderino applicazioni simili e l'installazione dell'intero gruppo è un modo semplice e rapido per iniziare in modo ragionevole la creazione di uno studio digitale. Puoi visualizzare i gruppi disponibili con group list
(usa -v
per vedere i nomi dei gruppi senza spazi):
$ sudo dnf group list -v
[...]
Available Groups:
Container Management (container-management)
RPM Development Tools (rpm-development-tools)
Design Suite (design-suite)
Development Tools (development)
[...]
Installa un gruppo RPM utilizzando group install
sottocomandi:
$ sudo dnf group install design-suite
Puoi usare il @
notazione per ridurre la digitazione:
$ sudo dnf install @design-suite
Aggiornamento delle applicazioni
Uno dei vantaggi dell'utilizzo di un gestore di pacchetti è che è a conoscenza di tutto le applicazioni che abbia mai installato. Ciò significa che non devi andare a caccia di versioni aggiornate delle applicazioni. Invece, puoi dire al tuo gestore di pacchetti di cercare gli aggiornamenti.
I sottocomandi utilizzati da dnf
e apt
sono leggermente diversi. Perché apt
mantiene una cache di informazioni che richiedono un aggiornamento regolare, utilizza il upgrade
sottocomando per gli aggiornamenti dell'applicazione:
$ sudo apt upgrade
Al contrario, dnf
aggiorna i metadati ogni volta che usi il comando, quindi update
e upgrade
i sottocomandi sono intercambiabili:
$ sudo dnf upgrade
Questo è lo stesso di:
$ sudo dnf update
Rimozione di applicazioni
Se hai mai provato a rimuovere un'applicazione manualmente su qualsiasi piattaforma, allora sai che ci sono inevitabilmente file rimanenti, come file delle preferenze o risorse o icone, sparsi per tutto il tuo disco rigido dopo aver rimosso l'applicazione. Un altro vantaggio dell'utilizzo di un gestore di pacchetti è che il gestore di pacchetti conosce ogni singolo file installato con un pacchetto:
$ sudo dnf remove zsh
Il remove
il sottocomando viene utilizzato anche per apt
:
$ sudo apt remove zsh
Rimozione di un pacchetto con apt
non rimuove i file di configurazione utente modificati, nel caso in cui il pacchetto sia stato rimosso per errore. Se vuoi apt
per rimuovere un'applicazione e i suoi file di configurazione, usa purge
su un'applicazione che hai precedentemente rimosso:
$ sudo apt purge zsh
Entrambi apt
e dnf
(anche con purge
) non rimuovere dati o file di configurazione nella tua home directory. Per rimuovere i dati dalla tua home directory, devi farlo manualmente (di solito si trova in ~/.config
e ~/.local
).
Gestione del pacchetto di apprendimento
Se la tua distribuzione Linux preferita preferisce apt
o dnf
, gli scopi dei comandi sono sostanzialmente identici. Ti aiutano a installare, aggiornare e rimuovere i pacchetti. Questi due, essendo i gestori di pacchetti più comuni, rispecchiano in gran parte gli elementi sintattici più importanti l'uno dell'altro, quindi passare da uno all'altro è piuttosto semplice.
Ognuno ha alcune funzionalità avanzate, come la gestione del repository, che divergono sostanzialmente, ma tendono a non essere eseguite con la frequenza della classica sequenza di search
e install
.
Indipendentemente dal gestore di pacchetti che utilizzi più spesso, puoi scaricare i nostri cheat sheet apt e dnf in modo da avere la sintassi più importante a portata di mano quando ne hai più bisogno.