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