Czy stary .deb openfortivpn pasuje do Twojego Raspberry Pi?
Zarchiwizowany .deb armhf przypina wydanie, do którego Twój Pi może już nie pasować. Przed instalacją sprawdź wydanie systemu, architekturę pakietu i źródło aktualizacji.
Odpowiedź na forum podaje pełną nazwę pliku, a nazwa wygląda jak rozwiązanie: jeden .deb, jedno polecenie, gotowe. To, co ten ciąg naprawdę koduje, to wersja pakietu, architektura procesora i zestaw dystrybucji, przeciwko któremu został zbudowany w dniu, w którym ktoś napisał post. Żaden z tych trzech elementów nie opisuje automatycznie płytki na Twoim biurku. Stare pobranie to migawka sytuacji jednej maszyny, a nie plan instalacji dla Twojej.
Co nazwa pliku po cichu przypina
Czytaj nazwę taką jak openfortivpn_1.17.0-1_armhf.deb od prawej do lewej. Sufiks to architektura, dla której skompilowano plik binarny, środkowe pole to wersja upstream i pakowania, a domyślne czwarte pole to zestaw bibliotek dystrybucji, w której go zbudowano.
W instalacji Raspberry Pi OS 64-bit architektura systemu to arm64, więc dpkg -i odrzuca pakiet armhf z powodu niezgodności architektury. Nawet tam, gdzie multiarch umożliwia instalację, plik binarny oczekuje wersji bibliotek z wydania, przeciwko któremu został zbudowany, a nowszy system bazowy może ich już nie dostarczać. Wynikiem jest zainstalowany pakiet, którego plik wykonywalny nie uruchamia się, i to jest awaria, którą ludzie zwykle błędnie interpretują jako zepsuty sam klient.
To, że płytka jest urządzeniem ARM, nie czyni pakietu ARM odpowiednim. Architektura to jedna oś; wydanie i ABI to pozostałe dwie, i zawodzą niezależnie.
Zapytaj dystrybucję, zanim poprosisz o link do pobrania
Każdy utrzymywany kanał może Ci powiedzieć, co zainstalowałby teraz. Uruchom zapytanie na maszynie docelowej, z repozytoriami, których naprawdę używa, zanim rozważysz jakiekolwiek przesyłanie pliku.
cat /etc/os-release
dpkg --print-architecture
apt-cache policy openfortivpnWiersz kandydata z wersją i nazwą repozytorium oznacza, że dystrybucja ma już kompilację dla tego systemu. Brak kandydata albo kandydat z zestawu, którego nie zamierzałeś używać, to informacja o Twoich źródłach, a nie o tym, czy oprogramowanie gdzieś istnieje.
Jeśli odświeżenie metadanych się nie powiedzie, trzymaj tę awarię oddzielnie od kwestii pakietu. Rozwiązywanie nazw, transport repozytoriów, brakujący podpis Release i zestaw na końcu życia psują apt update, zanim klient w ogóle wchodzi do gry. Naprawianie źródeł to inne zadanie niż wybór klienta VPN, a mieszanie obu to sposób, w jaki ludzie kierują aktualny system na przestarzałe wydanie.
Co weryfikuje apt, a czego nie dostaje pobrany plik
Normalna instalacja podąża łańcuchem podpisów: archiwum podpisuje swój indeks, indeks zawiera skróty każdego pakietu, a pakiet musi się zgadzać. odnośnik uwierzytelniania archiwum oddziela ten łańcuch od pomysłu sprawdzania podpisu dołączonego do każdego pojedynczego pliku.
Plik zapisany ze starego linku HTTP nie ma nic z tego. Przychodzi bez tożsamości repozytorium, nie jest aktualizowany, gdy dystrybucja łata klienta, i nic nie rejestruje, kto odpowiada za jego zastąpienie. To wciąż może być uzasadniony wybór dla administratora z przypiętym artefaktem, ale wybór musi wiązać się z właścicielem, gdzieś zapisaną sumą kontrolną i planem następnej aktualizacji bezpieczeństwa.
Tłumienie błędów podpisu lub wyłączanie weryfikacji TLS, aby stara instrukcja dalej działała, usuwa jedyną część procesu, która cokolwiek sprawdzała. Przywróć zamiast tego zawodzące sprawdzenie.
Zainstaluj klienta, potem debuguj połączenie osobno
Gdy istnieje utrzymywany kandydat, zainstaluj go przez normalną sprawdzoną transakcję i pozwól menedżerowi pakietów zapisać, co zrobił.
Jeśli wdrożenie naprawdę wymaga kompilacji z upstreamu, postępuj zgodnie z aktualnymi instrukcjami budowania projektu i traktuj ją jako oprogramowanie, które teraz utrzymujesz: pakiety deweloperskie, pkg-config, nagłówki biblioteki TLS i demon PPP to prawdziwe zależności, podobnie jak procedura usuwania, której będziesz potrzebować później.
Instalacja to tylko lokalny etap oprogramowania. Brama musi zaakceptować protokół i przepływ uwierzytelniania klienta, klient musi ufać certyfikatowi przedstawionemu przez bramę, a tunel potrzebuje działającej warstwy PPP oraz tras i właściciela resolvera. Zakończona transakcja pakietu niczego nie dowodzi w kwestii tego, czy brama akceptuje konto albo czy zakres prywatny jest osiągalny. Testuj każdą warstwę tam, gdzie się psuje, zamiast uruchamiać instalator ponownie.
Plan, który powinien zastąpić starą nazwę pliku
Najpierw zapisz tożsamość platformy: wydanie systemu, architekturę i używaną listę źródeł. Następnie wskaż autoryzowane miejsce, z którego pochodzi pakiet — czy to repozytorium dystrybucji, repozytorium dostawcy z przypiętym kluczem, czy kompilacja, którą sam kompilujesz i pakujesz.
Na koniec wskaż opiekuna i ścieżkę aktualizacji. Pi uruchamiający klienta, którego nikt nie posiada, będzie działać do pierwszej aktualizacji biblioteki, a potem ktoś z tym samym problemem znowu znajdzie ten sam wątek na forum.
Poprawione przekonanie jest wystarczająco proste, by ująć je w jednym zdaniu: stary pakiet jest dowodem, że klient kiedyś się zbudował i działał, a nie dowodem, że zainstaluje się na Twojej płytce dziś wieczorem. Sprawdź trzy osie, a potem wybierz kanał, który możesz dalej aktualizować.