Installare un'applicazione su un sistema informatico è piuttosto semplice. I file vengono copiati da un archivio (come un file .zip) sul computer di destinazione in un luogo in cui il sistema operativo prevede che ci siano applicazioni. Poiché molti di noi sono abituati ad avere "procedura guidata" di installazione fantasiosi per aiutarci a ottenere software sui nostri computer, il processo sembra essere tecnicamente più complesso di quello che è.
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
Che cosa è complesso, tuttavia, è il problema di ciò che costituisce un'applicazione. Ciò che gli utenti considerano una singola applicazione contiene in realtà codice preso in prestito da librerie software (ad esempio, .so
file su Linux, .dll
file su Windows e .dylib
su macOS) sparsi in un sistema operativo.
In modo che gli utenti non debbano preoccuparsi di quella vera matrice di codice interdipendente, Linux utilizza un sistema di gestione dei pacchetti per tenere traccia di quale applicazione necessita di quale libreria e di quale libreria o applicazione dispone di aggiornamenti di sicurezza o funzionalità e quali file di dati aggiuntivi sono stati installati con ciascun titolo software. Un gestore di pacchetti è, essenzialmente, una procedura guidata di installazione. Sono facili da usare, forniscono sia interfacce grafiche che interfacce basate su terminale e ti semplificano la vita. Più conosci il gestore di pacchetti della tua distribuzione, più facile diventa la tua vita.
Installazione di applicazioni su Linux
Se sei un utente desktop occasionale che desidera installare un'applicazione su Linux, allora potresti cercare il software GNOME, un browser per applicazioni desktop.
Funziona come ti aspetteresti:fai clic sulla sua interfaccia finché non trovi un'applicazione che sembra utile, quindi fai clic su Installa pulsante.
In alternativa, puoi aprire .rpm
o .flatpakref
pacchetti scaricati dal Web nel software GNOME per installarli per te.
Se sei propenso a controllare il tuo computer con comandi digitati, continua a leggere!
Trovare software con dnf
Prima di poter installare un'applicazione, potrebbe essere necessario confermare che esista sui server della tua distribuzione. Di solito, cercando il nome comune di un'applicazione con dnf
è sufficiente. Ad esempio, supponi di aver letto di recente un articolo su Cockpit e di volerlo provare. Puoi cercare cockpit
per verificare che la tua distribuzione lo includa:
$ dnf search cockpit
Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
==== Name Exactly Matched: cockpit ====
cockpit.x86_64 : Web Console for Linux servers
==== Name & Summary Matched: cockpit ==
cockpit-bridge.x86_64 : Cockpit bridge server-side component
cockpit-composer.noarch : Composer GUI for use with Cockpit
[...]
C'è una corrispondenza esatta. Il pacchetto indicato come corrispondenza si chiama cockpit.x86_64
, ma il .x86_64
parte del nome indica solo l'architettura della CPU con cui è compatibile. Per impostazione predefinita, il tuo sistema installa pacchetti con architetture CPU corrispondenti, quindi puoi ignorare quell'estensione. Pertanto, hai confermato che il pacchetto che stai cercando si chiama semplicemente cockpit
.
Ora puoi installarlo con sicurezza con dnf install
. Questo passaggio richiede privilegi di amministratore:
$ sudo dnf install cockpit
Il più delle volte, questo è il tipico dnf
flusso di lavoro:cerca e installa.
A volte, tuttavia, i risultati di dnf search
non ti sono chiare o desideri maggiori informazioni su un pacchetto oltre al suo nome comune. Ci sono alcuni dnf
rilevanti sottocomandi, a seconda delle informazioni che stai cercando.
Metadati del pacchetto
Se ritieni che la tua ricerca ti abbia chiuso al pacchetto che desideri, ma non sei ancora sicuro, è spesso utile dare un'occhiata ai metadati del pacchetto, come l'URL e la descrizione del progetto. Per ottenere queste informazioni, usa il piacevole e intuitivo dnf info
comando:
$ dnf info terminator
Available Packages
Name : terminator
Version : 1.92
Release : 2.el8
Architecture : noarch
Size : 526 k
Source : terminator-1.92-2.el8.src.rpm
Repository : epel
Summary : Store and run multiple GNOME terminals in one window
URL : https://github.com/gnome-terminator
License : GPLv2
Description : Multiple GNOME terminals in one window. This is a project to produce
: an efficient way of filling a large area of screen space with
: terminals. This is done by splitting the window into a resizeable
: grid of terminals. As such, you can produce a very flexible
: arrangements of terminals for different tasks.
Questo dump di informazioni ti dice la versione del pacchetto disponibile, quale repository registrato con il tuo sistema lo fornisce, il sito Web del progetto e una lunga descrizione di ciò che fa.
Quale pacchetto fornisce un file?
I nomi dei pacchetti non sempre corrispondono a quello che stai cercando. Ad esempio, supponiamo che tu stia leggendo la documentazione che ti dice che devi installare qualcosa chiamato qmake-qt5
:
$ dnf search qmake-qt5
No matches found.
Il dnf
il database è ampio, quindi non devi limitarti a cercare corrispondenze esatte. Puoi utilizzare i dnf provides
comando per sapere se qualcosa fornisce ciò che stai cercando come parte di un pacchetto più grande:
$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
Ciò conferma che l'applicazione qmake-qt5
fa parte di un pacchetto chiamato qt5-qtbase-devel
. Ti dice anche che l'applicazione viene installata su /usr/bin
, così sai esattamente dove trovarlo una volta installato.
Quali file sono inclusi in un pacchetto?
Ci sono momenti in cui mi ritrovo ad avvicinarmi a dnf
da una prospettiva completamente diversa. A volte, ho già confermato che un'applicazione è installata sul mio sistema; Non riesco proprio a capire come l'ho preso. Altre volte, so di avere un pacchetto specifico installato, ma non sono chiaro esattamente cosa quel pacchetto abbia inserito nel mio sistema.
Se hai bisogno di "reverse engineering" del carico utile di un pacchetto, puoi utilizzare il dnf repoquery
comando insieme a --list
opzione. Questo esamina i metadati del repository su un pacchetto e restituisce un elenco di tutti i file forniti da quel pacchetto:
$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]
Questi elenchi possono diventare lunghi, quindi è utile reindirizzare il comando tramite less
o il tuo cercapersone preferito.
Rimozione di un'applicazione
Se dovessi decidere di non aver più bisogno di un'applicazione installata sul tuo sistema, puoi utilizzare dnf remove
per disinstallarlo, tutti i file che sono stati installati come parte del suo pacchetto e tutte le dipendenze che non sono più necessarie:
$ dnf remove bigapp
A volte, le dipendenze vengono installate con un'app e in seguito vengono ritenute utili da un'altra applicazione installata. Nel caso in cui due pacchetti richiedano la stessa dipendenza, dnf remove
non rimuovere la dipendenza. Non è raro ritrovarsi con un pacchetto randagio qua e là dopo aver installato e disinstallato molte applicazioni. Circa una volta all'anno, eseguo un dnf autoremove
per eliminare eventuali pacchetti inutilizzati:
$ dnf autoremove
Questo non è necessario, ma è un passaggio di pulizia della casa che mi fa sentire meglio con il mio computer.
Conoscere dnf
Più sai come funziona il tuo gestore di pacchetti, più facile sarà per te installare e interrogare le applicazioni quando necessario. Anche se non sei un normale dnf
utente, può essere utile saperlo quando ci si trova ad interfacciarsi con una distribuzione basata su RPM.
Dopo aver conseguito il diploma di yum
, uno dei miei gestori di pacchetti preferiti è dnf
comando. Sebbene non ami tutti i suoi sottocomandi, trovo che sia uno dei sistemi di gestione dei pacchetti più robusti in circolazione. Scarica il nostro dnf
cheat sheet per abituarti al comando e non aver paura di provare nuovi trucchi con esso. Una volta acquisita dimestichezza, potresti trovare difficile utilizzare qualsiasi altra cosa.