Na spletu sem iskal takšne informacije in našel različne ukazne vrstice, kot so te:
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*
Kakšen je torej pravilen način? Ali je treba uporabiti to "*"?
Po tem sem našel tudi te ukaze:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
apt-get remove packagename
odstrani binarne datoteke, ne pa tudi konfiguracijskih ali podatkovnih datotek paketa packagename
. Prav tako bodo ostale nedotaknjene odvisnosti, ki so bile ob namestitvi nameščene skupaj z njim.
apt-get purge packagename
ali apt-get remove --purge packagename
bosta odstranila vse, kar se nanaša na paket packagename
, vendar ne odvisnosti, ki so bile z njim nameščene ob namestitvi. Oba ukaza sta enakovredna.
To je še posebej uporabno, kadar želite z aplikacijo začeti znova, ker ste zmotili konfiguracijo. Vendar pa ne odstrani konfiguracijskih ali podatkovnih datotek, ki se nahajajo v domačih imenikih uporabnikov, običajno v skritih mapah. Tudi teh ni mogoče preprosto odstraniti.
apt-get autoremove
odstrani osirotele pakete, tj. nameščene pakete, ki so bili nekoč nameščeni kot odvisnost, vendar niso več. To uporabite po odstranitvi paketa, ki je imel nameščene odvisnosti, ki vas ne zanimajo več.
aptitude remove packagename
ali aptitude purge packagename
(podobno)bosta poskusila odstraniti tudi druge pakete, ki jih je zahteval packagename
, vendar jih preostali paketi ne zahtevajo. Upoštevajte, da si aptitude
zapomni informacije o odvisnosti samo za pakete, ki jih je namestil.
Obstaja jih še veliko več. Uporabite lahko ukaze dpkg
na nižji ravni (za napredne uporabnike) ali orodja z grafičnim vmesnikom, kot so Muon, Synaptic, Software Center itd. Ne obstaja en sam 'pravilen način' odstranjevanja aplikacij ali opravljanja drugih nalog, povezanih z upravljanjem paketov.
Seznam, ki ste ga našli, so le primeri. Prepričajte se, da razumete njihov pomen, in preizkusite, kaj želi storiti, preden sprejmete dejanje (pritisniti morate Y
, preden dejansko izvede predlagana dejanja).
Različica z zvezdico v vprašanju je verjetno napačna; apt-get
sprejme regularni izraz in ne glob vzorca kot lupina. Kaj se torej zgodi z
sudo apt-get remove application*
je naslednje:
Lupina poskuša razširiti aplikacijo*
in pri tem pregleda datoteke v trenutnem imeniku. Če (kot običajno) ne najde ničesar, vrne nespremenjen globalni vzorec (predpostavljamo, da ima bash
tu privzeto obnašanje --- zsh
bo naredil napako).
apt-get
bo odstranil pakete, katerih ime vsebuje niz, ki ustreza regularnemu izrazu application*
, to je applicatio
, ki mu sledi poljubno število n
: applicatio
, application
, applicationn
, libapplicatio
itd.
Če želite videti, kako je to lahko nevarno, poskusite (brez korena zaradi dvojne varnosti) apt-get -s remove "wine*"
(-s
bo stvar simuliral, namesto da bi jo naredil) --- rekel bo, da bo odstranil vse pakete, ki imajo "win" v imenu, in odvisne, skoraj ves sistem...
Verjetno je ukaz, ki je bil mišljen, res
sudo apt-get remove "^application.*"
(upoštevajte narekovaje in piko), ki bo odstranil vse pakete, katerih ime se začne z aplikacija
.
Ti ukazi,
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.
so popolnoma zunaj področja upravljanja paketov. Ne odstranjujte datotek, ki pripadajo paketom, ne da bi uporabili upravitelja paketov! To vas bo zmedlo in je nepravilen način.
Če ne veste, kateremu paketu pripada datoteka, poskusite tole:
dpkg -S /path/to/file
V 99 % primerov lahko varno uporabite sudo apt-get remove --purge application
ali sudo apt-get remove applications
. Ko uporabite zastavico purge
, preprosto odstranite tudi vse konfiguracijske datoteke. Kar je lahko ali pa tudi ne, odvisno od tega, ali želite ponovno namestiti omenjeno aplikacijo. Oznaka aplikacija*
bo ustrezala vsem aplikacijam, ki se začnejo z aplikacija
, ki so običajno vtičniki, dodatne funkcije itd. glavne aplikacije, ki jo odstranjujete, tj.
sudo apt-get remove gedit*
bi odstranil gedit
, gedit-plugins
in gedit-common
. Običajno tega ni treba storiti, saj je večina vtičnikov/povezanih programov odvisna od glavne aplikacije in se samodejno odstranijo (ali označijo za odstranitev), ko odstranite glavno aplikacijo.
Vaš zadnji ukaz je namenjen le odstranjevanju ostankov aplikacij, za katere je znano, da imajo neredne odstranjevalnike, in samo odstranjuje vse ostanke aplikacije.
To je odvisno od aplikacije, ki jo želite odstraniti. Vedno preverite njene odvisnosti, preden izdate ukaz da. Ko nekaj odstranite z ukazno vrstico, se včasih prikaže peščica knjižnic, ki niso več potrebne. Te lahko odstranite s programom apt-get autoremove.
Pazite, da lahko z uporabo ukazov, kot je sudo apt-get remove --purge ime aplikacije, odstranite nekatere odvisnosti, ki jih potrebujejo druge aplikacije, in s tem pokvarite svoj sistem.
Če želite to storiti na varnejši način, jo lahko vedno odstranite samo s središčem za programsko opremo ali s programom apt-get remove applicationname. Če odvisnosti ne potrebujete več, pozneje izdate ukaz apt-get autoremove.