Mi a helyes módja annak, hogy teljesen eltávolítsuk az alkalmazást?

483

Az ilyen információkat a neten kerestem, és különböző parancssort találtam, mint például ezek:

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 a "*" használatára?

Ezt követően megtaláltam ezeket a parancsokat is:

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
    
készlet user48949 14.09.2012 23:54
forrás

8 válasz

647
  • apt-get remove packagename

    eltávolítja a bináris fájlokat, de nem apackagename csomagot tartalmazó konfigurációs vagy adatfájlokat. Ezzel együtt a telepítési idővel érintetlenül hagyja a függőséget.

  • apt-get purge packagename vagyapt-get remove --purge packagename

    eltávolítja az mindent apackagename csomagot illetően, de nem a telepítés során telepített függőségeket. Mindkét parancs egyenértékű.

    Különösen akkor hasznos, ha egy alkalmazással "elkezdeni" az egészet, mert összetörte a konfigurációt. Azonban nem távolítja el a felhasználói home könyvtárakban található konfigurációs vagy adatfájlokat, általában rejtett mappákban. Nem könnyű az eltávolításhoz is.

  • apt-get autoremove

    eltávolítja az árva nélküli csomagokat, azaz olyan telepített csomagokat, amelyeket függőlegesen telepítettek, de már nem. Használja ezt a csomagot, ha olyan csomagot távolított el, amely telepítette a függőségeket, amelyekre Ön már nem érdekli.

  • aptitude remove packagename vagyaptitude purge packagename (hasonlóképpen)

    megpróbálja eltávolítani apackagename on által kért egyéb csomagokat is, de nincsenek megmaradt csomagok. Ne feledje, hogy aaptitude csak a telepített csomagok függőségi adatait ismeri fel.

És még sok más létezik. Alacsonyabb szintűdpkg -komponensek használhatók (haladó) vagy GUI eszközök, mint a Muon, a Synaptic, a Software Center stb. Nincsenek egyetlen "helyes út" az alkalmazások eltávolításában vagy más feladatok végrehajtásában, amelyek kölcsönhatásban vannak a csomagkezeléssel .

A talált lista csak példák. Győződjön meg róla, hogy megértette a jelentéseket és kipróbálja, hogy mit szeretne tenni a művelet elfogadása előtt (nyomja meg aY gombot, mielőtt végrehajtja a javasolt műveleteket.)

A kérdés csillag karaktere valószínűleg rossz ; A (z)apt-get elfogadja a szabályos kifejezést, és nem glob minta, mint a shell. Tehát mi történik a

-nel
sudo apt-get remove application*

a következő:

  1. A shell megpróbálja kiterjeszteniapplication* -ot az aktuális könyvtár aktuális fájljairól. Ha (mint általában a helyzet) nem talál semmit, akkor a glob minta változatlan marad (feltételezvebash az alapértelmezett viselkedéssel itt ---zsh hiba lesz).

  2. A (z)apt-get eltávolítja azokat a csomagokat, amelyek neve egy stringet tartalmaz , amely megfelel aapplication* szabályos kifejezésnek, vagyisapplicatio, amelyet tetszőlegesn applicatio,application,applicationn,libapplicatio, stb.

  3. Ahhoz, hogy lássuk, hogy ez veszélyes lehet, próbálkozz (gyökér nélkül a kettős biztonság érdekében)apt-get -s remove "wine*" (-s szimulálja a dolgot ahelyett, hogy csinálná) --- azt fogja mondani, amelyik "nyer" a nevükben és a függő, szinte az egész rendszerben ...

Valószínűleg a szóban forgó parancs valójában

 sudo apt-get remove "^application.*"

(vegye figyelembe az idézőjeleket és a pontot), amely eltávolítja az összes csomagot, amelynek neveapplication -ban 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ítsa el a csomagokhoz tartozó fájlokat a csomagkezelő használata nélkül! Ez zavaros lesz, és az rossz módja a dolgoknak.

Ha nem tudja, melyik csomaghoz tartozik egy fájl, próbáld ki ezt:

dpkg -S /path/to/file
    
válasz adott gertvdijk 15.09.2012 00:04
forrás
94

Ubuntu 12.04 és talán magasabb, a helyes módszer:

sudo apt-get --purge autoremove packagename

Részletes itt .

Ne használja apackagename* -ot, mert törölheti a nem szándékolt csomagokat, és több problémát okozhat, mint amennyit megold. Vagy legalább a-s,--simulate,--dry-run zászlóval kell futtatnia, hogy pontosan mit fog csinálni, anélkül, hogy ezt elvégezné.

    
válasz adott Kurtosis 20.11.2013 21:01
forrás
17

Ezt a parancsot használhatja:

sudo apt-get purge --auto-remove packagename

