Diiwaangelinta OpenVPN way fashilantaa sababtoo ah gpg-ga Git ayaa ku guuleysta PATH
Git for Windows wuxuu la yimaadaa gpg.exe u gaar ah, iyo nidaamka PATH ayaa go'aamiya midka ay OpenVPN rakibuhu kici doono. Ku hubi where.exe, ka dibna dib u habee halkii aad tirtiri lahayd.
Diiwaangelinta OpenVPN oo ku dhinta Chocolatey hoostiisa oo leh khalad saxeex ama fure ah badanaa ma aha dhibaato soo dejineed. Xidhmada waxay socodsiisaa tallaabo xaqiijin oo wacda gpg, Windowsna waxay xallinaysaa magacaas qaawan iyada oo u sii maraysa PATH. Haddii Git for Windows markii hore la rakibay, gpg.exe la socda ayaa hor yimaada dhismaha GnuPG ee OpenVPN filayo, oo barnaamijka qaldan ayaa ka jawaaba wicitaanka. Khaladka aad aragto waa waxa barnaamijkaas kale go'aansaday inuu ka cabanayo, taasina waa sababta uusan waligiis sheegin sababta dhabta ah.
Nidaamka PATH ayaa go'aamiya gpg kee la socodsiiyo
Windows ma laha diiwaan dhexe oo magacyada fulinta ah. Marka habsocodku codsado gpg oo aan lahayn waddo buuxda, xamuulka ayaa mariya gelitaanka PATH si kala horraysan oo kiciya iswaafajinta ugu horreysa. Git for Windows waxay bixisaa dhismo GnuPG yar oo ku dhex jira galkeeda usr/bin si commits saxeexan u shaqeeyaan, rakibuhuna badanaa wuxuu galkaas dhigaa meel u dhow bilowga PATH isticmaalaha.
GnuPG waxay ku rakibtaa galkeeda gaarka ah, badanaa C:\Program Files (x86)\GNU\GnuPG\pub, gelitaankaasna wuu dambeeyaa liiska ama gebi ahaanba ka maqan yahay PATH isticmaalaha. Labada barnaamij waxay wadaagaan magac iyo qayb weyn oo ka mid ah interface-ka khadka amarka, laakiin ma wadaagaan xaaladdooda: dhismaha Git wuxuu ka raadiyaa fure-guri meel kale, waxaa laga yaabaa inuu yahay nooc kale, oo waxaa laga yaabaa inuusan aqbalin doorashooyinka rakibuhu gudbiyo. Ismaandhaafkaas wuxuu u muuqdaa khalad saxeex ama fure, taas oo ah warbixin run ah oo ku saabsan waxa binary-ga qaldan arkay. Waxba farriinta kuma tilmaamayaan xamuulka, sababtoo ah xamuulku wuxuu sameeyay si sax ah wixii loo sheegay.
Sababta shell-ka aad ka bilowdo uu go'aamiyo natiijada
Qaanuunka dhaxalka waa qaybta ay mudan tahay in la dhexgeliyo. Habka ilmuhu wuxuu helaa deegaanka shell-ka kiciyay, sidaas darteed nidaamka muhiimka ah waa nidaamka daqiiqadda Chocolatey bilaabo, ma aha nidaamka ka dib markaad hagaajiso.
Taas ayaa sababta tafatirka PATH daaqadda dejinta iyo dib u socodsiinta rakibaadda isla terminalka badanaa waxna beddelin: terminalku wuxuu hayay deegaankii hore. Ka dib wax kasta oo isbeddel ah bilow shell cusub, oo ku xaqiiji where.exe gpg shell-kaas cusub ka hor inta aadan mar kale isku dayin. Taas ayaa sidoo kale sababta gelitaanka heerka mashiinka uu ka adkaan karo isbeddel heerka isticmaalaha, maadaama rakibayaasha qaarkood ku daraan bilowga PATH mashiinka oo gelitaanka mashiinka la qiimeeyo ka hor kan isticmaalaha. Haddii labada heer ay ka kooban yihiin waddo GnuPG, go'aan ka gaar midka aad runtii ilaalinayso.
Hagaajinta kowaad: dib u habee gelitaanka
Hagaajinta saxda ah waa in galka GnuPG ee loogu talagalay guuleysto. Fur doorsoomayaasha deegaanka isticmaalaha, tafatir Path, oo u rar galka pub GnuPG ka sarreeya gelitaanka Git. Ka dib fur daaqad PowerShell cusub, sababtoo ah tan socota weli waxay haysataa liiskii hore.
Beddelka waa deegaan nadiif ah oo ku meel gaar ah oo loogu talagalay rakibaadda: ka saar gelitaanka Git, fur shell cusub, socodsii choco install openvpn, ka dibna soo celi.
Labada habba waxay u shaqeeyaan sabab isku mid ah, kan labaadna waa badbaado kaliya haddii aad runtii soo celiso gelitaanka. Ka saarista usr/bin Git ee PATH waxay si joogto ah u jebisaa commits saxeexan, oo qalabka xiga ee filaya gpg shaqeynaya wuxuu ku fashilmaa farriintiisa u gaar ah oo aan wax xiriir ah la lahayn OpenVPN. Haddii aad qaadato waddada ku meel gaarka ah, ku hay qiimaha asalka ah ee Path tigidhka si soo celintu u noqoto dhejis halkii ay dib u dhis noqon lahayd. Habaynta gelitaanka waa hagaajinta waarta; tirtiriddoodu waa xal ku meel gaar ah oo leh taariikh dhacdo.
Xaqiiji, ka dibna dib u dhig
Ku xaqiiji ka hor iyo ka dib isla macnaha isticmaalaha ee Chocolatey isticmaali doono. where.exe gpg wuxuu taxaa iswaafajin kasta sida ay u kala horreeyaan xallinta, sidaas darteed sadarka ugu horreeya waa kan socon doona; Get-Command gpg -All wuxuu ku bixiyaa jawaab isku mid ah faahfaahin dheeraad ah PowerShell. Ka dib gpg --version wuxuu xaqiijiyaa dhismaha kee jawaabay.
Haddii where.exe weli ugu horreeyo nuqulka Git, dib u habeyntu ma gaarin fadhigaas, oo dib u rakibid kastaaba ma caawin doonto. Hubi PATH mashiinka iyo isticmaalaha labadaba [Environment]::GetEnvironmentVariable('Path','Machine') iyo isla wicitaanka 'User', sababtoo ah liiska wax ku oolka ah waxaa laga soo ururiyay labadaba. Ka dib rakibaad guuleysatay, mar kale hubi openvpn --version oo kici adeegga ama GUI hal mar, maadaama xidhmo si nadiif ah u rakibi karto oo haddana ka tagi karto adeeg aan kicin doonin.
Haddii PATH si sax ah loo habeeyay weli fashilmo, doorsoomeha hadhay waa nooca xidhmada. Xidhmo Chocolatey ah oo la dhejiyay waxaa laga yaabaa inuu filayo dhismo GnuPG ama waddo rakibaad gaar ah oo mashiinkaagu aanu lahayn.
Akhri log-ga xidhmada lafteeda ka hor inta aadan wax kale beddelin. C:\ProgramData\chocolatey\logs\chocolatey.log wuxuu diiwaangeliyaa khadka amarka fashilmay iyo galka laga socodsiiyay, taas oo kuu sheegta haddii wicitaanka fashilmay uu ahaa hubin saxeex, soo saarid ama script rakibaad ka dib. Kala duwanaanshahaas ayaa go'aamiya haddii aad weli gabi ahaanba debug-gaynayso gpg.
Caadada ka hortagta ku celcelinta waa in PATH loo arko sida xaalad la wadaago oo leh nidaam la diiwaangeliyay halkii ay ahaan lahayd boorso galleydo ah. Markaad rakibayso qalab sita magac binary caadi ah, hubi waxa uu hadhiyo shell-ka xiga ee aad furto. Ka dib qor nidaamka aad ku degtay, sababtoo ah rakibaha xiga wuxuu ku dari doonaa, qofka xigana wuxuu la yaabi doonaa sababta hubinta saxeexu ugu fashilanto mashiin aan waxba isbeddelin. Hal where.exe ka hor rakibaadda ayaa badbaadiya wareegga oo dhan.