En versionsstreng beviser ikke at et VPN-plugin har en funktion
Et pakkenummer er ikke en funktionsliste. Analyser epoch, upstream og revision, undersøg hvad der er installeret, og bevis derefter indstillingen der, hvor den bor.
Tre spørgsmål skiller en versionsargumentation fra en funktionsundersøgelse: hvilken komponent der skal levere indstillingen, hvilken version af den komponent der faktisk er installeret, og hvad dens changelog siger om det. Et plugins nummer alene besvarer ingen af dem. Den fristende genvej, at sammenligne en forkortet version med et minimum fra en vejledning, mislykkes, fordi distributioners versionsstrenge ikke er decimaltal. Beslut, hvad du sammenligner, før du sammenligner det.
Indstillingen kan bo i NetworkManager, i dets VPN-plugin, i den underliggende motor eller i en separat skrivebordsfrontend. Det er fire projekter med fire udgivelseshistorier.
Fire komponenter, fire udgivelseshistorier
Den editor, du ser, er normalt et plugin, og pluginet kalder en motor som OpenVPN-binæren eller en WireGuard-implementering. NetworkManager selv leverer forbindelsesmodellen, og en skrivebordsfrontend kan tilføje sine egne felter ovenpå. En funktion kan optræde i enhver af dem, og opgradering af én opgraderer ikke de andre. En nyere motor er ikke bevis for, at den installerede editor kan importere en indstilling, som motoren understøtter.
Begynd med symptomet: mangler feltet i dialogen, er det fraværende efter import, eller er det til stede men ignoreret? Disse observationer peger på forskellige komponenter og kræver forskellige beviser.
Analyser versionen, før du sammenligner den
Debians pakkepolitik definerer formatet som epoch, upstream-version og pakningsrevision. Epoch sammenlignes først, derefter upstream-delen, derefter revisionen, efter pakkehåndteringens egne sorteringsregler i stedet for decimalregning eller en simpel alfabetisk sortering. En tilde sorteres før alt, også før slutningen af den del, og det er sådan en udgivelseskandidat går forud for den endelige udgivelse. Det er den separate læsning af delene, der gør en sammenligning meningsfuld.
Opfind ikke en konverteringsregel for et eller andet andet skema, hvor 0.8.999 ser tæt på 0.9. Tallets nærhed er ikke bevis om indholdet.
Spørg, hvad der er installeret, og hvad der ville være det
apt-cache policy rapporterer den installerede version, kandidaten og det lager, hver af dem kommer fra, for hver pakke, du navngiver. Læs den for både motoren og pluginet, og noter fuldstændige strenge i stedet for forkortede former. Lokale metadata kan være forældede, og en kandidatversion beviser ikke, at en kørende proces har indlæst det build. Hvis en tjeneste ikke er genstartet siden opgraderingen, kan filen på disken og den adfærd, du observerer, være uenige.
Læs derefter den matchende changelog. En pakningsrevision kan bære patches uden at antage et nyt upstream-nummer, og det er netop det tilfælde, hvor versionen ser uændret ud, og adfærden er anderledes.
Bevis indstillingen i den ejende komponent
For et importproblem skal du undersøge det installerede plugins understøttede felter og det gemte resultat i stedet for kun dialogen. En etiket, et oprindeligt datafelt og et motorargument kan være tre repræsentationer af én indstilling, og succes med at importere en fil siger intet om, hvorvidt hver direktiv overlevede. Navngiv funktionen præcist: for eksempel at acceptere denne direktiv, mens dens betydning for godkendelse bevares.
Hvis det understøttede build til den udgivelse mangler integrationen, skal du vælge en godkendt opdateringsvej eller en anden klient. At blande en anden udgivelses lager eller anvende en arkiveret kilde-patch for at hæve et synligt nummer bytter en versionsargumentation for et ikke-understøttet system.
En brugbar rapport navngiver distributionen, de fulde pakkeversioner, ejeren af den aktive forbindelse, den krævede indstilling og den observerede gemte adfærd. Det er et reproducerbart spørgsmål.