Trei întrebări separă un argument despre versiune de o investigație a funcției: ce componentă ar trebui să ofere opțiunea, ce versiune a acelei componente este realmente instalată și ce spune jurnalul său de modificări despre asta. Numărul unui plugin singur nu răspunde la niciuna. Scurtătura tentantă, compararea unei versiuni prescurtate cu un minim dintr-un tutorial, eșuează pentru că șirurile de versiune ale distribuțiilor nu sunt zecimale. Decideți ce comparați înainte de a compara.

Opțiunea poate trăi în NetworkManager, în pluginul său VPN, în motorul de bază sau într-un frontend de desktop separat. Sunt patru proiecte cu patru istorii de lansare.

Patru componente, patru istorii de lansare

Editorul pe care îl vedeți este de obicei un plugin, iar pluginul apelează un motor precum binarul OpenVPN sau o implementare WireGuard. NetworkManager însuși oferă modelul de conexiune, iar un frontend de desktop poate adăuga propriile câmpuri deasupra. O funcție poate apărea în oricare dintre ele, iar actualizarea uneia nu le actualizează pe celelalte. Un motor mai nou nu este dovada că editorul instalat poate importa o opțiune pe care motorul o acceptă.

Începeți cu simptomul: lipsește câmpul din dialog, este absent după import sau este prezent dar ignorat? Acele observații indică componente diferite și necesită dovezi diferite.

Analizați versiunea înainte de a o compara

Politica de pachete a Debian definește formatul ca epoch, versiune upstream și revizie de împachetare. Se compară mai întâi epoch, apoi partea upstream, apoi revizia, după regulile proprii de ordonare ale managerului de pachete și nu după aritmetică zecimală sau sortare alfabetică simplă. Tilda se ordonează înaintea tuturor, inclusiv înaintea sfârșitului acelei părți, și astfel un candidat la lansare precede lansarea finală. Tocmai citirea separată a părților face comparația semnificativă.

Nu inventați o regulă de conversie pentru vreo altă schemă în care 0.8.999 pare aproape de 0.9. Apropierea cifrelor nu este dovadă despre conținut.

Întrebați ce este instalat și ce ar fi

apt-cache policy raportează versiunea instalată, candidatul și depozitul din care provine fiecare, pentru fiecare pachet pe care îl numiți. Citiți-l atât pentru motor, cât și pentru plugin, și înregistrați șiruri complete în loc de forme prescurtate. Metadatele locale pot fi învechite, iar o versiune candidat nu dovedește că un proces în execuție a încărcat acea compilare. Dacă un serviciu nu a fost repornit de la actualizare, fișierul de pe disc și comportamentul observat pot diferi.

Apoi citiți jurnalul de modificări corespunzător. O revizie de împachetare poate purta patch-uri fără a adopta un număr upstream nou, și exact acesta este cazul în care versiunea pare neschimbată, iar comportamentul diferă.

Demonstrați opțiunea în componenta care o deține

Pentru o problemă de import, inspectați câmpurile acceptate ale pluginului instalat și rezultatul salvat, nu doar dialogul. O etichetă, un câmp de date nativ și un argument de motor pot fi trei reprezentări ale unei singure setări, iar succesul importului unui fișier nu spune nimic despre supraviețuirea fiecărei directive. Numiți funcția cu precizie: de exemplu, acceptarea acestei directive păstrându-i semnificația pentru autentificare.

Dacă compilarea acceptată pentru acea lansare nu are integrarea, alegeți o cale de actualizare aprobată sau un alt client. Amestecarea depozitului altei lansări, sau aplicarea unui patch de sursă arhivat pentru a ridica un număr vizibil, schimbă un argument despre versiune pe un sistem neacceptat.

Un raport util numește distribuția, versiunile complete ale pachetelor, proprietarul conexiunii active, opțiunea necesară și comportamentul salvat observat. Aceasta este o întrebare reproductibilă.

Articole similare