Ich habe im Netz nach solchen Informationen gesucht und verschiedene Befehlszeilen, wie diese, gefunden:
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*
Was ist also der richtige Weg? Ist es notwendig, dieses "*" zu verwenden?
Danach habe ich auch diese Befehle gefunden:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
apt-get remove packagename
entfernt die Binärdateien, aber nicht die Konfigurations- oder Datendateien des Pakets packagename
. Es wird auch Abhängigkeiten, die bei der Installation mit installiert wurden, unberührt lassen.
apt-get purge packagename
oder apt-get remove --purge packagename
entfernt alles, was mit dem Paket packagename
zu tun hat, aber nicht die Abhängigkeiten, die bei der Installation mit installiert wurden. Beide Befehle sind gleichwertig.
Besonders nützlich, wenn Sie mit einer Anwendung von vorne anfangen wollen, weil Sie die Konfiguration durcheinander gebracht haben. Es entfernt jedoch keine Konfigurations- oder Datendateien, die sich in den Home-Verzeichnissen der Benutzer befinden, normalerweise in versteckten Ordnern. Es gibt keine einfache Möglichkeit, diese ebenfalls zu entfernen.
apt-get autoremove
entfernt verwaiste Pakete, d.h. installierte Pakete, die früher als Abhängigkeit installiert waren, es aber nicht mehr sind. Verwenden Sie dies, nachdem Sie ein Paket entfernt haben, das Abhängigkeiten installiert hatte, an denen Sie nicht mehr interessiert sind.
aptitude remove packagename
oder aptitude purge packagename
(ebenfalls)wird auch versuchen, andere Pakete zu entfernen, die von packagename
benötigt wurden, aber von keinem der verbleibenden Pakete benötigt werden. Beachten Sie, dass aptitude
sich nur Abhängigkeitsinformationen für Pakete merkt, die es installiert hat.
Und es gibt noch viele mehr. Untergeordnete dpkg
-Befehle können verwendet werden (fortgeschritten), oder GUI-Tools wie Muon, Synaptic, Software Center, etc. **Es gibt keinen einzigen "richtigen" Weg, um Anwendungen zu entfernen oder andere Aufgaben im Zusammenhang mit der Paketverwaltung auszuführen.
Die Liste, die Sie gefunden haben, ist nur ein Beispiel. Vergewissern Sie sich, dass Sie die Bedeutung verstehen und probieren Sie aus, was es tun soll, bevor Sie die Aktion akzeptieren (Sie müssen Y
drücken, bevor es die vorgeschlagenen Aktionen tatsächlich ausführt).
Die Version mit Sternchen in der Frage ist wahrscheinlich falsch; apt-get
akzeptiert einen regulären Ausdruck und nicht ein glob-Muster als Shell. Was passiert also mit
sudo apt-get remove application*
ist das Folgende:
Die Shell versucht, application*
zu expandieren, indem sie die Dateien im aktuellen Verzeichnis durchsucht. Wenn sie (wie es normalerweise der Fall ist) nichts findet, gibt sie das glob-Muster unverändert zurück (unter der Annahme, dass bash
hier das Standardverhalten anwendet --- zsh
wird einen Fehler machen).
apt-get
wird die Pakete entfernen, deren Name eine Zeichenkette enthält, die den regulären Ausdruck application*
erfüllt, d.h. applicatio
gefolgt von einer beliebigen Anzahl von n
: applicatio
, application
, applicationn
, libapplicatio
, etc.
Um zu sehen, wie gefährlich das sein kann, versuchen Sie (ohne Root zur doppelten Sicherheit) apt-get -s remove "wine*"
(-s
simuliert die Sache, anstatt sie zu tun) --- es wird sagen, dass es alle Pakete entfernen wird, die "win" in ihrem Namen haben und die abhängigen, fast das gesamte System...
Wahrscheinlich ist der Befehl, der gemeint war, wirklich
sudo apt-get remove "^application.*"
(beachten Sie die Anführungszeichen und den Punkt), der alle Pakete entfernt, deren Name mit application
beginnt.
Diese Befehle,
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.
liegen völlig außerhalb des Bereichs der Paketverwaltung. Entfernen Sie keine Dateien, die zu Paketen gehören, ohne die Paketverwaltung zu benutzen! Das führt zu Verwirrung und ist der falsche Weg, Dinge zu tun.
Wenn Sie nicht wissen, zu welchem Paket eine Datei gehört, versuchen Sie dies:
dpkg -S /path/to/file
Sie können in 99% der Fälle sudo apt-get remove --purge application
oder sudo apt-get remove applications
verwenden. Wenn Sie das purge
-Flag verwenden, werden einfach auch alle Konfigurationsdateien entfernt. Das kann, muss aber nicht das sein, was Sie wollen, je nachdem, ob Sie die Anwendung neu installieren wollen. Das application*
passt zu allen Anwendungen, die mit application
beginnen, was normalerweise Plugins, zusätzliche Funktionen, etc. der Hauptanwendung sind, die Sie entfernen.
sudo apt-get remove gedit*
würde gedit
, gedit-plugins
und gedit-common
entfernen. Normalerweise ist es nicht notwendig, dies zu tun, da die meisten Plugins/Programme von der Hauptanwendung abhängig sind und automatisch entfernt werden (oder zum Entfernen markiert werden), wenn Sie die Hauptanwendung deinstallieren.
Der letzte Befehl dient nur dazu, Überbleibsel von Anwendungen zu entfernen, die bekanntermaßen schwer zu deinstallieren sind, und entfernt lediglich alle Reste der Anwendung.
Dies hängt von der Anwendung ab, die Sie entfernen möchten. Überprüfen Sie immer die Abhängigkeiten, bevor Sie den Befehl yes eingeben. Wenn Sie etwas per Kommandozeile entfernen, werden manchmal eine Handvoll Bibliotheken angezeigt, die nicht mehr benötigt werden. Diese können mit apt-get autoremove entfernt werden.
Beachten Sie, dass durch Befehle wie sudo apt-get remove --purge applicationname einige Abhängigkeiten entfernt werden können, die von anderen Anwendungen benötigt werden und somit Ihr System beschädigen können.
Wenn Sie es auf die sicherere Art und Weise machen wollen, können Sie es immer nur über das Software Center oder apt-get remove applicationname entfernen. Wenn die Abhängigkeiten nicht mehr benötigt werden, führen Sie später apt-get autoremove aus.