Nie wiem, czy istnieje lepszy sposób (prawdopodobnie istnieje), ale w zależności od potrzebnej skali możesz użyć funkcji wyszukiwania aptitude dla części maszyny. Pozwala wyszukiwać pakiety pasujące do wzorca. Więc aptitude search '~i'
daje wszystkie zainstalowane pakiety
Musimy jednak pójść o krok dalej. Menedżer pakietów lubi wiedzieć, które pakiety zostały bezpośrednio przez ciebie zamówione, a które właśnie ściągnięte z powodu innych pakietów. Bez tych informacji mogą się zdarzyć brzydkie rzeczy. Możemy więc rozwinąć ten wzorzec wyszukiwania, aby wybrać pakiety, które nie są automatycznie instalowane:aptitude search '!~M ~i'
Funkcja wyszukiwania została szczegółowo opisana w podręczniku użytkownika Aptitude .
Teraz masz swoją listę pakietów do zainstalowania. W razie potrzeby możesz sformatować dane wyjściowe , przekazując do tego polecenia flagę -F, na przykład -F '% p', aby uzyskać listę zawierającą tylko nazwy pakietów.
Na przykład możesz uruchomić to na komputerze 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
Następnie skopiuj nowo utworzony aptshell.sh
plik na komputer 2 i użyj tego polecenia na komputerze 2, aby go uruchomić:
sudo sh aptshell.sh
Następnie powtórz proces z oryginalną maszyną 2 jako nową maszyną 1 , a oryginalną maszyną 1 jako nową maszyną 2 . Teraz każda maszyna ma wszystkie pakiety, które wcześniej były tylko na drugiej.