Jak utworzyć listę wszystkich aplikacji, które zostały zainstalowane ręcznie?

10

Korzystam z Fedory i chciałbym mieć wszystkie nazwy pakietów na liście, ale tylko te, które sam zainstalowałem, a nie te domyślne.

78c32b76b8368b2
źródło
Spróbuj spojrzeć na yum.logplik, powinien on mieć historię zainstalowanych pakietów. Uważam jednak, że obejmuje to również wszystkie zależności. Myślę, że to jest zlokalizowane na /var/log/yum.log.
Pan Shickadance,
Po prostu do Twojej wiadomości, dodałem prośbę o dodanie funkcji DNF, aby uwzględnić ten przypadek użycia. DNF faktycznie śledzi te informacje, ale o ile wiem, nie ma interfejsu do ich wyświetlania. bugzilla.redhat.com/show_bug.cgi?id=1278124
mattdm

Odpowiedzi:

6

To trudne, ponieważ jeśli chodzi o RPM, nie ma dużej różnicy między pakietami, które anakonda zainstalowała w ramach instalacji, a tymi, które zainstalowałeś od tego czasu. Rzeczywiście, jeśli dostosowałeś wybór pakietu podczas instalacji, to sama wiedza o tym, co zostało zainstalowane później, nie pomaga wiedzieć, jakie dostosowania należy zastosować.

Możesz użyć, yum historyaby uzyskać dostęp do historii i zobaczyć, kiedy pakiety zostały zainstalowane, ale obejmie to wszelkie aktualizacje pakietów zainstalowanych w czasie instalacji.

Inną techniką byłoby wygenerowanie listy zaraz po zainstalowaniu, na przykład:

rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > base.list

potem możesz wygenerować nową listę:

rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > new.list

następnie użyj, commaby znaleźć różnice:

comm -13 base.list new.list

ale jest to bardzo kłopotliwe i nie jestem pewien, czy warto zapisywać, co jest zainstalowane w celu tworzenia kopii zapasowych.

Jeśli tego właśnie chcesz, po prostu wygeneruj listę za pomocą powyższego polecenia, a następnie możesz spróbować zainstalować te pakiety na nowo zainstalowanym komputerze za pomocą:

yum install `cat package.list`

i po prostu zignoruje wszystko, co jest już zainstalowane.

TomH
źródło
to działa jak urok!
sergiofbsilva