Який пакет OpenVPN справді може підтримувати випуск Linux
Номер версії в старому посібнику — лише замінник певної можливості. Зіставте реалізацію та базовий випуск, а потім перевірте, що система вже пропонує.
Інструкції, у яких названо конкретний випуск OpenVPN, зазвичай кодують певну можливість, а номер версії — лише її замінник. На момент читання дистрибутив може постачати щось новіше за названу версію і все одно не мати потрібної вам інтеграції, або постачати щось старіше, що вже покриває вимогу. Якщо вважати номер метою, виходять зміни репозиторію, які нічого не вирішують. Якщо вважати його ознакою вимоги, рішення виявляється значно меншим.
Дві ситуації розділяють три питання: яка реалізація, який базовий випуск і хто відповідає за оновлення.
Номер версії — це не вимога до можливості
Спитайте, що потрібно з'єднанню, перш ніж питати, який пакет це дає. Профілю може знадобитися шифр, режим TLS, плагін автентифікації або інтерфейс керування, і будь-чого з цього може не бути у збірці, яка повідомляє задовільний рядок версії. І навпаки, трохи старіша збірка може реалізувати все, що використовує профіль. Рядок версії — це підсумок, написаний пакувальником, а не перелік можливостей.
Уточніть, чи інструкція означає «ця можливість або новіша», чи «перевірено саме цю збірку». Дві відповіді ведуть до різних репозиторіїв.
Кодове ім'я має збігатися з базовим випуском
Репозиторії прив'язані до кодового імені дистрибутива, а назва випуску похідного дистрибутива — не кодове ім'я його основи. Прочитайте /etc/os-release, подивіться VERSION_CODENAME і ID_LIKE і підтвердьте, за яким базовим випуском іде похідний дистрибутив. Стара відповідь, яка зіставила один випуск робочого столу з одним кодовим іменем Ubuntu, нічого не каже про наступний. Угадування кодового імені — це шлях, яким система починає тягнути пакети, зібрані проти іншої бібліотеки C.
Перевірте, що менеджер пакетів уже пропонує, за допомогою apt-cache policy openvpn, перш ніж щось додавати. Якщо встановлений кандидат задовольняє вимогу, питання про репозиторій зникає.
До чого насправді прив'язаний висхідний репозиторій
Висхідний канал публікує збірки для конкретних базових випусків, і його інструкції пов'язують рядок репозиторію з ключем підпису і підтримуваним кодовим іменем. Ці частини не є заповнювачами, які можна замінити будь-яким відомим вам кодовим іменем. Залежності розв'язуються відносно випуску, на який була націлена збірка, тому пакет, що ставиться чисто, все одно може зламати стороннє програмне забезпечення, яке використовує ту саму бібліотеку.
Прочитайте посібник із репозиторію для обраної реалізації та дотримуйтеся його актуальної таблиці сумісності, а не копії зі старого блогу.
Встановити — не означає інтегрувати
Заміна бінарного файлу openvpn не додає відсутній плагін NetworkManager, діалог імпорту чи редактор робочого столу. Вони живуть в окремих пакетах, як-от network-manager-openvpn та його настільний відповідник, і мають власні відносини версій із клієнтською бібліотекою. OpenVPN 3 Linux — ще одна реалізація, зі своєю моделлю сеансів і конфігурації, тому її пакети не є прямою заміною для робочого процесу з профілем 2.x.
Визначте, який компонент володіє працюючим тунелем, перш ніж щось встановлювати. Два менеджери на одному хості дають ту саму плутанину з подвійним тунелем, що й два клієнти.
Запишіть три рішення
Зафіксуйте реалізацію, базовий випуск і власника оновлень та позначте, що з цього, за очікуванням, зміниться. Саме цей запис читає майбутнє оновлення, коли рядок репозиторію перестає працювати після випуску дистрибутива. Без нього наступна людина повторює вгадування кодового імені з новішим номером.
Якщо потрібний канал більше не підтримує базовий випуск, відповідь — міграція платформи, а не репозиторій трьох випусків давнини.