Wednesday, February 20, 2013

Najpopularniejsze dystrybucje i oprogramowanie w 2012 roku

Już w grudniu użytkownicy największego linuksowego forum mogli oddawać swoje głosy na najpopularniejsze projekty open source w roku 2012. Wyniki zostały ogłoszone na początku lutego 2013 roku.

Poniżej przedstawię wybrane kategorie, które mnie cieszą, bo sam na nie głosowałem.

2012 LinuxQuestions.org Members Choice Award Winners:

Server Distribution of the Year - Debian (28.74%)
Najpopularniejszą dystrybucją serwerową został Debian, podobnie jak w poprzednim roku, ale spadł jego udział z 31.15%. Ja używam tego systemu również na komputerach domowych.

Database of the Year - MySQL (40.00%)
Najpopularniejszym serwerem baz danych został MySQL, podobnie jak rok temu, wtedy 49.54%. Jak widać proces migracji do MariaDB będzie bardziej ewolucyjny, niż reakcyjny na politykę Oracle po przejęciu Sun.

Virtualization Product of the Year - VirtualBox (53.79%)
Ten wybór mnie już nie cieszy, głosowałem na KVM i mam nadzieję, że mój wkład w jego popularyzację w postaci artykułu, który ukaże się już w marcu i kwietniu coś przyśpieszy. W ogóle nie wiem w jakim kontekście VirtualBox miałby występować poza zastosowaniami desktopowymi. Jeżeli chodzi o otwartą i serwerową wirtualizację to tu wygrywa KVM.

Network Security Application of the Year - Wireshark (25.79%)
Nie pamiętam, czy był do wyboru tcpdump, jeżeli był to głosowałem na niego, w przeciwnym wypadku, również głosowałem na Wireshark.

Host Security Application of the Year - SELinux (34.07%)
To kolejna z dużych radości, chociaż rok temu było 50.42%, nie wiem dlaczego. W każdym bądź razie jest to jednocześnie najlepszy i najmniej używany mechanizm bezpieczeństwa w GNU/Linux. Od dawna walczy z tym Red Hat, to on ma chyba największy wkład w jego rozwój.

Text Editor of the Year - vim (34.35%)
Tu bez komentarza, oczywiście sam na niego głosowałem i używam :)

Programming Language of the Year - Python (28.03%)
Python też mnie cieszy, widać nie tylko Perl. Mój ips_outline został napisany w Pythonie.

Web Server of the Year (NEW) - Apache httpd (74.04%)
A tu bez rewelacji, ale jako nowa kategoria otwiera drzwi dla innych projektów.

To chyba wszystkie kategorie, które mnie interesują, jeżeli chcesz zobaczyć pozostałe znajdziesz je tutaj.

Powyższe wyniki ankiet stanowią pewnego rodzaju odpowiedź na pytanie np. "Jaka dystrybucja jest najlepsza na serwer?", "Jaki tekstowy edytor jest najlepszy?" itp.. Pytanie tylko na ile społeczność LinuxQuestions.org stanowi najlepszą próbę do przeprowadzania takich badań. LQ to największe międzynarodowe forum linuksowe, które istnieje od ponad 12 lat. Lepszy przekrój dałoby tylko przeprowadzenie takich ankiet na innych forach i sumowanie wyników. Natomiast jeżeli chodzi o ankiety z tylko jednego forum, to LQ jest chyba najlepszym miejsce.

Sunday, February 17, 2013

Debian Squeeze - problem z grafiką w popularnych CMS-sach (PHP - gd bundled)

Jeżeli zainstalowałeś jeden z popularnych CMS-ów takich jak Moodle 2.3/2.4, czy Drupla na serwerze z Debian Squeeze i szukasz powodu niedziałającej grafiki, to właśnie znalazłeś rozwiązania tego problemu. Mimo iż skrypt instalacyjny informuje, że wszystkie wymagane elementy środowiska są prawidłowe, to grafika prezentowana na stronie nie jest generowana. Widać jedynie obszar, w którym powinna znajdować się jakaś grafika.

Problem leży po stronie biblioteki GD używanej w PHP. Oryginalna wersja tej biblioteki napisana jest w C (libgd), do PHP została tylko przeportowana. Ponieważ jest bardzo potrzebna w skryptach CMS-ów, to dodano do niej jeszcze kilka innych "dodatkowych" funkcji, które rozszerzają funkcjonalność biblioteki GD. Dodatkowe funkcje nie należą do oficjalnego źródła biblioteki libgd, z której korzysta pakiet php5-gd w systemie Debian Squeeze. Więcej szczegółów można znaleźć w dyskusji php5-gd: not using gd bundled with php5.

Rozwiązania są dwa, pierwszy polega na samodzielnej kompilacji PHP, opis tych czynności znajdziemy na poniższych stronach:

Making Apache use compiled PHP instead of bundled package on Debian
Tutorial: How to enable PHP5′s imageantialias on Ubuntu 10.10
GD package problems with Debian/Ubuntu: Document distro workarounds

Pamiętaj jednak, że będziesz musiał dokonywać tej kompilacji przy każdej aktualizacji. Poza tym, sama kompilacja może przysporzyć wiele problemów, o konieczności instalacji wszystkich bibliotek deweloperskich dla PHP5 nie wspomnę. Dlatego lepszym rozwiązaniem jest druga metoda.

Metodę tą można by żartobliwie nazwać "Dotdeb way". Dotdeb to repozytoria dla stabilnej wersji systemu Debian, ich zadaniem jest dostarczenie aktualnych paczek dla tzw. serwerów LAMP.

W tym przypadku interesuje nas paczka php5-gd, ale musimy zainstalować całe PHP. Oto przepis:

1. Do repozytoriów dodajemy wpisy:

# vim /etc/apt/sources.list

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

2. Dodajemy również klucz autoryzacyjny dla dotdeb:

# wget http://www.dotdeb.org/dotdeb.gpg
# cat dotdeb.gpg | apt-key add -

3. Teraz musimy uaktualnić spis dostępnych paczek o nowe repozytoria:

# aptitude update

4. Następnie usuniemy paczkę php5-gd:

# aptitude purge php5-gd

5. Ostateczne instalujemy tą samą paczkę, ale tym razem program wybierze tą nowszą wersję z dotdeb. Należy wybrać opcję, która zainstaluje tylko nowe GD, nie zgadzając się na rozwiązanie polegające na aktualizacji innych paczek takich jak MySQL:

# aptitude install php5-gd

To już koniec, posiadamy wersję PHP5 GD bundled, cały problem sprowadza się do tego jednego słówka :)

Jeżeli grafika zacznie Ci działać tylko po zrestartowaniu serwera Apache to jesteś szczęściarzem. W moim przypadku zaczęła działać częściowo po aktualizacji CMS-u, całościowo zaczęła działać dopiero na nowo zainstalowanym CMS-sie.
Pamiętaj również, że aktualizacja niektórych paczek (np. MySQL) obecnie jest wstrzymana, warto jakoś formalnie to gdzieś zapisać w konfiguracji, bo kiedyś może narobić problemów.