Homebrew kan ikke afinstallere OpenVPN Connect: hvilken vej passer?
En mislykket cask-afinstallation er en af tre fejl. Læs caskens artefakter, sammenlign versioner, og vælg derefter mellem nyt forsøg, opgradering eller zap.
Tre forskellige fejl bærer den samme cask-fejlmeddelelse, og hver af dem har sin egen vej tilbage. Leverandørens afinstallationsprogram kan mangle i den installerede version, en hjælpeproces kan stadig køre og holde på sine filer, eller pakkekvitteringen kan være uenig med det, der ligger på disken. Den gamle forumløsning, som reddede et af de tilfælde, fortæller dig intet om, hvilket af dem du har. At læse caskens egen registrering er måden at finde ud af det.
Tre fejl, der ligner hinanden
Et manglende afinstallationsprogram viser sig som en sti, der ikke findes, når casken prøver at køre det. En kørende hjælpeproces viser sig som en fjernelse, der starter og derefter går i stå, eller som et program, der dukker op igen, efter at du har lukket det. En forældet kvittering viser sig, når caskens egen registrering og installationsdatabasen er uenige om, hvorvidt produktet overhovedet er installeret.
Gem den første fejltekst, før du prøver noget igen. Et andet forsøg overskriver den tilstand, der frembragte meddelelsen, og den oprindelige linje er det, en vedligeholder eller leverandør har brug for for at skelne mellem dem. Kopier den til et sted, der overlever forsøget.
Hvis denne VPN bærer den forbindelse, du bruger til at arbejde, så sørg for en anden administrationsvej først. At fjerne den klient, der giver dig adgang, er en beslutning om vedligeholdelsesvinduet, ikke om Homebrew. Den rækkefølge er også det, der gør en mislykket afinstallation genoprettelig i stedet for endelig.
Læs hvad casken faktisk installerede
Homebrews eget billede er det billigste bevis, der findes, og det ændrer intet:
brew info --cask openvpn-connect
brew list --cask openvpn-connectDen første kommando udskriver caskens metadata og de artefakter, den styrer; den anden viser, hvad der er registreret som installeret. Ingen af dem beviser, at hver hjælpeproces på maskinen svarer til den aktuelle opskrift, og det er netop derfor, en ældre installation kan fejle på en måde, som den aktuelle cask-kilde ikke beskriver. Behandl de to output som en påstand, der skal kontrolleres, ikke som det sidste ord om, hvad der findes.
Sammenlign den registrerede version med programmets egen version, før du vælger en vej. En uoverensstemmelse forklarer et manglende afinstallationsprogram uden nogen dybere fejl, og svaret er en opgradering til den version, casken forventer, ikke en manuel oprydning.
Hvad zap tilføjer, og hvad det koster
En casks afinstallationsstanza håndterer de artefakter, opskriften erklærer: lukke programmet, aflæsse startopgaver, fjerne et login-element, glemme pakkekvitteringer og slette programpakken. Det er den normale vej, og det er den, der bør virke.
--zap er en anden anmodning. Den beder Homebrew om også at fjerne brugerindstillinger og delte ressourcer, og dokumentationen advarer om, at det kan påvirke anden software. I casken OpenVPN Connect sletter zap-stanzaen openvpn.keychain-db og rydder brugerens programstøttedata, hvilket betyder, at gemte legitimationsoplysninger og forbindelsesprofiler forsvinder med den. Hvis profilen kommer fra en organisation, skal du bekræfte, at du kan tilmelde dig igen, før du vælger denne vej.
| 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 |
Veje, der ser afgørende ud og ikke er det
At skrive en falsk remove.sh, der slutter med nul som exitkode, er den dårligste mulighed på listen. Den får afinstallationen til at rapportere succes, mens startopgaver, kvitteringer og programdata bliver liggende, så den næste installation arver et halvt fjernet produkt og en registrering, der siger det modsatte.
At slette Caskroom-mappen eller programpakken i hånden skaber en lignende tilstand fra den anden side. Filer forsvinder, mens kvitteringen bliver. Hver senere kommando skal derefter vurderes mod en maskine, der ikke længere svarer til sin egen database.
En brew update-reset for hele arkivet er et større indgreb, end en mislykket cask berettiger. Den ændrer din tap-tilstand for at løse et problem, der aldrig handlede om tap-tilstand, og den kan efterlade dig med at fejlsøge en anden Homebrew end den, du startede med.
Beslutning i rækkefølge
Følg rækkefølgen: læs caskens registrerede artefakter, sammenlign versioner, luk hver kørende komponent, prøv den almindelige afinstallation igen, og overvej først derefter zap. Hvis den almindelige vej stadig fejler, så gem fejlen og tag den med til caskens vedligeholdere eller leverandøren med versionsnumrene.
Cask Cookbook siger udtrykkeligt, at pakkeinstallationsprogrammer har brug for produktspecifikke afinstallationsteknikker, og at zap er frivilligt og kan fjerne delte ressourcer. Den ramme er beslutningsreglen: almindelig afinstallation først, zap når du accepterer prisen for legitimationsoplysningerne, manuel sletning aldrig.