OpenVPN usunięty, ale /etc/openvpn został: usunąć czy wyczyścić całkowicie
Pozostały /etc/openvpn nie oznacza, że pakiet jest zainstalowany. Odczytaj stan dpkg, wybierz między usunięciem a pełnym wyczyszczeniem, a potem sprawdź, czego dpkg nigdy nie usunie.
Katalog nadal jest, usługa zniknęła i nie jest oczywiste, czy pakiet jest zainstalowany. W systemach rodziny Debian pozostały /etc/openvpn zwykle oznacza, że pakiet usunięto bez pełnego wyczyszczenia, co jest stanem udokumentowanym, a nie zepsutym. Pliki, które widzisz, to prawdopodobnie konfiguracja, a nie program.
Pracuj w kolejności runbooka: odczytaj stan pakietu, zdecyduj, co zachować, świadomie wyczyść całość, a potem sprawdź, co zostało. Każdy krok jest odwracalny aż do wyczyszczenia.
Najpierw odczytaj stan pakietu
Zacznij od bazy pakietów, a nie od systemu plików. dpkg -l openvpn wypisuje dwuliterowy stan, a rc oznacza, że pakiet usunięto, zachowując jego pliki konfiguracyjne. dpkg-query -W -f='${Status}\n' openvpn daje tę samą odpowiedź słowami. Listing katalogu nie powie ci o tym nic.
Nie myl Community OpenVPN z Access Server ani z wtyczką NetworkManagera. To różne pakiety o różnych ścieżkach usuwania.
Jeśli stan to ii, pakiet jest zainstalowany, a katalog jest oczekiwany. Jeśli rc, została tylko konfiguracja. Jeśli zapytanie nic nie zwraca, pakiet został całkowicie wyczyszczony, a katalog należy do czegoś innego.
Wybierz między usunięciem a pełnym wyczyszczeniem
remove usuwa programy i zostawia konfigurację. purge usuwa też konfigurację i uruchamia skrypt czyszczący pakietu. Oba są decyzjami administracyjnymi o stanie, a nie dwoma zapisami tej samej komendy.
Przed wyborem wypisz, co pakiet posiada, za pomocą dpkg -L openvpn. Ten wynik to mapa ścieżek zarządzanych przez pakiet i właściwe wejście do decyzji, co usunęłoby pełne wyczyszczenie. Wszystko, co widzisz w katalogu, a czego nie ma na tej liście, przyszło z innego miejsca. Traktuj te pliki jako swoje do przejrzenia, a nie jako pozostałości pakietu.
Pełne wyczyszczenie już usuniętego pakietu jest dozwolone. Ponowna instalacja najpierw nie jest wymagana.
Zachowaj to, czego jeszcze potrzebujesz
Przed pełnym wyczyszczeniem zachowaj to, czego jeszcze potrzebujesz: profile, certyfikaty klienta, klucze prywatne, pliki CCD i wszelkie lokalne skrypty. Skopiuj je z uprawnieniami odpowiednimi dla sekretów i zapisz, gdzie są kopie.
Sprawdź, czy inna usługa lub menedżer nie używa tego samego katalogu. Druga instancja VPN albo skrypt automatyzacji może zależeć od ścieżki, która wygląda jak pozostała konfiguracja.
Jeśli maszyna jest wycofywana z eksploatacji, lokalne pliki to mniejsza połowa problemu. Wyeksportowane profile i zdalne autoryzacje żyją dłużej niż każdy usunięty katalog.
Wyczyść całkowicie i sprawdź
Wykonaj pełne wyczyszczenie przez menedżera pakietów, a nie przez usunięcie katalogu. sudo apt purge openvpn trzyma bazę pakietów i skrypty czyszczące w procesie.
Potem powtórz zapytanie o stan i potwierdź, że pakiet już się nie pojawia. Sprawdź, że usługi nie ma, za pomocą systemctl status openvpn@server lub użytej nazwy unitu, i przetestuj zwykłą sieć.
Pliki, których pełne wyczyszczenie nie usunie
Niektóre pliki przeżywają pełne wyczyszczenie celowo. Wygenerowana konfiguracja obsługiwana przez skrypty opiekuna pakietu nie zawsze jest znana bazie plików dpkg. Konfiguracja w katalogach domowych użytkowników jest poza czyszczeniem katalogów systemowych. A wszystko, co administrator stworzył ręcznie, nigdy nie należało do pakietu. Każdy z tych przypadków wymaga własnego przeglądu.
Rekurencyjne usunięcie każdej ścieżki z VPN w nazwie to sposób, w jaki znikają działające poświadczenia i niezwiązana konfiguracja.
Zakończ unieważnieniem tego, czego maszyna już nie potrzebuje: wyeksportowane profile, wydane certyfikaty klienta i każde konto, które uwierzytelniało się przez nią. Usunięcie lokalnego katalogu nie unieważnia poświadczenia, które wciąż istnieje gdzie indziej. Dokumentacja dpkg opisuje stany i zakres pełnego wyczyszczenia.