[RISOLTO] elenco pacchetti installati per nuova installazione

salve
Ho modificato l’hardware e quindi necessito di una installazione da zero (non quella di default con LVM, bensì quella “vecchio stile”), mentre di solito passavo di versione tramite system-upgrade.

Ora il problema è che non ricordo proprio TUTTI i pacchetti che ho installato via via. Dunque la domanda è: c’è modo di averne un elenco, tirandolo fuori da qualche parte dove sia già archiviato per esigenze di sistema, senza costringermi a ricopiarlo a manina?

Mi viene in mente che quando si utilizza il comando # dnf install XYZ Fedora andrà prima a cercare se XYZ sia già presente in qualcosa che secondo la mia inesperta opinione dovrebbe assomigliare a una lista (interna).
Analogamente, quando chiedo di visualizzare in grafica quali siano le applicazioni installate, il sistema andrà a ricuperarne un elenco da qualche parte, cioè deve già averlo, non si mette a crearlo all’istante.

Allora per me sarebbe molto comodo sapere dove è archiviato, per poi utilizzarlo nel fresh install, azzerando praticamente il rischio di dimenticare qualche pacchetto.

Spero che il quesito sia chiaro e sappiate rispondermi.

Grazie a tutt* e buon proseguimento

Ciao

Penso che i vecchi sistemi vadano sempre bene.

rpm -qa | sort > pacchetti.txt

Il problema è che genera l’elenco completo che può essere molto lungo e va poi ripulito.

Ciao Ciao, Moreno

# dnf history userinstalled

:wink:

grazie a Moreno e frafra per le risposte :clap:
Tanto per rendermi utile alla comunità, preciso che effettivamente i due comandi generano elenchi abbastanza diversi.

rpm -qa | sort > pacchetti.txt elenca effettivamente TUTTI i pacchetti presenti nella macchina: nel mio caso sono 69 pagine di 52 righe ciascuna (!). Per dire, ci sono TUTTI i file che iniziano con “kf5…” (sì, adopero KDE), “libs…” e “perl…”. Del resto Moreno l’aveva scritto chiaramente…

Quello più semplice/gestibile è dunque # dnf history userinstalled perché è più breve (sempre nel mio caso, sono “soltanto” 308 righe) e credo riporti solamente i programmi ottenuti tramite un # dnf install package-name
In altri termini, non dovrebbero esserci le dipendenze, ma non è un problema, dato che comunque in una fase di reinstallazione quei files se le porterebbero dietro, cioè dentro la macchina. O no??? :gratt:

Ultima osservazione (per i meno esperti): ovviamente anche il comando # dnf history userinstalled può essere reindirizzato nella cartella dove poi sia più comodo esaminarlo: ad esempio # dnf history userinstalled > ~/Scrivania/elenco-pacchetti.txt dove ~ sintetizza il percorso della vostra home (p.es. /home/tuonome/ ).
NB: Sono importanti gli slash, per evitare di “perdersi” il file generato. In entrambi i casi il sistema impiega qualche secondo a fornire la risposta, data la mole di dati che deve selezionare e ordinare: pazientate e avrete quello che cercate :smiley:

Aggiungo che

$ rpm -qa | sort

genera l’elenco dei pacchetti, comprensivi della versione, e non è quindi utilizzabile per reinstallare i programmi che nel frattempo vengono aggiornati nei repository. Per esempio:

dnf-2.7.5-2.fc27.noarch

Al contrario,

rpm -qa --queryformat "%{NAME}\n" | sort | uniq

genera un elenco “pulito” dei pacchetti installati: per esempio

dnf

Questo elenco può essere usato per reinstallare sulla stessa macchina, ma va usato con cautela se la nuova installazione è su un altro PC: si rischia, per fare un esempio, di installare i driver proprietari Nvidia su una macchina con scheda Ati. In ogni caso, salvarsi l’elenco in un file txt (a futura memoria) male non fa.

grazie anche alle tue precisazioni :slight_smile:
un piccolo chiarimento: nel caso esaminato in precedenza, occorre dunque sostituire alla variabile "%{NAME}\n" il nome del comando, cioè dnf, giusto?
Anzi, no, mi produce un file pieno di “dnf” e basta… :doc:

No, no, non devi sostituire nulla. --queryformat “%{NAME}\n” vuol dire che il formato dell’output deve essere il nome del programma, seguito da a capo. Nell’output troverai l’elenco completo dei pacchetti. Dnf era solo una riga dell’output.

$ man rpm | egrep -A68 "queryformat QUERYFMT$"

grazie, buono a sapersi (e molto utile…).
A chi interessa (per confronto con l’esito degli altri comandi): ha generato un file di soli nomi, elencati in 3133 righe :eeek: