Možno ste si už podobnú otázku položili niekoľkokrát, keď ste inštalovali nejaký nový program a potrebovali ste si vyhľadať zoznam všetkých súborov a ciest k nim, ktoré vám daný program nakopíroval do systému počas inštalácie. Ja som túto otázku nedávno riešil a podarilo sa mi získať pár informácií. Skúsim to čo najviac zjednodušiť, aby to pochopili aj menej zdatní užívatelia Mac OS X.Nejedná sa o úplne triviálnu záležitosť, ale nie je to ani nič strašné. Budeme k tomu potrebovať zásadnú vec a to terminál. Ako vyzerá terminál som písal už dávnejšie v jednom článku a ako sa s ním pracuje, o tom nám už napísal niekoľko článkov kolega Maroš Mészáros. Tak túto časť by som preskočil a zameriam sa na konkrétny problém.
Povedzme si trochu teórie. Predstavte si, že zháňate nejaký program na internete, podarí sa vám ho nájsť a stiahnete si ho. Prevažne, tak asi v 90% prípadov, to býva jeden súbor s príponou DMG (čo je vlastne istý druh komprimovaného súboru so špecifickým formátom pre Mac OS X, na ktorý keď užívateľ klikne, tak sa obsah pripojí ako ďalší disk; je to síce trošku jednoducho povedané ale pre naše pochopenie toto vysvetlenie postačuje). Keď sa DMG súbor pripojí ako ďalší disk, buď obsahuje nejakú ikonku daného programu, ktorú stačí nainštalovať jednoduchým úkonom – a to tak, že ju pretiahnete do zložky Applications alebo sa vám automaticky spustí sprievodca inštaláciou. V tomto prípade sa v súbore DMG nachádza súbor s príponou PKG (čo je opäť len komprimovaný formát súboru, ktorý v sebe obsahuje ďalšie súbory, ktoré sa vám nainštalujú do systému).
Teraz prejdime k praxi. Povedzme, že sa nám podarilo úspešne nainštalovať náš program a z nejakého dôvodu by sme ešte potrebovali zistiť, kde sa všetky jeho súbory nainštalovali na disk. Spustíme si terminál a napíšeme doň nasledujúci príkaz:
ls /Library/Receipts/
Zobrazí sa vám v terminále pravdepodobne veľa súborov, ktoré obsahujú informácie o nainštalovaných programoch. Aby sme sa dopracovali ku konkrétnym údajom, musíme preto ešte niečo spraviť. Informácie, ktoré hľadáme, sa nachádzajú v súbore Archive.bom. Najprv si tento súbor musíme vedieť nájsť a potom si ho správne zobraziť.
Príklad: zaujíma nás, aké súbory a kam si nainštaloval program Safari (ten má nainštalovaný asi každý z vás). Postup je nasledovný:
- premiestnime sa do podadresára patriacemu Safari:
cd /Library/Receipts/
cd Safari.pkg/
- necháme si vyhľadať, kde sa nami hľadaný súbor Archive.bom nachádza:
find . -name "Archive.bom"
- zobrazíme jeho obsah:
lsbom ./Contents/Archive.bom -pf | more
Príklad je na obrázku.
A teraz sa už môžeme kochať výpisom zoznamu súborov, ktoré si daný program nainštaloval do nášho systému.
Upozornenie: Pre tých, ktorí radi experimentujú – neodporúča sa mazať žiadny podadresár ani súbor z adresára /Library/Receipts/, pretože by vám mohli prestať fungovať automatické aktualizácie už nainštalovaných programov v systéme.
komentárov
Donald, a co by sa stalo, ak by sme niektore z obrazkov zamenili?
jurosik: neviem, na co narazas.
Ono staci otvorit hoicktory z tych .pkg Pacifistom.
J.O. to mas pravdu, ale pacifist nie je zadarmo pokial viem.
ja ked si chcem odstranit nejaky nainstalovany program tak si cez spotlight vyhladam vsetky subory a adresare s nazvom programu … a potom to mazem zaradom .. ,,
je to dobre alebo zle?? … neviem ci sa takto dostanem ku kazdemu suboru nainstalovanego programu alebo nie … co vy na to?
Pravdepodobne nie, nakolko spotlight hlada len v tych adresaroch, ktore mas nastavene na cachovanie. Najidealnejsie je pouzivat uninstall z kazdeho instalacneho programu, ktory ma v sebe uninstall a ked nema uninstall, tak su rozne utilitky, ktore toto zabezpecuju. Ale nie je to uplne kompletna odinstalacia. Vacsina programov si robi este svoje subory pri prvom spusteni alebo uklada nejake data a podobne a to nenajdes len tak jednoducho, kde vsade to je. Proste dokonala odinstalacia neexistuje. resp. ano, keby si po kazde prechadzal kazdy jeden subor a pozeral a zistoval, k comu patri :)
a ani tak ako je to popisane tu cez terminal sa nedaju zistit vsetky subory?
Myslel som, ze ked zmazem vsetko co mi terminal k danej app najde = komplet uninstall….
na spravu pkg som si po dlhom googleni nasiel GNU GPL program OSXPM ale pozor je lepsie stahovat starsiu stabilnu verziu ako novsiu stalo sa mi ze mi niekolko krat cela app padla a len ciastocne odinstalovala program a ten sa nechcel dostat so systemu …
V podstate to robi to ze pomaze vsetko co ten pkg zapisal na disk a spusti scripty tiez z pkg na vratenie zmien.
A co utilitky typu AppZapper alebo Appdelete?
treba este upozornit na to, ze niektore aplikacie vytvaraju niektore subory pocas instalacie pocas behu instalacneho skriptu – cize nikde v instalacnom baliku sa nenachadzaju. napriklad konfiguracne subory (aby neboli instalaciou prepisane) sa v dobrych rodinach modifikuju instalacnym skriptom. cize je mozne vyrobit aplikaciu ktora v instalacnom baliku nebude mat zhola nic, ale navytvara spuustu suborov pocas instalacie. pri single-user systeme je jedina moznost ako zistit co aplikacia pri instalacii urobila je urobit si zoznam vsetkych suborov na disku (alebo foldri applications, Library a home usera) pred a po instalacii, a rozdiel medzi nimi (da sa zistit programom diff) si niekde ulozit aby clovek vedel co potom pomazat. co nam vsak neriesi subory ktore si aplikacia vyrobi pocas svojho prveho spustenia a dalsich spusteni (cache a podobne).
Hm… to je snad horsie ako s windowsom :D existuje nejaky soft na lahke mazanie bordelu ako napriklad CCleaner na windows?
pani a neobsahuje mac nieco take ako na win pridat a odobrat program kde prebehla celkova odinstalacia suboru??? btw mam mac 5 dni a citim sa ako uplny noob s pc :D
prosim o pomoc ja ked si stiahnem aplikacie alebo hry ces iTunes a dam nainstalovat tak sa mi obiavia a hned zmyznuu co s tym lebo ked som ho mal prazdny tak mi ich nainstalovalo a ked som zacal pridavat hudbu a videa tak mi ich zase odinstalovalo a miesta mam dost ???? co s tym ? vdaka