Zarządzanie pakietami w Debianie – wajig.

Narzędzi do zarządzania pakietami w Debianie jest sporo: poczynając od graficznego synaptic, poprzez zalecane, ale niekoniecznie powszechnie używane – szczególnie przez administratorów na serwerach – aptitude, po nieśmiertelnego apta i dpkg. Nie ma co ukrywać, mimo swoich wad apt jest popularny i używany. Jednak nie tylko prędkość ma nienajlepszą, funkcjonalność także pozostawia nieco do życzenia.

Nie można korzystać z jego pomocą z lokalnych pakietów deb – wymaga, by były w repozytorium. Oczywiście w takim wypadku można się posiłkować dpkg (to zawsze można), ale… statystyki ilości zużywanego przez pakiety miejsca i inne bajery nadal będą nieosiągalne. No i trzeba pamiętać, czy chcemy skorzystać z apt-get, apt-cache, apt-file czy jeszcze innego polecenia.

Dawno, dawno temu odkryłem wajig, czyli nakładkę na apta i przyległości oraz dpkg. Co prawda wymaga Pythona (plus, do niektórych funkcjonalności potrzebne będą inne programy zewnętrzne), co oznacza, że obecnie w wersji podstawowej systemu potrzebne będą Perl i Python, ale za to pozwala na wszystko to, na co apt, plus wiele bonusów. IMO sprawdza się doskonale zarówno na desktopie, jak i na serwerach. Najważniejsze i najciekawsze moim zdaniem możliwości wajig:

  • wajig sizes – wyświetla rozmiar zainstalowanych pakietów (posortowany); przydatne jeśli miejsce się kończy miejsce na partycji i szukamy co by tu można wywalić.
  • wajig whichpkg – podaje do którego pakietu należy dany plik; bardzo przydatne, szczególnie jeśli wiemy, jakiego polecenia chcemy użyć, a nie wiemy, który pakiet w Debianie je zawiera.
  • wajig changelog – wyświetla changelog dla danego pakietu.
  • wajig toupgrade – wyświetla listę pakietów do aktualizacji, wraz z zainstalowaną i proponowaną wersją.
  • wajig integrity – wymaga debsums, sprawdza sumy kontrolne zainstalowanych pakietów; korzysta z sum kontrolnych, nędzna namiastka IDS i poprawności zainstalowania pakietów; niestety, posiadanie sum kontrolnych jest opcjonalne w Debianie, więc nie zawsze działa, ale lepszy rydz, niż nic.
  • wajig daily-upgrade – robi update, a następnie dist-upgrade. Przydatne do aktualizacji systemu.
  • wajig bug – wymaga reportbug, wyświetla listę zgłoszonych błędów dla danego pakietu.
  • wajig commands – wyświetla wszystkie dostępne komendy (a jest ich sporo) wraz z opisami.

Jeśli ktoś do tej pory korzysta z apt, to polecam zainteresować się managerem pakietów wajig – wygodniejszy i znacznie większe możliwości. I oczywiście można korzystać wymiennie z apt lub dpkg, jeśli zajdzie potrzeba.

Dla tych, którzy wolą klikać niż pisać, istnieje Gnome JIG (polecenie gjig), czyli graficzna nakładka na wajig. Nie korzystałem, więc tylko sygnalizuję istnienie.

Polecana lektura:

  1. http://wiki.xtronics.com/index.php/Wajig
  2. http://linux.togaware.com/survivor/wajig.html

Ostateczne rozwiązanie dla muzyki pod Linuksem.

W niedawnym wpisie szukałem czegoś, co potrafiłoby scrobble’ować do libre.fm i umiało odtwarzać radio internetowe i Jamendo. Jak to napisałem:

Ideałem byłoby coś, co potrafi scrobble’ować i radia internetowe, i dobrze obsługującego zwykłe albumy z dysku, i Jamendo. W sumie kolejność Jamendo -> radia -> albumy z dysku, bo jakoś nie jestem fanem trzymania wybranej kolekcji (co innego odtwarzacz).

Okazuje się, że się da (generalnie), co więcej, jest to bardzo proste, eleganckie i wydajne. Wykorzystać trzeba MPD (odtwarzanie), GMPC (sterowanie) oraz mpdscribble (scrobble’owanie; wspiera libre.fm, jamendo i last.fm jednocześnie). W Debianie (testing AKA Squeeze) wystarczy:

wajig install gmpc mpd gmpc-plugins mpdscribble

I zmiany w plikach konfiguracyjnych. Nieco bardziej użytkownikocentryczne i wymagające więcej pracy podejście jest opisane w tym wpisie, bardzo ładnie opisującym konfigurację mpd i mpdscribble, na który na szczęście szybko (w sumie od razu) trafiłem. Ja robiłem bardziej po debianowemu, z wykorzystaniem istniejących plików konfiguracyjnych, a nie per użytkownik. Zaleta taka, że prościej, mpd i mpdscribble wstają przy starcie systemu, od kopa, a z komputera i tak tylko ja korzystam.

Nie działa mi tylko – póki co – obsługa Jamendo (znaczy samej playlisty, scrobblera nie sprawdzałem, ale pewnie działa, bo to inny pakiet). Wygląda na jakiś błąd w pluginie do GMPC – zamiast utworów w playliście lądują fragmenty URLi. Ale wiem, że się da (tzn. pod Ubuntu działa).

Z dużych zalet – wygląda, że poprawnie scrobble’uje radio (przynajmniej opisane kiedyś Radio Baobab). No i jest leciutkie (jakieś 10% procesora dla radia), zwłaszcza w porównaniu z playerami webowymi libre.fm czy Jamendo. Jak dla mnie – miodzio. 🙂

Dziwny problem z Javą i siecią w Debianie.

Z programów napisanych w Javie korzystam raczej rzadko (wyjątkiem jest bloxer2, którym od dłuższego czasu wrzucam tu wpisy), więc nie zauważyłem tego wcześniej. Debian w wersji Squeeze, Java z repozytorium (wersja 6.20-dlj-1).

Jedna ze stron nie mogła załadować appletu i rzucała:

load: class VncViewer.class not found
[różności] 
Caused by: java.net.ConnectException: Network is unreachable

Ta sama aplikacja nie działała wcześniej na samodzielnie robionej Javie od Sun, z kolei działała (i nadal działa) na różnych wersjach Javy w Debianie Lenny. Na szczęście coś mi świtało, że ogólnie jest problem z IPv6 w Javie, szybkie gógiel potwierdził, więc pozostało znalezienie, co trzeba zmienić. Dobrzy ludzie z IRCa pomogli (!java ipv6), więc przybliżę rozwiązanie.

Winne jest zmienione domyślne ustawienie dla IPv6 w Debianie Squeeze. Okazuje się, że błąd jest zgłoszony, a działanie sieci pod Javą przywraca (tzn. w części aplikacji, niektóre działają bez problemu) ustawienie w pliku /etc/sysctl.d/bindv6only.conf:

net.ipv6.bindv6only = 0