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 
 

Linux a FreeBSD czyli FUD w wydaniu FreeBSD.

Przy okazji niedawnej informacji o benchmarku Debiana z kernelem Linux i Debiana z kernelem FreeBSD wywiązała się dyskusja nt. mitycznej większej szybkości FreeBSD vs. Linux. Jako przykład nierzetelnej informacji nt. porównania Linuksa i FreeBSD pojawił się przykład tej stronki. Faktycznie, niekompetencja tego porównania jest ogromna, stąd wpis.

Zdaję sobie sprawę, że stronka jest przestarzała, ale… jest (cała dokumentacja do FreeBSD jest równie aktualna?). A część błędów w porównaniach była aktualna zawsze. Zarzuty (tylko tam, gdzie IMO Linux zyskał niezasłużenie niższą ocenę niż FreeBSD):

  1. Performance – porównanie starego kernela – linia 2.4. Do tego odnośnik do benchmarku na który się powołują nie działa.
  2. Security – ujemny punkt dla Linuksa to stanowczo za dużo. Chyba, że porównuje się typowo desktopowe dystrybucje, ale tu z kolei przydałby się punkt szybkość rozwoju systemu, gdzie FreeBSD zostaje daleko w tyle. Pewnie dlatego punkt pominięty.
  3. Filesystem – ext2 to przeżytek, chyba żadna dystrybucja nie korzysta z tego domyślnie. Porównywać trzeba by ZFS i ext4. No to proszę, świeże porównanie szybkości ZFS, ext4, brtfs. Oczywiście sama szybkość filesystemu to nie wszystko.
  4. Device Drivers – stawianie FreeBSD wyżej pod względem driverów (w tym zamkniętych binarnych) to jakiś żart. Spora część sprzętu po prostu nie ma żadnego drivera dedykowanego dla FreeBSD. Faktem jest, że pod Linuksem sterowniki binarne wymagają czasem konkretnej wersji kernela (patrz fglrx) ale nie jest to – i z tego co pamiętam nigdy nie było – tak dramatyczne, jak opisują.
  5. Development environment – zarzucanie, że skompilowana aplikacja z Red Hat nie działa na Slackware to totalne nieporozumienie. Z jednej strony jest porównywany jest jeden system (AKA dystrybucja *BSD), z drugiej różne dystrybucje. Poza tym, znakomita część oprogramowania działa po przeniesieniu binarek (patrz Debian i Ubuntu, patrz alien).

Zastanawiam się, jak obecnie wygląda propaganda FreeBSD? Nadal jest równie „rzetelna”? Jeśli chodzi o binarne sterowniki, to przykład „dobrego wsparcia sprzętu” i „stabilnych sterowników binarnych” opisywałem w tym wpisie o Opensolaris, FreeBSD i Linuksie.

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