Wicd nie startuje w Debianie – problem z Pythonem.

Ostatnio wicd mi się w Debianie znarowiło – nie wstawał klient GTK. Wersja curses działała OK, więc nie wykazałem się należną czujnością i  zignorowałem problem. Zorientowałem się dość późno, bo korzystam z hibernacji głównie, a efektem był brak sieci WiFi po restarcie (no dobrze, skrót myślowy, nie tyle brak sieci, bo wpa_supplicant z ręki daje radę, co niestartowanie wicd). W każdym razie uruchomienie wicd dawało:

 Traceback (most recent call last):
File "/usr/share/wicd/daemon/wicd-daemon.py", line 47, in
import dbus
File "/usr/lib/python2.7/dist-packages/dbus/__init__.py", line 100, in
from dbus._dbus import Bus, SystemBus, SessionBus, StarterBus
File "/usr/lib/python2.7/dist-packages/dbus/_dbus.py", line 46, in
from dbus.bus import BusConnection
File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 46, in
from dbus.connection import Connection
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 42, in
from dbus.proxies import ProxyObject
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 35, in
from dbus._expat_introspect_parser import process_introspection_data
File "/usr/lib/python2.7/dist-packages/dbus/_expat_introspect_parser.py", line 26, in
from xml.parsers.expat import ExpatError, ParserCreate
File "/usr/lib/python2.7/xml/parsers/expat.py", line 4, in
from pyexpat import *
ImportError: /usr/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt

W ramach zmyłki – w pakiecie wicd błąd nie jest zgłoszony (i słusznie), za to zgłoszony jest błąd 665346 w Pythonie. I faktycznie, upgrade libexpat1 do 2.1~beta3 (wersja z unstable) pomaga. HTH

Jak zdobyć certyfikat IPv6 i fajną koszulkę za darmo.

No i udało się. Szczerze mówiąc myślałem, że będzie trudniej i nie przypuszczałem, że cel jest tak blisko. Blokada IRC przez HE o której pisałem niedawno okazała się świetnym motywatorem do skończenia testu, czyli osiągnięcia poziomu Sage, który pozwala na odblokowanie dostępu do IRC. No i okazuje się, że prawdą jest to, co chciałem sprawdzić, czyli że certyfkiat IPv6 od HE da się zrobić, nie wydając ani złotówki i korzystając wyłącznie z zasobów (domeny, serwery DNS), dostępnych zupełnie za darmo w Internecie.

Nie zamierzam robić tutoriala krok po kroku – sam proces certyfikacji jest prosty i w sumie daje sporo frajdy (pod warunkiem, że nie trzeba powtarzać kroków kilka razy jak w moim przypadku…), poza tym samo HE daje tutoriale video, ale parę wskazówek się przyda, żeby się nie frustrować niepotrzebnie.

Adresację (tunel) IPv6 za darmo dostaniemy na przykład od samego HE. Z kolei domeny (dobra, subdomeny) za darmo daje na przykład afraid.org w ramach usługi FreeDNS. Niestety, ich NSy nie posiadają adresów IPv6 (żaden!). Można to jednak obejść delegując subdomenę na takie NSy, które posiadają obsługę IPv6. Na przykład te od HE.

Żeby nie było za prosto – wygląda, że jest jakiś problem z cache’owaniem(?) wpisów DNS po stronie HE – w pewnym momencie panel żadną miarą nie chciał przyjąć obsługi domeny, mimo, że powinien (support też tak twierdził). Rozwiązaniem jest dodanie delegacji na wszystkie ns1 do ns5 na he.net. Potem, przy którymś teście co prawda trzeba usunąć ns1, bo test wymaga (IMHO błędnie, powinien sprawdzać czy minimum 1 ma), żeby wszystkie NSy miały adresy IPv6, ale to insza inszość.

I tyle. Warto dodać, że ukończenie certyfikatu IPv6 od HE daje nie tylko możliwość odblokowania dostępu do IRC. Dodatkowo (a może przede wszystkim?) każdy, kto uzyska poziom Sage może otrzymać fajną, geekową, unikatową koszulkę za darmo (wysyłka też) – wystarczy podać rozmiar w panelu HE i potwierdzić adres do wysyłki. Taki – podobno bardzo udany – pomysł HE na popularyzację IPv6.

Zachęcam do zabawy. Mi pozostało wymaksowanie punktów. Osobną kategorią zabawy jest znalezienie błędów (implementacyjnych, nie rzeczowych) w samym teście (można udawać, że się zrobiło pewne rzeczy, nie robiąc ich, ale nie o to oczywiście chodzi). 😉

UPDATE: Szczerze mówiąc, myślałem, że Sage jest więcej, szczególnie, że sporo spotkałem na IRCu. Tymczasem na PLNOG dowiedziałem się, że jest raptem 87 osób w Polsce i ok. 4600 na całym świecie. Więcej statystyk.

Java-package z powrotem w Debianie.

Jakiś czas temu Sun zmienił politykę dotyczącą wydawania swojej wersji Javy, w wyniku czego wyleciała ona zarówno z Ubuntu, jak i Debiana. Użytkownicy zostali z niezaktualizowanymi wersjami, więc obie dystrybucje skierowały swoje zainteresowanie w stronę OpenJDK, która teoretycznie ma zapewnić wystarczającą funkcjonalność. Więcej o sprawie można poczytać tu w przypadku Debiana, oraz tu w przypadku Ubuntu. Ten drugi link zawiera instrukcję co zrobić, żeby mieć bezpieczny system, czyli opis migracji do OpenJDK na Ubuntu (IIRC dokładnie to samo należy zrobić w przypadku Debiana).

Fajnie, że jest wolne rozwiązanie, fajnie, że pewnie projekt OpenJDK dostanie niezłego kopa, jeśli chodzi o rozwój, ale jednak nie wszystkim w tej chwili wystarcza OpenJDK, które jest wolniejsze i… nie zawsze działa poprawnie (ja miałem problem z appletami VNC, które przydają się przy administracji sprzętem, zwłaszcza w przypadku rozwiązań typu KVM…). Wybór był trojaki: instalacja ręczna Javy od Sun, stara, dziurawa wersja albo niedziałanie aplikacji.

Pierwszy wybór jest męczący, jeśli ktoś lubi mieć wszystko w systemie spaczkowane (ja lubię), pozostałe dwa są niezbyt dopuszczalne w praktyce… Cieszy mnie więc reaktywacja projektu java-package (aktualnie dostępny w unstable, jeśli wszytko pójdzie dobrze, będzie we Wheezy), czyli prymitywnego skądinąd narzędzia pozwalającego na zrobienie w prosty sposób pakietu deb z Javą od Sun. Sam fakt spaczkowania oczywiście nie wpływa na działanie w żaden sposób, ale na pewno ułatwi utrzymanie porządku w systemach poprzez włącznie Javy od Sun do systemu zarządzania pakietami, wrzucenie do swojego repozytorium pakietów itp.