I've kerestem a neten ilyen információkat, és különböző parancssorokat találtam, például ezeket:
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*
Szóval, mi a helyes út? Szükséges ezt a "*" -t használni?
Ezek után találtam ezeket a parancsokat is:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
apt-get remove packagename
a csomag packagename
bináris állományait eltávolítja, de a konfigurációs vagy adatfájlokat nem. A telepítéskor vele együtt telepített függőségeket is érintetlenül hagyja.
apt-get purge packagename
vagy apt-get remove --purge packagename
.mindent eltávolít a packagename
csomaggal kapcsolatban, de a telepítéskor telepített függőségeket nem. Mindkét parancs egyenértékű.
Különösen hasznos, ha 'mindent elölről' akarsz kezdeni egy alkalmazással, mert elrontottad a konfigurációt. Nem távolítja el azonban a felhasználók otthoni könyvtáraiban található konfigurációs vagy adatfájlokat, amelyek általában az ottani rejtett mappákban vannak. Nincs egyszerű módja annak, hogy ezeket is eltávolítsuk.
apt-get autoremove
eltávolítja az elárvult csomagokat, azaz a telepített csomagokat, amelyek korábban függőségként voltak telepítve, de már nem. Használja ezt egy olyan csomag eltávolítása után, amelyiknek telepített függőségei már nem érdeklik.
aptitude remove packagename
vagy aptitude purge packagename
(hasonlóképpen)megkísérli eltávolítani azokat a csomagokat is, amelyekre a packagename
-nek szüksége volt, de a többi csomagnak már nincs szüksége. Vegye figyelembe, hogy az aptitude
csak az általa telepített csomagok függőségi információit jegyzi meg.
És még sok más is létezik. Használhatók alacsonyabb szintű dpkg
-parancsok (haladó), vagy GUI eszközök, mint a Muon, Synaptic, Software Center, stb. Nincs egyetlen 'helyes módja' az alkalmazások eltávolításának vagy más, a csomagkezelővel kölcsönhatásban álló feladatok elvégzésének.
Az Ön által talált lista csak példák. Győződjön meg róla, hogy érti a jelentéseket, és próbálja ki, mit akar tenni, mielőtt elfogadja a műveletet (meg kell nyomnia az Y
gombot, mielőtt ténylegesen végrehajtja a javasolt műveleteket).
A kérdésben szereplő asterisk verzió valószínűleg rossz; az apt-get
reguláris kifejezést fogad el, nem pedig glob mintát, mint a shell. Tehát mi történik a
sudo apt-get remove application*
a következő:
A héj megpróbálja kibővíteni az application*
állományokat az aktuális könyvtárban lévő fájlokat keresve. Ha (mint általában) nem talál semmit, akkor változatlanul visszaadja a glob mintát (feltételezve, hogy a bash
alapértelmezett viselkedést használ itt --- az zsh
hibázni fog).
Az apt-get
eltávolítja azokat a csomagokat, amelyek neve tartalmaz egy olyan sztringet, amely megfelel az application*
reguláris kifejezésnek, azaz applicatio
, amelyet egy tetszőleges számú n
követ: applicatio
, application
, applicationn
, libapplicatio
, stb.
Hogy lásd, hogy ez veszélyes lehet, próbáld ki (root nélkül a dupla biztonság kedvéért) az apt-get -s remove "wine*"
(az -s
szimulálja a dolgot, ahelyett, hogy megcsinálná) --- azt fogja mondani, hogy eltávolít minden csomagot, aminek a nevében "win" van, és a függő, szinte az egész rendszert...
Valószínűleg, a parancs, amire gondolt, tényleg a
sudo apt-get remove "^application.*"
(figyeljük meg az idézőjeleket és a pontot), amely eltávolítja az összes olyan csomagot, amelynek a neve application
-vel kezdődik.
Ezek a parancsok,
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.
teljesen kívül esnek a csomagkezelés hatókörén. Ne távolítson el csomagokhoz tartozó fájlokat a csomagkezelő használata nélkül! Össze fog zavarodni, és ez a rossz módja a dolgok elvégzésének.
Ha nem tudja, hogy egy fájl melyik csomaghoz tartozik, próbálja ki a következőt:
dpkg -S /path/to/file
Az esetek 99%-ában nyugodtan használhatja a sudo apt-get remove --purge application
vagy a sudo apt-get remove applications
parancsot. Ha a purge
flaget használod, akkor egyszerűen eltávolítja az összes konfigurációs fájlt is. Ami lehet, hogy az, amit akarsz, de lehet, hogy nem, attól függően, hogy újra akarod-e telepíteni az adott alkalmazást. Az application*
az összes olyan alkalmazással egyezik meg, amely application
-vel kezdődik, amelyek általában az eltávolítandó fő alkalmazás bővítményei, kiegészítő funkciói stb. pl.
sudo apt-get remove gedit*
eltávolítja a gedit
, gedit-plugins
és gedit-common
alkalmazásokat. Általában erre nincs szükség, mert a legtöbb bővítmény/hozzá tartozó program a fő alkalmazástól függ, és automatikusan eltávolításra kerül (vagy eltávolításra jelölve lesz), amikor a fő alkalmazást eltávolítjuk.
Az utolsó parancsod csak az olyan alkalmazások maradványainak eltávolítására szolgál, amelyekről ismert, hogy rendetlen uninstallerrel rendelkeznek, és csak az alkalmazás maradványait távolítja el.
Ez az eltávolítani kívánt alkalmazástól függ. A yes parancs kiadása előtt mindig ellenőrizze a függőségeit. Ha valamit parancssorral távolít el, néha megjelenik egy maréknyi könyvtár, amelyre már nincs szükség. Ezeket az apt-get autoremove segítségével lehet eltávolítani.
Vigyázzon, hogy az olyan parancsok használatával, mint a sudo apt-get remove --purge alkalmazásnév, eltávolíthat néhány olyan függőséget, amelyre más alkalmazásoknak van szükségük, és mint ilyen, tönkreteheti a rendszerét.
Ha biztonságosabb módon szeretné elvégezni, akkor mindig eltávolíthatja csak a szoftverközpont vagy az apt-get remove applicationname segítségével. Ha a függőségekre már nincs szükség, akkor később kiadja az apt-get autoremove-ot.