Stare gierki - Linux Magazine
Transkrypt
Stare gierki - Linux Magazine
Ubuntu 10.04.1, Kubuntu 10.04.1, Wirtualizacja Ubuntu Netbook Edition 10.04.1 Praktyczne Free Wersje instalacyjne i live! Bonus: najnowszy Mint Linux Debian Edition! rozwiązania dla środowisk wirtualnych PA Ź D Z I E R N I K 2 0 1 0 – N U M E R 1 0 ( 8 0 ) C E N A : 2 4 , 9 0 z ł ( 0 % VAT ) Wirtualizacja Eleganckie uwierzytelnianie Integracja DLAP z VirtualBoksem 9 najlepszych wtyczek dla Chrome Community Edition: free and open pobierz i podaj dalej Remus Odporność na błędy w Xen 4 Zaglądamy do dysków wirtualnych za pomocą libguestfs Naprawiamy PDF-y Vala i Genie z wiersza poleceń Łatwe kodowanie bez spadku wydajności Stare gierki Odkrywamy fantastyczny świat Commodore 64 Policykit Lepsze zarządzanie uprawnieniami Comix Wspaniała zabawa dla dorosłych w w w . l i n u x - MAGAZIN E . P L Sygnatury Jak się bronić przed złośliwym kodem? Numer 10 (80) Październik 2010 24,90 zł ISSN 1732-1263 INDEX 384100 Witamy Doghouse: Powrót do przeszłości Stare, ale jare Maddog przypomina o programach starej daty, które na dzisiejszych nowoczesnych systemach wciąż mają się świetnie. Jon „maddog” Hall I stnieje kilka podziałów, które zawsze wywołują żywe emocje w świecie FOSS: • Wolne oprogramowanie vs. otwarty kod źródłowy • Gnome vs. KDE • BSD vs. Linux • MySQL vs. PostgreSQL ale jedna taka rywalizacja trwa już od przynajmniej trzydziestu lat: • Emacs vs. Vi Uważam, że dyskusja ta zakończyła się dawno temu. Tak, oba programy są doskonałymi edytorami tekstu i zawsze możemy wybrać ten, który nam bardziej odpowiada. Ale kiedy na liście dyskusyjnej SAGE (grupie dla administratorów systemów poświęconej Useniksowi) pojawił się następujący e-mail: Temat: [SAGE] EMACS jest do bani Skoro już jesteśmy przy urządzeniach równoważących obciążenie i czasie UTC, chcę powiedzieć, że vi rządzi, a EMACS jest do bani. To wszystko. postanowiłem zagłębić się w wątek (celowo pomijam autora, by oszczędzić mu wstydu). Co ciekawe, rozmowa nie przerodziła się w typową wojnę zwolenników Emacsa i Vi / Vima. Starzy wyjadacze SAGE, którzy zajmują się komputerami od bardzo dawna, zaczęli zamiast tego wspominać wszystkie używane na przestrzeni lat edytory tekstu, przywołując ciepłe uczucia, jakie żywili do każdego z nich. Choć pierwszym edytorem wierszowym, z którego korzystałem pod Uniksem, był ed(1), to nie od niego zaczynałem. Zaszczyt ten przypadł w udziale edytorowi działającemu na PDP-8. Cztery tysiące dwunastobitowych słów pamięci tego urządzenia musiało pomieścić nie tylko aplikację, ale też wszystkie nasze dane, pierwszy edytor tekstu był więc z natury rzeczy bardzo, bardzo prosty. Kolejną przyczyną jego prostoty był fakt, że większość użytkowników korzystała z bardzo wolnych (pięć znaków na sekundę) terminali opartych na papierze (na przykład ASR-33), a dla studenta papier był drogi. Ze względu na małą szybkość i duże koszty, edytor nie drukował niczego, dopóki nie wydaliśmy mu polecenia. Trzeba więc było pamiętać, gdzie znajdujemy się w pliku, i drukować tylko raz na jakiś czas, by upewnić się, że rzeczywiście jesteśmy tam, gdzie myślimy. Członkowie listy dyskusyjnej SAGE wymienili wiele edytorów tekstu: joe, nano, xedit (z makrojęzykiem REXX), elvis, stevie, EDIT/EDT, EDIT/TPU, EVE/TPU i inne. Wspomniałem wtedy absolutny hit: TECO. Potem rozmowa zeszła z tematu i ludzie zaczęli mówić o tym, że właściwie nie używają edytorów tekstu, ale tworzą pliki za pomocą polecenia: www.linux-magazine.PL cat > nazwapliku.txt Inni mówili (półserio), że do łatania jądra wykorzystują: cat >/vmlinux Czasem brak jest jakiegokolwiek edytora tekstu, a system nie chce działać bez konkretnego pliku, zwykle konfiguracyjnego. Jeśli wiemy, co taki plik powinien zawierać, możemy stworzyć go przy pomocy polecenia cat(1). I z tego pieca chleb jadłem. Jednak do napisania niniejszego artykułu nie skłoniły mnie wyłącznie wspomnienia starych edytorów. Zacząłem rozmyślać nad tym, od jak dawna niektóre z nich istnieją i jak przekształciły się w coś, co w epoce dzisiejszych nowoczesnych komputerów wciąż jest przydatne. Wieloletnia wymiana pomysłów pomiędzy użytkownikami przyczyniła się do ich ulepszenia. TeX, stworzony w 1978 roku system składu drukarskiego, istnieje po dziś dzień – obecnie w wersji 3.x. Powstało też dla niego wiele nakładek (między innymi LaTeX, KbibTeX i LyX), które ułatwiają obsługę, zarazem wydłużając życie i użyteczność programu. TeX wciąż uważany jest za pierwszej klasy program do składania książek, szczególnie o tematyce technicznej (na przykład matematycznych). Nawet w świecie cyfrowych multimediów nadal wykorzystuje się wręcz archaiczne metody projektowania. Większość pracy wykonują często programy wiersza poleceń, podczas gdy GUI prowadzi użytkownika przez proces wyboru właściwych argumentów dla danej komendy. Kolejnym dobrym przykładem jest nmh(1) – nowy klient poczty MH. mh(1) był pakietem programów wiersza poleceń implementujących system pocztowy Rand MH. Używałem go przez wiele lat, czytając pocztę z wiersza poleceń, po czym przerzuciłem się na xmh, graficzną nakładkę dla tego zestawu poleceń. Xmh zaczął korzystać z Motifa i przyjął nazwę mxmh, którą z kolei zmieniono na exmh w momencie wprowadzenia MIME i kilku innych „nowoczesnych” dodatków. mh-e umożliwiło mh współpracę z Emacsem, jak prawie wszystko inne na świecie. Uwielbiam ten aspekt FOSS – funkcje jednych programów trafiają do innych, przedłużając życie wielu doskonałych narzędzi. n n n NUMER 80 PAŹDZIERNIK 2010 3 LINUX MAGAZINE Spis treści Linux Magazine jest miesięcznikiem specjalistycznym wydawanym we współpracy z Linux New Media AG, Monachium, Niemcy. Wydawca Linux New Media Polska sp. z o.o. Redaktor Naczelny Artur Skura, [email protected] Programowanie i aplikacje: Oliver Frommel, [email protected] Nowości i raporty: Ulrich Bantle, [email protected] Korespondenci i współpracownicy Zack Brown, Patricia Jung, James Pyles, Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eßer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kißling, Jan Kleinert, Peter Kreußel, Thomas Leichten stern, Jörg Luther, Nils Magnus Sekretarz redakcji Joanna Romaniuk, [email protected] Skład tekstu i przygotowanie poligraficzne Viktoria Nikołowa, [email protected] Wirtualizacja W tym miesiącu poruszamy różne tematy związane z wirtualizacją pod Linuksem. Pokazujemy, jak skonfigurować potężny mechanizm uwierzytelniania pod Linuksem, jak zarządzać wielogigabajtowymi obrazami dysków wirtualnych i jak uzyskać odporność na błędy w Xenie 4 dzięki Remusowi. 10 VirtualBox i LDAP Projekt okładki Pinball, [email protected] Reklama www.linux-magazine.pl/advertise [email protected] tel.: 0691 440 903 Miedzynarodowa Hubert Wiest, [email protected] tel.: +852 633 30 382 (Hong Kong) Corporate Management (Linux New Media AG) Hermann Plank, [email protected], Brian Osborn, [email protected] Prenumerata Paweł Samselski, [email protected] [email protected] Cena prenumeraty (12 numerów w roku zawierających CD-ROM lub DVD): Dla osób prywatnych roczna 190 zł półroczna 110 zł dwuletnia 320 zł Dla firm roczna 210 zł półroczna 120 zł dwuletnia 340 zł Prenumerata zagraniczna: roczna 310 zł półroczna 160 zł Zamówienia i obsługa prenumeraty: tel. +48 22 742 14 55 faks +48 22 742 14 56 [email protected] Linux Magazine ul. Mangalia 4, 02-758 Warszawa www.linux-magazine.pl, [email protected] tel./fax +48 22 642 70 05 Wydawca dokłada wszelkich starań, aby publikowane w piśmie i na towarzyszących mu nośnikach informacje i oprogramowanie były poprawne i przydatne, jednakże Wydawca nie ponosi odpowiedzialności za efekty wykorzystania ich, w tym nie gwarantuje poprawnego działania programów. Zawartość nosników CD-ROM i DVD jest sprawdzana oprogramowaniem antywirusowym przed rozpoczęciem procesu produkcji. Fizyczne uszkodzenia nośników należy zgłaszac do działu prenumeraty. Żaden z materiałów opublikowanych w Linux Magazine nie może być powielany w jakiejkolwiek formie bez zgody Wydawcy. Włascicielem znaku towarowego Linux jest Linus Torvalds. ISSN 1732-1263; Nakład 10000 egz. Projekt Vrdp-ldap udostępnia uwierzytelnianie oparte na LDAP w VirtualBoksie. 14 Libguestfs Zarządzanie dyskami maszyn wirtualnych nigdy nie było tak proste. 20 błędy Wirtualizacja z odpornością na Pokonany brat Romulusa, Remus, powraca, udostępniając odporność na błędy maszynom wirtualnym Xena. 6 Jądro Wieści z kernela. Druk: ArtDruk - Zakład Poligraficzny Kobyłka www.artdruk.com tel. +48 604 979 357 4 PAŹDZIERNIK 2010 NUMER 80 www.linux-magazine.pl W NUMERZE PAŹDZIERNIK 2010 W NUMERZE 24 14 Libguestfs Stare gierki Używamy potężnego zestawu narzędzi do zarządzania obrazami maszyn wirtualnych. Powraca moda na kultowe gry z czasów wczesnego dzieciństwa. 49 Vala i Genie Kto powiedział, że łatwość programowania musi łączyć się z niską wydajnością kodu? KNOW-HOW 24 Stare gierki 28 PolicyKit 36 Postgres Plus 38 Sourcefabric Rozbudowana witryna z rozgłośnią internetową. 42 Lekcje bezpieczeństwa: Sygnatury Sprawdzanie sygnatur pod Linuksem. 44 Charly: Lug Camp 2010 Tym razem Charly przedstawia złoto, Pythona i piwo. 45 Pytania i podpowiedzi Alternatywa na rynku baz klasy enterprise. Twórca Knoppiksa KLaus Knopper odpowiada na pytania Czytelników. 49 Vala i Genie Dwa rewolucyjne języki łączą w sobie nowoczesną składnię z niezwykłą wydajnością. 54 Wiersz poleceń Narzędzia do obróbki plików PDF. Wsadowe przetwarzanie obrazów za pomocą GUI. 60 Comix 62 Worskpace Najlepsze wtyczki dla Chrome. 66 Enna Wygodne centrum multimedialne oparte na GeeXboksie. 70 RedNotebook Wszystko w jednym miejscu – czyż to nie piękne? 74 Xmonad Kafelkowy menadżer okien może okazać się niezastąpiony w pewnych zastosowaniach. Społeczność 76 EUPL European Union Public License – nowa wolna licencja Unii Europejskiej. 78 Projekty Crabgrass i Clipperz. Strona A: • Ubuntu 10.04.1 wersja instalacyjna • Ubuntu 10.04.1 wersja uruchamiana z płyty • Kubuntu 10.04.1 wersja instalacyjna • Kubuntu 10.04.1 wersja uruchamiana z płyty www.linux-magazine.pl LinuxUser Nowoczesny czytnik komiksów. Własne profile dostępu dają administratorom pełną kontrolę nad uprawnieniami poszczególnych użytkowników. Przyglądamy się wielofunkcyjnemu czytnikowi e-booków z Linuksem na pokładzie. Oszczędzamy papier, ale nie przyjemność z czytania komiksów. 58 Converseen Powrót do przeszłości: Commodore, Atari i inne magiczne komputery czekają na ponowne odkrycie. 34 Onyx Boox 60 60 Comix • Ubuntu Netbook Edition 10.04.1 wersja instalacyjna • Ubuntu Netbook Edition 10.04.1 wersja uruchamiana z płyty Strona B: • Linux Mint Debian Edition NUMER 80 PAŹDZIERNIK 2010 5 NOWOŚCI Jądro Najświeższe wieści, poglądy, różnice zdań i ścieżki rozwoju w społeczności jądra • Z jądra • Z jądra • Z jądra • Z jądra Linuksa. Zack Brown Usprawniona hibernacja Nigel Cunningham wymyślił nową metodę odczytywania i zapisywania obrazu pamięci tworzonego przy hibernacji. Przygotował algorytm i opublikował go, licząc, że poważniejsze usterki zostaną zauważone, zanim poświęci więcej czasu na próby jego implementacji. Cała sprawa jest znacznie bardziej kontrowersyjna, niż mogłoby się wydawać. Idealna hibernacja zamyka system tak szybko, jak to tylko możliwe, i uruchamia go w tym samym stanie, również jak najprędzej. Problem polega na tym, że stan systemu nie jest łatwy do określenia, a wykonanie tej operacji szybko jest jeszcze bardziej kłopotliwe. Programiści mogą nie zgadzać się co do najlepszego podejścia, a ich spory bywają trudne, czasem nawet niemożliwe do zażegnania bez odniesienia się do rzeczywistej implementacji. Także i tym razem, choć Nigel uważał swoją metodę za dość prostą, Pavel Machek, który wraz z Rafaelem J. Wysockim nadzoruje obecny kod hibernacyjny, stwierdził, że podejście to jest „zbyt skomplikowane, by mogło sprawdzić się w praktyce”. Również Rafael uznał, że kod Nigela jest za bardzo zawiły – chodziło o moment zapisu pamięci podręcznej stron. Skraca ona czas dostępu do używanych wcześniej plików, bo przechowuje ich dane, w razie gdyby były później potrzebne. Nigel i Rafael zgadzają się, że pamięć podręczna stron musi zostać zachowana, aby system po hibernacji nie reagował wolniej. Jednak Rafael uważa, że zapisanie jej później, niż proponuje Nigel, byłoby znacznie prostsze. Jego zdaniem Nigel nie powinien próbować zapisać całej zawartości pamięci RAM – 80% wystarczy, by uzyskać szybkie i proste rozwiązanie. Nigel starał się zachować absolutnie wszystko, stąd właśnie wcześniejszy moment zapisu pamięci podręcznej. Rezygnacja z tego uniemożliwiłaby pełny zapis stanu pamięci RAM, miałaby jednak wiele innych zalet. Nigel argumentował, że zachowanie całkowitego stanu RAM-u jest bardzo istotne dla szybkości. To doskonały przykład tego, że różne koncepcje programistów na temat poszczególnych aspektów problemu mogą prowadzić ich do zupełnie odmiennych wniosków. Jak je rozwiązać bez konieczności napisania i wypróbowania kodu? Wiele ważnych przełomów, w tym system kontroli wersji git, było efektem sytuacji, w której jeden programista myślał, że coś jest możliwe, podczas gdy wielu innych się z nim nie zgadzało. Dzielenie i łączenie plików w systemach o niskich zasobach Nikanth Karthikesan opublikował kod dodający kilka wywołań systemowych. Chciał umożliwić dzielenie plików na mniejsze bez konieczności zajmowania dodatkowej przestrzeni na urządzeniu. W większości systemów plików wystarczy „przedziurawić” większy plik i użyć dziur jako granic nowych plików. Rzecz sprowadza się do „przemieszczenia metadanych”. Jednak metoda ta nie sprawdza się w przypadku systemu FAT, który wymaga dodatkowej przestrzeni, by skopiować dane z większego pliku do mniejszych. Funkcje Karthikesana, sys_split() i sys_ join(), informują system FAT, że potrzebna jest jedynie zmiana w metadanych. Hirofumi Ogawa stwierdził, że łatkę trzeba poprawić pod kątem zarządzania pamięcią podręczną. Dodał też, że choć nie ma nic przeciwko wprowadzeniu 6 PAŹDZIERNIK 2010 NUMER 80 nowych funkcji, jest to sensowne jedynie, jeśli znajdą się użytkownicy, którzy będą z nich rzeczywiście korzystać. Nikanth zauważył, że nowe funkcje sprawdzą się w edycji multimediów, umożliwiając sklejanie serii klatek w film lub łatwiejsze niż obecnie dzielenie dużych plików wideo. Dodał też, że ułatwiłoby to powiększanie lub zmniejszanie plików od środka, a nie tylko na końcach. David Pottage był zachwycony tą perspektywą. Napisał: Pliki wideo są bardzo duże, więc prosta operacja usunięcia kilku minut tu i tam w godzinnym nagraniu HD wymaga kopiowania wielu gigabajtów z jednego pliku do drugiego. Wyobraźmy sobie, ile czasu i przestrzeni zaoszczędzilibyśmy, gdybyśmy mogli po prostu stworzyć kopię COW plików źródłowych, wyciąć niechciane fragmenty i z powrotem połączyć resztę. Plik końcowy nie zajmowałby więcej miejsca w porównaniu z plikami źródłowymi i choć byłby podzielony, fragmenty wciąż byłyby duże w porównaniu z większością plików, więc ich sekwencyjne odtwarzanie nie pociągnęłoby za sobą znacznych strat w wydajności. Jeśli bylibyśmy zadowoleni z wyniku, moglibyśmy usunąć pliki źródłowe i uruchomić w tle demona defragmentującego, by uporządkował końcowy plik. David dodał, że proponował już tego typu funkcję i został zakrzyczany przez osoby twierdzące, że takie rozwiązanie powinno raczej znaleźć się w przestrzeni użytkownika. Argumenty te nie przekonały jednak wszystkich, a dyskusja niedługo potem zeszła na boczny tor, nie jest więc jasne, czy kod Nikantha zostanie zaadoptowany. www.linux-magazine.pl NOWOŚCI Jądro Korekta samorzutnych błędów RAM-u Brian Gordon ogłosił, że chciałby zaadaptować Linuksa dla przemysłu lotniczego i kosmonautycznego. Problemem są jednak tak zwane błędy SEU (ang. Single Event Upsets). Występują wtedy, gdy bity pamięci RAM zmieniają stan pod wpływem przenikających przez urządzenie wysokoenergetycznych cząstek. Zdarza się to w różnego rodzaju statkach powietrznych i kosmicznych. Gordon chciał znaleźć sposób na wykrywanie i naprawę SEU tak, by nie stanowiły one problemu dla systemu. Andi Kleen zwrócił uwagę, że problem występuje także w zwykłych serwerach, nie tylko tych działających w przestrzeni kosmicznej. W ich przypadku wykorzystywana jest pamięć RAM z funkcją ECC (ang. Error Correction Code). Koryguje ona błędy jednobitowe i wykrywa te wielobitowe. Zauważył też, że dostępne są inne, bardziej złożone rozwiązania. Dodał przy tym: „Mniej wymagające systemy, zoptymalizowane pod względem kosztów, ignorują ten problem, więc przestawione bity w pamięci skutkują zawieszeniem systemu (jeśli mamy szczęście) lub cichym uszkodzeniem danych (jeśli mamy pecha)”. Chris Friesen dorzucił, że w jego dziedzinie, telekomunikacji, wykorzystuje się właśnie ECC RAM – zaproponował też wykonywanie sum kontrolnych danych oraz sprawdzanie ich w trakcie użycia. Zwrócił uwagę Briana na kod EDAC w jądrze – projekt SourceForge [1], którego celem jest wykorzystanie ECC RAM-u. Brian odparł, że EDAC wygląda naprawdę dobrze, ale interesują go przede wszystkim systemy „zoptymalizowane pod względem kosztów”, o których wspomniał Andi. Jego zdaniem nawet w ich przypadku Linux powinien zrobić wszystko, co możliwe, by naprawić samo- rzutne błędy RAM-u. Według Andiego Linux nie posiada obecnie żadnej tego typu implementacji – wszystkie funkcje poprawiające błędy w RAM-ie opierają się na wykorzystaniu sprzętu ECC RAM. Jednak nawet jeśli Brianowi udałoby się wywalczyć coś za pomocą kodu, aplikacja przestrzeni użytkownika musiałaby dostrzegać problem, a program należałoby napisać w taki sposób, by współpracował z jądrem w celu jego naprawy. Nie byłoby to więc rozwiązanie, które uszczęśliwiłoby wszystkich. Brian wydawał się nieco zawiedziony, ale uznał, że będzie kontynuował poszukiwania. Niestety wygląda na to, że na natywną, niezależną od sprzętu korektę błędów w pamięci RAM pod Linuksem będzie trzeba jeszcze długo poczekać. [1] Projekt EDAC: http://bluesmoke.sourceforge.net/ Kompilacja poprzez sshfs Dmitry Torokhov narzeka, że niedawna poprawka w kbuildzie spowodowała znaczne spowolnienie kompilacji jądra poprzez sshfs. Wykonywał ją od www.linux-magazine.pl wielu lat bez żadnych problemów, ale jedna łatka sprawiła, że czas kompilacji poszybował w górę. Michal Marek stwierdził, że chodzi o błąd w metodzie przetwarzania danych Make’a, która powoduje ich wielokrotnie przeliczane. Obiecał, że się temu przyjrzy. NUMER 80 PAŹDZIERNIK 2010 7 DVD DVD w tym miesiącu Na DVD W tym miesiącu na płycie DVD dołączonej do „Linux Magazine” zamieszczamy zestaw popularnych dystrybucji Ubuntu 10.04.1 (w wersji instalacyjnej i live, również na netbooki) oraz najnowszego Minta opartego na Debianie. Ubuntu 10.04.1 Ubuntu 10.04.1 jest najnowszą wersją najpopularniejszej dystrybucji Linuksa na świecie. Ubuntu 10.04 ukazało się w kwietniu 2010 roku. Od tamtej pory w wielu pakietach wykryto błędy, które następnie zostały naprawione. Pojawiły się także nowe wersje różnych programów. Dlatego warto zainteresować się 10.04.1: jeśli korzystamy 10.04, możemy go zaktualizować, jeśli zaś jesteśmy nowymi użytkownikami Ubuntu – zainstalujemy system od nowa. Na płycie DVD dołączonej do „Linux Magazine” znajdziemy aż sześć różnych odmian tej dystrybucji. Pierwsze dwie do zwykłe 8 PAŹDZIERNIK 2010 NUMER 80 Ubuntu 10.04.1 – wersja instalacyjna i live. Drugie dwie to Kubuntu 10.04.1, czyli Ubuntu z pulpitem KDE. Wreszcie ostatnie dwie to specjalna wersja Ubuntu przeznaczona na netbooki. Zawiera ona usprawnienia związane ze specyfika pracy na komputerku z niewielkim wyświetlaczem, (stosunkowo) słabym procesorem i trzymająca krótko baterią. Wersji live użyjemy do przetestowania dystrybucji. Jeżeli nam się spodoba, możemy ją zainstalować – albo korzystając z wersji instalacyjnej, albo klikając ikonkę Install, która znajduje się na pulpicie wersji live. Miłej zabawy! www.linux-magazine.pl DVD DVD w tym miesiącu Mint LMDE Linux Mint Debian Editiom (LMDE) to pierwsze wydanie Minta bazujące na Debianie. Dlaczego twórcy tej dystrybucji zdecydowali się przejść na Debiana z bardziej popularnego Ubuntu? Użytkownikom testowych wersji Debiana obce są nowe wydania systemu. Dla nich „nowe wersje” mogłyby równie dobrze nie istnieć. Dzieje się tak dlatego, że wszystkie pakiety są aktualizowane na bieżąco. Po wydaniu nowej wersji określonego programu jego debianowy opiekun przygotowuje odpowiedni pakiet DEB i rozpoczyna testy. Jeżeli zakończą się one sukcesem, tj. pakiet buduje się, nie psuje innych komponentów systemu itd., jest ładowany do repozytorium, skąd mogą go pobrać inni użytkownicy. Łatwo zrozumieć, że używanie testowej www.linux-magazine.pl wersji dystrybucji, która ewoluuje w taki sposób, niesie za sobą zarówno pewne ryzyko, jak i spore korzyści. Z jednej strony musimy polegać na poczuciu odpowiedzialności opiekunów pakietów, z drugiej – mamy dostęp do najświeższych wersji ulubionych programów. Nie jesteśmy zdani na łaskę i niełaskę menedżerów wydań, nie musimy czekać pół roku – możemy korzystać z najnowszych wydań niemal od razu. Twórcy Minta już od dawna rozważali uniezależnienie dystrybucji od podstawy, na której powstaje. Dotąd było to Ubuntu – system nieco bardziej przyjazny użytkownikowi niż Debian (choć różnice pod tym względem są niewielkie). We wrześniu 2010 roku udostępniono pierwsze wydanie z bazą Debiana zamiast Ubuntu. Co zyskujemy, używając LMDE? Przede wszystkim możemy zapomnieć o czymś takim, jak „instalacja systemu”: system aktualizuje się sam – w nieskończoność. Może się nawet okazać, że będziemy mieli nowsze wersje programów, niż ktoś, kto właśnie zainstalował najnowszą, niedawno wydaną wersję Ubuntu. LMDE jest też zdecydowanie szybsze niż wcześniejsze wersje Minta bazujące na Ubuntu. A jakie są minusy? System może się czasami psuć. Użytkownicy Debiana zarzekają się, że dzieje się to rzadko – może raz na kilka lat, w zależności od zestawu używanych przez nas pakietów – niemniej opiekunowie pakietów są tylko ludźmi i im też zdarzają się wpadki. Oczywiście tego typu błędy są bardzo szybko naprawiane. NUMER 80 PAŹDZIERNIK 2010 9 Temat numeru VirtualBox z LDAP Uwierzytelnianie LDAP zamiast PAM w VirtualBoksie Nowy dozorca Administratorzy, którzy specjalizują się w scentralizowanej wirtualizacji systemów desktopowych, przez długi czas czuli się sfrustrowani brakiem rozbudowanych mechanizmów uwierzytelniania w VirtualBoksie. Nowy projekt Vrdp-ldap oferuje pracującym w sieci instancjom VirtualBoksa uwierzytelnianie przez LDAP. Michael Kromer Markus Feilner Autor Michael Kromer (http:// medozas.de) jest starszym konsultantem i inżynierem linuksowym w Millenux GmbH w Monachium. Udziela się w różnych projektach open source, włączając w to jadro Linuksa, Open NX, Asterisk, VirtualBox i ISC Bind. Jest także aktywnym członkiem społeczności openSUSE; interesuje się technologiami wirtualizacyjnymi. TEMAT NUMERU 10 VirtualBox i LDAP Projekt Vrdp-ldap udostępnia uwierzytelnianie oparte na LDAP w VirtualBoksie. 14 Libguestfs Zarządzanie dyskami maszyn wirtualnych nigdy nie było tak proste. 20 Wirtualizacja z odpornością na błędy Pokonany brat Romulusa, Remus, powraca, udostępniając odporność na błędy maszynom wirtualnym Xena. 10 PAŹDZIERNIK 2010 NUMER 80 V irtualBox [1], narzędzie zaprojektowane z myślą o użytkownikach desktopowych, powoli zdobywa popularność jako rozwiązanie serwerowe, działające na Linuksie, Windows, Free BSD i Solarisie. W wersji 3.1 Sun wprowadził opcję migracji maszyn wirtualnych w trakcie pracy, nazywając ją „teleportacją”. Teraz, kiedy Sun został połknięty przez Oracla i udostępniona jest wersja 3.2, „Oracle VM VirtualBox” wirtualizuje także Mac OS X na sprzęcie nie produkowanym przez Apple (patrz: ramka Mac OS Without a Mac). Wersja 3.2 oferuje także konfigurowane buforowanie we/wy i NAT, dodawanie i usuwanie procesorów w trakcie pracy maszyny, akcelerację obrazu RDP (niestety, tylko dla klientów RDP Windows 7) i wiele ekranów. Serwerowa wirtualizacja zdalnego pulpitu wykorzystuje virtualboksową wersję protokołu RDP, którą zapewne znamy z serwerów terminalowych. Niestety, RDP jest dostępny jedynie w komercyjnej wersji VirtualBoksa. Na szczęście licencja PUEL [2] umożliwia użytkownikom prywatnym i instytucjom edukacyjnym korzystanie z tej wersji bez opłat. Pewien problem z serwerową wirtualizacją na VirtualBoksie powstaje, kiedy używamy RDP VirtualBoksa (VRDP) do uwierzytelniania względem aktywnej maszyny wirtualnej. Tradycyjne podejście z zastosowaniem PAM pozwala w praktyce na wykorzystywanie maszyny tylko przez jednego użytkownika, w dodatku musi to być ten sam użytkownik, który uruchomił maszynę wirtualną na serwerze VirtualBoksa. Jeżeli użytkownik przeniesie się na inny komputer kliencki RDP, uwierzytelnianie przez PAM nie zadziała. Administratorzy, którzy chcą oddzielić użytkowników od maszyn, muszą wyłączać PAM i próbować kontrolować dostęp do portu VRDP przez zaporę sieciową. Powyższe „rozwiązanie” ma tyle wad, że aż prosi się o naprawienie. W lutym 2010 roku pojawił się projekt vrdp-ldap [3], którego celem jest implementacja modułu służącego do uwierzytelniania bazującego na LDAP w VirtualBoksie. Vrdp-ldap powiększa istniejący schemat LDAP, dodając klasę obiektów i właściwości do obsługi uwierzytelniania użytkowników przez UUID maszyny. Ponieważ Vrdp-ldap wykorzystuje także istniejące atrybuty katalogu PAM, rozwiązanie bazujące na Vrdp-ldap oferuje transparentne uwierzytelnianie względem istniejących usług katalogowych, za pomocą istniejących danych logowania. Krok po kroku Gotowe do zainstalowania pakiety RPM dla openSUSE 11.2 i SLES 11 dostępne są online [4]. Administratorzy innych systemów muszą skompilować kod źródłowy, używając sekwencji configure && make && make install. Przy ręcznym budowaniu potrzebne są pakiety deweloperskie libHX, pam-devel, openldap2-devel i pkg-config (znajdziemy je w niemal każdej dystrybucji). www.linux-magazine.pl Temat numeru VirtualBox z LDAP Z kolei na systemach 64-bitowych musimy przejąć uprawnienia administratora i wydać poniższą komendę: VBoxManage setproperty vrdpauthlibrary /usr/lib64/virtualbox/vrdp-ldap Procedura konfiguracji maszyny wirtualnej do bazującego na VRDP uwierzytelniania LDAP składa się z pięciu kroków wykonywanych na systemie-gościu: • instalacja wtyczki Rdp-ldap, • konfiguracja biblioteki VRDP dla VirtualBoksa, • modyfikacja schematu LDAP, • modyfikacja samej maszyny wirtualnej, • rozszerzenie kont użytkowników LDAP poprzez dodanie UUID-ów dla maszyn wirtualnych, do których użytkownicy mają mieć dostęp. Wtyczkę z łatwością zainstalujemy na openSUSE 11.2: zypper ar http://repo.medozas.de/ medozas/SUSE-11.2/medozas.repo zypper in VirtualBox-vrdp-ldap Jeśli chodzi o bibliotekę VRDP, musimy uruchomić VBoxManage, aby zdefiniować skompilowany moduł jako bibliotekę VRDP tak, by odpowiadała aktualnej wersji VirtualBox SDK (3.0 aż do najnowszej w chwili pisania artykułu, czyli 3.2.4). Na systemach 32-bitowych polecenie to wygląda tak: VBoxManage setproperty vrdpauthlibrary/usr/lib/ virtualbox/vrdp-ldap Nazwa modułu nie zawiera rozszerzenia pliku (takiego jak .so czy .dll), co jest sensowne, ponieważ uwierzytelnianie VRDP pozwala nam korzystać z identycznych ustawień na różnych hostach, działających na rozmaitych systemach operacyjnych. Choć obecnie nie istnieje jeszcze moduł Vrdp-ldap dla Windows, można oczekiwać, że pojawi się w ciągu kilku najbliższych miesięcy. Na Listingu 1 widzimy plik konfiguracyjny Vrdp-ldap, który administrator musi zmodyfikować, by odpowiadał lokalnemu serwerowi LDAP. Kolejnym krokiem jest dodanie schematu /usr/ share/doc/packages/VirtualBox-vrdp-ldap/vbox-vrdp.schema do serwera LDAP. Czwarty etap, modyfikacja maszyn wirtualnych, jest bardzo prosty – wystarczy spojrzeć na zrzut ekranu przedstawiony na Rysunku 3. Jeden wpis dla jednego użytkownika Jeżeli chodzi o system na hoście, Listing 2 pokazuje wpis w LDAP dla zwykłego użytkownika, który otrzyma dostęp przez VRDP dla dwóch instancji wirtualnych. Potrzebujemy oddzielnego wpisu LDAP dla każdego użytkownika i gościa. Programiści planują wprowadzenie możliwości użycia gwiazdki (*), która pozwalałaby użytkownikowi korzystać z każdej maszyny wirtualnej. Wybór narzędzia LDAP do utworzenia konta użytkownika jest kwestią gustu, musi tylko ono umieć odpytywać schemat, tj. zidentyfikować VBoxVRDP jako klasę obiektu i VBoxVRDPUUID jako właściwość. Zarówno GQ [5], jak i LDAP Admin [6] nadają się do tego zadania. Parametr VBoxVRDPUUID na Listingu 2 reprezentuje UUID maszyny wirtualnej. Niestety, UUID maszyny możemy sprawdzić jedynie w plikach XML lub poprzez wywołanie VBoxManage list – nie w samym GUI. Prośba o rozbudowanie GUI o tę opcję została już zgłoszona programistom [7]. Zmyślny skrypt inicjujący Do połączenia możemy użyć Rdesktopa lub jakiegokolwiek innego klienta usług terminalowych RDP: rdesktop -u użytkownik-LDAP §§ -p hasło_lub_’-’_dla_zapytania §§ Mac OS bez Maca W VirtualBoksie 3.2 można wirtualizować system operacyjny Apple na dowolnym sprzęcie w oknie Linuksa (Rysunek 1). Jest to możliwe dzięki emulacji środowiska uruchomieniowego EFI (ang. Extensible Firmware Interface) jak w przypadku KVM (Rysunek 2). I od razu ostrzeżenie: warunki licencji Apple zabraniają instalacji Mac OS X na sprzęcie innym niż wyprodukowany przez Apple. Z drugiej strony firma ta sprzedaje OS X również bez sprzętu. W praktyce trudno sobie wyobrazić, by polski sąd uznał rację Apple w sprawie www.linux-magazine.pl o uruchomienie legalnie zakupionego programu na komputerze innego producenta – czegoś takiego nie zaryzykowałby nawet Microsoft. VirtualBox ułatwia wirtualizację Jabłka: wystarczy utworzyć maszynę wirtualną, wybrać Mac OS Server i kontroler dysku typu ICH6. Aby uruchomić Leoparda, potrzebujemy też odpowiedniego polecenia VBoxManage (i klucza urządzenia SMC z Internetu). Użytkownik musi wyłączyć funkcję zarządzania energią Apple, jeśli system operacyjny ma płynnie działać. NUMER 80 PAŹDZIERNIK 2010 11 Temat numeru VirtualBox z LDAP Rysunek 1: Zabronione w USA: Mac OS X na laptopie Intela w VirtualBoksie. Rysunek 2: KVM nie pozostaje w tyle: starsza wersja systemu operacyjnego Apple. VirtualBox-Host-IPU:Port-VRDP Opierając się na powyższych wyjaśnieniach, możemy skonfigurować własny serwer VirtualBoksa za pomocą Vrdp-ldap. Dobrze jest użyć specjalnego skryptu inicjującego [8]. Zamraża on wszystkie maszyny wirtualne zdefiniowane w pliku autostart, by zachować bieżący status przy zamykaniu hosta (ang. VBoxManage controlvm savestate). Po restarcie system-gość od razu udostępnia użytkownikowi znajome mu środowisko, zakładając, że od restartu nie wprowadzono dodatkowych zmian na samej maszynie wirtualnej (interfejsy sieciowe itd.). Aby skonfigurować skrypt startowy, powinniśmy utworzyć użytkownika i uczynić go członkiem grupy vboxusers. Musimy też dodać do pliku autostart nazwę zdefiniowanej maszyny wirtualnej, łącznie z portem VRDP i priorytetem procesu (wartości nice). Na Listingu 3 widzimy odpowiednie polecenia dla openSUSE. projekt zmierza w dobrym kierunku, zaś Vrdp-ldap, nowy klucznik systemów z uwierzytelnianiem LDAP, pozwala wykorzystać VirtualBoksa również w środowiskach serwerowych. n n n Hit sezonu Oracle co miesiąc wydaje nową wersję VirtualBoksa. Biorąc pod uwagę nowe funkcje dodane od wersji 3.1 i pozytywne wyniki testów wejścia / wyjścia [9], można stwierdzić, że Oracle próbuje wyhodować hybrydę, łączącą zalety wirtualizacji desktopowej i serwerowej i radzącą sobie z obsługą obciążenia 24/7 w środowisku produkcyjnym. Kilka rzeczy wymaga poprawienia, na przykład sterownik USB dla Blackberry czy zarządzanie przerwaniami w systemach wielordzeniowych (komunikacja IO / APIC niektórych gości niebezpiecznie zwiększa obciążenie procesora [10]). Jednak ogólnie Listing 1: /etc/vrdp-ldap.conf Info [1] Maszyna wirtualna Oracle VirtualBox: http://virtualbox.org [2] Osobista licencja VB: http://www.virtualbox.org/wiki/VirtualBox_PUEL [3] Projekt Vrdp-ldap: http://vrdp-ldap.sf.net [4] Pakiety RPM dla SUSE: http://repo.medozas.de/medozas [5] GQ: http://sourceforge.net/projects/gqclient/ [6] LDAP Admin: http://ldapadmin.sourceforge.net [7] Propozycja podglądania UUID-ów w GUI VB: http://virtualbox. org/ticket/6989 [8] Skrypt inicjujący: http://dev.medozas.de/files/VirtualBox [9] Testy we/wy z obrazami dysków VirtualBoksa przed i po wersji 3.2: http://virtualbox.org/ticket/4392 [10] Uszkodzenia danych przy dużym obciążeniu we/wy: http:// virtualbox.org/ticket/2524 Listing 2: Użytkownik LDAP z dostępem VRDP 01 dn: uid=mkromer,ou=users,dc=linux‑magazin,dc=de 02 cn: mkromer 03 uid: mkromer 04 mail: [email protected] 01 CHECK_UUID="yes" 05 objectClass: top 02 CHECK_PAM="yes" 06 objectClass: person 03 PAM_SERVICE="sshd" 07 objectClass: inetOrgPerson 04 LDAP_URI="ldap://localhost/" 08 objectClass: posixAccount 05 BASE_DN="dc=company,dc=com" 09 objectClass: VBoxVRDP 06 #BIND_DN="" 10 VBoxVRDPUUID: {3f7d197f‑072a‑4bf9‑9528‑aebefdfa2a2e} 07 #BIND_PW="" 11 VBoxVRDPUUID: {af4bed3e‑f94e‑48f8‑ba1e‑6c7c504b38ca} Listing 3: Konfiguracja skryptu inicjującego 01 useradd ‑c " VirtualBox User" ‑d /virt ‑m ‑r ‑g vboxusers virt 02 wget http://dev.medozas.de/files/VirtualBox/virtualbox.init.suse ‑O / etc/init.d/virtualbox 04 wget h ttp://dev.medozas.de/files/VirtualBox/virtualbox.autostart.suse ‑O /virt/autostart 05 insserv virtualbox on 03 chmod a+x /etc/init.d/virtualbox 12 PAŹDZIERNIK 2010 NUMER 80 www.linux-magazine.pl know-how Onyx Boox 60 Czytnik e-booków Onyx Boox 60 Przyglądamy się wielofunkcyjnemu czytnikowi e-booków z Linuksem na pokładzie. Artur Nowosielski P roducenci czytników e-booków zapowiadają rychły koniec papierowych publikacji. Technologia e-papieru pozwoliła na stworzenie lekkich i energooszczędnych urządzeń. W tym wydaniu „Linux Magazine” przyglądamy się jednemu z takich czytników. Onyx Boox 60 działa pod kontrolą wbudowanego Linuksa wyposażonego w szereg powszechnych bibliotek i pakietów, m. in. glibc, Qt, zlib, BusyBox, OpenSSL czy SQLite. Pierwsze wrażenia W pudełku znajdziemy czytnik w skórzanym, etui, kabel USB (ze standardową wtyczką USB mini-b), ładowarkę, kartę gwarancyjną i skromny podręcznik Szybki start. Do urządzenia standardowo włożona jest karta SD o pojemności 2 GB, zawierająca między innymi pełny podręcznik użytkownika. Obudowa jest wykonana z białego, matowego tworzywa sztucznego, a większa część tylnej ściany – z aluminium. Ekran także jest matowy, a jego powłoka wydaje się dość trwała – po miesięcznym używaniu nie było widać żadnych zadrapań ani śladów rysika. Obsługa i interfejs Boox 60 ma sześciocalowy ekran dotykowy o rozdzielczości 600×800, obsługiwany za pomocą piórka. Z przodu urządzenia znajduje się okrągły, wielofunkcyjny przycisk. Zewnętrzny, biały pierścień służy do nawigacji podczas czytania oraz włączania i wyłączania menu. Wewnętrzny, srebrny pierścień, który możemy naciskać w czterech miejscach (prawo, lewo, góra i dół), pozwala przechodzić pomiędzy pozycjami menu i plikami. W środku jest się przycisk OK. Na dolnej krawędzi umieszczono przycisk regulacji głośności, gniazdo USB, przycisk włączania, usypiania i wyłączania, gniazdo minijack oraz miejsce dla karty pamięci 34 PAŹDZIERNIK 2010 NUMER 80 SD. Po lewej stronie mamy przycisk włączający i wyłączający WiFi. Przechowywanie, przeglądanie i czytanie Czytnik wyposażony jest w 512 MB pamięci wewnętrznej i kartę SD (standardowo o pojemności 2 GB). Przeglądarka plików oferuje różne widoki listy plików, możliwość sortowania według kilku atrybutów i oceniania w skali od zera do pięciu gwiazdek. Onyx pozwala nam tworzyć skróty, które umożliwiają dotarcie do dowolnego pliku za pomocą jedynie dwóch kliknięć z głównego menu czytnika. Onyx Boox 60 potrafi odczytać publikacje w formatach PDF, DjVu, ePub, TXT, HTML, RTF, DOC, MOBIPOCKET, CHM i PDB, a także pliki graficzne JPG, PNG, BMP i TIFF oraz pliki dźwiękowe MP3. W trybie czytania urządzenie oferuje typowe funkcje: powiększanie i pomniejszanie widoku strony, przeszukiwanie dokumentu, wyszukiwanie wskazanych słów w słowniku i tworzenie zakładek. W niektórych formatach (na przykład TXT) możemy zmienić krój czcionki. Dzięki dotykowemu ekranowi mamy możliwość dodawać odręczne notatki do czytanych publikacji (Rysunek 4). Obraz na ekranie możemy obrócić o dziewięćdziesiąt stopni. Według producenta, w pełni naładowany akumulator wystarcza na kilka tygodni używania i jest to prawda, o ile wykorzystujemy go głównie do czytania. Urządzenie możemy ładować zarówno poprzez E-papier Rysunek 1: Onyx Boox 60 (źródło: materiały prasowe dystrybutora). ładowarkę włączaną do gniazdka, jak i kabel USB podłączony do komputera. Łączność Czytnik komunikuje się z komputerem za pomocą interfejsu USB. W Linuksie zgłasza się jako dwie pamięci masowe (pamięć wewnętrzna i karta pamięci) i nie powoduje żadnych problemów z wymianą danych. Onyx Boox 60 jest wyposażony w prostą przeglądarkę internetową i moduł WiFi z obsługą powszechnych zabezpieczeń (WEP, WPA, WPA2). Niestety, podczas miesięcznych testów często zdarzało się, że czytnik „gubił” połączenie lub w ogóle nie łączył się z sieciami, z którymi inne urządzenia nie miały problemów. Właściwości wyświetlacza (długie czasy reakcji) nie pozwalają skorzystać ze wszystkich treści dostępnych w Sieci (na przykład animacji). Niemniej jednak przeglądarka w zupełności wystarcza, by szybko sprawdzić definicję w Wikipedii lub słowniku internetowym. Oprogramowanie Co jakiś czas producent publikuje nowe wersje oprogramowania czytnika, zawie- Elektroniczny papier to technologia produkcji wyświetlaczy imitujących rzeczywisty papier. Onyx Boox 60 jest wyposażony w wyświetlacz typu EPD (ang. Electrophoretic Display) E-Ink Vizplex [3] pokazujący osiem poziomów szarości. Wyświetlacze tego typu zbudowane są z mikroskopijnych kapsułek, z przeciwnie naładowanymi cząstkami białego i czarnego barwnika, umieszczonych pomiędzy dwoma elektrodami. Ekrany EPD, w przeciwieństwie na przykład do LCD, nie są podświetlane, lecz odbijają padające światło (podobnie jak prawdziwy papier), dzięki czemu nie zużywają energii elektrycznej podczas wyświetlania statycznego obrazu. Potrzebna jest ona jedynie przy zmianie obrazu. Ekrany EPD mają zatem bardzo skromne zapotrzebowanie na energię elektryczną. www.linux-magazine.pl know-how Onyx Boox 60 Rysunek 2: Główne menu. Rysunek 3: Tryb czytania. rające poprawki błędów i nowe funkcje. Zgodnie z podręcznikiem użytkownika, aktualizacja jest prosta – pobieramy archiwum z nową wersją ze strony dystrybutora [2]. Znajdujący się w archiwum plik onyx_update.upd kopiujemy na kartę SD. Następnie upewniamy się, że bateria jest naładowana (to ważne – utrata zasilania podczas aktualizacji sprawi, że czytnik będzie niezdatny do użytku), i włączamy urządzenie, przyciskając jednocześnie przycisk OK do chwili pojawienia się komunikatu o wykryciu aktualizacji. Po kilku minutach Boox powinien uruchomić się z nowym oprogramowaniem. Booksa możemy także wzbogacić o dodatkowe aplikacje. Standardowo polski dystrybutor wyposaża go w syntezator mowy Ivona [4]. Możemy również pobierać dodatkowe lub tworzyć własne aplikacje (na stronie [1] znajduje się zestaw narzędzi deweloperskich i pomoc dla programistów). Projekt Boox Power Pack [5] zapowiada stworzenie pakietu dodatkowego, wolnego, oprogramowania użytkowego. i papeterię (domyślnie jest ich cztery). Inną dodatkową aplikacją jest prosty odtwarzacz plików dźwiękowych z możliwością minimalizacji, który pozwala nam słuchać muzyki lub audiobooków podczas czytania, notowania czy szkicowania. Inne funkcje Notatnik umożliwia tworzenie notatek przy pomocy klawiatury ekranowej i proste formatowanie tekstu. Niestety, notatki zapisywane są jako czyste pliki tekstowe, więc po zamknięciu aplikacji ich formatowanie znika. Z tego samego powodu nie możemy sformatowanego tekstu notatki przenieść do komputera. Szkicownik pozwala nam odręcznie notować i rysować, dając do wyboru barwę (biel lub czerń), grubość (pięć stopni) www.linux-magazine.pl Rysunek 4: Odręczne adnotacje. Konfiguracja Oprócz ustawień poszczególnych aplikacji, Onyx Boox 60 nie oferuje zbyt wielu opcji konfiguracyjnych. Możemy ustawić datę i godzinę, wybrać jedną z dwudziestu wersji językowych, skalibrować piórko i sformatować pamięć wewnętrzną urządzenia. Mamy też do dyspozycji proste zarządzanie energią (czas do uśpienia i czas do wyłączenia). Na karcie pamięci, oprócz publikacji, możemy umieścić własne wzory papeterii, fonty i słowniki. Na koniec Onyx Boox 60 to czytnik wielofunkcyjny, umożliwiający nie tylko bierne czytanie gotowych tekstów. Odtwarzacz pozwala słuchać audiobooków i podcastów. Możliwość łatwej aktualizacji i rozszerzania zakresu funkcji urządzenia to kolejne pozytywy. Niestety przytrafiło się kilka niedociągnięć. Urządzeniu brakuje obsługi kilku otwartych formatów, takich jak ODT czy OGG / Vorbis. Czytnik miewa chwile słabej responsywności i zdarza się, że reakcja na klikanie piórkiem zajmuje kilka sekund. Moduł WiFi także wymaga dopracowania. W zakresie sprzętu miłym dodatkiem byłby akcelerometr, sprawiający, że Boox samodzielnie obracałby obraz na ekranie. Czytnik objęty jest roczną gwarancją, a dystrybutor zapewnia serwis w Polsce. Rysunek 5: Notatnik umożliwia formatowanie tekstu. W ofercie znajduje się także uboższa i tańsza wersja, Boox 60s, pozbawiona modułu WiFi oraz dotykowego ekranu. Na stronie [2] podana jest także zapowiedź nowej odmiany, Boox 601, wyposażonej w modem 3G zamiast modułu WiFi. nnn Info [1] Główna strona Onyx: http://www. onyx-international.com [2] Polska witryna Onyx: http://www. onyx-ereader.pl [3] E-Ink Vizplex: http://www.eink.com/ products/matrix/imaging_film.html [4] Ivona: http://www.ivona.com [5] Boox Power Pack: http://sites.google. com/site/booxpowerpack/ NUMER 80 PAŹDZIERNIK 2010 35 know-how Postgres Plus Postgres Plus Alternatywa na rynku baz klasy enterprise Często można spotkać się z opinią, że Postgres nie nadaje się do rozwiązań klasy enterprise ze względu brak funkcji zapewniających wysoką wydajność i dostępność. Stwierdzenie to mogło być prawdziwe jeszcze parę lat temu, obecnie jednak nie ma racji bytu. Przemysław Deć W ostatnich wersjach do dyspozycji mamy bardzo wydajny i zoptymalizowany silnik bazy danych. Ponadto w wydaniu 9.0 zaimplementowane zostały wewnętrzne funkcje umożliwiające skalowanie horyzontalne. Od dłuższego czasu na rynku są także dostępne produkty firmy EntepriseDB, wiodącego dostawcy wsparcia i usług klasy enterprise dla PostgreSQL. Wśród produktów znajdziemy dwa serwery: Postgres Plus Standard Server oraz Advanced Server, oferujące dodatkowe funkcje wysokiej wydajności i dostępności. W połączeniu z bardzo niskimi kosztami subskrypcji oraz korzystnymi formami licencjonowania (licencje na CPU, w przeciwieństwie do komercyjnych baz, gdzie płacimy za rdzeń lub użytkownika) otrzymujemy produkt, którego nie sposób nie brać pod uwagę przy wyborze rozwiązań klasy enterprise. Spójrzmy jednak bliżej na dostępne technologie oferowane przez Postgres. W najnowszej wersji 9.0 pojawiają się funkcje hot standby i streaming replication. Umożliwiają one utrzymywanie kopii bazy danych na kolejnych serwerach w czasie prawie rzeczywistym w oparciu o logi transakcyjne i bardzo sprawne zastępowanie głównego serwera w razie awarii. Co więcej, nasze kolejne instancje bazy danych mogą także realizować zapytania typu read only, dzięki czemu da się rozłożyć obciążenie na wiele serwerów. W tym momencie nasuwa się pytanie, jak zrealizować load balancing. Do tego celu możemy użyć popularnego narzędzia pgpool. Projekt jest aktywnie rozwijany od wielu lat, a wersja wykorzystująca funkcje z PostgreSQL 9.0 została właśnie wydana. Ponieważ mamy wiele kopii bazy danych, nasze zapytania będą rozkładane pomiędzy serwery według wagi, jaką 36 PAŹDZIERNIK 2010 NUMER 80 przypiszemy każdemu węzłowi. Narzędzie to zapewni nam connection pooling, dzięki czemu oszczędzimy kolejne cenne milisekundy przy nawiązywaniu połączenia do bazy danych. Ponadto – co być może jest najważniejsze – za jego pomocą będziemy w stanie zrealizować synchroniczną replikację, dzięki której zawsze będziemy dysponowali identycznymi kopiami danych. Konfiguracja pgpool jest bardzo prosta i dobrze opisana na stronie projektu pgpool.projects.postgresql.org. Pgpool można łączyć także z innymi technologiami replikacji asynchronicznej takimi, jak popularne Slony, czy z xDB zawierającym wygodny graficzny interfejs (produkt dostępny w ramach subskrypcji Postgres Plus). Bez większego trudu jesteśmy w stanie uruchomić klaster zapewniający zarówno wysoką dostępność, jak i dobrą wydajność. Klaster zawsze wymaga drobiazgowego monitoringu i zarządzania. Te czynności możemy wykonać dzięki Postgres Plus HQ Monitoring oraz konsoli zarządzania dostępnej w wersji Advanced Server. Oprócz wspomnianych rozwiązań w wersji Advanced Server zyskujemy wiele zaawansowanych technologii zwiększających wydajność – Infinite Cache, Asynchronous Pre-Fetch czy Query Optimization Hints. Kluczową technologią jest Infinite Cache. Umożliwia ona rozdystrybuowanie danych w pamięci RAM na wielu serwerach, co likwiduje wąskie gardło, jakim są odczyty danych z dysków. Co więcej, istnieje możliwość spakowania bazy danych w pamięci RAM oraz zastosowania tzw. pre-warmingu, czyli zrzucenia bazy do pamięci RAM już przy starcie serwera. Dzięki temu pierwsze zapytania także nie będą wymagać żadnych operacji dyskowych. Technologia ta jest całkowicie przezroczysta dla aplikacji i nie wiąże się z żadnymi dodatkowymi kosztami. Skok wydajności odczujemy przy wszystkich rodzajach baz, zarówno OLAP, jak i OLTP, jednak najlepsze wyniki uzyskamy dla zapytań odczytujących dane. W testach zwierających wyłącznie zapytania typu SELECT wyniki są piętnastokrotnie lepsze niż bez zastosowania tej technologii! Przy okazji baz typu OLAP, warto wspomnieć o innym dedykowanym rozwiązaniu zwiększającym wydajność – GridSQL. Ta oparta na architekturze shared-nothing technologia pozwala na równoległe wykonywanie skomplikowanych obliczeń na wielu serwerach. Postgres Plus Advanced Server stanowi alternatywę także z innego powodu. Tym, co pozostaje w nim najistotniejsze, jest warstwa kompatybilności z Oracle. Pozwala ona uruchomić wiele aplikacji napisanych dla tych baz danych, w całkowicie niezmienionej postaci lub przy minimalnych zmianach w kodzie. Migrację możemy przeprowadzić za pomocą jednego przycisku dzięki intuicyjnemu Migration Studio. Zarówno schemat, jak i dane są przenoszone na naszych oczach do bazy Postgres Plus. Jak widać, Postgres Plus wyrasta na poważnego konkurenta na rynku baz danych. Dodatkowo ma znakomitą przewagę nad innymi produktami – jest bazą open source. Wykorzystując szereg projektów (na http://pgfoundry.org/ zobaczymy ich listę i wymienimy się uwagami), jak i dostępnych w ramach subskrypcji rozszerzeń, jesteśmy w stanie zbudować bardzo wydaje i stabilne środowisko dla systemu klasy enterprise. nnn AUTOR Przemysław Deć jest pracownikiem Linux Polska (http://www.linuxpolska.pl). www.linux-magazine.pl LINUX MAGAZINE LINUX.LOCAL Linux Magazine dla małych i średnich firm linuksowych LINUX.LOCAL – POMOC DLA FIRMY „Linux Magazine” to najlepsze pismo o Linuksie w Polsce. Czytają nas użytkownicy Linuksa, programiści, administratorzy, menedżerowie i decydenci. Dajemy możliwość dotarcia do całego rynku Linuksa w Polsce. Naszym celem jest stworzenie ogólnopolskiej bazy firm, które zajmują się Linuksem. Dzięki temu chcemy otworzyć przed firmami nowe możliwości. Linux.local łączy katalog firm z reklamą zachęcającą do korzystania z usług. Nie ukrywamy, że wzorem dla nas jest niemieckojęzyczna wersja „Linux Magazine”, gdzie zestawienie linux.local liczy sobie ponad trzysta wpisów i jest to cenione, wiarygodne źródło informacji o firmach. Mamy nadzieję, że polskie firmy również będą chętnie korzystały z tej formy promocji. Linux.local w Polsce Program przeznaczony jest dla wszystkich firm, które chcą się promować w piśmie o Linuksie. Nie ma wymogów formalnych ani organizacyjnych – forma prowadzenia działalności gospodarczej i jej wielkość nie mają znaczenia. Najważniejsze, żeby firma sprzedawała sprzęt, usługi lub doradztwo związane w jakikolwiek sposób z Linuksem. Interesują nas zatem firmy działające w następujących branżach: • sprzęt • integracja • oprogramowanie • usługi • dostawcy usług internetowych • najtańszą reklamę prasową – żadne inne czasopismo dla profesjonalistów nie oferuje tak taniego sposobu dotarcia do tak dużej rzeszy potencjalnych klientów; • w cenie uczestnictwa w Linux.local uwzględniona jest prenumerata „Linux Magazine” na okres udziału w programie; • pierwszeństwo w uczestnictwie w komercyjnych projektach rozwoju oprogramowania linuksowego sponsorowanych przez Linux New Media Sp. z o.o. (właściciela „Linux Magazine”); • wsparcie promocyjne – „Linux Magazine” to czasopismo międzynarodowe, wydawane w pięciu językach, cieszące się znakomitą reputacją na świecie. Możemy pomóc wejść na rynki Niemiec, Austrii, Szwajcarii czy Wielkiej Brytanii – doradzając i oferując najtańsze sposoby promocji. Uczestnictwo firmy w programie Linux.local daje kilka korzyści: Aby wziąć udział w programie Linux.local, wystarczy wejść na nasze strony WWW – pod adresem Korzyści z uczestnictwa w Linux.local Opłaty w Linux.local 12 edycji 1200 zł – (100 zł/mc) 6 edycji 720 zł – (120 zł/mc) Promocja* – 2 edycje gratis Należy doliczyć podatek VAT w wysokości 22% * Z promocji tej można skorzystać raz w roku 82 PAŹDZIERNIK 2010 NUMER 80 Jak skorzystać z Linux.local? http://linuxmagazine.pl/index.php/magazine/local znajdują się dodatkowe informacje. W przypadku pytań prosimy o kontakt e-mailowy pod adresem [email protected] lub telefoniczny pod numerem 22 742 14 55. Ile to kosztuje? Najkrótszym możliwym do zamówienia okresem jest pół roku, maksymalnym – rok. Proponujemy również promocyjne uczestnictwo przez dwa miesiące, do wykorzystania raz w roku. nnn www.linux-magazine.pl LINUX MAGAZINE LINUX.LOCAL Firma Adres Telefon / Faks E-mail WWW 123456 ABIX Beata PieńkosJurkiewicz 01-493 Warszawa ul. Kędzierskiego 5 lok. 10 (22) 406 11 80 a.jurkiewicz@ abix.info.pl www.abix.info. pl [4] Cirrus Pióro Maria 83-110 Tczew ul. Piaskowa 3 (58) 5300657 (58 5320656) [email protected] www.cirrus.pl [2, 3, 4, 5, 6] HEUTHES Sp. z o.o. 02 -785 Warszawa ul.Koński Jar 8/30 (91) 460 89 74 marketing@ heuthes.pl www.isof.pl Akademia Administracji Systemem Linux SWPiZ Łódź 90-113 Łodź ul. Sienkiewicza 9 (42) 632 04 80 mkowalska@ swspiz.pl szkolenia@ swspiz.pl www.akademialinux.swspiz.pl [6] HSF Poland Sp. z o.o. 61-663 Poznań ul. Winogrady 30 (61) 825 99 66 (61) 825 99 60 [email protected] www.hsf.pl sklep.hsf.pl [2, 3] (0) 694 749 749 Mateusz Kornet (0) 501 623 888 Michał Pachecka TORMA NET.Partners 01-793 Warszawa ul. Rydygiera 12 lok. 2 (22) 331 85 80 (22) 331 85 81 biuro@ netpartners.net. pl www. netpartners. net.pl [2, 3, 4, 5, 6] Akademia „Linux Magazine” 02-758 Warszawa ul. Mangalia 4 (22) 642 25 19 [email protected] www.akademia. linux-magazine. pl [6] 1 = Dostawca Internetu 2= Sprzęt (sprzedaż i serwis) 3 = Sieci (projektowanie, instalacja oraz technologie sieciowe) 4 = Sprzedaż oprogramowania 5 = Wdrożenia 6 = Szkolenia www.linux-magazine.pl NUMER 80 PAŹDZIERNIK 2010 83 LINUX MAGAZINE PRENUMERATA PRENUMERATA CENNIK PRENUMERATY „LINUX MAGAZINE” Prenumerata dwuletnia – 24 numery z DVD Student* 247,00 PLN Osoba prywatna 320,00 PLN Firma 340,00 PLN Zagranica – Europa** 610,00 PLN Zagranica – Świat*** 710,00 PLN Prenumerata półroczna – 6 numerów z DVD Student* 100,00 PLN Osoba prywatna 110,00 PLN Firma 120,00 PLN Zagranica – Europa** 160,00 PLN Zagranica – Świat*** 180,00 PLN Prenumerata roczna – 12 numerów z DVD Student* 156,00 PLN Osoba prywatna 190,00 PLN Firma 210,00 PLN Zagranica – Europa** 310,00 PLN Zagranica – Świat*** 360,00 PLN Prenumerata kwartalna – 3 numery z DVD Student* 62,00 PLN Osoba prywatna 65,00 PLN Firma 70,00 PLN Zagranica – Europa** 100,00 PLN Zagranica – Świat*** 120,00 PLN Koszty przesyłki pokrywa redakcja. * wymagane przesłanie faksem na numer 022 742 14 56 kopii zaświadczenia z uczelni ** czas dostawy - około 1 tygodnia *** czas dostawy - około 2 tygodni 202130000420010316 47870001 N e w M a n g a l i a M e d i a 4 , S p . 0 2 - 7 5 8 z o . o . W a r s z a w a Linux New Media Sp. z o.o. 2 0 2 1 3 0 0 0 0 4 2 0 0 1 0 3 1 6 4 7 8 7 0 0 0 1 Prenumerata Linux Magazine P r e n u m e r a t a 202130000420010316 L i n u x Mangalia 4, 02-758 Warszawa 47870001 N e w M a n g a l i a L i n u x M e d i a 4 , M a g a z i n e S p . 0 2 - 7 5 8 z o . o . W a r s z a w a Linux New Media Sp. z o.o. 2 0 2 1 3 0 0 0 0 4 2 0 0 1 0 3 1 6 4 7 8 7 0 0 0 1 Prenumerata Linux Magazine P r e n u m e r a t a Mangalia 4, 02-758 Warszawa 84 L i n u x PAŹDZIERNIK 2010 NUMER 80 L i n u x M a g a z i n e www.linux-magazine.pl W NUMERZE PRENUMERATA Formularz zamówienia prenumeraty Prosimy o czytelne wypełnienie formularza i przesłanie go do nas w następujący sposób: faksem na numer +48 22 642 70 05 lub pocztą na adres: Linux Magazine, ul. Mangalia 4 02-758 Warszawa Można również wypełnić formularz zamówienia przez Internet dostępny pod adresem: http://linux-magazine.pl/Subs Zamawiam prenumeratę „Linux Magazine”: 26 prenumerata dwuletnia – 24 numery z DVD prenumerata roczna – 12 numerów z DVD prenumerata półroczna – 6 numerów z DVD prenumerata kwartalna – 3 numery z DVD 48 Początek prenumeraty „Linux Magazine” od numeru Dane niezbędne do wystawienia faktury Nazwa firmy Ulica Kod pocztowy Miasto numer NIP tel. kontaktowy e-mail kontaktowy Adres do wysyłki (jeśli jest inny niż adres faktury) Odbiorca Ulica kod pocztowy Miasto Dodatkowe uwagi Pytania dotyczące prenumeraty prosimy kierować na adres: [email protected]. Osoby prywatne prosimy o uregulowanie płatności na nasz rachunek. Dla firm - na podstawie danych powyższego formularza - wystawiamy i wysyłamy pocztą fakturę VAT. Istnieją dwa sposoby zapłaty za prenumeratę „Linux Magazine”: • płatność gotówką (za pomocą poniższego blankietu wpłaty) • przelew (w dowolnej formie) na nasze konto: Linux New Media Polska Sp. z o. o. ul. Mangalia 4 02-758 Warszawa 20 2130 0004 2001 0316 4787 0001 Volkswagen Bank Polska S.A. www.linux-magazine.pl NUMER 80 PAŹDZIERNIK 2010 85 w następnym numerze Numer 81 Webmastering Numer 81 / Listopad 2010 WWW to dziś najbardziej istotny element Internetu, cięgle ewoluujący wraz ze zmieniającymi się technologiami. W przyszłym miesiącu przyjrzymy się niektórym z nich. Przedstawimy raport z rozwoju standardu HTML 5, dzięki któremu oglądanie filmów w Internecie nie będzie już wymagało instalacji dodatkowych wtyczek, takich jak Flash. Opiszemy też prostą metodę dodania obsługi baz danych do aplikacji webowej za pomocą przyjaznego JavaScriptowi projektu PublicSQL i pokażemy, jak używać Skipfisha do testowania zabezpieczeń aplikacji webowych. David Mark, 123RF 86 PAŹDZIERNIK 2010 NUMER 80www.linux-magazine.pl Pierwsza wirtualna konferencja w Polsce Serdecznie zapraszamy do udziału w pierwszej w Polsce całkowicie wirtualnej konferencji poświęconej rozwiązaniom Red Hat/JBoss i Open Source, która odbędzie się już wiadomości z pierwszej ręki! Udział Gości Specjalnych z firmy Red Hat, m.in. Frank Weyns (Principal Solution Architect) i Phil Andrews (Regional Director EMEA). Zapraszamy do wysłuchania wykładów światowych ekspertów na temat budowy i infrastruktury Cloud, wirtualizacji, nowej wersji Satellite Server oraz bezpieczeństwa w wirtualnym świecie. Mogą Państwo do nas dołączyć z dowolnego miejsca - wystarczy rejestracja i dostęp do internetu. W programie przewidziany czat na żywo z prelegentami oraz ciekawe konkursy z nagrodami. Agenda spotkania dostępna na stronie konferencji: www.OpenSourceDay.pl Udział w konferencji jest bezpłatny. Zapraszamy do rejestracji! http://opensourceday.pl superp a l d a j c o m o r Linux w ó k i n Czytel n o i t i d unity E m m o C e n i z a g Ma Tylko teraz trzy numery prenumeraty próbnej „Linux Magazine” tradycyjnego wydania dla każdego Czytelnika „Linux Magazine” Community Edition za 45 zł! 3 NUMERY PRÓBNE 45 ZA ZŁOTYCH Zamów: [email protected] lub 22 742 14 55, podając hasło „Community Edition prenumerata próbna”.