L-installazzjoni tal-OpenVPN tfalli għax il-gpg tal-Git jirbaħ fuq PATH
Git for Windows iġib il-gpg.exe tiegħu stess, u l-ordni tal-PATH tiddeċiedi liema wieħed iħaddem l-installer tal-OpenVPN. Iċċekkja b’where.exe, imbagħad erġa’ ordna minflok tħassar.
Installa tal-OpenVPN li jmut taħt Chocolatey b’żball ta’ firma jew ċavetta normalment mhuwiex problema ta’ download. Il-pakkett iħaddem pass ta’ verifika li jsejjaħ gpg, u Windows issolvi dak l-isem vojt permezz ta’ PATH. Jekk Git for Windows ġie installat l-ewwel, il-gpg.exe tiegħu magħha joqgħod quddiem il-bini tal-GnuPG li jistenna l-OpenVPN, u l-programm żbaljat iwieġeb is-sejħa. L-iżball li tara huwa dak li ddeċieda jilmenta dwaru l-programm l-ieħor, u għalhekk qatt ma jsemmi l-kawża vera.
L-ordni tal-PATH tiddeċiedi liema gpg jaħdem
Windows m’għandux reġistru ċentrali ta’ ismijiet eżekutabbli. Meta proċess jitlob gpg mingħajr mogħdija sħiħa, il-loader jimxi mal-entrati ta’ PATH fl-ordni u jħaddem l-ewwel qbil. Git for Windows iġib bini minimu tal-GnuPG fid-direttorju usr/bin tiegħu biex il-komit iffirmati jaħdmu, u l-installer tiegħu normalment iqiegħed dak id-direttorju qrib il-bidu tal-PATH tal-utent.
GnuPG jinstalla fid-direttorju tiegħu stess, normalment C:\Program Files (x86)\GNU\GnuPG\pub, u dak l-entrat jista’ jkun aktar tard fil-lista jew nieqes għal kollox mill-PATH tal-utent. Iż-żewġ programmi jaqsmu isem u ħafna minn interface tal-linja tal-kmand, imma mhux l-istat tagħhom: il-bini tal-Git ifittex ċurkett taċ-ċwievet x’imkien ieħor, jista’ jkun verżjoni differenti, u jista’ ma jaċċettax l-għażliet li jgħaddi l-installer. Dik id-diskrepanza tidher bħala żball ta’ firma jew ċavetta, li huwa rapport veritier ta’ dak li ra l-binarju żbaljat. Xejn fil-messaġġ ma jindika lill-loader, għax il-loader għamel eżattament dak li ntqal lilu.
Għaliex il-qoxra li tibda minnha tiddeċiedi r-riżultat
Ir-regola tal-wirt hija l-parti li tiswa biex tassimila. Proċess tifel jieħu l-ambjent tal-qoxra li nediet, allura l-ordni li timporta hija l-ordni fil-mument li jibda Chocolatey, mhux l-ordni wara li tissewwieha.
Għalhekk l-editjar ta’ PATH f’tieqa tas-settings u t-tnedija mill-ġdid tal-installazzjoni fl-istess terminal spiss ma jbiddel xejn: it-terminal żamm l-ambjent antik. Ibda qoxra ġdida wara kull bidla, u kkonferma b’where.exe gpg f’dik il-qoxra l-ġdida qabel terġa’ tipprova. Din hija wkoll ir-raġuni għaliex entrat fil-livell tal-magna tista’ tegħleb bidla fil-livell tal-utent, għax xi installers iżidu fil-bidu tal-PATH tal-magna u l-entrati tal-magna jiġu evalwati qabel dawk tal-utent. Jekk iż-żewġ livelli jinkludu mogħdija tal-GnuPG, iddeċiedi liema waħda int verament qed iżżomm.
L-ewwel tiswija: erġa’ ordna l-entrati
It-tiswija preċiża hija li tħalli d-direttorju tal-GnuPG mahsub jirbaħ. Iftaħ il-varjabbli tal-ambjent tal-utent, editja Path, u ċċaqlaq id-direttorju pub tal-GnuPG fuq l-entrati tal-Git. Imbagħad iftaħ tieqa ġdida tal-PowerShell, għax dik li qed taħdem għadha żżomm il-lista l-antika.
L-alternattiva hija ambjent nadif temporanju għall-installazzjoni: neħħi l-entrati tal-Git, iftaħ qoxra ġdida, ħaddem choco install openvpn, imbagħad erġa’ stabbilixxihom.
Iż-żewġ approċċi jaħdmu għall-istess raġuni, u t-tieni huwa sigur biss jekk verament terġa’ tistabbilixxi l-entrati. It-tneħħija tal-usr/bin tal-Git mill-PATH tkisser b’mod permanenti l-komit iffirmati, u l-għodda li jmiss li tistenna gpg li jaħdem tfalli bil-messaġġ tagħha stess li m’għandu xejn x’jaqsam mal-OpenVPN. Jekk tieħu t-triq temporanja, żomm il-valur oriġinali ta’ Path fit-ticket sabiex ir-restawr ikun paste u mhux bini mill-ġdid. L-ordni tal-entrati hija t-tiswija dejjiema; it-tħassir tagħhom huwa soluzzjoni temporanja b’data ta’ skadenza.
Ivverifika, imbagħad erġa’ poġġih
Ivverifika qabel u wara fl-istess kuntest tal-utent li se juża Chocolatey. where.exe gpg jelenka kull qbil fl-ordni tas-soluzzjoni, allura l-ewwel linja hija dik li se taħdem; Get-Command gpg -All jagħti l-istess tweġiba b’aktar dettall fil-PowerShell. Imbagħad gpg --version jikkonferma liema bini wieġeb.
Jekk where.exe għadu jelenka l-kopja tal-Git l-ewwel, l-ordni mill-ġdid ma waslitx għal dik is-sessjoni, u ebda ammont ta’ installazzjoni mill-ġdid mhu se jgħin. Iċċekkja kemm il-PATH tal-magna kif ukoll tal-utent b’[Environment]::GetEnvironmentVariable('Path','Machine') u l-istess sejħa b’'User', għax il-lista effettiva tinġabar mit-tnejn. Wara installazzjoni b’suċċess, erġa’ ċċekkja b’openvpn --version u ibda s-servizz jew il-GUI darba, għax pakkett jista’ jinstalla nadif u xorta jħalli servizz li mhux se jibda.
Jekk PATH ordnat sew għadu jfalli, il-varjabbli li jifdal hija l-verżjoni tal-pakkett. Pakkett Chocolatey pinned jista’ jistenna bini tal-GnuPG jew mogħdija tal-installazzjoni speċifiċi li l-magna tiegħek m’għandhiex.
Aqra l-log tal-pakkett stess qabel tibdel xejn ieħor. C:\ProgramData\chocolatey\logs\chocolatey.log jirreġistra l-linja tal-kmand li fallett u d-direttorju minn fejn inħadmet, li jgħidlek jekk is-sejħa falluta kinitx kontroll tal-firma, estrazzjoni jew script wara l-installazzjoni. Dik id-distinzjoni tiddeċiedi jekk għadekx qed tiddenebbaggja gpg.
Il-vizzju li jipprevjeni ripetizzjoni huwa li tittratta PATH bħala stat kondiviż b’ordni dokumentat u mhux bħala borża ta’ direttorji. Meta tinstalla għodda li ġġib isem binarju komuni, iċċekkja x’qed jidhen fil-qoxra li jmiss li tiftaħ. Imbagħad ikteb l-ordni li wasalt għaliha, għax l-installer li jmiss se jżid magħha u l-persuna li jmiss se tistaqsi għaliex kontroll tal-firma jfalli fuq magna fejn xejn ma nbidel. where.exe wieħed qabel l-installazzjoni jiffranka ċ-ċiklu kollu.