Homebrew нь OpenVPN Connect-ийг устгаж чадахгүй: аль зам тохирох вэ?
Амжилтгүй cask устгалт нь гурван гэмтлийн нэг юм. cask-ийн артефактуудыг уншиж, хувилбаруудыг харьцуулаад, дараа нь дахин оролдох, шинэчлэх эсвэл zap-ийн аль нэгийг сонгоно уу.
Гурван өөр гэмтэл нэг ижил cask алдааны мэдэгдэл хүлээж, тус бүр өөрийн сэргээх замтай. Суулгасан хувилбарт нийлүүлэгчийн устгагч байхгүй байж болно, туслах процесс ажиллаж байгаад файлуудаа барьж байж болно, эсвэл багцын баримт дискэн дээрхтэй тохирохгүй байж болно. Тэдгээрийн нэгийг аварсан хуучин форумын арга танд аль тохиолдол байгааг юу ч хэлэхгүй. cask-ийн өөрийн бүртгэлийг унших нь үүнийг мэдэх зам юм.
Ижил харагдах гурван гэмтэл
Дутуу устгагч нь cask түүнийг ажиллуулах гэж орох үед байхгүй зам хэлбэрээр илэрнэ. Ажиллаж буй туслах процесс нь эхэлсний дараа зогсдог устгал хэлбэрээр, эсвэл хаасны дараа дахин гарч ирдэг програм хэлбэрээр илэрнэ. Хуучирсан баримт нь cask-ийн өөрийн бүртгэл болон суулгагчийн мэдээллийн сан бүтээгдэхүүн суулгасан эсэх талаар санал нийлэхгүй үед илэрнэ.
Ямар нэгэн зүйлийг дахин оролдохын өмнө эхний алдааны текстийг хадгал. Хоёр дахь оролдлого нь мэдэгдлийг үүсгэсэн төлөвийг дарж бичдэг бөгөөд эдгээр тохиолдлыг ялгахад засварчинд эсвэл нийлүүлэгчид хэрэгтэй зүйл бол яг анхны мөр юм. Үүнийг дахин оролдлогыг даван туулах газар хуулж тавь.
Хэрэв энэ VPN таны ажилладаг холболтыг зөөж байгаа бол эхлээд өөр удирдлагын зам бэлтгэ. Танд хандалт өгч байгаа клиентийг устгах нь Homebrew биш, үйлчилгээний цонхны тухай шийдвэр юм. Яг энэ дараалал нь амжилтгүй устгалтыг эцсийн биш, сэргээгдэх боломжтой болгодог.
cask юу суулгасныг унш
Homebrew-ийн өөрийн харагдац бол хамгийн хямд боломжтой нотолгоо бөгөөд юу ч өөрчлөхгүй:
brew info --cask openvpn-connect
brew list --cask openvpn-connectЭхний команд нь cask-ийн мета өгөгдөл болон түүний удирддаг артефактуудыг хэвлэнэ; хоёр дахь нь суулгасан гэж бүртгэгдсэнийг жагсаана. Аль нь ч машины туслах процесс бүр одоогийн жортой тохирч байгааг нотлохгүй, яг ийм учраас хуучин суулгалт одоогийн cask эх сурвалж дүрслээгүй байдлаар бүтэлгүйтэж болно. Хоёр гаралтыг шалгах ёстой мэдэгдэл гэж үзэж, юу байгаа тухай эцсийн үг гэж үзэж болохгүй.
Зам сонгохын өмнө бүртгэгдсэн хувилбарыг програмын өөрийн хувилбартай харьцуул. Зөрүү нь илүү гүнзгий гэмтэлгүйгээр дутуу устгагчийг тайлбарлаж, хариулт нь гараар цэвэрлэх биш, cask-ийн хүлээж буй хувилбар руу шинэчлэх явдал юм.
zap юу нэмж, юу үнэтэй вэ
cask-ийн устгах хэсэг нь жор зарласан артефактуудыг зохицуулна: програмыг хаах, эхлүүлэх ажлуудыг буулгах, нэвтрэх зүйлийг устгах, багцын баримтуудыг мартаж, програмын багцыг устгах. Энэ бол ердийн зам бөгөөд энэ нь ажиллах ёстой зам юм.
--zap бол өөр хүсэлт. Энэ нь Homebrew-иос хэрэглэгчийн тохиргоо болон хуваалцсан нөөцийг ч устгахыг хүсч, баримт бичиг үүнээс бусад програмын хангамжид нөлөөлж болзошгүйг анхааруулдаг. OpenVPN Connect-ийн cask-д zap хэсэг нь openvpn.keychain-db-ийг устгаж, хэрэглэгчийн програмын дэмжлэгийн өгөгдлийг цэвэрлэдэг, энэ нь хадгалагдсан нэвтрэх мэдээлэл болон холболтын профайлууд хамт явна гэсэн үг. Хэрэв профайл байгууллагаас ирсэн бол энэ замыг сонгохын өмнө дахин бүртгүүлж чадах эсэхээ батал.
| 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 |
Шийдвэрлэх мэт харагдах боловч тийм биш замууд
Тэг гарах кодоор төгсдөг хуурамч remove.sh бичих нь жагсаалтын хамгийн муу сонголт юм. Энэ нь устгалтыг амжилттай гэж мэдээлүүлэх боловч эхлүүлэх ажлууд, баримтууд болон програмын өгөгдөл байрандаа үлддэг тул дараагийн суулгалт хагас устгагдсан бүтээгдэхүүн болон эсрэгээр хэлсэн бүртгэлийг өвлөн авна.
Caskroom хавтас эсвэл програмын багцыг гараар устгах нь нөгөө талаас ижил төлөв үүсгэдэг. Файлууд алга болж, баримт үлддэг. Дараа нь дараагийн команд бүрийг өөрийн мэдээллийн сантай тохирохоо больсон машинтай харьцуулан бодох хэрэгтэй.
Бүх репозиторид brew update-reset хийх нь нэг амжилтгүй cask зөвтгөдөгөөс илүү том оролцоо юм. Энэ нь tap төлөвтай хэзээ ч холбоогүй асуудлыг шийдэхийн тулд таны tap төлөвийг өөрчилдөг бөгөөд таныг эхэлсэн Homebrew биш өөр нэгийг дибаг хийхэд үлдээж болно.
Дарааллаар шийдэх
Дарааллаар ажилла: cask-ийн бүртгэсэн артефактуудыг уншиж, хувилбаруудыг харьцуулж, ажиллаж буй бүрэлдэхүүн бүрийг хааж, ердийн устгалтыг дахин оролдож, зөвхөн дараа нь zap-ийн тухай бод. Хэрэв ердийн зам дахин бүтэлгүйтвэл алдааг хадгалаад хувилбарын дугааруудын хамт cask-ийн засварчид эсвэл нийлүүлэгчид хүргэ.
Cask Cookbook нь багц суулгагчдад бүтээгдэхүүнд тохирсон устгах арга техник хэрэгтэй бөгөөд zap нь сонголтоор хийгдэх бөгөөд хуваалцсан нөөцийг устгаж болзошгүйг тодорхой хэлдэг. Энэ хүрээ бол шийдвэрийн дүрэм: эхлээд ердийн устгалт, нэвтрэх мэдээллийн үнийг хүлээн зөвшөөрвөл zap, гараар устгах хэзээ ч үгүй.