Korzystam z usługi dynamicznego DNS na stronie freedns.afraid.org na moim serwerze 12.04. Zakładałem, że protokoły zostaną znormalizowane i że ddclient będzie po prostu działał, ale najwyraźniej nie. Otrzymuję ten komunikat w katalogu / var / log / syslog:
ERROR: Invalid update URL (2): unexpected status ()
Próbowałem użyć zaktualizowanej wersji ddclient z alternatywnego PPA opisanego w tej odpowiedzi , ale potem napotkałem ten błąd:
FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL: On Debian, the package libdigest-sha1-perl must be installed.
A kiedy próbuję zainstalować ten pakiet, otrzymuję to:
E: Unable to locate package libdigest-sha1-perl
Co prowadzi mnie do tego raportu o błędach , który najwyraźniej nie ma rozwiązania. Jak kontynuować?
Odpowiedzi:
Dopóki ddclient nie zostanie naprawiony , możesz ręcznie zainstalować stary moduł, który chce:
Bezpłatna strona klientów DNS i
ddclient --help
podaj przykładowe konfiguracje ddclient. Zrestartuj ddclient, aby zmiany odniosły skutek:źródło
Udało mi się uruchomić FreeDNS, po prostu edytując te dwa wiersze w
/usr/sbin/ddclient
:Od:
Do:
Od:
Do:
źródło
Komentarz do raportu o błędzie sugeruje, że jest to „łatwe do zmiany programów używać Digest :: SHA zamiast Digest :: SHA1”.
Tak więc pełne kroki są po pierwsze, ponieważ repozytorium add-apt nie jest domyślnie instalowane:
Następnie, jak opisano przez izx:
Teraz to repozytorium zawiera wiele pakietów, ale chcemy tylko ddclient. Stwórz plik preferencji, taki jak `/etc/apt/preferences.d/nathan-prefs i edytuj go, aby wyglądał następująco:
Teraz zainstaluj ddclient:
Teraz zostań rootem i edytuj / usr / sbin / ddclient. Poszukaj
require Digest::SHA1
i zamień narequire Digest::SHA
. Następnie poszukajimport Digest::SHA1
kilku linii później i zamień naimport Digest::SHA
.Na koniec otwórz plik /etc/ddclient.conf i spraw, aby wyglądał mniej więcej tak (zwróć uwagę na protokół):
Najważniejsze, że nie jestem zadowolony z włamania się do pliku i złamania zarządzania pakietami Ubuntu. Lepszym rozwiązaniem byłoby naprawienie PPA.
źródło
Możesz go pobrać z: libdigest-sha1-perl
Może być konieczne zainstalowanie libio-socket-ssl-perl . Sprawdź swój syslog
źródło