Knoppix 6.7 - Linux Magazine
Transkrypt
Knoppix 6.7 - Linux Magazine
Knoppix 6.7 Phonegap Tworzymy aplikacje na wszystkie popularne smartfony! L I S TO PA D 2 0 1 1 – N U M E R 1 1 ( 9 3 ) C E N A : 2 5 , 9 0 z ł ( 5 % VAT ) & Android Odkrywamy nowe jądro Linuksa LINUX 3.0 OpenVAS – wykrywamy luki w zabezpieczeniach n Tajemnice Knoppiksa n Sklep internetowy w Drupalu n iTunes pod Linuksem on: i t i d E y t i n u Comm n e p o d n a free dalej Adobe Flex Piszemy aplikacje dla Androida i iOS-a Linus Torvalds Legendarny twórca Linuksa opowiada o wersji 3 i przyszłości Linuksa TBB 3.0 Programujemy procesory wielordzeniowe ePub Tworzymy własne e-książki w w w . l i n u x - M A G A Z IN E . P L aj d pobierz i po Witamy Doghouse: Uwierzytelnianie Na Godota Jon „maddog” Hall K ilka lat temu wybrałem się w dłuższą podróż do Izraela i Indii. Kiedy dotarłem do Izraela, udałem się na konferencję branżową, gdzie opowiadałem o GNU / Linuksie i wolnym oprogramowa- niu. Izrael to dynamiczny kraj, jest tam wielu przedsiębiorczych ludzi – zdziwiłem się więc, że w konferencji uczestniczyły tylko dwie firmy zajmujące się FOSS. Zapytałem, dlaczego brakuje firm zajmujących się GNU / Linuksem i ogólnie FOSS. – Czekamy na list autoryzacyjny – usłyszałem. – Przepraszam, na co? – zapytałem. – Chodzi o to, że jako partnerzy jakiejś firmy dostajemy od niej list autoryzacyjny z informacją, że jesteśmy autoryzowanym partnerem i że inni powinni z nami współpracować. Do tego służy właśnie „list autoryzacyjny”. Wyjaśniłem im, że po pierwsze nie istnieje osoba ani organizacja, która mogłaby im wystawić taki list, ale że w przypadku GNU / Linuksa w ogóle nie potrzebują niczego takiego. Wiem jednak, dlaczego na niego czekali. Przez wiele lat pracowałem w różnych firmach i podpisywałem wiele umów o współpracy. Owe „listy uwierzytelniające” były rezultatem tygodni rozmów, wymian pism między prawnikami, menedżerami produktu i członkami zespołów. Po podpisaniu umowy o współpracy zwykle jedna strona otrzymywała dostęp do kodu niezbędny do stworzenia produktu czy usługi, zaś maszyneria marketingowa zaczynała rozgłaszać wszem i wobec o „najlepszym partnerstwie na świecie”. Można by pomyśleć, że procedura ta przeszła teraz na wolne oprogramowanie – przynajmniej tak wydawało się moim rozmówcom. W rzeczywistości jednak trudno o bardziej błędne przypuszczenie. Z prawnego punktu widzenia wolne oprogramowanie i open source wymagają jedynie przestrzegania warunków licencji. Jeżeli rozumiemy treść licencji, w ogóle nie jest konieczna żadna interakcja z prawnikami. Ponieważ licencja nie zabrania wykorzystania komercyjnego, menedżerowie produktu z nikim nie muszą negocjować ceny bazowej. Wszystko wygląda inaczej niż w przypadku zamkniętego oprogramowania. Pamiętam, że kiedy pracowałem w Digital Equipment Corporation, mieliśmy wydać drugą komercyjną edycję Uniksa zwaną Ultrix–32; był to Unix dla procesorów VAX. Nasze „negocjacje” z AT&T co do licencji trwały tak długo, że w końcu stworzyliśmy nawet słynne tablice rejestracyjne z napisem „Unix – Live Free or Die”, by uspokoić klientów, którzy chcieli licencji na Uniksa od DEC. www.linux-magazine.pl Pierwsze, co zrobiliśmy przed rozpoczęciem projektu, to przystąpienie negocjacji w kwestii licencji z AT&T; był też ostatni krok, który wykonaliśmy przed udostępnieniem produktu. Choć proces ten stworzył wiele miejsc pracy dla menedżerów produktu i prawników po obu stronach, był drogi i – w przypadku FOSS – zupełnie zbędny. Oczywiście „negocjacje” z AT&T nie skończyły się po wydaniu pierwszej wersji. Zwykle co roku musieliśmy renegocjować licencję w związku z kwestiami takimi, jak wzrost mocy obliczeniowej procesora, różnice między licencjami na serwery i stacje robocze, systemy wieloprocesorowe, a także – moje ulubione – stacje robocze z wieloma użytkownikami, których używał nie tylko użytkownik zalogowany na konsoli, ale również wielu innych, zalogowanych na przykład przez Internet. Oczywiście kwestie licencyjne nie kończą się na sprzedawcach, którzy negocjują prawa do dystrybucji: oprócz opłat licencyjnych użytkownik również ponosi swój koszt za produkt. Liczenie licencji i zapewnienie odpowiedniej zgodności licencyjnej zabiera administratorom sporo czasu, to samo dotyczy zarządzania licencjami przez menedżerów. Powstało wiele różnych systemów, które wspomagają te procesy. FOSS ma własne wyzwania związane z licencjami. Trzeba je uważnie przeczytać i odpowiednio stosować, zwłaszcza jeśli łączy się produkty udostępniane na warunkach różnych licencji. Jednak w mojej opinii kwestie te nawet w ułamku nie są tak skomplikowane i czasochłonne, jak negocjacje odnośnie do zamkniętego oprogramowania. Po wyjeździe z Izraela odwiedziłem Delhi, gdzie wziąłem udział w kolejnej konferencji i spotkałem się z przedstawicielami firm zajmujących się GNU / Linuksem. I ponownie zdziwiłem się, dlaczego w tak dużym kraju jest ich tak niewiele. Zadałem im więc to samo pytanie, co ich kolegom w Izraelu. – Czekamy na list autoryzacyjny – usłyszałem w odpowiedzi. Carpe diem! n n n NUMER 93 LISTOPAD 2011 3 Linux & Android Magazine Spis treści & Android 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] Projekt okładki Pinball, [email protected] Reklama Linux 3.0 W porównaniu z oryginalnym 2.6, jądro 3.0 to prawdziwa rewolucja. 13 Linus Torvalds Twórca Linuksa opowiada o najnowszych zmianach w jądrze i przyszłości Linuksa. 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 J. Ewa Romaniuk, [email protected] [email protected] Cena prenumeraty 18 Linux 3.0 Zaglądamy pod maskę najnowszego jądra Linuksa. (12 numerów w roku zawierających CD-ROM lub DVD): Dla osób prywatnych roczna 195 zł półroczna 110 zł dwuletnia 330 zł Dla firm roczna 215 zł półroczna 125 zł dwuletnia 345 zł Prenumerata zagraniczna: roczna 320 zł półroczna 165 zł 24 Architektura Knoppiksa Zamówienia i obsługa prenumeraty: tel. +48 22 742 14 55 faks +48 22 742 14 56 [email protected] Opisujemy najpopularniejszą dystrybucję Linuksa uruchamianą z DVD. Linux Magazine ul. Mangalia 4, 02-758 Warszawa www.linux-magazine.pl, [email protected] tel./fax +48 22 22 742 14 55 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. 6 NOWOŚCI W JądrZE Linux 3.0, OpenRISC i bufor ramki. 8 nowośCi Druk: ArtDruk - Zakład Poligraficzny Kobyłka www.artdruk.com tel. +48 604 979 357 4 LISTOPAD 2011 NUMER 93 15 nARZĘDZIA . www.linux-magazine.pl W NUMERZE LISTOPAD 2011 W NUMERZE 41 18 Linux 3.0 Świętujemy pojawienie się nowego jądra i zaglądamy do jego wnętrza. 52 Handel z Drupalem Budujemy sklep internetowy za pomocą Drupala. 80 Android OpenVAS To otwarte narzędzie pomoże nam namierzyć dziury w sieci, zanim znajdą je włamywacze. Alternatywy dla iTunes Linuksowe narzędzia do zarządzania urządzeniami z muzyką. 28 Flex i Air dla Androida Budujemy aplikacje dla Androida. 36 Base Tab Ten tablet ma niezłą moc i atrakcyjną cenę. 38 Rootowanie Androida Brak pełnych uprawnień do systemu zainstalowanego w naszym telefonie kłóci się z zasadami Linuksa... KNOW-HOW 41 OpenVAS 61 Perl: WebSocket Trzymamy włamywaczy z dala od naszej sieci. Ta technologia HTML5 umożliwia klientom WWW ustanawianie trwałych połączeń z serwerami. 48 Bezpieczeństwo IPv6 Na co warto zwrócić uwagę, wprowadzając IPv6 do swojej sieci, by nie narazić się na atak? 66 Lekcje bezpieczeństwa: Ataki wykorzystujące zmodyfikowany kod 52 E-handel z Drupalem Napastnikom udaje się wstrzyknąć złośliwy kod do popularnych aplikacji. Drupal 7 znacznie ułatwia tworzenie własnych sklepów internetowych. 57 Charly: Haveged Dobra kryptografia wymaga dobrych liczb losowych. 58 Pytania i odpowiedzi Twórca Knoppiksa, Klaus Knopper, odpowiada na pytania dotyczące Linuksa. 68 TBB 3.0 Nowa technologia Intela pozwala tworzyć superwydajne aplikacje wielowątkowe. LinuxUser 75 ePub Przygotowujemy własne e-książki. 80 Alternatywy dla iTunes Darmowe linuksowe narzędzia muzyczne. 84 Workspace: GetSimple Praca z CMS-em nigdy nie była prostsza. 88 After the Deadline Sprawdzamy styl, pisownię i gramatykę za pomocą tego prostego narzędzia open source. 91 Wiersz poleceń: powłoki Bash to nie jedyna powłoka. Knoppix 6.7 Najnowsze jądro 3.0.4 Bezproblemowe wykrywanie sprzętu Mnóstwo ulepszeń i nowych wersji aplikacji www.linux-magazine.pl NUMER 93 LISTOPAD 2011 5 NOWOŚCI Jądro Kronikarz Zack Brown przekazuje najnowsze wiadomości, wymiany poglądów i dylematy w łonie twórców jądra Linuksa. Zack Brown Połowiczny aspekt 3.0 Zack Brown Na listę mailingową jądra Linuksa składają się najważniejsze wydarzenia rozwoju Linuksa. Ruch jest ogromny, często sięga dziesięciu tysięcy wiadomości tygodniowo i bycie na bieżąco z całym rozwojem jądra to zadanie właściwie niewykonalne dla jednej osoby. Jednym z nielicznych śmiałków, którzy się tego podejmują, jest Zack Brown. 6 LISTOPAD 2011 NUMER 93 Linus Torvalds wreszcie udostępnił jądro 3.0, co wywołało szereg mniejszych problemów przypominających nieco pluskwę milenijną. Po pierwsze, samo drzewo Gita, gdzie znajdują się źródła jądra, miało w nazwie „2.6”. Tak więc wkrótce po wysłaniu wydania 3.0 Linus zmienił URL Gita na git://git. kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git. Stary URL może wciąż działać, jeśli jednak śledzimy rozwój jądra, warto wprowadzić nową wersję do swojego pliku .git/config. Co dalej? Administratorzy strony kernel.org nie zaktualizowali witryny, by odzwierciedlała nowy URL, więc przez pewien czas zawierała błędny – konieczność zmiany przypomniał im Vitaliy Ivanov. W międzyczasie Jesper Juhl zwrócił uwagę – skrypty budowania nadal oczekiwały, że numer wersji będzie składał się z trzech liczb (z czwartą dla gałęzi stabilnych), podczas gdy po przejściu na 3.0 numer wersji zawiera tylko dwie liczby (trzy w przypadku jąder stabilnych) Tradycyjnie trzecia liczba nosiła nazwę EXTRAVERSION, zaś numer wersji stabilnych – SUBLEVEL. Jesper zapytał, którego z nich się pozbyć – o ile w ogóle – by móc . zacząć aktualizować skrypty. To samo pytanie zadał Randy Dunlap, ponieważ sam musiał poprawić kilka skryptów w zależności od odpowiedzi. Linus jednak takowej nie udzielił, po części dlatego, że implementacja rozpoznawania dwuliczbowego numeru wersji przez jądro wprowadziłaby spory bałagan; pozostawienie numeru składającego się z trzech liczb wydaje się po prostu łatwiejsze. Oczywiście to żadne długofalowe rozwiązanie dla opiekunów skryptów. Ani Kleen zwrócił uwagę, że problem jest dużo głębszy: niektóre z używanych przez niego programów nie chciały działać na Linuksie 3.0 jedynie ze względu na numer wersji; do innych nie miał kodu źródłowego. Zaproponował bardzo nieeleganckie rozwiązanie: jądro miało zwracać numer wersji 2.6.40 wraz ze specjalnym napisem wskazującym prawdziwy numer w serii 3.x. Ani stwierdził, że choć nieładne, to jednak na razie najlepsze obejście problemu – i stosunkowo ważne, bo wsteczna zgodność zawsze jest istotnym priorytetem. Trudno określić, czy jego łata znajdzie się w jądrze, z pewnością jednak uwidacznia poważną kwestię zapoczątkowaną przez niewinną z pozoru zmianę. www.linux-magazine.pl NOWOŚCI Jądro Rozwój bufora ramki Florian Tobias Schandinat podesłał kod umożliwiający równoczesne wyświetlenie wielu konsoli w buforze ramki. Sztuczka ta nie zadziała w X, jedynie w powłoce konsoli. Dobrej zabawy nigdy za wiele. Linuksowy bufor ramki to zasadniczo próba przywrócenia jądru kontroli nad wyświetlaczem graficznym danego systemu. Standardowe podejście polega na wykorzystaniu systemu X, który przejmuje kontrolę nad sprzętem związanym z grafiką. Zwykle bowiem to jądro kontroluje sprzętowe zasoby systemu, przydzielając dostęp do nich poszczególnym aplikacjom. W ten sposób wiele aplikacji może korzystać z części RAM-u, nie musząc przejmować kontroli nad całą dostępną pamięcią. Zasadniczo odnosi się to do wszystkich sprzętowych komponentów systemu – różne aplikacje proszą o dostęp, ale od jądra zależy, co zostanie czemu przydzielone i na jak długo. W przypadku grafiki sprawy mają się nieco inaczej: jądro przekazuje niemal pełną kontrolę X, który z kolei przydziela zasoby różnym aplikacjom. Linuksowy bufor ramki stanowi próbę przywrócenia kontroli nad grafiką jądru, czyli prawowitemu właścicielowi. Nigdy jed- nak buforowi ramki nie udało się rozwinąć do tego stopnia, co X – po części dlatego, że trudno napisać kod dla wszelkich możliwych urządzeń graficznych na świecie, ale też dlatego, że X nie tylko kontroluje sprzęt, ale służy również jako protokół komunikacji sieciowej między aplikacjami. To bardzo elastyczne rozwiązanie; do dyspozycji mamy też zestaw API, z których różne aplikacje korzystają od dziesięcioleci. Aby faktycznie zastąpić X, Linux musiałby zawierać nie tylko kod odpowiedzialny za kontrolę sprzętu graficznego, ale również emulować wszystkie API udostępniane przez X. W praktyce oznaczałoby to włączenie X do jądra, co wiązałoby się z mnóstwem problemów natury technicznej i politycznej, zwłaszcza jeśli chodzi o sposób pracy programistów X. Co więcej, aktywnie rozwijany i utrzymywany kod (X) zostałby przekształcony w coś, co trudno byłoby rozwijać. Mimo to linuksowy bufor ramki to symbol idealistycznego marzenia, że pewnego dnia, jeśli zostaną zaimplementowane odpowiednie funkcje, da się na niego przenieść aplikacje z GUI – a tym samym przerośnięty i niezgrabny system X stanie się zbędny. Nowa architektura dla układów Texas Instruments Mark Salter podesłał łatę przenoszącą Linuksa na nową architekturę – procesorów sygnałów cyfrowych X64x firmy Texas Instruments. Ta jedno- i wielordzeniowa rodzina procesorów nie posiada wielu elementów sprzętowych, które znajdziemy w bardziej typowych procesorach ogólnego zastosowania. Na przykład wielordzeniowe procesory C64x nie obsługują spójności pamięci bufora (tj. dostarczania do rdzeni przewidywalnie podobnych danych przy próbie dostępu do tego samego miejsca w buforze). Bez tej funkcji obsługa systemu SMP staje się prawdziwym wyzwaniem. Nie przeszkodziło to jednak we włączeniu kodu do jądra. Linux działa bowiem na wielu prostych procesorach. Mark zwrócił uwagę, że choć port C64x istnieje od jądra 2.6.13, nigdy nie powstał port GCC, który by na nim działał – aż do teraz. Bez GCC zbudowanie pełnego systemu było dość problematyczne, mimo działającego jądra. Port GCC na tę architekturę wciąż jest we wczesnej fazie rozwoju, widocznie jednak stał się wystarczająco funkcjonalny, by Mark zdecydował się włączyć port C64x w głównym drzewie jądra i przygotować wiki dla programistów pod adresem linuxc6x.org. Dodał, że programiści z Texas Instruments są przygotowani na rozwiązanie wszystkich problemów, jakie mogą się pojawić. W tym momencie wielu programistów, między innymi Randy Dunlap, Milton Miller i Arnd Bergmann, zwróciło uwagę na wiele kwestii, które należy rozwiązać przed włączeniem kodu Marka do drzewa jądra, począwszy od kosmetyki (na przykład który katalog powinien przechowywać określone pliki), a skończywszy na bardziej złożonych problemach (jak przepisanie plików płyty na pliki w formacie DTS, devicetree source). Mark zdawał się akceptować wszystkie te sugestie, trudno jednak stwierdzić, ile czasu zajmie implementacja większości z nich. Jest jednak oczywiste, że port C64x wymaga jeszcze sporo pracy i nieprędko znajdzie się w głównym drzewie jądra. www.linux-magazine.pl Nowa architektura OpenRISC Jonas Bonn podesłał kod dla architektury OpenRISC, który ma zostać włączony do wczesnych jąder serii 3.x. Projekt jest częścią opencores.org; jego siedziba to openrisc.net, a cel stanowi utworzenie otwartej architektury procesora. Po okresie hibernacji OpenRISC odżył; w ciągu ostatniego roku liczba programistów zwiększyła się z pięciu do dwudziestu pięciu. Utrzymują oni własne porty jądra od wersji 2.6.35 i czują, że ich kod jest już na tyle dojrzały, by mógł znaleźć się w głównej gałęzi jądra jako przeznaczony dla pełnoprawnej architektury. Wreszciezostał zaakceptowany przez Linusa, nie zabrakło jednak sytuacji rodem z Paragrafu 22. Otóż kod OpenRISC nie buduje się bez łaty na moduły Rusty’ego Russella, zaś Linus nie chciał go z tego powodu zatwierdzić. Z kolei Rusty czekał na wysłanie swojej łaty, aż Linus zaakceptuje kod OpenRISC, ponieważ wtedy jej nałożenie byłoby znacznie łatwiejsze. W każdym razie szybko rozwiązała się ta pętla – Linus najpierw zaakceptował łatę dla modułów, a potem – dla OpenRISC. Wygląda więc na to, że OpenRISC znajdzie się w jądrach 3.1. NUMER 93 LISTOPAD 2011 7 NOWOŚCI Nowości NOWOŚCI Technologie, trendy, narzędzia Oracle przejmuje Ksplice Inc. Oracle ogłosił zakup Ksplice Inc., który jest producentem Ksplice’a, narzędzia umożliwiającego aktualizowanie systemu w czasie rzeczywistym. Użytkownicy Ksplice’a mogą korzystać z subskrypcji Ksplice Uptrack, która automatyzuje wykonywane przez program aktualizacje. Firma została stworzona w 2008 roku przez studentów MIT, dwa lata później uzyskała osobowość prawną. Jej klienci używali wielu różnych dystrybucji, między innymi Red Hat Enterprise Linuksa, Fedory, Debiana i CentOs-a. Według upublicznionych danych Ksplice działa na ponad stu tysiącach serwerów w siedmiuset firmach i wprowadził ponad dwa miliony aktualizacji. Dokument wyjaśniający działanie produktu: http://www.ksplice.com/doc/ksplice.pdf. Dzięki zakupowi stajnie Oracle’a zyskały doświadczonych inżynierów, ale łatwo się domyślić, że głównym celem było zwiększenie konkurencyjności Oracle Linuksa względem Red Hat Enterprise Linuksa (RHEL) i SUSE Linux Enterprise Servera (SLES), dystrybucji przeznaczonych dla firm. W komunikacie prasowym nabywca ostrzega, że będzie wspierał Ksplice’a tylko we własnej dystrybucji – opartym na RHEL-u Oracle Linuksie, i będzie oferować tę usługę wyłącznie klientom, którzy zasubskrybują licencję Oracle Linux Premier Support. Oracle nie zamierza udostępniać Ksplice’a klientom RHEL-a czy SUSE. W komunikacie prasowym czytamy: „Oracle wierzy, że będzie jedynym producentem Linuksa dla firm oferującym aktualizacje, które nie wymagają przerywania pracy systemów”. Odpowiedź na to stwier- 8 LISTOPAD 2011 NUMER 93 dzenie stanowią głosy żądające stworzenia odnogi projektu Ksplice. Warto trzymać rękę na pulsie i czekać na rozwój wypadków. Komunikat prasowy i związane z nim dokumenty: http://www.oracle.com/us/ corporate/Acquisitions/ksplice/index.html. Premiera KDE 4.7 27 lipca, prawie dokładnie sześć miesięcy po wydaniu wersji 4.6, zespół KDE wypuścił długo oczekiwaną stabilną odsłonę KDE 4.7.0. Zawiera ona mnóstwo nowych funkcji, ulepszeń i łatek, w tym aktualizacje Plasma Workspaces (jak w KDE określane są środowiska dla komputerów osobistych, netbooków i urządzeń mobilnych) i aplikacji, a także znaczne usprawnienia na polu stabilności i wydajności platformy. W tej odsłonie zamknięto też dwa tysiące błędów związanych z aktualną wersją. Inny atut stanowi aktualizacja menedżera okien Kwin, która umożliwia mu działanie na urządzeniach mobilnych obsługujących OpenGL-ES 2.0. Ulepszenia w grafice ikon Oxygena i motywów Plasmy sprawiają, że aplikacje Gnome (i inne korzystające z Gtk+) lepiej współgrają z narzędziami KDE. W nowej wersji debiutuje KMail 2, który wraz z inną aplikacją sieciową, Kontactem, został przeniesiony do Akonadi, co zwiększyło stabilność i ułatwiło udostępnianie informacji innym programom. Domyślny menedżer plików, Dolphin, jest już znacznie ładniejszy, oferuje lepszy ekran wyszukiwania i obsługę systemów zarządzania kodem źródłowym. Dzięki aktualizacji Konsole nie będzie blokować odłączania pamięci USB. Wirtualna kula ziemska Marble uzyskała opcję wyszukiwania adresów offline, co zwiększa jej . wartość dla użytkowników mobilnych. Obsługa programu rozruchowego GRUB 2 jest teraz wbudowana w menedżer logowania KDM. Gwenview oferuje porównywanie wyświetlanych obok siebie obrazów, a edytor tekstu Kate zyskał poprawki kosmetyczne i większą stabilność. Narzędzie digiKam 2.0 wzbogacone zostało o funkcje wykrywania i rozpoznawania twarzy i odwrócone geotagowanie. Usunięto też wiele błędów. Więcej informacji: http://kde.org/announcements/4.7/. Microsoft przedłuża umowę z SUSE Microsoft i SUSE Linux ogłosiły wydłużenie o kolejne cztery lata umowy o wymianie technologii i interoperacyjności, zgodnie z którą Microsoft ma zainwestować sto milionów dolarów w licencje na SUSE Linux Enterprise Server (SLES) dla klientów otrzymujących od SUSE pomoc techniczną związaną z Linuksem. Kontrakt, którego aktualna wersja wygaśnie w 2016 roku, firmy zawarły już trzeci raz. Zastępuje on umowę z 2008 roku na sto milionów dolarów, jaka miała wygasnąć w styczniu 2012 roku. W efekcie SUSE pozostaje jedyną dystrybucją Linuksa, której nie grożą pozwy patentowe Microsoft. Jak czytamy w komunikacie prasowym, obie firmy zdobyły w ten sposób ponad siedmiuset dwudziestu pięciu klientów, ale żadna nie ujawniła danych o tym, ilu przedłużyło współpracę podjętą w czasie trwania wcześniejszej umowy. Zawarte w niej były rozwiązania Novella, podczas gdy obecna skupia się przede wszystkim na sprzedaży kombinacji narzędzi SUSE i Microsoft, takich jak SUSE na Hyper-V, www.linux-magazine.pl NOWOŚCI Nowości serwerze wirtualizacyjnym Microsoft. Partnerzy planują również poszerzyć zasięg Microsoft System Center, łącząc je z SUSE Managerem i innymi narzędziami, by (według komunikatu prasowego na stronie Microsoft) „zwiększyć wykorzystanie Linuksa oraz ułatwić wprowadzanie łatek i aktualizację”. Krytycy kontraktu twierdzą, że jest to zawoalowana groźba wojny na patenty z innymi dystrybucjami Linuksa i ich klientami. Ich zdaniem Microsoft sprzedaje certyfikaty SLES po okazyjnych cenach, by pozbyć się Red Hata i innej konkurencji. Zwolennicy umowy uważają, że upraszcza ona kwestie licencjonowania w środowiskach hybrydowych oraz rozwiązuje problemy własności intelektualnej. Jakikolwiek będzie wpływ porozumienia na rynek serwerów, wygaśnie ono dopiero 1 stycznia 2016 roku. Więcej informacji: http://www.suse. com/company/press/2011/7/microsoftand-suse-renew-successful-interoperability -agreement.html. wymi API oraz Scratchpadem, „interaktywnym javascriptowym środowiskiem do prototypowania”, a także znaczną liczbą łatek. Na urządzeniach z Androidem szóstka uruchamia się szybciej i zużywa mniej pamięci, poprawiając jednocześnie jakość grafiki. Wzrosła wygoda użytkowania na wielkoekranowych tabletach, usprawniono też nawigację stron WWW za pomocą dotyku. Według Mozilli Firefox 7 ma skupiać się na wydajności, zmniejszyć czas uruchamiania i ograniczyć o 30% zużycie pamięci. Na horyzoncie mignął już nawet Firefox 8, który ma ponoć działać o 20% szybciej od wersji 5, dzięki czemu mógłby stanąć w szranki z Chrome’em 14. Więcej informacji: http://www.mozilla. com/en-US/firefox/releases/ Firefox 6, 7 i 8 Mozilla Corporation, komercyjna spółka stworzona przez organizację non profit Mozilla Foundation, oznajmiła, że planuje stworzenie nowego systemu operacyjnego dla urządzeń mobilnych o nazwie Boot to Gecko lub B2G. System ma być oparty na standardach webowych i stanowić „kompletne, niezależne rozwiązanie do korzystania z Sieci”. Celem projektu byłoby zapewnienie otwartoźródłowej alternatywy dla platform mobilnych korzystających z własnościowych pakietów narzędzi do tworzenia aplikacji. Interfejs użytkownika i narzędzia programistyczne będą podobno oparte na Gecko, silniku renderującym Mozilli, a ponieważ istnieją sterowniki dla urządzeń od wielu różnych producentów (na przykład TI) stworzone z myślą o linuksowym systemie Android od Google’a, niektóre warstwy będą początkowo zawierać sterowniki jądra i urządzeń z Androida. Firma skupi się najpierw na procesorach dwurdzeniowych Tegra 2 Nvidii, które oferują akcelerację sprzętową dla otwartych formatów audio i wideo. Jednym z wielu wyzwań dla B2G będzie stworzenie nowych otwartych API dla aplikacji webowych, które umożliwią rozwój funkcji sprzętowych wymaganych przez telefony, netbooki i inne. Sceptycy wątpią w opłacalność pro- Dziś wystarczy mrugnąć okiem, by przegapić premierę kolejnej wersji Firefoksa, wolnego, otwartoźródłowego projektu zarządzanego przez Mozilla Corporation, a zarazem drugiej najpopularniejszej przeglądarki według statystyk zebranych przez W3Counter.com. Pomiędzy premierą Firefoksa 3.6 a 4.0 upłynęło czternaście miesięcy. Tymczasem Firefox 5 nie kazał na siebie długo czekać – pojawił się w czerwcu tego roku, zaledwie trzy miesiące po premierze czwórki. Wraz z nim otrzymaliśmy mnóstwo usprawnień dotyczących bezpieczeństwa, wydajności i strony wizualnej programu, w tym obsługę animacji CSS i dostęp do funkcji Nie śledź mnie (ang. Do Not Track) na wielu platformach. Przyjęty przez Mozillę system szybkiej zmiany numeracji ma swoich krytyków, szczególnie administratorów systemów w firmach, którzy narzekają na konieczność wykonywania częstych aktualizacji i niekompatybilność części dodatków (Mozilla twierdzi, że 84% najpopularniejszych dodatków w bibliotece jest kompatybilnych z Firefoksem 5). Po piątce nadeszła szóstka, oferując podświetlanie nazw domen w pasku adresu, obsługę gniazd sieciowych z gotowww.linux-magazine.pl jektu. Wśród powodów wymieniają późny start; inni z kolei uważają, że system nie będzie w stanie nadgonić już istniejących projektów na tyle, by uzyskać szersze poparcie. Kolejny problem stanowi wykorzystanie fragmentów kodu z platformy Androida, co może być pretekstem do pozwów patentowych. Projekt znajduje się na bardzo wczesnym etapie rozwoju i nie pojawiły się jeszcze informacje o planowanej dacie premiery. Zapisała się do niego jedynie garstka programistów pracujących w niepełnym wymiarze godzin, ale grupa aktywnie poszukuje wsparcia i sugestii. Więcej informacji: https://wiki.mozilla. org/B2G/FAQ. Gnome 3 wywołuje gorące Mozilla zamierza stworzyć spory mobilny system operacyjny Blogosfera gotuje się od opinii na temat zmian w Gnome 3 – i wydaje się, że więcej głosów jest przeciw niż za. Najczęściej przywoływane są słowa Linusa Torvaldsa, twórcy Linuksa, który napisał w konwersacji na Google+: „Chcę powrotu normalnych interfejsów. Nie spotkałem jeszcze nikogo, komu podobałby się ten niewiarygodny bałagan, jakim jest Gnome 3”. Torvalds rozwinął tę myśl w późniejszej rozmowie: „Nie chodzi o problemy z renderowaniem w Gnome 3 (choć zdarzały mi się i takie). Po prostu wrażenia z użytkowania tego środowiska, nawet bez problemów z renderowaniem, są bardzo negatywne. Dlaczego nie mogę mieć na pulpicie skrótów? Czemu nie mogę korzystać z funkcji expose? Galaretowatych okien? Czy osoba, która wymyśliła ten szalony tryb menu aktywności, była przy zdrowych zmysłach?”. Torvalds zdradził, że przeszedł na Xfce, ale dodał też: „Myślę, że to krok wstecz względem Gnome 2, ale ogromny krok naprzód w porównaniu z Gnome 3. Serio”. W poście na ZDNecie Steven J. VaughanNichols, orędownik Linuksa, stwierdził: „Mnie także nie podoba się Gnome 3. Wolałem ostatnią wersję Gnome 2.x, Gnome 2.32. Może i jest przestarzały, ale to domyślne środowisko mojej ulubionej dystrybucji: Linuksa Mint 11”. Niektórzy komentatorzy na technologicznym portalu informacyjnym Slashdot zauważali, że aktualizacje przypominają zmiany dla zmian i zostały zaprojektowane z myślą o nowych użytkownikach, a nie doświadczoNUMER 93 LISTOPAD 2011 9 NOWOŚCI Nowości nych programistach, którzy lubią Gnome za jego swojskość i wygodę. Inni potępiają negatywne emocje wywoływane przez krytyczne komentarze znanych osób, takich jak Torvalds czy Vaughn-Nichols, i martwią się, że może się to odbić na projekcie. Dla wielu, choć nie dla wszystkich, Gnome jest niezwykle praktycznym środowiskiem. Można się spodziewać, że kolejne wersje przyniosą bardziej pozytywne zmiany. Demonstracje Edge’a i Maquetty Adobe Systems przedstawił programistom wersję demonstracyjną Adobe Edge’a, narzędzia do tworzenia animacji webowych. Jak czytamy w komunikacie prasowym, „umożliwia ono projektantom zamieszczanie na stronach interaktywnych materiałów przy wykorzystaniu standardów sieciowych, takich jak HTML5, JavaScript i CSS3”. Z informacji na blogu firmy wynika, że program pobrano pięćdziesiąt tysięcy razy w ciągu pierwszej doby od jego udostępnienia. Podobno nie wykorzystuje on Flasha, oferuje interfejs WYSIWYG, a jego komercyjna wersja zostanie wydana w 2012 roku. Adobe chyba wreszcie pogodził się z faktem, że Sieć odchodzi of Flasha, szczególnie w środowiskach mobilnych. Materiały stworzone w Edge’u mają podobno działać zarówno w aplikacjach mobilnych, jak i w tradycyjnych przeglądarkach pulpitowych. Nie będą też wymagać specjalnej wtyczki. Na etapie demonstracji jest również tworzona przez IBM-a Maquetta, wydany w kwietniu otwartoźródłowy edytor HTML5 dla interfejsów pulpitowych i mobilnych. IBM przekazał kod Dojo Foundation, która opiekuje się kilkunastoma projektami otwartoźródłowymi. Więcej informacji o Adobe Edge: http:// labs.adobe.com/technologies/edge/ Więcej o Maquetcie: http://maqetta. org/ org), ogłosiła premierę LibreOffice’a 3.4.2 i uznała go za „gotowy dla firm”. To pierwsza tak określana wersja pakietu. Według wydanego przez producenta komunikatu prasowego „naprawiono w niej najpoważniejsze błędy zgłoszone przez użytkowników w poprzedniej odsłonie, dzięki czemu może być wykorzystywana przez większość firm”. Obecna wersja to efekt pracy trzystu osób, które dodały, zmodyfikowały lub usunęły pięć milionów wierszy kodu. Według bloga fundacji na temat projektu wysiłki rozkładały się dość równo pomiędzy pracowników sponsorowanych przez korporacje i wolontariuszy ze społeczności. SUSE, Red Hat oraz Oracle (który udostępnił kod OOo) wykonały niemal trzy czwarte pracy i były najaktywniejszymi współpracownikami niewywodzącymi się ze społeczności, natomiast jedna czwarta zmian pochodzi od wolontariuszy. Istotne zmiany to między innymi obsługa interfejsu graficznego środowiska Unity, ulepszenia w renderowaniu tekstu w instalacjach Linuksa oraz ważne modyfikacje w obsłudze zewnętrznych odwołań w arkuszach kalkulacyjnych, niwelujące błędy w formułach obliczeniowych. Wersja 3.4.3 wyszła 31 sierpnia i rozwiązuje kwestie związane ze stabilnością i bezpieczeństwem. nnn LibreOffice 3.4.2 uznany za gotowy dla firm Document Foundation, niezależna fundacja stworzona w celu rozwijania i obsługi LibreOffice’a (dawniej OpenOffice. 10 LISTOPAD 2011 NUMER 93 . www.linux-magazine.pl NOWOŚCI Narzędzia zaawansowane NARZĘDZIA Nuxeo ECM dla Ubuntu Dostawca aplikacji do zarządzania dokumentami, Nuxeo, oświadczył, że platforma Nuxeo Document Management ECM została zoptymalizowana pod kątem pracy w środowisku serwera Ubuntu. To wspaniała wiadomość dla programistów tworzących aplikacje do zarządzania treścią dla użytkowników Ubuntu. Choć Nuxeo nadal wspiera kilka innych zamkniętych i otwartych systemów operacyjnych, Ubuntu jest popularne wśród klientów firmy; stało się też ulubioną platformą grup badawczych i programistycznych w Nuxeo. „Optymalizacja naszej platformy Nuxeo EP, łącznie z Nuxeo Document Management, pod kątem współpracy z Ubuntu, to kolejny krok w stronę uproszczenia procesu tworzenia nowoczesnych aplikacji związanych z zarządzaniem treścią dla architektów oprogramowania, programistów Javy i administratorów systemu” – powiedział dyrektor zarządzający Nuxeo, Eric Barroca. Według przedstawicieli firmy Ubuntu jest „idealne do masowych instalacji w chmurze”; firma używa tej dystrybucji również we własnym stosie chmurowym. Programiści mogą też korzystać z narzędzi do projektowania i prototypowania: Nuxeo Connect, Nuxeo Studio i Nuxeo Marketplace. Firma zachęca programistów Debiana i Ubuntu do uczestnictwa w projekcie w obszarze rozwijania aplikacji i rozszerzeń platformy. Informacje na temat produktów Nuxeo w Ubuntu: https://doc. nuxeo.com/x/94RH. OpenLogic uruchamia Cloudswing beta Dostawca rozwiązań open source dla centrów danych i chmur, OpenLogic Inc., ogłosił dostępność wersji beta swojego rozwiązania PaaS (platforma jako usługa) o nazwie OpenLogic CloudSwing. Umożliwia ono programistom wybór między otwartymi a zamkniętymi komponentami www.linux-magazine.pl stosów platform chmurowych; firma zapewnia także obsługę techniczną rozwiązań chmurowych. „CloudSwing to pierwsza propozycja PaaS, która zapewnia programistom elastyczność umożliwiającą wykorzystanie wybranych przez nich komponentów przy zachowaniu całkowitej gwarancji, że całym stosem da się zarządzać, i zapewnieniu ciągłej obsługi technicznej” – powiedział CEO OpenLogic CEO, Steve Grandchamp. „Firma OpenLogic zbudowała swój biznes, pomagając setkom przedsiębiorstw Global 2000 w pełni wykorzystać technologie open source. Teraz, kiedy open source dominuje w środowiskach chmurowych, firmy oczekują tej samej elastyczności, możliwości wyboru i braku problemów przy uruchamianiu aplikacji w chmurach – a my możemy to zapewnić”. Warto zwrócić uwagę zwłaszcza na Smart Stacks, rozwiązania chmurowe dla przedsiębiorstw z opcjami bezpieczeństwa i skryptami pozwalającymi na szybką instalację, a także narzędzia webowe, które umożliwiają tworzenie i dodawanie własnych aplikacji. Pod koniec roku ma się ukazać Management Portal, czyli narzędzie webowe umożliwiające dostęp do elementów stosu chmurowego, oraz Application Monitoring – panel do śledzenia wydajności. Więcej: www.openlogic.com. Jaspersoft oferuje usługę subskrypcji BI Jaspersoft – dostawca komercyjnych rozwiązań open source związanych z inteligencją biznesową (BI) – ogłosił dostępność Self-Service Express, usługi bazującej na subskrypcji umożliwiającej dostarczanie dokumentacji i artykułów dotyczących wykorzystania BI w przedsiębiorstwach. Usługa obejmuje dostęp do dokumentacji, bazy wiedzy klientów Jaspersoftu oraz przeszukiwanie wszystkich źródeł informacji technicznych Jaspersoftu, łącznie z Jaspersoft.com i JasperForge.org. „W Jaspersofcie szczycimy się tym, że słuchamy i odpowiadamy na sugestie naszej społeczności open source” – powiedział Matt Geise, dyrektor działu współpracy ze społecznością. „Naszym celem nadal jest udostępnienie wszystkim budowniczym rozwiązań BI na świecie najlepszych narzędzi i usług open source, jakie możemy zaoferować. Uruchomienie Self-Service Express to krok w tym kierunku, bowiem nasi użytkownicy otrzymują dostęp do zaawansowanych informacji technologicznych, łącznie ze wskazówkami ekspertów, fragmentami kodu, artykułami dotyczącymi najlepszych praktyk – a wszystko to dostępne z poziomu jednego pola wyszukiwarki”. Jaspersoft ma ponad dwieście dwadzieścia pięć tysięcy zarejestrowanych użytkowników zestawu deweloperskiego BI, czternaście milionów pobrań i czternaście tysięcy klientów korporacyjnych. Cena za Self-Service Express dla pojedynczego użytkownika zaczyna się od 99 dolarów miesięcznie lub 399 dolarów rocznie. Więcej: http://www.jaspersoft. com. Tasktop Dev 2.1 Aby lepiej podkreślić grupę docelową, Tasktop Technologies zmieniło nazwę swojej linii produktów Tasktop na Tasktop Dev i ogłosiło wydanie Tasktop Dev 2.1. Eclipse Mylyn 3.6 (Eclipse Indigo). Jest to platforma do zarządzania cyklem życia aplikacji (ng. application lifecycle management, ALM), która integruje zarządzanie zadaniami z Eclipse. Wydanie Tasktop Dev 2.1 zawiera cały zestaw nowych funkcji, łącznie z obsługą Kanban w komponencie Tasktop Planner dla Eclipse, integracją HP Agile Accelerator i Rally, HP ALM, QC, obsługą pól złożonych, a także – co jest ewenementem na skalę światową – obsługą HP ALM i HP QC na stacjach roboczych z Linuksem i Mac OS X. Ulepszenia edytora zadań w Visual Studio Microsoft obejmują m.in. asocjacje między repozytoriami. Tasktop Dev 2.1 dostępny jest w edycjach Pro i Enterprise za – odpowiednio – 99 i 199 dolarów rocznie za użytkownika. Wersja Enterprise zawiera nowe oprogramowanie Tasktop Sync 1.0, które umożliwia firmom informatycznym synchronizację serwerów ALM od różnych producentów i z różnych projektów open source. Więcej: http://www.tasktop.com. n n n NUMER 93 LISTOPAD 2011 15 PŁYTA Płyta w tym miesiącu Tym razem na płycie DVD dołączonej do „Linux & Android Magazine” Knoppix 6.7 – najnowsza wersja najlepszej dystrybucji Linuksa typu live. Kamerkowy obrót głowy C o nowego w Knoppiksie 6.7? Jedną z ciekawostek jest program o nazwie eViacam, który ma wiele zastosowań, jednak najpopularniejsze to sterowanie myszką… za pomocą ruchów głowy! Przyda się to nie tylko osobom sparaliżowanym, ale również tym z nas, którzy są zbyt leniwi, by używać myszy na przykład do przeglądania zasobów Internetu. Na początku program wymaga kalibracji, a użytkownik – przyzwyczajenia do nowego „urządzenia wskazującego”. LibreOffice 3.4.3 Pojawienie się w dystrybucji LibreOffice’a zamiast wersji sunowskiej już nikogo nie dziwi. Polityka Oracle’a nie sprzyja wolnemu oprogramowaniu i rozwojowi nieprzynoszących bezpośredniego zysku projektów. LibreOffice to ogromna szansa dla najważniejszego linuksowego pakietu biurowego, którego rozwój w poprzednich latach nieco stracił na impecie. Ostatnio jednak, dzięki LibreOffice’owi, prace nabrały tempa – planowana jest między innymi wersja działająca na urządzeniach przenośnych i online. Firefoksa dwoją się i troją – ostatnio zwiększając główne numery wydań co kilka tygodni. W Knoppiksie 6.7 znajdziemy Firefoksa 6, podczas gdy prace nad 7 trwają pełną parą. średnio z obrazu, który znajduje się na lokalnym dysku twardym. Służy do tego konstrukcja z opcją bootfrom=, na przykład: Przy uruchamianiu mamy możliwość skorzystania z nowego obrazu jądra dla procesorów 64-bitowych. Wystarczy wpisać knoppix64, by móc korzystać w pełni z 64-bitowej instalacji. Opcja ta przyda się zwłaszcza, jeśli dysponujemy ponad 4GB RAM. W ten sposób możemy skopiować na dysk twardy (na przykład przez sieć czy USB) obraz Knoppiksa w sprzęcie, który nie ma napędu optycznego, i korzystać z niego w normalny sposób. n n n bootfrom=/dev/sda1/knoppix-test.iso Knoppix64 Uruchamianie z obrazu Znudziło nam się odpalanie Knoppiksa z płyty? Możemy go uruchomić bezpo- Info [1] Oficjalna strona Knoppiksa: http://knopper.net/knoppix/ [2] Informacje o wydaniu 6.7.1: http://knopper.net/knoppix/knoppix671-en.html Chromium 13.0.782.220 i Firefox 6.0.2 Najnowsza odsłona popularnej przeglądarki po raz pierwszy pojawiła się w Knoppiksie. Chromium stanowi bazę dla Chrome – przeglądarki rozwijanej przez Google’a. Główne różnice między Chromium a Chrome to brak konieczności zaakceptowania licencji, loga Google’a, przeglądarki PDF i wtyczki Flash, GoogleUpdate, opcji przesyłania statystyk Google i śledzenia RLZ. W obliczu poważnej konkurencji ze strony Chrome / Chromium programiści 16 LISTOPAD 2011 NUMER 93 . www.linux-magazine.pl PŁYTA Płyta w tym miesiącu Wersje popularnych pakietów Apache 2.2.16 Bash 4.1 Chromium r99552 Compiz 0.8.4 Firefox 6.0.2 GCC 4.6.1 Gimp 2.6.10 Glibc 2.13 Grub 0.97 Inkscape 0.47.0 Gnome 2.30.0 LibreOffice 3.4.3 Linux 3.0.4 MySQL 5.1.49 OpenSSH 5.5p1 Perl 5.12.4 PHP 5.3.3 PostgreSQL 8.4.8 Python 2.6.6 Samba 3.5.11 Thunderbird 3.1.13 Vim 7.3 VLC 1.1.10 X.org 1.11.0 www.linux-magazine.pl NUMER 93 LISTOPAD 2011 17 Temat numeru Knoppix Architektura Knoppiksa Pod maską Autor Knoppiksa przedstawia wewnętrzną strukturę tej popularnej dystrybucji. Klaus Knopper Program ładujący (isolinux/syslinux) Definicja opcji uruchamiania i typu jądra Jądro Wykrycie kontrolerów dysków (w tym USB), DVD/CD i innego sprzętu niezbędnego do uruchomienia systemu Początkowy dysk RAM (minirt.gz) Znalezienie i zamontowanie medium uruchomieniowego, zamontowanie skompresowanego systemu plików w trybie tylko do odczytu i utworzenie nakładki init: knoppix-autoconfig Załadowanie modułów grafiki i dźwięku, konfiguracja systemu, uruchomienie sieci i usług init: knoppix-start Uruchomienie akceleracji grafiki, w przypadku niepowodzenia – przejście na powolny, lecz bezpieczny bufor ramki lub tryby VESA Rysunek 1: Proces rozruchu Knoppiksa. K noppix to preinstalowana i prekonfigurowana pochodna Debiana, której najważniejszym zadaniem jest szybkie uruchomienie na dowolnym komputerze systemu operacyjnego z naszymi ulubionymi aplikacjami, przy użyciu zewnętrznego nośnika. Większość pakietów oprogramowania pochodzi z bieżącej stabilnej i testowej gałęzi Debiana. Możemy je bez problemu aktualizować za pomocą oficjalnych repozytoriów tego systemu. Osiągnięcie celu, jakim jest system działający od zaraz na jak największej liczbie maszyn, bez potrzeby ręcznej konfiguracji, wymagało wprowadzenia pewnych zmian, które odróżniają Knoppiksa od standardowych live CD Debiana, tworzonych za pomogą jego własnych narzędzi. Podstawowa różnica dotyczy procesu rozruchu. Zawiera on sporo rozwiązań rezerwowych, tych na wypadek awarii, metody pozwalające wybrnąć z sytuacji, gdy sprzęt jest tylko częściowo obsługiwany lub nie działa prawidłowo, a także skrypty tworzące pliki konfiguracyjne dla grafiki i partycji montowanych przez użytkownika. Rysunek 1 przedstawia różne etapy procesu rozruchu, które się odbywają, zanim zobaczymy pulpit systemu. Program rozruchowy Przy rozruchu z CD lub DVD komputerowy BIOS korzysta z trybu El Torito, który różni się od rekordu rozruchowego, jaki znamy z dysków twardych. Knoppiks wykorzystuje isolinuksa [1], mały, niezawodny program rozruchowy autorstwa Petera Anvina. Obsługuje on system plików ISO 9660 dla płyt CD i wyszukuje konfigurację oraz systemy operacyjne do załadowania w katalogu boot/isolinux. Przy rozruchu z pamięci USB z systemem FAT32 lub z karty SD Knoppix korzysta z syslinuksa (również dzieła Anvina). Pliki konfiguracyjne syslinuksa i isolinuksa mają tę samą składnię, dzięki czemu łatwo stworzyć na podstawie CD startową pamięć USB. Wystarczy skopiować wszystko, a następnie zmienić nazwę boot/isolinux/ isolinux.cfg na boot/syslinux/syslinux.cfg. Plik isolinux/syslinux configuration zawiera część domyślnych opcji i parametrów jądra Knoppiksa, które służą do obchodzenia problemów z wadliwymi komputerami (Listing 1). Jądro Większość dystrybucji Linuksa wykorzystuje ramdysk zawierający tylko sterowniki niezbędne do uruchomienia dysku root i systemu plików. Choć w większości wypadków to działa, Knoppix podchodzi do sprawy inaczej: samo jądro zawiera wiele sterowników do kontrolerów SATA / PATA / USB / FireWire, dzięki czemu możemy być pewni, że uruchomi się na różnych dyskach i urządzeniach. Podejście to umożliwia bezproblemowe zmienianie sprzętu. Z doświadczenia wynika, że jądro potrafi bardzo szybko zdecydować, których sterowników użyć, a które wyłączyć – cały proces trwa zaledwie ułamek sekundy. Wydaje się więc, że lepiej zmarnować trochę pamięci, niż uży- 24 LISTOPAD 2011 NUMER 93 . www.linux-magazine.pl Temat numeru Knoppix nuxcare, na długo przed pojawieniem się pierwszych kompresuwać ramdysku z narzędziami przestrzeni użytkownika, które łających systemów plików, takich jak SquashFS. Za każdym razem, dują sterowniki, gdy zachodzi taka potrzeba. Podejście to stosuje kiedy system żąda dostępu do bloku, dekompresuje on w niewisię też do sterowników systemu plików, gdzie przechowywane doczny dla użytkownika sposób bloki pliku zawierające skomsą skompresowane pliki systemu plików Knoppiksa, wykorzystypresowane gzipem segmenty danych. Natura urządzeń blokowane przez aufs i cloop. Aufs to unifikujący system plików, który wych powoduje, że schemat ten jest niezależny od przetwarzadodaje opcję zapisu do statycznego systemu plików, dostępnego nych danych, więc obsługiwany przez cloop plik może zawierać tylko do odczytu. Z kolei cloop jest dekompresorem dla skomprezrzut partycji z dowolnym systemem plików. sowanego pliku urządzeń blokowych, zawierającego całe oproWykonałem port cloopa do jąder 2.4 i 2.6, dodałem kilka rozgramowanie systemu (więcej o tym później). szerzeń pozwalających na obsługę więcej niż jednego skompreTak więc ogólna zasada jądra Knoppiksa brzmi: wszystko, co sowanego pliku oraz wprowadziłem kilka usprawnień zwiększapotrzebne do zamontowania urządzeń systemu plików, łącznie jących wydajność. Jakość kompresji cloopa jest nieco gorsza niż ze sterownikami klawiatury, zawarte jest w statycznym jądrze. w kompresujących systemach plików, które potrafią pakować Pozostałe elementy ładowane są później z zamontowanego syscałe pliki, zamiast bloków o stałych rozmiarach. Jednak i tak temu plików (patrz: Tabele 1 i 2). wolę kompresowany przez cloopa system plików iso 9660 od Bufor ramki i sterowniki akceleratorów grafiki zostały usuSquashFS-a, gdyż jest bardziej odporny na fizyczne błędy odnięte z jądra i umieszczone z powrotem w modułach, gdyż nowy czytu w urządzeniu. Wykorzystuje też automatyczny bufor bloschemat KMS (ang. Kernel Mode Setting) musi ładować dodatkowy jądra, dzięki czemu bloki, które są już zdekompresowane kowe oprogramowanie firmowe lub wywoływać funkcje niedozostaną zachowane przez jakiś czas i nie trzeba będzie ich postępne na wczesnym etapie rozruchu. W związku z tym grafika nownie rozpakowywać przy każdym odczycie danej lokalizacji. i obsługa rozdzielczości znalazły się w dalszym punkcie procedury (knoppix-autoconfig), co dobrze się sprawdza i umożliwia funkcjonowanie Tabela 1: Topologia systemu plików Knoppiksa konsoli tekstowej nawet po wyłączeniu System plików Bloki 1K WykorzyDostępne Wykorzysta- Zamontowane pod Xorga. stane nie w % A więc, o ile nie wybierzemy ręcznie /dev/sr0 3943070 3943070 0 100% /mnt‑system trybu bufora ramki, nie zobaczymy w bietmpfs 2097152 3144 2094008 1% /ramdisk żących wersjach Knoppiksa logo pingwina, /dev/cloop 9319654 9319654 0 100% /KNOPPIX gdyż konsole pozostają w trybie tekstounionfs 2097152 3144 2094008 1% /UNIONFS wym do momentu aktywowania trybu akunionfs 2097152 3144 2094008 1% /home celeracji grafiki, tuż przed włączeniem X. tmpfs 10240 68 10172 1% /UNIONFS/var/run Cloop Cloop [2], czyli compressed loopback device (skompresowane urządzenie pętli zwrotnej) został stworzony przez autora iptables, Paula „Rusty’ego” Russella, dla startującego z płyty CD minisystemu Li- tmpfs 10240 2656 7584 26% /run tmpfs 10240 0 10240 0% /UNIONFS/var/lock tmpfs 102400 108 102292 1% /UNIONFS/var/log tmpfs 2097152 8 2097144 1% /tmp udev 20480 24 20456 1% /dev tmpfs 2097152 4 2097148 1% /dev/shm Listing 1: Fragment opcji rozruchu w pliku isolinux.cfg DEFAULT knoppix LABEL knoppix APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off initrd=minirt.gz nomce libata. KERNEL linux force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off initrd=minirt.gz nomce libata. force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime TIMEOUT 100 # TOTALTIMEOUT 20 LABEL debug # KBDMAP german.kbd KERNEL linux PROMPT 1 APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off initrd=minirt.gz nomce libata. F1 boot.msg force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime debug F2 f2 F3 f3 LABEL fb1024x768 DISPLAY boot.msg KERNEL linux APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=791 video=1024x768 LABEL adriane KERNEL linux xmodule=fbdev initrd=minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime ... APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off video=640x480 initrd=minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime adriane www.linux-magazine.pl NUMER 93 LISTOPAD 2011 25 Temat numeru Knoppix Tabela 2: Punkty montowania i ich zastosowanie Punkt montowania /mnt-system Zastosowanie /ramdisk Zapisywalna nakładka (w pamięci RAM), przechowująca zmiany względem systemu plików, który jest tylko do odczytu. Zdekompresowany widok systemu plików kompresowanego przez cloop. Zawiera większość oprogramowania pod Knoppiksem, montowanego poprzez moduł jądra cloop. Połączenie poprzez aufs punktu montowania /KNOP‑ PIX (tylko do odczytu) i ramdysku (odczyt-zapis). Montowanie wiążące z /UNIONFS/home, które pozwala skrócić ścieżki i umieścić je w konfiguracji użytkownika. /KNOPPIX /UNIONFS /home Różne ramdyski tmpfs Katalog zawierający nośnik live, z którego ładowany jest system. Pliki rejestru i stanu oraz tymczasowe, automatycznie generowane dane; jeden punkt montowania dla każdego z nich, co zapobiega wyczerpaniu miejsca w nakładce /ramdisk. Narzędzia cloopa to: create_compressed_fs, tworzące skompresowany plik pętli zwrotnej, extract_compressed_fs, które go dekompresuje (przydatne, jeśli nie mamy modułu jądra służącego do montowania skompresowanej pętli zwrotnej) oraz suspend_ cloop, odpowiedzialne za zamrażanie modułu jądra cloop i odblokowywanie pliku pomocniczego, dzięki czemu możemy zmieniać płyty DVD bez odmontowywania partycji obsługiwanej przez plik cloopa. Nazwa create_compressed_fs jest w gruncie rzeczy błędna, gdyż narzędzie to kompresuje bloki partycji zawierającej dowolne dane, niekoniecznie system plików. Cloop jest też wykorzystywany w LINBO, który przechowuje obrazy różnych systemów operacyjnych w bezpośrednio montowalnym formacie cloop. Aufs Do wersji 3.7 Knoppix wykorzystywał powiązania symboliczne do ramdysku dla wszystkich plików i katalogów, które muszą być zapisywalne, by GNU / Linux działał poprawnie. Rozwiązanie to stawało się kłopotliwe przy większych zmianach lub instalacji nowych programów. Bardziej wygodny sposób zaoferował UnionFS, zastąpiony potem przez aufsa, system plików autorstwa Junjiro Okajimy. Aufs [3] tworzy „niewidzialny stos” katalogów, zawierających jeden lub więcej folderów tylko do odczytu, z oryginalnymi danymi, oraz dokładnie jeden katalog zapisywalny, gdzie umieszczane są zmiany lub nowo tworzone pliki. Stos zawsze odczytywany jest od góry do dołu, przy czym zapisywalny katalog znajduje się u góry (Rysunek 2). czytu i zapisu, który wygląda jak standardowa instalacja Debiana na dysku twardym. W tym momencie do akcji może wkroczyć SysVinit, dokładnie tak, jak zrobiłby to w normalnych okolicznościach. Teoretycznie możemy teraz „normalnie” uruchomić Debiana, wykonując wszystkie zainstalowane skrypty runlevel. Ale to byłoby za proste (i zbyt powolne). init: knoppix-autoconfig Po tym, jak initrd ukończy tworzenie systemu plików root, init przejmuje kontrolę nad procesem rozruchu. Plik konfiguracyjny init /etc/inittab został zmieniony tak, by ignorował wszystko w / etc/rc(runlevel).d/* i po prostu wykonał trzy skrypty: 1. /etc/init.d/knoppix-autoconfig 2. /etc/init.d/knoppix-startx (po dotarciu do runlevelu 5) 3. /etc/rc.local, który zawiera usługi systemowe do uruchomienia równolegle z pulpitem. To najlepsze miejsce na ewentualną personalizację – możemy tu na przykład uruchomić w momencie ładowania systemu serwer Apache lub sshd. Skrypt /etc/init.d/knoppix-autoconfig powinien spełniać taką samą rolę, jak /etc/rcS.d w typowej instalacji Debiana. Uruchamia najistotniejsze usługi systemowe, takie jak udev, D-bus, ACPI i sieć, a także wywołuje skrypty tworzące działającą konfigurację serwera graficznego Xorg. Przechowuje również w /etc/sysconfig informacje systemowe do późniejszego użycia. Powodem obchodzenia standardowej procedury rozruchu Debiana nie jest wyłącznie szybkość: pakiety Debiana dla usług takich jak transfer plików (FTP, HTTP, Samba itp.) czy bazy danych (MySQL, PostgreSQL, LDAP itp.) zwykle instalują skrypty init, które automatycznie uruchamiają przy rozruchu odpowiednie usługi. W efekcie w systemie pojawiłyby się różnego rodzaju działające serwery, prawdopodobnie niezabezpieczone przed dostępem do Internetu, których nie chcemy i na których włączenie nie wyraziliśmy zgody. Knoppix nie uruchamia przy rozruchu typowych skryptów runlevel, więc zajmuje bardzo niewiele pamięci. Możemy wciąż uruchomić poszczególne serwery, wywołując odpowiednie skrypty w /etc/init.d/, lub dodać je do /etc/rc. local, jeśli chcemy, by uruchamiały się automatycznie w momencie rozruchu. Skrypt /etc/init.d/knoppix-autoconfig musi rozróżniać tryb live, w którym nie trzeba przechowywać żadnych automatycznie generowanych danych (konfiguracji, plików rejestru), a katalogi Proces użytkownika 2. Zapisz/zmodyfikuj ten sam plik Initrd Plik initrd pod Knoppiksem ma jeden cel: zamontowanie nośnika z systemem i połączenie skompresowanego przez cloopa systemu plików tylko do odczytu z ramdyskiem lub plikiem pamięci trwałej. Jest on kontrolowany przez załączony skrypt /init, który obsługuje też niektóre opcje rozruchu, umożliwiające zmianę lokalizacji obrazu systemu plików. Po zakończeniu działania skryptu otrzymujemy system plików root z prawami od- 26 LISTOPAD 2011 NUMER 93 3. Ponownie odczytaj plik /ramdisk (zapis i odczyt) /KNOPPIX on CD (tylko do odczytu) mount −t aufs −o br:/ramdisk=rw:/KNOPPIX=ro none /UNIONFS Rysunek 2: Proces aufs. . www.linux-magazine.pl Temat numeru Knoppix sie rzeczywistym, ogólny podgląd pulpitu czy łatwiejszą obsługę okien). Tak więc knoppix-startx jest odpowiedzialny za uruchamianie pulpitu, czyli ostatni krok procedury rozruchu, a także zrestartowanie grafiki, jeśli system zostanie niepoprawnie wyłączony. z ulotnymi danymi można po prostu montować jako oddzielne ramdyski, oraz tryb instalacji, gdzie większość katalogów jest bezpiecznie zapisywana na dysku twardym. Począwszy od wersji 6, widoczna przy rozruchu grafika tekstowa została rozmieszczona w taki sposób, że możemy widzieć, co się dzieje, jednocześnie śledząc krótki opis w dwóch wierszach statusu na środku ekranu oraz wyświetlane poniżej ewentualne komunikaty o błędach uruchamianych programów. Knoppix-autoconfig oraz typowe dla Knoppiksa skrypty ewaluują wszystkie wykorzystywane w trakcie rozruchu „skróty”, które nie są bezpośrednio rozumiane przez jądro czy moduły jądra. Uprawnienia root pod Knoppiksem W przypadku niektórych operacji systemowych, takich jak konfiguracja sieci, zmiany w globalnych plikach konfiguracyjnych w /etc czy instalowanie nowych pakietów oprogramowania, potrzebne są uprawnienia konta superużytkownika (chyba że korzystamy ze spersonalizowanych praw dostępu z SELinuksa, które są bardziej skomplikowane). Instalacja konta root z ustalonym hasłem byłaby poważną luką w zabezpieczeniach, więc wszystkie konta mają na początku nieustawione lub nieważne hasło. Sprawia to, że w przypadku autoryzacji opartej na haśle niemożliwe jest logowanie z Internetu, a nawet lokalne. Knoppix loguje się automatycznie jako root na pierwszych czterech konsolach i jako knoppix w interfejsie graficznym. By przejść do konta root, wystarczy użyć polecenia sudo bez hasła dla użytkownika knoppix, zgodnie z konfiguracją w /etc/sudoers. Działają również graficzne warianty sudo, tak więc żaden program nie musi pytać o hasło do konta root, jeśli taki dostęp jest mu potrzebny. Podejście to stanowi kompromis pomiędzy bezpieczeństwem i komfortem – dość wysokie bezpieczeństwo od strony sieci (nie działają żadne usługi, które byłyby dostępne przez Internet – a nawet gdyby było inaczej, wszystkie hasła są nieważne) otrzymujemy kosztem niskiego bezpieczeństwa na poziomie lokalnym (uzyskanie dostępu do konta root jest tu banalne, jeśli logujemy się jako knoppix). Istnieje bezpieczniejszy tryb surf station, który możemy włączyć, ładując system z opcją secure, która wyłącza funkcję sudo oraz programy setuid przy pomocy opcji montowania nosuid. n n n init: knoppix-startx Jednym z krytycznych elementów procesu rozruchu jest moment, w którym system przechodzi z konsoli tekstowej do (normalnie akcelerowanego) trybu graficznego Xorg. Knoppix-autoconfig powinien był do tego momentu załadować sterowniki graficzne z jądra i skonfigurować /etc/X11/xorg.conf poprzez skrypty hwsetup i kxorgconfig. Szczególnym przypadkiem są karty graficzne NVidia. Powód to względnie nowy, wolny sterownik akceleracji (nouveau) oraz własnościowy sterownik nvidia od producenta karty. W przypadku dostępnych publicznie edycji Knoppiksa używam wolnego sterownika, jednak jeśli zależy nam na natywnej obsłudze, szybszym odtwarzaniu wideo i grach czy też niektórych konfiguracjach wieloekranowych, sterownik własnościowy może oferować pewne dodatkowe funkcje, których nie ma jeszcze jego wolny odpowiednik. Edycja Knoppiksa dla „Linux & Android Magazine” zawiera też własnościowe sterowniki z gałęzi non-free Debiana. By przejść na wolny sterownik, wystarczy użyć opcji rozruchu xmodule=nouveau. Knoppix-startx najpierw usiłuje uruchomić Xorg za pomocą automatycznie wykrywanych ustawień optymalnych. W przypadku niepowodzenia wypróbowuje bardziej konserwatywne ustawienia i inne konfiguracje. Na samym końcu jest tryb bufora ramki lub generyczny tryb VESA, które są może powolne, ale przynajmniej działają. Po uruchomieniu Xorga włącza się interfejs graficzny (domyślnie LXDE, ale możemy też wybrać za pomocą opcji rozruchu desktop=kde lub desktop=gnome). Jeśli karta go obsługuje, uruchamia się Compiz i dodaje efekty oraz kilka przydatnych funkcji (na przykład przybliżanie w cza- r www.linux-magazine.pl e k Info [1] isolinux: http://syslinux.zytor.com [2] cloop: http://en.wikipedia.org/wiki/Cloop [3] aufs: http://en.wikipedia.org/wiki/Aufs l a m NUMER 93 LISTOPAD 2011 a 27 Android Base Tab Test: Base Tab E-Plus mamy w domu stałe łącze, a propozycję Base wykorzystywalibyśmy jedynie sporadycznie jako Internet mobilny, to 500MB powinno nam wystarczyć. Cena obejmuje również trzydzieści minut darmowych rozmów i trzydzieści bezpłatnych SMS-ów wewnątrz sieci Base / E-Plus. Po upływie dwudziestu czterech miesięcy możemy zdecydować, czy chcemy wykupić swój tablet. Tablet do wynajęcia Za 19 euro grupa E-Plus i należący do niej operator Base oferuje tablet z Androidem i stałym łączem internetowym. Przyjrzeliśmy się urządzeniu zwanemu Base Tab. Wady Sercem tabletu ZTE z Androidem 2.2 Froyo jest już trochę stary 600-MHz procesor ARM. Jeśli często surfujemy po Internecie, odczujemy to od razu. Natomiast jako laicy przekonamy się o tym najpóźniej, grając w Angry Birds: dzięki mocy procesora ptaki będą łatać i w zasadzie nic więcej. Jednak Base Tab radzi sobie z prostymi grami 3D. Gdyby ująć tablet w liczbach, otrzymałby 1203 punkty od AnTuTu i zaledwie 58 punktów od zoptymalizowanego na Internet Vellamo. Ze względu na słaby procesor Base Tab nie wspiera Flash Playera. Zresztą i tak Flash Player jeszcze bardziej spowolniłby pracę sprzętu. Kolejną dużą wadą tego tabletu jest wbudowana pamięć. 200MB to niezbyt dużo, co odczujemy po instalacji dziesięciu aplikacji i ukazaniu się komunikatu ostrzegawczego. Całe szczęście, że wiele aplikacji możemy używać z karty, która przy 16GB w porównaniu z 200MB wydaje się ogromna. Uwzględnić musimy jeszcze niedociągnięcia wyświetlacza. W porównaniu do 7-calowych tabletów z wyższej półki Samsunga czy HTC Base Tab z rozdzielczością 800×480 pikseli wypada słabo. Kolory nie są tak żywe, a i kontrast nie najlepszy. To samo dotyczy wbudowanej kamery z 3 megapikselami. Jakość wykonywanych przez nią zdjęć jest porównywalna ze zdjęciami z trzyletniej komórki. Base Tab nie posiada także kamery umieszczonej z przodu. I tak zresztą nie nadaje się do telefonii internetowej. Trzy przyciski typowe dla Androida – home, powrót i menu kontekstowe nie są podświetlone, co utrudnia obsługę w ciemnych pomieszczeniach. Marcel Hilzinger W cenie 20 euro miesięcznie Base od lipca 2011 oferuje własny 7-calowy tablet z Androidem oraz stałym łączem internetowym. Zalety: urządzenie ma wszystko, czego oczekujemy od dobrego tabletu – moduł 3G, czujniki GPS, wyświetlacz dotykowy i 16-gigabajtową kartę pamięci. Niestety, jest też mały haczyk. All inclusive Base oferuje kompleksowy pakiet internetowy wraz z tabletem, jeśli często korzystamy z Internetu, twittera, poczty elektronicznej czy czatu, a jeszcze nie mamy stałego łącza. Ze względu na zintegrowany moduł GPS urządzenie może służyć także jako nawigacja. Tablet i towarzyszące mu stałe łącze to 19 euro miesięcznie, niestety jednak – również konieczność związania się umową na dwadzieścia cztery miesiące. Base zobowiązuje się do nieodpłatnej wymiany uszkodzonego tabletu, a w przypadku wykonywania napraw – oferuje tablet zastępczy. Niestety nie jest to prawdziwe stałe łącze. Po wykorzystaniu 500MB każdego miesiąca E-Plus ogranicza prędkość do 56,6KB. Jeśli 36 LISTOPAD 2011 NUMER 93 Rysunek 1: Ekran startowy Base Tab z nieznacznie zmodyfikowanym launcherem. . www.linux-magazine.pl Android Base Tab Base Tab Fakty i liczby Producent Forma Rozdzielczość Procesor Wersja Androida Bateria Czas trwania (tryb gotowości / rozmowy / wideo) Cena (internet) Waga Info w Sieci Strona produktu Dane techniczne Wyniki testów Benchmark AnTuTu Benchmark Vellamo Odtwarzanie wideo Ocena ZTE 7-calowy tablet 800×480 pikseli ARMv6, 600MHz 2.2 3400mAh 500h / 20h / 6h 280 euro bez umowy / 19 euro miesięcznie z opłatą za Internet w cenie 700 g http://www.base.de/Tablets/BASE-Tablets/BASETab-white.aspx http://www.eplus-gruppe. de/presse/doc/1380.pdf 1203 punkty 58 punktów brak HD 2,1 punktów ...i zalety Fani Androida i techniki powinni się jednak pożegnać z Base Tab. Jeśli chcemy posiadać tablet jedynie do słuchania muzyki, oglądania filmów na Youtube albo wygodnego czatowania na kanapie, Base jest całkiem przyzwoitym rozwiązaniem. Ma przy tym bardzo długi czas pracy baterii. Podczas naszych naprawdę umiarkowanych testów wynosił on ponad sześć dni (tylko WLAN). W przypadku bardziej aktywnego korzystania łącznie z 3G tablet bez problemu wytrzymuje dwa dni. Nawet droższe urządzenia niejednokrotnie nie osiągają takiego wyniku. Bilans + Dobra cena i stałe łącze + 3G, GPS i 16GB pamięci + Długi czas pracy baterii + Radio FM - Słaby procesor - Nie najlepszy wyświetlacz - Mało pamięci www.linux-magazine.pl Ustawienia zarządzania energią są dość rygorystyczne. Przy braku aktywności już po dziesięciu sekundach włącza się blokada ekranu, co bardzo przeszkadza na przykład podczas czytania stron internetowych. Jednak możemy temu zaradzić, wprowadzając odpowiednie zmiany w ustawieniach. Dotyczy to także autokorekty, która domyślnie ustawiona Rysunek 2: 58 punktów przyznajest na poziomie wysokim. Utrudnia ona nych w benchmarku Vellamo nie choćby wpisywanie adresów mailowych. Po pozostawia najmniejszych złudzeń dokonaniu odpowiednich zmian pisanie na – nie jest to urządzenie tryskające klawiaturze swype staje się dziecinnie proste. mocą. Zaletą Base Tab jest także możliwość wykonywania i odbierania połączeń telefonicznych, choć może się to wydawać dość dziwne. Jakość uzyskanego połączenia może nawet przewyższać niektóre smartfony. Jeśli nie mamy ochoty prowadzić rozmów, trzymając 7-calowy tablet przy uchu możemy skorzystać z zestawu słuchawRysunek 3: Base Tab wyświetla liczbę nieprzeczytakowego dostarczanego nych wiadomości. razem z Base Tabem lub zaopatrzyć się w odpowiednie urządzenie z Bluetoothem. Jeśli chodzi o zestaw słuchawkowy: dla miłośników muzyki Base Tab ma dodatkową niespodziankę o nazwie Dolby Mobile, która zapewnia bardzo dobrą jakość dźwięku przy zastosowaniu wbudowanego głośnika. Base wprowadził drobne Rysunek 4: Radio doskonale umila czas podróży czy zmiany do Androida 2.2 wieczorny wypoczynek. Froyo. Zamiast klasycznego launchera z jedną ikoną proponuje launcher z pięcioma ikonami. Pod symbolem koperty, który na pierwszy rzut oka wygląda jak ikona programu pocztowego, kryje się aplikacja do wysyłania SMS-ów, a ikona znaczka pocztowego uruchamia Google Mail. Bardzo praktyczne okazuje się także radio UKF. Podsumowanie Biorąc pod uwagę moc sprzętu, Base Tab z pewnością należy do tabletów atrakcyjnych cenowo. Ekran dotykowy, zintegrowane funkcje 3G, rozmowy telefoniczne, dobry czas pracy baterii i nie mniej kusząca forma wynajmu od E-Plus czynią z Base Tab interesującą propozycję, jeśli chcemy poznać Androida albo rozpocząć przygodę z tabletami. Czy zobowiązywać się na dwa lata? Tu sami musimy podjąć własną decyzję. n n n NUMER 93 LISTOPAD 2011 37 Know-How Bezpieczeństwo IPv6 Co trzeba wiedzieć o bezpieczeństwie protokołu IPv6 Switchable Security Protokół IPv6 powstał w pierwszych latach Internetu i zawiera zestaw funkcji, które w latach dziewięćdziesiątych były naprawdę ważne. Jednak według dzisiejszych standardów niektóre z nich nie są zbyt wielkim ulepszeniem względem IPv4, co tym bardziej powinno skłaniać administratorów systemów do pilnowania bezpieczeństwa. Ralf Spenneberg I Pv6 wprowadza w Protokole Internetowym nieco zmian. Do tych szerzej znanych należą rozszerzenie przestrzeni adresów IP z trzydziestu dwóch do stu dwudziestu ośmiu bitów i prostsze maski sieciowe. Zamiast maskowania podsieci o zmiennej długości (VLSM), IPv6 obsługuje tylko maskowanie 64-bitowe (/64). Zrezygnowano z adresów rozgłoszeniowych (ang. broadcast) na rzecz adresów emisji pojedynczej (ang. unicast), grupowych (multicast) i adresów grona (anycast). Oprócz zasięgu globalnego, czyli dostępności w „nowym” Internecie, protokół IPv6 działa także w obszarach lokalnych, zawężających dostępność do mniejszego obrębu. W obszarze lokalnym dla łącza pula adresów IP jest ograniczona do sieci lokalnej. W obszarze lokalnym dla zdefiniowanej sieci i w sieciach danej organizacji kilka sieci jest ze sobą połączonych przy pomocy routerów. Komputery połączone w ramach IPv6 nadal potrzebują do komunikacji adresów MAC kart sieciowych. Protokół ICMPv6 znajduje te informacje w warstwie 3, podczas gdy IPv4 wciąż korzysta z protokołu konwersji adresów (ARP) w warstwie 2. Proces ustalania adresów MAC został przez deweloperów przemianowany na NDP – ang. Neighbor Discovery Protocol [1]. Autor AllzweckJack, Photocase.com Ralf Spenneberg jest niezależnym trenerem, konsultantem, autorem i właścicielem firmy Ralf Spenneberg Open Source Training. Opublikował wiele książek na temat wykrywania włamań, SELinuksa, zapór sieciowych i wirtualnych sieci prywatnych. Kilka miesięcy temu ukazała się jego najnowsza książka na temat VPN pod Linuksem. 48 LISTOPAD 2011 NUMER 93 Algorytm PMTUD jest w IPv6 obowiązkowy, a więc ICMPv6 odgrywa tu znacznie ważniejszą rolę niż w sieciach opartych na IPv4. Nowy protokół to także starzy znajomi do spraw bezpieczeństwa – rodzina . protokołów Ipsec, używanych regularnie przez adminów wraz z IPv4 do tworzenia prywatnych sieci wirtualnych. Fani tłumaczenia adresów sieciowych, czyli NAT-owania, już na starcie będą zawiedzeni IPv6. Chociaż deweloperzy wciąż próbują [2], to jednak NAT dla IPv6 na adresy IPv6, czyli NAT66, nadal nie istnieje. Innymi słowy, każda maszyna w Internecie opartym na IPv6 może porozumieć się z innymi, tylko jeśli ma globalny adres IPv6. Oznacza to, że starodawne drukarki sieciowe, zaniedbane klienty z Windows czy zapomniane urządzenia, są łatwo dostępne z globalnego Internetu, jeśli nie chroni ich firewall. Nic nowego? Wiele funkcji bezpieczeństwa pozostaje niezmienionych od IPv4. Protokoły transportowe w warstwie 4 (TCP, UDP) wciąż działają na takich samych zasadach. Nie trzeba również inaczej konfigurować protokołów aplikacji, takich jak HTTP, SMTP i FTP, wystarczy uzupełnić je o nowe adresy. W IPv6 bezpieczeństwo tych protokołów nie poprawia się. Atakujący może zalać maszynę pakietami SYN równie łatwo, jak było to w wersji IPv4. Niewiele zmian jest również w drugiej warstwie modelu OSI. Porzucono pro- tokół konwersji adresów (ARP), co pomoże w zapobieganiu niektórym rodzajom spoofingu, ale nie wszystkim (patrz: www.linux-magazine.pl Know-How Bezpieczeństwo IPv6 Spoofing protokołu ARP W sieciach z przełącznikami sniffing jest trudniejszy. Przełącznik zbiera informacje o tym, który system jest na którym porcie, i przekazuje pakiety Ethernet tylko na ten port. W tym celu posługuje się tablicą zidentyfikowanych adresów MAC i odpowiadających im portów. Mimo to atakujący nadal może podsłuchać cały ruch w sieci za pomocą ataku od wewnątrz (man-in-the-middle). dla atakujących jest właśnie tutaj: włamywacz może odpowiedzieć klientowi zamiast serwera i podrobić (spoofować) odpowiedź ARP, wprowadzając do niej swój adres MAC. Teraz klient wysyła pakiet nie na żądany adres używający IPv4, ale na adres MAC podany przez atakującego. Switch w warstwie 2 zwraca uwagę tylko na docelowy adres MAC, a więc bez przeszkód przekazuje pakiet atakującemu. Zanim klient, pracujący na IPv4, skomunikuje się z serwerem, musi poznać jego adres MAC. W tym celu wykorzystuje protokół ARP, wysyłając zapytanie ARP na adres rozgłoszeniowy Ethernetu: „Jakiego adresu MAC używa adres IP 192.168.0.5?”. Pole do popisu Atakujący może już odczytać pakiet, a po wszystkim zostaje mu tylko zastąpić docelowy MAC poprawnym adresem i odesłać go do switcha. Po tej czynności pakiet jest przesyłany właściwemu odbiorcy – i połączenie przywrócone. ramka Spoofing protokołu ARP). Dokładnie taki sam efekt atakujący może osiągnąć poprzez spoofing protokołu NDP. Deweloperzy IPv6 zdali sobie sprawę z tego zagrożenia i określili modyfikacje protokołu w dokumencie RFC 3791 (SEND, czyli protokół bezpiecznego odkrywania maszyn sąsiadujących) [3]. SEND korzysta z adresów utworzonych kryptograficznie i kluczy publicznych, którymi uwierzytelnia komunikaty NDP. Niestety, rozszerzenie obsługuje bardzo niewiele systemów operacyjnych, wśród nich Windows 7. Admin może walczyć ze spoofingiem przez NDP tylko za pomocą przemyślanego, wielowarstwowego rozmieszczenia przełączników, które prowadzą wewnętrzną tablicę ze wszystkimi adresami IPv6 i MAC oraz rozpoznają i odrzucają komunikaty spoofera. Ta technika w IPv4 nazywana jest przez producentów DAI (ang. Dynamic ARP Inspection) [4]. NAT już nie istnieje i nie ma dla niego żadnego zamiennika, co nie jest dobrą wiadomością. Administratorzy zarządzający FTP, Oracle SQL Net czy H.323 będą zadowoleni z wynikającej stąd dogodności. Wszystkie te protokoły dynamicznie negocjują nowe porty w czasie działania. Poprawne mapowanie tego wraz z NAT-owaniem okazało się w wielu przypadkach dużym wyzwaniem: algorytm NAT musi zrozumieć i śledzić protokół, aby zidentyfikować nowy wynegocjowany port. Inne protokoły IP niekorzystające z portów, takie jak ESP w Ipsec, mogą być wreszcie wdrażane zgodnie z zamiarem deweloperów, czyli bez obejść takich jak NAT Traversal za pomocą tunelowania pakietów UDP. www.linux-magazine.pl Prywatność zagrożona Kolejna wada nowego protokołu to zła ochrona danych: • Administratorzy potrzebują dobrego firewalla – tylko wtedy wewnętrzna struktura ich sieci jest chroniona, a używane adresy IP ukryte. • Usługodawcy internetowi mogą przypisać indywidualne połączenia do różnych komputerów w sieci klienckiej bez użycia ciasteczek. • Do komputerów można się dostać spoza sieci lokalnej, wystarczy znać ich adresy IPv6. Użytkownicy domowi nie muszą już konfigurować przekierowania portów na routerach DSL, aby dostać się do komputerów domowych z innych adresów. Nowa, bezpośrednia droga do wnętrza sieci to także furtka dla intruzów. Do ochrony takich powszechnie dostępnych systemów konieczne są solidne ustawienia firewalla. IPv6 sporządza adres na podstawie adresu MAC (patrz: sekcja „Autokonfiguracja”). Komputer zawsze tworzy część IP identyfikującą hosta (identyfikator EUI) w ten sam sposób, w oparciu o adres MAC, a więc zawsze da się go jednoznacznie identyfikować przez kilka dni (Rysunek 1). Jeśli tym komputerem jest laptop podłączający się do różnych sieci, to zmienia się tylko jego adres sieciowy. Kiedy użytkownik łączy się z serwerem przez Internet, właściciel serwera może określić, że to jest to samo urządzenie – dzięki identycznemu identyfikatorowi w adresie IPv6. Webmaster może także zobaczyć, z której sieci właściciel laptopa odwiedził jego stronę. Wystarczy tylko wysłać zapytanie o adres sieciowy, whois (Listing 1). Adresy IPv6 są rejestrowane przez dostawcę podobnie jak poprzednia generacja. Za pomocą whois można zidentyfikować dostawcę Internetu, do którego przypisany jest adres. W najgorszym razie dałoby się na przykład prześledzić trasę podróży przedstawiciela handlowego danej firmy. Losowy identyfikator EUI Aby zapobiec śledzeniu sieci, w dokumencie RFC 4941 wprowadzono rozszerzenia prywatności IPv6 [5], które pozwalają systemowi operacyjnemu tworzyć identyfikator EUI w sposób losowy (a nie w oparciu o adres MAC). Wszystkie nowe systemy operacyjne mają tę funkcję, a w przypadku Vista i Windows 7 jest ona domyślnie aktywna. W Linuksie losowe Adres MAC 00 18 8B D2 31 3A 00 18 8B 000000U0 U=1 unikalny U=0 nieunikalny D2 31 3A FF FE EUI ID 02 18 8B FF FE D2 31 3A Rysunek 1: ID adresu IPv6 zbudowane jest na adresie MAC: wstawione zostaje FFFE, a drugi bit w pierwszym bajcie ulega zmianie. Listing 1: whois 2001:67c:24::/48 01 [zapytanie do whois.ripe.net] 02 [whois.ripe.net] 03 inet6num: 2001:67c:24::/48 04 netname: SPE6-NET 05 descr: OpenSource Training Ralf Spenneberg 06 country: 07 org: DE ORG-OTRS1-RIPE 08 admin-c: RS9110-RIPE 09 tech-c: RS9110-RIPE 10 status: ASSIGNED PI 11 mnt-by: RIPE-NCC-END-MNT 12 mnt-by: MNT-Jansen 13 mnt-lower: RIPE-NCC-END-MNT 14 mnt-routes: MNT-Jansen 15 mnt-domains: MNT-JANSEN 16 source: RIPE # Filtered NUMER 93 LISTOPAD 2011 49 Know-How Bezpieczeństwo IPv6 generowanie EUI można włączyć tymczasowo poleceniem: sysctl -w net.ipv6.conf.all.use_tempaddr=2 Aby zmianę wprowadzić na stałe, trzeba zmodyfikować plik /etc/sysctl.conf w poszczególnych dystrybucjach i na innych systemach uniksowych [6]. Takie przypisanie ma także swoje wady. Kiedy tylko system operacyjny aktywuje kartę sieciową (lub przynajmniej raz dziennie), tworzony jest nowy identyfikator. Jeśli do sieci wkradnie się wirus lub robak, a admin nie dowie się o tym następnego dnia, nie będzie się dało mapować adresów IP zapisywanych przez firewall na poszczególnych komputerach, ponieważ losowe adresy IPv6 nie są nigdzie zapisywane. Firewall zamiast NAT Administratorzy sieci IPv6 mają tylko jedno wyjście: wprowadzić solidne reguły firewalla. Na szczęście ze stanowymi regułami firewalla można osiągnąć taki sam poziom bezpieczeństwa, jak ze skonfigurowanym NAT-em. Klienty mogą wtedy ustanawiać tylko jednokierunkowe połączenia sieciowe. Tak naprawdę czysty NAT oznacza mniejsze bezpieczeństwo, ponieważ tylko utrudnia poznanie adresów IP, ale nie blokuje dostępu. Dzięki routingowi według nadawcy oraz znajomości adresów IP atakujący może nawet otwierać połączenia do NAT-owanych maszyn, chyba że nie pozwoli mu dopiero firewall. Należy przy tym dodać, że w jądrze Linuksa aż do wersji 2.6.20 nie było filtrowania zależnego od stanu pakietów. Tak więc starsze dystrybucje (na przykład RHEL 5 i Centos 5) nie nadają się na firewalle w sieci IPv6. Aby z maszynami znajdującymi się w Internecie łączyły się tylko klienty z wewnątrz sieci, a połączenia z Internetu do maszyn lokalnych były blokowane, można zastosować reguły firewalla oparte na prostym skrypcie z Listingu 2. Przedstawione tam cztery zasady wpuszczają wszystkie pakiety należące do połączeń ustanowionych (ESTABLISHED) albo zawierające komunikaty o błędzie połączenia (RELATED). Połączenia nowe (NEW) są przepuszczane, tylko jeśli pochodzą z wewnętrznego LAN-u. Jeżeli firewall ma także obsługiwać protokoły takie jak FTP, dynamicznie negocjujące nowe porty, należy załadować odpowiednie moduły (na 50 LISTOPAD 2011 NUMER 93 przykład modprobe nf_conntrack_ftp). Znacznie trudniejszym zadaniem jest ochrona samego firewalla. Z firewallem opartym tylko na IPv4 można po prostu porzucać wszystkie pakiety adresowane do samego firewalla w łańcuchach INPUT i OUTPUT, chyba, że potrzebny jest dostęp do firewalla przez własną sieć. W przypadku zastosowania porzucania pakietów w IPv6 żadna komunikacja przez firewall nie jest możliwa, ponieważ IPv6 korzysta z NDP, a nie ARP. Każdy komputer, który korzysta z firewalla, by komunikować się z adresami spoza segmentu lokalnego, musi poznać adres MAC firewalla. To nie było problemem w IPv4, ponieważ tablice IP ignorują pakiety ARP w warstwie 2. (Ustalanie adresów MAC działa niezależnie od zasad iptables). W IPv6 odnajdywanie adresów MAC opiera się na ICMPv6 w warstwie 3 modelu OSI. Jeśli reguły ip6tables nakazują porzucić wszystkie pakiety, dotyczy to komunikatów ICMPv6, a odnajdywanie adresów MAC nie zadziała z firewallem. Tak więc w regułach ip6tables należy dopuścić przynajmniej komunikaty ICMPv6. IPv6 wykorzystuje protokół ICMPv6 do różnych celów. Dokument RFC 4890 [7] zawiera szczegółowy przewodnik dla administratorów firewalla, pomagający prawidłowo ustawić reguły. Autokonfiguracja Jedną z najlepszych funkcji protokołu IPv6 jest SLAAC [8], automatyczna bezstanowa autokonfiguracja adresów IPv6 przez pojedyncze komputery. Nie trzeba dodawać serwera DHCP, co eliminuje jeden z możliwych słabych punktów. Jak już była o tym mowa, komputery generują identyfikator w oparciu o swoje adresy MAC. Z tego identyfikatora korzystają po pierwsze przy generowaniu adresu lokalnego dla danego łącza, doczepiając identyfikator do sieci fe80/64 (Rysunek 2). Listing 2: ip6tables 01 LAN=eth0 Hosty mogą następnie korzystać z tego adresu do komunikacji w ramach sieci lokalnej, podobnie jak działo się to w IPv4 z usługą APIPA (w Windows [9]) lub Avahi (w Linuksie [10]). Jest to dla nich „adres IP do połączeń lokalnych” w sieciach z techniką Zeroconf [11]. Następnie hosty wysyłają żądania ICMPv6 do routera [1], na które routery odpowiadają zgłoszeniem ICMPv6 zawierającym globalny prefiks. Z tego system wylicza globalny adres IP, dodając swój identyfikator do prefiksu globalnego (Rysunek 3). Jeśli odpowiada kilka routerów lub zgłoszenie zawiera wiele prefiksów, to system tworzy wiele adresów IPv6. Aby działała autokonfiguracja, reguły firewalla muszą oczywiście dopuszczać te komunikaty IPv6. Nie można ich jednak filtrować według stanu, ponieważ serwer konfiguracji rozsyła je po całej grupie. Niestety, komunikatów żądania i zgłoszenia się routera także nie da się uwierzytelnić. Innymi słowy, intruz mógłby wysyłać komunikaty zgłoszenia się routera i z powodzeniem podszywać się pod router. Istnieje już narzędzie do takiego ataku [12]. W środowisku produkcyjnym autokonfiguracja bezstanowa nie nadaje się do nowoczesnych sieci. Kiedy deweloperzy tworzyli specyfikacje piętnaście lat temu, w autokonfiguracji nie uwzględnili dystrybucji serwerów DNS i innych ważnych danych. Dokument RFC 5006 [13] wprowadza wsparcie serwerów DNS, ale nie jest ono możliwe we wszystkich systemach operacyjnych. Administratorzy i tak przywykli do rozpowszechniania informacji takich jak domena DNS, serwer NTP czy serwer uruchomienia PXE za pomocą DHCP. W IPv6 DHCP jest przeważnie nie do uniknięcia, a przynajmniej nie jego odmiana bezstanowa. System operacyjny korzysta z autokonfiguracji, by poznać własny adres IPv6, a następnie z DHCP w celu uzyskania dodatkowych informacji, takich jak serwer i domena DNS. Jeśli 128 bitów 02 INTERNET=ppp0 03 IPT=/sbin/ip6tables 0 04 Identyfikator interfejsu 05 $IPT -P FORWARD DROP 1111 1110 10 06 $IPT -F FORWARD 07 $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j FE80/10 ACCEPT 08 $IPT -A FORWARD -i $LAN -o $INTERNET -m state --state NEW -j ACCEPT . Rysunek 2: Komputer generuje adres lokalny dla łącza bez wsparcia z zewnątrz. www.linux-magazine.pl Know-How Bezpieczeństwo IPv6 Rysunek 3: Klient używa adresu lokalnego dla łącza i komunikuje się ze wszystkimi routerami w sieci za pomocą adresu grupowego (multicast) ff02::2. w komunikacie zgłoszeniowym routera jest flaga OtherConfig, Vista i Windows 7 wykonują to automatycznie. Rekordy DNS przez DHCP stanowy W niektórych konfiguracjach pożądane jest, aby serwer DNS automatycznie dodawał nazwy hostów tych komputerów, które mają startować automatycznie. To sytuacja typowa dla usługi Active Directory w Windows. W Linuksach sprawa jest trudniejsza, dlatego wielu administratorów używa obejścia na IPv4 i upoważnia serwer DHCP do dynamicznego modyfikowania informacji w przestrzeni DNS. Przy użyciu IPv6 autokonfiguracji i DHCP bezstanowego nie da się używać, ponieważ, aby dodać rekord, serwer DHCP musi znać adres IPv6 klienta. Aby przypisywać adresy IPv6 z danej puli, potrzeba więc stanowego serwera DHCP. Klienty z Windows wspierają to automatycznie, o ile zgłoszenie routera zawiera flagę ManagedFlag. W systemach linuksowych trzeba zainstalować i skonfigurować odpowiedniego klienta DHCP. Ważna jest tutaj redundancja: gdy zawiedzie serwer DHCP, będzie to miało dla sieci lokalnej skutki takie same, jak zwykle. Śmierć smerfom Pozytywną zmianą w IPv6 jest odejście do lamusa pakietów rozgłoszeniowych. Proste ataki ze wzmocnieniem, takie jak Smurf [14], stają się więc niemożliwe; również burze rozgłoszeniowe przechodzą do historii. Chociaż protokół NDP do odkrycia docelowych adresów MAC używa adresów grupowych, to jednak w większości przypadków grupy dobierane są inteligentnie, aby komunikacja www.linux-magazine.pl ograniczała się tylko do tego komputera, którego adres MAC musi poznać host. Wiele innych usług korzystających kiedyś z komunikacji rozgłoszeniowej teraz komunikuje się grupowo. Na przykład DHCPv6 używa dwóch dobrze znanych adresów, ff02::1:2 i ff05::1:3. Pierwszy to lokalny dla łącza adres grupowy (ff02) zarezerwowany dla wszystkich agentów DHCP (serwerów i agentów przekazywania) . Drugi (ff05) jest adresem lokalnym dla danej sieci, zarezerwowanym dla serwerów DHCP. Dzięki takiemu przypisaniu adresów Ipv6 przeważnie ogranicza manipulowanie pakietami w stosie IP w maszynach zaangażowanych w komunikację. Odpowiadające temu adresy grupowe MAC są również bardzo wydajne. Całość procesu, w porównaniu z komunikacją rozgłoszeniową w IPv4, diametralnie zmniejsza ruch sieciowy. IPv6 zawiera także konieczną obsługę protokołów z rodziny IPsec, ale to nie zwiększa automatycznie bezpieczeństwa. Jeśli administrator nie skonfiguruje tej funkcji, to ruch nie będzie szyfrowany protokołami IPsec. Sama obecność IPsec nie gwarantuje zwiększonego bezpieczeństwa – oszczędza jedynie kłopotliwej instalacji oprogramowania, co było zwykle konieczne przy IPv4. Nadal istnieją też problemy ze wzajemną współpracą i błędy konfiguracji. Ścigający został ściganym Gdy wziąć pod uwagę najnowsze rozwiązania dla sieci i typową sieć sprzed piętnastu lat, widać, że twórcy IPv6 wiele rzeczy wykonali porządnie. Od tamtej pory systemy operacyjne i zarządzanie siecią opartą na IPv4 mocno się jednak rozwinęły, podczas gdy te dla IPv6 przeszły niewiele innowacji. Autokonfiguracja pozwala ustawić jedynie adres IP oraz, przy odpowiednio nowych klientach, przypisać serwer DNS. Wszystkim innym nadal zajmuje się serwer DHCP. DNS i firewalle zyskują na znaczeniu, a samo przejście na IPv6, bez protokołów IPsec, nie zapewni bezpieczeństwa sieci korporacyjnej. Wręcz przeciwnie, w wielu przypadkach administratorzy będą musieli jeszcze bardziej uważać, czy klienty w sieci są dobrze chronione, czy też dostępne z dowolnego miejsca na świecie. n n n Info [1] NDP: http://en.wikipedia.org/wiki/ Neighbor_Discovery_Protocol [2] Szkic NAT66: http://www.ietf.org/ proceedings/08nov/slides/behave-14. pdf [3] Secure Neighbor Discovery Protocol: http://www.faqs.org/rfcs/rfc3971. html [4] Dynamiczna inspekcja ARP: http:// www.cisco.com/en/US/docs/ switches/lan/catalyst6500/ ios/12.2SXF/native/configuration/ guide/dynarp.html [5] Rozszerzenia prywatności IPv6: http://www.faqs.org/rfcs/rfc4941. html [6] Enabling IPrivacy Extensions: http:// blog.philippklaus.de/2011/05/ipv6privacy-extensions/ [7] Filtrowania komunikatów ICMPv6 w firewallach: http://www.faqs.org/ rfcs/rfc4890.html [8] Bezstanowa konfiguracja automatyczna: http://www.faqs.org/rfcs/ rfc4862.html [9] APIPA: http://msdn.microsoft.com/ en-us/library/aa505918.aspx [10] Avahi: http://avahi.org [11] Zeroconf: http://en.wikipedia.org/ wiki/Zero_configuration_networking [12] Zestaw do ataków THC na IPv6: http://www.thc.org/thc-ipv6/ [13] Możliwość konfiguracji DNS dla IPv6: http://www.faqs.org/rfcs/rfc5006. html [14] Atak Smurf: http://en.wikipedia. org/wiki/Smurf_attack NUMER 93 LISTOPAD 2011 51 LinuxUser Wiersz poleceń: Powłoki Powłoki Wychodzimy ze swojej powłoki Interpreter poleceń w Linuksie, czyli powłokę, możemy sobie bez problemu wymienić. Sprawdźmy, dlaczego warto. Bruce Byfield Bruce Byfield Bruce Byfield jest dziennikarzem IT, autorem artykułów i redaktorem specjalizującym się w tematyce FLOSS. Prowadzi też kursy komputerowe, zarówno na żywo, jaki i poprzez platformy e-learningowe. W wolnych chwilach pisze o sztuce północno-zachodniego wybrzeża. Więcej na temat jego pracy można znaleźć na stronie http://brucebyfield.wordpress.com. www.linux-magazine.pl W GNU / Linuksie niemal każdą część systemu możemy wymienić na inną; powłoka nie jest tu wyjątkiem. Choć większość dystrybucji używa interpretera Bashl [1], to jednak często instalowane są też inne powłoki. Zwykle w repozytoriach dystrybucji znajdziemy kilka, a nawet kilkanaście pakietów z różnymi powłokami. Jest w czym wybierać! Aby sprawdzić, jakie powłoki są zainstalowane w systemie, używamy polecenia chsh --l lub chsh --list. Ponieważ jednak polecenie chsh w wielu dystrybucjach nie obsługuje tych opcji, możemy skorzystać z prostszego rozwiązania, a mianowicie z less /etc/shells (Rysunek 1). Niektóre pozycje w pliku /etc/shells mogą być jednak dowiązaniami symbolicznymi – w szczególności dotyczy to /bin/sh: nie jest to już stara powłoka Bourne Shell [2], lecz dowiązanie do używanego w danym momencie interpretera. W /etc/shells znajdziemy też tzw. pseudopowłoki służące do określonych celów. Na przykład w Debianie narzędzie aptsh [3] pomaga tworzyć pakiety. Często też występuje tam rbash [4] – wersja Basha o ograniczonych uprawnieniach. Jednak większość wpisów w /etc/bash to powłoki ogólnego zastosowania. Zwróćmy uwagę, że polecenie Bash piszemy małymi literami (bash). Jeżeli nie jesteśmy pewni co do bieżącej powłoki domyślnej, poinformuje nas o tym echo $SHELL (Rysunek 2). Jeżeli chcemy przełączyć się na inna powłokę tymczasowo, wystarczy wprowadzić jej nazwę jako polecenie. Aby jednak zmienić powłokę domyślną, powinniśmy użyć polecenia chsh -s POWŁOKA lub chsh --shell [POWŁOKA], przy czym pełna NUMER 93 LISTOPAD 2011 91 LinuxUser Wiersz poleceń: Powłoki ścieżka do danej powłoki musi znajdować się w pliku /etc/shells. Powinniśmy zrestartować serwer X (najlepiej się wylogować), by móc korzystać z nowej powłoki. Kiedy znudzą się nam eksperymenty, możemy zawsze wrócić do domyślnej wersji za pomocą chsh. Istnieje też inny sposób: edycja zmiennej środowiskowej poleceniem: export SHELL=$SHELL:[Shell] i restart serwera X. Zanim jednak zmienimy powłokę, warto się dowiedzieć, co każda z nich ma nam do zaoferowania. Poniższe krótkie informacje mogą nam pomóc w dokonaniu wyboru. Almquist (Ash) Rysunek 1: Jak na dzisiejsze standardy powłoki są małe, więc wiele dystrybucji instaluje je domyślnie. Rysunek 2: Nazwa bieżącej powłoki zwykle występuje wśród zmiennych środowiskowych. Powłoka Bourne’a (s) Stworzona przez Stephena Bourne’a w 1977 roku, jest przodkiem niemal wszystkich używanych obecnie powłok. Nawet te, które się z niej nie wywodzą, stanowią reakcję na jej ograniczenia. Choć nadal możemy ją znaleźć w niektórych dystrybucjach, zwykle dziwią jej ograniczenia, takie jak brak możliwości przewijania historii. Po Bashu Ash jest prawdopodobnie najpopularniejszą powłoką w systemach uniksowych. Jej różne odmiany są instalowane domyślnie we FreeBSD, NetBSD, Miniksie, Slackware, a także na dystrybucjach live i systemach osadzonych oraz wszędzie tam, gdzie przestrzeń jest bardzo cenna. 82KB to przecież zaledwie 10% Basha. Istnieje wiele odmian tej powłoki, łącznie z debianową, Dash [5]. Swą popularność w dużej mierze zawdzięcza ona kolekcji narzędzi Busybox [6]. Ash jest szybszy od Basha, również – a może przede wszystkim – przy wykonywaniu skryptów. Pozostaje też powłoką najbardziej zgodną ze standardem POSIX. Powłoka C (Csh) i Tenex (Tcsh) Bill Joy napisał powłokę C jako absolwent Uniwersytetu Kalifornijskiego w Berkeley w późnych latach siedemdziesiątych. Powłoka Tenex to jej ulepszona wersja i to ona właśnie jest dziś głównie rozwijana. Choć w dystrybucjach pojawiają się obie, często jako oddzielne pakiety, w rzeczywistości, gdy uruchamiamy csh, uruchamiane jest tcsh [7] (analogicznie jak w przypadku Vi i Vima). Kiedy powstała powłoka C, większość Uniksa składała się z kodu w C, natomiast powłoka używająca składni C była czymś niezwykłym. Dziś jest odwrotnie – powłoki korzystające ze składni różnych języków programowania nie są niczym dziwnym, natomiast C traci na popularności. Oznacza to, że Csh / Tcsh zainteresują zapewne jedynie tych, którzy znają C i chcą używać tego języka do pisania skryptów powłoki. Poza tym nie ma bowiem wielu powodów, by korzystać z tych powłok, choć mają one wszystkie funkcje dobrze znane z Basha, jak historia czy uzupełnianie poleceń. Możemy jedynie zauważyć, że Tcsh jest nieznacznie szybszy od Basha. Fish – przyjazna powłoka FISH to skrót od ang. Friendly Interactive Shell, czyli „przyjaźnie interaktywna powłoka”. Jak sama nazwa wskazuje, Fish [8] korzysta z ustawień domyślnych, dzięki czemu jest łatwa w użyciu, a przy tym bardzo potężna. Od razu rzuca się w oczy rozbudowane podświetlanie składni: oddzielny kolor ma polecenie, jego opcje, wyrażenia regularne i dane wejściowe, wystarczy więc jedno spojrzenie, by zorientować się, co jest czym. Szczególnie przydaje się to wtedy, kiedy uczymy się pracy w powłoce (Rysunek 3). Fish automatycznie usuwa duplikaty z historii wiersza poleceń, zaś przy automatycznym uzupełnianiu dostajemy dodatkowo opisy poleceń z whatis. Warto również wspomnieć o wbudowanej pomocy. Wiele funkcji Fisha możemy znaleźć w innych powłokach, na przykład w Bashu możemy użyć opcji --color polecenia ls, jednak wiele z nich nie jest domyślnie włączonych, a przynajmniej nie we wszystkich dystrybucjach. Choć zaawansowani użytkownicy często uważają Fisha za zbyt pstrokatą powłokę, jest on Rysunek 3: Fish oferuje rozbudowane podświetlanie składni. 92 LISTOPAD 2011 NUMER 93 . www.linux-magazine.pl LinuxUser Wiersz poleceń: Powłoki jednak bardzo przyjazny, zwłaszcza dla początkujących. Powłoka Korna (Ksh) David Korn z AT&T napisał powłokę Korna [9] w 1983 roku, jednak na jej wolną wersję trzeba było czekać aż dwadzieścia dwa lata. Fakt ten jednak nie miał zbytniego wpływu na popularność powłoki – cieszy się ona sympatią zwłaszcza wśród autorów skryptów. Istnieje też wiele jej odmian, zarówno otwartych, jak i zamkniętych (Mksh [10], Oksh [11] czy Pdksh [12]). Źródłem sukcesu Ksh jest jego architektura i zestaw funkcji zbliżony do języków takich jak Perl czy Tcl, a także możliwość łatwego dodawania poleceń. Ksh to powłoka większa od Basha, a jednak skrypty wykonuje znacznie szybciej, choć na współczesnych maszynach różnice te nie mają już takiego znaczenia. Powłoka Z (Zsh) Jeśli jesteśmy zwolennikami maksymalRysunek 4: Tekstowa konfiguracja Zsh przy pierwszym uruchomieniu powłoki. nego tuningu i każdy nowy system od razu dostosowujemy do własnych potrzeb, z pewnością polubimy Zsh [13]. To jedna z najbardziej potężnych i elastyczRysunek 5: Jedną z najpopularniejszych nych powłok. funkcji Zsh jest korekta pisowni. W przeciwieństwie do innych przy pierwszym uruchomieniu Zsh pokazuje nam tekstowe okno konfiguracyjne (Rysunek 4). Możemy tam ustawić liczbę wierszy zapamiętywanych w historii, utworzyć własny plik do uzupełniania poleceń, umożliwić sobie nawigację po katalogach bez konieczności korzystania z cd, a także włączyć emulacje klawiszy Vi bądź Emacsa. Więcej opcji da się ustawić za pomocą setopt. Możemy na przykład włączyć korektę pisowni, która poprawi sl na ls przed wykonaniem polecenia (Rysunek 5). Możliwe jest [1] Bash shell: http://www.gnu.org/s/ też współdzielenie historii między różnymi instancjami Zsh, blokowanie duplikatów hibash/ storii, ochrona plików przed przypadkowym usunięciem, a także automatyczne skraca[2] Bourne shell: http://en.wikipedia.org/ nie znaku zachęty. A to tylko czubek góry lodowej. wiki/Bourne_shell Podsumowując, Zsh jest jak dotąd powłoką o największych możliwościach. Wystarczy [3] aptsh: http://packages.debian.org/ chwilę pobawić się ustawieniami, by zrozumieć, dlaczego ma tylu gorących zwolenników. Info Eksperymentujemy z powłokami Jeśli chodzi o codzienne użytkowanie, prawdopodobnie nie zauważymy większej różnicy między powłokami. Wszystkie mają podobne korzenie, tak więc polecenia służące do zarządzania plikami (ls, cp, mv, rm) czy nawigacji (cd, pwd) będą działały bardzo podobnie w każdej powłoce. Dzięki temu możemy się skupić na unikalnych cechach danej powłoki. Oczywiście niektóre powłoki mogą niespecjalnie nadawać się dla naszych celów. Jeśli na przykład nie pociąga nas pisanie skryptów, prawdopodobnie nie zainteresuje nas zbytnio Ksh. Jeśli nie eksperymentujemy z małymi dystrybucjami, na przykład mieszczącymi się na pendrive, z kolei Ash nie będzie dla nas zbyt atrakcyjny. Natomiast powłoki ogólnego zastosowania, takie jak Zsh czy Fish, zawierają wiele interesujących opcji i zdecydowanie warto przyjrzeć im się bliżej. Zabawa z powłokami jest prosta i przyjemna. Jeśli jedna nam się nie podoba, możemy ją w każdej chwili wymienić lub wrócić do starej. Ponieważ jednak powłoka jest tak ważną częścią systemu linuksowego, warto sprawdzić, jakie mamy możliwości. n n n www.linux-magazine.pl unstable/admin/aptsh [4] rbash: http://www.faqs.org/docs/bashman/bashref_75.html [5] dash: http://gondor.apana.org.au /~herbert/dash/ [6] BusyBox: http://www.busybox.net/ [7] tcsh: http://www.tcsh.org/Welcome [8] fish: http://fishshell.com/ [9] KornShell: http://www.kornshell.com/ [10] mksh: https://www.mirbsd.org/mksh. htm [11] oksh: http://freshmeat.net/projects/ oksh [12] pdksh: http://web.cs.mun.ca/~michael/pdksh/ [13] zsh: http://www.zsh.org/ NUMER 93 LISTOPAD 2011 93 LINUX MAGAZINE PRENUMERATA PRENUMERATA CENNIK PRENUMERATY „LINUX MAGAZINE” Prenumerata dwuletnia – 24 numery z DVD Student* 310,00 PLN Osoba prywatna 330,00 PLN Firma 345,00 PLN Zagranica – Europa** 620,00 PLN Zagranica – Świat*** 730,00 PLN Prenumerata półroczna – 6 numerów z DVD Student* 100,00 PLN Osoba prywatna 110,00 PLN Firma 125,00 PLN Zagranica – Europa** 165,00 PLN Zagranica – Świat*** 185,00 PLN Prenumerata roczna – 12 numerów z DVD Student* 160,00 PLN Osoba prywatna 195,00 PLN Firma 215,00 PLN Zagranica – Europa** 320,00 PLN Zagranica – Świat*** 375,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*** 125,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 L i n u x 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 L i n u x M a g a z i n e 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 742 14 56 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. Nowa oferta abonament Linux & Android Magazine +++ Otwarty pakiet trzech lub sześciu dowolnych numerów do wykorzystania w ciągu roku +++ Opcje abonamentu: Abonament 3/12 (trzy numery) 66 zł (21 zł / numer) Abonament 6/12 (sześć numerów) 126 zł (21 zł / numer) Koszty wysyłki pokrywa redakcja S z c z e g ó ł y : h t t p : / / l i n u x m a g a z i n e . p l o ra z i n f o @ l i n u x m a g a z i n e . p l i 2 2 7 4 2 1 4 5 5