Homebrew ne more odstraniti OpenVPN Connect: katera pot ustreza?
Neuspešna odstranitev caska je ena od treh napak. Preberite artefakte caska, primerjajte različice in nato izberite med ponovnim poskusom, nadgradnjo ali zap.
Tri različne napake nosijo isto sporočilo o napaki caska in vsaka ima svojo pot okrevanja. Odstranjevalnik ponudnika lahko manjka v nameščeni različici, pomožni proces lahko še teče in drži svoje datoteke, ali pa se potrdilo o paketu ne ujema s tem, kar je na disku. Stara forumska rešitev, ki je rešila enega od teh primerov, vam ne pove nič o tem, katerega imate. Branje lastnega zapisa caska je način, da to ugotovite.
Tri napake, ki so videti enako
Manjkajoči odstranjevalnik se pokaže kot pot, ki ne obstaja, ko ga cask poskuša zagnati. Živi pomožni proces se pokaže kot odstranjevanje, ki se začne in nato obstane, ali kot aplikacija, ki se znova pojavi, potem ko jo zaprete. Zastarelo potrdilo se pokaže, ko se lastni zapis caska in baza nameščevalnika ne strinjata o tem, ali je izdelek sploh nameščen.
Shranite prvo besedilo napake, preden kar koli ponovite. Drugi poskus prepiše stanje, ki je ustvarilo sporočilo, in izvirna vrstica je tisto, kar potrebuje vzdrževalec ali ponudnik, da te primere loči. Kopirajte jo nekam, kjer bo preživela ponovni poskus.
Če ta VPN prenaša povezavo, ki jo uporabljate za delo, najprej pripravite drugo pot upravljanja. Odstranitev odjemalca, ki vam daje dostop, je odločitev o servisnem oknu, ne o Homebrew. Prav ta vrstni red naredi neuspešno odstranitev obnovljivo in ne dokončno.
Preberite, kaj je cask dejansko namestil
Lastni pogled Homebrew je najcenejši razpoložljivi dokaz in ne spreminja ničesar:
brew info --cask openvpn-connect
brew list --cask openvpn-connectPrvi ukaz izpiše metapodatke caska in artefakte, ki jih upravlja; drugi navede, kaj je zabeleženo kot nameščeno. Noben ne dokazuje, da vsak pomožni proces na stroju ustreza trenutnemu receptu, in prav zato lahko starejša namestitev spodleti na način, ki ga trenutni vir caska ne opisuje. Obravnavajte oba izhoda kot trditev, ki jo je treba preveriti, ne kot zadnjo besedo o tem, kaj obstaja.
Pred izbiro poti primerjajte zabeleženo različico z lastno različico aplikacije. Neskladje pojasni manjkajoči odstranjevalnik brez globlje napake, odgovor pa je nadgradnja na različico, ki jo cask pričakuje, ne ročno čiščenje.
Kaj doda zap in koliko stane
Odsek za odstranitev v casku obravnava artefakte, ki jih recept navaja: zaprtje aplikacije, razkladanje zagonskih opravil, odstranitev prijavne postavke, pozabo potrdil paketa in izbris svežnja aplikacije. To je običajna pot in to je tista, ki bi morala delovati.
--zap je druga zahteva. Homebrew prosi, naj odstrani tudi uporabniške nastavitve in skupne vire, dokumentacija pa opozarja, da to lahko vpliva na drugo programsko opremo. V casku OpenVPN Connect odsek zap izbriše openvpn.keychain-db in izprazni uporabniške podatke za podporo aplikacijam, kar pomeni, da shranjene poverilnice in profili povezave odidejo z njim. Če profil prihaja iz organizacije, potrdite, da se lahko znova registrirate, preden izberete to pot.
| 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 |
Poti, ki se zdijo odločilne in niso
Pisanje lažnega remove.sh, ki se konča z ničelnim izhodnim kodom, je najslabša možnost na seznamu. Odstranitev poroča o uspehu, medtem ko zagonska opravila, potrdila in podatki aplikacije ostanejo na mestu, zato naslednja namestitev podeduje napol odstranjen izdelek in zapis, ki pravi nasprotno.
Ročni izbris imenika Caskroom ali svežnja aplikacije ustvari podobno stanje z druge strani. Datoteke izginejo, potrdilo pa ostane. Vsak poznejši ukaz je treba nato presojati glede na stroj, ki ne ustreza več svoji lastni bazi.
brew update-reset za celotno shrambo je večji poseg, kot ga upravičuje en neuspešen cask. Spremeni stanje vaših tapov, da bi odpravil težavo, ki nikoli ni bila o stanju tapov, in lahko vas pusti pri razhroščevanju drugega Homebrewa od tistega, s katerim ste začeli.
Odločanje po vrsti
Delajte po vrstnem redu: preberite zabeležene artefakte caska, primerjajte različice, zaprite vsako delujočo komponento, ponovite običajno odstranitev in šele nato razmislite o zapu. Če običajna pot še vedno spodleti, shranite napako in jo odnesite vzdrževalcem caska ali ponudniku s številkami različic.
Cask Cookbook jasno pravi, da nameščevalniki paketov potrebujejo tehnike odstranitve, specifične za izdelek, in da je zap prostovoljen ter lahko odstrani skupne vire. Ta okvir je pravilo odločanja: najprej običajna odstranitev, zap, ko sprejmete ceno poverilnic, ročni izbris nikoli.