Wyszukiwanie pakietów nie z danej wersji w Debianie (Ubuntu).

Pisałem o sprzątaniu pakietów w systemie Debian przy okazji upgrade’u. Rozwiązanie tyleż skuteczne, co nieeleganckie, szczególnie ten dpkg, awk, perl, grep i wajig na dokładkę.

Dziś, przy okazji innego taska (jak znaleźć pakiety nie z określonej wersji zamiast poprzedniego jak znaleźć pakiety nie mające kandydata w określonej wersji) pokazałem tamto rozwiązanie na kanale IRC i dostałem pytanie czemu nie apt-show-versions?

No właśnie, czemu nie? Po prostu wtedy pisałem na szybko, z założeniem, że raz to uruchomię i niech sobie nawet kwadrans działa… Jedynym powodem dla którego nie użyć apt-show-versions jest istnienie managera pakietów wajig, który ma nakładkę na to polecenie, czyli wajig versions (i tak trzeba mieć apt-show-versions zainstalowane, ale łatwiej zapamiętać).

Czyli, jeśli chcemy wyświetlić pakiety, które nie są zainstalowane z Debiana Squeeze, wystarczy:

wajig versions | grep -v squeeze 
 

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. 🙂