A szükséges csomagokat az adott csomagokkal telepített függőségekkel törli. A (z)--auto-remove (autoremove) alias a (z)sudo apt-get autoremove -hoz hasonlóan működik. A parancs használatával egyetlen parancsot futtathatunk:

sudo apt-get purge --auto-remove packagename

Ahelyett, hogy:

sudo apt-get purge packagename
sudo apt-get autoremove
    
válasz adott pl_rock 16.09.2015 22:08
forrás
7

Biztonságosan használhatja az idősudo apt-get remove --purge application vagysudo apt-get remove applications 99% -át. Apurge flag használata esetén egyszerűen eltávolítja az összes konfigurációs fájlt is. Attól függően, hogy melyik lehet vagy nem az, amit akarsz, attól függően, hogy újra szeretné-e telepíteni az alkalmazást. A (z)application* minden olyan alkalmazáshoz illeszkedik, amely aapplication -al kezdődik, amelyek általában az eltávolítandó fő alkalmazás pluginjei, további jellemzői stb. azaz

sudo apt-get remove gedit*

eltávolítaná agedit, agedit-plugins és agedit-common. Általában nem szükséges ezt elvégezni, mivel a legtöbb plugin / társított program az alapalkalmazástól függ, és automatikusan eltávolításra kerül (vagy eltávolításra kerül) a fő alkalmazás eltávolításakor.

Az utolsó parancs csak azokra az alkalmazásokra hagyja el a maradékokat, amelyekről ismert, hogy rendetlen eltávolító eszközök vannak, és csak eltávolítja az alkalmazás maradványait.

    
válasz adott reverendj1 15.09.2012 00:05
forrás
5

Van egy kis hibaüzenet a csomag eltávolításával kapcsolatban, csak azt találtam, hogy működött:

mv /var/lib/dpkg/info/package.* /tmp/
dpkg --remove --force-remove-reinstreq package

Úgy találtam, hogy csak

dpkg --remove --force-remove-reinstreq package

nem távolítja el a csomagot, amelyen megmutatja nekem a fájl helyes elérési útját:

mv /var/lib/dpkg/info/package.* /tmp/

Helyettesíti a csomagot az alkalmazás nevével. Használja a sudo-t az Ubuntu-ban, gyökérödjön a Debianban.

    
válasz adott DangerFireBob 26.02.2015 10:26
forrás
3

Ezt a parancsot az interneten találtam.

dpkg --purge --force-depends application

link .

    
válasz adott vrcmr 15.09.2012 00:10
forrás
1

Az eltávolítani kívánt alkalmazástól függ. Mindig győződjön meg róla, hogy ellenőrizze a függőségeket, mielőtt kiadja az igen parancsot. Ha valamit eltávolít parancssorból, néha néhány olyan könyvtárt jelenít meg, amelyekre már nincs szükség. Ezek eltávolíthatók apt-get autoremove segítségével.

Vigyázni kell arra, hogy olyan parancsok használatával, mint a sudo apt-get remove --purge alkalmazásnév eltávolíthatja azokat a függőségeket, amelyekre más alkalmazások is szükségessé válnak, és ily módon megszakíthatják a rendszert.

Ha biztonságosabb módon szeretné ezt csinálni, akkor mindig eltávolíthatja azt csak a szoftverközponttal vagy apt-get remove applicationname alkalmazással. Ha a függőségekre már nincs szükség, add ki apt-get autoremove-t később.

    
válasz adott gustavokrm 15.09.2012 00:10
forrás
1

Csak tisztázni akartam egy dolgot, ami itt zavaros forrást jelent. Adpkg segédprogram nem ismeri a csomagok függőségét egymáshoz képest, vagy követi nyomon, ami nagy oka volt, hogy aapt fejlesztés szerintem hiszem. Erről az oldalról olvashatsz a 8.6 fejezetben. A Debian GNU / Linux GYIK - A Debian csomagkezelő eszközök

  • Apt: Ha az A csomagot akartam kitisztítani, és függőséggel rendelkezik úgynevezett B csomag, és a B csomagnak nincs más függő csomagja az A és B csomagot tisztítják. Ha a B DID csomag más függő csomagokat, akkor csak az A csomag lesz tisztítva.

  • A dpkg-vel: Milyen függőség? Csak azt mondtad, hogy tisztítsd meg a rohadtat csomag, így ezt tettem! Szegény tervezés a maga részéről nem vészhelyzetet jelentenek számomra.

Ezzel azt mondhatjuk, hogy itt két egybevonat van, amelyek minden egyes tisztítási módszerhez használhatók:

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --dry-run --purge

apt-get autoremove -y; apt-get --dry-run purge -y $(dpkg --list |grep '^rc' |awk '{print }')

Távolítsa el a--dry-run -ot az aktuális tisztítási művelet elvégzésére, ahelyett, hogy jelentené, milyen lépéseket tett volna.

    
válasz adott Travis R. 24.08.2018 01:32
forrás