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)
557
3
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
ofapt-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
ofaptitude 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 dataptitude
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 metis het volgende:
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 datbash
zich hier standaard gedraagt ---zsh
zal een foutmelding geven).apt-get
zal de pakketten verwijderen waarvan de naam een string bevat die voldoet aan de reguliere expressieapplication*
, dat wil zeggen,applicatio
gevolgd door een willekeurig aantaln
:applicatio
,application
,applicationn
,libapplicatio
, enz.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
(let op de aanhalingstekens en de punt) die alle pakketten zal verwijderen waarvan de naam begint met
application
.Deze commando's,
Je kunt veilig
sudo apt-get remove --purge application
ofsudo apt-get remove applications
gebruiken 99% van de tijd. Wanneer je depurge
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. Deapplication*
zal overeenkomen met alle applicaties die beginnen metapplication
, wat meestal plugins, extra mogelijkheden, etc zijn van de hoofdapplicatie die je verwijdert. bijv.zou
gedit
,gedit-plugins
engedit-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.
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.