GNU/Linux >> Linux Esercitazione >  >> Linux

Gestori di pacchetti Linux:dnf vs apt

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.


Linux
  1. Gestione pacchetti Linux con apt

  2. 5 motivi per utilizzare i gestori di pacchetti Linux

  3. L'evoluzione dei gestori di pacchetti

  4. Spiegazione di APT Package Manager su Linux

  5. Gestori di pacchetti non root?

Come usare pkgsrc su Linux

Come usare apt Package Manager su Ubuntu Linux

Come installare un pacchetto RPM su RHEL 8 / CentOS 8 Linux

apt Comando in Linux

Comando RPM in Linux

15 esempi di comandi apt in Ubuntu / Debian Linux