Szukałem w sieci takich informacji i znalazłem różne linie poleceń, takie jak te:
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
Więc, jaka jest właściwa droga? Czy konieczne jest użycie tego "*"?
Po tym, znalazłem również te komendy:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
apt-get remove packagename
.usunie binarki, ale nie pliki konfiguracyjne lub pliki danych pakietu packagename
. Pozostawi również nietknięte zależności zainstalowane razem z nim w czasie instalacji.
apt-get purge packagename
lub apt-get remove --purge packagename
.usunie wszystko dotyczące pakietu packagename
, ale nie zależności zainstalowane wraz z nim podczas instalacji. Obie komendy są równoważne.
Szczególnie przydatne, gdy chcesz 'zacząć wszystko od nowa' z aplikacją, ponieważ zepsułeś konfigurację. Jednakże, nie usuwa konfiguracji lub plików danych rezydujących w katalogach domowych użytkowników, zwykle w ukrytych folderach tam. Nie ma łatwego sposobu, aby uzyskać te usunięte, jak również.
apt-get autoremove
usuwa osierocone pakiety, tj. zainstalowane pakiety, które kiedyś były zainstalowane jako zależność, ale już nie są. Użyj tego po usunięciu pakietu, który miał zainstalowane zależności, którymi nie jesteś już zainteresowany.
aptitude remove packagename
lub aptitude purge packagename
(podobnie)będą również próbować usunąć inne pakiety, które były wymagane przez packagename
, ale nie są wymagane przez pozostałe pakiety. Zauważ, że aptitude
pamięta tylko informacje o zależnościach dla pakietów, które zainstalował.
A istnieje wiele innych. Niższego poziomu polecenia dpkg
mogą być użyte (zaawansowane), lub narzędzia GUI jak Muon, Synaptic, Centrum Oprogramowania, itp. Nie ma jednego 'prawidłowego sposobu' usuwania aplikacji lub wykonywania innych zadań związanych z zarządzaniem pakietami.
Lista, którą znalazłeś, to tylko przykłady. Upewnij się, że rozumiesz ich znaczenie i wypróbuj, co chce zrobić, zanim zaakceptujesz działanie (musisz nacisnąć Y
, zanim faktycznie wykona proponowane działania).
Wersja z gwiazdką w pytaniu jest prawdopodobnie błędna; apt-get
akceptuje wyrażenie regularne, a nie wzorzec globali jak powłoka. Więc co się stanie z
sudo apt-get remove application*
jest następujące:
Powłoka próbuje rozwinąć aplikacja*
szukając plików w bieżącym katalogu. Jeśli (jak to zwykle bywa) nic nie znajdzie, zwraca niezmieniony wzorzec globalny (zakładając, że bash
zachowuje się tu domyślnie --- zsh
popełni błąd).
apt-get
usunie pakiety których nazwa zawiera łańcuch spełniający wyrażenie regularne aplikacja*
, to jest aplikacja
po którym następuje dowolna liczba n
: aplikacja
, aplikacja
, aplikacjan
, libaplikacja
, itd.
Aby zobaczyć jak to może być niebezpieczne, spróbuj (bez roota dla podwójnego bezpieczeństwa) apt-get -s remove "wine*"
(-s
będzie symulować rzecz zamiast ją robić) --- to powie że usunie wszystkie pakiety które mają "win" w nazwie i zależne, prawie cały system...
Prawdopodobnie, komenda, którą miał na myśli jest naprawdę
sudo apt-get remove "^application.*"
(zwróć uwagę na cudzysłów i kropkę), która usunie wszystkie pakiety, których nazwa zaczyna się od application
.
Te komendy,
sudo updatedb # <-- updates the locate database (index). harmless
sudo locate application # <-- locates the file 'application'. harmless
sudo rm -rf (file/folder name) # <-- removes files/dirs recursively. dangerous.
są całkowicie poza zakresem zarządzania pakietami. Nie usuwaj plików należących do pakietów bez użycia menedżera pakietów! To może spowodować zamieszanie i jest to nieprawidłowy sposób robienia rzeczy.
Jeśli nie wiesz, do którego pakietu należy plik, spróbuj tego:
dpkg -S /path/to/file
Możesz bezpiecznie używać sudo apt-get remove --purge application
lub sudo apt-get remove applications
przez 99% czasu. Kiedy używasz flagi purge
, to po prostu usuwa wszystkie pliki konfiguracyjne też. Co może, ale nie musi być tym, czego chcesz, w zależności od tego, czy chcesz ponownie zainstalować daną aplikację. The application*
będzie pasować do wszystkich aplikacji, które zaczynają się od application
, które są zazwyczaj wtyczkami, dodatkowymi funkcjami, itp. głównej aplikacji, którą usuwasz. tj.
sudo apt-get remove gedit*
usunie gedit
, gedit-plugins
i gedit-common
. Zazwyczaj nie jest to konieczne, ponieważ większość wtyczek/programów towarzyszących jest zależna od głównej aplikacji i zostaną one automatycznie usunięte (lub oznaczone do usunięcia) kiedy odinstalujesz główną aplikację.
Twoje ostatnie polecenie jest tylko do usuwania pozostałości po aplikacjach, które są znane z niechlujnych deinstalatorów, i jest to tylko usuwanie wszelkich pozostałości po aplikacji.
Zależy to od aplikacji, którą chcesz usunąć. Zawsze upewnij się, że sprawdziłeś jej zależności przed wydaniem polecenia yes. Kiedy usuwasz coś za pomocą wiersza poleceń, czasami wyświetli się garść bibliotek, które nie są już potrzebne. Mogą one zostać usunięte za pomocą apt-get autoremove.
Uważaj, że używając komend takich jak sudo apt-get remove --purge nazwa aplikacji może usunąć niektóre zależności, które są potrzebne dla innych aplikacji i jako takie mogą uszkodzić system.
Jeśli chcesz to zrobić w bezpieczniejszy sposób, zawsze możesz usunąć je używając tylko centrum oprogramowania lub apt-get remove applicationname. Jeśli te zależności nie są już potrzebne, wydaj apt-get autoremove później.