Üç fərqli nasazlıq eyni cask xəta mesajını daşıyır və hər birinin öz bərpa yolu var. Təchizatçının silici proqramı quraşdırılmış versiyada olmaya bilər, köməkçi proses hələ də işləyib fayllarını tuta bilər, ya da paket qəbzi diskdə olanla ziddiyyət təşkil edə bilər. Bu hallardan birini xilas edən köhnə forum həlli sizdə hansının olduğunu demir. Bunu öyrənməyin yolu cask-ın öz qeydini oxumaqdır.

Oxşar görünən üç nasazlıq

Çatışmayan silici, cask onu işə salmağa çalışanda mövcud olmayan yol kimi görünür. İşləyən köməkçi proses isə başlayıb sonra dayanan silinmə, ya da siz onu bağladıqdan sonra yenidən peyda olan tətbiq kimi görünür. Köhnəlmiş qəbz isə cask-ın öz qeydi ilə quraşdırıcı verilənlər bazasının məhsulun ümumiyyətlə quraşdırılıb-qurulmadığı barədə ziddiyyət təşkil etdiyi halda görünür.

Hər hansı cəhddən əvvəl ilk xəta mətnini saxlayın. İkinci cəhd mesajı yaradan vəziyyətin üzərinə yazır və bu halları ayırd etmək üçün tərtibatçıya və ya təchizatçıya lazım olan məhz orijinal sətirdir. Onu yenidən cəhddən sonra da qalan bir yerə kopyalayın.

Əgər bu VPN iş üçün istifadə etdiyiniz bağlantını daşıyırsa, əvvəlcə başqa bir idarəetmə yolu hazırlayın. Sizin girişinizi təmin edən klienti silmək Homebrew ilə deyil, texniki xidmət pəncərəsi ilə bağlı qərardır. Bu ardıcıllıq həm də uğursuz silinməni son deyil, bərpa oluna bilən edən şeydir.

Cask-ın həqiqətən nə quraşdırdığını oxuyun

Homebrew-un öz görünüşü mövcud olan ən ucuz sübutdur və heç nəyi dəyişmir:

brew info --cask openvpn-connect
brew list --cask openvpn-connect

Birinci əmr cask metadatasını və onun idarə etdiyi artefaktları çap edir; ikincisi quraşdırılmış kimi qeydə alınanları sadalayır. Heç biri maşındakı hər köməkçi prosesin cari reseptə uyğun olduğunu sübut etmir və köhnə quraşdırmanın cari cask mənbəyinin təsvir etmədiyi şəkildə uğursuz olmasının səbəbi məhz budur. İki çıxışa yoxlanılmalı iddia kimi baxın, mövcud olanın son sözü kimi yox.

Yol seçməzdən əvvəl qeydə alınmış versiyanı tətbiqin öz versiyası ilə müqayisə edin. Uyğunsuzluq daha dərin nasazlıq olmadan çatışmayan silicini izah edir və cavab əl ilə təmizləmə deyil, cask-ın gözlədiyi versiyaya yüksəltmədir.

Zap nə əlavə edir və nəyə başa gəlir

Cask-ın silinmə bölməsi reseptin elan etdiyi artefaktlarla məşğul olur: tətbiqi bağlamaq, işə salma işlərini yükləmədən çıxarmaq, giriş elementini silmək, paket qəbzlərini unutmaq və tətbiq paketini silmək. Bu normal yoldur və işləməli olan da budur.

--zap başqa bir tələbdir. Homebrew-dan istifadəçi üstünlüklərini və paylaşılan resursları da silməsini istəyir və sənədləşmə bunun digər proqramlara təsir edə biləcəyi barədə xəbərdarlıq edir. OpenVPN Connect cask-ında zap bölməsi openvpn.keychain-db faylını silir və istifadəçinin tətbiq dəstəyi məlumatlarını təmizləyir, yəni saxlanmış etimad məlumatları və bağlantı profilləri də onunla gedir. Profil bir təşkilatdan gəlibsə, bu yolu seçməzdən əvvəl yenidən qeydiyyatdan keçə biləcəyinizi təsdiqləyin.

ConditionPath that fitsPath to avoid
Uninstaller path missing after an OS upgradeUpgrade the cask to the version matching the appHand-writing a replacement script
Helper still running during removalQuit the app and its menu agent, then retryDeleting the bundle while the helper runs
Receipt exists but files are goneForget the receipt with the cask's own toolingRecursive deletion of the Caskroom entry
You need the machine clean and can re-enrollZap, after reading the stanzaZap on a machine whose profiles you cannot rebuild

Qəti görünən, amma olmayan yollar

Sıfır çıxış kodu ilə bitən saxta remove.sh yazmaq siyahıdakı ən pis variantdır. Silinmənin uğur bildirməsinə səbəb olur, halbuki işə salma işləri, qəbzlər və tətbiq məlumatları yerində qalır, beləliklə növbəti quraşdırma yarım silinmiş məhsulu və əksini deyən qeydi miras alır.

Caskroom qovluğunu və ya tətbiq paketini əl ilə silmək digər tərəfdən oxşar vəziyyət yaradır. Fayllar yox olur, qəbz qalır. Bundan sonra hər əmri artıq öz verilənlər bazasına uyğun olmayan maşınla müqayisədə düşünmək lazımdır.

Repozitoriya miqyasında brew update-reset bir uğursuz cask-ın haqq qazandırdığından daha böyük müdaxilədir. Heç vaxt tap vəziyyəti ilə bağlı olmayan problemi həll etmək üçün tap vəziyyətinizi dəyişir və sizi başladığınızdan fərqli bir Homebrew-u sazlamaqla qoya bilər.

Hansı qaydada qərar vermək lazımdır

Ardıcıllıqla işləyin: cask-ın qeydə aldığı artefaktları oxuyun, versiyaları müqayisə edin, işləyən hər komponenti bağlayın, adi silinməni yenidən cəhd edin və yalnız bundan sonra zap-ı nəzərdən keçirin. Adi yol hələ də uğursuz olarsa, xətanı saxlayın və versiya nömrələri ilə birlikdə cask tərtibatçılarına və ya təchizatçıya aparın.

Cask Cookbook açıq şəkildə bildirir ki, paket quraşdırıcıları məhsula xas silmə üsullarına ehtiyac duyur və zap könüllüdür və paylaşılan resursları silə bilər. Bu çərçivə qərar qaydasıdır: əvvəlcə adi silinmə, etimad məlumatlarının dəyərini qəbul etdikdə zap, əl ilə silmə heç vaxt.

Əlaqəli məqalələr