Wat is de juiste manier om een toepassing volledig te verwijderen?

Ik'heb het net afgezocht naar zulke informatie en vond verschillende commandoregels, zoals deze:

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*

Dus, wat is de juiste manier? Is het nodig om die "*" te gebruiken?

Daarna vond ik ook deze commando's:

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
  • apt-get remove packagename

zal de binaries verwijderen, maar niet de configuratie of data bestanden van het pakket packagename. Het zal ook de afhankelijkheden die mee geïnstalleerd zijn tijdens de installatie ongemoeid laten.

  • apt-get purge packagename of apt-get remove --purge packagename

zal ongeveer alles van het pakket packagename verwijderen, maar niet de afhankelijkheden die er tijdens de installatie mee geïnstalleerd waren. Beide commando's zijn gelijkwaardig.

Vooral handig als je helemaal opnieuw wilt beginnen met een applicatie omdat je de configuratie verknoeid hebt. Het verwijdert echter geen configuratie- of gegevensbestanden die zich in de homedirectories van gebruikers bevinden, meestal in verborgen mappen daar. Er is geen gemakkelijke manier om die ook te verwijderen.

  • apt-get autoremove

verwijdert verweesde pakketten, d.w.z. geïnstalleerde pakketten die vroeger als afhankelijkheid geïnstalleerd waren, maar dat nu niet meer zijn. Gebruik dit na het verwijderen van een pakket dat geïnstalleerde afhankelijkheden had waar u'niet langer in geïnteresseerd bent.

  • aptitude remove packagename of aptitude purge packagename (op dezelfde manier)

zal ook proberen om andere pakketten te verwijderen die nodig waren voor packagename, maar die niet nodig zijn voor andere pakketten. Merk op dat aptitude alleen afhankelijkheidsinformatie onthoudt voor pakketten die het zelf heeft geïnstalleerd.

En er bestaan er nog veel meer. Lagere dpkg-commando's kunnen worden gebruikt (geavanceerd), of GUI-tools zoals Muon, Synaptic, Software Center, enz. Er's geen enkele 'correcte manier' om applicaties te verwijderen of andere taken uit te voeren die interageren met uw pakketbeheer.

De lijst die je hebt gevonden zijn slechts voorbeelden. Zorg ervoor dat u de betekenissen begrijpt en probeer uit wat het wil doen voordat u de actie accepteert (u moet op Y drukken voordat het daadwerkelijk de acties uitvoert zoals voorgesteld).

De asterisk versie in de vraag is waarschijnlijk fout; apt-get accepteert een reguliere expressie en niet een glob patroon als de commandoregel. Dus wat gebeurt er met

sudo apt-get remove application*

is het volgende:

  1. De shell probeert application* uit te breiden, kijkend naar de bestanden in de huidige directory. Als (zoals normaal het geval is) niets wordt gevonden, wordt het glob pattern ongewijzigd geretourneerd (in de veronderstelling dat bash zich hier standaard gedraagt --- zsh zal een foutmelding geven).

  2. apt-get zal de pakketten verwijderen waarvan de naam een string bevat die voldoet aan de reguliere expressie application*, dat wil zeggen, applicatio gevolgd door een willekeurig aantal n: applicatio, application, applicationn, libapplicatio, enz.

  3. Om te zien hoe gevaarlijk dit kan zijn, probeer (zonder root voor dubbele veiligheid) apt-get -s remove "wine*" (-s zal het ding simuleren in plaats van het te doen) --- het zal zeggen dat het alle pakketten gaat verwijderen die "win" in hun naam hebben en de afhankelijke, bijna het hele systeem...

Waarschijnlijk, het commando dat bedoeld werd is eigenlijk

 sudo apt-get remove "^application.*"

(let op de aanhalingstekens en de punt) die alle pakketten zal verwijderen waarvan de naam begint met application.

Deze commando's,


sudo updatedb                  # 
Commentaren (9)

Je kunt veilig sudo apt-get remove --purge application of sudo apt-get remove applications gebruiken 99% van de tijd. Wanneer je de purge vlag gebruikt, verwijdert het gewoon ook alle configuratie bestanden. Wat wel of niet kan zijn wat je wilt, afhankelijk van of je de applicatie opnieuw wilt installeren. De application* zal overeenkomen met alle applicaties die beginnen met application, wat meestal plugins, extra mogelijkheden, etc zijn van de hoofdapplicatie die je verwijdert. bijv.

sudo apt-get remove gedit*

zou gedit, gedit-plugins en gedit-common verwijderen. Meestal is het niet nodig om dit te doen, omdat de meeste plugins/geassocieerde programma's afhankelijk zijn van de hoofdapplicatie, en automatisch worden verwijderd (of gemarkeerd voor verwijdering) wanneer u de hoofdapplicatie verwijdert.

Uw laatste commando is alleen om restjes te verwijderen van applicaties waarvan bekend is dat ze rommelige uninstallers hebben, en het is gewoon het verwijderen van overblijfselen van de applicatie.

Commentaren (0)

Het hangt af van de toepassing die u wilt verwijderen. Controleer altijd de afhankelijkheden voordat u het commando ja geeft. Wanneer je iets verwijdert via de commandoregel, zal het soms een handvol bibliotheken tonen die niet langer nodig zijn. Deze kunnen worden verwijderd met apt-get autoremove.

Let op dat het gebruik van commando's zoals sudo apt-get remove --purge applicationname sommige afhankelijkheden kan verwijderen die nodig zijn voor andere applicaties en als zodanig je systeem kan breken.

Als je het op de veiligere manier wilt doen, kun je het altijd verwijderen met alleen het softwarecentrum of apt-get remove applicationname. Als de afhankelijkheden niet meer'nodig zijn, gebruik dan apt-get autoremove later.

Commentaren (1)