Homebrew kann OpenVPN Connect net deinstalléieren: wéi en Traj passt?
E gescheiterten cask-Deinstallatioun ass ee vun dräi Feeler. Liest d'cask-Artefakten, vergläicht d'Versiounen an entscheet dann tëscht Widderhuelen, Upgrade oder zap.
Dräi verschidde Feeler droen déiselwecht cask-Feelermeldung, an all eenzel huet säin eegenen Erhuelungstraj. Den Deinstallateur vum Hiersteller kann an der installéierter Versioun fehlen, eng Hëllefsprozess kann nach lafen an hir Dateien halen, oder d'Paketsquittung kann net mat deem wat op der Plack ass iwwerenee stëmmen. Den aalen Forumstrick, dee ee vun deene Fäll gerett huet, seet Iech näischt driwwer, wéi ee vun deenen Dir hutt. D'cask hir eege Opzeechnung liesen ass de Wee, fir dat erauszefannen.
Dräi Feeler déi gläich ausgesinn
En Deinstallateur deen feelt weist sech als en Traj, deen net existéiert, wann den cask probéiert en auszeféieren. En aktiven Hëllefsprozess weist sech als eng Ewechhuelen, déi ufänkt an dann hänke bleift, oder als eng Applikatioun, déi no dem Zoumaachen erëm erschéngt. Eng verouderte Quittung weist sech, wann d'cask-Opzeechnung an d'Datebank vum Installateur net d'accord sinn, ob d'Produkt iwwerhaapt installéiert ass.
Spaart den éischten Feelertext, ier Dir eppes widderhëlt. En zweete Versuch iwwerschreift den Zoustand, deen d'Meldung hierginn huet, an déi originell Linn ass dat, wat en Entwéckler oder Hiersteller brauch, fir dës Fäll auseneen ze halen. Kopéiert en dohinner, wou en de Widderhuelen iwwerlieft.
Wann dëse VPN d'Verbindung dréit, mat där Dir schafft, da preparéiert éischt en aneren Administratiounstraj. De Client ewechhuelen, deen Iech den Zougang gëtt, ass eng Entscheedung iwwer d'Maintenance-Fënster, net iwwer Homebrew. Genau dës Reiefolleg mécht eng gescheitert Deinstallatioun erhuelbar anstatt definitiv.
Liest wat den cask tatsächlech installéiert huet
D'Homebrew seng eege Vue ass de bëllegsten disponibele Beweis, an et ännert näischt:
brew info --cask openvpn-connect
brew list --cask openvpn-connectDen éischte Kommando dréckt d'cask-Metadaten an d'Artefakten, déi en geréiert; den zweete listet op, wat als installéiert agedroen ass. Keen vun den zwee beweist, datt all Hëllefsprozess op der Maschinn mat der aktueller Rezept iwwerenee stëmmt, an genau dofir kann eng méi al Installatioun op eng Manéier feelen, déi déi aktuell cask-Quell net beschreift. Behandelt déi zwou Ausgabe wéi eng Behauptung, déi ze préife ass, net wéi dat lescht Wuert driwwer, wat existéiert.
Vergläicht déi agedroe Versioun mat der App hirer eegener Versioun, ier Dir en Traj auswielt. Eng Onstëmmegkeet erkläert en feelenden Deinstallateur ouni en déiwenere Feeler, an d'Äntwert ass en Upgrade op déi Versioun, déi den cask erwaart, net eng manuell Botz.
Wat zap bäisetzt, a wat et kascht
D'Deinstallatiounsstanza vun engem cask këmmert sech ëm d'Artefakten, déi d'Rezept deklaréiert: d'App zoumaachen, Startaufgaben entlueden, en Login-Item ewechhuelen, Paketsquittungen vergiessen an den App-Bundle läschen. Dat ass den normale Traj, an et ass deen, dee sollt funktionéieren.
--zap ass eng aner Ufro. Et freet Homebrew, och Benotzerastellungen a gedeelt Ressourcen ewechzehuelen, an d'Dokumentatioun warnt, datt dat aner Software beaflosse kann. Am cask vun OpenVPN Connect läscht d'zap-Stanza openvpn.keychain-db an eidel d'Applikatiounsënnergrënnungsdate vum Benotzer, wat heescht, datt gespaarte Umeldungsinformatiounen a Verbindungsprofiler matginn. Wann de Profil vun enger Organisatioun kënnt, bestätegt, datt Dir Iech erëm kann aschreiwen, ier Dir dësen Traj auswielt.
| Condition | Path that fits | Path to avoid |
|---|---|---|
| Uninstaller path missing after an OS upgrade | Upgrade the cask to the version matching the app | Hand-writing a replacement script |
| Helper still running during removal | Quit the app and its menu agent, then retry | Deleting the bundle while the helper runs |
| Receipt exists but files are gone | Forget the receipt with the cask's own tooling | Recursive deletion of the Caskroom entry |
| You need the machine clean and can re-enroll | Zap, after reading the stanza | Zap on a machine whose profiles you cannot rebuild |
Trajen, déi entscheedend ausgesinn an et net sinn
En falschen remove.sh schreiwen, deen mat Null-Exit-Code endet, ass déi schlëmmst Optioun op der Lëscht. Et mécht, datt d'Deinstallatioun Erfolleg mellt, während Startaufgaben, Quittungen an App-Date bleiwen, wou se sinn, sou datt déi nächst Installatioun en halleft ewechgehollene Produkt an eng Opzeechnung ierft, déi dat Géigendeel seet.
Den Caskroom-Verzeechnis oder den App-Bundle mat der Hand läschen erzeugt en ähnlechen Zoustand vun der anerer Säit. Dateien verschwannen, während d'Quittung bleift. Duerno muss all spéider Kommando géint eng Maschinn ofgewien ginn, déi net méi mat hirer eegener Datebank iwwerenee stëmmt.
En brew update-reset iwwer de ganzen Repository ass e méi groussen Agrëff, wéi een eenzege gescheiterten cask justifiéiert. En ännert Ären Tap-Zoustand, fir e Problem ze léisen, deen ni vum Tap-Zoustand war, an et kann Iech e anere Homebrew debuggen loossen, wéi deen, mat deem Dir ugefaangen hutt.
An der Reiefolleg entscheeden
Schafft d'Reiefolleg of: liest d'agedroe Artefakte vum cask, vergläicht d'Versiounen, maacht all lafend Komponent zou, widderhëlt déi gewéinlech Deinstallatioun, a bedenkt eréischt duerno zap. Wann de gewéinlechen Traj nach ëmmer feelt, späert de Feeler a bréngt en zu den cask-Entwéckler oder dem Hiersteller mat de Versiounsnummeren.
Den Cask Cookbook seet kloer, datt Pakinstallateure produktspezifesch Deinstallatiounstechnike brauchen an datt zap fakultativ ass a gedeelt Ressourcen ewechhuele kann. Dee Kader ass d'Entscheedungsreegel: fir d'éischt déi gewéinlech Deinstallatioun, zap wann Dir de Präis vun den Umeldungsinformatiounen akzeptéiert, manuell Läschen ni.