You are on page 1of 84

Miesięcznik Linux+ (11 numerów w roku) jest wydawany

przez Software-Wydawnictwo Sp. z o. o.

Dyrektor wydawniczy:
Anna Adamczyk, anna.adamczyk@software.com.pl
Redaktor naczelna:
Iwona Chwedoruk, iwona.chwedoruk@software.com.pl
Kierownik produkcji:
Marta Kurpiewska, marta.kurpiewska@software.com.pl

Opracowanie DVD:
Tomasz Kostro, tomasz.kostro@software.com.pl
Korekta:
Tomasz Łopuszański
Dział reklamy:
reklama@lpmagazine.org, tel.: (22) 427 36 91 W bieżącym numerze
Obsługa prenumeraty: EuroPress Polska
software@europress.pl

Okładka: Aktualności
Agnieszka Marchocka, Łukasz Pabian

DTP:
Monika Grotkowska, monika.grotkowska@software.com.pl
6 News
Tomasz Bednarski
Stali współpracownicy:
Piotr Brzózka, Leszek Konka, Przemysław Prytek,
Staszek Bujok Opis płyty
Wydawca:
Software-Wydawnictwo Sp. z o. o.,
02-682 Warszawa, ul. Bokserska 1 8 Fedora 10
Getting Started with Linux: Novell's Guide to CompTIA's Linux+
e-mail: redakcja@lpmagazine.org,
tel. (22) 427 36 91

Redakcja dokłada wszelkich starań, aby publikowane w piśmie i na


Rozwiązania
towarzyszących mu nośnikach informacje i programy były poprawne,
jednakże nie bierze odpowiedzialności za efekty ich wykorzystania.
10 LDAP – idea, główne pojęcia,
Redakcja Linux+ pracuje na sprzęcie dostarczonym przez firmę konfiguracja i testowanie
Device Polska Janusz Bielec
Artykuł ten jest pierwszą częścią cyklu poświęconego OpenLDAP.
Płyty uszkodzone podczas wysyłki wymienia dział prenumeraty.
Poszczególne części dotyczyć będą następujących obszarów: idei
Wszystkie znaki firmowe zawarte w piśmie są własnością i głównych pojęć, konfiguracji oraz testowania, bezpieczeństwa
odpowiednich firm i zostały użyte wyłącznie w celach w OpenLDAP, OpenLDAP-u jako źródła informacji oraz źródła
informacyjnych. uwierzytelnienia, OpenLDAP-u w praktyce administracyjnej – tutaj
weźmiemy pod uwagę m.in. sambę, postfix, apache.
Nakład: 10 000 egz.

Redakcja używa systemu automatycznego składu


18 System z piekła rodem
Łukasz Ciesielski
Określany jest systemem dla maniaków i pasjonatów, którzy znają
Druk:
się na szeroko pojmowanych zagadnieniach informatyki. Wiele osób
101 Studio, Firma Tęgi
nawet nie wie o jego istnieniu, a szczytem współczesnej rewolucji na
wąskim rynku systemów operacyjnych stało się rozpowszechnienie
Płyty dołączone do magazynu przetestowano programem
Linuksa w jego dziesiątkach odmian. Tymczasem jest jeszcze jeden
AntiVirenKit firmy G DATA Software Sp. z o.o.
Sprzedaż aktualnych lub archiwalnych numerów pisma po innej kandydat do miana rewelacyjnego systemu – FreeBSD.
cenie niż wydrukowana na okładce – bez zgody wydawcy – jest
działaniem na jego szkodę i skutkuje odpowiedzialnością sądową.
Linux ® jest zarejestrowanym znakiem towarowym należącym
24 Webmin i Usermin
Rafał Kułaga
do Linusa Torvaldsa. Istnieje wiele narzędzi służących do zdalnego zarządzania systemem
Pismo ukazuje się w następujących wersjach językowych:
za pomocą przeglądarki internetowej. Dwa z nich – Webmin oraz
Usermin – pozwalają na konfigurację najważniejszych parametrów
polskiej , pracy systemu oraz udostępniają wygodny interfejs, w którym
francuskiej , użytkownicy mogą zdalnie wykonywać najczęstsze zadania.
hiszpańskiej .

4 maj 2009
Spis treści

Temat miesiąca Urządzenia mobilne

32 Współpraca telefonów z systemem Linux mobilnych, takich jak komputery PDA czy telefony komórkowe,
zwłaszcza te określane mianem smartfonów. Niedowiarkom, którzy
Michał Sobczak
Obsługę telefonów komórkowych w Linuksie można krótko nadal w to powątpiewają, postaram się przedstawić wybrane modele
podsumować – nie zawsze działa, nie posiada oficjalnego wsparcia telefonów komórkowych pracujących pod kontrolą Linuksa, a także
producentów aparatów, lecz jeśli działa, to sprawia dużą radość. przedstawić najważniejsze dystrybucje Linuksa na urządzenia
mobilne.

34 Synchronizacja urządzeń mobilnych 58 Linux kontra iPod


Sylwester Zdanowski Grzegorz Madajczak
Współcześnie dużą popularność zdobyły komputery kieszonkowe Codziennie chodząc po ulicach każdego z miast Polski, Europy i świata,
nazywane elektronicznymi asystentami czy mądrymi telefonami. niemalże na każdym kroku spotyka się ludzi słuchających muzyki przez
Jednym z warunków ich pełnego wykorzystania jest możliwość charakterystyczne białe słuchawki. Wielu z nich należy do wielkiej
zarządzania danymi poprzez podłączenie do komputera. Pozwala rodziny posiadaczy iPoda. Ja sam do nich należę, więc poniższy
ono na tworzenie kopii zapasowych, wygodne przeglądanie notatek artykuł – o wzajemnych relacjach Linuksa i iPodów będzie – wybitnie
czy kalendarza. Czynności te wymagają jednak synchronizacji z subiektywny.
systemem, której wykonanie nie tylko z Linuksem może przyprawić
o ból głowy.
64 Mobilny Linux
Purnima Singh
Sprzęt Na podstawie raportu Embedded Software Market Intelligence,
23% ankietowanych wykorzystywało systemy typu Open Source w
swoich projektach – w tym 18% z nich system Linux.
38 Test modemów gprs
Wojciech Zając
Każdy z operatorów sieci gsm świadczy swoim klientom usługę Programowanie
mobilnego dostępu do internetu w oparciu o pakietową transmi-
sję danych. W tym celu zazwyczaj dostarcza modem wraz z kartą
SIM, które umożliwiają podłączenie się do sieci komórkowej,
68 Android, czyli Linux na komórki
Marek Sawerwain
jednak na pytanie czy ten zestaw zadziała pod Linuksem więk- Od kilku lat system Linux nieustannie zyskuje na popularności.
szość sprzedawców dziwnie wzrusza ramionami. Przyszłe lata także rysują się bardzo obiecująco, ponieważ system
ten może znaleźć uznanie wśród użytkowników netbook'ów,

48 Linux na urządzeniach mobilnych gdyż względem konkurencyjnego systemu Windows Linux


oferuje lepszą wydajność na mniej zaawansowanych platformach
Grzegorz Madajczak
Większości osób Linux kojarzy się co najwyżej z systemem sprzętowych. Również na komputerach normalnych użytkowników
przeznaczonym na komputery klasy PC, co i tak jest dobrym Linux gości coraz częściej. Jest jednakże jeszcze jeden typ
punktem widzenia wobec tych, którzy postrzegają Linuksa jako urządzeń, gdzie Linux również zyskuje dużą popularność: są to
system tylko do zastosowań serwerowych. Wielu zapewne zdziwi telefony komórkowe.
się informacją, że system ten na dobre rozgościł się w urządzeniach
Recenzja

74 Teeworlds
Maciej Mroziński
Każdy, kto spędza przy grach komputerowych chociaż trochę
więcej czasu niż tak naprawdę powinien, doskonale wie, iż
rzadko się zdarza, aby gra miała grywalność plasującą ją
powyżej średniej gatunku. Na szczęście tak właśnie jest w
przypadku Teeworlds, niewielkiego rozmiarowo projektu, który
zdążył zyskać sobie ogromną popularność i setki oddanych
graczy. Co złożyło się na ogromną popularność opisywanego
tytułu? Miła oku grafika, prostota i intuicyjność, czy może coś
jeszcze? Spójrzmy.

www.lpmagazine.org 5
aktualności
Mandriva dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl

Mandriva Linux 2009.1 Spring hybrydowe ISO, które można łatwo zrzucić daniu RC 1 nie możemy jeszcze cieszyć oka
– kandydat do podium? na pamięć USB. W wydaniu RC1 przygoto- nową szatą graficzną. Pojawi się ona dopie-
Ukazała się pierwsza wersja kandydująca naj- wano ISO z GNOME. ro w RC 2. Namiastkę możemy jednak zoba-
nowszego wydania Mandrivy. Czy jest to kan- Aby zrzucić hybrydowe ISO, należy po- czyć w elementach gfxboot, bootsplash i tło.
dydat do podium w kategorii dystrybucja da- stąpić zgodnie z tym procedury: K menu zostało odnowione.
jąca użytkownikowi największy wybór śro-
dowisk graficznych? To się okaże, ale moje • włóż urządzenie USB przeznaczone do Ciekawsze zmiany
pierwsze wrażenia dają mocne podstawy do uruchomienia systemu w narzędziach Mandrivy
odpowiedzi TAK!. • odmontuj wszystkie punkty montowania Zgodnie z zapowiedziami narzędzia Mandri-
tego USB vy są sukcesywnie rozwijane. W tym wydaniu
Wybierz środowisko dla siebie • jako root uruchom na tapętę inżynierowie wzięli DrakX, msec,
W każdym wydaniem Mandrivy pojawiają Drakguard, Rpmdrake, Draksnapshot. Wię-
nowe możliwości w zakresie wyboru środo- dd if=mandriva-linux-one-2009.1-rc1- cej na temat planowanych zmian pisałem w w
wiska pracy. Użytkownik nie jest ograniczo- GNOME-int-cdrom-i586.iso of=/dev/sdX przedostatnim numerze. W RC 1 pojawiły się
ny do wyboru jednego dobrze dopracowane- bs=8M następujące zmiany:
go środowiska. Może wybrać jedno z czterech
– zależnie od preferencji osobistych i/lub moż- gdzie gdzie /dev/SDX jest ścieżką do Twojego • DrakX (installer) – wykonano wie-
liwości komputera. Osoby, które cenią środo- urządzenia USB le usprawnień w instalatorze, aby mógł
wiska o bardzo rozbudowanej funkcjonalności używać urpmi w domyślnym ustawieniu.
mogą wybrać: • kiedy zakończy uruchom sync Główne zalety:
• odłącz urządzenie • mniejsza skala duplikacji kodu
• KDE w wersji (KDE 4.2.1) (więcej infor- • i wczytaj do przetestowania • łatwiejsze utrzymanie i rozwój instla-
macji poniżej) lub tora
• GNOME Zastosowano GNOME 2.25.92 W niektórych systemach, wyświetlacz rozru- • możliwość wykorzystania łat jedno-
czyli wersję kandydującą GNOME 2.26. chu może się zawiesić w lewym górnym rogu cześnie w instalatorze, urpmi i narzę-
okna. W tym konkretnym przypadku, kilka ra- dziach One
Osoby stawiające na szybkość i wydajność zy naciśnij enter i wypełnij raport o błędzie ze • Draksnapshot – dodano nowy wpis
mogą zdecydować się na XFCE lub LXDE. szczegółami o swoim systemie. w instalatorze mediów (ekran gfxbo-
ot). Korzystając z niego będzie moż-
• XFCE w wersji finalnej 4.6, które zawie- Estetyka na przywrócić stan systemu z dane-
ra wsparcie dla standardu freedesktop.org Mandriva przyzwyczaiła nas już, że każ- go dnia, pod warunkiem, że masz uru-
(które jest używane przez Mandriva), no- de wydanie wiąże się ze zmianami wyglą- chomiony system tworzenia kopii za-
wą konfigurację systemu wraz z kilkoma du. Mandriva ma specyficzną estetykę – mu- pasowych całego systemu. Rozwiąza-
nowymi ustawieniami aplikacji oraz no- szę przyznać, że od samego początku przypa- nie jest w tej chwili intensywnie testo-
wy dźwięk miksera. Mimo że jest mniej dła mi do gustu, ale jest coraz lepiej. W wy- wane.
rozbudowane niż KDE czy GNOME to i
tak pozwala na wykonanie wszystkich co-
dziennych zadań na komputerze.
• LXDE – lekkie środowisko graficzne. Do-
myślnie lekkim środowiskiem jest teraz
LXDE (Lightweight X11 Desktop Envi-
ronment) zamiast icewm. Dostępne jest
we wszystkich dostępnych obrazach ISO.
Szczególnie przydatne dla użytkowników
małych netbooków. Środowisko jest do-
stosowane do ich specyfiki – mniejszej
wydajności oraz ekranów o niewielkich
rozmiarach.

Wybór jest spory i wcale się nie wyklucza.


Każde środowisko można zainstalować w
każdej chwili z internetowych repozytoriów
i używać w zależności od potrzeb.

Hybrydowe ISO
Począwszy od systemu Mandriva Linux 2009
Spring RC1 zastosowano eksperymentalne Rysunek 1. KDE 4.2 w One

6 maj 2009
aktualności
dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl Mandriva

Nowy system • powiadomienia systemu i aplikacji są wy- ści. Użytkownicy mogą instalować Mandri-
bezpieczeństwa Mandrivy – MSEC świetlane w ujednolicony sposób przez va Linux 2009 Spring na partycjach Ext4 po-
Mandriva Security Framework znany ja- tackę systemową, nieważ instalator DrakX zyskał wsparcie tego
ko MSEC został bardzo mocno unowocze- • W celu zaoszczędzenia wolnego miejsca systemu plików.
śniony. Wbudowano system wtyczek, któ- istnieje możliwość ukrycia ikon na tacce
ry umożliwia łatwe rozszerzanie możliwo- systemowej, a panel może być teraz ukry- Kernel 2.6.29 RC 6
ści MSEC. Dodano obsługę AppArmor. Wy- wany automatycznie, W tym wydaniu wykorzystywana jest wer-
posażono go także w nowy interfejs użyt- • nowe narzędzia do zarządzanie energią sja RC 6 jądra 2.6.29. Na stronie Heise On-
kownika. Zadaniem MSEC jest kontrola i za- laptopów, line [1] znajduje się seria artykułów Ker-
rządzanie bezpieczeństwem systemu. Po raz • narzędzia drukowania pozwalają na efek- nel Log na temat nowych funkcji w wersji
pierwszy światło dziennie ujżał w Mandrake tywniejsze zarządzanie zadaniami druko- 2.6.28. Najbardziej widoczne zmiany doty-
8 i był to w owym czasie pierwszy system te- wania. czą obsługi sprzętu, w tym systematyczne
go rodzaju. poprawki w obsłudze wielu urządzeń dźwię-
Zmiany te znacznie zwiększają wygodę korzy- kowych HDA firmy Intel oraz wielu kamer
Ulepszone narzędzia sieciowe stania z komputera. internetowych.
Narzędzia sieciowe Mandrivy zyskały kil- Oprócz poprawy produktywności, sta-
ka ciekawych usprawnień tj. lepsza obsłu- bilności i możliwości samego środowiska Syslinux - HDT
ga 3G, mniejsze zużycie pamięci, możli- twórcy udoskonalili Dolphina, Kmaila i Ko- Zaktualizowano do najnowszej wersji. Sy-
wość edycji ogólnych ustawień sieci (ob- nquerora. slinux 3.73 zawiera kilka nowych funkcji.
sługa Ipv6, skalowanie okna TCP), obsługę Dodano nowy moduł: HDT (Hardware De-
mostkowania ATM dla PPPOE przez mo- Rzut oka pod maskę tection Tool – Narzędzie Detekcji Sprzę-
dem USB xDSL. tu). Moduł ten jest dostępny z menu in-
Obsługa EXT4 stalacji. Po wybraniu opcji z menu będzie
Co nowego w KDE 4.2 Mandriva Linux 2009 Spring obsługuje sys- możliwe wyświetlenie informacji na temat
Najnowsza wersja tego wspaniałego środo- tem plików Ext4 – najnowsza wersja najczę- sprzętu dla komponentów zgodnych z x86
wiska wydaje się być przełomową – pierw- ściej wykorzystywanego w Linuksie syste- takich jak:
sze wrażenia dotyczące stabilności i funk- mu plików Ext3. Ext4 niesie większe zmia-
cjonalności są bardzo obiecujące. Zgodnie ny w stosunku do Ext3 niż Ext3 w stosun- • PCI
z deklaracjami twórców KDE 4.2 powin- ku do Ext2. • DMI
no spełnić oczekiwania większości użyt- W Ext3 największą zmianą było dodanie • CPU
kowników, a to dzięki następującym no- dziennika do Ext2. Jednak Ext4 zawiera waż- • dyski (prace trwają)
wościom: ne modyfikacje w strukturze danych systemu • Syslinux
plików. W rezultacie otrzymaliśmy system pli- • moduły jądra systemu Linux wymagane
• nowe i ulepszone aplety m. in. szybkie- ków oparty na lepszym projekcie, o większej na danym hoście
go uruchamiania, prostego współdzielenia wydajności, niezawodności i funkcjonalno- • środowisko PXE
plików itd.
• tradycyjny pulpit umożliwiający zarzą-
dzanie plikami za pomocą ikon w stylu
KDE 3,
• menedżer zadań na panelu potrafi teraz
grupować zadania oraz posiada tryb wie-
lowierszowy,
• nowa tacka systemowa pozwala śledzić
długo trwające zadania takie jak pobiera-
nie plików,

Rysunek 2. Nowy interfejs MSEC Rysunek 3. KDE 4.2 zainstalowany w Xtreme 3

www.lpmagazine.org 7
opis DVD
DVD

Fedora 10
Tym razem specjalnie dla Was zamieściliśmy na uth zastępujące przestarzałe i wolne RHGB Zmiany dotknęły również instalatora Ana-
naszej płycie długo wyczekiwaną Fedorę 10. oparte o serwer X. Przyspieszono także skryp- conda. Obecnie korzysta on z D-bus, a konfigu-
ty startowe. racja sieci odbywa się poprzez NetworkManage-
Zmiany, aktualizacje, nowości... Fedora została oparta o jądro 2.6.27. Ser- ra. Dodano również narzędzie do automatyczne-
Środowiska graficzne zostały zaktualizowa- wer graficzny doczekał się kilku istotnych go odzyskiwania systemu – First Aid Kit.
ne do najnowszych wersji, Gnome 2.24, KDE zmian. Za obsługę urządzeń wejścia (myszki, Od teraz Fedora 10 potrafi przeszukiwać
4.1.2 oraz użyto w nich schematu graficznego touchpady, klawiatury) odpowiada teraz no- zewnętrzne repozytoria w poszukiwaniu kode-
Solar. Przystosowano także bardzo lekkie śro- wy sterownik xf86-input-evdev który wykry- ków obsługiwanych poprzez GStreamera. In-
dowisko oparte na GTK+, LXDE do pracy w wa i konfiguruje urządzenia w serwerze bez stalując repozytorium RPMFusion i odtwarza-
Fedorze. Do wydania dołączono najnowsze- konieczności restartu. Poza wprowadzeniem jąc kolekcję audio/video odtwarzacz oparty o
go OpenOffice.org 3.0. Wprowadzono rów- sterownik wejścia przeniesiono również cię- GStreamer sam zaproponuje instalację odpo-
nież nowe niskopoziomowe narzędzie służą- żar aktywowania trybu graficznego z serwera wiednich wtyczek.
ce do graficznego ładowania systemu Plymo- X.org do Kernel Modesetting. Bardzo poważnie potraktowano rozwój
popularnej ostatnio wirtualizacji. Narzędzia
wirtualizacyjne lepiej współpracują z SELi-
nuksem. Usprawniono administrację prze-
strzenią dyskową maszyn wirtualnych, którą
można zarządzać zarówno dla maszyn lokal-
nych jak i zdalnych. Możliwa stała się także
zdalna instalacja na maszynie wirtualnej.
Programiści również znajdą coś dla siebie.
Zaktualizowano Eclipse Fedory do wersji 3.4
oraz dodano NetBeans IDE.
Inne ważne zmiany w systemie to:

• udostępnianie połączenia bezprzewodowe-


go ad hoc za pomocą NetworkManagera;
• usprawniona konfiguracja i obsługa urzą-
dzeń drukujących, ulepszenie narzędzi za-
rządzających systemem drukowania;
• zarządzanie przestrzenią dyskową maszyn
wirtualnych zostało uproszczone;
• wprowadzono narzędzie SecTool, którego
zadaniem jest audyt bezpieczeństwa oraz
system detekcji intruzów;
• zaktualizowano RPM do wersji 4.6;
• usprawniono wydajność PulseAudio po-
przez przepisanie plannera audio;
• ulepszono obsługę kamer internetowych;
• ulepszono wsparcie dla zdalnego sterowa-
nia za pomocą podczerwieni
• ścieżki /usr/local/sbin:/usr/sbin:/sbin zo-
stały dodane do PATH dla normalnych
użytkowników co usprawnia administra-
cję poprzez konta zwykłych użytkowni-
ków.

Więcej informacji znajdziecie na stronach pro-


jektu Fedora:

• http://fedoraproject.org/wiki/Releases/10/
ReleaseSummary
• https://fedoraproject.org/wiki/Tours
• http://fedoraproject.org/wiki/Releases/10/
FeatureList

8 maj 2009
opis DVD
DVD

Getting Started with Linux: Novell's Guide to CompTIA's Linux+


Kurs Wstęp do linuksa: przewodnik Novella do • lokalizowanie i używanie zasobów pomo- Wymagana
CompTIA poświęca uwagę podstawowym umie- cy w systemie Linux; wiedza podstawowa/wstępna
jętnością jakie są niezbędne do wykonywania • używanie narzędzia administracyjnego Zanim rozpoczniesz ten kurs sugerujemy byś
czynności administracyjnych w systemie SUSE YaST do administracji systemem; zdobył trochę doświadczenia w pracy z system
LINUX Enterprise Server 9 (SLES 9). Zakres • zarządzanie plikami i folderami w syste- Linux w wersji Desktop lub Serwer w pełnym
materiału zamieszczony w tym kursie pokrywa mie Linux; środowisku komputerowym (takim jak przed-
cele podane przez CompTIA dla egzaminu Li- • pracowanie w powłoce systemu linux siębiorstwo lub otoczenie akademickie).
nux+. W celu adekwatnego przygotowania się oraz edytowanie plików tekstowych;
do egzaminu powinieneś przeczytać podręcznik • używanie interfejsu poleceń w celu admi- Plan zajęć
i przećwiczyć zawarte w nim ćwiczenia. Zdol- nistracji systemem; Stosując się do planu działania z Tabeli 1,
ności nabyte dzięki temu kursowi, oraz te naby- • zrozumienie procesów, zadań i poziomów zrobienie kursu nie powinno zająć Ci wię-
te w kursach SUSE Linux Enterprise Server 10 wykonywania w systemie Linux; cej niż 5 dni.
Administration (3072) (Administracja) oraz SU- • zarządzanie ustawieniami sieci;
SE Linux Enterprise Server 10 Advanced Admi- • zarządzanie usługami sieciowymi; Certyfikaty Novell Linux
nistration (3073) (Zaawansowana Administra- • zarządzanie bezpieczeństwem; Ten kurs pozwala ci na przygotowanie się na eg-
cja) przygotują cię do wzięcia udziału w teście • podstawy sprzętowe. zamin praktyczny Novell Certified Linux Pro-
praktycznym w celu uzyskania certyfikatu No- fessional 10 (CLP 10). Certyfikat ten jest wy-
vell Certified Linux Professional (Novell CLP) Zrozumienie tych założeń jest niezbędne magany by móc ubiegać się o wyższy poziom
w celu nauczenia się zdolności niezbęd- certyfikatu Novell CLE 10. By móc go uzyskać
Cele kursu nych dla średnio-zaawansowanego admi- musisz najpierw uzyskać Novell CLP 10 .
Niniejszy kurs uczy następujących zdolności oraz nistratora systemu Linux lub pracownika Egzamin praktyczny Novell CLP 10 jest
koncepcji będących podstawą zrozumienia syste- pomocy technicznej w środowisku przed- oparty na scenariuszach podczas realizacji któ-
mu SUSE Linux Enterprise Server 9 (SLES 9): siębiorstwa. rych masz zastosować zdobytą wiedzę by roz-
wiązać problem spotykany w codziennym ży-
• podstawy linuksa oraz instalacji SLES 9; Zamierzona ciu – demonstrując tym samym iż rozumiesz
• używanie linuksa; publika/słuchacze/audytorium co trzeba zrobić i jak należy to zrobić. Oprócz
Kurs skierowany jest do studentów przygoto- celów omawianych w niniejszym kursie egza-
wujących się do egzaminu CompTIA Linux+. min ten sprawdza również twoją znajomość z
YaST Aktualni kandydaci do uzyskania statusu certy- zagadnień omawianych w następujących kur-
YaST jest integralną częścią systemu SU- fikowanych inżynierów Novella (Novell CNE) sach:
SE, dlatego też jest o tym wspomniane w z doświadczeniem w innych systemach opera-
różnych częściach kursu – jednakże na cyjnych mogą również skorzystać z tego kur- • SUSE Linux Enterprise Server Admini-
egzaminie CompTIA Linux+ nie ma żad- su w celu przygotowania się do egzaminu prak- stration (Course 3072)
nych pytań z nim związanych. tycznego Novell CLP (Certified Linux Profes- • SUSE Linux Enterprise Server Advanced
sional). Administration (Course 3073)
Tabela 1. Plan zajęć
Sekcja Dzień Czas
(hh:mm)
Wprowadzenie 1 00:30
Podstawy Linuxa i instalacja SLES 9 1 02:00
Używanie systemu Linux 1 00:45
Lokalizacja i używanie zasobów pomocy systemu Linux 1 00:45
Używanie narzędzia YaST do administracji systemem 1 02:00
Zarządzanie plikami i katalogami w systemie Linux 2 03:00
Praca z powłoką systemu Linux oraz edytowanie plików tekstowych 2 03:00
Używanie interfejsu poleceń do zarządzania systemem 3 04:00
Procesy, zadania i poziomy uruchomień w systemie Linux 3 02:00
Zarządzanie ustawieniami sieciowymi 4 02:00
Zarządzanie usługami sieciowymi: DNS, udostępnianie plików i drukarek 4 02:00
Zarządzanie usługami sieciowymi: NIS, poczta oraz xinetd 4 02:00
Zarządzanie zabezpieczeniami 5 03:00
Podstawy sprzętowe 5 02:00

www.lpmagazine.org 9
Rozwiązania
Po co komu LDAP?

LDAP
– idea, główne pojęcia, konfiguracja i testowanie
Janusz Bielec

Artykuł ten jest pierwszą częścią cyklu poświęconego OpenLDAP. Poszczególne części dotyczyć będą
następujących obszarów – idei i głównych pojęć, konfiguracji oraz testowania, bezpieczeństwa
w OpenLDAP, OpenLDAP-u jako źródła informacji oraz źródła uwierzytelnienia. OpenLDAP-u w praktyce
administracyjnej – tutaj weźmiemy pod uwagę m.in. sambę, postfix, apache.

P
rzez wiele lat w patrzeniu na LDAP (Lightweight ny, traktowany powierzchownie, a przede wszystkim nie-
linux@software.com.pl

Directory Access Protocol) przez pryzmat linuk- rozumiany. A przecież jest to najlepsze rozwiązanie proble-
sa dominowało podejście, które można określić po- mu uwierzytelnienia w sieciach heterogenicznych, w których
krótce: ja i mój komp. Usługi katalogowe, dla zde- mamy komputery z różnymi systemami operacyjnymi. Dzię-
cydowanej większości użytkowników systemów open source ki LDAP możemy łatwo uporządkować zarządzanie kontami
jawiły się jako niepotrzebne, a przede wszystkim obce. użytkowników, maszyn etc. W przypadku wirtualnych skrzy-
W myśleniu tym nie ma nic dziwnego, usługi katalogo- nek pocztowych nie musimy wprowadzać dodatkowej ba-
we były rozwijane w organizacjach zhierarchizowanych, jak zy kont czy aliasów. Bazę LDAP możemy wykorzystać ja-
wojsko, albo rozbudowanych korporacjach. W organizacjach ko bazę adresów e-mail, źródło uwierzytelnienia dla Radiusa,
tych potrzeba porządkowania relacji jest bardzo silna, nato- samby, systemów pocztowych... to tylko kilka przykładów.
miast Linux stał się ikoną ruchu wolnego oprogramowania. LDAP jest praktycznie niezastąpiony tam, gdzie potrzebne
To dwa różne światy... są rozbudowane systemy uprawnień, np. w dużych organiza-
Jednak w ciągu ostatnich kilku lat Linux przestał być po- cjach gdzie działają systemy pracy grupowej
strzegany, jako system, na którym informatycy stawiali so-
bie na zapleczu serwer WWW, albo pocztę. Jest ważnym ele- DNS i LDAP – cechy wspólne
mentem biznesu informatycznego. Wiele czołowych firm in- Najpopularniejszą bazą hierarchiczną jest DNS Doma-
formatycznych traktuje linuksa, jako jedną z równorzędnych in Name System (System Nazw Domenowych). Przypatrz-
platform uruchamiania swoich usług. O wyborze platformy my się bliżej strukturze DNS – pozwoli nam to łatwiej zro-
coraz częściej decyduje klient. zumieć pojęcia używane w opisie LDAP, ze względu na roz-
Czy w takim razie zmieniło się w ciągu tych lat patrze- liczne analogie. Na szczycie struktury znajduje się 13 głów-
nie na usługi katalogowe na platformie linuksowej? Moim nych serwerów (root servers) obsługujących domeny naj-
zdaniem zmiany są kosmetyczne. LDAP jest niedocenia- wyższego poziomu (TLD – top level domains). Zagłębiając

10 maj 2009
Rozwiązania
Po co komu LDAP?

się w strukturę możemy dostrzec domeny (np. OID. Wpisując np. 1.3.6.1.4.1.23 jako ba- robocza może wtedy odpytywać AD czy eDi-
edu.pl), w obrębie których możemy dostrzec zową część OID-u dostajemy informację, rectory o adres IP czy inne właściwości kon-
poddomeny (np. uj.edu.pl), hosty rzeczywiste że została ona zarezerwowana przez fir- kretnego hosta.
(np. www.uj.edu.pl) i wirtualne (np. www.in- mę Novell.
ib.uj.edu.pl). Te pierwsze ograniczone są na- LDAP – budowanie struktury
szymi możliwościami przydziału adresów IP, Organizacja Internet Assigned Number Autho- Wspomnieliśmy już o klasach obiektów oraz
te drugie stanowią dowiązania do tych pierw- rity jest dodatkowym punktem zbieżności DNS ich unikatowym opisie za pomocą OID-ów. Jak
szych – możemy to wszystko sprawdzić pole- i LDAP, odpowiada bowiem za główne serwe- to się odbywa? Otóż wykorzystuje się do tego
ceniem dig. W bazach DNS mamy także do- ry nazw. tekstowe pliki opisujące grupę konsystentnych
datkowe informacje, np. dotyczące poczty dla DNS to jakby przypadek szczególny obiektów. Taki opis jest określany mianem
domeny. LDAP i hosty w sieci mogą być opisane w ba- ,schema. Weźmy konkretny przykład. Podsta-
DNS to nie tylko pliki z opisem rekor- zie LDAP. Takie rozwiązania istnieją od wielu wowym plikiem tego typu jest core.schema. Na
dów. Częścią DNS jest także protokół komu- lat , np. Active Directory czy eDirectory. Stacja początku pliku znajdziemy istotne informacje
nikacyjny opisujący sposób łączenia się klien-
tów z serwerami DNS oraz zalecenia dotyczą- Listing 1. Odwołania do RFC w pliku core.schema
ce sposobu aktualizacji wpisów w bazach do- # RFC 2252/2256 (LDAPv3)
men internetowych. Wypunktujmy teraz istot- # Select standard track schema items:
ne cechy DNS: # RFC 1274 (uid/dc)
# RFC 2079 (URI)
• abstrakcyjny wierzchołek (top), który speł- # RFC 2247 (dc/dcObject)
nia rolę porządkującą; # RFC 2587 (PKI)
• kontenery (domeny), które mogą zawierać ....
obiekty o konkretnych atrybutach (np. ho-
sty o konkretnym adresie IP) albo dalsze Listing 2. Definicja simpleSecurityObject w tymże pliku
kontenery (poddomeny); objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
• sformalizowany opis poszczególnych DESC 'RFC1274: simple security object'
obiektów w rekordach różnego typu; SUP top AUXILIARY
• system zapewnienia unikatowości nazwy MUST userPassword )
– uzyskiwane to jest przez formalną dele-
gację obsługi domen. Listing 3. Definicja inetOrgPerson
# inetOrgPerson
Te cechy możemy dostrzec także w bazach objectclass ( 2.16.840.1.113730.3.2.2
LDAP. Zresztą strukturę DNS-u można by pro- NAME 'inetOrgPerson'
sto zbudować w bazie LDAP. Jednak LDAP zo- DESC 'RFC2798: Internet Organizational Person'
stał stworzony z zamiarem opisywania różnego SUP organizationalPerson
typu obiektów, więc sensowniej jest tu mówić o STRUCTURAL
klasach obiektów: MAY ( audio $ businessCategory $ carLicense $ departmentNumber $
displayName $ employeeNumber $ employeeType $ givenName $
• klasa obiektów abstrakcyjnych – służy homePhone $ homePostalAddress $ initials $ jpegPhoto $
ona zasadniczo do wprowadzania innych labeledURI $ mail $ manager $ mobile $ o $ pager $
obiektów; photo $ roomNumber $ secretary $ uid $ userCertificate $
• klasa obiektów strukturalnych – definiują x500uniqueIdentifier $ preferredLanguage $
one jakie typu wpisy będą zawierać rekor- userSMIMECertificate $ userPKCS12 ) )
dy. Te obiekty nie zmieniają się podczas
edycji, są kośćcem szkieletu; Listing 4. Prosty sposób sprawdzenia, jakie programy narzędziowe zawiera pakiet openldap-servers
• klasa obiektów dodatkowych – mają one #_ rpm -ql openldap-servers | grep bin
za zadanie rozbudowywać opis bez naru- /usr/sbin/slapacl
szania obiektów strukturalnych; /usr/sbin/slapadd
• unikatowość nazw – została w LDAP ........
osiągnięta przez wprowadzenie OID-ów /usr/sbin/slapindex
(Object Identifier Definitions). OID to /usr/sbin/slappasswd
sekwencja liczb całkowitych oddzielo- /usr/sbin/slaptest
nych kropkami. Składają się z części ba- Podobnie dla pakietu klienckiego:
zowej, określenia typu oraz określenia #_ rpm -ql openldap-clients | grep bin
obiektu. Część bazowa jest przydzielana /usr/bin/ldapadd
przez Internet Assigned Number Autho- ...........
rity (IANA). Na stronie: http://www.oid- /usr/bin/ldapsearch
info.com/get/ możemy wyszukać kto za- /usr/bin/ldapwhoami
rezerwował odpowiednią część bazową

www.lpmagazine.org 11
Rozwiązania
Po co komu LDAP?

dodatkowe podane w zakomentowanych wier- Plik wskazuje na konkretne dokumenty dzanych obiektów, ale ich definicja na potrzeby
szach tak jak na Listingu 1. RFC, w których możemy znaleźć opis wprowa- bazy LDAP jest zawarta w naszym pliku. Popa-
trzmy na Listing 2.
Listing 5. W bazie RPM zawarte są także informacje o plikach konfiguracyjnych poszczególnych pakie- Mamy tu wprowadzony obiekt o nazwie
tów oprogramowania simpleSecurityObject, należący do klasy
#_ rpm -qc openldap-servers obiektów dodatkowych, którego jedynym wy-
/etc/logrotate.d/ldap maganym atrybutem jest userPassword.
/etc/openldap/schema/local.schema Proszę zwrócić uwagę na OID. Sprawdź-
/etc/openldap/slapd.access.conf my, czy jest on poprawny, tzn. na jaką organizację
/etc/openldap/slapd.conf wskazuje w tym przypadku baza organizacji IA-
/etc/rc.d/init.d/ldap NA. Na stronie http://www.alvestrand.no/objectid/
/etc/sysconfig/ldap 0.9.html możemy znaleźć, że OID-y z częścią ba-
/var/lib/ldap/DB_CONFIG zową 0.9.2342 zostały zarezerwowane na potrzeby
RFC. Oznacza to, że zdefiniowane w core.schema
Listing 6. Bardzo istotne wiersze konfiguracji OpenLDAP: typ bazy, umiejscowienie, nazwa konta zarzą- obiekty mogą być wykorzystywane do różnych
dzającego i~stowarzyszone z nim hasło zastosowań i na różnych platformach bez ryzyka
database bdb konfliktu opisu, czy problemów prawnych. W od-
suffix "dc=example,dc=com" wołaniech do obiektu możemy użyć zarówno je-
rootdn "cn=Manager,dc=example,dc=com" go nazwy, jak i OID-u. Oprócz core.schema także
rootpw {crypt}ijFYNcSNctBYg pliki: cosine.schema oraz inetorgperson.schema są
traktowane jako standardowe. Zawierają one naj-
Listing 7. Gdzie zdefiniowany jest „dc”... częściej wykorzystywane obiekty. Np. inetorgper-
#_ grep dc /usr/share/openldap/schema/* son.schema zawiera opis obiektu inetOrgPerson
. . . . . . . . . zaprezentowany na Listingu 3.
/usr/share/openldap/schema/core.schema~: NAME ( 'dc' Obiekt typu inetOrgPerson jest bardzo
'domainComponent' ) często wykorzystywany ponieważ umożliwia
/usr/share/openldap/schema/core.schema~:objectclass ( 1.3.6.1.4.1.1466.344 (pole MAY) określenie wielu danych przydatnych
NAME 'dcObject' w zarządzaniu ludźmi natomiast nie zmusza do
. . . . . . . . . wpisywania dodatkowych informacji (puste, a
właściwie brak pola MUST). Ogólnie przy budo-
Listing 8. Co to jest ,,cn''? wie struktury takie klasy obiektów, które posze-
attributetype ( 2.5.4.3 NAME ( 'cn' 'commonName' ) rzają możliwość opisu nie zmuszając do wpisy-
DESC 'RFC2256: common name(s) for which the entity is known by' wania zbędnych informacji, są mile widziane.
SUP name ) Dla naszego wywodu ważne jest jednak to, że
do każdego obiektu znajdziemy opis w plikach
Listing 9. Generowanie hasła na potrzeby OpenLDAP schem i wskazanych dokumentach RFC.
#_ slappasswd
New password: LDAP –
Re-enter new password: implementacja OpenLDAP
{SSHA}iXMvNmiaBzKSCd+R6gXvlTEc7Qfwf1ZA Podstawą tej, powszechnie dostępnej, implemen-
tacji jest serwer LDAP (Standalone demon ldap
Listing 10. Przykładowy plik struktura.ldiff czyli slapd). Jest to centralna część projektu, ale
dn: dc=firma,dc=pl jego nieodłącznymi częściami są odpowiednie bi-
description: To nasza firma blioteki wraz z API umożliwiającym pisanie wła-
dc: firma snego oprogramowania na bazie slapd bez ko-
o: Firma nieczności grzebania w jego kodzie źródłowym
objectClass: top oraz zestaw programów klienckich i narzędzi li-
objectClass: dcObject nii poleceń. Rysunek 2 pokazuje schematycznie
objectClass: organization te zależności. Proszę zwrócić uwagę, że narzędzia
klienckie zgodnie z nazwą działają w architektu-
Listing 11. Miejsce, gdzie określono, że dla ,,dc'' powinniśmy podać pojedynczą wartość rze klient-serwer wykorzystując protokół ldap czy
# RFC 1274 + RFC 2247 ldaps natomiast narzędzia typu slapcat pozwalają
attributetype ( 0.9.2342.19200300.100.1.25 na bezpośredni dostęp do danych. Diagram wska-
NAME ( 'dc' 'domainComponent' ) zuje także na pliki konfiguracyjne, które wpływa-
DESC 'RFC1274/2247: domain component' ją na zachowanie serwera i narzędzi.
EQUALITY caseIgnoreIA5Match OpenLDAP wykorzystuje jako silnik ba-
SUBSTR caseIgnoreIA5SubstringsMatch zy danych różne technologie, najczęściej jest
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) to Berkeley Data Base czyli BDB. Dla dużych
baz informacyjnych sensowne jest wykorzysta-

12 maj 2009
Rozwiązania
Po co komu LDAP?

nie odmiany optymalizowanej pod hierarchicz-


Listing 12. Definicja objectclass organization
ne bazy danych, czyli HDB.
objectclass ( 2.5.6.4 NAME 'organization'
OpenLDAP okiem administratora DESC 'RFC2256: an organization'
Testowałem OpenLDAP na kilku dystrybucjach SUP top STRUCTURAL
Linuksa oraz na FreeBSD. Do opisu wybrałem MUST o
popularną dystrybucję Mandriva. Myślę, że wy- MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
bór jest w miarę uniwersalny ponieważ istnieją x121Address $ registeredAddress $ destinationIndicator $
silne związki Mandrivy z RedHatem, a z kolei preferredDeliveryMethod $ telexNumber $ teletexTerminalIde
użytkownicy SuSE znajdą silne oparcie w narzę- ntifier $
dziu YAST. Z drugiej jednak strony wybór dys- telephoneNumber $ internationaliSDNNumber $
trybucji jest sprawą drugorzędną, chociaż wła- facsimileTelephoneNumber $ street $ postOfficeBox $
śnie Mandriva, pomimo często przyprawianej postalCode $
jej opinii dystrybucji typowo desktopowej, ma postalAddress $ physicalDeliveryOfficeName $ st $ l $
bardzo bezpieczną konfigurację domyślną de- description )
monów sieciowych. Ale do rzeczy. Ta część ar- )
tykułu jest pomyślana, jako wyjaśnienia do pra-
cy przy konsoli administracyjnej! Poleceniem: Listing 13. Przeszukiwanie bazy LDAP

#_ urpmi ldap-servers ldap-clients #_ ldapsearch -x -W -D "cn=Admin,dc=firma,dc=pl" -b "dc=firma,dc=pl"


Enter LDAP Password:
instaluję potrzebne pakiety. Początkowy hash # extended LDIF
wskazuje tu na linię komend. Mogę sprawdzić #
jakie programy zawierają zainstalowane pakie- ..........
ty – Listing 4. Dla pewności sprawdźmy jesz- dn: dc=firma,dc=pl
cze pliki konfiguracyjne – Listing 5. description: To nasza firma
Na pierwszy rzut oka trochę tego dużo, ale dc: firma
pierwszy z nich służy do zarządzania dzienni- o: Firma
kami, dwa inne tworzą skrypt startowy a ostat- objectClass: top
ni określa konfigurację bazy BDB na potrze- objectClass: dcObject
by OpenLDAP. Te pliki mogą w pewnej mie- objectClass: organization
rze zależeć od dystrybucji, ale okażemy im na
początku odrobinę zaufania, natomiast prze- # search result
analizujemy pliki z /etc/openldap, tzn. /etc/ ..........
openldap/schema/local.schema, /etc/openldap/
slapd.access.conf, /etc/openldap/slapd.conf. Listing 14. Przykładowy plik z definicja jednostek organizacyjnych

#_ cat /etc/openldap/schema/ #Definicja jednostek organizacyjnych


local.schema dn: ou=Marketing,dc=firma,dc=pl
# This is a good place to put your ou: Marketing
schema definitions description: Grupa handlowa
objectClass: organizationalUnit
Widać, że local.schema może się przydać do-
piero w przyszłości. Zajmijmy się więc głów- dn: ou=Finanse,dc=firma,dc=pl
nym plikiem konfiguracyjnym: /etc/openldap/ ou: Finanse
slapd.conf. description: Grupa finansowa
objectClass: organizationalUnit
include /usr/share/openldap/schema/
core.schema dn: ou=Produkcja,dc=firma,dc=pl
include /usr/share/openldap/schema/ ou: Produkcja
cosine.schema description: Ludzie na Produkcji
objectClass: organizationalUnit
To oczywisty fragment – wczytywane są pliki z
definicjami obiektów. dn: ou=IT,dc=firma,dc=pl
ou: IT
include /etc/openldap/schema/ description: Informatycy
local.schema objectClass: organizationalUnit
include /etc/openldap/
slapd.access.conf

www.lpmagazine.org 13
Rozwiązania
Po co komu LDAP?

Wczytywane są dodatkowe pliki konfiguracyj- i skupmy się na ostatnich czterech wierszach. ma, cosine.schema oraz inetorgperson.schema
ne. Jest to raczej zabieg organizacyjny ułatwia- Określają one po pierwsze silnik bazy danych, znajdziemy tam definicję tego obiektu – Li-
jący grupowanie pewnych opcji i nie ma dodat- którą będzie wykorzystywał OpenLDAP, jej sting 7.
kowego znaczenia. abstrakcyjne umiejscowienie oraz obiekt wy- Jak widać dc to atrybut obiektu domain-
korzystywany do zarządzania budowanym ka- Component i zdefiniowany jest w core.schema.
pidfile /var/run/ldap/slapd.pid talogiem i hasło wymagane do jego uwierzytel- Mamy jeszcze atrybut cn – Listing 8.
argsfile /var/run/ldap/ nienia. Proszę zwrócić uwagę, że obiekt, któ- Pozostała nam fraza „rootdn” = "cn=Ma-
slapd.args ry będzie właścicielem katalogu, jest tworzo- nager,dc=example,dc=com" Otóż dn to skrót
modulepath /usr/lib64/openldap ny przez wpis w pliku konfiguracyjnym, inne od Distinguished Name – nazwa wyróżnial-
# database backend modules available: obiekty będą istniały już w samej bazie. Niekie- na. Oznacza to unikatową nazwę, która jed-
#moduleload back_dnssrv.la dy wyjątkiem jest obiekt używany do replikacji noznacznie identyfikuje obiekt w bazie LDAP.
#moduleload back_ldap.la katalogu, a to z tego powodu, że pozwala po- Fraza dn używana jest w różnych zbitkach: ro-
brać replikę do pustej bazy – Listing 6. otdn – nazwa wyróżnialna obiektu tworzącego
Informacja o położeniu pliku, w którym zapisa- Jednak aby zrozumieć co oznaczają po- katalog, binddn – nazwa wyróżnialna używana
ny jest numer procesu oraz informacja o dodat- szczególne określenia musimy jeszcze pew- do podłączenia się klienta do bazy, etc.
kowych modułach ładowanych podczas star- ne terminy wyjaśnić. Otóż suffix wskazuje Umiejscowienie wierzchołka struktury
tu... Pomińmy na razie kwestie certyfikatów na obiekty „dc”. Sprawdźmy co to za obiekt, katalogu LDAP w punkcie typu: dc=firma-
TLS oraz dostępu do poszczególnych obiektów i czy odwołując się tylko do plików: core.sche- ,dc=pl jest wygodne, wiele automatycznych
instalacji sugeruje takie rozwiązanie (np.
Listing 15. Sprawdzenie, czy plik ou.ldiff został poprawnie zaimportowany. Powinny tu być widoczne Yast), ale ogólnie chodzi o to, że na szczycie
wszystkie obiekty i atrybuty zdefiniowane we wczytywanym pliku struktury musi się znaleźć obiekt typu kon-
# ldapsearch -x -W -LLL -D "cn=Admin,dc=firma,dc=pl" "ou=*" tener i wybór powinien być przemyślany.
Ponieważ firma wprowadzająca usługi ka-
Enter LDAP Password: talogowe z reguły dysponuje jakąś domeną
dn: ou=Marketing,dc=firma,dc=pl to takie rozwiązanie często bywa sensowne
ou: Marketing bo stanowi odwołanie się do istniejącej już
description: Grupa handlowa struktury. Wykorzystamy więc tę sugestię w
objectClass: organizationalUnit naszych eksperymentach.
........... Przyjmijmy, że suffix = dc=firma,d-
c=pl a rootdn = cn=Admin,dc=firma,dc=pl
Listing 16. Przykładowy plik definiujący konta użytkowników i sprawdźmy, czy nasza konfiguracja jest po-
dn: uid=kuba,ou=IT,dc=firma,dc=pl prawna.
ou: IT
uid: kuba #_ slaptest -v -f /etc/openldap/
sn: Kowalski slapd.conf
cn: Kuba Kowalski config file testing succeeded
givenName: Kuba
displayName: Kuba Kowalski Zadbajmy teraz o porządne hasło dla obiek-
mail: kubak@firma.pl tu rootdn – Listing 9. Zapiszmy je w pliku
userPassword: {SSHA}t8lz47CuWX7LYvhlbAv+5SWoh9QjwvMS slapd.conf.
# to co powyżej uzyskujemy slappasswd
objectClass: person rootpw {SSHA}iXMvNmiaBzKSCd+R6gXvlTE
objectClass: organizationalPerson c7Qfwf1ZA
objectClass: inetOrgPerson
Teraz mogę uruchomić serwer ldap:
dn: uid=jas,ou=IT,dc=firma,dc=pl
ou: IT #_ /etc/init.d/ldap start
uid: jas
sn: Nowak Polecenie:
cn: Jan Nowak
givenName: Jan #_ netstat -vat
displayName: Jan Nowak
mail: jasn@firma.pl powinno uwidocznić otwarte porty ldap (389)
userPassword: {SSHA}Nyw9uBC4pkWg18iGa/CgTD9/FN+K5hcc oraz ldaps (636). Jeżeli tak jest, możemy zabrać
# to co powyżej uzyskujemy slappasswd się do przygotowania struktury.
objectClass: person
objectClass: organizationalPerson Struktura wzorcowa
objectClass: inetOrgPerson Przygotujmy wzorcowy plik struktura.ldiff o
następującej zawartości – Listing 10.

14 maj 2009
Rozwiązania
Po co komu LDAP?

Dlaczego podajemy tylko dc: firma, a nie


Listing 17. Zależność pomiędzy „person”, „organizationalPerson” i „InternetOrganizationalPerson”
obydwa komponenty, tzn. dc: firma, dc: pl?
Otóż zerkając do opisu dcObject znajdziemy, iż objectclass ( 2.5.6.6 NAME 'person'
powinna być podana pojedyncza wartość ,dc. DESC 'RFC2256: a person'
tak ja na Listingu 11. SUP top STRUCTURAL
Skąd to wynika? Otóż zamysł jest taki, że MUST ( sn $ cn )
za wyżej położony katalog być może odpowia- MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
da inna baza i będzie możliwość dołączenia się
do takowej, przynajmniej nie jest blokowana. objectclass ( 2.5.6.7 NAME 'organizationalPerson'
Popatrzmy jeszcze na objectClass: organi- DESC 'RFC2256: an organizational person'
zation – Listing 12. SUP person STRUCTURAL
Wymaga ona tylko jednego atrybutu, po- MAY ( title $ x121Address $ registeredAddress $ destinationIndicator $
dania nazwy ,o:, ale umożliwia podanie wie- preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
lu innych atrybutów opisujących firmę. Wyda- telephoneNumber $ internationaliSDNNumber $
je się, że nasz wzorcowy plik jest poprawny. W facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
takim razie możemy go wykorzystać do budo- postalAddress $ physicalDeliveryOfficeName $ ou $ st $ l ) )
wy struktury. Poleceniem:
objectclass ( 2.16.840.1.113730.3.2.2
#_ ldapadd -x -D "cn=Admin,dc=firma,dc NAME 'inetOrgPerson'
=pl" -W -f struktura.ldiff DESC 'RFC2798: Internet Organizational Person'
Enter LDAP Password: SUP organizationalPerson
adding new entry "dc=firma,dc=pl" STRUCTURAL
MAY (
wprowadzamy dane z pliku do struktury ba- audio $ businessCategory $ carLicense $ departmentNumber $
zy LDAP. displayName $ employeeNumber $ employeeType $ givenName $
Przeanalizujmy składnię tego polecenia: homePhone $ homePostalAddress $ initials $ jpegPhoto $
labeledURI $ mail $ manager $ mobile $ o $ pager $
• -x oznacza, że hasło jest przesyłane otwar- photo $ roomNumber $ secretary $ uid $ userCertificate $
tym tekstem. W przypadku Mandrivy au- x500uniqueIdentifier $ preferredLanguage $
tomatycznie tworzone są certyfikaty TLS, userSMIMECertificate $ userPKCS12 )
ale w innych dystrybucjach trzeba je utwo- )
rzyć. Bezpieczeństwo LDAP będzie jedna-
kowoż opisane w odrębnym artykule, w Listing 18. W katalogu /var/lib/ldap/ mamy pliki bazy BDB, w których zawarte są informacje bazy LDAP
którym omówimy także tworzenie certy- #_ ll /var/lib/ldap/
fikatów; -rw-r--r-- 1 ldap ldap 2048 2009-03-08 17:19 alock
• -D to wskazanie na Distinguished Name . . . . . . . . . . . . . . . .
(binddn) obiektu, który łączy się do bazy; -rw------- 1 ldap ldap 8192 2009-03-08 17:24 uid.bdb
• -W wymusza interaktywne przesłanie ha-
sła; Listing 19. Po usunięciu plików z katalogu /var/lib/ldap/ serwer LDAP posiada tylko informacje zawarte w
• -f wskazuje na plik, który ma zostać wy- pliku konfiguracyjnym
korzystany do budowy czy rozszerzenia #_ ldapsearch -x -W -D "cn=Admin,dc=firma,dc=pl"
struktury. Enter LDAP Password:
# extended LDIF
Polecenie z Listingu 13 nie powinno już spra- .......
wiać problemów. search: 2
Dodając -LLL pozbędziemy się dodatko- result: 32 No such object
wych informacji: # numResponses: 1

#_ ldapsearch -x -W -LLL -D "cn=Admin


,dc=firma,dc=pl" -b "dc=firma,dc=pl"
���
������������������
Jeszcze bardziej możemy ułatwić sobie pracę
edytując plik /etc/openldap/ldap.conf. Proszę
nie ruszać pliku /etc/ldap.conf ponieważ jego
rola jest zupełnie inna. Dopiszmy więc dwa na- ������� ������������ ��������������������
stępujące wiersze: ������������������ ������������������ ��������������������������

BASE dc=firma,dc=pl
HOST localhost Rysunek 1. Relacja pomiędzy obiektami strukturalnymi a dodatkowymi

www.lpmagazine.org 15
Rozwiązania
Po co komu LDAP?

i możemy uprościć poprzednie polecenie wpi- LDAP jest wrażliwy na literówki, zdarza się Jeżeli widzimy tam nasze wpisy, będziemy mo-
sując poniższy kod: podanie kropki zamiast przecinka, etc. Dlate- gli je z powrotem odtworzyć. Usuńmy pliki ba-
go sprawdźmy najpierw czy nasz plik jest po- zy danych.
#_ ldapsearch -x -W -LLL -D "cn=Admin prawny.
,dc=firma,dc=pl" #_ rm -rf /var/lib/ldap/*
#_ slapadd -v -u -c -f /etc/openldap/
Rozbudowa struktury slapd.conf -l ludzie-it.ldiff Restartujmy serwer LDAP
Firmy mają często bardzo rozbudowaną struk-
turę organizacyjną. Popatrzmy na podstawowe Jeżeli plik jest poprawnie zbudowany rozbuduj- #_ /etc/init.d/ldap restart
obiekty przydatne do opisu rzeczywistości fir- my katalog LDAP w znany już nam sposób.
mowej. I sprawdźmy zawartość bazy LDAP – Listing
#_ ldapadd -x -v -D "cn=Admin,dc=firma 19. Właściwie nie ma tu żadnych obiektów. Mo-
Jednostki organizacyjne ,dc=pl" -W -f ludzie-it.ldiff żemy teraz wczytać nasz plik all.ldif standardo-
Załóżmy, że nasza firma ma kilka działów: mar- wym poleceniem.
keting, finanse, produkcję oraz dział informa- Sprawdźmy teraz naszą bazę.
tyki. W jaki sposób możemy to uwzględnić w #_ ldapadd -x -v -D "cn=Admin,dc=firma
LDAP? Wykorzystajmy do tego objectClass #_ ldapsearch -x -W -LLL -D "cn=Admin ,dc=pl" -W -f all.ldiff
organizationalUnit. Stwórzmy plik ou.ldiff ,dc=firma,dc=pl"
zawierający zapis jak na Listingu 14. Wczytaj- Jeżeli nic się nam po drodze nie udało sknocić
my przygotowany plik: Szybki backup LDAP (np. nadpisać plik all.ldiff) baza powinna zo-
Serwer LDAP działa w systemie linuksowym z stać odtworzona. Czytelnikowi pozostawiam
#_ ldapadd -x -D "cn=Admin,dc=firma,dc uprawnieniami specjalnie utworzonego konta: sprawdzenie.
=pl" -W -f ou.ldiff
#_ grep ldap /etc/passwd Backup inaczej
i sprawdźmy czy informacja została umiesz- ldap:x:80:422:system user for Dociekliwy czytelnik zapewne zwrócił uwagę,
czona w katalogu – Listing 15. openldap:/var/lib/ldap:/bin/false że w katalogu /var/lib/ldap zawarte są wszyst-
kie pliki bazy BDB, to znaczy plik konfigu-
Ludzie Widzimy tutaj, że /var/lib/ldap jest katalogiem racyjny, pliki indeksów, dzienniki transakcji.
Dodajmy teraz choćby jednego informatyka domowym tego użytkownika. W tym katalogu Oznacza to, że skopiowanie tych plików w in-
do jednostki organizacyjnej IT. Plik, dajmy na znajdziemy pliki bazy – Listing 18. Zapiszmy ne miejsce można traktować jako kopię bezpie-
to ludzie-it.ldiff mógłby mieć postać jak na Li- wyniki wyszukiwania w bazie LDAP do pliku: czeństwa. Ponieważ bazy LDAP najczęściej są
stingu 16. Dlaczego mamy te trzy klasy przy- odpytywane, a zdecydowanie rzadziej zmie-
toczone? Proszę zerknąć na załączone frag- #_ ldapsearch -x -W -LLL -D "cn=Admin niane, zwykle wystarcza skopiowanie plików
menty definicji tych obiektów, a dokładniej na ,dc=firma,dc=pl" > /root/ldap/all.ldiff działającej bazy, bez konieczności jej zatrzy-
wyróżnione fragmenty. Widać, że inetOrg- mywania. Można się przy tym posłużyć stan-
Person wymaga organizationalPerson, a Sprawdźmy zawartość tego pliku. dardowymi narzędziami jak:
ten z kolei obiekt korzysta z atrybutów per-
son – Listing 17. Powiedzmy sobie uczciwie, #_ less /root/ldap/all.ldiff • tar (#_ tar cf /nazwa-archiwum.tar /var/
lib/ldap);
����������������������� • tar + gzip (#_ tar zcf /nazwa-archiwum.tgz
/var/lib/ldap).
���������������
����� ����������
���������� Możemy też wykorzystując program rsync czy
������������������������ ssh i przesłać dane do innego hosta. Ale o tym
będziemy jeszcze rozmawiać.
������������� ���������� �������
����������������� ���������� I to byłoby na tyle. Zapraszam za miesiąc.

�������������������
�������� O autorze
Janusz Bielec – z wykształcenia biofizyk.
����������������������� �������������� Pracuje jako administrator sieci III Kampu-
����������� �����������
���������������� su UJ w Sekcji Usług Sieciowo-Serwero-
��������������� wych Uniwersytetu Jagiellońskiego, jest też
konsultantem ds. systemów open source w
Compendium Centrum Edukacyjne sp. z o.o.
Więcej informacji można znaleźć na stronie
Rysunek 2. Schemat ideowy działania serwera slapd oraz narzędzi dodatkowych rozwijanych w projekcie domowej http://awe.mol.uj.edu.pl/~jjb/.
OpenLDAP

16 maj 2009
Jeśli nie możesz odczytać
zawartości płyty CD/DVD,
a nie jest ona uszkodzona
mechanicznie, sprawdź ją na
co najmniej dwóch napędach CD/DVD

5/2009
Rozwiązania
System z piekła rodem

System z piekła rodem


Łukasz Ciesielski

Określany jest systemem dla maniaków i pasjonatów, którzy znają się na szeroko pojmowanych
zagadnieniach informatyki. Wiele osób nawet nie wie o jego istnieniu, a szczytem współczesnej rewolucji
na wąskim rynku systemów operacyjnych stało się rozpowszechnienie Linuksa w jego dziesiątkach
odmian. Tymczasem jest jeszcze jeden kandydat do miana rewelacyjnego systemu – FreeBSD.

P
rzez wiele lat był odsuwany na dalszy plan co w skrywany przed światem. Nasuwa się pytanie, dotyczące ce-
linux@software.com.pl

efekcie spowodowało, że współcześnie otacza go lu jaki przyświecał twórcom Projektu FreeBSD. Kluczową
spora doza tajemniczości. Nie wpłynęło to jednak myślą było dostarczenie takiego oprogramowania, które mo-
na pracę licznego grona developerów, którzy do- głoby być wykorzystywane bez opłat i zobowiązań. Nieskrę-
prowadzili FreeBSD do doskonałości, stabilności i funkcjo- powanego wszechobecnymi prawami autorskimi. Develope-
nalności. System z założenia miał pozostać wolnym od ogra- rzy nie otrzymują stałych wynagrodzeń, choć pracują ciężko
niczających licencji. Nie można jednak pozostawić tak roz- nad swoim dziełem. Oczywiście zdarzają się dofinansowa-
budowanego projektu bez uprzedniego określenia jego sta- nia, jednak nie są one celem pracy. Należy pamiętać, że twór-
tusu. Na Uniwersytecie Kalifornijskim w Berkeley opraco- cami systemu są entuzjaści, którzy pragną jedynie dostarcze-
wano specjalną licencję BSD, która miała określać charak- nia darmowego kodu każdemu użytkownikowi. Czy moż-
ter tworzonego systemu operacyjnego i dzięki temu stabilizo- na pomóc w tworzeniu FreeBSD? Każdy, kto posiada pew-
wać go od strony prawnej. Jest ona całkowicie zgodna z za- ne umiejętności i dużo chęci ma prawo do współpracy z sze-
sadami Wolnego Oprogramowania, ale co najważniejsze sku- rokim gronem aktualnych developerów. Podstawowe drzewo
pia się na prawach użytkownika. Licencja ta pozwala na mo- źródłowe znajduje się w repozytorium CVS (ang. Concurrent
dyfikowanie kodu systemu, a nawet rozprowadzanie wyni- Version System – System kontroli Wersji) znajdującym się na
ków tej pracy. Co ciekawe, istnieje także możliwość włącza- komputerze w Kalifornii (USA). Z tego miejsca jest rozsyła-
nia fragmentów kodu źródłowego do innych projektów. Wy- ne na serwery lustrzane na całym świecie.
starczy jedynie zamieścić informację o twórcach oryginalne- Aby lepiej wczuć się w klimat niewątpliwie towarzyszą-
go kodu oraz treść licencji. Takie podejście autorów systemu cy FreeBSD, warto prześledzić jego historię. Pomimo chę-
i jego licencji daje nie tylko ogromne możliwości, ale umoż- ci i ogromnej determinacji jego twórców początki tego sys-
liwia także prowadzenie badań nad kodem źródłowym, któ- temu nie były bezproblemowe. Momentami nawet burzli-
ry w przypadku wielu systemów operacyjnych jest skrzętnie we. Trudno określić dokładną datę powstania projektu, po-

18 maj 2009
Rozwiązania
System z piekła rodem

nieważ jego początki są związane z nieoficjal- Kalifornijskim, twórcą systemu BSD. Sprawa Pierwszą i wydawałoby się najbardziej prymar-
nym zestawem łat dla systemu 386BSD (tzw. tyczyła się powielania fragmentów kodu sys- ną cechą jakiej doszukujemy się we współcze-
patchkit). Początkowo autorzy chcieli stwo- temu UNIX (którego właścicielem była firma snych systemach operacyjnych jest oczywi-
rzyć rodzaj prezentacji ukazującej postęp roz- Novell) w kodzie BSD. Zawarcie ugody umoż- ście wielozadaniowość. Oznacza to, że zasoby
woju 386BSD. Problem tej dystrybucji pole- liwiło prace nad 4.4BSD-Lite. Dlaczego jest to komputera, np. pamięć operacyjna jest równo-
gał na tym, że oprócz rosnącej ilości łat, rozwój takie istotne w odniesieniu do FreeBSD? Otóż miernie i – chciałoby się powiedzieć sprawie-
dystrybucji zastygł. Trzej twórcy – Nate Wi- na skutek wspomnianego procesu projekt ten dliwie – dzielona pomiędzy wszystkimi uru-
liams, Rod Grimes oraz Jordan Hubbard – po- miał zostać zamknięty do końca lipca 1994 ro- chomionymi aplikacjami i dostępnymi użyt-
stanowili ożywić projekt Billa Jolitza. Ten jed- ku. Przyczyną był fakt, że FreeBSD bazowa- kownikami. FreeBSD dzięki specjalnym me-
nak w ostatniej chwili zdecydował, że nie po- ło na 386BSD i 4.3BSD Net/2. Uniwersytet w chanizmom radzi sobie z tym niezwykle trud-
prze pomysłu na nadanie tempa rozwoju sys- Berkeley rozpoczął pracę nad usuwaniem z ko- nym zadaniem bez najmniejszych problemów.
temu 386BSD. Prace nad zestawem łat zaszły du fragmentów rzekomo powielonych. Wyda- Zastosowano tu dynamiczną regulację priory-
jednak na tyle daleko, aby trzech zapaleńców na wersja 4.4BSD-Light okazała się znacznie tetów dzięki czemu nawet w sytuacjach maksy-
kontynuowało rozwój. Od tej pory ich dzieło wyszczuplona, co nie ułatwiało prac nad Fre- malnego obciążenia systemu, zasoby są odpo-
przestało być patchkitem, uzupełnieniem. Sta- eBSD. W listopadzie 1994 roku zakończono wiednio rozdzielone. Dzięki ochronie pamię-
ło się czymś więcej, samodzielnym i samoist- prace nad FreeBSD 2.0, natomiast w styczniu ci, awaria jednego programu nie wpływa na po-
nym projektem. Dla podkreślenia tej sytuacji ukazał się system oznaczony numerem 2.0.5. zostałe. Oznacza to, że zarówno programy jak
w 1993 roku David Greenman wymyślił na- Poprawiono, a właściwie uproszczono w nim i użytkownicy nie mają prawa do ingerencji w
zwę, która doskonale się przyjęła – FreeBSD. proces instalacji. Kolejne lata to okres nieustan- działanie reszty oprogramowania. A co jeżeli
Kolejnym krokiem było ustalenie ogólnych za- nego dopracowywania kodu, łatania odnalezio- zapotrzebowanie na pamięć jest w danej chwi-
łożeń i celów. Wiele aspektów było już goto- nych luk i tworzenia dodatkowego oprogra- li większe niż oferowane zasoby? Opracowano
wych, a fundamenty nowej dystrybucji zosta- mowania. Warto jednak wspomnieć, że obec- w tym celu tzw. stronicowaną pamięć wirtualną
ły opracowane. Z drugiej jednak strony prekur- nie dostępne są dwie wersje stabilne. Pierwsza oraz współdzielenie pamięci podręcznej. Opcja
sorzy FreeBSD doszli do momentu, w którym opatrzona numerem 6.4 została wydana 28 li- ta pozwala na ciągłość pracy, kiedy rozmiar pa-
miały się rozegrać losy tego systemu. Albo uzy- stopada 2008 roku, natomiast druga – oznaczo- mięci RAM okazuje się zbyt mały.
skają pomoc z zewnątrz i sfinalizują dzieło, al- na jako 7.1 – ujrzała światło dzienne 5 stycznia Kolejnym elementem jest wieloużytkowni-
bo projekt zostanie zepchnięty na boczny tor i bieżącego roku. kowość. Ponieważ najczęściej zdarza się, że na
stopniowo ulegnie degradacji. Odpowiedź na- Aktualnie FreeBSD jest systemem wprowa- jednym komputerze pracuje kilka, a nawet kil-
suwa się sama, Jordan Hubbard skontaktował dzającym wiele nowinek i udogodnień. Projekt kanaście osób, umożliwienie im posiadania wła-
się z firmą Walnut Creek CDROM w celu na- prężnie się rozwija dzięki czemu nie pozostaje snego konta w systemie stało się koniecznością.
wiązania współpracy. Pomysł na FreeBSD zo- bierny w stosunku do sytuacji na rynku syste- W przypadku FreeBSD pojęcie wieloużytkow-
stał przyjęty niezwykle ochoczo, dzięki czemu mów operacyjnych. Poniżej przeanalizujemy ce- nikowości pojmowane jest znacznie szerzej. To
jego twórcy otrzymali odpowiedni sprzęt oraz chy FreeBSD i prześledzimy kto z niego korzy- właśnie dzięki niej możliwe jest poprawne stwo-
szybkie łącze z Internetem. Bez tego wspar- sta. Pozwoli to na zrozumienie przyświecającej rzenie np. kolejki do takich urządzeń jak drukar-
cia prawdopodobnie prace nie zaszłyby tak da- dzisiaj idei całego przedsięwzięcia, a także rzuci ka, czy skaner. Ponadto nie chodzi już jedynie o
leko w tak krótkim czasie. Ponadto system był odrobinę światła na charakter systemu. użytkowników lokalnych, lecz także sieciowych.
rozprowadzany nie tylko w sieci, lecz także w Jest to jedna strona medalu. Z drugiej natomiast,
postaci płyt CD. W grudniu 1993 roku wyda- Dlaczego FreeBSD? system ten pozwala na ograniczenie dostępu do
no pierwszą oficjalną wersję opatrzoną nume- Ciężko byłoby odpowiedzieć na postawione urządzeń określonym grupom. Fakt ten powodu-
rem 1.0. Bazowała ona na 4.3BSD-Lite Net/2, pytanie w jednym zdaniu. Na początek spraw- je wzrost bezpieczeństwa i prywatności.
który wywodził się z Uniwersytetu Kalifornij- dzimy co potrafi ten system, a następnie zasta- Dodatkowym atutem FreeBSD jest sze-
skiego w Berkeley. Dla usprawnienia dystrybu- nowimy się do czego można go wykorzystać. roka gama obsługiwanych standardów siecio-
cji dodano sporą dawkę świeżego oprogramo-
wania. Prace nad systemem ruszyły pełną parą,
aż do roku 1994. Przyczyną kłopotów był pro-
ces pomiędzy firmą Novell a Uniwersytetem

Listing 1. Zawartość pliku rc.conf.


font8x8="iso02-8x8"
font8x14="iso02-8x14"
font8x16="iso02-8x16"
keymap="pl_PL.ISO8859-2"

Listing 2. Zawartość pliku /etc/login.conf.


userspl:\
:charset=pl_PL.ISO8859-2:\
:lang=pl_PL.ISO8859-2:\
:tc=default:
Rysunek 1. Menu powitalne FreeBSD pozwala na uruchomienie go z określonymi parametrami

www.lpmagazine.org 19
Rozwiązania
System z piekła rodem

wych. Dzięki temu system doskonale nadaje z Linuksa? Jest to całkowicie błędne podej- rent. I tu kolejna niespodzianka. Obrazów jest
się nie tylko dla komputerów osobistych, np. ście. Wystarczy przeanalizować listę najwięk- kilka, w zależności od potrzeb użytkowników.
PC czy laptopy. Idealnie wkomponował się szych potentatów internetowego świata wspie- Jeżeli posiadamy stałe łącze z Internetem, wy-
w zapotrzebowanie współczesnego rynku, na ranych właśnie przez FreeBSD, aby skutecz- starczy pierwsza płyta CD. Druga i trzecia za-
niezwykle stabilny, nie sprawiający proble- nie rozwiać wątpliwości. Kto się do nich zali- wierają jedynie dodatkowe pakiety, natomiast
mów system operacyjny pracujący w charak- cza? Wspomnieliśmy już o Yahoo!, ale znajdu- czwarta dokumentację. Developerzy dokona-
terze serwera. Okazało się, że FreeBSD spraw- ją się tam również Apache, Blue Mountain, We- li takiego podziału z myślą o użytkownikach,
dza się w tej roli doskonale. Nie chodzi tu już o atchernews, Netcraft oraz New York Internet. którzy nie mogą cieszyć się stałym dostępem
niewielki serwer w firmie, lecz również rozbu- Oczywiście to zaledwie początek długiej li- do sieci. Istnieje także możliwość pobrania ca-
dowany jak np. http://www.yahoo.com. Obsłu- sty, której przytoczenie w całości jest niemożli- łości w formie obrazu płyty DVD. W rzeczy-
ga sieci TCP/IP nikogo już nie zaskakuje. Jeżeli we. Podobna sytuacja ma miejsce w przypadku wistości znajduje się tam zawartość wspomnia-
jednak dołączymy do tego pełną obsługę takich oprogramowania przeznaczonego dla systemu nych czterech płyt CD.
standardów jak SLIP, PPP, DHCP i NIS funk- Linux. Dzięki zgodności binarnej uruchomimy Proces instalowania systemu rozpoczyna
cjonalność systemu staje się niepodważalna. wszystkie aplikacje, których używaliśmy na Li- się od uruchomienia płyty. Już po chwili przy-
Dodatkowo FreeBSD umożliwia zdalny dostęp nuksie. Sytuacja taka ma miejsce raczej rzad- wita nas ekran powitalny wraz z menu (Rysu-
do plików, dzięki takim funkcjom jak NFS. Po- ko, ponieważ większość z nich dostępna jest w nek 1). Ważna uwaga! Pierwsza instalacja Fre-
zwala to nie tylko na przesyłanie plików na ser- portach systemu. Wystarczająco przekonujące i eBSD nie należy do najłatwiejszych, dlatego
wery firmy, obsługę poczty, ale również skonfi- atrakcyjne? To może na koniec warto też wspo- zawsze warto się chwilę zastanowić i dokład-
gurowanie systemu jako zaporę ogniową. mnieć, że FreeBSD dostarcza aż 19.000 pakie- nie przeczytać wyświetlane komunikaty zanim
Niezwykle ważną kwestią jest wspomnia- tów. Wszystkie one są bezpłatne, a do tego każ- przystąpieniem do kolejnego etapu. Przyjrzyj-
ny już kod systemu o charakterze otwartym i dy ma możliwość przeglądania ich kodów źró- my się jednak pierwszemu menu. Składa się
ogólnie dostępnym. Wiąże się to z możliwością dłowych. Czy jest sens zaczynać poznawanie ono z siedmiu pozycji. Najczęściej wybiera-
dostosowania FreeBSD do rozmaitych projek- nowego systemu operacyjnego? Trzy argumen- my pierwszą z nich zatwierdzając ją klawiszem
tów np. naukowych. Jest to doskonały sposób ty: przygoda i zabawa, rozwijanie umiejętności, [Enter]. Jeżeli z jakichkolwiek względów opcja
na poznawanie istoty systemów operacyjnych, maksymalne wykorzystanie zasobów kompute- ta będzie stwarzać problemy, warto sprawdzić
sposobów funkcjonowania oraz mechanizmów ra. Rozpoczynamy instalację? pozycje od 2 do 5. Jednak w większości przy-
wewnętrznych. Dystrybucja dostarcza ogrom- padków wszystko działa bez zarzutu. Dla po-
ne ilości darmowego oprogramowania pozwa- Godzina na poważnie czątkujących pewną niedogodnością może oka-
lającego na zrobienie niemalże wszystkiego. Instalację należy rozpocząć od pobrania obra- zać się krótki czas na dokonanie wyboru (dzie-
Najczęściej jedynym ogranicznikiem okazuje zu płyty zawierającej system. Najpewniejszym sięć sekund). Można jednak zatrzymać odlicza-
się wyobraźnia użytkowników. Jak nietrudno miejscem jest oczywiście strona domowa pro- nie poprzez wciśnięcie Spacji. Drugim etapem
się domyśleć FreeBSD dostarcza szereg narzę- jektu, czyli http://www.freebsd.org. W dziale będzie określenie kraju oraz układu klawiatury
dzi programistycznych. Pozwala to na tworze- Getting FreeBSD użytkownik może zdecydo- (Rysunek 2, Rysunek 3). Dopiero po tych czyn-
nie własnych aplikacji w najpopularniejszych wać jaka wersja będzie dla niego najodpowied- nościach zostaniemy przeniesieni do głównego
językach oraz kompilowanie dostępnych ko- niejsza. Aktualnie Projekt FreeBSD wspiera okna programu sysinstall (Rysunek 4). To wła-
dów źródłowych dostosowując je tym samym dwie wersje stabilne: 6.4 (tzw. Legacy) oraz śnie on jest odpowiedzialny za przeprowadze-
do posiadanego sprzętu. Dzięki temu możemy 7.1. Druga z wymienionych została wydana nie instalacji systemu. Należy jednak zwrócić
zmaksymalizować prędkość działania systemu 5 stycznia bieżącego roku. Pomimo towarzy- uwagę na fakt, że wykonywane czynności są
i oprogramowania. szącej jej świeżości, wersja ta została doskona- dopiero przygotowaniem właściwego proce-
Nadal uważasz, że FreeBSD jest mało po- le opracowana. Po dokonaniu odpowiedniego su instalacji. Oznacza to, że ustawienia, które
pularny i zastanawiasz się, czy można zain- wyboru, pobieramy obraz płyty instalacyjnej wprowadzimy można dowolnie modyfikować.
stalować ulubione oprogramowanie rodem np. poprzez FTP lub za pośrednictwem BitTor- Jak posługiwać się programem sysinstall? Do
poruszania się po nim służą strzałki oraz Tabu-
lator. Zaznaczenia w nawiasach kwadratowych
dokonujemy za pomocą Spacji. Podjęte decyzje
akceptujemy klawiszem [Enter].
Użytkownik ma do wyboru dwa sposoby
przeprowadzenia instalacji. Pierwszy to wersja
standardowa, czyli po prostu polecenie Stan-
dard. Jest on zalecany zwłaszcza początkują-
cym użytkownikom. Druga przeznaczona jest
dla osób, które wcześniej już przeprowadzały
instalację FreeBSD. Zdecydowanie odradza się
ją, jeżeli użytkownik nie posiada wystarczają-
cej wiedzy i doświadczenia (oczywiście wyłą-
czając sytuację, kiedy formatujemy całą zawar-
tość dysku twardego). Teraz czeka nas określe-
nie miejsca, w którym ma zostać zainstalowany
Rysunek 2. Wskazanie regionu i kraju nowy system. Automatycznie zostaniemy prze-

20 maj 2009
Rozwiązania
System z piekła rodem

niesieni do programu Fdisk. Zanim dokonamy Problem pojawia się w momencie, kiedy przy- dow. Użytkownicy, którzy prowadzą, lub chcie-
tu jakichkolwiek zmian, koniecznie należy je chodzi do ustalenia rozmiarów poszczególnych liby rozpocząć badania nad jądrem systemu po-
przemyśleć. Zauważmy, że dysk twardy jest partycji. Zacznijmy od Swap. Jeśli system po- winni koniecznie wypróbować Kern-Developer.
oznaczony inaczej niż w systemie Linux, za- siada 1 GB pamięci RAM – lub więcej – to bę- Zawiera on pełne binaria, dokumentację i co naj-
miast np. hd0 widzimy ad0. Gdybyśmy chcie- dzie ona mało wykorzystywana. W przypad- ważniejsze źródła jądra. Podobnie jak dwie po-
li przeznaczyć cały dysk na potrzeby naszego ku zasobów poniżej tej wartości, dobrą prak- przednie wersje stworzono także opcję z X-Win-
nowego systemu, sprawa byłaby prosta. Wy- tyką jest utworzenie partycji Swap o rozmiarze dow, a dokładniej X-Kern-Developer. Zarówno
starczyłoby usunąć odnalezione partycje kla- minimum 512 MB. Starsze dokumentacje po- programowanie jak i poznawanie tajemnic tzw.
wiszem D (jeżeli takie istnieją). Następnie po dają, że powinna ona być dwu- lub trzykrotnie kernela to pasjonująca przygoda. Nie wolno jed-
wciśnięciu klawisza A dostępne miejsce zosta- większa od dostępnej pamięci RAM. Zwróć- nak zapominać, że FreeBSD jest również do-
łoby automatycznie rozdysponowane (ang. Use my jednak uwagę na fakt, że w tamtych cza- skonałym systemem dla użytkowników, którzy
Entire Disk). Najczęściej jednak sytuację kom- sach pamięć ta wynosiła np. 64 MB, 128 MB, się tym nie zajmują. Wystarczy wybrać zestaw
plikuje fakt współdzielenia dysku z innymi sys- czyli nieporównywalnie mniej niż współczesne User lub X-User (z X-Window). Osobom mają-
temami operacyjnymi. Co zrobić w takim wy- standardy. W odniesieniu do pozostałych ka- cym doświadczenie z FreeBSD zaleca się wybór
padku? Nie stanowi to problemu, należy jedy- talogów trudno jest jednoznacznie określić ja- wersji minimalistycznej, czyli okrojonej do bazy
nie zachować większą ostrożność. Na począt- ką powinny mieć wielkość. Dla /var może to systemowej – Minimal. W międzyczasie instala-
ku należy wskazać odpowiednią partycję i usu- być około 150 MB (choć oficjalna dokumenta- tor zapyta nas, czy chcemy zainstalować kolek-
nąć ją (klawisz [D]) aby uzyskać miejsce dla cja systemu podaje 50 MB), natomiast dla /tmp cję portów. Dzięki niej będziemy mogli w pro-
instalowanego FreeBSD. Kiedy program po- 350 MB. Należy jednak wziąć pod uwagę, że sty sposób dodawać nowe oprogramowanie. Nie
informuje nas o dostępności wolnego miejsca, większość plików będzie instalowana w kata- należy jednak mylić jej z zestawem kodów źró-
zaznaczamy je za pomocą strzałek i wciskamy logu /usr. Przed ustaleniem rozmiarów party- dłowych. Są to jedynie pliki, które automatyzu-
[C] w celu stworzenia nowej partycji. Akcep- cji, należy dokładnie przeanalizować przezna- ją proces pobierania programów, ich kompilo-
tujemy sugerowaną wielkość i gotowe. Jeżeli czenie przyszłego systemu. wania i wreszcie instalowania. Warto się zasta-
się pomylimy, nic złego się nie stanie. Wszel- Nadszedł czas na wybór odpowiednich nowić, ponieważ kolekcja portów zajmuje oko-
kie operacje w programie Fdisk można cofnąć komponentów. FreeBSD oferuje kilka zbiorów, ło 450 MB. Jest pewnym uproszczeniem, jednak
przy pomocy klawisza [U] (ang. Undo). W po- podzielonych w zależności od zapotrzebowania zamiast tracić cenne miejsce na dysku, można
równaniu do systemu Linux, FreeBSD ma do- użytkownika, np. dla programisty będzie to De- pobrać ją na płytach CD lub DVD.
syć specyficzny sposób przydzielania miejsca, veloper oraz X-Developer. Z wiadomych wzglę- Kolejnym etapem jest wybór nośnika, czyli
ponieważ tworzy rodzaj subpartycji wewnątrz dów twórcy doradzają, aby początkujący wybra- miejsca z którego instalator będzie pobierał da-
wskazanej partycji podstawowej. Doskonale li opcję All, czyli instalacja wszystkiego. Na- ne. Jeżeli posiadamy CD lub DVD z pakieta-
widać to podczas pracy z programem Diskla- stępnie można oczywiście usunąć zbędne opro- mi i systemem, możemy wskazać te nośniki ja-
bel Editor. Stworzona wcześniej partycja zosta- gramowania. Metoda ta jest raczej mało eduka- ko bazowe. Nie oznacza to jednak, że jest to je-
je podzielona na mniejsze fragmenty, np. party- cyjna. Zaleca się wybór najbardziej pasującego dyna metoda. FreeBSD oferuje znacznie więcej.
cja systemowa (FS) i wymiany (Swap). Zanim profilu, a następnie doinstalowanie potrzebnego Użytkownik może zdecydować się na instalację
jednak przystąpimy do określania poszczegól- oprogramowania. Co mamy do wyboru? Oso- za pośrednictwem tzw. aktywnego FTP (Install
nych partycji, należy określić zachowanie pro- by interesujące się programowaniem mogą wy- from an FTP server, działa jeśli nie mamy usta-
gramu ładującego. Sysinstall oferuje trzy moż- brać wersję Developer, która zawiera pełne źró- wionej zapory ogniowej), pasywnego FTP (In-
liwości: BootMgr, Standard oraz None. Regu- dła, binaria oraz dokumentację. Usunięto z niej stall from an FTP server through a firewall, dzia-
ła jest prosta. Jeśli na dysku twardym posiada- gry uznając je za zbyteczne. Jak widać braku- ła pomimo istniejącej zapory) oraz wielu innych,
my inne systemy operacyjne wybieramy No- je również środowiska graficznego. Jej rozsze- włączając w to dyskietki i partycje DOS.
ne, czyli wersję bez ingerencji w MBR (ang. rzoną wersją jest X-Developer. Zawiera te sa- Teraz jesteśmy już przygotowani do roz-
Master Boot Record). W pozostałych przypad- me składniki co Developer a dodatkowo X-Win- poczęcia właściwej instalacji na dysk twar-
kach korzystamy z opcji BootMgr lub Stan-
dard. Wróćmy jednak do określania partycji
w programie Disklabel Editor. Zapewne każ-
dy zastanawia się nad sposobem podziału wol-
nej przestrzeni. Zasadniczo istnieją trzy rozwią-
zania. Pierwszym i najprostszym jest pozwole-
nie, aby program sam zadecydował jakie party-
cje stworzyć i jakie rozmiary im przypisać. Słu-
ży do tego wspomniany już klawisz [A]. Dru-
ga metoda to stworzenie dwóch partycji, a mia-
nowicie Swap i FS. Doświadczeni użytkowni-
cy zapewne wiedzą, że ta pierwsza nie jest wy-
magana, jednak zasadniczo lepiej ją stworzyć.
Trzecie rozwiązanie to stworzenie kilku par-
tycji, np. oddzielnie dla kluczowych katalo-
gów /var, /usr itd. Jest to doskonała metoda na
przystosowanie systemu dla własnych potrzeb. Rysunek 3. Wybór odpowiedniego układu klawiatury

www.lpmagazine.org 21
Rozwiązania
System z piekła rodem

dy. Sysinstall wyświetli jeszcze komunikat Tak jak ja chcę! dobrze znanego nam programu sysinstall oraz
ostrzegając, że jest to ostatnia chwila na zre- Po instalacji nadszedł czas na konfigurację. Jest jego submenu Configure. Na pytanie, czy chce-
zygnowanie. Oczywiście nie jesteśmy zain- to proces prawdopodobnie najważniejszy, po- my ustawić urządzenie sieciowe należy odpo-
teresowani. Na pytanie, czy chcemy konty- nieważ odpowiednie ustawienia kluczowych wiedzieć twierdząco. Następnie instalator za-
nuować odpowiadamy twierdząco. W zależ- elementów systemu stanowią o jego stabilno- pyta o protokół IPv6. W większości wypad-
ności od ilości wybranego oprogramowania ści, funkcjonalności i współdziałaniu z podze- ków wystarczy Ipv4, więc bez problemu może-
proces instalacji może potrwać od kilkuna- społami komputera. Na początek dobrze jest my z tej opcji zrezygnować. Kolejnym krokiem
stu do kilkudziesięciu minut. Po zakończeniu odpowiednio ustawić połączenie sieciowe. Po- będzie określenie DHCP (ang. Dynamic Host
naszym oczom ukaże się stosowny komuni- zwoli to na uzyskanie niezbędnego wsparcia z Configuration Protocol). Korzystnie jest odpo-
kat: Gratuluję! Masz już zainstalowany sys- Internetu i instalację dodatkowego oprogramo- wiedzieć twierdząco na pytanie o uruchomie-
tem FreeBSD. wania. Aby skonfigurować sieć, skorzystamy z nie programu dhclient. Jeśli będzie to możliwe,
karta sieciowa będzie automatycznie skonfigu-
rowana i zostanie nawiązane połączenie. Oczy-
wiście należy także wskazać odpowiednie urzą-
dzenie, czyli np. kartę Ethernet. Jeżeli DHCP
wykryje odpowiednie ustawienia, zostanie wy-
świetlona odpowiednia ramka z informacjami.
W przeciwnym razie będziemy zmuszeni do sa-
modzielnego wypełnienia poszczególnych pól,
a zwłaszcza bramy, numeru IP, DNS i maski
sieciowej. Można oczywiście uzyskać ten sam
efekt uzupełniając odpowiednie pliki konfigu-
racyjne w systemie, jednak wykorzystanie w
tym celu sysinstall pozwala zaoszczędzić czas.
Drugim etapem przygotowywania syste-
mu do codziennej pracy, jest oczywiście po-
lonizacja. Dlaczego warto jej dokonać? Po-
nieważ zapewni to obsługę polskiej czcion-
ki przez system. W przypadku części progra-
mów pojawi się również dokumentacja w języ-
ku polskim i spolonizowane opisy przycisków.
Na początek należy edytować plik /etc/rc.conf,
a następnie zmodyfikować jego zawartość tak
jak pokazano na Listingu 1. Polecenia te usta-
wiają czcionkę, obsługującą takie znaki jak ą,
ę czy ź. To jednak nie koniec. W kolejnym pli-
ku, a dokładniej /etc/ttys trzeba odnaleźć linij-
kę: ttyv1 "/usr/libexec/getty Pc" con-
s25l2 on secure. Jeżeli takiej nie ma, ko-
nieczna będzie zamiana już istniejącego do
przedstawionej postaci. Postępujemy tak aż
do ttyv7. Nie wolno zmieniać linii oznaczo-
nej ttyv8. Ostatnim krokiem jest dopisanie na
końcu pliku /etc/login.conf zawartości jak na
Listingu 2. Kiedy wszystkie pliki są już odpo-
wiednio zmodyfikowane, należy przebudować
bazę systemową wpisując w konsoli cap_mkdb
/etc/login.conf. Jeśli w systemie zostały
założone konta użytkowników, koniecznie mu-
simy zmienić przypisaną im klasę default na
userspl. W tym celu wystarczy wpisać pole-
cenie: pw user mod nazwa_użytkownika -L
userspl i gotowe!
Trzecim z podstawowych problemów jest
problem z montowaniem pamięci przenośnych,
czego doskonałym przykładem jest pendri-
ve. Można temu zaradzić na kilka sposobów.
Najbardziej oczywistym jest użycie polece-
Rysunek 4. Trzy warianty instalacji oferowane w programie sysinstall nia mount z określonymi parametrami. Przed

22 maj 2009
Rozwiązania
System z piekła rodem

montowaniem naszego nośnika danych, musi- dużych projektów, jak np. środowiska graficz- ną pobrane źródła, które następnie będą skom-
my sprawdzić jak jest on oznaczony w syste- ne (GNOME czy KDE) ze źródeł zajmowałoby pilowane, a wyniki zainstalowane. Na koniec
mie, a następnie przygotować miejsce w kata- mnóstwo czasu i zasobów systemowych. Dzię- polecenie clean usunie pozostałości po kom-
logu /mnt. Aby stworzyć katalog wystarczy wy- ki pakietom wystarczy chwila. Jak wygląda pilacji.
dać polecenie np. mkdir /mnt/pendrive. Te- składnia przykładowego polecenia? Załóżmy, Pewnie każdy zauważył, że metoda ta nie
raz za pomocą polecenia ls /dev sprawdza- że chcemy zainstalować GNOME. W konso- jest doskonała. Zajmuje sporo czasu, obciąża
my zawartość katalogu /dev. Ponieważ pamięć li wpisujemy pkg_add -r -v gnome2. Analo- procesor, a same porty zajmują około 450 MB
flash najprawdopodobniej będzie oznaczona ja- gicznie postępujemy instalując inne programy. miejsca na dysku twardym. Jaki jest zatem
ko np. da0s1, da0s2, można uzupełnić polece- Usuwanie jest równie proste. Wystarczy użyć sens używania portów? Otóż obok tych nie-
nie do postaci ls /dev | grep da. Teraz zo- pkg_delete nazwa_programu. Warto również licznych wad, istnieje wiele zalet. Jedną z naj-
staną wyświetlone jedynie te pozycje, któ- wspomnieć, że skompresowany plik jakim jest ważniejszych jest możliwość kompilacji ko-
re zawierają zwrot da. Na koniec wydajemy każdy pakiet zajmuje znacznie mniej miejsca du z własnymi parametrami, co często pozwa-
polecenie mount -t msdosfs /dev/da0s1 niż kompletny kod źródłowy. W przypadku kil- la zoptymalizować działanie programu, przy-
/mnt/pendrive. Jest to podstawowa metoda. ku tego typu paczek nie miałoby to znaczenia, spieszyć je i uczynić wydajniejszym. Dru-
Nic nie stoi na przeszkodzie, aby zautomatyzo- jednak mając do czynienia z kilkoma tysiącami ga kwestia dotyczy licencji. Choć zdarza się
wać ten proces, dodając chociażby odpowiedni różnica jest zdecydowanie odczuwalna. to sporadycznie, niektóre programy nie mogą
wpis do pliku /etc/fstab. Drugi sposób na rozszerzenie zbioru opro- być rozprowadzane jako pliki binarne. Można
W podrozdziale tym przedstawiono jedy- gramowania zainstalowanego w systemie opie- w takiej sytuacji skompilować kod samemu.
nie trzy kluczowe i najczęściej spotykane trud- ra na tzw. drzewie portów. Czym są tajemnicze Ponadto porty umożliwiają zaawansowanym
ności konfiguracyjne. Nietrudno się domyśleć, porty? Mówiąc krótko, jest to zbiór instrukcji i użytkownikom modyfikację kodu źródłowe-
że sytuacji takich jest znacznie więcej. Opisa- wskazówek dla systemu, mówiących skąd ma- go, nakładanie własnych łat, usprawnień itp.
nie wszystkich jest niemożliwe chociażby dlate- ją zostać pobrane źródła danego programu oraz Jest to niezwykle zaawansowana i wydajna
go, że nie można ich przewidzieć. W zależności w jaki sposób powinny zostać skompilowane i metoda zarządzania oprogramowaniem. Zde-
od sprzętu, na którym FreeBSD jest zainstalowa- zainstalowane. Podczas instalacji sysinstall py- cydowanie warto ją chociażby wypróbować,
ny po konfigurację przyczyn powstania określo- ta użytkownika, czy chce zainstalować por- a zalety zostaną niewątpliwie dostrzeżone w
nych trudności może być bardzo dużo. Warto za- ty na dysku twardym. W praktyce jest to ka- trakcie pracy.
poznać się z doskonałą i rozbudowaną dokumen- talog (/usr/ports), w którym znajdują się kolej-
tacją dostępną aktualnie także w języku polskim ne katalogi odpowiadające poszczególnym pro- Podsumowanie
(http://www.freebsd.org). Wiele interesujących gramom. Wewnątrz każdego zostaje stworzony FreeBSD zdecydowanie nie jest kolejnym po-
artykułów można również znaleźć na polsko- plik Makefile (czasem Configure). To właśnie wieleniem istniejącego wcześniej systemu,
języcznych stronach internetowych takich jak: one określają warunki instalacji. Dodatkowo w choć na bazie takiego właśnie powstał. Wy-
http://www.bsd4u.org, http://freebsd.therek.net, niektórych przypadkach można spotkać plik di- różniają go nie tylko takie cechy jak oryginal-
http://www.freebsd.kie.pl oraz http://www.bsd- stinfo informujący jakie pliki muszą zostać po- ność, stabilność czy funkcjonalność. Jest sys-
guru.org. brane, aby kompilacja danego portu przebie- temem dojrzałym, ukoronowanym specyficzną
gła pomyślnie. Z mniej istotnych plików moż- licencją, dzięki której każdy może poznać zaka-
Jak zainstalować program? na wymienić chociażby pkg-plist (lista zainsta- marki kodów źródłowych. Choć jest to kontro-
Jest to pierwsze pytanie, które zawsze zostaje lowanych przez port plików), pkg_descr (opis) wersyjne można spotkać się z opinią, że Linux
zadane tuż po instalacji i konfiguracji nieznane- i katalog files (łaty bezpieczeństwa). jest doskonałym systemem dla młodych użyt-
go wcześniej systemu lub dystrybucji. Oczywi- Jeżeli podczas instalacji systemu nie za- kowników, ale dopiero FreeBSD zaspokaja po-
ście jest ono jak najbardziej na miejscu, ponie- akceptowaliśmy kolekcji, wystarczy wywo- trzeby doświadczonych użytkowników w śred-
waż dodawanie i usuwanie dodatkowego opro- łać w konsoli sysinstall i wybrać odpowied- nim wieku. Czy jest to prawdą? Trudno osą-
gramowania to umiejętność kluczowa. Pozwala nią opcję. Alternatywnym sposobem jest sko- dzić. Jedno jest pewne, FreeBSD nie jest sys-
to nie tylko na codzienną pracę ale też na zarzą- rzystanie z programu portsnap. Instalujemy go temem na miesiąc czy rok, to system na długie
dzanie systemem. W przypadku FreeBSD na- poleceniem pkg_add -r -v portsnap. Skompre- lata. Każdy kto go pozna, z pewnością zostanie
leży najpierw wyjaśnić czym są pakiety i tzw. sowaną migawkę kolekcji portów pobieramy z oczarowany i poczuje magię BSD. Czy warto?
porty. Są to zagadnienia kluczowe. Otóż insta- Internetu poleceniem portsnap fetch. Następ- Zainstaluj FreeBSD i zobacz jaki powinien być
lacja oprogramowania może odbywać się dwo- nie musimy ją rozpakować: portsnap extract i system zmierzający do doskonałości, skromny
jako. Pierwsza metoda to pobranie binarnej można kompilować dodatkowe oprogramowa- lecz potężny. Taki właśnie jest!
paczki, a następnie zainstalowanie jej w sys- nie. W bardzo prosty sposób można aktualizo-
temie. Druga to skompilowanie źródeł danego wać listę portów. Wystarczy wpisać w konsoli
programu. Proces ten jednak został zautomaty- portsnap update.
zowany dzięki wykorzystaniu wspomnianych W jaki sposób zainstalować określony O autorze
portów. Nie ma potrzeby szukania i pobierania program, np. htop za pomocą portów? Na po-
Autor jest dziennikarzem, którego pasją
źródeł z Internetu. czątek należy zlokalizować odpowiadający
stało się programowanie (C/C++, Java,
Przygodę z dodawaniem i usuwaniem pro- mu port za pomocą polecenia whereis htop.
Pascal, Qt, Gtk+) oraz systemy spod zna-
gramów rozpocznijmy jednak od wspomnia- Kiedy zostanie wyświetlony katalog, przecho-
ku pingwina (Slackware, Debian).
nych pakietów. Nie wymaga to żadnej wiedzy dzimy do niego (cd /usr/ports/ścieżka/htop) i
Kontakt z autorem:
o kompilowaniu kodu. Ich niewątpliwą zaletą wpisujemy make install clean. Po odczy-
lucas.ciesielski@gmail.com
jest proste zarządzanie. Ponadto kompilowanie taniu Makefile oraz pliki konfiguracyjne zosta-

www.lpmagazine.org 23
Rozwiązania
Webmin i Usermin – zdalna administracja

Webmin i Usermin
Rafał Kułaga

Istnieje wiele narzędzi służących do zdalnego zarządzania systemem za pomocą przeglądarki


internetowej. Dwa z nich – Webmin oraz Usermin – pozwalają na konfigurację najważniejszych
parametrów pracy systemu oraz udostępniają wygodny interfejs, w którym użytkownicy mogą zdalnie
wykonywać najczęstsze zadania.

W
prawie każdym środowisku korpora- putera, na którym są zainstalowane. Nie są one wyposa-
Rozwiązania

cyjnym istnieje potrzeba zapewnienia żone w rozbudowane narzędzia, służące do monitorin-


możliwości zdalnej konfiguracji syste- gu całej sieci – stawiają za to na możliwość wprowadza-
mu. Wynika to nie tylko z faktu, iż bar- nia dowolnych zmian w konfiguracji komputera w stop-
dzo często serwer fizycznie znajduje się w odległym miej- niu, który odpowiada możliwościom, jakie mielibyśmy
scu, ale jest również skutkiem tego, że większość admi- siedząc przed nim.
nistratorów jest odpowiedzialnych za wiele sieci i serwe- Większość dostępnych obecnie narzędzi do zdalnej ad-
rów. Bardzo wygodne byłoby w takim razie posiadanie na- ministracji posiada interfejs graficzny. Upraszcza to znacz-
rzędzia, które umożliwiałoby szybką konfigurację podsta- nie obsługę oraz skraca czas potrzebny na wykonanie naj-
wowych aspektów pracy systemu oraz uruchomionych na częstszych zadań. Webmin i Usermin – dwa narzędzia oma-
nim usług. wiane przeze mnie w tym artykule, posiadają wygodny i
Omawiane kilka miesięcy temu narzędzia, takie jak czytelny interfejs graficzny, podzielony na przejrzyste ka-
Zenoss i David, umożliwiają monitorowanie stanu sieci tegorie. Co więcej, obydwa programy dają również możli-
oraz jej konfigurację (w ograniczonym stopniu). Są one wość zdalnego wykonywania poleceń trybu konsolowego.
bardzo dobrym rozwiązaniem, kiedy jesteśmy odpowie- Można śmiało powiedzieć, że stanowią doskonałą alterna-
dzialni za zarządzanie siecią o złożonej strukturze, zarów- tywę dla narzędzi takich jak SSH, szczególnie dla mniej za-
no pod względem liczby użytkowników, jak i stosowane- awansowanych użytkowników.
go sprzętu. Omawiając rozwiązania dla zdalnej administracji nie
Narzędzia, których obsługa i wykorzystanie zosta- sposób nie wspomnieć o kwestiach bezpieczeństwa. Oby-
nie przeze mnie przedstawione w tym artykule, prezen- dwa opisywane przeze mnie narzędzia standardowo uży-
tują inne podejście do zagadnienia zdalnej administra- wają szyfrowanego protokołu HTTPS, przez co zapewnia-
cji – umożliwiają konfigurację parametrów pracy kom- ją bezpieczeństwo porównywalne do SSH. Pokażę dodat-

24 maj 2009
Rozwiązania
Webmin i Usermin – zdalna administracja

kowo, jak wykorzystując mniej znane funk- jesz się na instalację bez wykorzystania pa- kacji (Rysunek 2). Na samym dole znajduje
cje tych programów, jeszcze bardziej zwięk- kietów, to nie zapomnij o instalacji języka się przycisk Start at boot time, umożliwia-
szyć poziom bezpieczeństwa. Perl oraz biblioteki OpenSSL, co pozwo- jący ustawienie, czy Webmin ma być uru-
li na pełne skorzystanie z możliwości za- chamiany przy starcie systemu (domyślnie
Webmin a Usermin bezpieczenia połączeń, jakie daje Webmin aktywne).
Pomiędzy dwoma narzędziami, których wy- i Usermin.
korzystanie jest tematem tego artykułu, istnie- Zarówno Webmin, jak i Usermin posia- Konfiguracja interfejsu
je bardzo istotna różnica. Webmin jest progra- dają wbudowane serwery HTTP, co sprawia, Webmin udostępnia szereg sposobów zmiany
mem służącym do zdalnego wykonywania za- że ich instalacja jest bardzo prosta i pro- wyglądu i interfejsu. Możliwa jest również
dań administracyjnych, takich jak: gram jest gotowy do pracy zaraz po insta- zmiana języka interfejsu na język polski,
lacji. Po zainstalowaniu pakietów, jeżeli na jednak nie polecam tego rozwiązania – tłu-
• zarządzanie kontami użytkowników i gru- komputerze uruchomiony jest firewall, pa- maczenie jest zdecydowanie w dość wcze-
pami; miętaj aby otworzyć porty wykorzystywane snej fazie rozwoju i brakuje w nim większo-
• monitorowanie pracy sprzętu; przez aplikacje – 10000 (Webmin) i 20000 ści podpisów.
• zarządzanie pakietami, instalacja dodat- (Usermin). Poszczególne ikony modułu Webmin Con-
kowego oprogramowania; Po zakończeniu instalacji programu mo- figuration umożliwiają:
• konfiguracja i monitorowanie pracy ser- żesz skierować swoją przeglądarkę interne-
werów, takich jak: Apache, Samba i FTP; tową pod adres https://adres.ip.komputera: • User Interface – zmiana kolorów w me-
• konfiguracja i monitorowanie pracy urzą- 10000/ w celu otwarcia interfejsu progra- nu, rozmiaru ramek itp.;
dzeń i połączeń sieciowych; mu Webmin lub https://adres.ip.komputera: • Language – zmiana języka interfejsu;
• konfiguracja i przeglądanie plików lo- 20000/, jeżeli chcesz sprawdzić działanie • Index Page Options – konfiguracja menu
gów. aplikacji Usermin. głównego Webmin;
Za każdym razem, gdy będziesz logo- • Reassign Modules – zmiana modułów
Widzimy, że są to zadania często wykonywa- wał się do nowej instalacji dowolnego z pre- przypisanych do poszczególnych katego-
ne przez każdego administratora. Co więcej, zentowanych programów, przeglądarka in- rii;
Webmin umożliwia tworzenie tzw. klastrów, ternetowa poinformuje Cię o nieprawidło- • Edit Categories – zmiana nazw kategorii;
za pomocą których możemy jednocześnie wy- wym certyfikacie, którego używa zdalny in- • Module Titles – zmiana nazw modułów;
konywać to samo polecenie na wielu serwe- terfejs. Dzieje się tak, ponieważ jest on pod- • Webmin Themes – zmiana motywów gra-
rach. Jest to szczególnie użyteczne w dużych pisany przez jednostkę certyfikującą progra- ficznych interfejsu, import i instalacja no-
sieciach komputerowych. mu Webmin, a nie przez zaufaną instytucję. wych;
Usermin, będący mniej rozbudowanym Nie przejmuj się tym jednak – nie powodu- • Mobile Device Options – zmiana moty-
narzędziem, świetnie uzupełnia takie rozwią- je to wyłączenia szyfrowania, które jest pod- wów graficznych używanych przy połą-
zanie, dając użytkownikom dostęp do funk- stawą bezpiecznej komunikacji. Więcej in- czeniu z urządzeń mobilnych, takich jak
cji, takich jak: formacji o certyfikatach używanych przez palmtopy, smartfony.
program Webmin znajdziesz w dalszej czę-
• obsługa poczty elektronicznej za pomocą ści artykułu. Nie będziemy opisywać znaczenia poszcze-
przeglądarki internetowej (tzw. webmail); Przejdźmy teraz do następnego kroku, gólnych opcji znajdujących się w wymie-
• zmiana hasła, konfiguracji sesji SSH i którym jest konfiguracja zainstalowanych nionych menu – jeżeli masz wątpliwości co
Telnet, zdalny dostęp do wiersza poleceń; przez nas narzędzi. do znaczenia którejś z nich, możesz skorzy-
• zdalne zarządzanie plikami, przy użyciu stać z dokumentacji programu dostępnej na
bardzo wygodnego apletu Javy; Konfiguracja aplikacji Webmin głównej stronie projektu (adres strony w ta-
• monitorowanie procesów uruchomionych Zanim będziemy mogli w pełni wykorzystać belce W Sieci).
przez danego użytkownika. możliwości udostępniane przez program We-
bmin, musimy go skonfigurować. W tym pa- Konfiguracja portów i adresów
Podsumowując – Webmin jest narzędziem ragrafie skupimy się na kwestiach związa- Zarówno Webmin, jak i Usermin zawierają
przeznaczonym głównie dla administratorów nych z ustawieniami interfejsu oraz adresami wbudowane serwery, umożliwiające prak-
systemu, natomiast Usermin umożliwia zdal- i portami, pod którymi będzie dostępny inter- tycznie bezkonfiguracyjne uruchomienie
ne wykonywanie najczęstszych zadań przez fejs programu. aplikacji. Należy jednak zwrócić uwagę na
użytkowników. Po otworzeniu interfejsu programu We- kilka ważnych problemów związanych ze
bmin w oknie przeglądarki pojawi się stro- zdalnym dostępem do interfejsów progra-
Instalacja programów na z informacjami na temat systemu, na mów.
Webmin i Usermin którym uruchomiony jest serwer programu Domyślnie Webmin oczekuje połączeń
Najnowsze wersje programów Webmin Webmin, takimi jak wykorzystanie pamię- na porcie 10000, na adresach przypisanych
i Usermin są dostępne na stronie http:// ci operacyjnej i przestrzeni dyskowej (Ry- wszystkim interfejsom sieciowym zainstalo-
webmin.com/. Gorąco polecam instalację z sunek 1). W menu znajdującym się po lewej wanym w komputerze. Z pewnych względów
wykorzystaniem pakietów binarnych prze- stronie interfejsu, z kategorii Webmin wy- możesz chcieć zmienić te ustawienia, np. w
znaczonych dla Twojej dystrybucji – me- bierz moduł Webmin Configuration. Twoim celu uniemożliwienia zdalnego dostępu do in-
nedżer pakietów zadba bowiem o spełnie- oczom ukaże się szereg ikon przedstawia- terfejsu aplikacji, poprzez powiązanie progra-
nie wszystkich zależności. Jeżeli decydu- jących rozmaite aspekty konfiguracji apli- mu z adresem localhost (127.0.0.1).

www.lpmagazine.org 25
Rozwiązania
Webmin i Usermin – zdalna administracja

Odpowiednie opcje konfiguracyjne Bezpośrednio po instalacji Webmin posia- do wskazania ścieżki dostępu do pliku ze ścią-
znajdziesz w menu dostępnym pod ikoną da bardzo szeroką listę modułów, za pomocą gniętym modułem, lub wybrania modułu z li-
Ports And Addresses. W celu ustawienia których będziemy mogli skonfigurować każ- sty dostępnych modułów.
interfejsu i portu, na którym Webmin ma dy aspekt pracy systemu i najczęściej używa- Jeżeli chcesz zainstalować nowy moduł,
oczekiwać połączeń, zmień wartości zapi- nych serwerów sieciowych. Pokażemy teraz, w menu wybierz kategorię Webmin, następnie
sane w polach Bind to IP address – opcja jak konfigurować, instalować i zarządzać mo- Webmin Configuration oraz Webmin Modules.
Any address spowoduje nasłuchiwanie na dułami. Pokaże się strona, na której będziesz mógł wy-
wszystkich adresach konfigurowanego ser- brać źródło danych (Rysunek 3):
wera, Only address... – jedynie na określo- Konfiguracja modułów
nym adresie IP. Zmiana wartości zapisa- Niemal za każdą z opcji, dostępnych w me- • From local file – instalacja pliku znajdu-
nej w polu Listen on port spowoduje zmia- nu programu Webmin, odpowiada osobny jącego się na maszynie, na której urucho-
nę portu, na którym Webmin będzie oczeki- moduł. Część z nich jest po instalacji nieak- miony jest Webmin;
wał połączeń. tywna, ponieważ w systemie nie wykryto ser- • From uploaded file – instalacja pliku
Inną ważną opcją konfiguracyjną, znaj- werów, za których konfigurację odpowiadają, znajdującego się na komputerze, za po-
dującą się w menu Ports and addresses, jest lub ich błędna konfiguracja uniemożliwia po- mocą którego łączysz się z interfejsem
Listen for broadcasts on UDP port. Do- prawne działanie. programu Webmin;
myślnie jest ona aktywowana na tym sa- Każdy z modułów posiada swój własny • From FTP or HTTP URL – instalacja
mym porcie, na którym aplikacja oczekuje panel konfiguracyjny, dostępny po kliknię- modułu dostępnego pod wskazanym ad-
połączeń z interfejsem przeglądarkowym. ciu etykiety Module Config w lewym górnym resem URL;
Aktywowanie tej opcji umożliwi nam ła- rogu ekranu. Nie sposób opisać tu znaczenia • Standard module from www.webmin.com
twe skonfigurowanie funkcji zarządzania opcji konfiguracyjnych dla wszystkich modu- – instalacja jednego ze standardowych
grupowego, opisywanego w następnych pa- łów, ograniczymy się więc do porad, jak ra- modułów. Po jej wybraniu pojawi się li-
ragrafach. dzić sobie w sytuacji, gdy któryś z modułów sta dostępnych modułów wraz z ich krót-
Po wprowadzeniu zmian w menu Ports nie działa prawidłowo. kimi opisami;
and Addresses zawsze pamiętaj o sprawdze- Jeżeli problemy sprawia moduł odpo- • Third party module – instalacja jednego
niu konfiguracji ściany ogniowej systemu i wiadający za konfigurację serwera, powi- z nieoficjalnych modułów. Po jej wybra-
zezwoleniu na połączenia przychodzące na nieneś przede wszystkim sprawdzić popraw- niu pojawi się lista dostępnych modułów
określonych adresach. ność ścieżek dostępu do plików konfiguracyj- niestandardowych wraz z ich krótkimi
nych danego serwera. Następnie upewnij się, opisami.
Moduły że użytkownik programu Webmin, na które-
Spośród wielu zalet programu Webmin jedną go koncie jesteś zalogowany, ma odpowied- Po wskazaniu źródła, z którego Webmin ma
z najważniejszych jest możliwość rozszerza- nie prawa dostępu do modułu sprawiające- pobrać dodatkowy moduł, możesz ustawić fla-
nia za pomocą modułów. Dają one możliwość go problemy. gę ignorowania zależności (Ignore dependen-
dodania nowych funkcji do aplikacji oraz po- cies), oraz wybrać użytkownika, który będzie
zwalają na łatwe określanie praw dostępu Instalacja i aktualizacja modułów miał do niego dostęp po instalacji (Grant ac-
użytkowników do poszczególnych obszarów Instalacja dodatkowych modułów programu cess only to users and groups), lub włączyć
konfiguracji systemu. Webmin jest niezwykle prosta i sprowadza się udostępnianie modułu wszystkim użytkowni-
kom (Grant access to all Webmin users).
Warto okresowo przeprowadzać aktu-
alizacje zainstalowanych modułów progra-
mu Webmin. Informacja o dostępności now-
szych wersji modułów pojawia się na ekra-
nie startowym aplikacji. Za pomocą menu
Upgrade Webmin, znajdującego się w mo-
dule Webmin Configuration, możesz ręcznie
przeprowadzić aktualizację pakietów. Aktu-
alizację programu Webmin przeprowadza się
podobnie jak instalację nowych modułów. W
tym celu na zakładce Upgrade Webmin wy-
bierz źródło danych, a następnie kliknij przy-
cisk Upgrade Webmin.
Webmin umożliwia również skonfiguro-
wanie automatycznej aktualizacji programu.
Aby aktywować tę opcję, przejdź na zakładkę
Scheduled update, a następnie zaznacz opcję
Scheduled updating currently enabled oraz
wybierz źródło, z którego mają być pobierane
pakiety (domyślnie jest to główna strona pro-
Rysunek 1. Strona, którą wita nas Webmin po zalogowaniu jektu Webmin).

26 maj 2009
Rozwiązania
Webmin i Usermin – zdalna administracja

Inne operacje na modułach na sieć bezprzewodowa. Domyślnie, jeżeli w nieczność ponownego utworzenia certyfika-
W menu Webmin Modules możesz dodatko- systemie zainstalowane są odpowiednie pa- tów użytkowników – pamiętaj o tym, jeżeli
wo usuwać, klonować oraz eksportować ist- kiety, Webmin korzysta z połączeń szyfrowa- w przyszłości będziesz chciał stworzyć nową
niejące moduły. nych za pomocą protokołu kryptograficznego konfigurację CA programu Webmin.
Aby odinstalować dowolny z modułów, SSH, zapewniającego bardzo wysoki poziom Utworzenie certyfikatu CA wymaga wy-
kliknij zakładkę Delete, a następnie z listy bezpieczeństwa. pełnieniu kilku pól:
modułów wybierz moduł (ewentualnie wy- W tym paragrafie pokażemy, jak zmak-
muszając ignorowanie zależności pomiędzy symalizować bezpieczeństwo zarządzanego • Authority name – nazwa nowego CA;
modułami – Ignore module dependencies przez nas serwera, zapobiegając nieuprawnio- • Email address – adres e-mail CA;
when deleting) i kliknij przycisk Delete Se- nemu dostępowi i podsłuchaniu sesji. • Department – nazwa wydziału organizacji;
lected Modules. • Organisation – nazwa organizacji;
Klonowanie modułów może być przy- Konfiguracja CA • State – stan (województwo);
datne, jeżeli chcesz mieć kilka kopii dane- Jeżeli Webmin został zainstalowany na sys- • Country Code – kod kraju, np. PL.
go modułu, o różnych ustawieniach, np. w temie z dostępną biblioteką OpenSSL, to
sytuacji, gdy na zarządzanej maszynie dzia- domyślnie posiada skonfigurowaną jednost- Oprócz tego musisz wybrać rozmiar klucza
ła wiele instancji danego serwera. W ce- kę certyfikującą. Możesz jednak łatwo zmie- RSA dla nowego certyfikatu. Domyślnie ma
lu sklonowania istniejącego modułu, na za- nić jej parametry korzystając z menu Certifi- on długość 512 bitów i jest to wartość zapew-
kładce Clone wybierz moduł do sklonowa- cate Authority, dostępnego w module Webmin niająca dostateczne bezpieczeństwo. Jeżeli
nia (Module to clone), nazwę kopii modułu Configuration. Wprowadzenie spersonalizo- jednak chcesz zwiększyć długość klucza, mo-
(Cloned module name), jego kategorię (As- wanych ustawień oraz wybranie odpowied- żesz to zrobić podając odpowiednią wartość w
sign to category) oraz flagę powodującą po- niej długości klucza spowoduje jednak ko- polu Custom size.
wrót do domyślnej konfiguracji (Reset confi-
guration to default).
Opcja eksportowania modułów (zakład-
ka Export) może okazać się użyteczna, kie-
dy będziemy chcieli szybko przenieść mo-
duły (wraz z ustawieniami) pomiędzy wielo-
ma instalacjami programu Webmin. Aby zapi-
sać eksportowany moduł na serwerze, wybierz
opcję File on server, natomiast aby ściągnąć
go na dysk komputera, z którego się logujesz
– Download in browser.

Logi modułów
Większość modułów programu Webmin two-
rzy logi, w których zapisywane są zmiany do-
konywane za ich pośrednictwem, wraz z data-
mi i nazwami użytkowników, z których kont
zostały one wprowadzone.
Aby zobaczyć logi wyświetlanego wła-
śnie modułu, kliknij przycisk View Module-
’s Logs, znajdujący się w lewym dolnym ro- Rysunek 2. Moduł Webmin Configuration, za pomocą którego zmieniamy ustawienia aplikacji
gu interfejsu przeglądarkowego. Zauważ, że
każdy moduł tworzy własny log, tak więc
aby obejrzeć zapis czynności wykonanych
w danym module, musisz go najpierw wy-
wołać.

Zwiększamy bezpieczeństwo
Kiedy mówimy o aplikacjach służących do
zdalnej administracji, nie sposób nie wspo-
mnieć o zagadnieniach związanych z bezpie-
czeństwem. Błędy w aplikacji lub zła konfigu-
racja (co w praktyce zdarza się znacznie czę-
ściej), mogą sprawić, że przyjdzie nam słono
zapłacić za większą wygodę administracji.
Webmin należy do narzędzi bardzo do-
brze przygotowanych do pracy w niezaufa-
nych środowiskach, takich jak np. publicz- Rysunek 3. Instalacja dodatkowych modułów Webmin

www.lpmagazine.org 27
Rozwiązania
Webmin i Usermin – zdalna administracja

Po podaniu wszystkich parametrów klik-i ustanawiania szyfrowanego połączenia po- umożliwia również użycie odrębnych plików
nij przycisk Setup certificate authority. Po
między klientem a serwerem. kluczy dla połączeń z różnymi adresami IP
chwili zostanie wygenerowany nowy certy- Plik klucza możemy wygenerować przy wy- – odpowiednie opcje odnajdziesz na zakładce
korzystaniu menu SSL Encryption, znajdującego
fikat, którego podgląd dostępny będzie w po- Per–IP certificates. Więcej informacji na te-
lu tekstowym poniżej. Naciśnięcie przyci- się w module Webmin Configuration. Na zakład- mat tej opcji znajdziesz w dokumentacji pro-
sku Shutdown certificate authority spowodu-ce Create Certificate należy wypełnić pola ana- gramu Webmin.
je wyłączenie jednostki certyfikującej – ist-
logicznie jak dla certyfikatu CA, pamiętając przy
niejące certyfikaty nie będą uwzględniane, a
tym, aby jako nazwy serwera użyć nazwy dome- Certyfikaty klientów
użytkownicy korzystający z nich będą musie-nowej lub adresu IP, zaś w przypadku, gdy ad- Oprócz standardowej metody uwierzytelnia-
li logować się przy użyciu nazwy użytkow- res serwera jest zmienny, zaznaczyć opcję Any nia, jaką jest nazwa użytkownika i hasło, We-
nika i hasła. hostname. Pole Days before expiry określa waż- bmin pozwala na użycie w tym celu certyfi-
ność certyfikatu podaną w dniach, zaś zaznacze- katów. Jest to wygodne i bezpieczne rozwią-
Certyfikat serwera nie opcji Use new key immediately powoduje na- zanie, jednak przy jego wykorzystaniu nale-
Następnym krokiem jest wygenerowanie cer- tychmiastowe użycie klucza po wygenerowaniu. ży pamiętać o niebezpieczeństwie uzyskania
tyfikatu dla serwera. Webmin będzie używał Utworzony certyfikat możemy obej- przez osobę niepowołaną dostępu do pliku z
go w celu przedstawiania się użytkownikom rzeć na zakładce Current certificate. Webmin kluczem – może się to zdarzyć np. w sytuacji,
gdy laptop, z którego korzysta użytkownik,
zostanie ukradziony.
Jeżeli zdecydujesz się na ten sposób
uwierzytelniania użytkowników, narzędzie
do generowania certyfikatów znajdziesz w
module Webmin Users, pod przyciskiem Re-
quest an SSL certificate. Proces generowania
klucza dla użytkownika odbywa się bardzo
podobnie jak w przypadku tworzenia certy-
fikatu serwera, i sprowadza się do wprowa-
dzenia kilku parametrów i określenia długo-
ści klucza.
Po wygenerowaniu certyfikatu możesz
zainstalować go w przeglądarce interneto-
wej. Proces logowania będzie teraz odbywał
się automatycznie, bez potrzeby wprowadza-
nia nazwy użytkownika lub hasła. Certyfi-
katy można przypisywać konkretnym użyt-
kownikom przy pomocy karty właściwo-
ści konta.

Rysunek 4. Ustawienia kont użytkownika Konta użytkowników


Bezpośrednio po instalacji, w interfejsie
Webmin możemy zalogować się przy użyciu
konta użytkownika root systemu, na którym
uruchomiony jest serwer. Nic nie stoi jed-
nak na przeszkodzie, aby utworzyć dodat-
kowe konta o określonych uprawnieniach.
Rozwiązanie to okaże się szczególnie do-
godne, gdy za zarządzanie serwerem odpo-
wiada kilka osób lub gdy chcemy pozwo-
lić użytkownikom na zmiany opcji związa-
nych np. z działaniem serwera Samba syste-
mu. Pokażemy również, jak używać certyfi-
katów, służących jako alternatywny sposób
uwierzytelniania.
Zmiany w zakresie konfiguracji kont użyt-
kowników dokonujemy za pomocą modu-
łu Webmin Users. Opcje konfiguracyjne kont
użytkowników prześledzimy na przykładzie
tworzenia nowego konta.
Aby utworzyć nowe konto kliknij przy-
Rysunek 5. Lista serwerów z zainstalowanym programem Webmin cisk Create a new Webmin user. W przeglądar-

28 maj 2009
Rozwiązania
Webmin i Usermin – zdalna administracja

ce otworzy się strona, na której musisz wpro- dać do listy mają aktywną funkcję nasłu- tokołu kryptograficznego, oraz nazwy użyt-
wadzić parametry nowego konta (Rysunek 4). chiwania połączeń rozgłoszeniowych (Bro- kownika Webmin i hasła. Po kliknięciu przy-
W grupie ustawień Webmin user access rights adcast), to możesz z niej skorzystać, naci- cisku Save, serwer zostanie dodany do listy
należy podać podstawowe parametry konta, skając przycisk Broadcast for servers. Mo- zarządzanych serwerów.
takie jak nazwa użytkownika (pole Userna- żesz również przeszukać całą sieć przy po-
me) i hasło (Password). Wybranie opcji Set mocy opcji Scan for servers i podając da- Narzędzia administracji grupami
to... spowoduje wymuszenie używania wybra- ne logowania. Moduły służące do zarządzania grupami ser-
nego hasła, zaś Unix authentication spowodu- W większości przypadków serwery bę- werów znajdują się w kategorii Cluster. Omó-
je wykorzystanie hasła istniejącego w syste- dziesz dodawał ręcznie, przy pomocy opcji wimy teraz krótko najciekawsze możliwości,
mie. Ustawienie flagi Force change at next lo- Register a new server. W oknie, które poja- jakie oferują.
gin spowoduje wymuszenie zmiany hasła przy wi się po kliknięciu tego przycisku, zostaniesz W środowiskach sieciowych, w których
pierwszym logowaniu. poproszony o podanie informacji, takich jak działa wiele serwerów, często istnieje potrze-
W kategorii User interface options może- adres zdalnego serwera oraz port, na którym ba, aby utworzyć nowe konto użytkownika na
my wybrać certyfikat, którym będzie posłu- należy nawiązać połączenie. Możesz dodać każdym z nich. Umożliwia to moduł Cluster
giwał się użytkownik (SSL certificate name) serwer do istniejącej grupy lub utworzyć no- Users and Groups. Aby dodać nowe konto
oraz skonfigurować interfejs, zmieniając je- wą, podając jej nazwę w polu New group. Bar- użytkownika dla wybranych serwerów, klik-
go język (Language) i motyw graficzny (Per- dzo ważne jest, aby aktywować opcję SSL se- nij przycisk Add User i w wyświetlonym for-
sonal UI theme). rver, jeżeli zdalny system korzysta z tego pro- mularzu wprowadź wymagane dane, na ko-
Ważne ustawienia wpływające na bezpie-
czeństwo znajdują się w grupie Security and
limits options. Możemy tutaj ustawić godzi-
ny oraz dni tygodnia, w których dany użyt-
kownik będzie mógł się zalogować (Allowed
days/times of the week/day) oraz skonfiguro-
wać parametry takie jak minimalna długość
hasła (Minimum password length) i maksy-
malny dozwolony czas bezczynności (Inac-
tivity logout time). Szczególnie duże znacze-
nie ma opcja IP access control, pozwalają-
ca na określenie adresów z których użytkow-
nik może się logować (Only allow from listed
addresses).
Każdemu z użytkowników możemy przy-
pisać uprawnienia dostępu do określonych
modułów. Lista wszystkich modułów znajdu-
je się na samym dole strony, za pomocą której
tworzymy konto użytkownika. Rysunek 6. Moduł Cluster Software Packages, służący do zarządzania pakietami grup serwerów
Po wybraniu odpowiednich modułów
kliknij przycisk Create. Możesz już spróbo-
wać zalogować się na nowe konto.

Zarządzanie grupami serwerów


Webmin umożliwia zarządzanie nie tylko po-
jedynczymi serwerami, ale również tzw. kla-
strami – grupami komputerów z zainstalowa-
nym programem Webmin. Dzięki temu może-
my skrócić czas potrzebny na wykonanie ope-
racji, które musielibyśmy powtarzać dla każ-
dej maszyny.

Tworzenie grupy serwerów


Aby utworzyć nową grupę serwerów,
przejdź do modułu Webmin Servers Index.
Otworzy się strona (Rysunek 5), na któ-
rej możesz dodawać serwery Webmin w
celu zarządzania nimi za pomocą narzę-
dzi do wprowadzania zmian w konfigu-
racji grup serwerów (kategoria modułów
Cluster). Jeżeli serwery, które chcesz do- Rysunek 7. Moduł Samba Windows File Sharing, służący do konfiguracji serwera Samba

www.lpmagazine.org 29
Rozwiązania
Webmin i Usermin – zdalna administracja

niec wybierając serwery, na których ma zo- dzanie aktualizacji oraz porównywanie wer- ustawień programów Webmin i Usermin dla
stać utworzone zdefiniowane konto (Servers sji oprogramowania dostępnego na poszcze- grup serwerów. W szczególności umożliwiają
to create on). Bardzo podobnie przebiega pro- gólnych serwerach. Aby dokonywać tych ope- jednoczesną instalację i aktualizację modułów
ces tworzenia grup na wielu serwerach jedno- racji, musisz najpierw dodać serwery do wi- oraz zarządzanie użytkownikami programów.
cześnie (Add Group). doku tego narzędzia, wybierając z listy roz-
Moduł Cluster Cron Jobs pozwala na jed- wijalnej nazwy komputerów i klikając przy- Zastosowania
noczesne zaplanowanie zadań Cron dla wielu cisk Add server. Aby porównać pakiety za- programu Webmin
serwerów. Po kliknięciu etykiety Create a new instalowane na serwerach, użyj opcji Compa- Program Webmin jest już w pełni skonfiguro-
cluster cron job i wypełnieniu zestawu pól po- re Servers. Za pomocą funkcji Installed Pac- wany. Po wprowadzeniu opisanych zmian sta-
nownie będziesz musiał wybrać serwery, na kages możesz wyszukiwać określone pakiety, nowi bezpieczne i wygodne narzędzie do zdal-
których powinno zostać dodane owe zadanie. zaś przy użyciu narzędzia Install a New Pac- nego przeprowadzania prac administracyjnych,
Ciekawym narzędziem jest moduł Cluster kage możesz zainstalować nowy pakiet z do- zarządzania uruchomionymi usługami, konta-
Software Packages (Rysunek 6). Umożliwia wolnego źródła. mi użytkowników oraz umożliwia monitoro-
on zarządzanie pakietami zainstalowanymi Moduły Cluster Usermin Servers oraz Clu- wanie pracy sprzętu i przeglądania logów sys-
na wielu serwerach, jednoczesne przeprowa- ster Webmin Servers pozwalają na zarządzanie temowych.
Nie sposób opisać, nawet w kilku artyku-
łach, wszystkich możliwości konfiguracji sys-
W Sieci temu, jakie dają moduły programu Webmin.
Jednak dzięki łatwości ich obsługi oraz bar-
• Strona główna programów Webmin i Usermin – www.webmin.com
dzo dobrej dokumentacji, dostępnej na stronie
głównej programu, nawet początkujący użyt-
kownicy nie będą mieli problemu z wykorzy-
staniem możliwości, jakie daje skonfigurowana
przez nas aplikacja. Jest jeszcze jeden powód,
dla którego nie opisuję tu sposobu wykorzysta-
nia poszczególnych modułów – ich wykorzy-
stanie wymaga zazwyczaj chociaż podstawo-
wej wiedzy z zakresu sposobu działania danego
serwera, lub mechanizmu systemu, za którego
konfigurację dany moduł odpowiada.
Zamiast opisu poszczególnych modułów
przedstawię teraz domeny zastosowań progra-
mu Webmin wraz z przykładowymi moduła-
mi, służącymi do ich realizacji.

Monitorowanie pracy serwera


Standardowe moduły programu Webmin
umożliwiają monitorowanie wielu aspektów
Rysunek 8. Aplet File Manager, umożliwiający wygodny dostęp zdalny do plików znajdujących się na serwerze
pracy serwera – począwszy od podstawowych
informacji o wykorzystaniu zasobów aż do
zaawansowanych statystyk połączeń siecio-
wych. Najważniejsze moduły służące do wy-
konywania zadań z tej kategorii to:

• System Logs – moduł umożliwiający


przeglądanie plików z logami systemu
(głownie z katalogu /var/log);
• Webalizer Logfile Analysis – moduł służą-
cy do analizy plików z logami i tworzenia
na ich podstawie raportów;
• System and Server Status – moduł umoż-
liwiający monitorowanie rozmaitych
aspektów pracy systemu, takich jak uru-
chomione usługi oraz dający możliwość
powiadamiania administratora o proble-
mach za pomocą poczty e-mail;
• Bandwidth Monitoring – moduł służący
do analizy ruchu sieciowego i wykorzy-
Rysunek 9. Przykładowe zastosowanie programu Usermin – proste rozwiązanie webmail stania łącza sieciowego;

30 maj 2009
Rozwiązania
Webmin i Usermin – zdalna administracja

• Partitions on Local Disks – moduł służą- nego zarządzania serwerami. Usermin, będą- Usermin a urządzenia mobilne
cy do zarządzania partycjami serwera; cy bardzo podobnym narzędziem, prezentuje Usermin umożliwia szybkie tworzenie
• Printer Administration – moduł służący podejście do problemu pracy zdalnej od stro- wygodnych rozwiązań dostępu zdalnego
do zarządzania drukarkami podłączony- ny użytkownika (Rysunek 9). Nie udostęp- dla urządzeń mobilnych, takich jak PDA
mi do serwera; nia złożonych opcji konfiguracyjnych serwe- i smartfony. Opcje umożliwiające dostoso-
• SMART Drive Status – moduł służą- rów ani nie pozwala na dokonywanie zmian w wanie interfejsu do obsługi urządzeń tego
cy do odczytu danych diagnostycznych ustawieniach systemu (co w tym wypadku by- typu znajdują się w module Usermin Confi-
SMART dysku twardego. łoby niepożądane), lecz stanowi wygodne na- gurations, w menu Mobile Devices Options.
rzędzie do odbierania i wysyłania poczty, za- Dla wolniejszych urządzeń mobilnych war-
Konfiguracja serwerów rządzania plikami oraz zdalnego wykonywa- to wybrać jak najprostszy motyw graficzny
Webmin posiada wiele modułów, które umoż- nia poleceń trybu tekstowego. interfejsu.
liwiają wygodną konfigurację i zarządzanie
serwerami najpopularniejszych usług siecio- Konfiguracja Usermin Podsumowanie
wych. Najczęściej używane moduły z tej ka- Konfiguracja programu Usermin jest bardzo Z artykułu dowiedziałeś się, jak zainstalować,
tegorii to: prosta i odbywa się za pomocą specjalnego mo- skonfigurować i korzystać z dwóch bardzo do-
dułu programu Webmin – Usermin Configura- brych programów do zdalnej pracy i admini-
• Apache Webserver – moduł służący do tion. Niestety, nie jest on dostępny od razu po stracji – Webmin i Usermin. Wiesz już rów-
konfiguracji serwera Apache. Udostępnia instalacji, tak więc będziesz musiał zainstalo- nież, jak rozszerzać możliwości tych aplika-
narzędzia do konfiguracji wszystkich naj- wać go na własną rękę. cji za pomocą dodatkowych modułów i jak
ważniejszych funkcji serwera WWW oraz Aby zainstalować moduł Usermin Confi- prawidłowo zadbać o bezpieczeństwo two-
umożliwia tworzenie i zarządzanie wirtu- guration, otwórz w przeglądarce interfejs pro- rzonych rozwiązań. Chciałbym, abyś pamię-
alnymi hostami; gramu Webmin, a następnie za pomocą narzę- tał, że artykuł ten pokazuje jedynie, jak zbu-
• BIND DNS Server – moduł ułatwiający dzia służącego do instalowania modułów, po- dować szkielet rozwiązania zdalnego dostępu
konfigurację serwera DNS; bierz i zainstaluj wspomniany moduł korzysta- dla użytkowników – w rzeczywistych środo-
• MySQL Database Server – moduł służą- jąc ze standardowego repozytorium modułów wiskach istnieje bowiem bardzo duża różno-
cy do konfiguracji, zarządzania i przeglą- http://www.webmin.com (opis instalacji modu- rodność problemów, którym sprostać muszą
dania baz danych MySQL uruchomionych łów znajduje się w jednym z poprzednich pa- systemy tego typu, a których nie sposób opi-
na serwerze; ragrafów). Po zakończeniu instalacji (która od- sać w jednym artykule.
• SSH Server – moduł umożliwiający konfi- bywa się w pełni automatycznie) odśwież listę Na stronie głównej programu Webmin
gurację serwera SSH; modułów, klikając przycisk Refresh Modules znajdziesz również inną aplikację – Virtualmin,
• Samba Windows File Sharing – moduł słu- w lewym dolnym rogu interfejsu przeglądar- usprawniającą zarządzanie serwerami w zło-
żący do konfiguracji serwera Samba, umoż- kowego. W kategorii Webmin powinna poja- żonych środowiskach wykorzystujących wir-
liwiającego współdzielenie plików z syste- wić się dodatkowa pozycja – moduł Usermin tualizację.
mami Microsoft Windows (Rysunek 7); Configuration. Jeżeli zainteresował Cię temat zdalne-
• Sendmail Mail Server – moduł służący do Po uruchomieniu zainstalowanego modu- go zarządzania serwerami przy użyciu pro-
konfiguracji serwera Sendmail. łu z pewnością zauważysz bardzo duże podo- gramów Webmin i Usermin, to zachęcam
bieństwo do narzędzia używanego przy kon- do poszukiwania dodatkowych informacji
Zdalny dostęp figuracji programu Webmin. Po aktywowa- na stronach internetowych. Znajdziesz na
do systemu plików i terminala niu poszczególnych opcji okaże się, że różni- nich nie tylko wiele porad dotyczących za-
Webmin zawiera bardzo wygodne narzędzie ce sięgają jeszcze głębiej – proces konfigura- awansowanych aspektów konfiguracji oma-
służące do przeglądania plików i folderów cji programu Usermin w zasadzie nie różni się wianych aplikacji, ale również wiele dodat-
znajdujących się na zdalnej maszynie – Fi- niczym od konfiguracji, którą przeprowadzili- kowych modułów, które mogą znacznie uła-
le Manager (Rysunek 8). Jest to aplet Javy, śmy w poprzednich punktach. twić Ci pracę. Czytelnikom zajmującym się
posiadający bardzo duże możliwości, udo- Zwróć tylko uwagę na fakt, iż w przy- zarządzaniem większymi sieciami szczegól-
stępniający interfejs bardzo podobny do te- padku programu Usermin konfiguracja wy- nie polecam dokładne zapoznanie się z moż-
go, który wszyscy znamy ze standardowych glądu interfejsu nabiera znacznie większego liwościami zarządzania grupowego, udo-
menadżerów plików dostępnych w KDE i znaczenia – odpowiednie pogrupowanie mo- stępnianymi przez program Webmin.
Gnome. dułów, wraz ze zmianą ich nazw, może znacz-
Drugim wartym uwagi narzędziem jest nie poprawić wygodę obsługi systemu zdalne-
zdalny terminal – Command Shell. Umożli- go dostępu.
wia on szybkie wydawanie poleceń, bez po- O autorze
trzeby ustanawiania sesji SSH pomiędzy dwo- Zastosowania programu Usermin
Autor interesuje się bezpieczeństwem
ma maszynami. Usermin również może być rozszerzany za
systemów informatycznych, programo-
pomocą modułów, dając możliwość zbudo-
waniem, elektroniką, muzyką rockową,
Usermin wania wydajnego systemu pozwalającego na-
architekturą mikroprocesorów oraz za-
– konfiguracja i zastosowanie szym użytkownikom na wykonywanie pro-
stosowaniem Linuksa w systemach wbu-
Webmin jest programem przeznaczonym stych zadań, takich jak obsługa poczty elek-
dowanych.
głównie dla administratorów poszukujących tronicznej lub zdalne zarządzanie plikami za
Kontakt z autorem: rkulaga89@gmail.com
bezpiecznego i wydajnego narzędzia do zdal- pomocą apletu znanego z programu Webmin.

www.lpmagazine.org 31
Rozwiązania
Współpraca telefonów komórkowych z systemem Linux

Współpraca telefonów
z systemem Linux
Michał Sobczak

Obsługę telefonów komórkowych w Linuksie można krótko podsumować – nie zawsze działa, nie
posiada oficjalnego wsparcia producentów aparatów, lecz jeśli działa, to sprawia dużą radość.

O
bsługa telefonów komórkowych w systemie jest Symbian (z drobnymi wyjątkami), Palm OS ani żaden
linux@software.com.pl

Linux jest zupełnie odmienna od obsługi tele- mobilny Linux – to są kwestie osobne.
fonów w innych systemach, a głównie w Win-
dows. W przeważającej większości producen- Nokia
ci sprzętu zostawiają użytkowników Linuksa bez odpowied- Wśród oprogramowania dla telefonów marki Nokia, prym wie-
niego oprogramowania, które będzie oficjalnie wspierane. Z dzie aplikacja Gnokii, obecnie zarządzana m. in. przez polskie-
ekonomicznego i racjonalnego punktu widzenia jest to cał- go programistę. Jest to oprogramowanie przenośne, w sen-
kiem rozsądne działanie, ponieważ koszt produkcji komer- sie obsługi wielu systemów operacyjnych, np. Linux, Solaris,
cyjnego oprogramowania musi być odpowiednio uzasadnio- otwarte BSD oraz Windows. Gnokii to aplikacja z interfejsem
ny. W przypadku użytkowników systemu Linux, producen- tekstowym, jednakże posiada także wiele interfejsów graficz-
ci zapewne twierdzą, że środowisko jeśli będzie oprogramo- nych, takich jak Xgnokii oraz Gnocky.
wania potrzebowało, to go stworzy. Z drugiej jednak strony
utrzymywanie specyfikacji sprzętu i protokołów komunika-
cyjnych jako tajemnicę handlową, jest czynnikiem spowal-
niającym rozwój tego typu aplikacji. Na szczęście wiele te-
lefonów działa w sposób ustandaryzowany i nie ma proble-
mów tego typu.
Wśród otwartego oprogramowania wyróżniamy obecnie
kilka tytułów, które są warte kilku minut uwagi. W zależno-
ści od tego, jaki telefon komórkowy posiadamy, potrzebuje-
my innych aplikacji. Warto również zwrócić uwagę, że mó-
wimy tutaj o telefonach, których systemem operacyjnym nie Rysunek 1. Interfejs graficzny oprogramowania Gnokii – Gnocky

32 maj 2009
Rozwiązania
Współpraca telefonów komórkowych z systemem Linux

Projekt rozpoczął się w 1998 roku jako opro- SieFS został oparty o FUSE (ang. Filesystem //moto4lin.sf.net. Projekt działa od 2005 roku,
gramowanie obsługujące telefony Nokia 3810/ in USErspace). Obsługiwanymi telefonami są: jednakże od dłuższego czasu nie miała miejsce
3110/8110. Umożliwia komunikację z telefonem S45, ME45, C65, SL55 oraz kilka innych. Pełną żadna znacząca jego aktualizacja.
za pomocą kabla szeregowego, USB, podczer- listę funkcjonujących połączeń można znaleźć
wieni oraz Bluetooth. Pozwala na wysyłanie i pod adresem http://chaos.allsiemens.com/siefs. Pozostałe projekty
odbieranie wiadomości SMS wraz z potwierdze- Ostatnia jednak aktualizacja SieFS miała miej- Poza najbardziej charakterystycznym oprogra-
niami dostarczenia. Warto wspomnieć, że obsłu- sce w 2005 roku, zatem można stwierdzić, że za- mowaniem pokroju Gnokii istnieje cała gama
giwana jest opcja WAP Push. Ponadto uzyskuje- interesowanie projektem jest coraz mniejsze. aplikacji, które w mniejszym lub większym
my dostęp do książki adresowej, kalendarza oraz, stopniu obsługują różne aparaty. Są to także bi-
co chyba najciekawsze, możliwości wykonywa- LG, Samsung, Sanyo blioteki oraz interfejsy użytkownika dla wcze-
nia i odpowiadania na rozmowy głosowe. Wśród Właściciele aparatów LG, Samsung oraz Sanyo śniej wymienionych aplikacji. Możemy tutaj
obsługiwanych aparatów znajdują się m. in. se- mogą korzystać z programowania BitPim. Sze- wymienić m.in. KMobileTools, floAT's Mobi-
rie 51xx, 60xx, 61xx, 62xx, 63xx oraz telefony roka lista obsługiwanych aparatów znajduje się le Agent, Funambol, Gammu, Wammu i kil-
z systemem Symbian, tj. 6600 i 6260. Szczegó- pod adresem http://www.bitpim.org. Projekt wy- ka innych.
łowa lista obsługiwanych aparatów znajduje się daje się być całkiem aktywnym, gdyż ostatnia
pod adresem http://wiki.gnokii.org. jego aktualizacja miała miejsce 15 grudnia 2008 Podsumowanie
roku. Świetnie ponadto prezentuje się system Po krótkim przeglądzie możemy stwierdzić, że
Siemens pomocy umieszczony na stronie internetowej, wprawdzie oficjalne wsparcie dla systemu Li-
Dla posiadaczy aparatów marki Siemens został który zawiera listę testowanych modeli aparatów nux nie istnieje ze strony producentów apara-
przygotowany projekt SieFS, który jest wirtual- wraz ze znanymi problemami z ich obsługą. tów, ale prywatna inicjatywa skutecznie temu
nym systemem plików, umożliwiającym dostęp BitPim to aplikacja umożliwiająca podgląd zapobiega. Dostarczane oprogramowanie cza-
do pamięci telefonu. Pamięć taka, z wykorzysta- oraz manipulację danymi znajdującymi się w sami wymaga większej ilości czasu, aby po-
niem SieFS, może być podmontowana jako nor- pamięci telefonu komórkowego. Możliwy jest prawnie obsługiwało dany model aparatu. Za-
malne urządzenie za pomocą kabla transmisyjne- m.in. dostęp do: książki adresowej, kalenda- wsze jest jednak możliwość, aby we własnym
go lub podczerwieni. SieFS dostarczą ciekawą rza, tapet, dzwonków oraz wbudowanego sys- zakresie przygotować i opublikować odpo-
opcję konwertera wiadomości głosowych (vmo- temu plików. BitPim działa na systemach Li- wiednie moduły oprogramowania, rozwijając
2wav). Ponadto posiada narzędzie do obsługi linii nux, Mac OS X oraz Windows. Oprogramowa- tym samym społeczność otwartego oprogra-
poleceń (slink) oraz moduł edycji systemu plików nie obsługuje generalnie telefony oparte o chip- mowania.
(siefs). Autor podaje na stronie internetowej na- set Qualcomm CDMA. Projekt funkcjonuje od
stępującą sekwencję poleceń. Można ją uzupełnić 2003 roku.
opcjami w miejsce nawiasów kwadratowych.
Motorola
mount -t siefs [-o options] /dev/ttyS0 Popularne ostatnio telefony marki Motoro-
/mnt/mobile la mają także oprogramowanie specjalnie dla
fusermount /mnt/mobile siefs /dev/ nich napisane – moto4lin. Aparaty typu: Razr
ttyS0 [options] V3, Rokr E1 oraz m.in. A630, E815 są ozna-
vmo2wav [-o output_file.wav] input_ czone jako współpracujące z moto4lin. Peł-
file.vmo na lista aparatów znajduje się na stronie http:

Rysunek 3. Oprogramowanie KMobileTools

O Autorze
Michał Sobczak. Projektant oprogramowa-
nia, autor literatury informatycznej. Właści-
ciel firmy Septerion zajmującej się produk-
cją i sprzedażą oprogramowania wspoma-
gania zarządzania. Specjalizuje się projek-
towaniu portali społecznościowych.
Kontakt z autorem:
michal.sobczak@septerion.com.
Rysunek 2. Aplikacja BitPim

www.lpmagazine.org 33
Rozwiązania
Synchronizacja urządzeń mobilnych

Synchronizacja
urządzeń mobilnych
Sylwester Zdanowski

Współcześnie dużą popularność zdobyły komputery kieszonkowe nazywane elektronicznymi


asystentami czy mądrymi telefonami. Jednym z warunków ich pełnego wykorzystania jest możliwość
zarządzania danymi poprzez podłączenie do komputera. Pozwala ono na tworzenie kopii zapasowych,
wygodne przeglądanie notatek czy kalendarza. Czynności te wymagają jednak synchronizacji
z systemem, której wykonanie nie tylko z Linuksem może przyprawić o ból głowy.

P
rzenośne urządzenia mogące współpracować Na koniec pozostaje problem o znacznie większej wadze
linux@software.com.pl

z komputerem mogą być wyposażone w jeden niż codzienne korzystanie z elektronicznego asystenta. Przeno-
z kilku konkurujących systemów. Przede wszyst- śne urządzenia, podobnie jak komputery z systemem pewnej fir-
kim funkcjonuje cała rodzina systemów Win- my, czasem wymagają ponownego wgrania całego oprogramo-
dows Mobile, do tego mamy Palm OS czy Symbiana. Jak na- wania. W sytuacji takiej, przy największej chęci unikania sys-
kazuje tradycja, najbardziej problematyczny we współpracy temów komercyjnych, Windows jest najpewniejszym i najbez-
jest produkt firmy Microsoft Windows Mobile. To, co w je- pieczniejszym rozwiązaniem. Alternatywą pozostaje urucho-
go przypadku jest jedynie początkiem drogi do synchroniza- mienie na urządzeniu Linuksa, o ile jest to w ogóle możliwe.
cji, w pozostałych przypadkach powinno być niemal wszyst-
kim co należy zrobić. Kernel
Pierwszym krokiem do wykonania będzie zapewnienie Urządzenia PDA, takie jak Tungsten E, po podłączenia po-
systemowi możliwości wykrycia i komunikowania się z pod- przez USB wykorzystują asynchroniczną transmisję szerego-
łączonym urządzeniem. Zależnie od urządzenia i systemu, wą. Z tego powodu potrzebna jest obsługa asynchroniczne-
jaki ono wykorzystuje, należy zacząć od modułów jądra. Ich go protokołu PPP (ang. point to point protocol). Dodanie tych
ewentualne uzupełnienie mogą stanowić dodatkowe sterow- elementów w jądrze systemu wraz z odpowiednim sterowni-
niki do pobrania w formie źródeł. kiem dla urządzenia wykorzystującego system Palm OS nie-
Kiedy już system wykrywa urządzenie, pozostaje kwe- mal załatwia problem synchronizacji. W przypadku wspo-
stia programu, poprzez który można zarządzać urządzeniem mnianego Tungsten E potrzebny jest również sterownik vi-
oraz jego możliwości. Istnieje wiele tego typu narzędzi za- sor. Położenie w drzewie jądra potrzebnych elementów wi-
równo graficznych, jak i tekstowych. Różnią się one znacz- doczne jest na Listingach 1 i 2.
nie pod kątem synchronizacji, jak i późniejszych możliwo- W przypadku urządzeń z systemem WM należy postępować
ści działania. zgodnie z wymaganiami projektu Synce dla własnej dystrybucji.

34 maj 2009
Rozwiązania
Synchronizacja urządzeń mobilnych

W przypadku dystrybucji Debian konieczna jest zależnie od systemu. Dla systemu PalmOS utwo- stwierdzenia, do jakiego urządzenia mają się od-
instalacja ze źródeł sterowników USB; usb-mdis- rzone zostanie urządzenie znakowe /dev/ttyUSB0 woływać programy synchronizujące dane. Minus
lite. Bez tych sterowników system nie będzie w i /dev/ttyUSB1. Takie działanie ma zarówno plu- polega na kłopotach z kolejnością czynności po-
stanie odczytać nawet numeru seryjnego urządze- sy, jak i minusy. Zasadniczym plusem jest łatwość trzebnych do synchronizacji. Powstaje paradoks.
nia. Stanowią one podstawę do współpracy syste-
mu z urządzeniem. Pomimo iż instalacja ze źródeł Listing 1. Położenie modułów jądra dla PPP
tego sterownika sprowadza się do dwóch komend, Device Drivers --->
kryje pewien haczyk. Jeżeli system jest wyposażo- Network device support --->
ny w skompilowane i odchudzone jądro, możliwy <M> PPP (point-to-point protocol) support
jest brak wymaganych elementów. <M> PPP support for async serial ports
Najprostszym działającym rozwiązaniem
jest wykorzystanie domyślnie zainstalowane- Listing 2. Położenie modułów jadra dla transmisji szeregowej
go przez system jądra. W przypadku systemu <M>USB Serial Conventer support --->
Debian Lenny instalowane jądro 2.6.26-1-686 ...
sprawdza się bez zastrzeżeń. Na Rysunku 1 wi- <M> USB PocketPC PDA Driver
dać jednak jak duża ilość modułów jest instalo- ...
wana wraz z tym jądrem. <M> USB Handspring Visor / Palm m50x / Sony Clie Driver
Dalsze elementy potrzebne do komunikacji
z urządzeniem również zapewnia Synce. W je- Listing 3. Tworzenie urządzeń znakowych
go skład wchodzą trzy protokoły: 1: # mknod /dev/ttyUSB0 c 188 0
2: # mknod /dev/ttyUSB1 c 188 1
• RemoteReplicationAgent – protokół wyko- 3: # ln -s /dev/ttyUSB1 pilot
rzystywany do synchronizacji wszystkich
urządzeń z systemami wcześniejszymi niż
Windows Mobile 2005. Obecnie wykorzy-
stywany częściowo dla synchronizacji pli-
ków, multimediów i notatek;
• RemSync – protokół wykorzystujący port
999 do przekazywania informacji o statu-
sie etapów synchronizacji;
• DesktopPassThrough – protokół wykorzy-
stywany do udostępniania urządzeniu po-
łączenia internetowego komputera.

Dla systemu Symbian do wersji 6.1 konieczna


jest obsługa protokołu PLP. W wersjach kolej-
nych został on zastąpiony przez protokół PPP.

Wykrywanie urządzeń
Do sprawdzenia jak zachowuje sie urządzenie,
oraz usunięcia ewentualnych problemów potrzeb-
ne jest kilka poleceń. Przede wszystkim dmesg
oraz tail, dzięki którym możliwe jest obserwo-
wanie co właściwie dzieje się w systemie. Naj-
lepszą możliwością jest wykorzystanie polecenia
tail -f /var/log/messages, które spowoduje
Rysunek 1. Nadmiarowe moduły domyślnego jądra
wyświetlanie informacji systemu w konsoli.
W przypadku WM system zakomuniku-
je podłączenie zaraz po podłączeniu urządzenia.
System PalmOS przed zakomunikowaniem obec-
ności wymaga wciśnięcia przycisku synchroniza-
cji. Najgorszą możliwością jest brak jakiejkol-
wiek reakcji lub informacja o podłączeniu urzą-
dzenia, ale bez podania żadnych jego danych. Sy-
tuacja taka oznacza problem z fizycznym połącze-
niem lub ze sterownikami. Jeżeli system wyposa-
żony jest we wcześniej wskazane oprogramowa-
nie, nie powinna ona mieć miejsca. Wyświetlone
przez system informacje będą się znacznie różniły Rysunek 2. Wykrycie WM przez Linuksa

www.lpmagazine.org 35
Rozwiązania
Synchronizacja urządzeń mobilnych

Aby odwołać się do urządzenia, należy rozpocząć dzenie znakowe USB, które można zidentyfiko- zarówno dla środowisk KDE, GNOMA, jak i
na urządzeniu synchronizacje, jednak po rozpo- wać przez polecenie lsusb. konsoli. Do podstawowych narzędzi można za-
znaniu urządzenia program doprasza się o jej roz- liczyć KPilot. Program użyteczny dla urządzeń z
poczęcie po raz drugi. Pamiętając, że urządzenie Programy dla PalmOS systemem PalmOS.
znika wraz z jego odłączeniem, konieczne jest W ostatnim kroku do wymiany danych pomię- Jego użycie jest raczej bezproblemowe, wy-
ręczne tworzenie urządzenie znakowego. O tym dzy komputerem a urządzeniem potrzebne jest starczy w konfiguracji wybrać właściwe urzą-
jednak później przy właściwym programie syn- oprogramowanie synchronizujące i przekazują- dzenie oraz prędkość. Należy jednak pamiętać, iż
chronizującym. Dla systemu WM powstaje urzą- ce dane. Istnieje wiele tego rodzaju programów urządzenie ttyUSB zostanie utworzone dopiero po
naciśnięciu przycisku HotSync. Dlatego też mo-
gą pojawić się kłopoty z nawiązaniem połączenia.
Skutecznym rozwiązaniem powinno być utworze-
nie urządzeń znakowych, następnie uruchomienie
programu KPilot. Dzięki temu program będzie
myślał, że urządzenie istnieje, chociaż synchro-
nizacja nie została jeszcze rozpoczęta. Do utwo-
rzenia urządzeń znakowych potrzebne jest polece-
nie mknod widoczne na Listingu 3. Polecenie w li-
nii 3 Listingu 3 tworzy dowiązanie symboliczne
Rysunek 3. Lista urządzeń USB do urządzenia. Dzięki niemu niepotrzebne powin-
no być zmienianie urządzenia w konfiguracji pro-
gramu KPilot, wystarczy jedynie ustawienie wła-
ściwej prędkości. Korzystajac z takiego rozwiąza-
nia należy pamiętać o uprawnieniach dostępu do
urządzenia. Po udanej synchronizacji dane z urzą-
dzenia dostępne będą poprzez program Kontact, z
którym KPilot jest połączony.
Innym programem do prostego wykorzy-
stania z systemem PalmOS jest Evolution. Pro-
gram ten wyposażony został w kreator konfigu-
racji pozwalający na połączenie z urządzeniem.
Jego elementem jest gpilot. W przypadku proble-
mów z automatycznym wykryciem lub zgłosze-
niem problemu związanego z tą aplikacja, moż-
na ja wywołać za pośrednictwem konsoli. Na Ry-
sunku 5 widoczne są wywołane z konsoli progra-
my gpilot oraz Evolution, które pozwoliły na wy-
Rysunek 4. Konfiguracja KPilot
konanie synchronizacji. Po jej zakończeniu, gdy
urządzenie automatycznie kończy połączenie,
pojawia sie błąd, również widoczny na Rysunku.

Programy dla Windows Mobile


W przypadku oprogramowania Microsoft moż-
liwości synchronizacji są dużo mniej komforto-
we. Podstawowe oprogramowanie stanowi Syn-
ce. Jego instalacja jest związana z każdą dystry-

Ważne uwagi praktyczne:


Wszystkie opisane czynności były wykony-
wane w trakcie pisania artykułu. W przypad-
ku braku ich skuteczności należy korzystać z
informacji systemu, których sposób odczytu
podany jest w artykule. Przed rozpoczęciem
prób synchronizacji należy również wykonać
kopię zapasową danych. Jej brak niesie ry-
zyko utraty synchronizowanych informacji.
Sytuacja taka miała miejsce w czasie prób
synchronizacji podczas pisania artykułu.
Rysunek 5. Synchronizacja Evolution

36 maj 2009
Rozwiązania
Synchronizacja urządzeń mobilnych

bucją, czego opis można znaleźć na stronach Próby ominięcia tego ograniczenia na chwi- Inne programy, inne systemy
projektu podanych na końcu artykułu. Po za- lę obecną prowadzą do wykorzystania serwera Świat przenośnych urządzeń jest znacznie
instalowaniu oprogramowania należy zwrócić Exchange, z którym WM potrafi się porozumieć. większy niż WM czy PalmOS. Również ilość
uwagę na kilka podstawowych elementów: Rozwiązanie takie oferuje Google, pozwalając na dostępnych programów obsługujących takie
kopiowanie zawartości asystenta na swoje serwe- urządzenia jest znacznie większa niż już przed-
• odccm – jest to demon pozwalający utrzy- ry Exchange. Z kolei program Evolution może stawione. Jako uniwersalne narzędzie do syn-
mać połączenie z systemami WM. Musi on działać jako klient tych serwerów. Z jednej strony chronizacji różnych rodzajów telefonów moż-
zostać uruchominy w sposób właściwy dla daje to kopię zapasową danych, z drugiej zaś wy- na wymienić Wammu. Obsługuje on połącze-
dystrybucji; syła w internetowy chaos bardzo prywatne dane. nie poprzez kabel USB, podczerwień, kabel
• synce-sync-engine – porozumiewa się z Należy jednak dobrze zrozumień idee tego szeregowy i Bluetooth. Daje możliwość wyko-
WM za pomocą protokoły ActiveSync; rozwiązania. Urządzenie przesyła dane na ser- rzystania jednego z czterech protokołów:
• synce-Kpm/synce-Gnome – narzędzia gra- wer znajdujący się w sieci po czym pobieramy
ficzne odpowiednio dla środowiska KDE i je z powrotem na komputer. Akceptując tą ideę • bazującego na AT;
Gnom. należy się pogodzić z wypuszczeniem prywat- • OBEX i IrMC;
nych informacji w internetową dzicz. • Nokia;
Po uruchomieniu wszystkich powyższych ele- Alternatywą dla powyższych zmagań jest • Symbian Gnapplet.
mentów synchronizacja odbędzie się automatycz- zainstalowanie na urządzeniu systemu Linux.
nie. Narzędzie graficzne pozwoli na wyświetlenie Rozwiązania takie oparte są na różnych dys- Zasadniczo powinien być w stanie obsłużyć
stanu baterii instalacji oprogramowania, jednak trybucjach Linuksa. Wadą ich są braki w ob- większość urządzeń, których nie można zakla-
nie sposób pobrać i wykorzystać jakiekolwiek da- słudze wszystkich funkcji telefonu. Niezależ- syfikować do szerzej omówionych grup Pal-
ne z urządzenia. Synce oferuje kilka narzędzi kon- nie od modelu i wersji oprogramowania nale- mOS i WM.
solowych do wykonywania czynności takich jak ży spodziewać się problemów z obsługą apara- Podobnym programem posiadającym po-
kopiowanie czy usuwanie plików oraz uruchamia- tu czy sieci bezprzewodowej. Jako punkt wyj- kaźną listę obsługiwanych telefonów jest Bit-
nie programów. Dla poleceń widocznych w Tabe- ścia można przyjąć rozwiązania takie jak Open- PIM. Obsługuje on telefony LG, Ericsson czy
li 1 ważna jest wersja oprogramowania; nowsze Moko, który można zainstalować w formie do- Samsung.
wersje nie wymagają przedrostka synce-. datkowego oprogramowania, czy systemy Tit- OpenOBEX to program przydatny dla no-
Nie daje jednak rzeczywistej możliwości chy, OPIE, Qtopia oraz IMOHO. W przypad- wych telefonów Nokia. Wykorzystując protokół
odczytania kalendarza czy kontaktów z WM6, ku prób ich instalacji konieczne jest wykonanie OBEX (ang. Object Exchange) protokół ten ma
jak było to możliwe dla PalmOS. kopii zapasowych wszystkich dancyh. znacznie szersze możliwości niż komunikacja z te-
lefonami. Pozwala na komunikację między kom-
Tabela 1. Polecenia Synce puterami czy przesyłanie zdjęć przez kamery.
polecenie funkcja
synce-pcp kopiowanie plików Podsumowanie
synce-pls Wraz z postępem miniaturyzacji urządzenia
wyświetlenie zawartości katalogu
przenośne w formie telefonów czy dedyko-
synce-pmv tworzenie katalogu
wanych asystentów są coraz popularniejsze.
synce-prm usuwanie pliku
Ich współpraca z systemem Linux jest możli-
synce-prmdir uruchamianie programu wa zawsze przy poświęceniu odpowiedniej ilo-
synce-pstatus wyświetlenie statusu podłączonego urządzenia ści czasu na znalezienie właściwego rozwiąza-
synce-install-cab instalacja plików cab nia. Niestety, w przypadku WM, a szczególnie
WM6, rozwiązania takie maja skutki uboczne.
Zasadniczo znaczną część urządzeń mobil-
nych można bez większych problemów zsynchro-
Czego się dowiesz: nizować z jednym z kilku programów: Evolution,
Wammu, BitPIM czy OpenOBEX. Podejmując
• Jakie sterowniki leżą u podstaw synchronizacji;
jakiekolwiek działania należy pamiętać o różni-
• Jakie są możliwości synchronizacji;
cach między dystrybucjami Linuksa oraz bezpie-
• Jak dużo można zrobić z PalmOS;
czeństwie danych zapisanych na urządzeniu.
• Jak dużo można zrobić z Windows Mobile.

O autorze
Absolwent technikum policealnego na kierun-
W Sieci
ku informatyki w Szczecinie. Obecnie student
• http://www.synce.org/moin/ – główna strona projektu Synce; 2 roku Europeistyki na Uniwersytecie Szcze-
• http://www.gentoo.org/doc/en/pda-guide.xml – instrukcja podłączenia PDA użyteczna cińskim. Od ponad roku pracownik firmy
nie tylko dla Gentoo; świadczącej usługi internetowe w Gryfinie.
• http://www.linuxtogo.org/~htcpxa/htcuniversal/images/OpenMoko/ – program Kontakt z autorem:
OpenMoko w formie pliku CAB. sylwesterzdanowski@o2.pl

www.lpmagazine.org 37
Sprzęt
Test modemów gprs

Test modemów gprs


Wojciech Zając

Każdy z operatorów sieci gsm świadczy swoim klientom usługę mobilnego dostępu do internetu
w oparciu o pakietową transmisję danych. W tym celu zazwyczaj dostarcza modem wraz z kartą SIM,
które umożliwiają podłączenie się do sieci komórkowej, jednak na pytanie czy ten zestaw zadziała pod
Linuksem większość sprzedawców dziwnie wzrusza ramionami.

W
internecie można znaleźć szereg aplika- obsługa jest bardo intuicyjna. Pierwszym etapem usta-
autorzy@lpmagazine.org

cji ułatwiających konfigurację modemu wiania połączenia jest kliknięcie prawym przyciskiem
w różnych dystrybucjach Linuksa. Wy- myszy na ikonkę sieci i wybór opcji: Modyfikuj połącze-
brałem kilka programów graficznych, któ- nia > Komórkowe > Dodaj (Rysunek 1). W oknie Se-
re zostaną poniżej zaprezentowane. Test przeprowadziłem na rvice Provider (Rysunek 2) program poprosi o wybranie
dystrybucji Ubuntu 8.10. dostawcy internetu z listy, po czym następuje potwier-
W tabeli zostały przedstawione podstawowe parametry dzenie wraz z wybraniem nazwy. W ten sposób może-
potrzebne do zestawienia połączenia z internetem w zależno- my mieć zdefiniowanych wielu dostawców różnych sie-
ści od operatora sieci komórkowej. Informacje jakie potrze- ci, których będziemy wybierać z listy. Na liście braku-
bujemy to: APN, numer na jaki dzwonił będzie modem, na- je operatora Play, ale nie stanowi to problemu ponieważ
zwa użytkownika i hasło, czasami przydatne będą IP serwe- wystarczy wybrać innego dowolnego operatora (np. Po-
rów DNS (informacje w Tabeli 1). lkomtel), a później poprzez edycję zmienić wartość pa-
Nie należy zapomnieć o kosztach jakie wiążą się z trans- rametru APN na internet. Wszystko jest proste i intuicyj-
misją pakietów przez sieć gsm dla poszczególnych ofert ope- ne, ale nie zawsze operacja ta może zakończyć się suk-
ratorów. Rozbieżności cen są tak duże, że chwila satysfak- cesem, dlatego poniżej przedstawiam konfigurację pakie-
cji z dostępu do internetu może spowodować wytrzeszcz ga- tów ppp oraz wvdial, które są odpowiedzialne za konfi-
łek ocznych po sprawdzeniu stanu konta (np.: TAK-TAK), gurację modemu i obsługę połączenia.
tym bardziej, że Ubuntu jak każdy nowy przyjazny system Programem, który bardzo dobrze radził sobie
po uzyskaniu dostępu do swoich serwerów sprawdza czy do- z konfiguracją modemów gprs, niezależnie od ro-
stępne są nowe uaktualnienia. dzaju interfejsu (PCMCIA, USB, ExpressCard)
W przypadku Ubuntu ze środowiskiem Gnome typo- jest global3g (Rysunek 3) dostępny na stronie http:
wym konfiguratorem sieci jest NetworkManager, którego //www.global3g.strony.pl/. Jak widać jest to program

38 maj 2009
Sprzęt
Test modemów gprs

polski. Z licencji dowiadujemy się, że mo- lu urządzeń oraz dane potrzebne do połą- bieżący wykres ilości przesyłanych bajtów
żemy go swobodnie przetestować, jednak czenia z operatorami gsm. Parametry jakie przez modem (Rysunek 6).
by bez ograniczeń cieszyć się jego funk- należy ustawić to: dostawca internetu, mo- Trzecim programem jaki przetestowałem
cjonalnością musimy wykupić niedrogą li- del urządzenia, port (urządzenie) i PIN je- jest pGPRS (Rysunek 7) dostępny na stronie
cencję (29zł). Aplikacja nie wymaga insta- żeli modem wymaga tego (Rysunek 5). Pro- http://przemkalicki.pl/?page_id=262. Umoż-
lacji, ale korzysta z programów, które mu- gram posiada również opcje, dzięki którym liwia on wybranie operatora, portu i podanie
szą być zainstalowane w naszej dystrybucji: łatwiej możemy sprawdzić model używane- PIN (Rysunek 8). Bardzo prosty w konfigura-
ppp oraz wvdial. Posiada przejrzyste intu- go przez nas modemu oraz urządzenie gdzie cji. Jednak nie był w stanie poradzić sobie z
icyjne menu (Rysunek 4), wsparcie dla wie- modem został wykryty. Przydatny jest także każdym modemem.

Listing 1. /etc/wvdial.conf wvdial


[Dialer Defaults] Jednak co robić gdy żaden z wymienionych
Init1 = ATZ wyżej programów nie działa, albo nie korzysta-
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 my z interfejsu graficznego?
Modem Type = Analog Modem W takiej sytuacji korzystamy z wvdial oraz
Modem = /dev/ttyUSB0 ppp. W wielu dystrybucjach programy te są do-
Dial Command = ATD
ISDN = 0
Baud = 115200

Listing 2. Uruchomienie programu wvdial


# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
Rysunek 1. Network Manager
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATD*99***1#
--> Waiting for carrier.
ATD*99***1#
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Mon Mar 9 19:24:21 2009
--> Pid of pppd: 8069
--> Using interface ppp0
--> pppd: ��%[08]8�%[08]
--> pppd: ��%[08]8�%[08]
--> pppd: ��%[08]8�%[08]
--> pppd: ��%[08]8�%[08]
--> pppd: ��%[08]8�%[08]
--> pppd: ��%[08]8�%[08]
--> local IP address 94.254.129.148
--> pppd: ��%[08]8�%[08] Rysunek 2. Dodanie operatora w Network Manager
--> remote IP address 10.64.64.64
--> pppd: ��%[08]8�%[08]

Listing 3. W poszukiwaniu procesu demona ppp


# ps uax | grep ppp
root 8069 0.0 0.2 3000 1164 pts/3 S 19:24 0:00 /usr/
sbin/pppd 115200 modem crtscts defaultroute usehostname -detach user play
noipdefault call wvdial usepeerdns idle 0 logfd 7

Rysunek 3. Global3g

www.lpmagazine.org 39
Sprzęt
Test modemów gprs

stępne jako pakiety. Wvdial jest programem ob- /dev/ttyUSB0), prędkość transmisji (baud oraz model urządzenia i prędkość trans-
sługującym modem. rate), sekwencja znaków inicjalizująca mo- misji.
Może on być zastosowany na dwa spo- dem, itp. Nie zawsze te dane są zgodne z prawdą.
soby: Wykryta konfiguracja zostaje dopisa- Dla tego modemu spokojnie możemy zwięk-
na do /etc/wvdial.conf w głównej sekcji [Dia- szyć prędkość transmisji do 460800bps. Tak
• bezpośrednio wywołany z linii komend ler Defaults]. Program uruchamiamy bez pa- wygląda wygenerowany (i poprawiony przez
inicjalizuje modem i uruchamia demona rametrów. nas) plik /etc/wvdial.conf. Prezentuje to Li-
pppd; sting 1.
• użyty w pliku konfiguracyjnym demona # wvdialconf W konfiguracji tej widzimy ciągi znaków
pppd będzie pełnił funkcję pośrednika w inicjujące modem: Init1 oraz Init2, czasami
komunikacji komputera z modemem. Gadatliwy program wylewa z siebie co tyl- jest ich więcej w zależności od modemu. W
ko może nam powiedzieć, a my analizujemy
W pierwszym przypadku po wywołaniu z li- wyniki.
nii komend wvdial odczytuje konfigurację
/etc/wvdial.conf, którą wykorzystuje do na- ttyS1<*1>: ATQ0 V1 E1 -- and failed
wiązania połączenia przez modem, a następ- too at 115200, giving up.
nie uruchamia pppd.
W tym drugim przypadku wywołany Ta linijka wskazuje nam, że tu program rezy-
jest w konfiguracji ppp z opcją --chat i jest gnuje z próby wykrycia modemu (i ma racje,
to istotna opcja, ponieważ to ona mówi mu, tu go nie ma).
że ma pełnić rolę negocjatora pomiędzy mo-
demem a demonem pppd. Dla tego przypad- ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2
ku z linii poleceń wywołujemy pppd call +FCLASS=0 -- OK
play, gdzie play jest plikiem konfiguracyj- ttyUSB0<*1>: Modem Identifier: ATI --
nym dla ppp. Manufacturer: huawei
W pakiecie wvdial dostępne jest rów- ttyUSB0<*1>: Speed 9600: AT -- OK
nież narzędzie do generowania konfigu-
racji dla tego programu: wvdialconf. Za- Tu natomiast otrzymujemy informacje, że
daniem tego programu jest uzyskanie ta- modem został wykryty jako /dev/ttyUSB0,
kich informacji jak nazwa urządzenia (np.: pojawia się inicjująca sekwencja znaków Rysunek 4. Menu w Global3g

Listing 4. Wyświetlenie konfiguracji interfejsu ppp0


# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:89.108.223.74 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1397 (1.3 KB) TX bytes:1137 (1.1 KB

Listing 5. Wyświetlenie tablicy routingu


# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Listing 6. Wykryty kontroler USB


# lspci
00:0b.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
00:0b.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
00:0b.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)

Listing 7. Wykryte urządzenie USB


# lsusb
Bus 003 Device 003: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem

40 maj 2009
Sprzęt
Test modemów gprs

przypadku numeru na jaki będzie dzwonił mo- W zależności od potrzeb dopisujemy jeszcze Program nie przerwie działania, gdy otrzyma
dem czasami może być wartość *99#. dodatkowo: informację od modemu linia zajęta, tylko bę-
Typ modemu oraz urządzenie pod jakim dzie ponawiał próbę.
został wykryty modem: /dev/ttyUSB0, ale w Carrier Check = no
zależności od modelu może być przypisa- Abort on no Dialtone = no
nych więcej niż jeden plik np. /dev/ttyUSB0 i Niektóre modele modemów nieprawidłowo
/dev/ttyUSB1. W dalszej części pliku zapisa- wskazują stan online, wtedy należy ustawić Program nie przerwie działanie, gdy otrzyma
na jest komenda, która rozpocznie dzwonie- parametr Carrier Check = no. informację od modemu brak sygnału.
nie (Dial Command) oraz prędkość transmi-
sji (Baud). Wvdial nie będzie sprawdzał czy modem jest Dialt Attempts =10
Dodatkowo należy dopisać odpowied- online.
nie ustawienia operatora. W przypadku ope- Ustawienie tego parametru oznacza, że program
ratora Play parametry Username i Password Check DNS = yes przerwie działanie dopiero po 10 nieudanych
są dowolne. próbach nawiązania połączenia. Aby próbował
Oznacza, że po nawiązaniu połączenia ma usta- cały czas, należy ustawić Dialt Attempts =0
Phone = *99***1# wić parametry serwerów DNS. Uruchamiamy program poleceniem wvdial.
Username = play Na ekranie widzimy kolejne etapy działa-
Password = play Abort on Busy = no nia programu – Listing 2.

Listing 8. Uzyskanie informacji o module usbserial


# modinfo usbserial
filename: /lib/modules/2.6.27-9-generic/kernel/drivers/usb/serial/usbserial.ko
license: GPL
description: USB Serial Driver core
author: Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/
srcversion: 96219212FFE058A93C12C85
depends: usbcore
vermagic: 2.6.27-9-generic SMP mod_unload modversions 586
parm: vendor:User specified USB idVendor (ushort)
parm: product:User specified USB idProduct (ushort)
parm: debug:Debug enabled or not (bool)

Listing 9. Fragment logów wskazujący na wykrycie nowo podłączonej komórki


usb 4-1: new full speed USB device using uhci_hcd and address 3
usb 4-1: configuration #1 chosen from 1 choice
cdc_acm 4-1:1.1: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

Listing 10. Opcje dla wybranych modułów w make menuconfig


Device Drivers ---> USB support --->
usb_storage = USB Mass Storage support
cdc_acm = USB Modem (CDC ACM) support
Device Drivers ---> USB support ---> USB Serial Converter support --->
usbserial = USB Serial Converter support
option = USB driver for GSM and CDMA modems

Listing 11. Opcje dla ppp w make menuconfig


Device Drivers ---> Network device support
slhc = CSLIP compressed headers
ppp_generic = PPP (point-to-point protocol) support
ppp_async = PPP support for async serial ports
bsd_comp = PPP BSD-Compress compression
ppp_deflate = PPP Deflate compression
Library routines --->
crc-ccitt = CRC-CCITT functions
zlib_deflate

www.lpmagazine.org 41
Sprzęt
Test modemów gprs

• inicjalizację modemu, W procesach widzimy działającego de- stać nadpisany gdy podłączymy komputer pod
• nawiązywanie połączenia, mona pppd z odpowiednimi parametrami. Na- inną sieć. Dla przykładu podaje adresy serwe-
• start demona pppd, który otrzymuje dane z stępnie sprawdzamy, czy interfejs sieciowy jest rów DNS:
modemu, ustawiony. Prezentuje to Listing 4.
• konfigurację interfejsu ppp0 Utworzony został interfejs ppp0 i przydzie- • opendns.com
(IP 94.254.129.148) lony dla niego publiczny adres IP, po którym nameserver 208.67.222.222
• konfigurację routingu (brama 10.64.64.64). będziemy identyfikowani na wszelkich serwe- nameserver 208.67.220.220
rach. Sprawdzamy czy do tablicy routingu do- • task.gda.pl
Domyślnie program nie działa w tle, tylko ca- dane zostały wpisy dla interfejsu ppp0. Od tego nameserver 153.19.250.101
ły czas jest podłączony do terminala, w którym zależy gdzie będą wysyłane pakiety, w zależno- nameserver 212.77.96.123
został wywołany. Działa do czasu wyłączenia ści od adresu IP przeznaczenia (DST). Prezen- • icm.edu.pl
go sekwencją [Ctrl-C]. Aby wiedzieć co dzieje tuje to Listing 5. nameserver 212.87.14.39
się w naszym systemie i poradzić sobie z ewen- DNS-y często nie zostają ustawione, dla-
tualnymi problemami należy sprawdzić w pro- tego lepiej je samemu dodać. Zapisujemy je W przypadku błędów, wskazówek nale-
cesach czy demon pppd wystartował. W tym w pliku /etc/resolv.conf. Warto zrobić sobię ko- ży szukać w /var/log/syslog lub /var/log/
celu wpisujemy polecenie z Listingu 3. pię takiego pliku, ponieważ niekiedy może zo- messages.

Tabela 1. Parametry wybranych operatorów


Wykrycie sprzętu
Operator APN numer użytkownik hasło DNS Testy przeprowadzałem na modemach: Hu-
Play internet *99***1# dowolny dowolny 89.108.195.20 awei E220 podłączany przez USB; Huawei
89.108.195.21 E620 złącze PCMCIA oraz komórce Nokia
iplus www.plusgsm.pl *99# dowolny dowolny 212.2.96.51 6230i.
212.2.96.52 Powyższe urządzenia wykrywane są au-
heyah heyah.pl *99***1# heyah heyah tomatycznie po podłączeniu do komputera ja-
ERA erainternet *99***1# erainternet erainternet 213.158.199.1 ko urządzenia USB, a za ich obsługę odpowie-
213.158.199.5 dzialne są standardowe sterowniki (moduły) z
pakietu jądra systemu.
Orange internet *99# internet internet 194.9.223.79
Aby wykryć sprzęt warto posłużyć się ty-
powymi narzędziami Linuksa, dostępnymi do-
myślnie w wielu dystrybucjach. Dodatkowo
można informacje odczytać z katalogu /proc,
jednak skorzystanie z gotowych narzędzi uwa-
żam za wygodniejsze niż suche dane proc-sys-
temu.
Warto upewnić się, że mamy wykryty kon-
troler USB – Listing 6.
Szukamy urządzenia zidentyfikowa-
nego jako USB Controller, oczywiście
nie oznacza to, że mamy załadowane ste-
rowniki do niego, dlatego wyświetlamy li-
stę załadowanych modułów i szukamy od-
powiednio modułu uhci_hcd, ehci_hcd,
ohci_hcd lub innego w zależności od ty-
pu kontrolera USB oraz urządzenia do nie-
go podłączonego:

# lsmod
ehci_hcd 43276 0
uhci_hcd 30736 0
usbcore 148848 2 ehci_
hcd,uhci_hcd

Następnie komendą lsusb wyświetlimy urzą-


dzenia wykryte przez kontroler – Listing 7.
Uzyskujemy informacje o wykrytych
urządzeniach USB (ewentualnie PCMCIA).
Warto zwrócić uwagę na numery ID 12d1:
1003, są to numery vendor i product mogą
Rysunek 5. Konfiguracja w Global3g one przydać się w przypadku błędnego wy-

42 maj 2009
Sprzęt
Test modemów gprs

krycia urządzenia. Jeżeli tak jest, podczas za- modemy są takimi urządzeniami. Wiele istot- W wielu dystrybucjach Linuksa do zarządzania
ładowania modułu usbserial musimy po- nych informacji o module możemy uzyskać podłączonymi urządzeniami wykorzystywany
dać parametry: za pomocą modinfo również o parametrach ja- jest hal (Hardware Abstraction Layer). Dzięki
kie możemy ustawiać dla wybranego modułu temu po poprawnym wykryciu modemu zosta-
# modprobe usbserial vendor=12d1 – Listing 8. nie utworzony odpowiedni plik urządzenia np.:
product=1003 Dla testowanych modemów Huawei po- /dev/ttyUSB0, co jest sygnałem dla nas, że urzą-
trzebny jest jeszcze sterownik modemu o na- dzenie zostało pomyślnie wykryte, a sterownik
Moduł usbserial jest wykorzystywany gdy zwie option: załadowany.
podłączane urządzenie jest pewnym typem Jeżeli modem posiada dodatkowo pa-
urządzenia szeregowego, a wszelkiego rodzaj # modprobe option mięć flash, to modułem odpowiedzialnym
za dostęp do takiej pamięci jest usb_sto-
Listing 12. Konfiguracja dla ppp /etc/ppp/peers/play rage.
115200 A jak jest w przypadku komórek? Do
modem laptopa podłączyłem kablem USB nokię
crtscts 6230i. Po wyświetleniu listy urządzeń ja-
connect "/usr/bin/wvdial --chat --config /etc/ppp/peers/wvdial-chat.conf" kie zidentyfikowane zostały przez kontro-
user play ler USB widzimy model telefonu.
-detach
nopcomp Bus 003 Device 005: ID 0421:0428
defaultroute Nokia Mobile Phones 6230i Modem
noipdefault
usepeerdns Gdy zajrzymy do logów (/var/log/syslog), na
/dev/ttyUSB0 końcu znajdziemy wpisy podobne do poniż-
logfile /var/log/pppd.log szych – Listing 9.
idle 0 Wyczytać stąd możemy że modem w te-
debug lefonie został rozpoznany. Automatycznie
załadowany został moduł cdc_acm określa-

R E K L A M A

www.lpmagazine.org 43
Sprzęt
Test modemów gprs

ny jako sterownik modemów usb oraz ada-


pterów ISDN. W katalogu urządzeń utworzo-
ny został /dev/ttyACM0. Cała konfiguracja za
pomocą wvdialconf przebiegła bez problemu
i tak samo uruchomienie programu wvdial.
Należy pamiętać, by nie zapomnieć włączyć
odpowiednich opcji w telefonie. W przypad-
ku zablokowanego dostępu do przesyłania
danych GPRS na telefonie pojawił się komu-
nikat informujący, że należy włączyć trans-
misję GPRS.

Dla zaawansowanych
Moduły niezbędne do działania tego typu mo-
demów są dostarczone w standardowym kata-
logu /lib/modules/<kernel_version>/kernel/
drivers/usb/serial/. Jednak dla posiadaczy wła-
snoręcznie kompilowanego kernela przydatna
będzie wskazówka gdzie szukać odpowiednich
opcji w menuconfig – Listing 10.
W pliku konfiguracyjnym kernela (.config)
zostaną ustawione parametry:

CONFIG_USB_STORAGE=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_ACM=m

Oprócz tego muszą być dodane moduły obsłu-


gi protokołu ppp łącznie z kompresją, które ła-
Rysunek 6. Wykres wykorzystania łącza w Global3g dują się dopiero po uruchomieniu pppd – Li-
sting 11.
Listing 13. Konfiguracja dla wvdial użytego przez ppp /etc/ppp/peers/wvdial-chat.conf Powyżej omówione zostały tylko wy-
[Dialer Defaults] brane modele modemów oraz kilka sterow-
Init1 = ATZ ników do nich. Należy pamiętać, że spośród
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 wielu modemów, sterowniki nie wszystkich
Phone = *99***1#
Username = dowolny
Password = dowolne
Dial Command = ATD

Listing 14. Uruchomienie demona ppp


# pppd call play
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
Rysunek 7. pgprs
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATD*99***1#
--> Waiting for carrier.
ATD*99***1#
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
Rysunek 8. Konfiguracja pgprs

44 maj 2009
Sprzęt
Test modemów gprs

mogą się znaleźć w źródłach kernela. Nie- Drugim sposobem uruchomienia jest wy- wać tej opcji w przypadku gdy urządzenie
które mogą być dostępne jako pakiety dys- wołanie pppd ze wskazaniem mu pliku, z któ- nie posiada tego typu funkcji. Analogicz-
trybucyjne albo po prostu jako zewnętrz- rego ma przeczytać opcje do konfiguracji mo- nie dotyczy opcji crtscts odpowiedzialnej
ne programy do pobrania z internetu. Nie- demu. Plik ten musi znajdować się w katalogu za sprzętową kontrolę sterowania przepły-
stety zdarza się, że napotykamy na sprzęt, /etc/ppp/peers. Tworzymy go o dowolnej na- wem. W następnej kolejności wskazany jest
do którego nie ma przewidzianych sterow- zwie (np.: play) – Listing 12. Dzięki temu nie skrypt, który ma posłużyć do skonfigurowa-
ników dla Linuksa. Nie życzę tego żadnemu będziemy mieli problemów w przypadku ko- nia połączenie do serwera zanim pppd za-
Linuksiarzowi. rzystania z różnych operatorów lub modemów. cznie działać. W naszym przypadku wyko-
Inne przydatne polecenia do analizy Zawartość tego pliku będą stanowić opcje opi- rzystany jest w tym celu wvdial, jednak czę-
sprzętu: sane w man pppd. sto w tym miejscu używany jest program
Wartość liczbowa stanowi prędkość chat (pakiet ppp). Parametr user ustawia na-
• lshal – wyświetlają urządzenia rozpoznane transmisji danych (baud), ten parametr nale- zwę użytkownika do uwierzytelnienia. Aby
na liście jaką posiada HAL; ży ustawić w zależności od modemu. Opcja demon ppp nie przeszedł w tło ustawiamy
• lshw – wyświetla informacje o sprzęcie modem odpowiedzialna jest za wykorzysta- nodetach. Opcja nopcomp wyłącza negocja-
(paczka lshw). nie sygnału Carrier Detect, nie należy uży- cję kompresji pól protokołu dla transmisji.

pppd
Ppp jest protokołem służącym m.in. do zestawie-
W Sieci
nia połączenia z internetem przez różnego rodza- • manuale: wvdial, wvdialconf, wvdial.conf, pppd, chat.
ju modemy lub inne urządzenia obsługujące pro- • http://linux.msstudio.com.pl/Howto/ppp/PPP-HOWTO.pl.html
tokół point-to-point (punkt-punkt). Demon pppd • http://www.debian.one.pl/index.php?url=20
współpracuje ze sterownikami kernela w celu ze- • http://www.global3g.strony.pl/
stawienia i utrzymania łączności z docelowym • http://przemkalicki.pl/?page_id=262 - program pgprs
punktem zwanym peer lub po prostu serwer. W • http://www.linux.rk.edu.pl/
celu zestawienia połączenia wykonywane są pro- • http://www.faqs.org/docs/Linux-HOWTO/PPP-HOWTO.html
cesy uwierzytelnienia, konfiguracji interfejsu ppp • http://www.docmirror.net/pl/linux/howto/networking/PPP-HOWTO/
oraz dodania wpisu do tablicy routingu.

R E K L A M A

www.lpmagazine.org 45
Sprzęt
Test modemów gprs

Opcja defaultroute ustawi domyślny gate- padku rozłączenie. Aby uzyskać szczegóło- fig,a konfigurację zamieścić w pliku /etc/ppp/
way, jest to konieczne dla poprawnego prze- we logi dodajemy debug. peers/wvdial-chat.conf – Listing 13.
syłania pakietów. Stosujemy noipdefault Należy zwrócić uwagę, że przy nawią- Zamiast programu wvdial można wyko-
aby IP zostało przyznane przez zdalny ser- zywaniu połączenia musi zostać wykonany rzystać program chat dostarczony w pakie-
wer. Dla uzyskania adresów DNS ustawia- skrypt inicjujący modem. Mamy do wybo- cie ppp, jednak skrypt jaki dla niego należy
my usepeerdns. Parametr /dev/ttyUSB0 ru użycie jednego z dwóch programów chat przygotować jest bardzo skomplikowany, ra-
jest oczywiście urządzeniem pod jakim zo- oraz wvdial. Wykorzystamy do tego celu zo- czej polecany dla zaawansowanych użytkow-
stał wykryty modem. Jeżeli chcemy aby lo- stał wvdial ze względu na łatwość konfigu- ników. Rozbudowany opis składni polecenia
gi znajdowały się w oddzielnym pliku wpi- racji. Istotny w tym przypadku jest parametr chat i budowy skryptu znajduje się w man
sujemy logfile ze ścieżką do pliku. Jeżeli --chat dla tego programu, bo on mówi mu, chat, a przykłady dostępne są w plikach pa-
chcemy by modem rozłączył się po określo- że ma pełnić rolę pośrednika w komunikacji z kietu (/usr/share/doc/ppp/examples). Następ-
nym czasie bezczynności, wykorzystujemy modemem. Potrzebujemy również podać kon- nie wywołujemy demona pppd z opcją call
opcję idle z liczbą określającą czas w se- figurację modemu dla programu wvdial. Po- po której podajemy plik z utworzoną konfi-
kundach, dla zera nie następuje w tym przy- stanowiłem wykorzystać do tego opcję con- guracją – Listing 14.
Do tego momentu wykonywane są za-
Listing 15. Wynik działania ppp dania przez wvdial, który inicjalizuje mo-
Serial connection established. dem, dzwoni na ustawiony numer, zestawia
using channel 3 połączenie – Listing 15. Następnie przepro-
Using interface ppp0 wadzony zostaje proces uwierzytelniania
Connect: ppp0 <--> /dev/ttyUSB0 CHAP, a po poprawnym procesie uwierzy-
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xb087136b> <accomp>] telniania przez serwer przyznany zostaje lo-
rcvd [LCP ConfReq id=0x8 <asyncmap 0x0> <auth chap MD5> <magic 0x1bf5883> kalny adres IP oraz ustawiane są pozostałe
<pcomp> <accomp>] parametry sieci.
sent [LCP ConfRej id=0x8 <pcomp>] Zadaniem wywołanego skryptu /etc/
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xb087136b> <accomp>] ppp/if-up jest wpisanie serwerów DNS w
rcvd [LCP ConfReq id=0x9 <asyncmap 0x0> <auth chap MD5> <magic 0x1bf5883> pliku /etc/resolv.conf oraz wykonanie wszel-
<accomp>] kich dodatkowych zadań jakie są potrzebne
sent [LCP ConfAck id=0x9 <asyncmap 0x0> <auth chap MD5> <magic 0x1bf5883> już po ustawieniu połączenia do internetu.
<accomp>] Jest to ostatni etap, po którego zakończeniu
sent [LCP EchoReq id=0x0 magic=0xb087136b] powinniśmy cieszyć się mobilnym podłą-
rcvd [LCP DiscReq id=0xa magic=0x1bf5883] czeniem do internetu. Połączenie zakańcza-
rcvd [CHAP Challenge id=0x1 <cec74916d0b0dc45844bdc9b0c17e29b>, name = my sekwencją [Ctrl-C] – Listing 16.
"UMTS_CHAP_SRVR"] W przypadku gdy nie działa, wskazówek
sent [CHAP Response id=0x1 <1300d803e83363deba7c0d36e3de7e37>, name = należy szukać w logach. Jeżeli wysyłamy lo-
"play"] gi do /var/log/pppd.log, to tam należy zacząć,
rcvd [LCP EchoRep id=0x0 magic=0x1bf5883 b0 87 13 6b] w przeciwnym przypadku /var/log/syslog i
rcvd [CHAP Success id=0x1 ""] /var/log/messages. Powinniśmy sprawdzić
CHAP authentication succeeded ustawienia w /etc/resolv.conf, interfejs ppp0,
CHAP authentication succeeded tablicę routingu, firewalla.
rcvd [IPCP ConfNak id=0x9 <addr 89.108.226.138>] Logi generowane podczas uruchamiania dla
sent [IPCP ConfReq id=0xa <addr 89.108.226.138>] przetestowanych sieci można znaleźć na stronie
rcvd [IPCP ConfAck id=0xa <addr 89.108.226.138>] magazynu: http://www.lpmagazine.org
Could not determine remote IP address: defaulting to 10.64.64.64
Cannot determine ethernet address for proxy ARP
local IP address 89.108.226.138
remote IP address 10.64.64.64
Script /etc/ppp/ip-up started (pid 19004)
O autorze
Script /etc/ppp/ip-up finished (pid 19004), status = 0x0 Magister inżynier wydziału Fizyki Politech-
niki Warszawskiej. Od 2002 posługuję się
Listing 16. Wynik wyłączania ppp Linuksem. Prowadzę firmę zajmującą się
Terminating on signal 2 instalacją Linuksa na serwery i desktopy.
Connect time 6.7 minutes. Administruję własnymi serwerami Debian,
Sent 120 bytes, received 120 bytes. Gentoo i Opensuse. Udzielam porad doty-
Script /etc/ppp/ip-down started (pid 24890) czących Linuksa, testuję dostępne na ryn-
sent [LCP TermReq id=0x2 "User request"] ku oprogramowanie, także piszę skrypty
rcvd [LCP TermAck id=0x2] oraz strony internetowe. Od 2004 do 2008
Connection terminated. prowadziłem szkolenia w Szkole Linuxa.
Script /etc/ppp/ip-down finished (pid 24890), status = 0x0 Kontakt z autorem: wojtek@reunix.eu

46 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

Linux na
urządzeniach mobilnych
Grzegorz Madajczak

Większości osób Linux kojarzy się co najwyżej z systemem na komputery klasy PC, co i tak jest dobrym
punktem widzenia wobec tych, którzy Linuksa widzą jedynie przez pryzmat zastosowań serwerowych.
Osoby te zdziwią się więc informacją, że Linux na dobre rozgościł się w urządzeniach mobilnych, takich jak
PDA czy smartfony. W artykule postaram się przedstawić wybrane modele smartfonów pracujących pod
kontrolą Linuksa oraz dystrybucje Linuksa na urządzenia mobilne.

P
rzeciętny użytkownik telefonu komórkowego niego wykroić. Jednym ze sposobów ukrojenia większego ka-
autorzy@lpmagazine.org

nie zaprząta sobie głowy tak nieistotnym drobia- wałka jest redukcja kosztów poniesionych na produkcję sprze-
zgiem, jakim jest system operacyjny pod kontro- dawanego asortymentu. Część firm produkujących omawia-
lą, którego działa jego telefon. Jednocześnie wie- ne urządzenia podjęło decyzję o opracowaniu własnego sys-
lu użytkowników Linuksa zapewne bardzo zdziwiłoby się, temu operacyjnego dla produkowanych przez siebie aparatów,
gdyby dowiedziałoby się, że ich komóra działa na właśnie co uniezależni ich od kaprysów zewnętrznych firm sprzedają-
Linuksie. Wbrew powszechnemu wyobrażeniu wiele mul- cych software. Bardzo dobrze zrozumiała to firma Apple opra-
timedialnych nowoczesnych aparatów, zaliczanych do gru- cowując zmodyfikowaną wersję MacOS X na potrzeby iPone-
py smartfonów (Ramka Co to jest smartfon), działa na odpo- 'ów i iPodów Touch, dzięki czemu uniezależniła się od innych
wiednio spreparowanej dystrybucji Linuksa. firm, zachowała kontrolę nad rozwojem systemu i oprogramo-
wania dla niego przeznaczonego, co przyniosło dodatkowe zy-
Dlaczego Linux ski. Model ten, reprezentowany szczególnie za pośrednictwem
W przeciągu kilku ostatnich lat rynek smartfonów systema- Apple AppStore, zaczął być powielany przez innych produ-
tycznie wzrastał na wartości, osiągając w trzecim kwartale centów systemów mobilnych.
2008 roku rekordowo wysoki pułap – prawie 40 mln USD, Motorola jako jedna z pierwszych zrozumiała, iż Linux jest
co oznaczało ponad 27% wzrost w porównaniu do tego same- bardzo dobrym materiałem na tworzenie nowego systemu na
go okresu poprzedniego roku. Jednocześnie szacuje się, że ry- potrzeby smartfonów. Przede wszystkim, w większości przy-
nek ten do końca 2010 roku wzrośnie niemal dwukrotnie. Pro- padków jest za darmo, a narzędzia do pracy nad systemem są
gnozy analityków finansowych przewidują, że liczba sprzeda- powszechnie dostępne. Dodatkowym atutem są rzesze entuzja-
nych smartfonów może być wyższa niż tradycyjnych PC-ów, stów skupionych w środowiskach zainteresowanych danym te-
co oznacza, że torcik smartfonów jest dość duży i warto w nie- matem, pracujących nad elementami systemu, oprogramowa-
go inwestować. Każdy bowiem będzie mógł coś dla siebie z niem i testujących nowe oprogramowanie. Przede wszystkim

48 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

powinienem jednak napisać, że największym kroczył bariery prac konceptualnych i nie został sunku do poprzedników procesor Intel XScale
atutem Linuksa są jego niemalże nieograniczone przekazany do produkcji seryjnej. PXA271 taktowany 312 MHz zegarem (w archi-
możliwości. Prawie ten sam Linux znajduje się tekturze ARM) oraz 48 MB pamięci wbudowa-
zarówno w telefonie, palmtopie, telewizorze, czy Motorola rządzi nej oraz dodatkowo 48 MB na wymiennych kar-
nagrywarce DVD, jak i w komputerze i w samo- Tak naprawdę pierwszym telefonem komór- tach pamięci typu TransFlash. Dodatkowo apa-
locie. Archimedes powiedział: Dajcie mi punkt kowym z Linuksem, który został wprowadzo- rat ten posiadał 1,3 MPx kamerę oraz wbudowa-
podporu, a poruszę Ziemię, ja zaś strawestuję ny do masowej produkcji i sprzedaży, jest Mo- ny układ nawigacji GPS. Ponadto Motorola po
to powiedzenie i napiszę – Dajcie mi hackera i torola A760 (Rysunek 2). Model ten trafił na ry- raz pierwszy wprowadziła do tego telefonu złą-
urządzenie, ja uruchomię na nim Linuksa. nek chiński w lutym 2003 roku. Od tego mo- cze mini-USB, które służyło zarówno do trans-
Właśnie ta wszechstronność w połączeniu z mentu Motorola stała się niekłamanym lide- misji danych, jak i ładowania. Pozwolę sobie na
niskimi kosztami sprawiła, że Linux stał się ide- rem, jeśli chodzi o komercyjne, seryjne zasto- małą dygresję w tym miejscu – większość czoło-
alnym kandydatem do budowania nowego sys- sowanie Linuksa jako platformy systemowej w wych producentów komórek do tej pory nie mo-
temu operacyjnego na urządzenia mobilne. multimedialnych telefonach komórkowych. Pi- gą zrobić tego, co zrobiła Motorola – ujednoli-
kanterii dodaje fakt, iż Motorola jest jednym z cić wtyczki do ładowarek. Na całe szczęście Ko-
Nieco historii członków założycieli inicjatywy rozwoju syste- misja Europejska nakazała, aby po 2012 roku
Pierwsze próby zastosowania Linuksa jako sys- mu Symbian – najpoważniejszego, obok Win- wszystkie komórki ładowane były przez złącze
temu operacyjnego urządzeń, które możemy za- dows CE, konkurenta Linuksa w branży syste- mini-USB. Motorola w tym względzie jest daw-
liczyć do telefonów, mają miejsce w 1999 ro- mów wbudowanych. na do przodu przed wszystkimi. Wracając jednak
ku. Wtedy to gigant (jak na tamte czasy), fir- Motorola A760 jak ta tamte czasy była za- do A780, telefon ten w porównaniu do poprzed-
ma Ericsson rozpoczęła prace nad urządzeniem awansowanym technologicznie połączeniem ników wprowadzono na inne rynki niż tylko Chi-
określanym roboczo symbolem HS210 o na- PDA z telefonem – czyli czymś, co obecnie jest ny, gdzie znalazł szerokie grono nabywców.
zwie Cordless Screen Phone (Rysunek 1). Pro- standardem i nazywa się smartfonem. A760 była Mniej więcej w tym samym czasie Motorola
totyp tego urządzenia został zaprezentowany na dwuzakresowym telefonem (GSM 900/1800), z wypuściła drugą linię telefonów, które w założe-
targach CeBIT w 2000 roku. W założeniu mia- dotykowym kolorowym wyświetlaczu ciekłokry- niu miały być kombajnami multimedialnymi, te-
ło to być domowe bezprzewodowe urządzenie stalicznym, o rozdzielczości 320x240 Px. Dodat-
do korzystania z Internetu, wyposażone dodat- kowo telefon ten wyposażony był w kamerę CIF
kowo w funkcję rozmów telefonicznych. Całość z matrycą o rozdzielczości 352 x 288 Px. Tele-
pracowała pod kontrolą procesora w architektu- fon komunikował się z innymi urządzeniami po-
rze StrongAMR, taktowanego 200 MHz zega- przez port Bluetooth, IrDA oraz port RS-233. Ca-
rem, przy współudziale 32 MB pamięci DRAM łość pracowała pod kontrolą 206 MHz procesora
oraz 32 MB pamięci typu Flash. Urządzenie to i 32 MB pamięci. Telefon ten oferował wszystko,
składało się z dwóch części – bazy, oraz prze- w co powinien być wyposażony nowoczesny apa-
nośnej części z dotykowym ekranem, pomiędzy rat – dzwonki MP3, odtwarzacz wideo, obsługę
którymi komunikacja odbywała się za pośred- MMS. Funkcje PDA spełniało dość bogato wbu-
nictwem raczkującego jeszcze wtedy standardu dowane oprogramowanie PIM oraz klient e-mail.
Bluetooth. Ericsson zastosował w tym przypad- Linia A76x telefonów Motorola została od-
ku własne rozwiązania, pozwalające na zwięk- świeżona rok później w postaci modelu A768, Rysunek 1. Pierwszy „telefon” pod kontrolą Linuksa
szenie zasięgu transmisji z 10 do 100 m, co by- przeznaczonego dla wymagających klientów – Cordless Screen Phone HS210 firmy Ericsson
ło jak na tamte czasy bardzo dobrym wynikiem. rynku chińskiego. W porównaniu do poprzedni-
HS210 łączył się z Internetem przy użyciu wbu- ka model ten wyposażony został w 96 MB pa-
dowanego modemu analogowego lub modemu mięci (z czego 56 MB dostępnych dla użytkow-
DSL. Ericsson do prac nad oprogramowaniem nika), a także w moduł rozpoznawania pisma od-
dla tej hybrydy zaprosił firmy RedHat, która do- ręcznego (język angielski i chiński). Ostatni z tej
starczyła wbudowaną wersję Linuksa, Trolltech linii – model A780 (Rysunek 3) był prawdzi-
z ich środowiskiem graficznym QT/Embedded, wym przebojem, utwierdzającym firmę Moto-
a także firmę Opera, dostarczającą przeglądar- rola w słuszności co do postawienia na Linuksa.
ki internetowej. Niestety HS210 nigdy nie prze- Model A780 zaopatrzony w mocniejszy w sto-

Co to jest smartfon
Nie ma precyzyjnej definicji tego urządzenia, jednak wiele osób podświadomie czuje, ja-
kie urządzenia można obdarzyć tym określeniem. Za Wikipedią podam, że jest to urządze-
nie mobilne łączące w sobie wiele funkcji. Poza podstawowym zadaniem – wykonywania
połączeń głosowych (oraz wysyłania/odbierania SMSów, MMSów), urządzenie to posiada
funkcje odtwarzacza multimedialnego, aparatu fotograficznego (kamery wideo), a zwłasz-
cza spełnia rolę PDA (Portable Digital Assistant). Smartfony charakteryzują się ponadto
systemem operacyjnym umożliwiającym modyfikację (wprowadzanie, usuwanie) oprogra-
Rysunek 2. Pierwszy prawdziwy smartfon pod kon-
mowania.
trolą Linuksa – Motorola A760

www.lpmagazine.org 49
Sprzęt
Linux na urządzeniach mobilnych

lefonami nastawionymi na rozrywkę – głównie mórkowej został kupiony przez koncern Sony). panuje szczególnie ostra konkurencja i szcze-
odtwarzanie muzyki. Pierwszym przedstawicie- Dlatego też oprócz opisanych wyżej telefonów gólnie szybki postęp technologiczny. Nie bez
lem tej linii był telefon E680 (Rysunek 4). Tele- muzycznych E680 i E680i, na rynku amerykań- przyczyny właśnie w Chinach Motorola umie-
fon ten, również pracujący pod kontrolą Linuk- skim Motorola wypuściła telefony z linii ROKR. ściła swoje laboratorium badawczo-rozwojowe,
sa, wyposażony był w wysokiej jakości ekran Pierwszy ROKR E1 zbudowany został na bazie skąd pochodzą telefony wyposażone w Linuk-
o rozdzielczości 240x320 Px, głośniki stereo, 1 modelu E398. Model ten nie działał pod kontro-
GB wbudowanej pamięci, którą można było do- lą Linuksa, więc nie będziemy specjalnie zaprzą-
datkowo rozszerzyć dzięki slotowi dla kart Secu- tali sobie nim głowy. Ważne jest jednak to, że zo-
reDigital, a także kamerę VGA z ośmiokrotnym stał wyposażony w dostarczony przez Apple od-
powiększeniem cyfrowym. Nowinką w tym mo- twarzacz iTunes, dzięki czemu telefon ten mógł
delu był wbudowany odtwarzacz RealPlayer pełnić funkcję iPoda. Motorola nie zapomnia-
oraz radio FM, co nadawało mu multimedialny ła jednak o użytkownikach, którzy nie posiada-
charakter. Motorola E680 dostępna była głównie ją iTunes na swoim PC-cie. Dla nich Motorola
na rynku azjatyckim. Niedługo później Motorola wypuściła model ROKR E2 (Rysunek 6), któ-
wypuściła na rynek azjatycki odświeżoną wersję ry posiadał tradycyjny odtwarzacz MP3, a syste-
tego aparatu – model E680i (Rysunek 5). Literka mem operacyjnym tego modelu był oczywiście
i w nazwie kodowej modelu pochodziła od sło- Linux. Model ten wyróżniał się jeszcze jedną ce-
wa improved, co w tym przypadku polegało na chą – posiadał nowy interfejs graficzny, który za-
zwiększeniu pamięci do 2 GB. Istotną zmianą w debiutował w modelu A910 (działającym rów-
stosunku do pierwowzoru było zastąpienie od- nież pod kontrolą Linuksa). Interfejs ten nadal
twarzacza RealPlayer OpenSource-ową wersją jest wykorzystywany w telefonach Motoro- Rysunek 5. Następca Motoroli E680 – model E680i
tego samego – odtwarzaczem Helix. li. Starsze linuksowe modele wykorzystywały
Motorola ze swoimi telefonami z Linuksem środowisko EZX, nowe natomiast – Chamele-
na pokładzie nie była wyspą na oceanie szczę- on UI (Rysunek 7), które nadal bazowało na sil-
śliwości. Konkurencja w tej branży jest bardzo niku graficznym QT/Embedded dostarczanym
ostra i kto nie idzie do przodu, ten ginie. Przykła- przez Trolltech.
dem na to może być na przykład Ericsson – nie- Jak widać z pewnością z powyższych przy-
gdyś czołowy producent telefonów, dziś nieist- kładów Motorola bardzo dużą wagę przywią-
niejąca w tej branży firma (dział telefonii ko- zywała do rynków azjatyckich. W obszarze tym

Rysunek 6. Motorola ROKR E2 – alternatywa dla


iPoda z odtwarzaczem iTunes

Rysunek 3. Ostatnia Motorola z linii 76x – A780 Rysunek 4. Ostatnia Motorola z linii 76x – A780

Wyświetlacze OLED
Wyświetlacze OLED (Organic Light-Emitting Diode) oparte są na technologii diod elektro-
luminescencyjnych (LED) wytwarzanych ze związków organicznych. Wyświetlacz OLED
składa się z kilku kolejnych warstw: anody, warstwy przewodzącej, organicznej warstwy
emisyjnej oraz katody. Przyłożenie napięcia do OLED powoduje przepływ elektronów od
Rysunek 7. Nowe środowisko Chameleon UI w
katody do anody przez warstwę emisyjną, co powoduje wzbudzenie emisji światła.
ROKR E2

50 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

sa. Dlatego też w tym samym roku, gdy w USA Linia ROKR była dalej reprezentowana go skalowalnego procesora i.MX31L w archi-
ukazał się aparat ROKR E2, na rynku azjatyc- przez przedstawicieli obsługiwanych przez sys- tekturze ARM, taktowanego zegarem o zmien-
kim wprowadzono do sprzedaży nową hybry- tem Linux, np. MOTOROKR E8. Nowinką w nej częstotliwości od 532 do 665MHz. Zmiana
dę telefon/PDA – model E690, będący równo- tym modelu był interfejs MMI (Man-Machi- ta podyktowana była między innymi lepszym
cześnie połączeniem popularnej linii A76x oraz ne-Interface), który polega na możliwości zmia- wsparciem dla nowych formatów kodowania
modelu E680 (Rysunek 9). Ostatecznie mo- ny interfejsu (układu klawiszy) telefonu w zależ- multimediów. MOTOROKR Z6 obsługiwał bo-
del ten otrzymał nazwę ROKR E6. Motorola ności od aktualnej funkcji (Rysunek 8). Następ- wiem ponad 200 nowych formatów związanych
ROKR E6 (a dokładniej rzecz ujmując MO- cą tego telefonu jest model MOTOROKR EM30 z Windows Media Player. Jest to więc pierwsze
TOROKR E6) była nowoczesnym smartfonem (także wyposażony w interfejs MMI), a także je- urządzenie pracujące pod kontrolą Linuksa, któ-
wyposażonym w duży wyświetlacz dotykowy go uboższa (tańsza) wersja z rozsuwaną obudo- re posiadało pełne wsparcie dla multimedialnych
262K QVGA TFT, kamerę o 2 MPx matrycy, wą MOTOROKR EM35 (bez interfejsu MMI). formatów obsługiwanych przez WMP 11, a tak-
slot dla kart MMC/SD oraz wszystko to co po- W branży telefonów muzycznych produko- że zabezpieczeń praw autorskich Janus DRM.
winien mieć normalny telefon. Należy rów- wanych przez Motorolę prawdziwym przebojem Zmiana procesora z kolei pociągnęła za sobą
nież przypomnieć, że telefon ten, podobnie jak okazał się model MOTOROKR Z6 (Rysunek zmianę dotychczasowego jądra systemowego z
wszystkie inne smartfony Motoroli, wyposażo- 10), wprowadzający do rodzinki Motoroli opar- serii 2.40 na nowe – 2.6.10. Model ten, dzięki
ny był w moduł rozpoznawania pisma odręcz- tej na Linuksie sporo nowości. Pierwsza z nich zmianie procesora, wspierał także nową usługę
nego w języku chińskim i angielskim. Tej drob- to typ aparatu. Model ten był pierwszą komór- mobilnej telewizji przez sieć WiFi – V-Cast. Ko-
nostki nie dorobiło się wiele innych PDA (poza ką na Linuksie z rozsuwaną obudową. Najważ- lejną nowością w tym modelu była implemen-
Palmami) czy innych smartfonów. niejszą jednak zmianą było zastosowanie nowe- tacja K-JAVA – wirtualnej maszyny JAVA prze-
znaczonej dla urządzeń z systemem wbudowa-
nym, dostarczonej przez firmę SUN.
Motorola nie zasypuje gruszek w popiele,
pozostawiając nawet najbardziej udane modele
bez zmian. Każdego roku ukazują się ulepszone
wersje poprzednich hitów. Przykładem na to mo-

Rysunek 8. MOTOROKR E8 – pierwsza Motorola z interfejsem MMI

Rysunek 9. MOTOROKR E6

Firma MontaVista
MontaVista to amerykańska firma specjalizującej się w tworzeniu dystrybucji Linuksa – sys-
temów operacyjnych czasu rzeczywistego przeznaczonych dla szerokiego zakresu urzą-
dzeń z wbudowanym systemem. W dystrybucję tę wyposażone są produkty wielu znanych
firm, takich jak np.: NEC, D-Link, Panasonic, Yamaha i inne. Najbardziej znanym dewelo-
perem tej dystrybucji (i pracownikiem firmy MontaVista w latach 2002-2003) jest hacker
Robert Love, znany z aktywnego udziału w pracach nad rozwojem jądra Linuksa, środowi-
ska graficznego Gnome i wielu innych projektów. On to wniósł do MontaVista (bazującej na
nieistniejącej już dystrybucji HardLinux) wiele poprawek właśnie w zakresie jądra systemo-
wego, które to później pozostały w upublicznionym kodzie jądra. W 2008 roku ilość kodu
wprowadzonego przez MontaVista do powszechnie dostępnego kodu jądra Linuksa sięga-
ła 1.2%, co czyniło tę firmę dziewiątym co do wielkości korporacyjnym udziałowcem prac
nad kernelem. Tak więc można powiedzieć, że MontaVista w pewnym stopniu przyczyniła
się do rozwoju Linuksa. Obecnie dystrybucja lub samo jądro systemowe z firmy MontaVista
Rysunek 10. MOTOROKR Z6 – Motorola z syste-
znajduje się w 90% wszystkich smartfonów pracujących pod kontrolą Linuksa.
mem po zmianach

www.lpmagazine.org 51
Sprzęt
Linux na urządzeniach mobilnych

że być model MOTOZINE ZN5 (Rysunek 11). cej na ten temat w Ramce Wyświetlacze OLED) nastu lat. Wiele się w tym czasie zmieniło – za-
Ten czterozakresowy aparat został wyposażony umieszczony na zewnętrznej obudowie telefonu. równo w zakresie sprzętu, jak i oprogramowania.
w 2,4 calowy wyświetlacz TFT o rozdzielczości Telefon ten również obsługuje kodeki charakte- Pierwsze telefony Motorola z Linuksem wypo-
QVGA, obsługę sieci WiFi oraz opisany powy- rystyczne dla WMP 11. sażone były w dystrybucję EZX, która zawierała
żej interfejs MMI. Jednak największym atutem Jedną z nowszych propozycji firmy Motoro- jądro systemowe o zamkniętym kodzie, pocho-
tego telefonu jest aparat cyfrowy, w który zo- la jest telefon Motorola Krave ZN4 wyposażony dzące z firmy MontaVista (Ramka Firma Mon-
stał wyposażony – z 5 MPx matrycą dostarczo- w 2,8 calowy dotykowy ekran o rozdzielczości taVista) oraz silnika graficznego Qt/Embedded
ną przez firmę KODAK. Dodatkowo ZN5 posia- 240x400 Px (Rysunek 13), który operuje się pal- dostarczonego przez Trolltech. Dodatkowo Mo-
da wysokiej jakości ksenonową lampę błyskową, cem. Charakterystycznym dla tego modelu ele- torola dostarczyła własne biblioteki – zarówno w
autofokus i bardzo krótki czas reakcji. Połączenie mentem jest półprzezroczysta klapka wyposa- zakresie sterowników, jak i środowiska graficz-
to sprawia, że ZN5 jest połączeniem komórki z żone w strefy dotykowe, umożliwiające szybki nego (również o niejawnym kodzie). W skład
wysokiej jakości kompaktowym aparatem cyfro- dostęp do wybranych funkcji. Telefon ten obsłu- dystrybucji EZX wchodziło więcej zamknięte-
wym. Wszystko to zaś pod kontrolą systemu ope- guje standard mobilnej telewizji V-Cast. Jednak go oprogramowania: przede wszystkim oprogra-
racyjnego Linux. najciekawszym elementem tego modelu jest od- mowanie odpowiedzialne za podstawową funk-
Równie ciekawą propozycją, w porówna- mienna dystrybucja Linuksa, którą zainstalowa- cjonalność – korzystanie z połączeń głosowych,
niu do powyżej opisanych, jest model MOTO no w tym modelu – nic innego jak Android. a także oprogramowanie PIM, odtwarzacz Real-
U9 (Rysunek 12). Cechą charakterystyczną tej Większość pisanych powyżej modeli tele- Player, przeglądarka internetowa Opera, opro-
komórki jest specyficzny design – obudowa z fonów nie trafiła do Polski oficjalnymi kanała- gramowanie do nawigacji CoPilot oraz wirtual-
klapką, w zaokrąglonym kształcie i intrygują- mi. Są one jednak do zdobycia dzięki szerokie- na maszynę JAVA – wtedy jeszcze o zamknię-
cych kolorach. Ciekawym rozwiązaniem za- mu gronu miłośników produktów tej marki spro- tym kodzie. Ponadto w telefonach z EZX wystę-
stosowanym w tym telefonie jest wyświetlacz wadzających do naszego kraju najlepsze mode- pował specyficzny rodzaj portu mini-USB EMU
OLED (Organic Light Emitting Diode – wię- le. Jednak jedna z komórek Motoroli z systemem (Enhaced Mini USB). Jego niezwykłość polega-
operacyjnym Linux zdobyła uznanie nie tylko na ła na połączeniu wielu funkcji w jednym porcie,
szeroko pojętym rynku europejskim, lecz nawet tj: transmisji danych w standardzie USB, port
w Polsce. Mam na myśli Motorolę RAZR V8 USB host, serial port, transmisja sygnału au-
(Rysunek 14). Model ten – z klapką – wyposa- dio stereo (słuchawki stereo muzyczne), trans-
żony jest w zewnętrzny dotykowy wyświetlacz misja dźwięku audio mono (proste zestawy słu-
oraz 480MB lub 2 GB wewnętrznej pamięci. chawkowe), ładowanie akumulatora telefonu, a
Model ten zachwycał przede wszystkim perfek- także port zestawu samochodowego. Ten dość
cyjnym wykonaniem – metalową obudową oraz skomplikowany koktajl obsługiwany był rów-
wyświetlaczami pokrytymi szkłem. Atrakcyjno- nież za pomocą zamkniętych sterowników do-
ści przydaje mu również łatwy w obsłudze, intu- starczonych przez Motorolę. Jednocześnie na-
icyjny system operacyjny Linux. leży mieć świadomość, że dystrybucja EZX za-
wierała wiele elementów o otwartym kodzie, np.
Dystrybucje Motoroli zasadnicza część kernela, a także niektóre spe-
System operacyjny Linux na wybranych mode- cjalistyczne sterowniki (np. obsługa GPRS, czy
lach komórek firmy Motorola gości już od kilku- ekranu dotykowego). Ponadto cały kod kompi-

Rysunek 11. MOTOZINE ZN5 – telefon powstały we


współpracy z firmą Kodak

Rysunek 12. MOTO U9 – ciekawy design i wyświe- Rysunek 13. Motorola Krave ZN4 – pierwsza Moto- Rysunek 14. Motorola RAZR V8 – popularny w Pol-
tlacz OLED na obudowie rola z Androidem sce model działający pod kontrolą Linuksa

52 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

lowany był przy użyciu standardowych biblio- • ostatecznie – dostarczenie firmware te- rany przez Motorolę, a nadal systematycznie
tek gcc i glibc. lefonów, które będzie w 100% oparte na się rozwija.
Firma Motorola popełniła jednak zasadniczy otwartym kodzie i jednocześnie całkowi- Mniej więcej w 2005 roku Motorola zro-
błąd nie udostępniając zestawu narzędzi dewelo- cie działające. zumiała, że nie da się dalej tworzyć wydajne-
perskich do tworzenia aplikacji dla telefonów z go oprogramowania dla nowoczesnych telefo-
systemem Linux, zachęcając w zamian do ko- Ostatni cel został podzielony na dwa etapy. nów bazując na starzejących się technologiach.
rzystania z API J2ME. Tak się jednak nie stało. Pierwszy ma na celu stworzenie kodu jądra Li- Dlatego też po raz pierwszy w telefonie MO-
W odpowiedzi na brak otwartych narzędzi dewe- nuksa. Później zaś przyjdzie czas na pracę nad TOROKR Z6 zastosowała całkiem nowy sys-
loperskich, społeczność sympatyków telefonów oprogramowaniem przestrzeni użytkownika. tem operacyjny nazwany L-J (od Linux-JAVA)
Motorola z Linuksem powołała do życia w 2005 Obecne prace skupiają się nad trzema mode- lub częściej MotoMAGX, który, jak już wcze-
roku projekt OpenEZX, który miał na celu stwo- lami Motoroli: A780, E680 oraz E680i, które śniej wspomniałem przy okazji opisywania tego
rzenie dystrybucji, który zastąpi oryginalny sys- w przyszłości posłużą jako odskocznia do now- telefonu, zawierał jądro 2.6.10 (ponownie dostar-
tem. Cele OpenEZX były następujące: szych telefonów. Aktualny stan pracy, pomimo czone przez MontaVista) oraz oryginalną, dostar-
wytężonej pracy deweloperów i stałego postę- czaną przez Sun wirtualną maszynę JAVA spe-
• zbieranie i publikowanie informacji na te- pu, pozostawia jeszcze wiele do życzenia, także cjalnie przygotowaną dla urządzeń z systemem
mat sprzętu i oprogramowania telefonów OpenEZX nie może być używany zamiennie z wbudowanym. Ponownie za środowisko graficz-
Motorola z systemem EZX; oryginalnym systemem – projekt ten nadal jest ne odpowiadały biblioteki Qt/Embedded, lecz w
• przeportowanie wszystkich sterowników we wczesnej fazie rozwojowej. Należy jednak odświeżonej wersji. Razem z nowym systemem
z jądra 2.4.20 do bieżącego jądra z linii pogratulować deweloperom OpenEZX zapału, Motorola stworzyła portal opensource.motoro-
2.6.x; gdyż projekt ten nie jest w żaden sposób wspie- la.com, mający na celu promowanie Wolnego

������������������������������ ��������

�������������

���������

������������
�������������� ������������� ������������ �������
�����������
������ ��������� ������������ �������� ����������
�������������� ��������� ���� ������������
���� ���� �������� ������������ �������� �������
�����������
���� ������������� ����� ���������������
���� ������������
���������� ������ �����������

����������
������ ���������
�������� ���������
���
���������� ��������
����������� ������ ������� ������ �������� �������� �������� �������
���������
����������������

������ ������� ������� ������������ ������� ������� ����������


�������� �������� ��������
������
������������������

��������
�������� ���������
��������
���������

����������
����

������� ������ ���������� ��� ���


���� �� �������� ������ ������������� ��������
���� ���������
������� ����������
����� �������� ���������
��� �������
�������
�������������������� ��� ��������������
���������
��������� ������������ �������� ��������������� �����
���������
�������

������
����

����������
�������� ���������
� ������� �������� �������
���� ����� ��� ���������
��������� ������
������ ����������� ����� ������ ��������
������
������ ������� ����� ��� ������� �������
������� ���� ������ �������
����������������

�������������������������������������

��������������� ����������������
���������� ��������
������ ���������� ����� ���� ������
��� ���������
���������� ������� ������� ������ ������� �����������
����� ��������������� ������
���������� ������������������
��������

������������� ���������� ����� �����������������������


��� ��� ��� ���� ���
������� �������� ������ ��������������������������������

����������� ������ ����������� ������������������������� ������������

Rysunek 15. Schemat obrazujący architekturę systemu ALP 3.0

www.lpmagazine.org 53
Sprzęt
Linux na urządzeniach mobilnych

Oprogramowania, a także wypuściła narzędzia wanych przez Motorolę polegała między innymi dardów w telefonii mobilnej, a także dla takich
deweloperskie potrzebne do tworzenia oprogra- na całkowitej rezygnacji z zamkniętego kodu. W usług jak obsługa GPS/A-GPS. Zaimplemento-
mowania dla tego systemu – MOTODEV Stu- zamian stosowane są w pełni otwarte i powszech- wano w nim obsługę ekranu dotykowego za po-
dio. Różne wersje tego programu umożliwia- nie dostępne rozwiązania. Kernel pochodzi oczy- mocą palca, jak i rysika, a także obsługę klawia-
ją tworzenie aplikacji dla systemów Linux, jak wiście z linii 2.6 – bezpośrednio z projektu jądra tury. ALP-3.0 obsługuje również akcelerometr
i Symbian UIQ, a także w dla K-JAVA. Kolej- dla architektury ARM, zostało uzupełnione jed- oraz czujnik zbliżenia. System ten posiada za-
na wersja MOTODEV Studio dostarcza narzędzi nak dodatkowymi sterownikami, często mają- awansowane funkcje PIM, pełną obsługę wielo-
do tworzenia aplikacji w postaci wigetów siecio- cymi otwarte pochodzenie. Przykładem tu mo- rakich standardów multimedialnych (w tym tych
wych. Narzędzia te powstały na bazie OpenSour- że być obsługa Bluetooth – zaimplementowana z Windows). Wszystko to pracuje wykorzystu-
ce'owego projektu IDE Eclipse. w systemie dzięki oprogramowaniu pochodzące- jąc biblioteki GTK+ oraz wiele innych OpenSo-
System MotoMAGX nie był jednak w peł- mu z projektów Bluez oraz OpenOBEX. urce-owych rozwiązań, np. takich jak biblioteki
ni otwartym systemem, choćby ze względu na Generalnie rzecz ujmując, wizja LiMo po- BlueZ i OpenObex czy silnik baz banych SQLite.
jądro dostarczone przez firmę MontaVista, któ- lega na maksymalnym skupieniu się na war- Na stronach internetowych firmy Access zapre-
re zawierało zamknięte sterowniki. Motorola dą- stwie pośredniczącej systemu, pozostawiając zentowano liczne zdjęcia oraz filmy prezentujące
żąc więc do całkowitego otwarcia kodu swoje- rozwój jądra środowisku OpenSource, a war- możliwości tej platformy. Trzeba przyznać, że ro-
go oprogramowania, w 2007 roku wraz z firma- stwę aplikacji firmom będącym członkami fun- bią wrażenie. Szczególną uwagę należy zwrócić
mi NEC, NTT DOCOMO, Panasonic, Samsung dacji. Podejście takie jest uzasadniane chęcią na przeglądarkę internetową wchodzącą w skład
oraz Vodafone, powołała do życia fundację Li- uniknięcia konfliktów na tle biznesowym. In- ALP-3.0 – NetBrowser 3.5. Zgodnie ze specyfi-
Mo (od Linux Mobile), która miała na celu stwo- aczej mówiąc, firmy wchodzące w skład fun- kacją obsługuje ona wszystkie popularne standar-
rzenie w pełni otwartego systemu operacyjnego dacji LiMo, nie chcąc wchodzić sobie w para- dy spotykane na stronach internetowych, łącznie
bazującego na Linuksie (nie tylko opracowanie dę, wspólnie pracują nad rozwiązaniami, któ- z obsługą Flash. Niestety nie maiałem możliwo-
standardów), przeznaczonego dla telefonów ko- re przysłużą się wszystkim, nie przeszkadzając ści nigdy zetknąć się z tym produktem. Moje do-
mórkowych. Z czasem do fundacji dołączyły in- robić samodzielnych interesów. świadczenia zakończyły się na NetBrowser 3.1na
ne firmy robiące interesy na rynku telefonii ko- Na ostatnim kongresie Mobile World Con- platformie PalmOS. Niestety, przeglądarka ta nie
mórkowej – operator Orange, SK Telecom, a tak- gress fundacja LiMo zaprezentowała najnow- zrobiła na mnie dużego wrażenia. Mam nadzieję,
że firma ACCES – właściciel systemu operacyj- szą wersję swojego systemu oznaczonego sym- że pomimo nieznacznej zmiany numeracji, prze-
nego PalmOS, który od dłuższego czasu praco- bolem R2. Jednocześnie firma Access – jeden glądarka NetBrowser z APL zmieniła się diame-
wał nad własną wersją dystrybucji Linuksa dla z członków założycieli LiMo, zaprezentowa- tralnie. W przeciwnym przypadku całość skaza-
urządzeń z systemem wbudowanym (WebOS). ła trzecią wersję swojego systemu ALP (Access na jest na porażkę.
Fundacja opracowała gotowy system operacyjny, Linux Platform – ALP 3.0) będącego implemen-
który wykorzystany został na dzień dzisiejszy w tacją założeń LiMo (Rysunek 15). ALP-3.0 jest Nie tylko Motorola
ponad trzydziestu modelach telefonów komórko- nowoczesną dystrybucją Linuksa występują- Z powyższego tekstu wydawałoby się, że jedy-
wych trzech różnych firm (NEC, Panasonic oraz cą w dwóch odmianach – dla smartfonów oraz nym graczem na rynku smartfonów działających
oczywiście Motorola). Innowacyjność LiMo w urządzeń typu PDA. System ten oferuje wspar- pod kontrola Linuksa jest Motorola. Nic bardziej
stosunku do poprzednich systemów wykorzysty- cie dla wszystkich obecnie obowiązujących stan- błędnego. Jak wspomniałem wcześniej, w skład
fundacji LiMo weszły jeszcze inne firmy produ-
kujące sprzęt – Panasonic, Samsung oraz mniej

Rysunek 16. Telefon HTC G1 (źródło: Wikipedia) Rysunek 17. Zrzut ekranowy z aplikacji AndroidMarket

54 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

znana (lecz obecna) na rynku polskim firma bym ciężki grzech zaniedbania. Android bo- Historia systemu Android rozpoczęła się w
NEC. Wszyscy ci producenci wyprodukowa- wiem, niezależnie od tego, czy nam się to po- 2005 roku, kiedy to Google kupiło niewielką fir-
li telefony, które sprzedawane są przez japoń- doba, czy nie (są bowiem różne opinie na temat mę Android Inc., tworzącą oprogramowanie dla
skiego operatora telefonii komórkowej (i innych tego projektu), dał Linuksowi na smartfonach urządzeń mobilnych. Współzałożyciel tej firmy,
usług mobilnych, np. telewizji) – DoCoMo. mocnego kopniaka wybijając Linuksa daleko jednocześnie pracownik Google, po wykupieniu
Przodownikiem okazuje się jednak fir- do przodu. Innym Linuksom na urządzenia mo- firmy na jej bazie utworzył zespół, którego ce-
ma Samsung, która z powodzeniem od kilku bilne pozostało jedynie gonić ten projekt. Stało lem miało być opracowanie systemu operacyjne-
lat wypuszcza na rynek (niestety, nie europej- się tak między innymi za sprawą mentora pro- go dla urządzeń mobilnych opartego na Linuk-
ski) smartfony pracujące pod kontrolą Linuksa jektu – firmy Google, która wyłożyła niewy- sie. Ważną datą w historii systemu Android jest
– SCH-i819, SGH-i858, SGH-i859. Telefony te obrażalnie duże pieniądze na ten cel. 5 listopada 2007 roku, kiedy to założono Open
(poza i859) pracują pod kontrolą dystrybucji Sam aparat – HTC G1 (a właściwie HTC Handset Alliance – konsorcjum z następujący-
Prizm 2.5, będącej dziełem koreańskiej firmy Dream) jest pierwszym urządzeniem seryjnie mi członkami-założycieami: Google, HTC, In-
Mizi Research (oddział firmy WindRiver). Cie- produkowanym, na którym pierwotnie zainsta- tel, Motorola, Qualcomm, T-Mobile, Sprint Ne-
kawostką tej dystrybucji jest to, że jej środowi- lowano system Android (Rysunek 16). Po raz xtel oraz NVIDIA. Przewodnim celem OHA był
sko graficzne oparte jest na serwerze X-ów Ti- pierwszy telefon ten został wprowadzony do rozwój otwartych standardów dla telefonii mo-
nyX, w połączeniu z QT/Embedded. W 2007 sprzedaży w 2008 roku w sieci T-Mobile. Jest to bilnej. W tym samym czasie po raz pierwszy za-
oku Mizi Research wypuściła nową wersję pięciozakresowy telefon wyposażony w 3,2-ca- prezentowano nową platformę systemową An-
swojej dystrybucji – Prizm 3.0, która znalazła lowy dotykowy wyświetlacz o rozdzielczości droid. Tydzień później po raz pierwszy opubliko-
zastosowania w telefonie Samsung SGH-i859. 320x480 Px (180 ppi) oraz zminiaturyzowaną wano SDK dla systemu Android, w skład które-
W dystrybucji tej całkowicie porzucono QT/ pełną klawiaturę w standardzie QWERTY. Tele- go wchodziły narzędzia programistyczne, doku-
Embedded na rzecz środowiska GTK+. fon ten wyposażony jest w procesor Qualcomm mentacje, emulator systemu oraz wtyczka do je-
Pod kontrolą Linuksa działa zdecydowanie MSM7201A ARM11 o częstotliwości 528MHz dynego obsługiwanego IDE – Eclipse w wersji
więcej smartfonów niż te zaprezentowane powy- oraz 192 MB pamięci DDR SDRAM, oraz 256 3.2. Pomimo wielu skarg programistów, pierwsze
żej. Wszystkie one jednak są absolutnie nie do MB pamięci Flash, którą można rozbudować aplikacje na platformę Android pojawiły się w ty-
zdobycia w Polsce. Jedynym wyjątkiem są tele- maksymalnie do 8 GB za pomocą kart mikro-SD dzień po opublikowaniu IDE. Nikogo chyba nie
fony OpenMoko – powstałe w ramach projektu o (w zestawie z telefonem znajduje się karta 1 GB zdziwi fakt, że pierwszym programem była gra
tej samej nazwie, o którym będę pisał w dalszej lub 2 GB w UK). Ponadto telefon ten obsługuje – Wąż. Jednocześnie Google ogłosiło konkurs
części artykułu. Telefony te są jednak bardziej Bluetooth 2.0 oraz sieci bezprzewodowe w stan- na najbardziej innowacyjne rozwiązanie progra-
narzędziem do pracy dla deweloperów chcących dardzie 802.11 b/g. Z dodatkowego wyposażenia mistyczne dla systemu Android, w którym na na-
tworzyć oprogramowanie dla mobilnego Linuk- G1 zawiera kamerę 3,2 MPx z autofokusem, in- grody przeznaczono aż 10 mln dolarów. Do dnia
sa niż codziennym aparatem telefonicznym. terfejs A-GPS, dwa akcelerometry oraz czujnik zakończenia konkursu – w kwietniu 2008, do
zbliżenia i natężenia światła. Telefon ten pracuje Google wpłynęło ponad półtora tysiąca aplikacji
Android – Google jest wszędzie pod kontrolą systemu Android w wersji 1.1 ze 170 krajów. Wśród 50 prac finałowych 10 ze-
Kolejnym aparatem telefonicznym pracującym
pod kontrolą Linuksa jest HTC G1 z systemem
��������������������������������
operacyjnym Android. Gdybym w artykule tym
nie wspomniał o projekcie Android, popełnił-

���������������

����� ����� ����������� ���� ���

������ ��� ��� ���������� ������

����������������

��������� ���������
��� ������� �������
���� ����������

������������������

Rysunek 18. Smartfon Neo FreeRunner działający


pod kontrolą OpenMoko (tu 2007.1) Rysunek 19. Architektura FSO

www.lpmagazine.org 55
Sprzęt
Linux na urządzeniach mobilnych

społów otrzymało nagrody po 275 tys. USD, 10 tychczas aplikacja, która narażałaby na niebez- sprawdza. To nie jest jednak jedyna przyczyna
zespołów – po 100 tys USD. pieczeństwo dane użytkownika. Sytuacja taka krytyki systemu Android. Platformie tej zarzuca
Aplikacje tworzone dla Android pisane są miała miejsce w przypadku programu Memo- się między innymi niepełną zgodność ze standar-
w języku JAVA, jednak nie są w systemie uru- ryUp Personal z AndroidMarket. Program, któ- dami OpenSource. Przede wszystkim część sys-
chamiane za pomocą wirtualnej maszyny JA- ry miał służyć zwiększeniu wydajności telefonu, temu Android nadal pozostaje zamknięta (kod
VA, lecz wirtualnej maszyny Davlik. Co to ta- w rzeczywistości kasował wszelkie zapisane na własnościowy), w tym fragmenty wirtualnej ma-
kiego? To nic innego jak odpowiednio spreparo- nim dane. W AppStore taka sytuacja jest nie do szyny Davlik oraz biblioteki GUI – Skia. Ponad-
wana JVM okrojona przez zespół tworzący An- pomyślenia... W sieci znalazłem również donie- to oprogramowanie dla Android musi być pisane
droid na potrzeby tego konkretnego systemu. W sienia na temat niezbyt ciekawych poczynań An- tylko w Javie i wykonywane za pośrednictwem
trakcie tworzenia aplikacji dla systemu Android droidMarket wobec darmowych odpowiedników wirtualnej maszyny Davlik, przez co programi-
kod źródłowy, powstały w Eclipse, kompilowa- płatnych aplikacji – są one zwyczajnie usuwane. ści nie mają dostępu do niższych warstw API.
ny jest przy zastosowaniu klasycznego kompi- Przykładem na to może być program Gadudro- Ponadto programiści Android unikają jakichkol-
latora JAVA (program javac). Następnie binar- id – program obsługujący sieć Gadu-Gadu. Po wiek rozwiązań, które pozwoliłyby pracować te-
ne klasy (pliki .class w JAVA) oraz pakiety jar wprowadzeniu płatnego programu – ta darmo- mu systemowi w trybie serwera. Niemożliwe jest
zawierające takie pliki za pomocą narzędzia dx wa została usunięta. W AppStore takie rzeczy się więc połączenie się z Androidem przez ssh (kie-
przekształcane są do kodu binarnego Davlik, za- nie dzieją... Jedyną rzeczą, która przemawia zde- dyś był telnet, lecz i tą możliwość usunięto) czy
pisanego w plikach o rozszerzeniu dex. Brak kla- cydowanie na korzyść AndroidMarket jest moż- http. Brak zdalnego dostępu do powłoki w syste-
sycznej JVM dla JAVA ME programiści Andro- liwość zwrotu zakupionego programu w ciągu 24 mie pochodzącym od Linuksa mocno zdumiewa.
ida tłumaczyli lepszym zarządzaniem zasobami h od zakupu. Dzięki temu każdy ma możliwość Nawet Apple, które mocno broni swoich praw do
mobilnego urządzenia przez maszynę w porów- przekonania się, czy aplikacja, za którą zapłacił, oprogramowania, a dla MacOS na iPhone czy
naniu do klasycznej JVM. Krążą jednak plotki, na pewno mu się podoba. W AppStore taka moż- iPod Touch powstał serwer OpenSSH – co praw-
że prawdziwą przyczyną był brak zgody Google liwość jest nie do pomyślenia... Użytkownik po- da do instalacji przez Jailbareake, ale zawsze. Ta-
na licencję, na podstawie której rozpowszech- dejmując decyzje o zakupie programu skazany kie ograniczenia mocno podważają wiarygod-
niana była JVM ME. Podsumowując, można jest jedynie na opinie zamieszczone przez innych ność systemu Android.
powiedzieć, że aplikacje pisane dla systemu An- kupujących. Jak dla mnie jest to mało wiarygod-
droid wykorzystują API dostarczone przez de- ne źródło informacji. Sytuację ratują jedynie apli- OpenMoko
weloperów Android. Napisane są w języku JA- kacje w wersji lite i full. – przede wszystkim wolność
VA, a wykonywane za pośrednictwem wirtual- System Android ma zapewne tyle samo Jak wcześniej pisałem, Android miał być Open-
nej maszyny Davlik. przeciwników co i zwolenników. Głównym za- Source-owym systemem na urządzenia mobilne.
Aplikacje napisane dla Android można roz- rzutem jest zastosowanie Davlik VM zamiast Co z tego wyszło – sam Czytelniku już wiesz...
powszechniać za pomocą AndroidMarket – plat- JVM, gdyż zmniejsza to przenośność aplikacji Zupełnie inaczej rzecz przedstawia się z plat-
formy rozpowszechniania programów, powstałej JAVA – te przygotowane dla Android mogą być formą OpenMoko. Jest to projekt mający na ce-
w odpowiedzi na AppStore (Rysunek 17). Oby- uruchamiane tylko na tej platformie. Rozwiąza- lu stworzenie systemu operacyjnego oraz opro-
dwa przedsięwzięcia jednak więcej dzieli niż łą- nie to dziwi o tyle, że na wielu innych mobilnych gramowania na urządzenia mobilne całkowicie
czy. Największą różnicą jest to, że każdy dewe- platformach (Symbian, Windows Mobile, a na- zgodnego ze standardami OpenSource. Podstawą
loper może przesłać swoją aplikacje do Android- wet Linux) mobilna wersja JVM doskonale się działania projektu OpenMoko jest smartfon Neo
Market. Aplikacja ta w żaden sposób nie jest we-
ryfikowana – pod względem bezpieczeństwa czy
sprawności działania itp. Z jednej strony jest to W Sieci
niesamowita zaleta wobec AppStore, gdzie na-
• http://kandalaya.org/Docs/A760.html – szczegółowe informacje na temat współpracy
wet bardzo dobre aplikacje nie mają szansy za-
A760 z Linuksem;
istnieć, bo są niezgodne z polityką Apple. Z dru-
• http://www.motorola.com – strona firmy Motorola. Źródło zdjęć opisywanych
giej zaś strony w AppStore nie pojawiła się do-
telefonów Motorola i informacji na temat telefonów;
• http://www.mvista.com – strona firmy MontaVista;
• https://opensource.motorola.com – strona projektu OpenSource Motorola;
• http://developer.motorola.com/docstools/motodevstudio – strona projektu MOTODEV
Studio;
• http://www.limofoundation.org – adres witryny internetowej fundacji LiMo;
• http://alp.access-company.com – witryna firmy Access;
• http://www.android.com – oficjalna witryna systemu Android;
• http://googleandroid.blox.pl/html – ciekawy blog w języku polskim na temat Google
G1 i systemu Android;
• http://www.androidal.pl – polski portal poświęcony systemowi Android;
• http://www.openmoko.com – strona firmy OpenMoko, gdzie można dowiedzieć się
więcej na temat telefonu Neo FreeRunner;
• http://www.openmoko.org – strona projektu dystrybucji OpenMoko;
• http://www.freesmartphone.org/ – strona projektu FSO;
• http://www.tuxbrain.com/fdom_en.html – strona projektu FDOM.
Rysunek 20. Smartfon Pam Pre

56 maj 2009
Sprzęt
Linux na urządzeniach mobilnych

FreeRunner (Rysunek 18). Telefon ten wyróżnia dzie wiecznie rozwijającym się projektem, któ- pit jest więc formą strony internetowej, napisa-
przede wszystkim niespotykana gdzie indziej sty- rego celem jest stworzenie jak najlepszej war- ną we wspominaych technologiach. Rozwiąza-
listyka: owalny kształt z otworem w dolnej czę- stwy pośredniej systemu. SHR natomiast ma nie to ma swoje zalety i wady. Niewątpliwą zale-
ści. FreeRunnera cechuje ponadto duży 2,8'' do- na celu stworzenie kompletnego stabilnego śro- tą jest JavaScript – język znany i sprawdzony o
tykowy wyświetlacz o rozdzielczości 480x640 Px dowiska pozwalającego na pełne korzystanie z bardzo dużym potencjale (zwłaszcza w połącze-
(VGA), co jest w tej klasie telefonów raczej nie- funkcji oferowanych przez aparat Neo FreeRun- niu z XML w AJAX), pozwalający na tworzenie
spotykanym zjawiskiem. Urządzenie pracuje pod ner. Tak więc wydaje się, że najbardziej oczywi- szybkich, niezawodnych aplikacji. Język ten jest
kontrolą procesora ARM9 @ 400 MHz ze wspar- stym wyborem będzie dla przeciętnego użyt- na tyle łatwy, że pozwoli to na tworzenie apli-
ciem dla akceleracji grafiki 2D/3D przy udziale kownika zastosowanie SHR. kacji niemal każdemu, zwłaszcza jeżeli WebOS
128MB pamięci SDRAM oraz 256MB NAND Kolejną dystrybucją przeznaczoną na tę dostarczy dobre API. Wadą powyższego rozwią-
Flash, która może być rozszerzona za pomocą platformę jest FDOM (Fat and Dirty OpenMo- zania są same wady JavaScript – przede wszyst-
kart mikro-SD. Ponadto Neo FreeRunner wypo- ko). Dystrybucja ta bazuje na bieżącym wyda- kim jest język interpretowany, słabo zoriento-
sażony jest w interfejs sieci Wi-Fi (802.1 1b/g), niu dystrybucji OM, do której dołączono licz- wany obiektowo, co może utrudniać pisanie dla
AGPS, Bluetooth 2.0, a także akcelerometr. ne poprawki i aplikacje zaproponowane przez WebOS skomplikowanych aplikacji. Telefon ten
Telefon ten charakteryzuje się pełną otwar- użytkowników i deweloperów OM. ma być wprowadzony do sprzedaży w drugiej
tością. Wraz z zakupionym urządzeniem dostaje- Poza powyżej opisanymi dystrybucjami, na połowie roku, więc Palm ma jeszcze trochę cza-
my pełną specyfikację sprzętu, a także zainstalo- FreeRunnera powstało wiele innych dystrybucji, su, aby usprawnić swój produkt. Ja w każdym
waną oficjalną dystrybucję OpenMoko. Dystry- w tym portów dystrybucji znanych z PC-tów, np. razie już nie mogę się doczekać.
bucja ta jest jednak jedną z wielu, które powstały Debian czy Gentoo. Możliwa jest również insta-
z przeznaczeniem na ten telefon. Pierwsza wersja lacja opisanej powyżej dystrybucji Android. Podsumowanie
– OM – 2007.1 – została obecnie całkowicie za- Mam nadzieję, że udało mi się przedstawić
rzucona. Jej kolejna odsłona OM 2007.2 znajduje Palm rusza do boju możliwości, jakie daje Linux zastosowany na
się standardowo na telefonie FreeRunner. Jej in- Na sam koniec chciałbym zaprezentować jed- smartfonach w roli systemu operacyjnego. Po-
terfejs został zaprojektowany tak, aby mógł być no z nowszych urządzeń pracujących pod kon- ziom zaprezentowanych urządzeń, a także sys-
obsługiwany za pomocą palca. Jako środowi- tolą Linuksa – smartfon Palm Pre, którego pre- temów operacyjnych, jest bardzo zróżnicowa-
sko graficzne OM 2007.2 wykorzystuje biblio- miera odbyła się na ostatnim kongresie Mobile ny – od systemów będących w fazie rozwojo-
teki GTK+ pochodzące z projektu Gnome mobi- World Congress (Rysunek 20). Telefon ten od wej do gotowych w pełni działających rozwią-
le. Kolejna wersja tej dystrybucji została opubli- razu został okrzyknięty kolejnym iPhone kil- zań. Tak więc pytanie, czy Linux może być sto-
kowana w sierpniu 2008 roku (oznaczona nume- lerem – jak każdy nowy smartfon z dotyko- sowany na urządzeniach mobilnych jest całko-
rem 2008.8). Interfejs użytkownika wykorzystu- wym ekranem, nieco przypominającym iPho- wicie bezzasadne, gdyż stan ten w tej chwi-
je biblioteki Qtopia działające pod kontrolą ser- ne'a, wyznaczającego obecnie trend w tym seg- li ma już miejsce, co postarałem przedstawić
wera X-ów, z możliwością uruchomienia aplika- mencie rynku. Jednak obydwa urządzenia bar- się w tym artykule. Zamiast tego chciałbym
cji napisanych z zastosowaniem bibliotek GTK+. dzo wiele dzieli. Przede wszystkim Palm Pre na sam koniec postawić pytanie, które wypły-
Wersja ta charakteryzuje się wieloma zmianami posiada wszystkie te funkcje, których zabra- nęło zaraz na początku artykułu – co przecięt-
w stosunku do poprzedniego wydania. Wprowa- kło w iPhone'ie: możliwość pracy programów ny Kowalski, nie programista, lecz szary użyt-
dza między innymi graficzny instalator aplikacji w tle, funkcja kopiuj/wklej, pełna obsługa stan- kownik, ma z tego, że Linux steruje jego smart-
czy możliwość zmian tematów graficznych. Za- dardu Bluetooth, funkcja modemu czy wreszcie fonem? Możnaby odpowiedzieć, że nic nie ma,
uważone w tej dystrybucji błędy po części zosta- banalna obsługa MMS-ów. Nie zabrakło nato- co byłoby bardzo błędnym podejściem. Prze-
ły usunięte w kolejnym wydaniu opatrzonym nu- miast w Palm Pre funkcji, na które patent ma ciętny użytkownik korzysta bowiem poprzez
merem 2008.9 oraz 2008.12. Apple, np. wyświetlacz dotykowy multitouch, ruch OpenSource i ostrą konkurencję wymu-
Kolejną dystrybucją działającą na FreeRun- który w Palm działa nieco inaczej, lecz w rze- szającą ciągły postęp oprogramowania – i co za
nerze jest FSO. Skrót ten pochodzi od nazwy pro- czywistości jest tym samym. Dodatkowym atu- tym idzie, sprzętu. W konsekwencji oznacza to,
jektu freesmartphone.org. Zastosowanie FSO na tem w Palm Pre jest wysuwana klawiatura w że Kowalski za niższą cenę otrzymuje lepszy
FreeRunnerze jest przykładem podziału pracy standardzie QWERTY. produkt. Chyba już tylko z tego powodu, kupu-
nad dystrybucją Linuksa. Deweloperzy skupie- Urządzenie to działa pod kontrolą systemu jąc nową komórę, warto wybrać tę – działającą
ni wokół OpenMoko zajmują się pracami nad operacyjnego WebOS powstałego na bazie Li- pod kontrolą Linuksa.
interfejsem użytkownika, zaś deweloperzy FSO nuksa – dzieła firmy Access, co jak dla mnie jest
– warstwą pośrednią systemu (Rysunek 19). Po- wyśmienitą rekomendacją. Firma ta stworzyła
szczególne wersje FSO wydawane są w postaci opisany wcześniej system ALP 3.0, a także jest
punktów milowych (milestone) – różnie w zależ- właścicielem praw do systemów PalmOS. Z za- O autorze
ności od realizacji zamierzonych celów. Ostatnie powiedzi wiem, że WebOS odziedziczył po Pal-
Grzegorz Madajczak jest z wykształcenia le-
wydanie – milestone 5 – opublikowane zostało mOS najlepsze jego cechy – dynamiczne zarzą-
karzem weterynarii i mikrobiologiem. Linuk-
w lutym 2009 roku. Pod koniec marca tego roku dzanie pamięcią, wielowątkowość. Dzięki inno-
sem i ogólnym oprogramowaniem OpenSo-
planuje się wydanie kolejnej edycji FSO. wacyjnym rozwiązaniom w PalmOS programy
urce pasjonuje się od 2001 roku. Na co dzień
Produktem będącym kompilacją OM oraz działały zdecydowanie szybciej niż na window-
używa Linuksa zarówno w pracy, jak i w do-
FSO jest SHR (Stable Hybrid Release). SHR sowych odpowiednikach, nie mówiąc już o nie-
mu. Jego ulubione dystrybucje to Gentoo i
jest projektem środowiska skupionego wokół mal natychmiastowym ich uruchamianiu. Zasa-
Slackware.
projektów OpenMoko oraz FSO. Różnica po- da działania GUI w WebOS na Palm Pre opie-
Kontakt z autorem: madajczak@gmail.com
między FSO a SHR polega na tym, iż FSO bę- ra się na wykorzystaniu HTML i AJAX. Pul-

www.lpmagazine.org 57
Sprzęt
Linux kontra iPod

Linux kontra iPod


Grzegorz Madajczak

Codziennie chodząc po ulicach każdego z miast Polski, Europy i świata, niemalże na każdym kroku
spotyka się ludzi słuchających muzyki przez charakterystyczne białe słuchawki. Wielu z nich należy
do wielkiej rodziny posiadaczy iPoda. Ja sam do nich należę, więc poniższy artykuł – o wzajemnych
relacjach Linuksa i iPodów będzie - wybitnie subiektywny.

iPod Linux

P
omimo tak znacznej liczby użytkowników iPodów tywnego dla oryginalnego, dostarczonego przez Apple, firmwa-
autorzy@lpmagazine.org

firma Apple ma w głębokim poważaniu tą część re, opartego oczywiście na Linuksie. Projekt ten wspiera wy-
społeczności użytkowników odtwarzaczy Apple, brane modele iPodów. Niestety, nawet w przypadku najlepiej
która nie chce lub nie może używać PC-tów z Win- wspieranych iPodów Classic nie udało się uzyskać pełnej ob-
dowsem lub Maców. Do prawidłowego działania urządzenia te sługi sprzętowej. Niezależnie od modelu i generacji iPoda, pro-
bowiem wymagają zainstalowanego na komputerze programu jektowi iPodLinux nie udało się dodać do budowanego firmwa-
iTunes, który dotychczas nie powstał w wersji na Linuksa. Po- re zarządzania zasilaniem z możliwością trybu uśpienia.
dejście to dziwi mnie bardzo, gdyż przeportowanie z MacOS Projekt ten całkowicie nie wspiera iPodów Nano od drugiej
(potomek Unixa) na Linuxa nie powinno stanowić problemów. generacji włącznie, co spowodowane jest zmianami w sposobie
Władze Apple nie chcą jednak nawet słyszeć o takim rozwiąza- szyfrowania firmware, wprowadzonymi przez Apple. Rozszy-
niu. Nie stanowi to jednak przeszkody dla miłośników iPodów i frowanie firmware jest procesem niezbędnym, gdyż prace nad
Linuksa, powstało bowiem wiele projektów, których zadaniem obsługą sprzętową iPodów w znacznej mierze opierają się na
jest albo zastąpienie iTunes alternatywnym linuksowym pro- technice reverse engineering – inżynierii wstecznej (Ramka).
gramem, albo nawet uruchomienie Linuksa na iPodzie. Niezależnie od opisywanego projektu powstała inicjatywa, ma-
jąca na celu zebranie maksymalnej ilości danych na temat iPo-
Alternatywny firmware dów Nano, w celu stworzenia alternatywnego firmware. Projekt
Przeciętny iPod to nic innego jak wyspecjalizowany mini-kom- iPodLinux nie zajmuje się również iPhonem oraz iPodem touch,
puter, nastawiony na odtwarzanie multimediów. Działa on pod wskazując, że alternatywne oprogramowanie na tych urządze-
kontrolą wbudowanego systemu operacyjnego – firmware, co niach może być instalowane poprzez zdjęcie zabezpieczeń me-
oznacza, że może być ono (z mniejszym lub większym trudem) todą Jailbreake.
zastąpione innym, alternatywnym firmware. W tym też celu Projekt iPodLinux korzysta z jądra systemowego w wer-
powstał projekt iPodLinux, mający na celu stworzenie alterna- sji 2.4.24 pochodzącego z projektu μClinux. Ponadto w ramach

58 maj 2009
Sprzęt
Linux kontra iPod

projektu iPodLinux rozwijany jest podprojekt W poprzednich akapitach tego artykułu Jailbreake
GUI o nazwie Podzilla, działającego pod kontrolą wspomniałem, iż deweloperzy projektu iPodLi- – włamanie do więzienia?
silnika graficznego Hotdog. iPodLinux wykorzy- nux nie zamierzają w najbliższym czasie wspie- Przygotowanie alternatywnego firmware dla pro-
stuje również alternatywny bootloader, który po- rać iPodów Touch i iPhone'ów, zalecając stoso- stych odtwarzaczy iPod – zwłaszcza tych starszej
zwala na wybór systemu do uruchomienia. Dzię- wanie Jailbreake. Mimo wszystko w sieci zna- generacji - z pewnością jest projektem, który ska-
ki temu na iPodzie nadal możemy mieć zainstalo- leźć można kilka niezależnych projektów ma- zany jest na sukces, czego dowodzi przykład opi-
wany oryginalny firmware Apple, iPodLinux, czy jący na celu stworzenie dystrybucji Linuksa na sanego również projektu RoxBox. Nieco inaczej
każde inne firmware, np. RoxBox (Rysunek 1). iPhona. Dlaczego bowiem nie możnaby było wygląda sprawa z iPhonem czy iPodem Touch.
Proces instalacji iPodLinuksa jest zróżni- uruchomić Linuksa na iPhonie? Przyjemna wi- Na dzień dzisiejszy marne są szanse, aby udało
cowany w zależności od tego, czy będzie odby- zja. Zadaniu temu mają zamiar sprostać dewe- się uruchomić jakikolwiek funkcjonalny system
wał się za pośrednictwem komputera z systemem loperzy projektu iPhoneLinux. Projekt ten na na tych urządzeniach. Nie należy się tym jednak
Windows, czy z systemem MacOS. Różnice te dzień dzisiejszy jest w bardzo wczesnej fazie specjalnie martwić, gdyż deweloperzy z projektu
wynikają z obsługi systemów plików przez oba rozwojowej. Z diagramu przedstawionego na Dev-Team opracowali system Jailbreake, który
OSy. iPodLinux wymaga bowiem do działania stronie projektu wynika, iż na razie udało się je- pozwala na złamanie zabezpieczeń systemu Ma-
systemu plików wspieranego przez Linuksa. W dynie uruchomić system na iPhonie, bez obsłu- cOS w iPhonie lub iPodzie Touch. Złamanie tych
przypadku instalacji za pośrednictwem Windows, gi większości jego komponentów, jak na przy- zabezpieczeń konieczne jest, aby uzyskać dostęp
pamięć Flash iPoda dzielona jest na partycję z kład funkcję ekranu dotykowego. Pomimo bar- do systemu plików hackowanego urządzenia. To
systemem plików FAT32 oraz partycję bardziej dzo wczesnej fazy rozwoju projektu należy po- zaś umożliwi instalację oprogramowania dostęp-
odpowiednią dla Linuksa – czyli ext2 lub ext3. chwalić jego twórców, gdyż nie ma co liczyć na nego poza osławionym iTunes AppStore.
Partycja FAT32 wykorzystywana jest jako po- to, aby uzyskali oni kiedykolwiek wsparcie po- Nie trzeba być geniuszem, aby domyśleć
średnik do instalacji oraz miejsce przechowywa- ważniejszych (finansowo) instytucji, co przy- się, że nie podoba się to Apple... Przez długi czas
nia danych, plików muzycznych. Firmware iPo- śpieszyłoby prace. Więcej, w przypadku powo- kwestia jailbreakowania iPhona/iPoda Touch by-
dLinux zlokalizowane jest na właściwej partycji dzenia projektu należy spodziewać się sankcji ze ła ze strony prawnej kwestią bardzo dyskusyjną.
sformatowanej w systemie ext2/ext3. W przypad- strony Apple, które na pewno na zgodzi się na Jedna ze stron twierdziła, że proces ten – łamią-
ku instalacji z użyciem MacOSa, pamięć iPoda alternatywny system na ich sztandarowym pro- cy zabezpieczenia systemu – co najwyżej pozba-
podzielona jest ponownie na dwie partycje – obie dukcie. Jak na razie użytkownikom iPhone'ów, wia użytkownika gwarancji. Z drugiej zaś strony
sformatowane w systemie HFS+. Dalsze etapy in- a także iPodów Touch pozostało łamanie zabez- dowodzono, że Jailbreake umożliwia jego użyt-
stalacji na systemie Linux i Windows przebiegają pieczeń metodą Jailbreake. kownikom nie tylko łamanie zabezpieczeń so-
z wykorzystaniem graficznego instalatora.
Oprócz projektu iPodLinux dostępne jest
przynajmniej jeszcze jedno alternatywne firmwa-
re na wybrane modele iPodów – RoxBox. Firm-
ware ten swój początek wzięło z prac nad alter-
natywnym OpenSource-owym firmware dla od-
twarzaczy plików muzycznych Archos. RoxBox
nie jest dystrybucją Linuksa, lecz odrębnym sys-
temem, jednak również spełniającym założenia Rysunek 2. Wygląd jednego z tematów RoxBox na iPodzie
OpenSource, dlatego więc warto powiedzieć na
jego temat kilka słów. Z czasem rodzina obsługi-
wanych odtwarzaczy zaczęła wzrastać, obejmu-
jąc również niektóre z iPodów. Podobnie jak w
przypadku iPodLinuksa, RoxBox nie obsługuje
odtwarzaczy Nano 2 i nowszej generacji, iPod
Touch oraz iPhonów. W systemach Windows
i MacOS instalacja RoxBox na tych odtwarza-
czach odbywa się za pomocą graficznego insta-
latora. Niesamowitą zaletą firmware RoxBox jest
możliwość stosowania tematów, które w ciekawy
sposób potrafią diametralnie zmienić wygląd od-
twarzacza (Rysunek 2).

Rysunek 1. Bootloader w systemie iPodLinux Rysunek 3. iTunes 8 w Ubuntu przez Wine. iTunes 8 w Ubuntu poprzez Wine

www.lpmagazine.org 59
Sprzęt
Linux kontra iPod

ftwarowych systemu, lecz także do zdejmowania ake umożliwia instalację nielegalnego oprogramo- cześnie korzystam z legalnego oprogramowania
blokady SIM-Lock, a także umożliwia instalację wania, przez co naraża na straty finansowe nie ty- zainstalowanego przez Cyndia. Przede wszystkim
pirackiego oprogramowania – w tym kradzione- ko dystrybutora oprogramowania, które podlega jednak iPoda jailbreakowałem, aby zainstalować
go z iTunes AppStore – co z pewnością nie było kradzieży, lecz także twórców – właścicieli praw na nim serwer SSH. To zaś daje mi możliwość ko-
legalne. Podsumowując, przez długi czas istnia- do tego oprogramowania. Powyższe argumenty są rzystania z iPoda pod Linuksem, między innymi
ło przekonanie, że sam Jailbreake nie jest niele- jedynie nieznacznym wyrywkiem wspomnianego dzięki ominięciu konieczności posiadania iTunes.
galny. Dopiero jego użycie niezgodnie z prawem wyżej raportu, w którym CO ostatecznie stwierdza
sprawiało, że stawał się on nielegalny. nielegalność modyfikacji OSa iPhona poprzez ja- Alternatywa dla iTunes
Na przełomie stycznia/lutego 2009 roku Ap- ilbreakowanie. Złamanie przepisów DMCA w Co prawda posiadam MacBooka z iTunes, lecz
ple wytoczyła na jailbreakowiczów ciężką artyle- tym zakresie powoduje możliwość ukarania oso- nie przeszkadza mi to chcieć korzystać z iPoda
rię. Opublikowany w tym czasie raport Copyright bę popełniającą takie wykroczenie i naraża na karę pod Linuksem. Niestety, pomimo apelu użyt-
Office (CO), powstały na zamówienie Apple, ana- grzywny w wysokości do 2500 USD oraz pozba- kowników Linuksa wysłanego do Apple, firma ta
lizuje sytuację prawną jailbreakowania powołu- wienia wolności do pięciu lat. nie zamierza stworzyć wersji iTunes dla tego sys-
jąc się na obowiązujące w USA prawo – Digital Na całe szczęście DMCA jest prawem obo- temu. Niezależni deweloperzy starają się rozwią-
Millennium Copyright Act (DMCA). Raport ten wiązującym w USA, nie zaś w Polsce czy Euro- zać ten problem dwiema drogami: poprzez próby
stwierdza, że modyfikacja systemu w ramach jail- pie, co sprawia, że na razie Jailbreake jest u nas instalacji windowsowej wersji programu pod Li-
breakowania jest nielegalna, ale pod pewnymi wa- legalny (choć przyznam, sprzeczny moralnie). nuksem lub poprzez stworzenie alternatywnego
runkami... Przede wszystkim umowa licencyjna Myślę również, że sytuacja ta nie powinna w Eu- oprogramowania. Postaram się teraz przedstawić
iPhone/Ipod Touch zakazuje modyfikacji jakiej- ropie ulec zmianie ze względu na odmienne po- oba podejścia. Od razu jednak uprzedzam, że wy-
kolwiek części systemu operacyjnego tych urzą- dejście do praw autorskich w EU. Przykładem na niki powyższych starań nie są zachęcające.
dzeń. Jednak legalność tego zapisu została podwa- te różnice była sytuacja z patentami w zakresie Pierwszym sposobem rozwiązania problemu
żona we wspomnianym raporcie. Nie zmienia to oprogramowania – w USA przepisy takie obo- niekompatybilności iTunes z Linuksem jest próba
jednak faktu, iż akceptując umowę licencyjną zga- wiązują, pozwalając na bzdurne patentowanie zmuszenia działania tego programu za pośrednic-
dzamy się na jej warunki. Ważną przyczyną nie- pomysłów w zakresie oprogramowania kompu- twem Wine. Przeglądając bazę danych aplikacji
legalności procesu łamania zabezpieczeń jest fakt, terowego. W Europie zaś, między innymi dzię- obsługiwanych przez Wine, iTunes w wersji 8.x
że użytkownik końcowy nie dokonuje tych mody- ki stanowczemu sprzeciwowi Polski, patenty na uzyskało status srebrny, co oznacza, że zainstalo-
fikacji samodzielnie, lecz korzysta z oprogramo- oprogramowanie nie obowiązują. Cieszmy się wana aplikacja powinna działać z błędami, któ-
wania stworzonego przez osoby trzecie. DMCA więc jeilbreakowanymi iPhonami/iPodami To- re jednak nie powinny wpływać na jej normalne
dopuszcza zaś samodzielną modyfikację opro- uch i dodatkowym oprogramowaniem instalo- użytkowanie. Zaleca się w tym celu instalację Wi-
gramowania – na własne potrzeby. Kolejnym ar- wanym przez program Cyndia. ne w wersji min. 1.0 oraz iTunes w wersji 8.x. Po-
gumentem CO przeciwko Jailbreake było stwier- Ja osobiście uważam, że miałem i mam nie- nadto należy tak skonfigurować program (z uży-
dzenie, iż proces ten powoduje zwiększoną ilość zbywalne prawo do jailbreakowania uczciwie za- ciem programu Winecfg), aby emulował on sys-
uszkodzeń iPhonów, przez co naraża firmę Apple kupionego iPoda Touch. Odtwarzacz ten kupiłem tem Windows XP. Na Gentoo z jądrem 2.6.28-he-
na nieuzasadnione koszty związane z serwisowa- jeszcze ze starą wersją (1.4) oprogramowania i lium0 i Wine-1.12 niestety nie udało mi się te-
niem takiego sprzętu. Jednak najważniejszą przy- wkrótce po zakupie zapłaciłem za upgrade syste- go dokonać. Również instalując Wine w niższej,
czyną stwierdzenia nielegalności tego procesu jest mu do wersji 2.x. Od czasu do czasu zdarza mi się
sytuacja, o której pisałem już wcześniej – Jailbre- kupić jakiś program w iTunes AppStore. Jedno-
Inżynieria odwrotna
(za Wikipedia)
Technika inżynierii wstecznej (programowa-
nia zwrotnego, ang. reverse engineering) to
proces badania produktu (także oprogra-
mowania) w celu ustalenia, jak on dokład-
nie działa, a także w jaki sposób został wy-
konany. Proces ten zazwyczaj prowadzony
jest w celu zdobycia informacji niezbędnych
do skonstruowania odpowiednika. Inżynieria
wsteczna oprogramowania może być stoso-
wana w celu zapewnienia obsługi nieudoku-
mentowanym standardom zapisu, protoko-
łom komunikacyjnym czy też urządzeniom
peryferyjnym. Procesu tego, w przypadku
oprogramowania, dokonuje się z zastoso-
waniem deasemblacji i dekompilacji – czyli
przekształcania kodu maszynowego na kod
zrozumiały dla człowieka. Legalność pro-
gramowania wstecznego podlega dyskusji,
a wielu krajach jest niezgodna z prawem.
Rysunek 4. Program GtkPod

60 maj 2009
Sprzęt
Linux kontra iPod

jak i wyższej, a także różne wersje iTunes ( z li- włączenie obsługi systemu plików w przestrzeniw pierwszej linijce wyświetlonego komunika-
nii 6.x, 7.x a także 8.x) nie udało mi się doprowa- użytkownika (moduł FUSE), a także instalacja tu. Wartość GUID należy zapisać w pliku /var/
dzić do poprawnej instalacji tego programu. Do- programu sshfs (systemu plików przez SSH). Po mobile/Media/iTunesControl/Device/SysInfo na
piero dłuższe poszukiwania w sieci wykazały, iż spełnieniu powyższych zależności należy zamon-podłączonym iPodzie/iPhone'ie. Standardowo fol-
na standardowej instalacji Wine niemożliwa jest tować urządzenie powyższym poleceniem: der Device i plik SysInfo nie istnieją, należy więc
instalacja iTunes. Istnieje jednak opis, jak tego do- stworzyć właściwy folder i plik w strukturze kata-
konać wraz z niezbędnymi łatkami na kod źródło- # sshfs -o allow_other root@IP_iPoda: logów iPoda (Listing 1). Czynności te pozwolą
wy Wine. Na stronie http://www.huanix.com/ opi- /var/mobile/Media /mnt/ipod na dalsze bezproblemowe korzystanie z iPoda To-
sany jest szczegółowo ten proces, a także dostęp- uch i iPhone'a w opisywanych programach. Pomi-
ne są łatki na Wine i jądro systemowe oraz skryp- Następnie należy podłączyć iPoda/iPhona do mo spadku szybkości transmisji związanej z reali-
ty automatyzujące proces instalacji. Wadą opisy- USB i wydać polecenie: zacją połączenia za pośrednictwem sieci WiFi za-
wanego rozwiązania jest jednak jego ograniczenie miast kabla USB, jest to moim zdaniem wygodne
tylko do jednej dystrybucji – Ubuntu. Zawarty tam # lsusb -v | grep -i iSerial rozwiązanie, którego brak w oryginalnym iTunes.
skrypt (Wine-116-itunes-no-devices.sh ) automa- Przypominam jednak, że do przeprowadzenia po-
tyzuje proces łatania, konfiguracji i instalacji Wi- Powyższe polecenie pozwoli odczytać GU- wyższych czynności wymagane jest złamanie za-
ne 1.16 (wersja rozwojowa), a następnie instalacji ID urządzenia w systemie – pierwszych 16 cyfr bezpieczeń systemu metodą Jailbreake z instala-
iTunes 8.01. Proces ten przeprowadzony na Ubun-
tu kończy się pomyślnie. Jednak zgodnie z ostrze-
żeniami twórcy wspomnianych wyżej łatek do
Wine i skryptu automatyzującego instalację, tak
zainstalowany program nie wykrywa podłączenia
iPhone'a, a także iPoda Touch. Problem ten wyni-
ka z nieprawidłowej obsługi USB przez Wine. Tak
więc w stosunku do tych dwóch urządzeń funkcjo-
nalność tak zainstalowanego programu iTunes jest
zerowa. Spodziewam się jednak, iż już wkrótce
błędy te zostaną usunięte, pozwalając na bezpro-
blemową instalację iTunes poprzez Wine.
Póki co, należy szukać innych rozwiązań pro-
blemu niezgodności iTunes i Linuksa. Najlepszym
sposobem jest instalacja alternatywnego oprogra-
mowania. Wbrew pozorom istnieje spory wybór
w tym zakresie. Większość z nich korzysta z bi-
blioteki libgpod, która powstała jako część projek-
tu GtkPod – programu do obsługi iPodów napisa-
nego z użyciem bibliotek GTK+. Program ten po-
trafi całkowicie zastąpić iTunes w zakresie zarzą-
dzania utworami muzycznymi i innymi mediami Rysunek 5. Amarok obsługujący iPoda
zgromadzonymi na iPodzie. Poza normalnymi
czynnościami związanymi z zarządzaniem media-
mi zgromadzonymi w odtwarzaczu, GtkPod ofe-
ruje również wiele dodatkowych funkcji. Jedną z
nich jest możliwość prostego i zaawansowanego
filtrowania, jak również wyszukiwania utworów
z możliwością masowej modyfikacji tagów ID3.
GtkPod może być użyty również do zainicjowa-
nia iPoda – co może być zwłaszcza wykorzystane
w sytuacji, gdy nie mamy dostępu do komputera z
Windows i zainstalowanym iTunes.
W przypadku większości wersji iPodów pro-
gram nie wymaga jakichkolwiek czynności kon-
figuracyjnych. Jedynie w przypadku iPoda To-
uch, a także iPhone'a wymagane jest wprowadze-
nie pewnych modyfikacji. Związane jest to z bra-
kiem pełnej obsługi obu urządzeń przez bibliote-
kę libgpod – działają jedynie w trybie tylko do
odczytu i nie łączą się z programem przez kabel
USB, a przez sieć WiFi za pośrednictwem SSH.
W celu podłączenia tych urządzeń wymagane jest Rysunek 6. Program Banshee

www.lpmagazine.org 61
Sprzęt
Linux kontra iPod

cją SSH. W systemie Linux istnieje znaczny wy- okna dialogowego, w głównym oknie programu Checkpoint.xml w Podzie/iPhonie należy odnaleźć
bór aplikacji obsługujących iPody. Kolejny, któ- tuż pod paskiem narzędziowym znajduje się roz- klucz DBVersion i zmienić jego wartość z 4 na 2.
ry chciałbym przedstawić, to Amarok – znany wijana lista wszystkich przenośnych odtwarza- Po restarcie urządzenia i ponownym podłączeniu
kombajn muzyczny przeznaczony dla środowi- czy muzycznych dodanych do programu. Wystar- do Amaroka wszystko będzie działało bezproble-
ska KDE. Program ten również pozwala na peł- czy wybrać właściwe, lub jeśli lista zawiera tylko mowo. Na koniec dodam, że obie opisane powy-
ne zarządzanie plikami muzycznymi na iPodzie, jeden element – iPoda, należy nacisnąć przycisk żej modyfikacje nie wpływają w żaden sposób na
np. ich synchronizację z komputerem (Rysunek połącz. Na liście utworów muzycznych po lewej normalne użytkowanie odtwarzaczy z programem
4). W celu podłączenia iPoda do Amaroka nale- stronie ukaże się zawartość podłączonego iPoda. iTunes i każdym innym.
ży z Menu Ustawienia wybrać pozycję Konfigu- W przypadku odtwarzacza Amarok i iPodów To- Ciekawym rozwiązaniem programu multi-
racja Amarok. Następnie z otwartego panelu kon- uch oraz iPhone'ów z firmware 2.x należy doko- medialnego – kombajnu mającego jak najbardziej
figuracyjnego należy wybrać pozycję Media. Je- nać pewnej modyfikacji ustawień systemowych zastąpić iTunes – jest odtwarzacz Banshee (Ry-
śli podłączone urządzenie nie istnieje wśród wy- iPoda/iPhona, związanych z nieprawidłową obsłu- sunek 6), wykorzystujący biblioteki GTK+. Jako
świetlonych na liście, można spróbować ponow- gą bazy iTunesDB w wersji 4. Aby ominąć ta nie- silnik odtwarzający dźwięk program ten wyko-
nie je wykryć lub dodać ręcznie. Po zamknięciu dogodność, w pliku /System/Library/Lockdown/ rzystuje mikser gstreamer – znany ze środowiska
Gnome. Ta więc osoby pracujące na KDE chcąc
zainstalować Banshee muszą być przygotowane
na konieczność instalacji dużej liczby dodatko-
wych programów w celu spełnienia zależności.
Program ten dzięki bibliotece libgpod oraz od-
powiedniej wtyczce standardowo wchodzącej w
skład programu, potrafi obsługiwać iPody z ogra-
niczeniami wspomnianymi powyżej. Moim oso-
bistym zdaniem, osoby pracujące w środowisku
KDE powinny unikać tego programu, ze względu
na znaczne zależności miksera gstreamer, a także
mniejszą intuicyjność w porównaniu do Amaro-
ka. Aby być sprawiedliwym, muszę dodać, iż pro-
gram ten z kolei jest dobrym rozwiązaniem dla
osób pracujących w Gnome.
Dla osób pracujących w środowisku Gno-
me niemal naturalnym programem do zarządza-
nia plikami muzycznymi iPoda zdaje się być pro-
gram RythmBox (Rysunek 7). Podobnie do opi-
sanych uprzednio programów, RythmBox auto-
Rysunek 7. Program RythmBox matycznie rozpoznaje iPoda i, podobnie do in-
nych opisanych w tym artykule programów, ko-
rzysta on z bblioteki libgpod. Konfiguracja Ry-
thmBox do pracy z iPodem sprowadza się do po-
dania ścieżki dostępu do folderu, w którym iPod
będzie automatycznie ładowany. Dalsza praca z
tym programem nie odbiega od tej w innych opi-
sywanych powyżej programach.
Kolejnym programem obsługującym iPody
pod Linuksem jest SongBird (Rysunek 8) – pro-
gram powstały w ramach prac projektu Mozilla.
Program ten wygląda ciekawie, do obsługi iPo-
dów również używa biblioteki libgpod oraz wła-

Listing 1. Niezbędne modyfikacje w systemie


iPhone'a/iPoda Touch, aby urządzenia te działały
z GtkPod i Amarok
# mkdir /mnt/ipod/var/mobile/Media/
iTunesControl/Device
# touch /mnt/ipod/var/mobile/Media/
iTunesControl/Device/SysInfo
# echo '1234567890123456' >>
/mnt/ipod/var/mobile/Media/
iTunesControl/Device/SysInfo
Rysunek 8. Program Songbird

62 maj 2009
Sprzęt
Linux kontra iPod

snej wtyczki. Muszę jednak przyznać, iż nie uda- Ja osobiście najbardziej lubię stary ale graficznym GNOME bardziej będzie odpowiadał
ło mi się podłączyć do tego programu iPoda To- sprawdzony sposób – pracę w konsoli, jednak dla program Grip – stary ale bardzo dobry program
uch ani nawet iPoda Nano w dystrybucji Gen- osób, które preferują tryb okienkowy proponuję do zgrywania płyt CD. Program ten oczywiście
too, Ubuntu i SuSe. Dlatego nie będę się nad dwa programy. Pierwszy z nich to znany użyt- również można przystosować do współpracy z
nim więcej rozwodził. kownikom KDE KAudioCreator – program stan- kodekiem faac. W tym też celu wybieramy za-
dardowo wchodzący w skład tego środowiska w kładkę Config, a następnie Encode i Encoders. Z
Ostateczne rozwiązanie ramach pakietu kdeultimedia. Program ten me- rozwijanej listy wybieramy pozycję Other, a po-
W przypadkach gdy nie mamy możliwości sko- nu Ustawienia, Konfiguracja: KAudioCreator, w lach tekstowych poniżej wpisujemy właściwe in-
rzystania z opisanych powyżej programów, np. w zakładce Program kodujący daje możliwość wy- formacje: ścieżkę dostępu do programu (standar-
przypadku posiadania iPhone'a/iPoda Touch, za- boru kodeka, który chcemy zastosować do prze- dowo jest to: /usr/bin/faac), parametry enko-
wsze istnieje możliwość obejścia problemów try- kształcenia zripowanego pliku wav do pożądane- dera: -b 128 --title %d --artist %A --al-
bu tylko do zapisu poprzez zainstalowanie na od- go formatu. Jeśli poprzestajemy na mp3, wystar- bum %d --year %y –track %t --genre %g
twarzaczu alternatywnego programu odtwarzają- czy wybrać pozycję MP3 i zatwierdzić wybór -w -o %o %f. W ostatnim polu podajemy zasa-
cego multimedia. W Cyndii jest przynajmniej kil- przyciskiem OK. Jeśli jednak chcemy ambitnie dę tworzenia nazw kodowanych plików, zgodnie
ka takich programów, np. MPlayer czy VLC. Po tworzyć pliki m4a, to należy troszeczkę zmienić z poprzednim wzorcem.
instalacji tych programów dodajemy do odtwarza- ustawienia programu – dodać nowy program ko- Wykorzystując enkoder faac można tworzyć
cza pliki muzyczne, playlisty w miejsca wskazane dujący. W tym celu należy kliknąć przycisk Do- pliki *.m4a dla iPoda we wszystkich opisanych
przez twórców programów, poprzez łącze kana- daj, a w okienku konfiguracyjnym podać nastę- wcześniej programach zarządzających multime-
łem SSH, jak opisałem to powyżej. Niestety, roz- pujące informacje: Nazwa: AAC (lub inna), Li- diami w systemie, jeśli tylko dają one możliwość
wiązanie to sprawia, że nie będziemy mieli możli- nia poleceń: faac -b 128 --title %{title} zgrywania płyt i konfiguracji programów stoso-
wości słuchania muzyki za pomocą oryginalnego --comment %{comment} --artist %{artist} wanych w tym celu. Z pewnością na prowadze-
programu iTunes zainstalowanego na urządzeniu, --album %{albumtitle} --year %{year} nie wysuwa się w tym względzie wspomniany
co jest moim zdaniem wielką stratą. Jednak, jak --track %{number} --genre %{genre} -w uprzednio program RythmBox ze swoimi znacz-
się nie ma co się lubi, to się lubi co się ma... -o %o %f. Po zatwierdzeniu zmian w polu ścież- nymi opcjami konfiguracyjnymi.
ka należy wpisać konfigurację ścieżki, do prze- Nieco trudniej sprawa przedstawia się z pli-
Kodowanie plików dla iPoda chowywanych plików, np.: ~/Moja Muzyka/ kami video. Te iPody, które obsługują Video, są
Programy do zarządzania plikami muzyczny- %{albumartist}/%{albumtitle}/%{number} pod tym względem zdecydowanie bardziej re-
mi i odtwarzania muzyki to jedno. Drugie – trze- - %{title}.%{extension}. Jeśli komuś spra- strykcyjne w porównaniu do plików muzycz-
ba przygotować sobie wcześniej te pliki. Ipody wia kłopoty posługiwanie się znacznikami KAu- nych. Zasadniczo jedynym zalecanym kode-
pod tym względem nie są specjalnie wymagające dioCreatora, może posłużyć się wygodnym asy- kiem video jest H.264, będący częścią standardu
– obsługują większość dostępnych formatów ko- stentem. Niestety program ten nie ma możliwo- MPEG-4, nazywany inaczej AVC (Advanced Vi-
dowania plików muzycznych: MP3, WAV. Jednak ści pobierania okładek – trzeba je dodawać ręcz- deo Codec). Patent na to rozwiązanie posiada fir-
głównym kodekiem stosowanym przez iTunes i nie. Ja aby nieco zautomatyzować ten proces, do- ma Apple, lecz na szczęście powstał jego otwar-
preferowanym przez iPody jest AAC (16 do 320 datkowo do podanej linii poleceń dodaję para- ty odpowiednik – kodek x264. Najlepszym spo-
kb/s). Oczywiście najłatwiej w systemie Linux jest metr --cover-art ze ścieżką dostępu do grafiki sobem użycia tego kodeka jest zastosowanie pro-
kodować pliki muzyczne do formatu mp3, lecz *.jpg z okładką. W tym celu ponownie posługu- gramu HandBrake (www.handbrake.fr) – GUI dla
również format AAC nie powinien sprawić pro- ję się znacznikami programu. Pobrany z interne- wielu kodeków, które zostało zoptymalizowane w
blemu. W tym celu należy zainstalować odpo- tu plik z okładką zapisuję w folderze docelowym ten sposób, aby w możliwie najłatwiejszy sposób
wiednie kodeki. Do dyspozycji mamy OpenSour- w pliku o nazwie cover.jpg. Paramer ten wy- ripować i kodować filmy zoptymalizowane dla
ceową wersję kodeka AAC – FAAC dostępnego gląda więc następująco: --cover-art ~/Moja iPodów, co zostało zrealizowane między innymi
w ramach projektu FAAD2. Odpowiednie pakiety Muzyka/%{albumartist}/%{albumtitle}/ poprzez zastosowanie gotowych schematów ko-
z pewnością znajdą się w każdej dystrybucji. cover.jpg. Osobom pracującym w środowisku dowania przeznaczonych dla konkretnych urzą-
dzeń – w tym różnych iPodów. Alternatywnie do
HandBrake można zastosować program MEnco-
W Sieci der – używany z linii poleceń lub poprzez jeden z
wielu GUI, które powstay do obsługi tego urzą-
• http://www.iPodLinux.org – strona projektu dystrybucji Linuksa na iPoda;
dzenia.
• http://www.rockbox.org – strona OpenSource'owego systemu RoxBox;
• http://home.gna.org/linux4nano – strona projektu iPodNano;
• http://iphonelinux.org – projekt instalacji Linuksa na iPhone'ie;
O autorze
• http://www.vimeo.com/2373142 – wideo demonstrujące działanie Linuksa na iPhone'ie;
• http://blog.iphone-dev.org – strona Dev-Teamu – twórców Jeilbreaka; Grzegorz Madajczak jest z wykształcenia le-
• http://www.eff.org/deeplinks/2009/02/apple-says-jailbreaking-illegal – artykuł w języku karzem weterynarii i mikrobiologiem. Linuk-
angielskim na temat legalności Jailbreake; sem i ogólnym oprogramowaniem Open-
• http://www.copyright.gov/1201/2008/responses/apple-inc-31.pdf – stanowisko Source pasjonuje się od 2001 roku. Na co
amerykańskiego urzędu zajmującego się prawem autorskim w sprawie Jailbreake; dzień używa Linuksa zarówno w pracy, jak
• http://www.huanix.com – strona, gdzie można znaleźć opisane oprogramowanie w i w domu. Jego ulubione dystrybucje to Gen-
zakresie instalacji iTunes na Linuksie; too i Slackware.
• http://www.gtkpod.org – strona projektu GtkPod. Kontakt z autorem: madajczak@gmail.com

www.lpmagazine.org 63
Sprzęt
Mobilny Linux

Mobilny Linux
Purnima Singh

Na podstawie raportu Embedded Software Market Intelligence, 23% ankietowanych wykorzystywało


systemy typu Open Source w swoich projektach – w tym 18% z nich system Linux.

R
ynek urządzeń mobilnych powoli odchodzi od Generalnie rzecz ujmując, w pierwszym segmencie plat-
linux@software.com.pl

modelu telefonu komórkowego służącego do forma Linux ma poważnego konkurenta – platformę Java w
prowadzenia rozmów głosowych oraz tworze- wersji mobilnej. Szacuje się, że profil MIDP dostępny jest
nia wiadomości tekstowych typu SMS. Telefon już na kilku miliardach urządzeń na całym świecie. Drugi
komórkowy staje się obecnie urządzeniem przenośnym, mo- segment, czyli urządzenia pod nazwą Netbook, to konku-
bilnym komputerem, którego możliwości obliczeniowe bar- rencja na równym poziomie pomiędzy systemem firmy Mi-
dzo szybko wzrastają. Występują jednak pewne ogranicze- crosoft a platformą Linux. Trzeci segment jest zróżnicowa-
nia, wynikające właśnie z jego mobilności – są to: klawiatu- ny ze względu na dużą różnorodność zastosowanych archi-
ra oraz ekran, których rozmiary lub po prostu obecność nie tektur sprzętowych.
jest oczywista. Poniżej przedstawionych jest kilka projek- Poniższe zestawienie odnosi się głównie do pierwsze-
tów opartych o platformę Linux, a także pewne wnioski, któ- go segmentu, czyli do urządzeń charakteryzujących się nie-
re się nasuwają. wielkimi rozmiarami (podobnymi lub będącymi telefona-
mi komórkowymi), zasilaniem głównie z baterii akumula-
Kategoryzacja rynku torowej oraz posiadającymi niezbyt duże możliwości obli-
Linux jako platforma systemowa dla urządzeń przenośnych czeniowe.
dzielony jest na trzy kategorie. Pierwszą z nich jest segment
użytkowników urządzeń osobistych, takich jak telefony komór- MontaVista Mobilinux
kowe oraz PDA (ang. Personal Digital Assistant). Drugim seg- Promowany jako najbardziej zaawansowany mobilny sys-
mentem są urządzenia przypominające komputery typu Laptop, tem w oparciu o platformę Linux. Szacuje się, że obecnie
posiadające dużo mniejsze rozmiary, np. Asus EEE, MSI Wind około 35 milionów telefonów i innych urządzeń mobilnych
itp. Trzecim segmentem są urządzenia wbudowane w różnego pracuje pod kontrolą systemu Mobilinux. Fakt ten czyni
rodzaju maszyny użytkowe, takie jak samochody osobowe. system Mobilinux najbardziej rozpowszechnioną dystrybu-

64 maj 2009
Sprzęt
Mobilny Linux

cją platformy Linux w świecie urządzeń prze- Główną wadą systemu Android jest war- Z pewnością należy tutaj wspomnieć o pro-
nośnych. stwa abstrakcji, która uniemożliwia dostęp do jektach: Azingo Mobile Platform, ACCESS Li-
Głównymi atutami MontaVista Mobili- wszystkich opcji urządzenia, przez co cała plat- nux Platform, Purple Labs Linux, LiMo Fo-
nux jest niski pobór mocy oraz duża szybkość forma nie w jest w pełni otwarta. Ponadto kwe- undation, Palm webOS, Maemo Platform, a
uruchamiania. Mobilinux posiada wbudowany stie licencyjne prowadzą do braku całkowitej la Mobile Convergent Linux Solution, Eli-
MicroSELinux (ang. Micro Security-Enhan- kompatybilności z platformami J2SE oraz, co nOS, Unison OS, OpenWrt, uCLinux i praw-
ced Linux), odpowiadający za restrykcyjną po- dużo bardziej istotne, J2ME. dopodobnie wielu innych, które obecnie dopie-
litykę bezpieczeństwa. Posiada obsługę Blueto- ro powstają.
oth, Wi-Fi, a także Jazelle DBX Java. Pierw- Wind River Systems Inc. Na szczególną uwagę z racji rozmachu
sza wersja systemu pojawiła się na rynku w ro- Firma założona w 1981 roku w USA, zatrud- działania zasługują: ACCESS Linux Platform,
ku 2005. niająca ponad 1500 pracowników. Od 2004 ro- Palm webOS (z racji popularności rozwią-
ku współpracowała z firmą Red Hat pod ką- zań typu Palm), LiMo Foundation oraz Ma-
OpenMoko tem przygotowania dystrybucji systemu Linux emo Platform.
Jest to projekt platformy przeznaczonej dla pracującego pod kontrolą urządzeń wbudowa-
telefonów typu SmartPhone. W praktyce jest nych. Pierwsza wersja systemu ukazała się w Java ME
to platforma systemu Linux z jądrem serii 2005 roku, jednak wkrótce potem współpraca Platforma Java Micro Edition to obecnie naj-
2.6 wraz z dodatkowym oprogramowaniem. dobiegła końca. bardziej popularny zestaw programistyczny
Urządzenia, które są obecnie sprzedawa- Wind River opracowało własną dystrybu- dostępny na największej liczbie telefonów
ne z zainstalowanym systemem to telefony cję o nazwie Wind River Linux w oparciu o komórkowych. Platforma ta jest ze wzglę-
Neo1973 oraz Neo FreeRunner tajwańskiej jądro 2.6.21, która obsługuję wiele architek- du na swoją dużą standaryzację, uniwersalna
firmy FIC. Ten ostatni posiada ekran o para- tur sprzętowych, m.in. x86, ARM oraz PPC. dla każdego obsługiwanego urządzenia. Jest
metrach 43x58 mm, 128 MB SDRAM oraz W 2008 roku firma współpracowała z Intel i ponadto używana nie tylko w telefonach ko-
kartę pamięci 256 MB, a ponadto Bluetooth BMW, przygotowując platformę opartą o Li- mórkowych, ale także w urządzaniach typu
i bezprzewodowy dostęp do sieci 802.11b/g. nux mającą działać w systemach kontroli w sa- PDA, telewizorach, drukarkach itd. Java ME
Telefon pracuje pod kontrolą procesora ARM mochodach osobowych. zawiera zestaw klas, które w okrojony spo-
o częstotliwości 400 Mhz. sób odpowiadają zestawowi Standard Edi-
Najnowsza wersja systemu, to Om 2008.8. Ubuntu MID Edition tion. Micro Edition dzieli się na profile i kon-
Umożliwia ona prowadzenie rozmów, tworze- Najpopularniejsza dystrybucja Linux w wersji figuracje, które odpowiadają za dokładne do-
nie wiadomości SMS, dostęp do Wi-Fi oraz na komputery osobiste, wchodzi na rynek urzą- pasowanie do urządzeń docelowych oraz ich
Bluetooth. Dodatkowo możemy korzystać z dzeń przenośnych. Firma Canonical promuje zastosowań.
książki telefonicznej, terminala systemowe- skrót MID (ang. Mobile Internet Device) jako
go, przeglądarki internetowej, klienta poczty ogólne określenie urządzeń z ekranem o prze-
elektronicznej oraz odtwarzacza multimediów. kątnej od 10 do 17 cm, fizyczną lub ekrano-
Wśród dostępnych środowisk uruchomienio- wą klawiaturą, obsługą Wi-Fi, 3G, Bluetooth,
wych mamy Java w wersji Jalimo a także Py- GPS oraz WiMAX. Urządzenie MID powinno
thon, Mono (.NET) oraz Ruby. posiadać ponadto pamięć nieulotną od 2 do 8
GB, obsługę OpenGL, USB, kamery, mikrofo-
Android ny oraz słuchawki.
Produkt konsorcjum Open Handset Allian- Jak więc widać, MID nie jest telefonem
ce przewodzonej przez Google. W 2005 roku komórkowym, a małych rozmiarów kompute-
firma Google kupiła przedsiębiorstwo Andro- rem przenośnym (raczej jego standardem), któ-
id Inc., które zajmowało się przygotowywa- ry działając pod kontrolą Ubuntu MID Edition
niem systemu Linux dla urządzeń mobilnych. będzie pobierał mniejsze ilości energii oraz bę-
W 2007 roku opublikowano zestaw programi- dzie dostosowany do mniejszego ekranu. Ni-
styczny Android SDK, w którego skład wcho- weluje to z pewnością problematykę kompa-
dzą podstawowe narzędzia do tworzenia opro- tybilności architektury, która w tego rodza-
gramowania na platformę Android. ju urządzeniach zazwyczaj wiele się nie różni
W Polsce Android dostępny jest w tele- od większych komputerów x86 lub PPC. Do-
fonie HTC Dream, znanym jako Era G1 (G1 datkowo projekt jest sponsorowany przez fir-
dostępny jest od 23 września 2008 w sie- mę Intel.
ci T-Mobile). Posiada on dotykowy wyświe-
tlacz o przekątnej 81 mm, procesor ARM o Pozostałe projekty
częstotliwości 528 MHz oraz 192 MB pa- Tak samo jak w świecie dystrybucji systemu
mięci SDRAM. Android jako system opera- Linux przeznaczonych dla komputerów stacjo-
cyjny umożliwia generowanie grafiki 3D w narnych bądź przenośnych typu Laptop, tak w
oparciu o bibliotekę OpenGL ES, prowadze- przypadku urządzeń typu telefony komórkowe
nie rozmów, tworzenie wiadomości SMS oraz obserwujemy podobną tendencję - dystrybucji
MMS. Posiada także środowisko uruchomie- jest coraz więcej. Oczywiście nie zawsze idzie Rysunek 1. Telefon Neo1973 firmy FIC z platformą
niowe Java. za tym jakość. OpenMoko

www.lpmagazine.org 65
Sprzęt
Mobilny Linux

Za pomocą Micro Edition można two- Konkluzje rozrywki. Podobnie rzecz się ma w przypadku
rzyć aplikacje z formularzami wprowadza- Warto się zastanowić nad sensownością mo- urządzeń wbudowanych w maszyny, jakimi są
nia danych, programy graficzne 2D oraz w delu biznesowego urządzeń z wbudowanym dla przykładu samochody osobowe. Nawigacja
pewnym stopniu 3D. Dostępne jest także systemem Linux. Jak wiemy, zbyt duża cen- GPS pod kontrolą Linux – tak, system kontro-
wykorzystanie baz danych w postaci mecha- tralizacja działań nigdy nie przynosi oczeki- li trakcji – nie.
nizmu RMS. ME umożliwia dostęp do inter- wanych efektów i jest źródłem zagrożeń. Po- Niezbyt przekonujący jest również mo-
fejsów Bluetooth, kamery i aparatu fotogra- nadto im więcej funkcji oprogramowanie po- del marketingowy firm, które z systemu Li-
ficznego, odtwarzania plików dźwiękowych siada, tym większe ryzyko, że któraś z nich nux tworzą specyficzne dystrybucje na po-
w tym także MP3, MIDI i WAV oraz ręcz- zawiedzie albo będzie podatna na działa- trzeby różnego rodzaju mniej lub bardziej
nie generowanych dźwięków. Dostępne jest nia osób, które nie zawsze działają zgodnie kompatybilnych urządzeń. Z drugiej jednak
także odtwarzanie plików MPEG. Możliwo- z prawem. strony, dostępność oprogramowania, stan-
ści więc są bardzo duże w porównaniu do Większa ilość opcji na pewno przyda się dardowych interfejsów programistycznych
systemu Linux, który posiadając maszynę osobom, które uwielbiają gadżety – mowa tutaj i wielu innych opcji w systemie Linux jest
wirtualną Java Standard Edition, także po- o urządzeniach osobistych, takich jak telefony dość atrakcyjnym zestawem dla potencjal-
trafi uruchamiać aplikacji napisane pod tą komórkowe, które obecnie przestają być tylko nego, nieco bardziej zaawansowanego, użyt-
platformę. telefonami, a stają się multimedialnym centrum kownika takiego urządzenia. Branża wciąż
się rozwija, a w ostatnich 2 latach widzimy
zdecydowany wzrost zainteresowania syste-
mem Linux implementowanym do urządzeń
mobilnych.
Nieco mniejsze zainteresowanie wyka-
zują producenci urządzeń, które mogą ob-
sługiwać system Linux. Dlatego też powstają
konsorcja, stowarzyszenia oraz wyspecyfiko-
wane firmy, które pośredniczą pomiędzy pro-
ducentami sprzętu a twórcami oprogramowa-
nia. Dostarczają oni skompilowane i zopty-
malizowane jądro systemowe pod kątem da-
nych urządzeń, zestaw narzędzi w postaci
SDK, a także dużą dawkę często zbędnej ide-
ologii, która sprawia, że platforma Linux go-
ści w urządzeniach mobilnych.
Kolejną i zarazem ostatnią poruszaną tu-
taj kwestią jest problematyka platformy Ja-
va. Co posiada Linux, czego nie ma Java w
wersji mobilnej? Nie ma wielu rzeczy, jed-
nak czy ze względu na ograniczenia sprzę-
towe jest to aż tak bardzo zauważalne – ra-
czej nie. Pierwszym pytaniem, które należy
sobie zadać jest, co tak na prawdę użytkow-
Rysunek 2. Telefon G1 z platformą Android
nik potrzebuje. Czy telefonu do wykonywa-
nia połączeń, tworzenia wiadomości teksto-
wych, zarządzania kontaktami, odtwarzania
multimediów oraz gier 2D i 3D? Jeśli tak,
to dlaczego nie skorzystać z potencjału kil-
ku miliardów urządzeń z dostępną platfor-
mą Java?

O autorze
Purnima Singh. Niezależny konsultant
branży IT/Telecomm oraz kierownik pro-
jektów. Posiada wykształcenie informa-
tyczne. Interesuje się finansami i podró-
żami dookoła świata. Zna wiele języków,
co ułatwia jej kontakt z klientami i współ-
pracownikami.
Rysunek 3. Ubuntu MID Edition

66 maj 2009
Księgozbiór
Recenzje książek

SUSE Linux Enterprise Server.


Administracja usługami serwera. Księga eksperta
Autor: Kazimierz Lal, Tomasz Rak, Seweryn
Kościółek
Tłumaczenie: Zbigniew Szalbot
Seria: Fundamenty informatyki
Wydawnictwo Helion
ISBN: 978-83-246-0582-8
Ocena: 4
Niedawno zainstalowałem na jednym z firmowych serwerów system operacyjny SLES w wersji 10. Nie miał on zapew-
niać żadnych usług dla pracowników firmy, a jedynie służyć mi jako platforma do instalacji testowej pewnego komer-
cyjnego oprogramowania. SLES jak na razie nie sprawia problemów, ale i tak przy nadarzającej się okazji sięgnąłem po
książką „SUSE Linux Enterprise Server. Administracja usługami serwera. Księga Eksperta”, aby poznać go lepiej.
Krótki wstęp przeczytałem w całości, bo to mimo wszystko dobrze przypomnieć sobie, jak powstała ta dystrybucja Linuksa i kto za nią teraz od-
powiada. Część instalacyjną tylko przejrzałem, bo miałem to już za sobą, ale z uznaniem zauważyłem, że autorzy, Kazimierz Lal, Tomasz Rak i Sewe-
ryn Kościółek, przedstawili zarówno interfejs graficzny, jak również tekstowy, instalatora. Dla osób, które wcześniej nie miały styczności z tym syste-
mem, będzie to nieoceniona pomoc, gdyż cały proces instalacji i wstępnej konfiguracji został przedstawiony bardzo szczegółowo. Moją uwagę zwró-
cił jeszcze opis dotyczący usługi katalogowej LDAP oraz centrum autoryzacji (CA), jak również wsparcia dla Kerberosa oraz domeny Windows NT.
Są to rzadko poruszane tematy, gdyż poradniki instalacyjne SUSE najczęściej dotyczą jego wykorzystania w domu, a nie w firmie. Rozczarowała mnie
trochę sekcja dotyczącą uzyskiwania dostępu do Internetu za pomocą łącz typu DSL, gdyż gdybym był abonentem takiej usługi, przedstawione infor-
macje byłyby najprawdopodobniej niewystarczające – brakowało konkretnego przykładu. Najbardziej zainteresowała mnie część druga, która przede
wszystkim zawierała informacje o usługach sieciowych, które można uruchomić na SLES-ie. Dla celów prezentacji poszczególnych technologii przy-
gotowano testową sieć lokalną z dwoma komputerami – serwerem i klientem. W rezultacie wszystkie opisy takich usług, jak DNS, DHCP, WWW,
LDAP, NIS, NFS czy poczty elektronicznej, miały charakter mocno praktyczny, co jest bardzo dobrą stroną publikacji. Każdy istotny aspekt jest ilu-
strowany zrzutką ekranową albo listingiem. Niektóre fragmenty wzbogaciły moją wiedzę i bardzo mnie to cieszy – czas spędzony przy książce mo-
gę uznać za dobrze wykorzystany. Zabrakło mi jedynie opisu pakietu Quagga, odpowiedzialnego za protokoły rutingu dynamicznego, o którym wspo-
mnieli autorzy. Najwidoczniej nie można mieć wszystkiego. Ostatnią część książki poświęcono bezpieczeństwu, dodatkowej konfiguracji i optymali-
zacji systemu, automatycznej instalacji, dodawaniu drukarki, serwerom internetowym oraz kopii zapasowej, ale w mojej opinii były to już zbędne te-
maty, tak jakby na siłę. Godne uwagi mogą okazać się jeszcze dodatki w książce, ale i one mnie nie zainteresowały.
Do książki dołączana jest płyta DVD z 60-dniowa wersją systemu operacyjnego SLES w wersji 10. Bardzo dobre uzupełnienie, wręcz niezbęd-
ne.Publikacja spodobała mi się i mogę ją polecić wszystkim użytkownikom SUSE, którzy chcieliby wykorzystać ten system jako serwer w firmie. Jak
się okazało, nadal posiadam poprzednią książkę tych samych autorów, a dotyczącą znacznie starszej wersji systemu – SuSE 7.2.
Krzysztof Krawczyk

Linux. Niezbędnik programisty


Autor: John Fusco
ISBN: 978-83-246-1485-1
Wydawnictwo Helion
Ocena: 5
Zacznijmy od tego, że książka została napisana dla osób, które miały już styczność z programowaniem, a właściwie – zna-
ją już jakiś język programowania. „Linux. Niezbędnik programisty” pozwala wejść na wyższy poziom wtajemniczenia.
Jest tutaj mowa między innymi o elastyczności kodu, jego wydajności oraz bezbłędności. Poruszono także kwestię do-
boru środowiska programistycznego, systemów kontroli wersji, co bardzo ułatwia zarządzanie kodem, a także sposoby
zwiększające wydajność. John Fusco jest doświadczonym programistą i ma świadomość, że programowanie nie jest je-
dynie „klepaniem kodu”, ale czymś więcej. Pomaga więc dobrać nam w sposób perfekcyjny narzędzia pracy, by ułatwić
nam pracę, dzięki czemu będzie wygodniej i bardziej elastycznie. Własnoręczne przygotowanie środowiska pracy może zająć nam wiele czasu, gdyż
sami musielibyśmy przetestować poszczególne narzędzia. W książce mamy wyłożoną całą wiedzę i doświadczenie autora.
Czego się dowiemy? Poznamy sposoby zarządzania pakietami w Linuksie, sposoby pobierania i instalacji oprogramowania, narzędzi programi-
stycznych. Poza tym poznamy także przebieg procesu kompilacji, błędy i komunikaty kompilatorów. Dzięki tej wiedzy będziemy mogli tworzyć skryp-
ty ułatwiające kompilację. Omówiono tutaj także edytory Vim i Emacs, bez faworyzowania żadnego z nich. Książka pomoże nam także poznać sto-
sunkowo dogłębnie systemy kontroli wersji. Jednymi z najciekawszych rozdziałów moim zdaniem są te, które traktują o jądrze Linuksa. Omówiono
zasady jego funkcjonowania, sposób działania procesów, komunikację między nimi. Następnie, bardzo często porusza się kwestię wydajności i me-
tod diagnozowania problemów z oprogramowaniem. Podsumowując, książka opisuje następujące zagadnienia: zdobywanie i instalacja oprogramowa-
nia open source, proces kompilacji kodu źródłowego, zarządzanie pakietami w różnych dystrybucjach, interpretacja komunikatów o błędach i ostrze-
żeń, edytory plików tekstowych, wykorzystanie systemów kontroli wersji, funkcjonowanie jądra systemu operacyjnego Linux, wykorzystanie proce-
sów, komunikacja między procesami, diagnozowanie problemów z komunikacją pomiędzy procesami, zwiększanie wydajności tworzonych rozwią-
zań, wykrywanie problemów w napisanym oprogramowaniu.„Linux. Niezbędnik programisty” napisano bardzo zrozumiałym językiem, jednak wy-
maga ona już pewnej wiedzy z dziedziny programowania. Polecam ją osobom, które chcą poszerzyć swoją wiedzę i poprawić wydajność swojej pra-
cy, a także wydajność swoich programów.
Roger Zacharczyk

www.lpmagazine.org 67
Programowanie
Android, czyli Linux na komórki

Android,
czyli Linux na komórki
Marek Sawerwain

Od kilku lat system Linux nieustannie zyskuje na popularności. Przyszłe lata także rysują się bardzo
obiecująco, ponieważ system ten może znaleźć uznanie wśród użytkowników netbook'ów, gdyż względem
konkurencyjnego system Windows Linux oferuje lepszą wydajność na mniej zaawansowanych platformach
sprzętowych. Również na komputerach normalnych użytkowników Linux gości coraz częściej. Jest jednakże
jeszcze jeden typ urządzeń, gdzie Linux również zyskuje dużą popularność – są to telefony komórkowe.

N
a obecną chwilę mamy dwa ogólnie dostęp- datkowych narzędzi, jednak na początku przygody z Andro-
linux@software.com.pl

ne rozwiązania dla telefonów komórkowych. idem ułatwienia są jak najbardziej na miejscu. Dlatego naj-
Pierwszym systemem, obecnym już od pew- lepiej korzystać ze środowiska Eclipse. Pakiet SDK dla sys-
nego czasu, jest OpenMoko oraz telefon Neo temu Android znakomicie integruje się z tym bardzo popu-
FreeRunner. Natomiast drugi system, wspierany przez Go- larnym środowiskiem do tworzenia aplikacji.
ogle, to Android wraz z telefonem G1. Jednakże warto od
razu zaznaczyć, że Android to system operacyjny i można
go uruchomić również na telefonie Neo FreeRunner.
Godne uwagi są obydwa systemy. Ponieważ jednak ra-
my artykułu są ograniczone, dlatego też postaramy się poka-
zać zalety tylko systemu Android. Skupimy się na podstawo-
wych zagadnieniach, które należy opanować, aby rozpocząć
tworzenie własnych aplikacji, w ramach tego systemu.

Instalacja SDK w środowisku Eclipse


Pierwsza czynność to uzyskanie pakietu dla programistów,
czyli tzw. Software Development Kit (w skrócie SDK). Pa-
kiet ten dla systemu Linux ściągamy ze strony systemu An-
droid, naturalnie w wersji dla Linux'a. Aktualnie dostępna
wersja w momencie tworzenia tego artykułu to „1.1_r1”,
a pełna nazwa pliku to: android-sdk-linux_x86-1.1_
r1.zip. Można oczywiście stosować SDK bez żadnych do- Rysunek 1. Nowy projekt dla systemu Android

68 maj 2009
Programowanie
Android, czyli Linux na komórki

Najpopularniejsze dystrybucje, takie jak Coś łatwego na początek W metodzie tej wywołujemy ponownie me-
Ubuntu czy Fedora Core, oferują pakiety z Ec-Najkrótszy program z gatunku „Witaj Świe- todę onCreate, jednak jest to metoda z dzie-
lipsem, więc instalacja środowiska Eclipse jest
cie!” w przypadku SDK dla systemu Android dziczonej klasy.
bardzo łatwa. Samo SDK trzeba zainstalować napiszemy nie dotykając klawiatury. Po utwo- Jak widać w pierwszej części Listingu 1
samodzielnie, co nie jest jednak zbyt trudne.rzeniu projektu w Eclipse, podstawowy wyge- nie tworzymy nowych obiektów, gdyż korzy-
Przed rozpoczęciem instalacji środowiska Ec- nerowany kod aplikacji realizuje dokładnie to stamy z wygenerowanych zasobów. Plik z za-
lipse w przypadku sześćdziesięcioczterobito- zadanie. Listing 1, a dokładniej pierwszy frag- sobami posiada nazwę main.xml, znajdziemy
wego środowiska należy się upewnić, czy ma- ment, to kod źródłowy aplikacji, jaka powsta- go w katalogu res, a następnie w katalogu lay-
my zainstalowane biblioteki do obsługi pro- je samodzielnie w momencie utworzenia no- out. Natomiast komunikat, który wyświetla-
gramów trzydziestodwubitowych. W przypad- wego projektu. my, znajduje się w innym pliku string.html,
ku Ubuntu, aby spełnić ten warunek, wystarczy Mamy jedną klasę dziedziczącą z klasy plik ten znajduje się w katalogu values. Je-
wydać polecenie: Activity (podstawowa klasa dla aplikacji w śli chcemy zmienić ten komunikat, to trze-
systemie Android) oraz metodę o nazwie on- ba zmienić wartość zasobu o nazwie Hel-
apt-get install ia32-libs Create, która zgodnie z nazwą jest wywoły- loMessage. Nie możemy zmienić wartości
wana po załadowaniu aplikacji i jest odpowie- ciągu znaków na poziomie edycji pliku ma-
Koniecznie trzeba także zainstalować Javę, w dzialna za utworzenie potrzebnych obiektów. in.xml, gdyż w tym pliku opisujemy tylko za-
następujący sposób:

apt-get install sun-java6-bin

Do wygodnej pracy w Eclipse potrzebna jest


wtyczka o nazwie ADT. Wtyczka ta współpra-
cuje z wersją 3.3 albo 3.4. Wybieramy nową
wersję 3.4 o kodowej nazwie Ganymede. In-
stalacja wtyczki wymaga dodania nowego re-
pozytorium, a nowe repozytorium dodamy po-
przez menu Help. Następnie trzeba wybrać
„Software Updates...”. W oknie, które się po-
jawi, wybieramy zakładkę Available Software,
a następnie przycisk „Add Site...”. W nowym
oknie dialogowym wpisujemy adres potrzeb-
nego repozytorium: http://dl-ssl.google.com/
android/eclipse/
Można też skorzystać z protokołu https,
jeśli zależy nam na szyfrowanym połącze- Rysunek 2. Program z listą miast w środowisku Eclipse oraz uruchomiony na emulatorze telefonu
niu. Po dołączeniu nowego repozytorium, w
zakładce Available Software pojawi się no- Listing 1. Najkrótszy program w Androidzie wyświetlający komunikat
we repozytorium powiązane z wtyczką ADT, package com.example.AndT1;
a w nim nowy element Developer Tools i dwie import android.app.Activity;
nowe opcje: Android Development Tools oraz
Android Editors, które trzeba zainstalować w import android.os.Bundle;
środowisku Eclipse. Po kilku chwilach odpo-
wiednie wtyczki oraz potrzebne zależności zo- public class AndST1 extends Activity {
staną samodzielnie zainstalowane. Nie wolno public void onCreate(Bundle savedInstanceState) {
zapomnieć o ponownym uruchomieniu środo-
wiska Eclipse. super.onCreate(savedInstanceState);
Wtyczka ADT nie zastępuje SDK, a tyl- setContentView(R.layout.main);
ko ułatwia współpracę z pakietem SDK, dla- }
tego po ściągnięciu archiwum SDK należy je }
rozpakować. Archiwum jest w formacie ZIP. Nieco zmieniona metoda onCreate:
W środowisku Eclipse należy naturalnie po- public void onCreate(Bundle savedInstanceState) {
dać ścieżkę do katalogu, w którym rozpako-
wane zostało archiwum. Należy przejść do super.onCreate(savedInstanceState);
menu Windows, a następnie do opcji Preferen- TextView tv = new TextView(this);
ces. W oknie, które się pokazało, powinna być
widoczna opcja Android. Po jej wskazaniu zo- tv.setText("Witaj Świecie !!!!");
baczymy pole edycyjne o nazwie SDK Loca- setContentView(tv);
tion. Do tego pola należy wpisać ścieżkę do- }
stępu do SDK.

www.lpmagazine.org 69
Programowanie
Android, czyli Linux na komórki

wartość interfejsu. Tego typu rozdział na po- Zwróćmy uwagę na to, iż gdy tworzymy in- ni obiekt, np.: TextView , odpowiedzialny za
czątku wydaje się utrudnieniem, jednakże z terfejs użytkownika bądź dowolne inne zaso- wyświetlanie tekstu. To zadanie realizuje dru-
drugiej strony wymusza, aby dokładnie roz- by, np.: rysunki, to dostęp do poszczególnych gi fragment znajdujący się na Listingu 1. W ty-
ważyć elementy interfejsu użytkownika i po- zasobów jest możliwy dzięki identyfikatorom powy sposób dla Javy tworzymy nowy obiekt, a
prawnie określić niezbędne zasoby, co w przy- tworzonym samodzielnie przez Eclipsa. Defi- za pomocą metody setText ustalamy zawartość
padku systemu, który ma ograniczone zasoby, nicje tych identyfikatorów znajdują się w pli- kontrolki. Następnie, jak w oryginalnym przy-
jest bardzo ważnym aspektem. ku R.java. Dostępne są trzy podstawowe typy kładzie, za pomocą metody setContentView
Istotnym jest fakt, iż wymienione pliki są zasobów: rysunki, kontrolki albo ogólnie wid- określamy podstawowy widget aplikacji.
plikami w formacie XML, które możemy edy- gety do budowy interfejsu użytkownika oraz
tować na dwa sposoby. Pierwszy to skorzy- wartość, np.: liczby, ciągi znaków. Drugie słowo o interfejsie
stać z możliwości środowiska Eclipse, oferu- Jeśli jednak z pewnych powodów chce- Android został wyposażony w dość bogatą
jącego dostęp do edytorów wizualnych. Drugi my samodzielnie utworzyć interfejs, to może- bibliotekę kontrolek (widgetów) do tworze-
sposób to bezpośrednia edycja plików XML. my w metodzie onCreate utworzyć odpowied- nia aplikacji. Mamy naturalnie przyciski, po-
la edycyjne, a także różnego rodzaju widge-
Listing 2. Tworzenie uzupełnienia dla pola edycyjnego ty do pozycjonowania innych widgetów, np.:
static final String[] CITIES = new String[] { LinearLayout. Ten typ kontrolki rozmiesz-
cza poszczególne widgety w sposób linio-
"Skwierzyna", "Skwierzynka", wy, jeden za drugim. Innym dostępnym spo-
"Zielona Góra", "Warszawa", sobem rozmieszczania kontrolek jest tabela:
"Gorzów Wlkp.", "Gorzów Wielkopolski", TableLayout. Widgety tym razem będą roz-
"Gorzów Śląski", "Gdańsk" }; mieszczane w tabeli, w poszczególnych wier-
szach. Do dyspozycji są jeszcze trzy inne wid-
public void onCreate(Bundle savedInstanceState) { gety: AbsoluteLayout, FrameLayout, Rela-
super.onCreate(savedInstanceState); tiveLayout.
setContentView(R.layout.main); Istnieją także dodatkowe kontrolki, np.:
DigitalClock, czyli zegar cyfrowy, i podob-
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, nie AnalogClock. Autorzy systemu zadbali o
android.R.layout.simple_dropdown_item_1line, CITIES); kontrolki ułatwiające, np.: wprowadzenie daty
DatePicker, czasu TimePicker czy kontrol-
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R kę odpowiedzialną za utworzenie galerii, np.:
.id.CityEdit); zdjęć – Gallery.
textView.setAdapter(adapter); Wielką zasługą autorów Androida jest rów-
}; nież uproszczenie API. Stało się to możliwe
również dzięki Javie. Android oferuje spory za-
Listing 3. Plik XML opisujący interfejs przykładu z listą miast sób widgetów, a autorzy systemu zadbali o ła-
<?xml version="1.0" encoding="utf-8"?> twość użytkowania poszczególnych klas. Do-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" brym przykładem będzie zademonstrowanie np.:
listy wyboru. Utworzymy pole edycyjne, gdzie
android:orientation="vertical" użytkownik może podać nazwę miasta. Wpro-
android:layout_width="fill_parent" wadzimy także przykładową listę miast; po wpi-
android:layout_height="fill_parent"> saniu początkowych liter nazwy miasta z listy
system będzie samodzielnie podpowiadał na-
<TextView zwę pasującego miasta bądź też pasujące nazwy
android:layout_width="wrap_content" miast do pierwszych podanych liter.
android:layout_height="wrap_content" Listing 2 zawiera najważniejsze dla nas
android:text="Miasto" /> fragmenty kodu źródłowego, jednakże w
pierwszej kolejności trzeba zadbać o inter-
<AutoCompleteTextView android:id="@+id/CityEdit" fejs użytkownika. Możliwości są dwie: może-
android:layout_width="fill_parent" my zbudować interfejs za pomocą edytora do-
android:layout_height="wrap_content"/> stępnego w Eclipse. Używamy widgetu Line-
arLayout do poziomowania trzech widgetów.
<DigitalClock android:id="@+id/DigitalClock" Pierwszy to TextView. Będzie on pełnić funk-
android:layout_width="wrap_content" cję etykiety, dlatego we własności Text wpi-
android:layout_height="wrap_content" sujemy słowo „Miasto”. Następny widget to
android:layout_gravity="center_horizontal"> AutocompleteTextView, w przypadku tego
</DigitalClock> widgetu zmieniamy także identyfikator (wła-
sność Id) na „@+id/CityEdit”, przy czym
</LinearLayout> właściwa nazwa widgetu to CityEdit. Ostatni
widget to DigitalClock. Korzystając z edy-

70 maj 2009
Programowanie
Android, czyli Linux na komórki

tora możemy go wypośrodkować na ekranie,


zmieniając własność Layout gravity na
Nowy projekt oraz uruchamianie aplikacji
center_horizontal.
Edycję interfejsu można również wyko- Po naciśnięciu kombinacji klawiszy CTRL-N pokaże się okno, gdzie wybieramy typ pro-
nać edytując plik XML. Listing 3 zawiera jektu. Po prawidłowej instalacji wtyczki ADT oraz wcześniejszym wskazaniu położenia
kompletny opis interfejsu z naszego przykła- pakietu SDK, zobaczymy, iż mamy do dyspozycji folder Android. Folder ten zawiera tyl-
du. Tworzenie interfejsu poprzez edycję pli- ko jedną opcję – Android Project, więc to ten typ projektu wybierzemy. Pokaże się no-
ku XML jest wbrew pozorom równie wygod- we okno, gdzie należy uzupełnić cztery pola. Pierwsze pole to: Project Name, czyli na-
ne, co znajdzie potwierdzenie w następnym zwa całego projektu. Następne pole to Package name, czyli nazwa pakietu. W przypad-
przykładzie, gdzie będziemy tworzyć kalkula- ku naszego pierwszego przykładu wpisujemy: com.example.AndT1. Trzecie istotne po-
tor. Tworzenie opisu XML interfejsu jest nie- le to nazwa klasy naszej aplikacji Activity name, w naszym projekcie podaliśmy AndT1.
wątpliwie podobne do edycji plików HTML. Czwarte pole natomiast to nazwa aplikacji (Application Name), i w przeciwieństwie do
Znacznik LinearLayout w naszym przykła- poprzednich pól nazwa powinna być opisowa, gdyż wartość tego pola będzie widocz-
dzie zawiera trzy pozostałe znaczniki, repre- na dla użytkownika.
zentujące potrzebne nam widgety. Jeśli chcemy uruchomić projekt, to należy skorzystać z emulatora telefonu, który jest do-
Po przygotowaniu interfejsu musimy wpro- stępny w pakiecie SDK. Skorzystanie z emulatora to również znakomita okazja, aby zo-
wadzić kilka zmian w kodzie źródłowym. Li- rientować się, co oferuje telefon Google. Jednak my, jak na razie, chcemy uruchomić na-
sting 2 zawiera najważniejsze fragmenty kodu. szą aplikację, dlatego z menu Run wybieramy opcję Run configurations.... Pokaże się okno
Pierwszy element to lista miast. Tworzymy zwy- dialogowe, gdzie trzeba wybrać opcję Android Application, a w polu Project wybrać pro-
kłą tablicę o nazwie CITIES, dodajmy w typo- jekt z aplikacją do uruchomienia. Istotna jest również zakładka Target, gdzie możemy okre-
wy dla Javy sposób. Tablica ta staje się argumen- ślić wielkość ekranu, a także szybkość dostępu do sieci. Wbrew pozorom jest to ważne,
tem obiektu adaptera, który wykorzystuje wybu- gdy chcemy testować np.: aplikacje sieciowe i ich zachowanie w bardziej naturalnych wa-
dowany zasób reprezentujący rozwijaną listę: runkach, np.: w sieci GPRS czy EDGE. Istotny jest jeszcze sposób uruchomienia aplikacji.
Po uruchomieniu emulatora należy na wirtualnym telefonie wybrać ikonę Home (domek),
ArrayAdapter<String> adapter = new co uruchomi aplikację. Aby uruchomić nową wersję tworzonej aplikacji nie trzeba zamykać
ArrayAdapter<String>(this, emulatora, tylko używaną przez nas aplikację, a w Eclipse ponownie uruchomić projekto-
android.R.layout.simple_dropdown_ waną aplikację.
item_1line,
CITIES);

Następna linia kodu demonstruje, w jaki spo- Możliwości telefonów G1 oraz Neo Freerunner
sób uzyskać wskazanie na obiekt interfejsu.
Korzystamy z metody findViewById, której Wymiary G1 telefonu to 55,7x117,7x17,1 mm, a waga to 158g. Trzeba pamiętać, iż te-
podajemy za argument stałą wygenerowaną lefon Google'a posiada klawiaturę. Wymiary telefonu Freerunner są bardzo podobne:
samodzielnie przez środowisko Eclipse. 120,7 x 62 x 18,5 mm, ale sam telefon jest lżejszy, bo waży 133g.
Podobne różnice dotyczą ekranu, telefon Neo Freerunner posiada wyświetlacz o roz-
AutoCompleteTextView textView = dzielczości 480x640 o wielkości 2.8 cala. Wyświetlacz telefonu Google'a oferuje niższą
(AutoCompleteTextView) findViewById(R. rozdzielczość 480x320, ale sam wyświetlacz jest większy, 3.2 cala.
id.CityEdit); Naturalnie obydwa telefony współpracują z podstawowymi typami sieci jak: GSM, GPRS,
EDGE, przy czym trzeba przyznać, że G1 oferuje w tym zakresie większe możliwości.
Podłączenie adaptera to zadanie bardzo łatwe; Telefon G1 posiada także aparat, którego pozbawiony jest telefon Neo Freerunner. Waż-
wykorzystujemy tylko metodę setAdapter: nym aspektem jest też dostępna pamięć. Freerunner posiada 128MB pamięci RAM oraz
256MB NAND Flash, czyli tzw. pamięci ROM. Procesor to Samsung 2442B o częstotli-
textView.setAdapter(adapter); wości pracy 400Mhz bądź 500Mhz.
Telefon Google posiada więcej pamięci RAM, bo 192 MB RAM, ale wielkość pamięci
Jak widać, uzyskanie takiego zachowania, ROM jest taka sama. Procesor jest nieco inny, bo Qualcomm MSM7201A o wyższej czę-
które jest niewątpliwie bardzo przydatne dla stotliwości pracy 528 Mhz. Jednakże obydwa procesory posługują się tym samym pod-
użytkownika, jest bardzo łatwe. Wystarczą do- zbiorem instrukcji zgodnej z architekturą ARM.
słownie trzy linie kodu. Obydwa telefony posiadają odbiornik GPS, przy czym trzeba koniecznie wspomnieć, że
telefon Google'a oferuje dostęp do usług Google'a, min. do mapy, co w połączeniu z GPS
Lepszy, choć daje bardzo interesujące narzędzie.
nieco brzydszy kalkulator Obydwa telefony oferują dostęp do kart pamięci, jednak ostatecznie to Neo Freerun-
Opracowanie bardziej przydatnej aplikacji, ner oferuje większą elastyczność. W tym telefonie bez kłopotu można zainstalować
np.: kalkulatora z funkcjami niedostępnymi we dowolne oprogramowanie, zarówno system OpenMoko albo Android, a nawet wyspe-
wbudowanym kalkulatorze, wbrew pozorom cjalizowaną dystrybucję Debiana. Obydwa telefony mają też zasadniczą wadę: dłu-
nie zabierze nam wiele czasu. Rozpoczniemy gość pracy baterii. Jeśli używamy intensywnie aplikacji czy np. odbiornika GPS, to
od utworzenia interfejsu użytkownika. może się okazać, że telefony na baterii będą pracować tylko od pięciu do sześciu go-
Dane do obliczeń będą wprowadzane przez dzin.
trzy pola edycyjne. W odróżnieniu od innych

www.lpmagazine.org 71
Programowanie
Android, czyli Linux na komórki

kalkulatorów, będziemy dane wprowadzać zostałych funkcji oferowanych przez nasz kal- cie TableLayout. Poszczególne kontrolki znaj-
do oddzielnych pól, np.: podczas dodawania kulator. Funkcja, która w pełni wykorzysta trzy dują się w tej drugiej kontrolce. Naturalnie są
w pierwszym argumencie znajdzie się pierw- pola argumentów, to funkcja PowerMod, czyli to wymienione wcześniej pola edycyjne oraz
sza wartość, natomiast drugi argument natu- tzw. potęgowanie modularne. przyciski odpowiedzialne za obliczenia. Jed-
ralnie zostanie umieszczony w drugim polu. Listing 4 przedstawia fragmenty pliku nak pola edycyjne podane są bezpośrednio, bez
W przypadku dodawania trzecie pole nie bę- XML, który opisuje interfejs kalkulatora. Ko- żadnych dodatkowych znaczników.
dzie wykorzystywane, jednakże wynik zosta- rzystamy z dwóch kontrolek rozmieszczają- Inaczej postępujemy w przypadku przy-
nie umieszczony w czwartym polu, ponieważ cych inne widgety. Pierwszy widget to Liner- cisków; stosujemy dodatkowy znacznik: Ta-
trzy pierwsze pola to pola argumentów dla po- Layout , zawierający inny widget, a mianowi- bleRow. To powoduje, że poszczególne przy-
ciski ułożą się w postacie tabelki tak jak jest to
Listing 4. Fragmenty opisu interfejsu naszego kalkulatora widoczne na Rysunku 3.
<LinearLayout android:layout_height="wrap_content" xmlns:android="http: W przypadku kontrolek typu TextView
//schemas.android.com/apk/res/android" android:layout_width="fill_parent" zmieniamy wartość własności layout_width
android:id="@+id/LinearLayout"> z wrap_content na fill_parent. Spowoduje
to, że kontrolki będą rozciągnięte na całą sze-
<TableLayout android:id="@+id/TableLayout01" android:layout_height="wrap_ rokość ekranu telefonu.
content" android:layout_width="fill_parent"> Po przygotowaniu interfejsu użytkownika
możemy przystąpić do pisania kodu. W pierw-
<EditText android:id="@+id/DigitText_F1" android:singleLine="true" szej kolejności należy zadeklarować obiekty re-
android:layout_height="wrap_content" android:layout_width="fill_parent"></ prezentujące przyciski czy pola edycyjne, np.:
EditText>
protected Button PlusBTN;
<EditText android:id="@+id/DigitText_F2" android:layout_height="wrap_ protected EditText DigitEdit_F1;
content" android:layout_width="fill_parent"></EditText>
Uzyskanie odniesienia do konkretnego widge-
<EditText android:id="@+id/DigitText_F3" android:layout_height="wrap_ tu uzyskamy za pomocą findViewById. Musi-
content" android:layout_width="fill_parent"></EditText> my także pamiętać o wykonaniu konwersji na
potrzebny typ:
<TableRow android:id="@+id/TableRow04" android:layout_width="wrap_content"
android:layout_height="wrap_content"> PlusBTN = (Button) findViewById(R.id.
PlusBTN);
<Button android:id="@+id/PlusBTN" android:layout_height="wrap_content"
android:text="+" android:layout_width="fill_parent"></Button> DigitEdit_F1 = (EditText) findViewById
... (R.id.DigitText_F1);
</TableRow>
Następny etap to podłączenie obsługi zdarzeń.
<TableRow android:id="@+id/TableRow05" android:layout_width="wrap_content" Nas będzie interesować zdarzenie onClick dla
android:layout_height="wrap_content"> przycisków, np.:

<Button android:id="@+id/SinBTN" android:layout_height="wrap_content" PlusBTN.setOnClickListener( PlusBTN_


android:text="Sin" android:layout_width="fill_parent"></Button> OnClick );

</TableRow> Listing 5 zawiera obsługę zdarzenia OnClick dla
<TableRow android:id="@+id/TableRow05" android:layout_width="wrap_content" przycisku sumy oraz potęgowania modularnego.
android:layout_height="wrap_content"> W obydwu przypadkach w pierwszej kolejności
<Button android:id="@+id/ModBTN" android:layout_height="wrap_content" sprawdzamy, czy pola edycyjne nie są puste. Je-
android:text="Mod" android:layout_width="fill_parent"></Button> śli ten warunek jest spełniony, to przechodzimy
… do obliczeń. Odczytujemy ciągi znaków i doko-
</TableRow> nujemy konwersji na odpowiednie typy danych
oraz sumujemy liczby. W przypadku potęgowa-
<EditText android:id="@+id/DigitText_F_OUT" android:layout_height="wrap_ nia modularnego korzystamy z metody modPow
content" android:layout_width="fill_parent"></EditText> klasy BigInterger. Jednakże każdy, kto two-

<TextView android:id="@+id/PrgTitle" android:layout_height="wrap_content"


android:layout_width="fill_parent" android:layout_gravity="center_vertical" Na płycie DVD
android:text="Nieco inny kalkulator V.0.5a"></TextView></TableLayout>
Na płycie DVD znajdują się wykorzystywa-
ne biblioteki, kod źródłowy programu oraz
</LinearLayout>
wszystkie listingi z artykułu.

72 maj 2009
Programowanie
Android, czyli Linux na komórki

rzy programy w Javie, od razu zauważył, iż kod


zaprezentowany na Listingu 5 niczym szczegól-
nym nie zaskakuje. To spostrzeżenie wbrew po-
zorom stanowi o dużej zalecie Androida. Sprzęt,
na których działa ten system, pozwala na two-
rzenie programów bez uciekania się różnego ro-
dzaju sztuczek. Starsze modele telefonów nie
pozwalały na np.: korzystanie z liczb zmienno-
przecinkowych, a korzystanie z klasy BigInte-
ger nie było możliwe.

Podsumowanie
Android oferuje dostęp także do innych funkcji
telefonu. Będą nimi np.: GPS, akcelerometry
czy wspomniane mapy Google. Ograniczone
miejsce nie pozwala niestety, nawet pobieżne,
przedstawić innych możliwości API. Jednakże
nawet zaprezentowane w artykule proste przy-
Rysunek 3. Kalkulator w Elipse oraz w emulatorze
kłady pokazują, iż tworzenie nowego oprogra-
mowania dla Androida jest procesem dość wy-
Listing 5. Obsługa operacji sumy oraz potęgowania modularnego godnym. Dołączony emulator oraz dobre zinte-
private Button.OnClickListener PlusBTN_OnClick = new growanie SDK z Eclipsem pomaga i niewątpli-
Button.OnClickListener() { wie ułatwia tworzenie nowych aplikacji.
Miejmy nadzieję, że Android jako projekt
public void onClick(View v) { OpenSource spowoduje, iż więcej telefonów bę-
if(DigitEdit_F1.getText().toString() != "" && igitEdit_ dzie wykorzystywać jądro systemu Linux, a osta-
F2.getText().toString() != "") { tecznie to my użytkownicy będziemy mieli dostęp
do bardziej wyrafinowanych programów oraz te-
double f1=Float.valueOf(DigitEdit_F1.getText().toString()); lefonów, które nie będą tylko i wyłącznie urządze-
double f2=Float.valueOf(DigitEdit_F2.getText().toString()); niem do prowadzenia rozmów telefonicznych. Je-
śli pojawi się potrzeba posiadania wyspecjalizo-
double ff=f1+f2; wanej aplikacji, to będzie ją można samodzielnie
opracować i wgrać do własnego telefonu.
DigitEdit_F_OUT.setText(String.valueOf(ff));
}
}
W Sieci
};
• http://www.android.com – podstawowa
private Button.OnClickListener PowerModBTN_OnClick = new strona dotycząca systemu Android;
Button.OnClickListener() { • http://developer.android.com/
– informacje dla programistów, czyli
public void onClick(View v) { tzw. SDK;
if(DigitEdit_F1.getText().toString() != "" && DigitEdit_ • http://www.eclipse.org/ – środowisko
F2.getText().toString() != "" && DigitEdit_F3.getText().toString() != "") { Eclipse;
• http://www.openmoko.comOpenMoko
BigInteger f1 = new BigInteger ( DigitEdit_ – pierwszy system z Linux'em dla
F1.getText().toString() ); telefonów komórkowych;
BigInteger f2 = new BigInteger ( DigitEdit_ • http://www.openmoko.org – materiały dla
F2.getText().toString() ); programistów związane z OpenMoko.
BigInteger f3 = new BigInteger ( DigitEdit_
F3.getText().toString() );

BigInteger ff = f1.modPow(f2, f3); O autorze


Autor zajmuje się tworzeniem oprogramo-
DigitEdit_F_OUT.setText( String.valueOf(ff) );
wania systemów Windows oraz Linux. Za-
}
interesowania: teoria języków programo-
}
wania oraz dobra literatura.
};
Kontakt z autorem: autorzy@linux.com.pl.

www.lpmagazine.org 73
Recenzje
Teeworlds

Teeworlds
Maciej Mroziński

K
ażdy, kto spędza przy grach kom- w sieci. Odpowiednio, w zakładce Internet znaj- kie opcje rozłożone zostały tak, że pogubienie się
puterowych chociaż trochę wię- dziemy wszystkie działające w Internecie serwe- w nich jest praktycznie niemożliwe.
cej czasu niż tak naprawdę po- ry gry, w LAN wyłącznie te postawione w obrę- Przejdźmy jednak do właściwej rozgryw-
winien, doskonale wie, iż rzad- bie sieci lokalnej do której należymy, natomiast ki. Rozpocznę od przedstawienia dostępnego
ko się zdarza, aby gra miała grywalność plasują- Favorites wyświetli tylko te, które ręcznie ozna- uzbrojenia, w którego skład wchodzi: młotek,
cą ją powyżej średniej gatunku. Na szczęście tak czyliśmy i dodaliśmy do tej listy. Czwarta zakład- pistolet, dubeltówka, granatnik, karabin oraz ka-
właśnie jest w przypadku Teeworlds, niewielkie- ka, Demos, pokaże wszystkie zapisane nagrania tana. Nie radzę szukać tutaj urozmaiceń w stylu
go rozmiarowo projektu, który zdążył zyskać so- pojedynków. Ostatnia zaś, Settings, jak łatwo się alternatywnych trybów strzelania, ponieważ Wa-
bie ogromną popularność i setki oddanych gra- domyśleć przeniesie nas do rozmaitych ustawień sze poszukiwania spełzną na niczym. Nie zna-
czy. Co złożyło się na ogromną popularność opi- gry, podzielonych na: Player, Controls, Graphics czy to wcale, iż korzystanie z dostępnych narzę-
sywanego tytułu? Miła oku grafika, prostota i in- i Sound. Opcje wchodzące w skład grupy Player dzi walki nie daje radości. Rozpocznę od broni
tuicyjność, czy może coś jeszcze? Spójrzmy. umożliwiają nam podstawową konfigurację na- podstawowej, czyli młotka. Zadaje on niewiel-
Teeworlds, dawniej znana pod nazwą Te- szej postaci, jak również kilku innych opcji. Kon- kie obrażenia i sprawdza się wyłącznie w ata-
ewars, jak piszą autorzy, jest sieciową strzelan- figuracja postaci to m.in. wybranie ksywki, skór- ku na przeciwnika, z którym mamy bezpośredni
ką w stylu retro. Szczerze mówiąc nie wiem, czy ki oraz pomniejsze opcje jak: włączenie lub wy- kontakt. Pistolet jest pierwszą bronią korzystają-
określenie gry epitetem retro nie jest tutaj lekką łączenie dynamicznie poruszającej się kamery, cą z amunicji, a co za tym idzie możemy z nie-
przesadą. W tym bowiem przypadku odnosi się automatycznej zmiany broni po jej zebraniu oraz go korzystać w ograniczonym zakresie. Co istot-
ono wyłącznie do wykorzystania w grze grafi- wyświetlania nazw graczy. Wybierając skórkę ne, w Teeworlds spotkamy się z inną niż w ty-
ki dwuwymiarowej, która to cieszy się niesłab- dla naszej postaci należy pamiętać, że domyślne powych strzelankach pojemnością magazyn-
nącą popularnością wśród otwartych produkcji. skórki możemy dodatkowo modyfikować ręcz- ku, identyczną dla każdej z dostępnych w grze
Zaś jeśli mowa o nurcie Indie Games, przeży- nie ustawiając kolor tułowia oraz stóp. Każdy broni z wyjątkiem ograniczonej czasowo kata-
wa prawdziwy renesans. Co by jednak nie mó- modyfikowalny za pomocą trzech suwaków. Ko- ny. Otóż z każdej broni możemy oddać dziesięć
wić, dwuwymiarowość jest i będzie kojarzona z lejna grupa, Controls, daje nam możliwość zmia- strzałów, nie uświadczymy też porozrzucanych
grami z dawnych lat. Na dobrą sprawę wszystkie ny domyślnie wykorzystywanych w grze klawi- dookoła paczek z amunicją. Jedynym sposobem
nowe gry, nawet komercyjne hity w stylu World szy. Graphics to z kolei opcje graficzne, takie jak: jej uzupełnienia jest odczekanie na ponowne po-
of Goo, można z racji zastosowania w nich dwu- wysoki poziom detali, obsługa tekstur w wyższej jawienie się i zebranie oręża. Naboje do pistole-
wymiaru (zwłaszcza połączonego z widokiem z rozdzielczości, ewentualna kompresja tychże, tu wyróżniają się spośród innych broni tym, że
boku) podciągnąć pod określenie retro. Podty- przełączanie się pomiędzy wyświetlaniem peł- powoli się regenerują. Wynika to z faktu, iż pi-
tuł gry – Jumping the gun – ma dać graczom do noekranowym a oknem, V-Sync, oraz możliwość stolet jest drugą, obok młotka, bronią podstawo-
zrozumienia, że rozgrywka w Teeworlds jest nie- zmiany kolorów interfejsu użytkownika, również wą, tym samym nie możemy znaleźć go na ma-
wiarygodnie szybka. Zwrot ten bowiem to nic in- za pomocą suwaków. Ostatnia podgrupa, Sounds, pie, aby uzupełnić amunicję. Posiada on jeszcze
nego jak angielski idiom opisujący sytuację, gdy umożliwia graczowi włączenie bądź wyłączenie jedną cechę, której nie uświadczymy u pozosta-
zawodnik rozpocznie bieg przed gwizdkiem star- dźwięków w grze, wyciszenie ich, gdy okno gry łych pukawek; mam tutaj na myśli szybkość ko-
towym, lub jakąkolwiek inną, w której coś zosta- jest nieaktywne, wybranie częstotliwości próbko- lejnych ataków. Tylko w przypadku tej broni ma-
ło wykonane zbyt szybko. Ile w tym prawdy, każ- wania dźwięku oraz dostosowanie poziomu gło- my na nią wpływ, zależny od szybkości wciska-
dy może ocenić na własną rękę. Mnie tempo gry śności. Oprócz dotychczas wymienionych, na sa- nia klawisza odpowiedzialnego za atak. Dubel-
szczególnie nie zaskoczyło. Tym bardziej, że jeśli mym końcu jest jeszcze niby-zakładka Quit, za tówka nie różni się od swoich koleżanek, które
wziąć pod uwagę przebieg profesjonalnych me- pomocą której opuszczamy grę. Kapitalnym po- mamy przyjemność spotkać w podobnych pro-
czy w grach takich jak Quake, tempo gry w Te- mysłem jest zastosowanie podobnego menu rów- dukcjach. Również tutaj posiada spory rozrzut i
eworlds jest przeciętne, oczywiście wszystko za- nież podczas rozgrywki. Otóż naciskając klawisz strzela kilkoma nabojami jednocześnie, co tyl-
leży od tego, kto z kim walczy. [Esc] podczas gry zobaczymy wyłącznie same ko cieszy, bo każdy strzał liczony jest pojedyn-
Po uruchomieniu przywita nas nowator- górne zakładki, co prawda nieco inne niż w menu czo. Kolejna broń – granatnik – jest niczym in-
sko pomyślane, bardzo wygodne w użyciu me- głównym i w postaci nierozwiniętej; tym samym nym jak tutejszym odpowiednikiem rakietnicy.
nu. Pierwszym zaskoczeniem był dla mnie jego jednak nie zasłaniające nam ekranu gry. Zapyta- Nie znaczy to oczywiście, że pociski z granat-
rozmiar; otóż składa się ono przede wszystkim z cie pewnie, co jest takiego nowatorskiego w me- nika lecą przed siebie wbrew prawom grawita-
okna głównego i pięciu zakładek u góry ekranu. nu Teeworlds? Odpowiedź brzmi: jego rozmiar i cji aż napotkają najbliższą ścianę lub przeciwni-
Trzy pierwsze, Internet, LAN oraz Favorites to prostota. Zastosowano w nim bardzo uproszczo- ka. Granaty polecą tylko na określoną odległość,
nic innego jak kryteria wyszukiwania serwerów ny, wręcz minimalistyczny interfejs, zaś wszyst- a grawitacja zadziała nie tak, jak powinna. Nie-

74 maj 2009
Recenzje
Teeworlds

których prawdopodobnie zastanowi, co wobec ków grupy, ponieważ wydobycie flagi drużyny liwości zabawy. Nie będę dokładnie opisywał
znaczących różnic łączy tą broń z wszelkiej ma- przeciwnej to jedno, trzeba jeszcze pilnować, wszystkich dostępnych trybów z prostego powo-
ści rakietnicami. Po pierwsze siła, wyróżniająca aby i naszej nikt nie wyniósł. Znaczy, czy trze- du; jest ich zbyt wiele i z racji ograniczonej licz-
granatnik spośród całego arsenału oraz możli- ba? Przecież najwięcej emocji jest właśnie wtedy, by stron na recenzję po prostu nie jestem w sta-
wość wykonywania granade-jumpów, równie gdy dobiegamy do własnej bazy, a... flagi brak; nie wystarczająco szczegółowo wszystkich opi-
skutecznych co rocket-jumpy w podobnych ty- wtedy pozostaje bacznie rozglądać się dooko- sać. Pozwolę sobie jednak wymienić te, do któ-
tułach. Ostatnią z powszechnie dostępnych broni ła i tak dogadać z kolegami, aby np. jeden osła- rych udało mi się dotrzeć. Należą do nich: Space-
jest karabin; aby nie było niedomówień, chodzi niał nas, drugi natomiast, niczym filmowy Ram- ball, Bombing, Conquest (CONQ), Damage sco-
tutaj o karabinek snajperski. Pierwsze skojarze- bo, szturmem wkroczył na teren wroga i odebrał re game (DMG), Domination (DOM), Double
nie po wzięciu go w łapki to Railgun z Quake III co nasze. Wspomniałem na początku akapitu, iż Domination (DDOM), Flyway Capture The Flag
Arena. Drugie skojarzenie, po oddaniu pierwsze- wymienione dotychczas tryby to zestaw standar- (fCTF), Hammer Party Death Match (HpDM),
go strzału, jest dokładnie takie same, z dwoma dowy. Jak przystało na popularną grę sieciową, Hammer Party Team Death Match (HpTDM),
różnicami. Promień, którym strzela Teeworlds'o- również Teeworlds doczekał się pokaźnej licz- Hammer Party Capture the Flag (HpCTF), Ra-
wa snajperka, jeśli zamiast w przeciwnika trafi w by modów oferujących m.in. dodatkowe moż- ce, Hammer Party Race (HpRACE), Run, In-
ścianę, jeden raz się od niej odbije pod kątem za-
leżnym od tego, jak ułoży się on względem jej
powierzchni. Druga różnica polega na ograni-
czeniu jego długości; tym samym, gdy spudłu-
jemy nie trafi on w znacznie oddaloną ścianę, a
skończy się gdzieś pomiędzy. Z racji zastosowa-
nia grafiki dwuwymiarowej i oglądania gry z bo-
ku nie mamy możliwości korzystania z przybli-
żania charakterystycznego dla snajperek w in-
nych tego typu grach; nic dziwnego, tutaj nie
znalazłoby to po prostu zastosowania. Katana
stanowi swego rodzaju przedmiot specjalny, a że
jest on jednocześnie bronią, tak wyszło. Wbrew
pozorom nie jest ona wyłącznie znacznie silniej-
szym odpowiednikiem bazowego młotka. Cechą
szczególną jest w jej przypadku sposób, w jaki
wyprowadzany jest atak. Po wduszeniu klawisza
odpowiedzialnego za cios nasza postać błyska-
wicznie poruszy się w wybranym kierunku (fa-
ni serii Dragonball i Worms z pewnością zrozu-
mieją o co chodzi) zadając obrażenia przeciwni-
kom stojącym nam na drodze. Rysunek 1. Bajeczna pastelowa grafika na długo pozostaje w pamięci
Również w kwestii trybów rozgrywki auto-
rzy postawili wyłącznie na pozycje dobrze zna-
ne ogółowi graczy. Standardowo dostępne są tyl-
ko trzy: Deathmatch (DM), Team Deathmatch
(TDM) oraz Capture the Flag (CTF). Death-
match to jeden z najstarszych trybów gry we
wszystkich niemalże strzelankach sieciowych.
Aby wygrać, musimy jako pierwsi uzyskać wy-
maganą liczbę fragów. Dla wyjaśnienia dodam,
że pod pojęciem frag rozumiemy po prostu zabi-
cie jednego z przeciwników. Team Deathmatch
to drużynowa odmiana tego pierwszego. Różni-
ca polega na tym, że nie walczymy już na zasa-
dach każdy przeciw każdemu, a w zespołach. Ta
z dwóch drużyn, która jako pierwsza uzyska wy-
maganą liczbę fragów, wygrywa. Kolejnym ze-
społowym trybem gry jest Capture the Flag. Tu-
taj też mamy dwie drużyny i ,co istotne, dwie ba-
zy. W centrum każdej z nich znajduje się flaga ze-
społu. Walczymy na punkty, natomiast aby tako-
we zdobyć, należy wykraść flagę przeciwnika i
zanieść ją do tej znajdującej się u nas. Niezwykle
ważna jest tutaj współpraca wszystkich człon- Rysunek 2. Mroczny ninja bez problemów dostrzega swą ofiarę

www.lpmagazine.org 75
Recenzje
Teeworlds

stagib Death Match (iDM), Instagib Team De- moda Ball zdołali już stworzyć kilka dodatko- snych przypuszczeń, gdyż nie miałem okazji za-
ath Match (iTDM), Instagib Capture the Flag wych trybów, takich jak Basketball (koszyków- grać na serwerach dla nich przeznaczonych, a na
(iCTF), Jump 'n Run Death Match (jnrDM), ka) czy Table Tennis (Tenis stołowy). Dla wyja- stronie Wiki projektu nie zostały opisane. Domy-
Jump 'n Run Team Death Match (jnrTDM), śnienia, Spaceball oraz Bombing przypominają ślam się jednak, że chodzi po prostu o ogranicze-
Knockout tournament (K.O.), Rocket Party De- nic innego jak po prostu piłkę nożną. Osiągnięto nie arsenału grających wyłącznie do jednej broni,
ath Match (RpDM), Rocket Party Team Death to umieszczając na planszy granat pełniący rolę odpowiednio: młotka lub granatnika. Race i Run
Match (RpTDM), Rocket Party Capture the Flag piłki, podobnie ma się sprawa z innymi dyscypli- to tryby wyścigowe, jednak zupełnie różne. Oba
(RpCTF), Teespace Death Match (spaceDM), Te- nami sportu, które możemy spotkać w Teeworlds. niezwykle istotne na scenie Teeworlds, zwłasz-
espace Team Death Match (spaceTDM) oraz Su- Tryby Domination oraz Double Domination, nie- cza dla graczy myślących o grze na poważnie
rvival (SUR). Jak sądzę, Spaceball oraz Bombing obce miłośnikom serii Unreal Tournament, pole- w szeregach jednego z aktywnych klanów; nie-
korzystają z tego samego moda – Ball, zoriento- gają na utrzymaniu kontroli nad kilkoma punk- zależnie od tego, jaki tryb gry ich interesuje. Wy-
wanego na rozgrywkach zbliżonych do popular- tami na mapie. Tryby z rodziny (...) Party, od- nika to z prostego faktu, umożliwiają one profe-
nych dyscyplin sportowych. Co ciekawe, gracze powiednio Hammer Party (...) oraz Rocket Par- sjonalne przeszkolenie w sprawnym poruszaniu
posiadający własne serwery przy wykorzystaniu ty (…), mogę omówić jedynie na podstawie wła- się w grze. Gracze dobrze radzący sobie na ma-
pach przygotowanych tak dla trybu Race, jak i
Run mają większe szanse w każdym z pozosta-
łych; są po prostu szybsi i dostają się dokładnie
tam, gdzie chcieli. Tak więc, bez dwóch zdań
warto się nimi zainteresować. Co zaś tyczy się
trybów z przedrostkiem Instagib, różnią się one
od swoich pierwowzorów tym, że jedyną bronią
gracza jest karabin. Nadal nie mogę się przyzwy-
czaić, że ktoś nie nazwał tej broni po prostu snaj-
perką czy Railem. Broń w tego rodzaju pojedyn-
kach jest zmodyfikowana, wystarczy jeden cel-
ny strzał, aby pozbawić przeciwnika życia. Czy-
ni to rozgrywkę znacznie bardziej emocjonują-
cą. Z jednej strony, posiadając tak silną broń, je-
śli gramy powiedzmy w trybie Capture the Flag,
znacznie łatwiej obronić bazę przed słabo zorga-
nizowanym nieprzyjacielem, z drugiej zaś proszę
sobie tylko wyobrazić, jak czulibyście się, gdyby
po pokonaniu kilku nieprzyjaciół, zaraz po zła-
paniu w łapki flagi drużyny przeciwnej, ktoś zni-
weczył cały trud jednym celnym kliknięciem. Jak
mówię, emocji nie brakuje.
Rysunek 3. Menu główne z listą aktywnych serwerów
W jednym z pierwszych akapitów odnio-
słem się do podtytułu Teeworlds, mianowicie
Jumping the gun. Proponuję uznać za sprawę
drugorzędną to, czy gra jest niezwykle szybka,
czy też nie i skupić się na tym, co ma ją takową
uczynić, tj. na sposobie poruszania się po paste-
lowo pomalowanych mapach. Przyjemnym za-
skoczeniem dla niektórych może być domyśl-
ne przypisanie klawiszy kierunkowych zgodnie
z panującym już, nie czarujmy się, od kilku lat z
okładem, standardem, w myśl którego porusza-
my się korzystając z klawiszy W, S, A i D , a nie
jak dawniej, strzałek. Dobry to wybór, oszczę-
dzający setkom tysięcy graczy na świecie kil-
ku sekund, które musieliby poświęcić na zmia-
nę domyślnych ustawień. Przejdźmy jednak da-
lej, do haka (ang. hook). Osoby obcujące na co
dzień ze strzelankami znają narzędzie o nazwie
Grappling hook, stosowane w wielu popular-
nych grach FPP. Hak, z którego korzystać bę-
dziemy w opisywanym tytule, bazuje na tym sa-
mym pomyśle, chociaż jest o wiele częściej sto-
Rysunek 4. Zabrał flagę i wesoły sowany. Nie sposób wyobrazić sobie poruszanie

76 maj 2009
Recenzje
Teeworlds

się po mapie bez jego wykorzystania, z kilku po- ruje do miana gry umożliwiającej rozgrywanie prosta. Otóż ze strony projektu znajdującej się
wodów. Po pierwsze, nie dostaniemy się samo- meczy na profesjonalnym poziomie, aby przy- pod adresem http://www.teeworlds.com pobiera-
pas w większość miejsc. Po drugie, będziemy kładała wagę do oprawy muzycznej. Bo tak na- my archiwum .tar.gz (~5.2mb dla wersji 0.5.1),
poruszać się niesamowicie wolno. Po trzecie, prawdę czy grając w gry takie jak Quake, Unre- następnie rozpakowujemy i wykonujemy plik o
na które składają się dwa poprzednie punkty, sta- al lub którykolwiek z ich otwartych odpowiedni- nazwie teeworlds. Jeżeli natomiast zainteresu-
niemy się mięsem armatnim, do którego co zło- ków bądź klonów mamy włączoną muzykę? Nie jemy się kompilacją (przydatną chociażby, gdy
śliwsi walić będą jak do, nie przymierzając, stra- wiem jak Wy, ale ja zwykle rezygnuję z tej moż- chcemy postawić serwer korzystający z określo-
cha na wróble beztrosko stojącego na otwartym liwości. Muzyka zwyczajnie przeszkadza w grze, nego moda, gdyż są one dostępne również jako
polu. Tak więc pierwszą rzeczą, której będziemy no chyba że dla relaksu mierzymy się z botami. łatki na źródła) najpierw będziemy musieli za-
się musieli nauczyć po rozpoczęciu gry, jest opa- To co innego. Jak widać również na tym polu, Te- opatrzyć się w system budowy Bam. Możemy go
nowanie podstawowych zasad korzystania z te- eworlds prezentuje się całkiem nieźle, to co sły- pobrać że strony http://teeworlds.com/trac/bam
go niezwykle przydatnego narzędzia. Spróbu- szymy nie drażni uszu, a to co część graczy i tak w postaci archiwym .tar.gz albo .zip (~160kb).
ję pokrótce omówić zasadę jego działania. Otóż wycisza, zostało pominięte. Może to i dobrze. Pobierzemy również paczkę ze źródłami gry
domyślnie przypisany do prawego klawisza my- Czas na krótkie podsumowanie. Całość zo- (~6mb) dostępnymi, podobnie jak wersja binar-
szy hak może zostać wystrzelony w dowolnym stała wykonana nad wyraz pracowicie i rzetel- na, na stronie projektu. Bam do poprawnej kom-
kierunku, jeśli trafi na powierzchnię, której mo- nie. Mówię zarówno o przejrzystości gry oraz pilacji, jak podają autorzy, potrzebuje jedynie
że się uczepić, nasza postać sama zacznie prze- interfejsu, jak i o oprawie audiowizualnej. Za- GCC i pthreads. Aby natomiast kompilacja sa-
suwać się w kierunku punktu wbicia. Trzeba stosowanie w grze sprawdzonych rozwiązań mej gry przebiegła pomyślnie, będziemy mu-
Wam wiedzieć, że korzystanie z haka nie kon- można poczytywać tylko za plus: tak bronie, jak sieli spełnić następujące zależności: python, al-
fliktuje jakkolwiek z posługiwaniem się różne- i tryby rozgrywki gwarantują rozrywkę na dłu- sa (asound), gl, glu oraz x11. Proces budowy
go rodzaju orężem. Nierzadko zdarza się spotkać gie wieczory. Jeśli uznamy, że jest ich zbyt ma- przebiega następująco, zakładając, że w katalo-
graczy, którzy w grach zespołowych uczepieni ło, to nic nie stoi na przeszkodzie, aby dołączyć gu znajdują się osobno katalogi ze źródłami sys-
sufitu pełnią rolę żywych wieżyczek. Warto pa- do któregoś z serwerów uzbrojonych w co cie- temu budowy (nazwijmy go bam) i gry (nazwij-
miętać, że sprawne korzystanie z tego narzędzia kawsze mody. Odnośnie samych modów do- my go teeworlds-wersja-src): najpierw wcho-
obejmuje nie tylko celne wybranie miejsca za- dać należy, że oprócz tych oferujących nowe try- dzimy do katalogu bam i wydajemy polecenie
czepienia, przynajmniej niejednorazowe. Z jed- by gry są i mniejsze, dodające np. znane z se- ./make_unix.sh. Następnie zaś udajemy się do
nego punktu bowiem przejść możemy dalej, do rii Unreal Tournament określenia Killing Spree katalogu ze źródłami Teeworlds i w zależności od
drugiego i następnych. Tak właśnie dostawać się i podobne, stosownie do tego, jak poczyna sobie tego co chcemy skompilować, wydajemy właści-
będziecie w wyżej położone miejsca. Ostatnią gracz w czasie walki. Grafika i oprawa dźwięko- we polecenia. Chcąc skompilować wszystko wy-
funkcją haka jest nabieranie prędkości. Polega wa nie pozostawiają niesmaku, wręcz przeciw- konujemy ../bam/src/bam release, gdy zaś
ona na takim wycelowaniu ostrzem, aby przesu- nie, naprawdę pozytywnie zaskakują. Gra po- interesuje nas sam serwer ../bam/src/bam se-
wając się w kierunku punktu wbicia nasza postać siada sporą liczbę serwerów oraz aktywną spo- rver_release.
zaczęła przyspieszać. Zwykle gracze podskaku- łeczność, która na bieżąco tworzy nowe skórki Ocena gry: 4+/5
ją, celują w ziemię przed sobą, po czym robią to dla postaci, mapy, mody i tym podobne; znajdu-
jeszcze kilkakrotnie. Autorzy oddali do dyspo- je ona swój wyraz także w kilku aktywnych fo-
zycji gracza jeszcze jedno: podwójny skok. Tu- rach poświęconych samej grze czy też niektó- Za i przeciw
taj sprawa przedstawia się banalnie prosto. Bę- rym tylko jej modyfikacjom. Dodatkowym plu-
dąc w powietrzu naciskamy klawisz odpowie- sem jest dołączony do gry edytor map, z braku Za:
dzialny za skok, wtedy nasza postać odbije się miejsca w tej recenzji nieomówiony. Aktywuje-
• bardzo przyjemna dla oka grafika;
od powietrza umożliwiając uniknięcie wymie- my go korzystając z kombinacji klawiszy [Ctrl]
• prostota i przejrzystość interfejsu;
rzonego w nas granatu czy zdobycie wyżej po- + [Shift] + [E]. Jeśli napotkamy problemy przy
• skromna, ale z dbałością wykonana
łożonego terenu. jego obsłudze, to w Internecie łatwo znajdzie-
oprawa dźwiękowa;
Od strony audiowizualnej gra prezentuje się my poradniki wyjaśniające podstawy. Pozostaje
• spora ilość aktywnych serwerów;
znakomicie. Kreskówkowa grafika przesycona mi już tylko zachęcić do sięgnięcia po grę. Jeśli
• mnogość dodatkowych trybów gry i róż-
pastelowymi kolorami nikogo, jak sądzę, nie od- macie chwilę wolnego czasu, aby pobrać te kil-
nego rodzaju modyfikacji;
rzuci od ekranu. Nawet jeśli nie przepadamy za ka megabajtów – ponieważ tyle właśnie zajmuje
• dołączony edytor map.
taką paletą barw, przyznać należy, iż poszczegól- Teeworlds – zachęcam. Gra odróżnia się zauwa-
ne obrazki tworzące świat gry wykonane zostały żalnie od innych strzelanek dostępnych m.in. na Przeciw:
bardzo przyzwoicie i naprawdę robią dobre wra- systemy linuksowe i chociażby z tego względu
żenie. W kwestii oprawy dźwiękowej jest dobrze, zasługuje na uwagę. Nawet jeżeli długo przy niej • brak
i na tym musimy poprzestać. Tak się bowiem nie zabawicie, z pewnością zapoznacie się z jed-
składa, że oprócz kilku dźwięków gracz słyszy ną z ciekawszych pozycji wśród otwartych gier
niewiele; nie uświadczymy tutaj żadnej melodii, sieciowych.
ani w menu, ani podczas rozgrywki. Już widzę, Teeworlds dostępny jest na systemy z rodzi- O autorze
jak niektórzy kręcą nosem, lub, co sprytniejsi, ny Windows, GNU/Linux oraz MacOS X. Jak
Od kilku lat, codzienny, domowy użytkow-
szykują ulubioną playlistę. Sądzę że jeśli aż tak w przypadku wielu otwartych tytułów, możemy
nik GNU/Linuksa. Entuzjasta rozwiązań al-
brakuje im w grze muzyki, jest to dobrym posu- zdecydować, czy pobierzemy wersję binarną, czy
ternatywnych i wolnego oprogramowania.
nięciem. Z mojej strony dodam, iż ciężko spo- też pokusimy się o kompilację źródeł. W pierw-
Kontakt z autorem: maciej_mrozinski@o2.pl
dziewać się po grze, która jakby nie patrzeć aspi- szym przypadku cała procedura jest niezwykle

www.lpmagazine.org 77
Klub PRO
ARAKS PBU BetaSoft Sp. z o.o.
Polecamy oprogramowanie ERP Jesteśmy producentem systemu
Finansowo-Księgowe, Kadry-Płace, Faktu- eDokumenty realizującego wymagania
ry, Środki trwałe. Zapewniamy: dostosowanie systemów DMS i CRM. System działa na
programów do potrzeb firmy, platformach Linux oraz Windows
i należy do grupy najnowocześniejszych aplikacji
Wdrożenia, doradztwo i serwis, outsourcing IT. webowych działających w technologii AJAX.
www.araks.pl System zintegrowany jest z OpenOffice i Word
oraz wieloma systemami FK.
www.edokumenty.eu
www.betasoft.pl

CPU-Service A. i Z. INFOTEX SP.J


Maryniak spółka jawna Śmietanowski i Wsp.
Warszawska spółka, posiadająca również od- Dystrybutor XP Unlimited - Serwer Terminali dla
działy w Berlinie i Lwowie dostarcza korpora- Windows XP i VISTA. Umożliwia łączenie się
cyjny sprzęt komputerowy firm: IBM, EMC, Hi- z dowolnego klienta Windows, Linux z wyko-
tachi do profesjonalnego zastosowania tj. ser- rzystaniem protokołu RDP. Cena wersji Classic
wery klasy „mainframe”, pamięci masowe typu dla 5 użytkowników - 112€, dla nieograniczonej
„Enterprise”, wysokonakładowe systemy dru- liczby - 235€. Ponadto oferujemy opiekę serwi-
kujące, terminale i urządzenia sieciowe. sową i aplikacje internetowe na zamówienie.
http://www.cpuservice.pl http://www.infotex.com.pl

Invoicer Madar Mobile


To darmowy program do fakturowania przez
przeglądarkę. Umożliwia: wystawianie, ewi-
dencję i wydruk faktury VAT, rachunków, wy-
stawianie PZ, WZ, WDT i WNT a także reje-
strację wpłat i kontrolę niezapłaconych.
PROWADŹ FIRMĘ ZDALNIE, MOBILNIE
I NIEZALEŻNIE OD SYSTEMU OPERA-
CYJNEGO.
http://www.invoicer.pl
OMEGA SOFT Sp. z o.o. Systemy bankowe, ISOF
Oprogramowanie: Zintegrowany System Wspo- HEUTHES istnieje na rynku od 1989 r. Obok
magania Zarządzania „Omega”. Platforma: Li- systemów informatycznych dla banków, ofe-
nux, Windows. Baza danych: PostgreSQL. ruje nowoczesne oprogramowanie do obsługi
Usługi: Outsourcing sprzętu i oprogramowa- firm. System ISOF jest udostępniany klientom
nia. Sieci: Projektowanie i instalacja sieci kom- w trybie SaaS lub licencji. Pracuje na platfor-
puterowych, systemów CCTV, DVR, RCP, KD i mie Linux i zawiera m.in. takie moduły jak
centrali telefonicznych. CRM, DMS, Magazyn, Sprzedaż, Logistyka
http://www.omega-soft.pl oraz Rachunkowość.
http://www.isof.pl

TTS Company Sp. z o.o. WSISiZ w Warszawie


Sprzedaż i dystrybucja oprogramowania kom- INFORMATYKA ZARZĄDZANIE
puterowego. Import programów na zamówie- studia stopnia I i II (stacjonarne i niestacjonar-
nie. Ponad 200 producentów w standardowej ne) specjalności: inżynierskie, magisterskie i
ofercie. Chcesz kupić oprogramowanie i nie licencjackie. Szczegółowe plany studiów, opi-
możesz znaleźć polskiego dostawcy? Skon- sy poszczególnych specjalności – zaprasza-
taktuj się z nami – sprowadzimy nawet pojedyn- my na stronę uczelni.
cze licencje. http://www.wit.edu.pl
www.OprogramowanieKomputerowe.pl

Wyższa Szkoła Informatyki


Informatyka, Ekonomia, Fizjoterapia (NO-
WOŚĆ, Pedagogika, Wychowanie Fizyczne,
Artystyczna Grafika Komputerowa, Architek-
tura Wnętrz (NOWOŚĆ) Studia na odległość
e-learning (Informatyka II stopnia) Kompleks
sportowy w Łodzi (hala, basen, siłownia, sau-
na). Wydziały zamiejscowe: Włocawek, Byd-
goszcz, Opatówek.
http://www.wsinf.edu.pl

OFERTA SKIEROWANA DO FIRM


Jeżeli Twoja firma jest prenumeratorem Linux+ DVD,
za comiesięczną dopłatą 50 PLN + VAT możesz dodatkowo otrzymać reklamę.
Wyślij do nas: logo firmy, dane kontaktowe i informacje o firmie.
Reklama przez 11 kolejnych numerów tylko za 550 PLN + VAT.
Jeżeli nie posiadasz prenumeraty, możesz ją zamówić w atrakcyjnej cenie.

Skontaktuj się z nami:


linux@software.com.pl tel. 22 427 36 91
Roczna prenumerata

tylko
199,-
Linux+DVD jest przeznaczony dla początkujących
i zaawansowanych użytkowników Linuksa. Nasi
czytelnicy to w większości użytkownicy Linuksa, jak
również specjaliści IT, technicy, a także ci, którzy szukaj
alternatywy dla MS Windows. Są oni zainteresowani
bieżącymi nowościami ze świata Linuksa, m.in. jądrem
Linuksa, Debianem, Mandrakelinuksem i Auroksem. Dużym
zainteresowaniem wśród czytelników cieszą się stale działy
pisma: Dla Początkujących, Dla Programistów i Sprzęt.
Oprócz nich, w każdym wydaniu znajdują się informacje UWAGA!
dotyczące typowego użycia Linuksa: bezpieczeństwa,
multimediów, narzędzi naukowych, programowania czy
poczty elektronicznej. Zmiana danych
kontaktowych
Kontakt
1. Telefon 3. Adres
+48 22 877 20 80 EuroPress Polska Sp. z o.o.
2. Fax ul. Jana Kazimierza 46/54
+48 22 877 20 70 01-248 Warszawa
2. Online
software@europress.pl
Zamówienie prenumeraty

Prosimy wypełniać czytelnie i przesyłać faksem na numer:


00 48 22 877 20 70
lub listownie na adres:
EuroPress Polska Sp. z o.o.
ul. Jana Kazimierza 46/54
01-248 Warszawa
Polska
E-Mail: software@europress.pl

Przyjmujemy też zamównienia telefoniczne:


00 48 22 877 20 80

Jeżeli chcesz się dowiedzieć o formach płatności, wejdź na stronę:


www.europress.pl lub napisz na e-mail: software@europress.pl

Imię i nazwisko ...............................................................................

Nazwa firmy.....................................................................................

Dokładny adres ..............................................................................

.........................................................................................................

Zadzwoń Telefon ............................................................................................

0
+48 22 877 20 8
E–mail .............................................................................................

lub ID kontrahenta ................................................................................

zamów Numer NIP firmy .............................................................................

mailowo! Fax (wraz z nr kierunkowym) .........................................................

□ automatyczne przedłużenie prenumeraty

Prenumerujesz
– zyskujesz
l oszczędność
pieniędzy Ilość
Ilość Od
zama- numeru
l szybka dostawa Tytuł nume- wianych
rów
pisma
prenume- lub mie-
Cena

l prezenty Linux+DVD (płyta DVD)


rat siąca

l bezpieczna płatność Miesięcznik o systemie


Linux
11*
199
PLN

on–line
* W lipcu i sierpniu ukazuje się jeden łączony wakacyjny numer
Głównym tematem numeru czerwcowego Linux+ DVD będzie

Grafika i DTP

W numerze tym planujemy zamieścić między innymi następujące artykuły:

• „Hurtowa” obróbka fotografii


• Analiza obrazu z wykorzystaniem ImageJ
• Beamer – profesjonalne prezentacje
• Inkscape, efekty graficzne
• ImageMagick

Numer w sprzedaży od 18 maja!

Aktualne informacje o najbliższym numerze: http://lpmagazine.org


Redakcja zastrzega sobie możliwość zmiany zawartości pisma.

You might also like