Użyłem jednego serwera Linux z zainstalowanym CentOS7 do testowania i instalowania niektórych narzędzi. A teraz nie pamiętam, ile pakietów zainstalowałem.
Chcę usunąć wszystkie te pakiety, aby mój serwer był jak nowy. Nie chcę wyszukiwać każdej paczki i usuwać pojedynczo. Czy istnieje sposób ich usunięcia za pomocą tylko jednego polecenia?
linux
package-management
command
Jeden
źródło
źródło
/var/log/yum.log
może być pomocne, wyświetla zarówno nazwę pakietu, jak i znacznik czasu. O ile widzę, nie wyświetla pakietów dodanych podczas początkowych instalacji.sudo yum remove $(gawk '$0 ~ /Installed/ {printf "%s ", $NF}' /var/log/yum.log)
Odpowiedzi:
Wyświetl wszystkie pliki w odwrotnej kolejności od daty instalacji do pliku:
Dostaniesz takie linie
Wybierz datę graniczną, która Cię dotyczy, i usuń wszystkie następujące po niej linie. Daj pozostałym wierszom yum do usunięcia, po usunięciu części daty. Na przykład
źródło
Możesz także wypróbować
yum history
i zazwyczaj otrzymujesz numerowaną listę zainstalowanych programów, takich jak:i możesz później użyć
yum history undo 3
na przykład.Więcej szczegółów na temat historii yum tutaj .
źródło
Aby wycofać wszystkie transakcje historii, możesz użyć poniższego linku:
Zachowaj ostrożność podczas uruchamiania tego polecenia, ponieważ spowoduje to usunięcie wszystkich zainstalowanych pakietów! Jeśli chcesz potwierdzić, możesz usunąć flagę -y.
źródło