Homebrew ne povas malinstali OpenVPN Connect: kiu vojo konvenas?
Malsukcesa malinstalo de cask estas unu el tri paneoj. Legu la artefaktojn de la cask, komparu versiojn, poste decidu inter reprovo, ĝisdatigo aŭ zap.
Tri malsamaj paneoj portas la saman erarmesaĝon de cask, kaj ĉiu havas sian propran riparvojon. La malinstalilo de la vendisto povas manki en la instalita versio, helpprocezo povas ankoraŭ funkcii kaj teni siajn dosierojn, aŭ la paketa kvitanco povas malkonsenti kun tio, kio estas sur la disko. La malnova foruma solvo, kiu savis unu el tiuj kazoj, diras al vi nenion pri tio, kiun vi havas. Legi la propran rikordon de la cask estas la maniero ekscii.
Tri paneoj, kiuj aspektas same
Mankanta malinstalilo montriĝas kiel vojo, kiu ne ekzistas, kiam la cask provas ruli ĝin. Viva helpprocezo montriĝas kiel forigo, kiu komenciĝas kaj poste haltas, aŭ kiel aplikaĵo, kiu reaperas post kiam vi fermis ĝin. Kaduka kvitanco montriĝas, kiam la propra rikordo de la cask kaj la datumbazo de la instalilo malkonsentas pri tio, ĉu la produkto entute estas instalita.
Konservu la unuan erartekston antaŭ ol ion reprovi. Dua provo anstataŭigas la staton, kiu produktis la mesaĝon, kaj la originala linio estas tio, kion prizorganto aŭ vendisto bezonas por distingi tiujn kazojn. Kopiu ĝin ie, kio postvivos la reprovon.
Se ĉi tiu VPN portas la konekton, kiun vi uzas por labori, unue aranĝu alian administran vojon. Forigi la klienton, kiu donas al vi aliron, estas decido pri la prizorga fenestro, ne pri Homebrew. Tiu ordo ankaŭ estas tio, kio igas malsukcesan malinstalon restarigebla anstataŭ fina.
Legu, kion la cask efektive instalis
La propra vidpunkto de Homebrew estas la plej malmultekosta disponebla pruvo, kaj ĝi modifas nenion:
brew info --cask openvpn-connect
brew list --cask openvpn-connectLa unua komando presas la metadatenojn de la cask kaj la artefaktojn, kiujn ĝi administras; la dua listigas tion, kio estas registrita kiel instalita. Neniu el ili pruvas, ke ĉiu helpprocezo en la maŝino kongruas kun la nuna recepto, kaj ĝuste tial pli malnova instalado povas malsukcesi tiel, kiel la nuna fonto de la cask ne priskribas. Traktu la du elirojn kiel aserton kontrolendan, ne kiel la lastan vorton pri tio, kio ekzistas.
Komparu la registritan version kun la propra versio de la aplikaĵo antaŭ ol elekti vojon. Malkongruo klarigas mankantan malinstalilon sen pli profunda paneo, kaj la respondo estas ĝisdatigo al la versio, kiun la cask atendas, ne permana purigado.
Kion zap aldonas kaj kion ĝi kostas
La malinstala sekcio de cask traktas la artefaktojn, kiujn la recepto deklaras: fermi la aplikaĵon, malŝarĝi lanĉajn taskojn, forigi ensalutan eron, forgesi paketajn kvitancojn kaj forigi la aplikaĵan pakaĵon. Tio estas la normala vojo, kaj ĝi estas tiu, kiu devus funkcii.
--zap estas alia peto. Ĝi petas al Homebrew forigi ankaŭ uzantajn preferojn kaj kunhavigitajn rimedojn, kaj la dokumentaro avertas, ke tio povas influi alian programaron. En la cask de OpenVPN Connect la zap-sekcio forigas openvpn.keychain-db kaj malplenigas la aplikaĵ-subtenajn datumojn de la uzanto, kio signifas, ke konservitaj legitimiloj kaj konektaj profiloj foriras kun ĝi. Se la profilo venas de organizo, konfirmu, ke vi povas reensalutiĝi antaŭ ol elekti ĉi tiun vojon.
| 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 |
Vojoj, kiuj ŝajnas decidaj kaj ne estas
Verki falsan remove.sh, kiu finiĝas per nula elirkodo, estas la plej malbona opcio en la listo. Ĝi igas la malinstalon raporti sukceson, dum lanĉaj taskoj, kvitancoj kaj aplikaĵaj datumoj restas surloke, do la sekva instalado heredas duone forigitan produkton kaj rikordon, kiu diras la malon.
Permane forigi la dosierujon Caskroom aŭ la aplikaĵan pakaĵon kreas similan staton de la alia flanko. Dosieroj malaperas dum la kvitanco restas. Ĉiu posta komando tiam devas esti pripensata kontraŭ maŝino, kiu ne plu kongruas kun sia propra datumbazo.
brew update-reset por la tuta deponejo estas pli granda interveno, ol unu malsukcesa cask pravigas. Ĝi ŝanĝas vian tap-staton por ripari problemon, kiu neniam temis pri tap-stato, kaj ĝi povas lasi vin sencimigi alian Homebrew ol tiun, kun kiu vi komencis.
Decidi laŭ ordo
Laboru laŭ la ordo: legu la registritajn artefaktojn de la cask, komparu versiojn, fermu ĉiun funkciantan komponanton, reprovu la ordinaran malinstalon kaj nur poste pripensu zap. Se la ordinara vojo ankoraŭ malsukcesas, konservu la eraron kaj portu ĝin al la prizorgantoj de la cask aŭ al la vendisto kun la versiaj numeroj.
Cask Cookbook diras klare, ke paketaj instaliloj bezonas produktspecifajn malinstalajn teknikojn kaj ke zap estas laŭvola kaj povas forigi kunhavigitajn rimedojn. Tiu kadro estas la decida regulo: unue ordinara malinstalo, zap kiam vi akceptas la koston de la legitimiloj, permana forigo neniam.