Non so se esiste un modo migliore (probabilmente esiste), ma a seconda della scala di cui hai bisogno, potresti utilizzare la funzione di ricerca di aptitude per parte del macchinario. Ti consente di cercare pacchetti corrispondenti a un modello. Quindi, aptitude search '~i'
ti dà tutti i pacchetti installati
Dobbiamo fare un passo ulteriore, però. Al gestore dei pacchetti piace sapere quali pacchetti sono stati richiesti direttamente da te e quali sono stati appena inseriti a causa di altri pacchetti. Senza queste informazioni, possono succedere cose brutte. Quindi, possiamo espandere su quel modello di ricerca per selezionare i pacchetti che non vengono installati automaticamente:aptitude search '!~M ~i'
La funzione di ricerca è descritta in dettaglio nel manuale di riferimento di Aptitude .
Ora hai la tua lista di pacchetti da installare. È possibile formattare l'output secondo necessità passando il flag -F a quel comando, come -F '% p' per ottenere un elenco con solo i nomi dei pacchetti.
Ad esempio , potresti eseguirlo sulla macchina 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Quindi copiare il aptshell.sh
file appena creato sulla macchina 2 e utilizzare questo comando sulla macchina 2 per eseguirlo lì:
sudo sh aptshell.sh
Quindi ripetere il processo, con la macchina originale 2 come nuova macchina 1 e la macchina originale 1 come nuova macchina 2 . Ora ogni macchina ha tutti i pacchetti che prima erano solo sull'altra.