Instrukcje wymieniające konkretne wydanie OpenVPN zwykle kodują jakąś funkcję, a numer wersji jest tylko jej zastępnikiem. Zanim je przeczytasz, dystrybucja może dostarczać coś nowszego niż podana wersja i wciąż nie mieć integracji, której potrzebujesz, albo dostarczać coś starszego, co już spełnia wymaganie. Traktowanie numeru jako celu daje zmiany w repozytoriach, które niczego nie rozwiązują. Traktowanie go jako objawu wymagania daje znacznie mniejszą decyzję.

Trzy pytania rozdzielają te dwa przypadki: która implementacja, które wydanie bazowe i kto odpowiada za aktualizacje.

Numer wersji nie jest wymaganiem funkcji

Zapytaj, czego potrzebuje połączenie, zanim zapytasz, który pakiet to zapewnia. Profil może wymagać szyfru, trybu TLS, wtyczki uwierzytelniania lub interfejsu zarządzania, a każdego z nich może brakować w kompilacji, która podaje zadowalający ciąg wersji. Odwrotnie, nieco starsza kompilacja może implementować wszystko, czego używa profil. Ciąg wersji to podsumowanie napisane przez pakującego, a nie lista funkcji.

Wyjaśnij, czy instrukcja znaczy „ta funkcja lub nowsza”, czy „dokładnie ta kompilacja została przetestowana”. Obie odpowiedzi prowadzą do różnych repozytoriów.

Nazwa kodowa musi pasować do wydania bazowego

Repozytoria są przypisane do nazwy kodowej dystrybucji, a nazwa wydania wariantu pochodnego nie jest nazwą kodową jego bazy. Przeczytaj /etc/os-release dla VERSION_CODENAME i ID_LIKE, i potwierdź, którego wydania bazowego trzyma się wariant pochodny. Stara odpowiedź, która przypisywała jedno wydanie pulpitu do jednej nazwy kodowej Ubuntu, nie mówi nic o następnym. Zgadywanie nazwy kodowej to sposób, w jaki system zaczyna pobierać pakiety zbudowane wobec innej biblioteki C.

Zanim cokolwiek dodasz, sprawdź, co menedżer pakietów już oferuje, używając apt-cache policy openvpn. Jeśli zainstalowany kandydat spełnia wymaganie, pytanie o repozytorium znika.

Do czego naprawdę przywiązuje się repozytorium nadrzędne

Kanał nadrzędny publikuje kompilacje dla konkretnych wydań bazowych, a jego instrukcje wiążą wiersz repozytorium z kluczem podpisu i obsługiwaną nazwą kodową. Te elementy nie są miejscami zastępczymi, które można wypełnić dowolną znaną nazwą kodową. Zależności są rozwiązywane wobec wydania, na które celowała kompilacja, więc pakiet, który instaluje się czysto, nadal może zepsuć niezwiązane oprogramowanie dzielące bibliotekę.

Przeczytaj przewodnik repozytorium dla wybranej implementacji i stosuj jego aktualną tabelę zgodności, a nie kopię ze starszego bloga.

Instalowanie nie jest integrowaniem

Zastąpienie pliku binarnego openvpn nie dodaje brakującej wtyczki NetworkManager, okna importu ani edytora pulpitu. Te elementy żyją w osobnych pakietach, takich jak network-manager-openvpn i jego odpowiednik dla pulpitu, i mają własną relację wersji z biblioteką klienta. OpenVPN 3 Linux to jeszcze inna implementacja, z własnym modelem sesji i konfiguracji, więc jej pakiety nie są bezpośrednim zamiennikiem dla przepływu pracy z profilem 2.x.

Zdecyduj, który komponent posiada działający tunel, zanim cokolwiek zainstalujesz. Dwaj menedżerowie na jednym hoście dają takie samo zamieszanie z podwójnym tunelem jak dwóch klientów.

Zapisz trzy decyzje

Zapisz implementację, wydanie bazowe i właściciela aktualizacji, i zaznacz, który z nich ma się zmienić. Właśnie ten zapis czyta przyszła aktualizacja, gdy wiersz repozytorium przestaje działać po wydaniu dystrybucji. Bez niego następna osoba powtarza zgadywanie nazwy kodowej z nowszym numerem.

Jeśli potrzebny kanał nie obsługuje już wydania bazowego, odpowiedzią jest migracja platformy, a nie repozytorium sprzed trzech wydań.

Powiązane artykuły