You are on page 1of 74

Miesicznik Linux+ (11 numerw w roku) jest wydawany przez Software Press Sp. z o.o.

SK Prezes wydawnictwa: Pawe Marciniak Redaktor naczelny: Andrzej Jankowski, andrzej.jankowski@software.com.pl Redaktor prowadzcy: Tomasz opuszaski tomasz.lopuszanski@software.com.pl Kierownik produkcji: Andrzej Kuca, andrzej.kuca@software.com.pl Dzia produkcji i kolportau: Alina Stebakow, alina.stebakow@software.com.pl Opracowanie DVD: Tomasz Kostro, tomasz.kostro@software.com.pl Korekta: Justyna Sutkowska Dzia reklamy: reklama@lpmagazine.org, tel.: (22) 427 36 52 Obsuga prenumeraty: EuroPress Polska software@europress.pl pren@software.com.pl Okadka: Agnieszka Marchocka, ukasz Pabian DTP: Monika Grotkowska, monika.grotkowska@software.com.pl Stali wsppracownicy: Roger Zacharczyk, Piotr Brzzka, Leszek Konka, Robert Romaniuk Wydawca: Software Press Sp. z o.o. SK ul. Bokserska 1, 02-682 Warszawa e-mail: redakcja@lpmagazine.org, tel. (22) 427 36 52 Redakcja dokada wszelkich stara, aby publikowane w pimie i na towarzyszcych mu nonikach informacje i programy byy poprawne, jednake nie bierze odpowiedzialnoci za efekty ich wykorzystania. Redakcja Linux+ pracuje na sprzcie dostarczonym przez firm Device Polska Pyty uszkodzone podczas wysyki wymienia dzia prenumeraty. Wszystkie znaki firmowe zawarte w pimie s wasnoci odpowiednich firm i zostay uyte wycznie w celach informacyjnych. Nakad: 10 000 egz. Redakcja uywa systemu automatycznego skadu Druk: ArtDruk www.artdruk.com Pyty doczone do magazynu przetestowano programem AntiVirenKit firmy G DATA Software Sp. z o.o. Sprzeda aktualnych lub archiwalnych numerw pisma po innej cenie ni wydrukowana na okadce bez zgody wydawcy jest dziaaniem na jego szkod i skutkuje odpowiedzialnoci sdow. Linux jest zarejestrowanym znakiem towarowym nalecym do Linusa Torvaldsa. Pismo ukazuje si w nastpujcych wersjach jzykowych: polskiej , francuskiej , hiszpaskiej , angielskiej .

W biecym numerze Aktualnoci

6 14

Justyna Sutkowska

Opis pyty
Ubuntu 9.10 NND Linux Router

Praktyka

16

VHS Reaktywacja od VHS do DVD w kilku prostych krokach


Marcin Jagoda

W artykule przedstawi jak w domowych warunkach przegra film video z kasety VHS na pyt DVD. Opisz krok po kroku, jak przy pomocy wolnego oprogramowania przerobi materia analogowy na cyfrowy i nagra na DVD z profesjonalnie przygotowanym menu. Ponadto, poka jak skonwertowa film do formatu AVI, jeli film bdzie ogldany tylko na ekranie komputera aby zaoszczdzi miejsce na dysku twardym.

Urzdzenia mobilne

22

Kontrolki wizualne w systemie Android cz. 2


Grzegorz Madajczak

W poprzedniej czci artykuu, z cyklu powiconego programowaniu w systemie Android, skupiem si na zastosowaniu ukadw kontrolek wizualnych, ktre oferuje API Android. W tym odcinku naszego cyklu opisz, w jaki sposb mona zapeni omwione uprzednio ukady treci czyli waciwymi kontrolkami wizualnymi (widgetami).

28

Rce precz od CyanogenMod


Grzegorz Madajczak

Google dla wielu osb jest przykadem dobrej firmy, sprawiedliwie traktujcej swoich pracownikw i uczciwie podchodzc do klientw. Dla niektrych moe i jest synonimem wolnoci, bowiem prawie wszystkie produkty s za darmo. Opini t mia przyklepa otwarty system operacyjny Android. Czy aby na pewno tak jest?

Ekspert wypowiada si o mentalnoci firm w ktrych bezpieczestwo jest spraw kluczow

31

Wywiad z Leszkiem Misiem

32

Android vs Kawa z Jabkiem


Beata Rokicka

Jak wiadomo od dawna technika idzie zawsze do przodu. Nic wic dziwnego, e na rynku pojawiaj si coraz to nowe urzdzenia i technologie. Na pewno jednym z waniejszych osigni ludzkoci s urzdzenia i rozwizania mobilne. Szczegln uwag naley zwrci na rynek telefonw komrkowych, ktry niewtpliwie w przecigu kilkunastu lat pod wzgldem technologicznym bardzo awansowa.
stycze 2010

Spis treci

Temat miesica

Bezpieczestwo
nam one rwnie na zadbanie o bezpieczestwo dokumentw i wykonanie kopii zapasowej.

62

Mechanizm hase jednorazowych


Bartomiej Bergier

Rozwizania

34

Elektroniczny labirynt, cz. 2


ukasz Ciesielski

Od wielu lat hasa s najpopularniejsz metod uwierzytelniania uytkownika w systemach komputerowych. Metoda ta, z punktu widzenia bezpieczestwa nie jest pozbawiona wad. Najczciej najsabszym ogniwem jest tutaj czynnik ludzki. Pozyskanie lub odgadnicie hasa przez nieuprawnion osob pozwala niepowoanej osobie na dostp do zasobw. Aby zapobiec takim sytuacjom i znaczco zwikszy bezpieczestwo, opracowano mechanizmy hase jednorazowych. Jak sama nazwa wskazuje, haso jednorazowe moe by wykorzystanie w procesie uwierzytelniania tylko jeden raz, po czym traci wano. W artykule przedstawi jak dziaaj takie mechanizmy od rodka oraz jak zaimplementowa je w systemie GNU/Linux.

Jeste elektronikiem? Jeli nie, to sprawd jak w prosty sposb moesz nim zosta. Nie martw si, tu nie bdzie potrzebna lutownica i podzespoy, poniewa to wszystko ju mamy! Teraz wystarczy stworzy schemat oraz cyfrow pytk drukowan i sprawdzi czy dziaa. Zobacz jakie programy pozwol Ci stworzy wasny warsztat na komputerze. Chcesz wicej? Nic prostszego, wystarczy wydrukowa gotowy projekt i zamontowa elementy. Teraz kady moe zosta elektronikiem!

68

Oszczdzaj energi razem z Linuksem


Sawomir Stpie

Jeli mylisz, e twj laptop pracuje na baterii wystarczajco dugo, to uwierz mi, e moe pracowa jeszcze duej! Zawarte w artykule informacje moesz wykorzysta i sprawi, e twj komputer bdzie pobiera mniej energii, co pozwoli Ci na dusz prac na baterii.

42

Zabawa w SSHowanego
Wojciech Terlikowski

Recenzje

W czasach gdy niemal kady komputer podczony jest do sieci, czy to niewielkiej domowej lub osiedlowej, czy te do Internetu niesychanie wanym zagadnieniem staje si zapewnienie bezpieczestwa komunikacji midzy stacjami roboczymi. Protok SSH, dziki silnej ochronie kryptograficznej, znakomicie si do tego nadaje. Artyku ma na celu przyblienie czytelnikowi szerokich moliwoci oferowanych przez SSH rwnie w mniej znanych zastosowaniach takich jak przekierowanie portw i tworzenie tuneli.

74

Holotz's Castle
Maciej Mroziski

50

Prywatno poczty elektronicznej


Marcin Teodorczyk

Ta niewielka gra od dawna znana w rodowisku linuksowych graczy ju pewien czas chodzia mi po gowie, zawsze jednak odkadaem j na pniej. Ostatnio, po dwch recenzjach RPG-w postanowiem da jej szans i troch odpocz od dugich, cikich produkcji. Jakie byo moje zdziwienie, gdy grajc Holotz's Castle, ktrego autorem jest Juan Carlos Seijo Pre tworzcy programy pod szyldem MainReactor, tsknie pomylaem o dobrym, nie wymagajcym zrcznociowych wygibasw RPG-u. Zapraszam do lektury.

Gwarancja prywatnoci tradycyjnej korespondencji jest tak gboko zakorzeniona w naszej wiadomoci, e wiele osb niejako automatycznie przenosi j na grunt poczty elektronicznej. Niestety, zachowanie prywatnoci korespondencji w Internecie nie jest tak proste jak w przypadku korespondencji tradycyjnej. Mao tego, wikszo domylnych ustawie oferowanych nam przez dostawcw kont pocztowych (szczeglnie darmowych), czy te programy klienckie instalowane na komputerze wrcz zachca do atakw. Co zrobi aby znaczco utrudni przegldanie naszych listw osobom, do ktrych nie s one zaadresowane?

56

Synchronizacja danych na wielu nonikach


Pawe Wolniewicz

Przenoszenie i kopiowanie danych pomidzy komputerami, nonikami USB oraz serwerami FTP moe doprowadzi do baaganu i pojawienia si wielu wersji tego samego dokumentu, z wprowadzonymi rnymi zmianami. Jednym ze sposobw uniknicia takich problemw jest skorzystanie z narzdzi pozwalajcych na synchronizacj plikw. Pozwol
www.lpmagazine.org

NE WS

aktualnoci News dzia prowadzi Justyna Sutkowska

justynasutkowska@op.pl

Kolejny gos w sprawie MySQL

Przejcie Suna borykajcego si z problemami finansowymi przez Oracle byo gono komentowane przez wiele osb bardziej lub mniej znanych. Na forach wrzao. Ostatnio jeden z twrcw MySQL Monty Widenius stwierdzi, e Oracle powinno sprzeda wspomniany system baz danych, by nie doszo do spadku konkurencyjnoci na rynku. Monty, ktry obecnie pracuje nad systemem MariaDB, twierdzi, e MySQL potrzebuje waciciela innego ni Oracle, waciciela, dla ktrego nie zaistnieje konflikt interesw przy rozwijaniu posiadanych baz danych. Jednak Larry Ellison zdecydowanie odrzuca pomys sprzeday MySQL. Argumentuje to tym, e system ten jest projektem opensource'owym i nie konkuruje z korporacyjnymi produktami Oracle. Jego zdaniem firma moe posiada dwa podobne produkty skierowane do dwch rnych sektorw rynku. Ca spraw zainteresowaa si take Komisja Europejska. Zastanawia si ona, jak przejcie Sun Microsystems przez Oracle wpynoby na MySQL i konkurencyjno na rynku. Jeeli Oracle zdecydowaaby si zrezygnowa z systemu, Komisja Europejska o wiele szybciej wydaaby zgod na przejcie Suna.

nia firmy IBM, jestemy zapewniani, e tak kosztowne aktualizacje nie bd potrzebne. Cao skada si z bezpatnego Lotus Symphony (pozwala na tworzenie dokumentw tekstowych, arkuszy kalkulacyjnych oraz prezentacji), aplikacj bazujc na Lotus Notes (suc do obsugi poczty) rozszerzone o Lotus Sametime i usug iNotes. Dodatkowo otrzymujemy take zestaw usug Lotus Live (sucych do pracy grupowej). Aplikacje te osadzone s na platformie Ubuntu, ktra gwarantuje dostpno dla uytkownikw stacji roboczych, laptopw i netbookw. Pakiet mona rozszerzy o VERDE 2.0 jest to rozwizanie zapewniajce infrastruktur wirtualnych desktopw. Oprcz VERDE, moemy rozszerzy pakiet take o inne produkty IBMa: Lotus Connections, WebSphere Portal, Lotus Quickr, Lotus Expeditor, Lotus Foundations Appliance, serwery Lotus Domino.

Lisek nie dla Microsoftu

Mamy OpenBSD 4.6!

IBM nie martwi si Windowsem 7

Wiele duych firm konkurujcych z Microsoftem deklaruje, e nowa wersja Windowsa jest im niestraszna. Najpierw pojawi si gos z Apple, e Windows 7 tylko poprawi pozycj systemw z jabkiem na rynku, a niewiele pniej IBM ogosi wprowadzenie na rynek amerykaski zestawu oprogramowania dla stacji roboczych z Linuksem i oprogramowaniem IBM Client for Smart Work. Jest to tania alternatywa dla aplikacji microsoftowych. IBM sugeruje, e jest to bardziej opacalne, ni migracja do Sidemki, gdy ta moe kosztowa nawet 2000 USD za stanowisko (wzito pod uwag m. in. koszt aktualizacji sprztowej stanowisk, na ktrych obecnie zainstalowany jest Windows XP majcy o wiele mniejsze wymagania sprztowe). W przypadku oprogramowa-

Wydano wersj 4.6 znanego systemu OpenBSD. Najwaniejsze zmiany, to rozszerzenie obsugi platformy sparc64, nowe sterowniki zapewniajce wsparcie dla operacji wejcia i wyjcia pomidzy domenami logicznymi, moliwo ograniczenia czstotliwoci pracy procesorw UltraSPARC IIE, rozbudowane narzdzie Aucat, poprawiona obsuga tam zawierajcych powyej 64K rekordw, zwikszony limit dugoci nazw uytkownikw i hase dla sppp i pppoe, usprawnione uruchamianie przez sie oraz wiele, wiele innych. Wprowadzono take sporo zmian wpywajcych na stabilno systemu oraz liczb wspieranych urzdze. Wiele pakietw zaktualizowano do najnowszych wersji (Firefox, httpd, mysql, ssh, openssh, xfce, etc.). Wicej informacji znale mona oczywicie na stronie twrcw.

Po cichej instalacji wtyczki .NET Framework Assistant w Firefoksie wybucha kolejna afera z udziaem Microsoftu. Bez zgody uytkownikw, program .NET Framework 3.5 Service Pack 1 instalowa dodatek do przegldarki. Problematyczne byo take usunicie wtyczki. Po pewnym czasie, na oficjalnym blogu Mozilli pojawiaa si informacja o zablokowaniu dodatku do przegldarki Firefox o nazwie .NET Framework Assistant. Powodem miay by luki w zabezpieczeniach, jakie posiada miaa wspomniana wtyczka. Badanie sprawy zajo Mozilli cay weekend i ostatecznie zdecydowaa si na odblokowanie dodatku. Wtyczka pozwala na korzystanie z technologii ClickOnce w celu uruchamiania aplikacji dziaajcych w oparciu o rodowisko .NET. Blokada dodatku nie spodobaa si jednak wielu uytkownikom, w zwizku z tym pojawiy si protesty. Niedugo pniej jednak Mike Shaver poinformowa, e dodatek uznano za bezpieczny i nie jest on dalej blokowany. Nadal jednak nie mona byo korzysta z Windows Presentation Foundation. Zapewniono jednak, e programici Mozilli dokadaj wszelkich stara, by problem ten rozwiza. Sprawa jednak budzi pewien niesmak. I to nie jeden. Po pierwsze, Mozilla odgrnie narzuca uytkownikom blokad na wybrane wtyczki. Po drugie, Microsoft, bez zgody uytkownikw, ingeruje w oprogramowanie, ktrego on sam nie jest dostawc. Po trzecie, Microsoft ostro protestowa, gdy Google wyda wtyczk do Internet Explorera, mimo e sam wyda wtyczk do Firefoksa. Nawiasem mwic, Google w aden sposb nie instalowao wtyczki w Internet Explorerze bez wiedzy uytkownikw.

Gadu-Gadu z pingwinami

Z pocztkiem roku 2010 zapowiadana jest premiera Gadu-Gadu na systemy operacyj-

Rysunek 1. Logo MySQL

Rysunek 2. Logo Windows 7 stycze 2010

Rysunek 3. Logo gadu gadu

dzia prowadzi Justyna Sutkowska

aktualnoci justynasutkowska@op.pl News

NE WS

ne Linux oraz Mac OS. Informacja pochodzi od penomocnika Zarzdu GG Network S.A., Jarosawa Rybusa. Komunikator moe zosta wydany na alternatywne platformy dziki porzuceniu integracji z Internet Explorerem oraz wprowadzeniu silnika WebKit. Szkoda tylko (ze strat dla twrcw komunikatora), e postanowiono tego dokona tak pno. Istnieje bowiem wiele alternatywnych aplikacji, ktre umoliwiaj komunikacj przy uyciu protokou Gadu-Gadu na systemach linuksowych. Warto zauway jednak, e aplikacje te s nielegalne, gdy zgodnie z regulaminem sieci GG, z komunikatora mona korzysta jedynie przy uyciu oficjalnego klienta dostarczanego przez twrcw. Mona by powiedzie wic, e jest to wietna wiadomo dla fanw Linuksa, gdy nie bd musieli korzysta ju z (dostpnego z poziomu przegldarki internetowej) Web GG. Mona by, bo... Czy kto zrezygnuje z Kadu, ktre nie wywietla adnych reklam, na rzecz oficjalnego klienta Gadu-Gadu serwujcego mnstwo bardzo inwazyjnych reklam (ostatnio take w postaci wiadomoci tekstowych ze specjalnie przygotowanych do tego numerw, ktrych wacicielem jest GG) lub innych komunikatorw, ktre oferuj wsparcie dla wicej ni jednego protokou naraz? Jest to co najmniej wtpliwe. Niemniej jednak, kada windowsowa aplikacja przeniesiona na Linuksa budzi pewien zachwyt. Oby wicej takich decyzji!

listw w tej dziedzinie. LSE, chcc by pewnym co do lojalnoci firmy MilleniumIT, postanowi j wykupi. Na ten cel przeznaczy kwot 30 milionw euro. Warto tutaj wspomnie, e dotychczasowy system kosztowa londysk gied ponad dwa razy wicej. Migracja ma trwa osiemnacie miesicy. Oprcz wymiany oprogramowania, zmieni si take infrastruktura sprztowa i sieciowa. Z pewnoci przyczyni si to do zmniejszenia czasu realizacji zlece o kolejne, jake cenne w grze na giedzie, milisekundy i sprawi, e pienidze inwestorw bd bezpieczniejsze. Swoj drog, to ciekawe, czy warszawska GPW zdecydowaaby si na podobny ruch?

nux. W owiadczeniu przeczyta mona, e przygotowania do migracji trway trzy lata, a serwer, ktry dziaa nieprzerwanie od pocztku istnienia komunikatora (czyli od roku 2000) zosta ostatecznie wyczony. Nowoci wprowadzon przy okazji migracji, jest fakt, e nieuywane przez duszy czas numery nie bd wygasa, gdy pula numerw zostaa zwikszona z 16 milionw, do 4 miliardw. Niestety brak informacji, jakiej uyto dystrybucji. Jest natomiast zapewnienie, e znane z przeszoci pady nieprzerwanie pracujcego serwera, odejd w niepami. Czas jednak pokae, na ile sprawdz si nowe rozwizania.

PC jak toster

Linux zdobywa co raz wiksze segmenty rynku

LSE, czyli London Stock Exchange (londyska gieda), rozpocza proces migracji swojej platformy na system oparty na Linuksie i Solarisie. Niniejszym doceniono wiksze moliwoci tego systemu, zarwno pod wzgldem wydajnoci, jak i finansowym. Do tej pory, platforma LSE skadaa si gwnie z wielu aplikacji bazujcych na technologii .NET znanej skdind firmy Microsoft. Mona wic sobie wyobrazi, e wydajno bya tutaj o wiele nisza. Koszty natomiast byy bardzo wysokie. W perspektywie by take wzrost obrotw na giedzie przez najblisze lata, wic kierownictwo podjo decyzj poszukania alternatywnego rozwizania. Pozyskano dwadziecia ofert wdroenia nowej platformy, z ktrych wybrano jedn, zoon przez firm MilleniumIT ze Sri Lanki, ktra specjalizuje si w dostarczaniu systemw kapitaowych przy pomocy pracujcych dla niej kilkuset specja-

Ludzie chc, by pecet by jak toster. Nacinij przycisk i gotowe tymi sowami Steve Jones z Phoenix Technologies podsumowa cel zredukowania czasu adowania BIOSu do 1 (sownie: jednej) sekundy. Na konferencji Intela, Phoenix oznajmio, e dysponuj BIOSem, ktry jest w stanie zaadowa si w okoo jedn sekund. Osignito to, dziki obciciu standardowego sprawdzania sprztu i udoskonalenie oprogramowania firmware. Czas adowania BIOSu jest cile zaleny od iloci sprztu im wicej podzespow, tym duej to trwa. Dodatkowo, system operacyjny rwnie sprawdza sprzt, zatem ta sama praca wykonywana jest dwukrotnie. A skoro tak, to po co BIOS nadal ma to robi? Due nadzieje pokadane s w UEFI (Unified Extensible Firmware Interface). Jest to nowy standard, ktry ma ograniczy liczb kontroli sprztu przez BIOS. Ma zapewni te przejrzysty interfejs pomidzy systemem operacyjnym a firmwarem sprztu w czasie adowania systemu. Nie jest on te ograniczony do konkretnej architektury procesora, w przeciwiestwie do standardowego BIOSu. Jeeli uda si ten cel zrealizowa, a dodatkowo wemiemy pod uwag fakt, e szybkie dyski SSD s co raz tasze, w (wzgldnie) niedugim czasie powinnimy doczeka si komputerw uruchamiajcych si byskawicznie.

Blu-Ray ma si co raz lepiej

Spadek cen odtwarzaczy Blu-Ray, spowodowa wzrost ich sprzeday o ponad 100% w tym roku. Szanse tego formatu wzgldem konkurencyjnego i, jak do tej pory, dominujcego DVD, szybko rosn. Mowa tutaj nie tylko o krajach zachodnich, gdzie ludzie obawiaj si kryzysu, ale take w Polsce, do ktrej powoli dociera fala popularnoci bkitnego laseru. Marek Wsowski, dyrektor marketu Saturn w warszawskim centrum handlowym Arkadia, mwi, e ludzie, ktrzy sigaj po nowy zestaw kina domowego, lub wymieniaj stary, najczciej chc kupi odtwarzacz obsugujcy format Blu-Ray. Obecnie kupuje si okoo tysica sztuk tego rodzaju urzdze. Zdaniem Tomasza Wawszczyka, dyrektora zakupu w Media Saturn Holding Polska, o prawdziwym wybuchu popularnoci bdzie mona mwi, gdy sprzeda liczy si bdzie w tysicach sztuk na miesic. Ceny jednak w cigu roku zmalay nawet o poow, wic moliwe, e w niedalekiej przyszoci, sprzeda wzronie jeszcze bardziej. Do czasu, a pojawi si nowy, lepszy format.

Sprzeda komputerw znw ronie!

Gadu-Gadu migruje na Linuksa

Wraz z ostatnimi dniami wrzenia, sie Gadu-Gadu zacza dziaa na infrastrukturze sieciowej opartej o system operacyjny Liwww.lpmagazine.org

W czasach kryzysu, sprzeda komputerw na terenie Europy rodkowej i Wschodniej mocno spadaa. Od paru miesicy natomiast w kocu zacza rosn, a niektre firmy licz nawet na zyski. Czy si nie przeliczyy, okae si po wynikach kwartalnych na pocztku roku 2010. Firmy Gartner i IDC (firmy badawcze) przedstawiy swoje szacunki dotyczce dostaw komputerw przez producentw do dystrybutorw. Wedug Gartnera, sprzedali oni ponad 80 milionw pecetw, czy-

NE WS

aktualnoci News dzia prowadzi Justyna Sutkowska

justynasutkowska@op.pl

li o 0.5 % wicej, ni przed rokiem. Wedug IDC, wzrost sign ponad 78 milionw sztuk. IDC jednak nie uwzgldnia sprzeday serwerw. Wedug analiz, sprzeda wzrosa w Ameryce Pnocnej i Azji, a spada w Japonii, Ameryce Poudniowej oraz regionie Europy, Bliskiego Wschodu i Afryki. Gartner szacuje, e rynek krajw z EMEA skurczy si o ponad 10 %. Najwiksze spadki natomiast odnotowano w Europie rodkowej i Wschodniej. Nie ujawniono jednak danych dotyczcych Polski. Wiadomo, e sprzeda w pierwszym proczu 2009 bya o ponad 20% nisza, ni przed rokiem.

na wersja bardzo rozwojowego builda przegldarki Chrome, ktra jest czci systemu operacyjnego Google (Chrome OS). Pki co, zauway mona cakiem adny, przezroczysty pasek stanu i przegldark. Jonathan Frederickson pobra dane z dostpnego publicznie katalogu chromeos, znajdujcego si w publicznym repozytorium przegldarki Chrome. W tej chwili katalog ju nie istnieje, gdy zosta usunity przez producenta. Nastpnie skompilowa kod rdowy i uruchomi go na swoim komputerze. Pki co, zauway mona, e przed Google jeszcze daleka droga.

Fennec z Androidem

Microsoft nie pozbiera si po Vicie

Fennec jest mobiln wersj przegldarki Firefox. Mozilla planuje wyda j take na platform Android. Ogoszono ju rozpoczcie prac. Dlaczego tak pno? Dopiero niedawno Google udostpnio NDK (Native Development Kit) dla swojego systemu operacyjnego. Jest to wane, poniewa dopiero przy uyciu tej biblioteki mona pisa na Androida w C/C++. Jak powiedzia Jay Sullivan, wiceprezes dziau Mobile w Mozilli: Chcielimy stworzy przegldark pozwalajc na wykorzystanie prawie wszystkich obecnie dostpnych funkcji w komputerowej wersji Firefoksa: JavaScript, CSS, Flash, SFG, video, audio. Tym samym musielimy czeka na chwil, gdy nowa platforma bdzie moga wsppracowa z tymi zaoeniami. Data premiery nie jest na razie znana.

Google Chrome OS jak FVWM-Crystal

W sieci, za spraw jednego z uytkownikw TechCrunch, pojawia si skompilowa-

Te sowa Steve'a Bullmera, prezesa firmy Microsoft, z pewnoci uciesz wielu linuksowcw. Przyzna on, e wydanie Windows Vista le odbio si na dobrym imieniu korporacji i, e firmie nigdy pniej nie udao si zatrze zego wraenia powstaego po premierze systemu. Od czasu pojawienia si Windows Vista na rynku (rok 2007), by on krytykowany za bardzo wiele czynnikw. Wymieni tutaj mona midzy innymi: nisk wydajno, irytujce zabezpieczenia, kompletna zmiana interfejsu niektrych elementw systemu, problemy z uruchamianiem czci aplikacji producentw trzecich, etc. Wedug Prezesa, Microsoft popeni bd ju na etapie projektowania Windows Vista, gdy zrezygnowano z kompatybilnoci systemu na rzecz bezpieczestwa. C... W przypadku alternatywnych systemw, jakim jest np. Linux, z kadym nowym wydaniem jdra nie ma jakich powanych problemw z kompatybilnoci, a bezpieczestwo i tak wzrasta. Bd musia wic zosta popeniony o wiele wczeniej. Steve Bullmer wierzy jednak, e reputacja Microsoftu poprawi si po wydaniu Windows 7, do ktrego aktualizacja z Vi-

sty powinna by bezbolesna i niewymagajca zmian sprztowych. Czy tak bdzie? Czas pokae. Ju przed premier pojawio si kilka poprawek do tego systemu (co jest w przypadku Windowsw norm), a osoby, ktre dla testu instaloway wersj kandydujc, po paru tygodniach zaczy narzeka na jego wydajno, mimo uprzedniego zachwalania tego systemu. Od duszego czasu mwi si o niedoskonaociach Visty. Ba, od samego pocztku. Teraz jednak Microsoft oficjalnie przyzna racj. Czy to wystarczy, by uytkownicy ciepo przyjli Windows 7? Nadzieje s due. A Microsoft ma o co walczy, gdy wiele firm deklarowao aktualizacj Windowsa XP dopiero po wydaniu kolejnej, po Vicie wersji. Jeeli Sidemka rwnie zawiedzie oczekiwania wszystkich tych, ktrzy postanowili przeczeka Vist, to nie bdzie to wry dobrej przyszoci znanemu producentowi okien... A skorzysta na tym oczywicie konkurencja.

Bardzo wydajny serwer Synology zaskakujcych rozmiarw

Rysunek 5. Synology DS409slim back

Rysunek 4. Synology DS409slim front

Serwer program wiadczcy usugi na rzecz innych programw, zazwyczaj korzystajcych z innych komputerw poczonych w sie. Ta definicja jeszcze tak niedawno temu kojarzya si z wielkim sprztem, stojcym w specjalnym wentylowanym pomieszczeniu z drogim systemem zabezpiecze. Dane to cyfrowe skarby, ich bezpieczestwo czsto jest kluczowe dla wikszoci przedsibiorstw. Czy twoje dane, ktre posiadasz s rwnie istotne? Co si stanie, jeeli Ci powiem, i wszystko co miae na swoim HDD wanie przestao istnie? Synology DS409slim to urzdzenie z procesorem 1.2 GHz oraz pamici SDRAM 128 MB, ktremu warto powieci uwag. Jest mae (120 x 105 x 142 mm, 0.66kg), wielkoci szkatuki, pojemne, mieci 4 wewntrzne dyski 2,5 oraz stworzone po to, aby nie dopuci do utraty twoich zasobw dyskowych. Z przodu posiada diody sygnalizujce status poszczeglnych dyskw oraz samego urzdzenia, oraz port USB sucy np. do udostpniania zasobw w sieci. Ty urzdzenia to zasilanie na 12V, reset (przywracanie ustawie fabrycznych), kolejny USB, 4 kieszenie na dyski twarde oraz wejcie eSATA. Aby urzdzenie speniao swoje funkcje naley poczy je przewodem z routerem za pomoc gniazd ethernetowych. Na spodzie urzdzenia zamontowany

stycze 2010

dzia prowadzi Justyna Sutkowska

aktualnoci justynasutkowska@op.pl News

NE WS

jest spory wentylator (80x80mm) chodzcy prac dyskw, zaczajcy si w razie potrzeby. Do zestawu doczona jest specjalna podstawka z systemem antypolizgowym, ktrej ksztat kontroluje pobieranie tylko czystego powietrza. Ju wiemy, e adnie prezentuje si w pokoju, ale co tak naprawd potrafi? Rozpoczynanie zdania od jednym z gwnych zada jest tutaj bdem. Gwnych zada jest przynajmniej 6 i waciwie kady indywidualnie moe ustawi do nich priorytety. Po pierwsze szybki i elastyczny serwer plikw dla sieci lokalnej. Protokoy sieciowe jakimi si posuguje to CIFS, AFP, FTP, Telnet, SSH, NFS. Uytkownicy sieci DS409slim mog przechowywa dane na serwerze i korzysta z nich podobnie jak z innych zasobw sieciowych bez dodatkowego oprogramowania tylko poprzez standardowe otoczenie sieciowe. NAS-Serwerowi Synology podczas instalacji przydzielamy adres IP np. dynamicznie. Jako administratorzy logujemy si na urzdzenie, zakadamy konta uytkownikw dla znajomych w sieci i nadajemy im indywidualne uprawnienia. Np. folder Filmy znajdujcy si na serwerze jest widzialny tylko dla 4 z 5 kont uytkownikw z czego tylko jeden ma moliwo edycji. Maksymalna liczba kont uytkownikw to 1024 gdzie a 64 moe by poczonych w tym samym czasie. Bezpieczny transfer danych poprzez serwer FTP. Skoro ju wszyscy maj swoje pliki na serwerze i mog z nich korzysta lokalnie to pora zacz uywa ich globalnie. Aby to uczyni w pierwszej kolejnoci naley zalogowa si jako administrator na sieciowy router i za pomoc wirtualnego serwera przypisa do portu 21 adres IP naszego urzdzenia. Dziki tej funkcji pokaemy znajomemu zdjcia z serwera. Wpisujemy w przegldarce Ftp://adresIP po czym zostaniemy poczeni z serwerem, ktry zapyta nas o login i haso. Zintegrowany Download Stadion. Ile razy zostawiasz na noc wczony komputer, gdy wanie cigasz ca mas darmowych filmw oraz programw w wersji freeware? Wycz swj sprzt, daj mu odetchn i po si spokojnie spa. To serwer DS409slim jest urzdzeniem, ktre ma zrobi to co zawsze znosi twj komputer. W kocu zosta zbudowany tak, aby pracowa stabilnie przez 24 godziny na dob. Moliwe jest korzystanie z BitTorrent, HTTP i FTP oraz wsppraca z Synology Download Redirector. Meneder plikw umoliwia te zdalne zarzdzanie transferami poprzez przegldark internetow.

Print Server drukarka USB w sieci LAN. Na stronie producenta znajduje si lista kompatybilnych urzdze min. drukarki. Poprzez panel Synology Assistant dodajemy drukark do urzdzenia. Mamy do wyboru 3 opcje: port sieciowy, port lokalny, port LPR. W wikszoci przypadkw operacja bdzie wymagaa instalacji sterownikw drukarki na serwerze. Kreator poprosi nas o woenie CD w odpowiednim czasie. Po podczeniu przewodu USB drukarki do portu USB serwera mamy wsplne urzdzenie dla caej sieci. Teraz dokonujemy wydruku czc si poprzez sie, wic w przypadku laptopw jest to bezprzewodowe. Peny i zautomatyzowany backup danych. Serwer ma moliwo pracy z jednym dyskiem jak i z 4 zewntrznymi na USB i eSATA. Dlaczego to takie wane? Gdy jeden plik way 300 GB a posiadamy tylko dwa dyski po 250GB kady, to formatujc je systemem RAID-0 uzyskujemy jedn partycj o pojemnoci 500GB. Taki system stawia na wydajno. Na szczcie w domowych warunkach bardzo rzadko mamy do czynienia z takimi plikami dlatego polecam system RAID 1. Dwa dyski o znanej ju nam pojemnoci posiadaj wwczas dwie rone role. Pierwszy dysk zapisuje dane, mamy do niego cigy dostp. Drugi jest kopi pierwszego w czasie rzeczywistym. Jeeli, ktry dysk padnie nasz jedyny kopot to zakup nowego. Ze wzgldw ekonomicznych mona wyposay DS409slim tylko w jeden twardy dysk bez uycia RAID i pniejsze zmodernizowanie do RAID 1 lub RAID 5 (a nawet RAID 6) poprzez dodanie dodatkowych dyskw twardych. Synology umoliwia zautomatyzowane przeprowadzenie caej operacji wykonania kopii bezpieczestwa. W zalenoci od potrzeb mona wykona backup danych zarzdzanych przez serwer lokalnie, lub zdalnie przy uyciu SSH. Kopia zapasowa moe by zapisywana na zewntrznym dysku twardym podczonym poprzez port USB, lub eSATA. Dynamiczne strony internetowe z PHP i MySQL. W kocu wiemy gdzie tak naprawd znajduje si nasza strona internetowa. Synology posiada zintegrowany serwer Apache z obsug skryptw PHP oraz zainstalowan baz danych MySQL. Zintegrowana aplikacja Photo Stadion 3 jest przeznaczona do publikowania albumw ze zdjciami. Wgld do albumu mog mie tylko uprawnieni uytkownicy. Kade zdjcie/grafik mona skomentowa po
www.lpmagazine.org

czym zostaniemy o tym poinformowani mailem. Jest to bardzo estetyczny sposb pokazania znajomym gdzie si byo bez koniecznoci posiadania plikw przy sobie. Po przeczytaniu o moliwociach NASservera, kady zapewne znalaz swoje wasne priorytety. Sprzt posiada aplikacj w jzyku polskim a na stronie Synology znajduje si polski dzia FAQ. Dzia napisany pod kontem rozwizywania problemw i edukacji a nie zachty do kupna. Opis moliwoci urzdzenia zosta zaprezentowany pod kontem uytkownikw domowych jednak produktem zainteresuj si w szczeglnoci firmy, ktre nie zgodziy si wczeniej wyda 50 000 z na budow serwerowni. Niezaleno przestrzeni dyskowej jest oszczdnoci pienidzy i bezpieczestwem a wspdzielenie plikw skraca czas pracy i uatwia dostp. W jaki sposb graficy agencji reklamowej przesyaj pomidzy sob pliki wace 30 Mb? Poczt e-mail? Wysanie raz na jaki czas cikiego pliku na zagraniczny serwer po to, aby osoba pracujca na stacji roboczej obok moga cign ten sam plik na swj dysk jest dopuszczalne. Przy codziennej wymianie duych plikw jest ju gupot ludzk. Cigy obieg danych wrd pracownikw kadej firmy mona, a nawet powinno si zastpi prac na tym samym noniku poprzez sie. Po co wwczas przesya do siebie pliki jak wszystkie s stale na swoim miejscu? Czy wszyscy pracownicy maj nawyk tworzenia kopi zapasowych swojej pracy? Teraz to Synology DS409slim pamita o tym za nas obsugujc nas kompleksowo.

Biblioteka Qt4 dostpna dla Haiku

System operacyjny Haiku (wywodzcy si ze sawnego, cho niezbyt popularnego, kiedy BeOS R5 oraz OpenBeOS), ktry osign niedawno stadium rozwoju alpha (i wci czeka go sporo poprawek, chocia ju dzi zapowiada si bardzo dobrze) moe pochwali si dostpnoci biblioteki Qt4 doskonale znanej wszystkim programistom przenonych aplikacji, nie tylko tym, ktrzy korzystaj na co dzie z systemu GNU/Linux. Qt4 to wspaniaa biblioteka i zestaw narzdzi programistycznych pozwalajcych na opracowywanie, przede wszystkim, zaawansowanych GUI (ang. Graphical User Interface graficznych interfejsw uytkownika), ktre, dodatkowo, s bardzo przenonie (do tej pory biblioteka dostpna bya m.in. dla: GNU/Linux, *BSD, Solaris, Unix, MS Win-

NE WS

aktualnoci News dzia prowadzi Justyna Sutkowska

justynasutkowska@op.pl

dows, MS Windows CE, Symbian, MacOS X). Korzystanie z Qt4 znacznie uatwia ycie wszdzie tam, gdzie chcemy skupi si na funkcjonalnoci naszych aplikacji, a nie na zawiociach ich przenoszenia na inne platformy. Qt4 tworzone jest z myl gwnie o jzykach Java i C++, ale moe by wykorzystywane take w innych, mniej popularnych jzykach, jak Object Pascal (np. rodowisko programistyczne: FPC/Lazarus), Ada (QtAda) czy Pyton (PyQt) lub Perl eby wymieni cz z nich. Dodajmy, e biblioteka Qt, ju we wczeniejszych wersjach, staa si podstaw, midzy innymi, rodowiska graficznego KDE.

Potencja biblioteki jest ogromy, a jej dostpno dla Haiku z pewnoci wpynie korzystnie na dynamiczny rozwj tego systemu operacyjnego, przynajmniej, jeli chodzi o szybko (i w ogle realn moliwo) przenoszenia aplikacji z innych systemw operacyjnych (nie ma co kry, e chodzi gwnie o system GNU/Linux, na ktrym powstaje mnstwo projektw dopiero pniej przenoszonych na *BSD czy MS Windows i inne). Warto odda hod autorom wersji Qt4 dla Haiku i wspomnie, e prace nad przenosinami kodu rozpocz okoo 18 miesicy temu Evgeny Abdraimov, do ktrego na-

Rysunek 6. About kchimviewer

stpnie doczyli Gerasim 3dEyes Troeglazov i Anton Sokolo. Co ciekawe, jeszcze w lecie biecego roku nie bardzo mieli czym si pochwali i prezentowali dziaajcy zegar analogowy, korzystajcy z Qt4, jednak dzi, oferuj nam wstpne wydanie deweloperskie (ang. developer preview release), a take ca gam aplikacji opartych o Qt4 dziaajcych pod Haiku, wczajc bardzo wanego QtDesignera. Projekt jest hostowany w serwisie OsDrawer, ktry jest centrum projektw Open Source dla systemu operacyjnego Haiku. Dostpno QT4 dla Haiku to wana informacja nie tylko dla fanw alternatywnych systemw operacyjnych, ale take dla zwolennikw Wolnego i Otwartego Oprogramowania. Dziki Qt4 moliwe bdzie zasilenie Haiku w arsena dobrze znanych uytkownikom GNU/Linuksa aplikacji, ktre dziki przenonoci Qt4 trafiy take do innych systemw operacyjnych. Musimy si take zgodzi, e nie ma si o co martwi, jeli chcielibymy odbiera Haiku jako potencjalnego konkurenta dla systemu GNU/Linux. Wydaje si, e w Haiku tkwi wielki potencja, jednak raczej nie jest ono w stanie, jak na razie, zagrozi pozycji systemom spod znaku Pingwina. Haiku moe, co prawda, korzysta z dobrodziejstw bibliotek i oprogramowania, ktre ju od dawna dostpne jest dla uytkownikw GNU/Linuksa. Qt4 to jeden z przykadw na potwierdzenie tej tezy. Mimo to, warto bliej obserwowa rozwj Haiku (dodajmy, e system jest dostpny na licencji MIT). Na podstawie: http://joomla.iscomputeron.com/index.php? option=com_content&task=view&id=1136&Itemid=2

Microsoft otworzy format .pst aplikacji MS Outlook

Rysunek 7. Okno biblioteki QT4

Kady, kto kiedykolwiek musia pracowa z programem MS Outlook, wie, e przetrzymuje on swoje dane i co gorsza dane uytkownika w pliku o rozszerzeniu .pst. Jest to problematyczne o tyle, e format tego pliku jest zamknity i tak naprawd, nikt do koca nie moe by pewien co i jak jest tam zapisywane. A szkoda, bo w plikach .pst zachowywana jest nie tylko historia korespondencji, ktr prowadzimy i umieszczamy w wymaganych przez nas folderach, ale take kontakty, spotkania, kalendarz itp. Wyglda to wic tak, e kiedy woymy troch prastycze 2010

10

dzia prowadzi Justyna Sutkowska

aktualnoci justynasutkowska@op.pl News

NE WS

cy w zorganizowanie naszego rodowiska w MS Outlook, raczej nie bdzie nam po drodze migracja danych do uywanego, np. w domu, zblionego funkcjonalnie (lecz darmowego) programu, np. Thunderbird, czy Evolution, jaki wykorzystujemy na naszym linuksowym komputerze. By moe firma Microsoft zdaa sobie spraw, e takie dziaanie nie tyle zabezpiecza jej interesy na rynku, co utrudnia ycie uytkownikom. Trudno wnioskowa, co faktycznie stao si powodem decyzji Mistrza Strategii Rynkowych (czyt. firmy Microsoft) czy dobro uytkownikw, czy dalekosina troska o zyski i bezpieczestwo rynkowe oferowanych rozwiza (na zdrowy rozum, obstawia naley to drugie, chocia dobrze byoby, gdybymy mieli do czynienia z sum obydwu kryteriw), ale wyglda na to, e wreszcie, na dobre poznamy tajniki formatu .pst. Firma Microsoft zobowizaa si do upublicznienia szczegowej, technicznej dokumentacji formatu .pst. Dokumentacja ta ma nie tylko opisywa wewntrzne struktury formatu, ale take przedstawia przykadowe kawaki kodu, pokazujce programistom, w jaki sposb dobiera si do danych przechowywanych w plikach .pst. Obecnie, dokumentacja formatu .pst znajduje si we wczesnej fazie rozwoju, ale Stopniowo ma przybywa konkretw. Jak zawsze, firma Microsoft blisko wsppracuje ze swoimi klientami i partnerami w celu dokadnego okrelenia wymaga, jakich spenienia bd oczekiwa uytkownicy kocowi dokumentacji. Celem nadrzdnym jest oglne zaoenie, e cao ma by przejrzysta i uyteczna (ang. clear and useful). Miejmy nadziej, e faktycznie tak wanie si stanie. Dokumentacja ma zosta wydana na zasadach Open Specification Promise, co ma pozwoli deweloperom zaimplementowa rozwizania korzystajce z plikw .pst na dowolnej platformie, z uyciem dowolnej technologii i w dowolny sposb (nie za duo tej wolnoci, jak na komercyjne przedsiwzicie?). Co wicej, nie bdzie istniaa potrzeba kontaktowania si w tej sprawie (oraz w sprawie jakichkolwiek patentw) z firm Microsoft. A nie chce si w to wierzy, prawda? Informacja pochodzi od Paula Lorimiera, Group Managera w Microsoft Office Interoperability i zostaa umieszczona w blogu Interoperability@Microsoft weblog. Jak twierdzi firma, wymiana danych pomidzy

jej produktami, a innymi rozwizaniami dostpnymi na rynku, ma bardzo due znaczenie. Brzmi to przednio, ale jako nie sposb uwierzy, e taka deklaracja przenosi w sobie wycznie to wanie znaczenie. Kady, nieufny i ostrony wobec korporacji linuksiarz musi zachodzi w gow o co tak naprawd tutaj chodzi? W tym musi kry si ja-

ki haczyk? A moe celem jest to, aby pozwoli zmigrowa dane z konkurencyjnych aplikacji do rozwiza firmy Microsoft, ktre z zaoenia maj wykaza miadc przewag, jeli chodzi o funkcjonalno i wygod uytkowania (take, jeli chodzi o wspdziaanie danych z innymi powiedzmy konkurencyjnymi rozwizania-

Rysunek 8. Evolution widok meil

Rysunek 9. Evolution widok kalendarz


www.lpmagazine.org

11

NE WS

aktualnoci News dzia prowadzi Justyna Sutkowska

justynasutkowska@op.pl

mi). Takie dziaanie, docelowo, przyniosoby przewag rynkow i cho brzmi jak pocztek typowej teorii spiskowej, zgdmy si, e firma Microsoft ma to do siebie, e nie raz nas ju zaskakiwaa swoimi posuniciami. Wydaje si jednak, e ze wspomnianej dokumentacji moe skorzysta wiat Wolnego i Otwartego Oprogramowania. Jeeli dokumentacja faktycznie zostanie udostpniona na tak liberalnych warunkach, to z pewnoci informacje w niej dostpne pozwol zwikszy konkurencyjno takich produktw jak Thunderbird czy Evolution (w mniejszym i wikszym stopniu s to ekwiwalenty MS Outlook). Proponowana przez nas interpretacja taktyki firmy Microsoft wydaje si wic do dyskusyjna, poniewa dokumentacja techniczna formatu .pst funkcjonowaaby w rzeczywistoci jak bro obosieczna. Korporacje raczej nie lubi takiego ryzyka By moe wic, nawet jeli nie do koca chodzi wycznie o dobro uytkownikw, to na celu faktycznie jest zwikszenie moliwoci wymiany danych z MS Outlook, bo na brak tej funkcjonalnoci uytkownicy narzekaj, zdaje si, najczciej. Czy wic doczekamy czasw, gdy format .pst, po tym swoistym otwarciu, stanie si niepisanym standardem dla wszelkiej maci klientw poczty, nie tylko spod znaku Microsoft? To bdzie musiao wywoa burz spekulacji i obaw o patenty, zblion do tej, jaka towarzyszy rozwojowi i popularyzacji Mono (otwartej implementacji platformy .NET). Warto wic mie oczy otwarte. Na podstawie: http://blogs.msdn.com/interoperability/ archive/2009/10/26/roadmap-for-outlook-personal-folders-pst-documentation.aspx

W rzeczywistoci FatELF stanowi odpowiednik funkcjonalny znanego spod OS X universal binary, a docelowo ma take by stosowany w innych, zblionych systemach operacyjnych, takich jak: *BSD, Solaris, czy Haiku. FatELF, czyli gruby elf, pozwala na umieszczenie w jednym pliku wykonywalnym rnych wersji kodu, ktry przeznaczony moe by na kilka platform sprztowych, np. x86, x86-64 i SPARC. Warto zwrci uwag, e z powodu rozmiarw takich plikw binarnych z pewnoci nie bd mogy w prosty sposb skorzysta z nich

dystrybucje systemu GNU/Linux, ktre i tak nie mieszcz si czsto na pojedynczej pycie DVD (a mowa o jednej architekturze sprztowej). Istnieje jednak bardzo realne zastosowanie dla FatELF, a mianowicie Gry komputerowe. Z pewnoci atwiej bdzie tworzy wersje wieloplatformowych gier, ktrych wiksza cz czsto skada si z multimediw, jeli bdzie je mona rozprowadza z jednym kompletem, wieloplatformowych plikw wykonywalnych. Ponadto, FatELF moe si przyda w przypadku stopniowej migracji z platform 32- do 64-bitowych.

Rysunek 12. Widok okna aplikacji PascalScada

Gruby ELF pomieci wicej

Powsta bardzo ciekawy projekt majcy na celu dostarczenie nowego formatu plikw wykonywalnych FatELF, ktrego autorem jest Ryan Gordon, dotychczas znany jako autor portw popularnych gier do GNU/Linuksa.

Rysunek 11. Gruby Elf

Rysunek 13. Widok okna aplikacji PascalScada

12

stycze 2010

dzia prowadzi Justyna Sutkowska

aktualnoci justynasutkowska@op.pl News

NE WS

Obecnie nie ma moliwoci skompilowania kodu do FatELF za pomoc GCC. Tego typu pliki mona jednak uzyska z uyciem opracowanych przez Ryana Gordona narzdzi, ktre sklejaj pliki wykonywalne dla rnych architektur do pojedynczej binarki. Najwaniejsze jest jednak to, e pliki FatELF mog wspdziaa z typowymi plikami ELF. Co wicej, kod z plikw FatELF moe odwoywa si do kodu w plikach ELF i na odwrt. Oczywicie, w przypadku FatELF istnieje drobne opnienie, jeli chodzi o tempo uruchomienia, zwizane z faktem, e obsugiwany musi by kod odpowiedni dla danej platformy sprztowej, na ktrej uruchomiono program w plikach FatELF istniej wic dodatkowe wpisy pozwalajce identyfikowa odpowiednie fragmenty pliku i odrobina logiki zwizanej z wyborem. Wicej informacji: http://icculus.org/fatelf/

Niedawno wydana zostaa nowa wersja komponentw PascalScada, oznaczona numerem 0.6. Projekt jest aktywnie rozwijany, jeli wzi pod uwag jego specyfik. Podkrelmy jedynie, e autor projektu PascalScada zaprasza do wsppracy i prosi o wsparcie. Nam pozostaje yczy autorom sukcesw pomys na bibliotek, jak i jej obecny wygld, zapowiadaj si niele. Wicej informacji: http://dcserwis.pl/content/w%C5%82asnysystem-scada

DCSerwis.pl zaprasza

Wasny system SCADA?

Aplikacje HMI/SCADA s wykorzystywane wszdzie tam, gdzie konieczne s ledzenie, kontrola, czy rejestrowanie parametrw procesw technologicznych. Istnieje mnstwo tego typu rozwiza, ale co jeli samemu musimy napisa system HMI/SCADA? Moemy wwczas sign po zestaw komponentw PascalScada, przeznaczony dla programistw korzystajcych ze rodowisk Delphi i Lazarus (rodowiska oparte o jzyk programowania Pascal/Object Pascal). Komponenty PascalScada, jeeli s wykorzystywane wraz z kompilatorem Free Pascal w rodowisku Lazarus, pozwalaj tworzy aplikacje HMI/SCADA dziaajce w systemach operacyjnych MS Windows, GNU/Linux i FreeBSD, zarwno dla platform 32, jak i 64-bitowych. Paleta komponentw PascalScada uatwia obsug komunikacji, zdalne mapowanie pamici (tagi) i dostarcza kontrolek ekranowych (m.in. przyciski, paski postpu, pola tekstowe, obiekty do wprowadzania danych, animacje). Stopniowo wprowadzana jest take obsuga baz danych za porednictwem biblioteki ZeosLib na platformach 32-bitowych jest ju dostpna, ale w przypadku platform 64-bitowych wystpuje problem z bibliotek ZeosLib. Zalet komponentw PascalScada jest to, e s one dostpne na licencji GNU Library lub LGPL, dziki czemu mona spokojnie uywa ich take w zamknitych, komercyjnych projektach.

DCSerwis.pl to portal grupy specjalistw zawodowo zajmujcych si problematyk budowy, utrzymania i zarzdzania serwerowniami - tymi maymi, spotykanymi praktycznie wszdzie (np. na korytarzu lub w wydzielonym pokoju w mniejszej firmie, czy w domu) i tymi wielkimi, ktre stanowi sens istnienia tzw. Centrw Przetwarzania Danych. Jednym z celw dziaania DCSerwis.pl jest popularyzacja wiedzy dotyczcej IKS (tzw. Infrastruktury Krytycznej Serwerowi), centrw danych i ich znaczenia dla biznesu. Zesp redakcyjny portalu pragnie zebra wszystkich zajmujcych si podobn tematyk w jednym miejscu i w miar moliwoci zbudowa siln spoeczno specjalistw utrzymania centrw przetwarzania danych. W ostatnim czasie portal DCSerwis.pl zosta patronem internetowym Seminarium Eksperckiego 2009, powiconego tematyce

Oszczdnych Data Center, ktre organizowane jest przez firm Emerson Network Power. Portal wsppracuje take z miesicznikiem Linux+ w dziale materiay mona odnale darmowy artyku powicony budowie, eksploatacji i zarzdzaniu data center, ktry zosta napisany przez zesp redakcyjny portalu i opublikowany we wrzeniowym wydaniu Linux+ (numer powicony Data Center). Portal DCSerwis.pl zaprasza wszystkich do wymiany informacji na temat eksploatacji i zarzdzania serwerowniami na amach swojego forum, komentowania publikowanych newsw i artykuw, a take do zadawania wszelkich pyta. Na wszystkie pytania postaraj si odpowiedzie eksperci wsppracujcy i wsptworzcy DCSerwis.pl. Tematyka ta wci nie jest szczeglnie popularna w naszym kraju, a jednak, trzeba przyzna, e nie ma mowy o wiadczeniu wysokiej jakoci usug, w oparciu o dowolne oprogramowanie, jeli najpierw nie zadbamy o wysok jako naszej infrastruktury technicznej. Sowem Nie zatroszczymy si o serwerowni waciw dla potrzeb naszego biznesu. Centra przetwarzania danych to take doskonae miejsca do stosowania technologii z nurtu Wolnego i Otwartego Oprogramowania i kolejna nisza, na ktrej systemy GNU/Linux mog odgrywa nieocenione usugi (nie tylko suy do redukcji kosztw eksploatacyjnych). Redakcja portalu z wielk przyjemnoci wysucha pomysw i dowiadcze Czytelnikw Linux+. Wicej informacji: http://dcserwis.pl

Rysunek 14. www.dcserwis.pl

www.lpmagazine.org

13

opis DVD DVD

NND Linux Router

NND (waciwie NND Linux Router) to specjalistyczna minidystrybucja oparta na Slackware i jdrze Linux. Celem twrcw systemu byo stworzenie prostego i bezpiecznego routera oraz serwera dla maych sieci w szkoach, firmach i na osiedlach. Dystrybucja zostaa wyposaona take w serwer WWW, SSH i firewall, wykorzystuje systemy plikw ext2, ext3 i ReiserFS. Do zarzdzania pakietami zastosowano menader PACMAN. NND nie wymaga od uytkownika zaawansowanej wiedzy na temat systemw linuxowych, jak zapewnia producent instalacja oraz uytkowanie s bardzo intuicyjne. System dodatkowo charakteryzuj mae rozmiary; zarwno obraz jak i miejsce wykorzystywane po instalacji przez sam dystrybucj wahaj si w okolicach 100 MB (bez dodatkowych aplikacji).

Ubuntu 9.10

W ostatnim czasie mona zaobserwowa pojawianie si na rynku nowoci, jeli chodzi o systemy operacyjne. Najpierw Windows 7, a pniej Ubuntu 9.10 Karmic Koala. Poniej krtka charakterystyka jedenastego ju wydania Ubuntu. Na pocztku pod lup pjdzie proces uruchamiania. Wyglda ono teraz bardziej profe-

sjonalnie ni w poprzednich wersjach. Przede wszystkim nie ma ju komunikatw konsolowych. Uytkownik Karmic Koala na pocztku ujrzy biae logo Ubuntu (Usplash), a nastpnie pojawi si kolejna nowo, czyli Xsplash. W tej czci warto rwnie wspomnie o dwch nowych rozwizaniach w oprogramowaniu. Stare GRUB i GDM zostay zmienione przez GRUB2 i GDM2. Kolejn wan rzecz jest to, i ju na pierwszy rzut oka mona zauway, e uleg polepszeniu czas, w jakim otwiera si system po wczeniu komputera. To dziki zastpieniu starego System V init przez mechanizm Upstart. Po uruchomieniu pora na sam pulpit. Nie uleg on niestety wielkim zmianom. Dalej niewtpliwie brakuje mu nowoczesnoci, ktr posiadaj inne systemy. Ikony Humanity nieco poprawiaj estetyk, ale to jednak dalej troch za mao. Poza tym jest kilka dodatkowych tapet i jeden pokaz slajdw z ciaami niebieskimi (co dla mionikw astronomii). Tyle informacji ze strony powierzchownej. Jakie zatem nowoci mona znale w gbi Koali? Zatem, jdrem nowego Ubuntu 9.10 jest Linux 2.6.31, natomiast jeli chodzi o rodowisko graficzne, to jest nim GNOME 2.28

z pewnymi elementami zbliajcymi do GNOME 3.0. Kolejn wan zmian jest wymiana komunikatora internetowego Pidgin na program Empathy. Na uwag zasuguje rwnie Centrum Oprogramowania zamiast Dodaj/Usu Programy. Owe Centrum mona nazwa przegldark oprogramowania Ubuntu. Oprcz tego w Koali dostpna jest te usuga Ubuntu One, czyli internetowy katalog uatwiajcy synchronizacj danych midzy komputerami i pozwalajcy na dzielenie si plikami midzy uytkownikami. Kady uytkownik otrzymuje za darmo konto o pojemnoci 2 GB, jeeli dany ubuntowicz potrzebuje wicej, moe wykupi miesiczny abonament. Idc dalej, Karmic Koala posiada uaktualnion wersj przegldarki Firefox 3.5. Domylnym formatem partycji jest Ext4. Twrcy nowego Ubuntu pomyleli rwnie o programistach i dla nich zostao stworzone oprogramowanie Quickly. Dziki niemu mona szybko pisa i wdraa oprogramowanie dla Ubuntu. Podsumowujc: w nowym Ubuntu 9.10 Karmic Koala jest wiele wanych i usprawniajcych system nowoci. Niewtpliwie dziki nim w system staje si bardziej przyjazny dla zwykego uytkownika, o co przede wszystkim chodzio jego twrcom.

14

stycze 2010

Praktyka Od VHS do DVD w kilku krokach

VHS Reaktywacja
od VHS do DVD w kilku prostych krokach
Marcin Jagoda

Robic generalne porzdki znalaze star kaset VHS z filmem ze studniwki, wesela lub innej wanej okazji? Chciaby pochwali si wnukom, jaki to dziadek by kiedy pikny i mody? Najwyszy czas pomyle o tym, aby ocali cenne wspomnienia przed zniszczeniem i zapomnieniem! W artykule przedstawi, jak w domowych warunkach przegra film video z kasety VHS na pyt DVD. Opisz krok po kroku, jak przy pomocy wolnego oprogramowania przerobi materia analogowy na cyfrowy i nagra na DVD z profesjonalnie przygotowanym menu. Ponadto poka, w jaki sposb skonwertowa film do formatu AVI, jeli bdzie ogldany tylko na ekranie komputera aby zaoszczdzi miejsce na dysku twardym.

linux@software.com.pl

prcz tego, e kasety video praktycznie wyszy ju z uycia kilka lat temu, musimy pamita take o ich ograniczonej ywotnoci. Noniki magnetyczne, takie jak kasety VHS, stosunkowo szybko ulegaj zniszczeniu: tama video jest bardzo wraliwa na temperatur i wilgotno. Kadorazowe odtwarzanie w magnetowidzie powoduje zuywanie si tamy. Nawet jeli nie jest czsto odtwarzana, to i tak z czasem stopniowo si rozmagnesowuje, powodujc pogarszanie si jakoci obrazu pojawiaj si szumy, pogarsza si ostro obrazu. Zapisanie materiau video w postaci cyfrowej zapewni przetrwanie w niezmienionej postaci bez utraty jakoci, a za kilka czy nawet kilkanacie lat bdzie wyglda tak samo jak dzisiaj. Zanim jednak zabierzesz si do pracy, musisz zdawa sobie spraw z tego, e rezultat nigdy nie bdzie wyglda lepiej ni VHS, a najprawdopodobniej troch gorzej. Kady krok usuwa pewne informacje, a w caej zabawie chodzi o to, aby znale kompromis i usuwajc szumy oraz zakcenia nie straci przy tym wartociowych informacji.
stycze 2010

Przygotowania

Co nam bdzie potrzebne? Na pewno komputer z zainstalowanym Linuksem. Instrukcja zostaa przygotowana na Ubuntu 9.04, ale jest dosy uniwersalna i nie powinno by problemw z zaadoptowaniem jej na inn dystrybucj. Poniej opisz, jakiego sprztu bdziemy potrzebowali do konwersji analogowo-cyfrowej. Przedstawi te pokrtce sugerowany przeze mnie zestaw programw do obrbki video. Wybr jest czysto subiektywny kierowaem si atwoci uycia i moliwociami. Wszystkie uyte przeze mnie programy dostpne s w oficjalnych repozytoriach Ubuntu.

O sprzcie sw par
Aby obrbka materiau video posza moliwie gadko i szybko, najlepiej uy w miar szybkiego sprztu: im wicej pamici RAM i szybszy procesor, tym operacja bdzie trwaa krcej. Kady wspczesny komputer powinien podoa temu zadaniu. Ponadto warto zadba o odpowiedni ilo miejsca na dysku twardym, bezpiecznie bdzie zaoy 2,5 3GB na godzin nagrania z VHS i dodatkowo odpowiednio wicej na dalsz obrbk video.

16

Praktyka Od VHS do DVD w kilku krokach

Do przegrania filmu VHS na komputer bdziemy potrzebowali: magnetowidu lub odtwarzacza VHS, komputera z kart telewizyjn oraz kabli audio/video do podczenia magnetowidu z kart telewizyjn w komputerze. Zdecydowanie polecam uycie karty telewizyjnej ze sprztowym koderem MPEG-2. Zapewni ona najlepsz jako nagrania w warunkach domowych. Mona wprawdzie sprbowa uy taniej karty np. z tunerem BT878, jednak wyniki bd najprawdopodobniej mierne jako przechwytywanego obrazu w tego typu kartach jest bardzo saba. Ponadto kodowanie z uyciem kodera programowego po pierwsze wymaga mocnego sprztu, a po drugie, nawet przy przechwytywaniu w niskiej rozdzielczoci, mog pojawi si problemy z gubieniem klatek i synchronizacj audio/video. Ja posu si kart telewizyjn Hauppauge WinTV PVR-250 MCE. Karty firmy Hauppauge z serii PVR (Personal Video Recorder) posiadaj wbudowany sprztowy koder MPEG-2, dziki czemu konwertowanie sygnau analogowego do postaci cyfrowej odbywa si praktycznie bez obcienia procesora. Pozwala to na uzyskanie pynnego obrazu, bez utraty klatek, nawet na bardzo ju jak na dzisiejsze czasy archaicznym sprzcie. Do przechwytywania obrazu w rozdzielczoci 720x576 pikseli (PAL) przy 25 klatkach na sekund wystarczy w zupenoci komputer z procesorem typu Pentium III 1GHz, co sprawdziem dowiadczalnie. Sprawa ma si ju inaczej, jeli chodzi o dalsz obrbk materiau video na komputerze. Tutaj oczywicie im szybszy komputer, im wicej pamici operacyjnej, tym lepiej czyli szybciej. Dodatkow zalet PVR-250 jest to, e jest ona bardzo dobrze obsugiwana przez system Linux. Sterownik dla tej karty, jak i innych opartych na chipsecie Conexant CX23415/CX23416, rozwijany jest w ramach projektu IVTV (http://ivtvdriver.org). Jest on zawarty w jdrze Linuksa ju od wersji 2.6.22, wic nie powinno by adnych problemw z obsug tej karty we wszystkich wspczesnych dystrybucjach. W Ubuntu 9.04 karta PVR-250 jest wykrywana automatycznie. List wszystkich kart telewizyjnych, obsugiwanych przez sterownik IVTV, mona znale na stronie projektu, w dziale Supported hardware. Pozostaje jeszcze kwestia podczenia magnetowidu do komputera. Nie jest to sprawa skomplikowana, ale trzeba wiedzie jakie zcza mamy w magnetowidzie, a jakie

w karcie telewizyjnej wtedy mona wybra rodzaj poczenia. Jako uzyskanego obrazu zaley w znacznym stopniu od sposobu poczenia. Najprociej i najtaniej bdzie podczy magnetowid z kart telewizyjn za pomoc zwykego kabla antenowego, tyle e w takim przypadku musimy li-

czy si z gorsz jakoci obrazu i dwiku. Oprcz zcza antenowego, magnetowid posiada zazwyczaj zcze SCART (Euro) oraz zcze kompozytowe RCA, rzadziej S-Video (oznaczane czasem S-VHS). Jeli tylko jest to moliwe, pocz kart telewizyjn z magnetowidem kablem

Rysunek 1. Schemat poczenia magnetowidu z komputerem (przykad)

Rysunek 2. ProjectX

www.lpmagazine.org

17

Praktyka Od VHS do DVD w kilku krokach

S-Video. Zapewni to duo lepsz jako obrazu, ni przy poczeniu kablem RCA (Cinch), poniewa w standardzie S-Video osobno przesyany jest sygna chrominan-

cji (kolor) i luminancji (jasno). Dziki temu obraz jest ostrzejszy i wyraniejszy, a kolory bardziej ywe. Jeli magnetowid nie jest wyposaony ani w zcze kom-

Najwaniejsze parametry konfiguracyjne karty TV (ivtv)


User Controls // Ustawienia uytkownika brightness = 128 // jasno contrast = 63 // kontrast saturation = 63 // nasycenie hue = 0 // barwa volume = 58880 // gono mute = 0 // wyciszenie MPEG Encoder Controls // Ustawienia kodera MPEG stream_type = 0: MPEG-2 Program Stream // typ strumienia audio_sampling_frequency = 1: 48 kHz // czstotliwo prbkowania dwiku audio_encoding = 1: MPEG-1/2 Layer II // kodowanie audio audio_layer_ii_bitrate = 10: 224 kbps // przepywno bitowa audio audio_stereo_mode = 0: Stereo // tryb stereo video_encoding = 1: MPEG-2 // kodowanie video video_aspect = 1: 4x3 // wspczynnik proporcji obrazu video_gop_size = 12 // wielko GOP ilo klatek midzy klatkami kluczowymi video_bitrate_mode = 0: Variable Bitrate // tryb przepywnoci video (zmienna / staa) video_bitrate = 6000000 // przepywno video video_peak_bitrate = 8000000 // szczytowa przepywno video spatial_filter_mode = 0: Manual // tryb filtru przestrzennego spatial_filter = 0 // tryb przestrzenny spatial_luma_filter_type = 1: 1D Horizontal // typ filtru przestrzennego jasnoci spatial_chroma_filter_type = 1: 1D Horizontal // typ filtru przestrzennego koloru temporal_filter_mode = 0: Manual // tryb filtru czasowego temporal_filter = 8 // filtr czasowy

pozytowe, ani w zcze S-Video, rozwizaniem bdzie uycie przejciwki SCART / 3xRCA (fonia stereo + wizja). Dla przesyania sygnau fonii uyjemy kabla poczeniowego 2xRCA. Jeli karta telewizyjna nie jest wyposaona w zcza RCA (Cinch) audio L/R, konieczne bdzie uycie adaptera stereo mini-jack. Na Rysunku 1 przedstawiem przykadowy schemat poczenia magnetowidu z komputerem.

Oprogramowanie do edycji video


ProjectX jest to jedno z najlepszych darmowych narzdzi sucych do demultipleksowania (rozdzielania strumieni obrazu i dwiku). Bardzo dobrze sobie radzi z naprawianiem plikw MPEG, zwaszcza usuwaniem problemw z synchronizacj obrazu i dwiku. Program ProjectX zosta napisany w Javie i wymaga zainstalowanego rodowiska Java 2 Runtime Environment (JRE). Avidemux to szybki, prosty i darmowy edytor video na licencji GNU GPL. Mimo swej prostoty, program oferuje wiele przydatnych funkcji i filtrw. Uyjemy go do obrbki pliku MPEG przed nagraniem na pyt DVD (lub alternatywnie do konwersji pliku MPEG do formatu AVI). Do authoringu DVD uyjemy programu DVD Styler. Jest to rozbudowana aplikacja do tworzenia wasnych pyt DVD z filmami, zawierajcych wasne menu i grafik. Mimo sporych moliwoci, program jest bardzo prosty w uyciu. Umoliwia dodawanie plikw do kompilacji za pomoc techniki przecignij-i-upu. Ponadto w atwy sposb mona w nim przygotowa menu pyty. Przydatn funkcj programu jest take automatyczne dzielenie filmu na rozdziay. Wszystkie te programy dostpne s w repozytoriach Ubuntu. Jeli masz ju dodane repozytoria restricted, multiverse i universe, moesz je zainstalowa w systemie poleceniem:
sudo apt-get install project-x avidemux dvdstyler

Z analogu do cyfry

Rysunek 3. Avidemux okno gwne programu

W pierwszym kroku przeprowadzimy konwersj sygnau analogowego z kasety VHS do postaci cyfrowej w formacie MPEG-2. Do konfiguracji karty telewizyjnej bdziemy potrzebowali programu v4l2-ctl, dostpnego w pakiecie IVTV utils. Uyjemy go do ustawienia odpowiedniego wejcia video, stanstycze 2010

18

Praktyka Od VHS do DVD w kilku krokach

dardu video i modyfikacji parametrw ko- wicie PAL. Przecznikiem -s mona ustaKlikajc nastepnie na przycisku Quickdera MPEG. wi standard, a przecznikiem -S wywie- Start, uruchamiamy proces demultipleksoAby zainstalowa pakiet ivtv-utils w sys- tli aktualny: wania strumieni obrazu i dwiku. W traktemie, uyj polecenia: cie tej operacji ProjectX skoryguje wpisy $ v4l2-ctl -S przepywnoci bitowej w nagwkach plisudo apt-get install ivtv-utils Video Standard = 0x000000ff ku, zsynchronizuje audio z video oraz skoPAL-B/B1/G/H/I/D/D1/K ryguje niezgodnoci kodw czasowych Wywietlimy teraz list wszystkich paramew pliku MPEG2. trw karty telewizyjnej wraz z ich aktualny- Kiedy ju wszystko mamy podczone i skonW wyniku dziaania programu ProjectX, mi wartociami. Po wpisaniu w oknie termi- figurowane, moemy rozpocz przegrywa- otrzymamy zapisane w osobnych plikach strunala polecenia: v4l2-ctl -L, otrzymamy li- nie filmu z kasety VHS do pliku MPEG. Dla mienie audio (mp2) i video (m2v) oraz plik st ustawie uytkownika (User Controls) kart telewizyjnych ze sprztowym koderem tekstowy z raportem. oraz ustawie kodera MPEG (MPEG Enco- MPEG-2, nagranie filmu jest bardzo proste: der Controls). wystarczy przekierowa wyjcie z urzdzenia Czerwona czy W ramce zamieciem list najwaniej- /dev/video0 do pliku: niebieska piguka, czyli szych parametrw wraz z domylnymi wardokd prowadzi krlicza nora tociami. cat /dev/video0 > vhs.mpg Czeka nas trudna decyzja: czy przygotujeJeli chciaby ustawi warto przemy pyt DVD do pniejszego ogldania pywnoci bitowej video przykadowo na 6 Rezultat mona podejrze na bieco na przy- na stacjonarnym odtwarzaczu, czy te bMbitw/sek, uyj polecenia: kad przy uyciu mplayera. dziemy to nagranie oglda tylko na ekranie komputera. W drugim przypadku nie v4l2-ctl -c video_bitrate=6000000 Synchronizacja ma sensu trzyma na dysku cikiego pliaudio/video, usunicie ku MPEG-2, lepiej skonwertowa go do foraby odczyta aktualn warto, wpisz: bdw strumienia MPEG matu AVI. Kolejny krok nie jest tak naprawd obowizJeli naszym celem bdzie przygotowanie v4l2-ctl -C video_bitrate kowy, warto go jednak wykona. W trakcie pyty DVD to naley pozosta przy formacie nagrywania materiau filmowego z kasety MPEG-2, poniewa wanie takiego formatu Przedstawione ustawienia kodera sprawdza- video na dysk twardy, mog pojawi si pro- uywa standard DVD. j si bardzo dobrze w wikszoci przypad- blemy z synchronizacj audio/video w struW zalenoci od wybranej strategii, inkw. Przy tych ustawieniach godzina nagra- mieniu MPEG. Aby temu zapobiec, potrak- aczej podejdziemy do dalszej obrbki matenia powinna zajmowa na dysku twardym tujemy wieo skonwertowany materia pro- riau video. Jednak zarwno w jednym, jak okoo 2,5 3 GB, w zalenoci od dynami- gramem ProjectX. i w drugim przypadku uyjemy programu ki i jakoci sygnau wejciowego (im barNarzdzie to ma spore moliwoci, Avidemux. dziej zaszumiony sygna, tym plik bdzie my jednak ograniczymy si tylko do ustaStandardowo w Ubuntu 9.04 dostpny wikszy). wie domylnych. Najpierw otwrz plik jest Avidemux w wersji 2.4.4. W serwisie W zalenoci od tego, w jaki sposb pod- video wybierajc z paska menu File>Add. GetDeb.net dostpne s wprawdzie paczki czylimy sygna video do karty TV, musi- W okienku Preview/Videofile cuts pojawi si z najnowsz stabiln wersj 2.5.1, jednak my odpowiednio przeczy wejcie video, podgld zaadowanego pliku do konwersji nowa wersja nie wprowadza adnych rewona przykad: (Rysunek 2). lucyjnych zmian i do naszych zastosowa
$ v4l2-ctl -i 1 Video input set to 1 (S-Video 1)

Na koniec ustawimy jeszcze standard video. W naszym przypadku bdzie to oczy-

Rysunek 4. Avidemux: kalkulator przepywnoci video

Rysunek 5. Filtry dostpne w programie Avidemux


www.lpmagazine.org

19

Praktyka Od VHS do DVD w kilku krokach

wystarczy w zupenoci ta dostarczana oficjalnie z dystrybucj. W rodowisku GNOME moemy go uruchomi z menu Programy>Dwik i obraz. Niestety, jak na razie program nie ma polskiej wersji jzykowej.

Konwersja do formatu AVI

Po uruchomieniu Avidemuxa, otwrz plik video (m2v) przez File>Open. Po wybraniu pliku pojawi si okienko dialogowe z pytaniem, czy zindeksowa plik MPEG: This looks like mpeg. Do you want to index it? Naley potwierdzi klikajc na przycisk Yes. Plik z indeksem MPEG to zwyky plik tekstowy zawierajcy opis strumienia MPEG oraz pooenie ramek w strumieniu, bez takiego pliku Avidemux nie jest w stanie obsugiwa pliku MPEG. ciek audio z osobnego pliku dodaj poprzez Audio>Main Track wybierajc w oknie dialogowym Audio source: External MP3. Teraz jest dobry moment na to, aby powycina z filmu niepotrzebne fragmenty. Zaznacz fragment filmu do usunicia, uywajc znacznikw pocztku i koca zaznaczenia s to przyciski z literami A i B na pasku narzdziowym poniej podgldu obrazu a nastpnie z menu Edit wybierz Cut.

Konfiguracja kodekw audio i video


W sekcji Audio w lewej czci okna programu wybierz kodek audio, np. MP3 (LAME), w konfiguracji kodeka LAME moesz ustawi podan przepywno bitow (bitrate), jako oraz tryb: CBR (Constant Bit Rate czyli staa przepywno bitowa) lub ABR (Ava-

ilable Bit Rate maksymalna moliwa przepywno). Jeli chcemy otrzyma plik w formacie AVI, w sekcji Video wybieramy kodek video, np. MPEG-4 ASP (Xvid4). Po wybraniu kodeka, w menu Configure trzeba jeszcze wybra typ kodowania: jednoprzebiegowe / dwuprzebiegowe (Single Pass / Two Pass). Zdecydowanie polecam uycie kodowania dwuprzebiegowego, ktre zapewnia duo lepsz jako obrazu. Zajmuje wprawdzie wicej czasu (z oczywistego wzgldu mamy w tym przypadku dwa przebiegi), ale naprawd warto. Ustaw zatem tryb Two Pass Video Size, czyli kodowanie dwuprzebiegowe z ustalon docelow wielkoci video dziki temu plik wyjciowy bdzie mia okrelon, z gry zadan wielko (np. 700MB tak aby zmieci si na jednej pycie CD). Nastpnie uyjemy narzdzia Calculator (menu Tools), aby wyliczy moliw wielko strumienia video przy zaoonej cakowitej wielkoci pliku (Rysunek 4). Ustaw format (w naszym przypadku bdzie to AVI), wielko pliku (np. 1 x 80 min. CD), a na kocu Audio bitrate. Po klikniciu na przycisku Apply wyliczona wielko video zostanie zastosowana w konfiguracji kodera video.

Usuwanie przeplotu (deinterlacing)


Po konfiguracji kodekw audio i video, pora na dodanie paru filtrw, ktre poprawi jako obrazu. Najpierw zajmiemy si usuniciem przeplotu. Przeplot jest to technika wywietlania obrazu, ktra polega na wywietla-

niu na zmian parzystych i nieparzystych linii obrazu. Jest ona stosowana w telewizji w celu zmniejszenia efektu migotania ekranu. Obraz telewizyjny skada si z dwch tzw. pobrazw na jedn ramk: poziome linie nieparzyste tworz jeden pobraz, parzyste drugi. Na ekranie tradycyjnego telewizora wyposaonego w lamp kineskopow najpierw wywietlany jest jeden pobraz, pniej drugi. Przykadowo w standardzie PAL obraz zapisany jest z szybkoci 25 klatek na sekund, a pobrazy pojawiaj si z czstotliwoci 50 klatek na sekund. Zastosowanie przeplotu powoduje wiele komplikacji przy konwersji obrazu z postaci analogowej do cyfrowej. Wynika to z tego, e w rzeczywistoci obrazy nie s tworzone w tym samym czasie, lecz s zbierane jeden po drugim. Jak zapewne zauwaye, pionowe krawdzie w obrazie s postrzpione po zoeniu obrazu widoczne jest przesunicie wzgldem siebie linii parzystych i nieparzystych. Zjawisko jest widoczne szczeglnie przy szybko zmieniajcych si scenach. Po klikniciu przycisku Filters w sekcji Video, naszym oczom ukae si nowe okno z list filtrw podzielonych na kategorie. W grupie Interlacing dostpnych jest ponad dwadziecia rnych filtrw sucych do usuwania przeplotu. Po wczeniu danego filtra mona podejrze jak bdzie wyglda obraz po jego zastosowaniu przez kliknicie na przycisku Preview. Wedug mnie filtrem, ktry daje cakiem dobre rezultaty, jest livavcodec deinterlacer (Deinterlacing = FFmpeg deint, Autolevel = true). Proponuj jednak pobawi si troch innymi filtrami i sprawdzi, ktry bdzie najlepiej spenia swoje zadanie.

Skalowanie obrazu do odpowiednich proporcji


Pliki MPEG-2 zawieraj informacje o proporcjach obrazu, ktre opisuj jak odtwarzacz ma skalowa strumie video. W naszym przypadku obraz o rozdzielczoci 720x576 zostanie przeskalowany do 768x576 (proporcje 4:3). Nagwek AVI nie przechowuje takich informacji, konieczne wic bdzie przeskalowanie obrazu. Zastosujemy w tym celu filtr Resize z grupy Transform.

Przycinanie obrazu
Rysunek 6. DVD Styler

Trzecim filtrem jakiego uyjemy, bdzie filtr Crop. Przy pomocy tego filtru przytniestycze 2010

20

Praktyka Od VHS do DVD w kilku krokach

my obraz z dou i z bokw. Przy zgrywaniu z magnetowidu na samym dole ekranu mog by widoczne postrzpione, migajce linie (nieenie) jest to normalne zjawisko, wynikajce ze ciekowania gowic magnetowidu. Przy odtwarzaniu na telewizorze linie te s niewidoczne, poniewa telewizor obcina obraz z kadej strony o ok. 5%. Dodatkowo brzegi obrazu s rozmyte, co nie wyglda za dobrze.

Kodowanie do formatu AVI


Na sam koniec mona by si jeszcze pokusi o przeskalowanie obrazu do jakiej standardowej rozdzielczoci, np. 640x480. Poniewa MPEG-4 uywa makroblokw 16x16 pikseli, upewnij si, e ostateczna wysoko i szeroko obrazu do kodowania jest wielokrotnoci 16 inaczej pogorszymy jako obrazu. Jeli wszystko ju przygotowane, moemy rozpocz kodowanie do pliku AVI. Z paska narzdziowego wybierz opcj Save, podaj podan nazw pliku i uzbrj si w cierpliwo. Kodowanie moe potrwa kilka godzin, w zalenoci od wydajnoci komputera, wielkoci filmu no i w kocu od wybranych kodekw i iloci zastosowanych filtrw.

Pozostaje tylko dodanie odpowiednich filtrw i uruchomienie kodowania. Najpierw aktywuj filtr usuwajcy przeplot powinien zawsze by pierwszy w kolejce, przed innymi filtrami. Tak jak pisaem ju wczeniej, na ekranie telewizora obraz jest obcinany z kadej strony o okoo 5%. Wszelkie zakcenia wystpujce przy dolnej krawdzi ekranu, czy te rozmycie obrazu przy bocznych krawdziach nie bd wic widoczne. Jednak jeli pyta miaaby by kiedy odtwarzana na komputerze, warto zadba take o ich zamaskowanie. Poniewa jednak nie wchodzi w gr zmiana rozdzielczoci obrazu, zamiast przycina przesonimy zakcenia czarn ramk. Uyjemy w tym celu filtru Transform>Blacken borders. Po przekodowaniu moemy przej do ostatniego ju kroku, czyli do przygotowania pyty DVD z filmem. Naszym celem jest przygotowanie adnego i funkcjonalnego menu DVD.

Authoring DVD

Przygotowanie pliku MPEG do nagrania na DVD

Jeli chciaby stworzy profesjonalnie wygldajc pyt DVD z menu, musimy podej inaczej do obrbki materiau video. Teoretycznie plik z filmem otrzymany po konwersji do postaci cyfrowej nadawaby si od razu do umieszczenia na pycie DVD: jest ju w odpowiednim formacie (MPEG-2) i w odpowiedniej rozdzielczoci (720x576). Nie obejdzie si jednak bez przekodowania filmu konieczne bdzie przynajmniej usunicie przeplotu. Jeli chodzi o konfiguracj kodekw, to bdzie zdecydowanie atwiej ni poprzednio. Po otwarciu plikw audio i video w Avidemuxie, zastosujemy profil dla pyt DVD. Po wybraniu z paska menu: Auto>DVD, kodek video zostanie ustawiony automatycznie na DVD (lavc), audio na Copy, a format wyjciowy na MPEG-PS (A+V).

Do przygotowania pyty DVD z filmem posuymy si programem DVD Styler. Znajdziesz go w menu Programy>Dwik i obraz. Okno programu skada si z obszaru edycji menu, paska zakadek po lewej stronie (Przyciski/To/Przegldarka plikw) oraz panelu projektu w dolnej czci, w ktrym znajd si wszystkie doczone do projektu pliki video i menu. Aby atwiej byo pozycjonowa elementy menu na ekranie, wcz siatk w oknie podgldu. Mona to zrobi wybierajc z menu kontekstowego Siatka>Poka. Janiejsz ramk w panelu edycji menu zosta oznaczony obszar, ktry najprawdopodobniej nie bdzie widoczny na ekranie telewizora, dlatego te pamitaj, aby wszystkie elementy menu umieci w ciemniejszej, centralnej czci panelu. Najpierw dodamy jakie to do naszego menu. W tym celu kliknij na zakadce To z lewej strony okna. Wraz z programem dostarczany jest zestaw obrazkw, przygotowanych do uycia jako to w menu DVD. Mona take uy dowolnego obrazka, najlepiej jednak, aby mia rozdziel-

czo 720x576 (dla standardu PAL). To mona przecign na obszar podgldu lub te po prostu klikn dwa razy na wybranej grafice ta. Przejd nastpnie do zakadki Przegldarka plikw i znajd plik MPEG-2 z filmem, ktry chcesz nagra na pyt. Najlepiej przecign go na obszar podgldu menu, w tym momencie zostanie od razu utworzona pozycja menu w postaci przycisku z miniaturk w owalnej ramce. Automatycznie te zostan dodane do filmu rozdziay, standardowo co 10 minut. Pooenie rozdziaw mona zmieni we waciwociach filmu. Przeczajc si do zakadki Przyciski, mona doda kolejne pozycje menu, na przykad dla kolejnych rozdziaw. Wystarczy przecign wybrany przycisk z menu po lewej na obszar podgldu, a nastpnie przypisa mu odpowiedni tytu / rozdzia. Poniewa nagranie jest ju w odpowiednim dla pyty DVD formacie (video: MPEG2 720x576, 25 klatek/s, audio: MP2 stereo 48 kHz) nie ma potrzeby ponownego przekodowywania, zwr uwag, czy dla Wideo i Audio wybrana jest opcja Kopiuj. Moemy teraz ju utworzy pyt DVD z przygotowanym przez nas menu. Wybierz z paska narzdziowego opcj Wypal DVD (F9). W nowym oknie wybierz, czy chcesz od razu wypali pyt, utworzy obraz ISO, czy tylko wygenerowa menu DVD. Jeli zaznaczysz opcj podgld, to przed wypaleniem pyty bdziesz mia jeszcze moliwo obejrzenia rezultatw w programie xine.

Podsumowanie

Jak wida nie potrzeba ani specjalistycznego sprztu, ani bardzo drogiego oprogramowania, aby w warunkach domowych stworzy profesjonaln pyt DVD z materiau filmowego z kasety VHS. Wystarcz dobre chci i odrobina samozaparcia. Powodzenia!

W Sieci
http://ivtvdriver.org strona domowa projektu IVTV (en); http://www.lucike.info/page_projectx.htm Project X (de); http://www.avidemux.org/admWiki/ Avidemux Wiki (en); http://www.dvdstyler.de/ DVD Styler (en).

O autorze
Uytkownik systemu Linux od ponad dziesiciu lat. Amator domowego piwa i dobrej ksiki. Kontakt z autorem: bluberon@gmail.com

www.lpmagazine.org

21

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz. 2

Kontrolki wizualne w systemie Android cz. 2


Grzegorz Madajczak

W poprzednim artykule, kolejnym z cyklu powiconego programowaniu w systemie Android, skupiem si na zastosowaniu ukadw kontrolek wizualnych, ktre oferuje API Android. W tej czci opisz, w jaki sposb mona zapeni omwione uprzednio ukady treci czyli waciwymi kontrolkami wizualnymi (widgetami).

linux@software.com.pl

przykroci musz stwierdzi, i programici przyzwyczajeni do tworzenia graficznego interfejsu uytkownika w JAVA Swing lub nawet stron internetowych w HTML, pracujc nad aplikacj dla Androida mog si pocztkowo rozczarowa. Brak jest tu bowiem wielu bardzo przydatnych widgetw, np. wspomnianego w poprzednim artykule obiektu klasy JTable ze Swinga. Dodatkowo niektre z dostpnych kontrolek posiadaj trudne do zrozumienia i mao przyjazne API. By moe te wraenia powstay z mojego braku dowiadczenia w programowaniu dla systemw mobilnych (np. JAVA Micro Edition, nie wspominajc o Symbianie, czy Windows Mobile). Jest jednak wielce prawdopodobne, i wielu czytelnikw tego artykuu ma dowiadczenie w tym zakresie podobne do mojego (czyli adne), wic tworzc aplikacje dla Androida mog napotka te same trudnoci mie kopoty ze zrozumieniem tych samych rzeczy. Ja przez nie ju si przedarem i z chci uycz czytelnikom swojego dowiadczenia. Nie jest jednak tak, le jakby mogo wydawa si to z poprzedniego akapitu. Android oferuje wszystkie najbardziej potrzebne do tworzenia funkcjonalnego GUI kontrostycze 2010

lki, czyli: pola tekstowe, widoki obrazkw, przyciski, listy, a take bardziej zaawansowane struktury, jakimi s okna dialogowe, czy menu. Dodatkowo API Android oferuje wiele, innych nigdzie indziej niezaimplementowanych w tej postaci kontrolek, np. przegldarki obrazkw, zegar analogowy i cyfrowy, kontrolki do wybierania daty, czy godziny. Rwnie wspomniane przed chwil okna dialogowe maj niepowtarzalne w API innych systemw funkcje, np. okno dialogowe wyboru daty. Jednak wspomniane unikalne kontrolki graficzne (elementy GUI) nie zmieniaj faktu, i jak dla mnie w API Android zabrako tak prozaicznej rzeczy jak znanego ze Swinga okna dialogowego wywoywanego metod JoptionPane.showInputDialog(), zwracajcego acuch tekstowy.

Pola tekstowe

Z tym typem kontrolek wizualnych bya okazja aby si zetkn przynajmniej kilkukrotnie w trakcie trwania niniejszego cyklu artykuw. Kontrolka ta bya bowiem wykorzystywana wielokrotnie, jako przykad zastosowania widgetu. Mona byo odnie wraenie, i jest to najprostsza kontrolka, co jednak nieco mija si z prawd.W rzeczywisto-

22

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz.

ci sprawa ma si nieco inaczej. Jest to bowiem jedno, jak i wieloliniowego moliwe jest okrele- Gravity.CENTER (wyrodkowanie), kontrolka wystpujca w czterech odmianach: nie wyrwnania tekstu. Suy temu metoda set- Gravity.FILL (odpowiednik wyjustoGravity(int), ktrej odpowiada atrybut androwania), TextView pole tekstowe odpowiadajce id:gravity. Argumentem tej metody jest obiekt Gravity.RIGHT (wyrwnanie do praobiektowi klasy JLabel z JAVA Swing, typu int z klasy Gravity. Moe on przyjmowa wej), EditText edytowalne pole tekstowe, midzy innymi nastpujce wartoci: Gravity.LEFT (wyrwnanie do lewej). odpowiadajce obiektowi klasy JTextListing 1. Definicja obiektw EditText i TextView w dokumencie ukadu XML Field z JAVA Swing, unikalny obiekt klasy AutoCompleteTe<?xml version="1.0" encoding="utf-8"?> xtView bdcy edytowalnym polem tek<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android stowym z funkcj autouzupeniania na android:orientation="vertical" podstawie wprowadzonych przez uytlayout_width="fill_parent" kownika znakw, android:layout_height="fill_parent" > unikalny obiekt klasy CheckedTextView, <EditText android:id="@+id/pole_tekstowe_1" ktry odrnia si od obiektu kalsy Teandroid:layout_width="fill_parent" xtView tym, i wspiera interfejs Checandroid:layout_height="wrap_content" kable. android:text=''@string/tekst_etykiety''/> Ponadto klasa android.widget.TextView android:layout_width="fill_parent" jest klas nadrzdn dla wielu innych widgeandroid:layout_height="wrap_content" tw na przykad klasy android.widget.Butandroid:text=''@string/tekst_etykiety''/> ton. Moe wydawa si to nieco dziwne, nale</LinearLayout> y jednak pamita, i przycisk jest niczym innym, jak rozbudowan etykiet, ktrej podstaListing 2. Kod metody odczytujcej zaznaczony tekst wow funkcj jest nasuch na zdarzenie typu EditText editText01 = (EditText)findViewById(R.id.EditText01); click i podobne zdarzenia rwnie obsugiint start = editText01.getSelectionStart(); wane przez kady inny obiekt dziedziczcy po int end = editText01.getSelectionEnd(); TextView. W przypadku typowych pl tekstoCharSequence seq = editText01.getText().toString(); wych najczciej mamy do czynienia z etykieCharSequence selected_seqence = seq.subSequence(start, end); t (obiektem klasy TextView) lub edytowalnym polem tekstowym (obiektem klasy EditText). Obie te klasy maj wiele wsplnych metod (kla- Tabela 1. Wartoci podklasy ImageView.ScaleType definiujce zachowanie si obrazka o rozmiarach nie sa EditText dziedziczy po TextView), tak wic odpowiadajcych rozmiarowi kontrolki omawiane bd wsplnie. Podstawow definiWarto pod- Odpowiadajca Opis cj obu obiektw w dokumencie XML ukadu klasy Imagewarto atrybuprzedstawia Listing 1. Vew.Scaletu android:scaW definicji obu obiektw fragmentem, na Type leType ktry warto zwrci szczegln uwag jest eleCENTER center Obraz zostaje wyrodkowany wzgldem kontrolki, lecz nie przement android:text, ktry definiuje tekst wyskalowany (zachowa oryginalne rozmiary) wietlany w obiekcie. W przypadku obiektu CENTER_CROP centerCrop Obraz zostanie przeskalowany z zachowaniem proporcji i wyrodEditText bdzie to domylny tekst, ktry mokowany na usun lub zmieni. W przypadku obiektu TeCENTER_INcenterInside Obraz zostanie przeskalowany z zachowaniem proporcji i wyrodxtView jest to tekst etykiety. Parametr ten mokowany na w atwy sposb modyfikowa z poziomu ko- SIDE fitCenter du JAVA, z uyciem metody setText(CharSe- FIT_CENTER Obraz zostaje przeskalowany do rozmiarw kontrolki z zachowaquence). Oczywicie metod t mona zastosoniem proporcji (przynajmniej jeden z wymiarw obrazu bdzie odwa do obiektw wszystkich klas dziedziczcych powiada wymiarowi kontrolki) i wyrodkowany po TextView. W przeciwn stron (pozyskiwanie FIT_END fitEnd Obraz zostaje przeskalowany do rozmiarw kontrolki z zachowatekstu z obiektu) dziaa metoda getText(), ktra niem proporcji, a nastpnie wyrwnany do dolnej prawej krawzwraca obiekt klasy CharSequence. Inn metod, dzi kontrolki o ktrej warto pamita jest setLines(int), z FIT_START fitStart Obraz zostaje przeskalowany do rozmiarw kontrolki z zachowaodpowiadajcym jej atrybutem android:lines. niem proporcji, a nastpnie wyrwnany do grnej lewej krawMetoda ta ustala ile linii tekstu ma by wywietladzi kontrolki ne. Domylnie parametr ten przyjmuje warto 1. FIT_XY fitXY Obraz zostanie przeskalowany bez zachowania oryginalnych proJak wic wida, w Android nie ma odpowiednika porcji. obiektu JTextArea znanego ze Swinga. Zosta MATRIX matrix Obraz zostanie przeskalowany w trakcie wywietlania na podstaon zastpiony obiektem EditTex, ktrego atrybut wie zdefiniowanej macierzy. Mona tego dokona z uyciem meandroid:lines przyjmuje warto wiksz bd tody setImageMatrix(Matrix). rwn 2. Zarwno w przypadku pola tekstowego
www.lpmagazine.org
<TextView android:id="@+id/etykieta_1"

23

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz. 2

Jak ju wczeniej wspomniaem klasa EditText, ktrej obiekt tworzy edytowalne pole tekstowe, dziedziczy po klasie TextView. Klasa ta jednak posiada kilka unikatowych metod. Jedn z nich jest metoda getText(), ktra w przeciwiestwie do tej pochodzcej z klasy TextView, zwraca obiekt klasy Editable. Obiekt ten jest interfejsem tekstu, ktrego tre i znaczniki mona zmieni (w przeciwiestwie do nie-

zmiennego tekstu jak String). Obiekt ten posiada kilka charakterystycznych rwnie unikalnych metod, ktrych funkcje zwizane s ze zmianami wprowadzanymi do tekstu. Jedn z tych metod jest replace(int start, int end, CharSequence text), ktre podstawia acuch znakowy text zamiast fragmentu od start do end. Metoda ta jako rezultat dziaania zwraca zmieniony obiekt Editable. Na podob-

Listing 3. Pole tekstowe z moliwoci autouzupeniania


String[] COUNTRIES = new String[] {"Belgium", "France", "Italy", "Germany", "Spain"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, COUNTRIES); AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.c ountries_list); textView.setAdapter(adapter);

nej zasadzie dziaa metoda insert(int where, CharSequence text), wstawiajca acuch znakowy text w pozycji where, czy te metoda delete(int start, int end) usuwajca fragment tekstu od start do end. Inne unikalne metody klasy EditText zwizane s z moliwoci zaznaczania wprowadzonego tekstu lub jego fragmentu. Warto w tym momencie przypomnie, e moliwo zaznaczania i kopiowania/wklejania tekstu bya w Androidzie waciwoci unikaln wrd innych mobilnych systemw operacyjnych. Dopiero najnowsza wersja MacOS na iPhone/iPod Touch oznaczona numerem 3.0 wprowadzia t moliwo. Tak wic metody odpowiedzialne za zaznaczenia tekstu w klasie EditText to:
selectAll()

zaznaczajca ca zawar-

to,

Listing 4. Implementacja nasuchu zdarzenia kliknicia przycisku


Button button = (Button) findViewById(R.id.button_id); public void onClick(View v) { button.setOnClickListener(new View.OnClickListener() { //czynnoci wykonywane gdy wystpi zdarzenie } });

zaznacza zawarto od start do stop, setSelection(int index) przesuwa kursor do pozycji index, extendSelection(int index) przedua zaznaczenie o index znakw.

setSelection(int start, int stop)

Listing 5. Implementacja nasuchu pseudo podwjnego kliknicia dla obiektu klasy Button
public class TestProject extends Activity { private long lastTouchTime = -1; super.onCreate(icicle); protected void onCreate(Bundle icicle) { setContentView(R.layout.main); Button button = (Button)findViewById(R.id.Button01); button.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View arg0, MotionEvent mev) { if(mev.getAction() == MotionEvent.ACTION_UP) { if (thisTime - lastTouchTime < 250) { lastTouchTime = -1; //kod obsugi zdarzenia } else { } } } }); } } return false; lastTouchTime = thisTime; long thisTime = System.currentTimeMillis();

Listing 6. Kod obsugi nasuchu zdarzenia zmiany statusu przycisku klasy RadioButton
RadioGroup group = (RadioGroup) findViewById(R.id.radiogroup_01); group.setOnCheckedChangeListener(new OnCheckedChangeListener() { //kod wykonywany przy wywoaniu zdarzenia } });

public void onCheckedChanged(RadioGroup group, int checkedId) {

Z zaznaczaniem fragmentu tekstu wie si rwnie kilka metod klasy EditText. Przede wszystkim jest to metoda hasSelection(), ktra zwraca warto typu boolean w zalenoci czy dane pole tekstowe posiada zaznaczony tekst, czy te nie. Zakres zaznaczenia mona odczyta posugujc si dwoma metodami: getSelectionStart() oraz getSelectionEnd(), zwracajce odpowiednio wartoci typu int odpowiadajce indeksowi pocztku i koca zaznaczenia. Wykorzystujc opisane metody, najprostszy sposb odczytania zaznaczonego fragmentu tekstu prezentuje Listing 2. Ciekawym przykadem pola tekstowego bdcego obiektem dziedziczcym bezporednio po klasie TextView jest obiekt klasy AutoCompleteTextView. Jest to pole tekstowe z moliwoci autouzupeniania wprowadzanego tekstu. Sposb implementacji tego obiektu przedstawia Listing 3. Zasada implementacji tego mechanizmu jest bardzo prosta polega ona na stworzeniu interfejsu klasy ArrayAdapter, ktry jest zapleczem dla pola tekstowego z autouzupenianiem. Wartoci, ktre maj suy jako wartoci do autouzupeniania zgromadzone s w tablicy. Adapter z tablic wartoci tekstowych jest przypisywany do obiektu klasy AutoCompleteTextView metod setAdater(). Trzeba przyzna, e mechanizm autouzupeniania jest bardzo prosty do implementacji. Mona w atwy sposb poczy go na przykad z danymi pozyskanymi z bazy danych czy z dokumentu XML.

24

stycze 2010

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz. 2

Kontrolki obrazw

Omwione uprzednio kontrolki, ktrych klasy dziedzicz po TextView su jedynie do wywietlania (lub wprowadzania tekstu). Jeli chcemy wywietli obrazek (grafik) naley posuy si obiektem klasy ImageView. Obiekt ten wywietla kady obrazek w obsugiwanym przez system Android formacie, a wic: JPEG, GIF, PNG, BMP. Z przykroci musz stwierdzi, i Android nie obsuguje grafiki wywietlanej w formacie SVG. Podstawowa konstrukcja tego elementu nie odbiega niczym od tej zaprezentowanej w przypadku pl tekstowych. W tym wzgldzie elementem odrniajcym ten obiekt od kontrolek tekstowych jest metoda setImageResource(int) oraz odpowiadajcy jej atrybut XML android:src, ktra to jako argument (warto atrybutu XML) przyjmuje identyfikator zasobu odpowiadajcego wywietlanej grafice. W przypadku tego obiektu warto zapamita kilka dodatkowych metod i odpowiadajcych im atrybutw XML. Pierwsze dwie to setMaxHeight(int) oraz setMaxWidth(int), z odpowiadajcymi im atrybutami android:maxHeight i android:maxWidth, ktre to okrelaj maksymalny dopuszczalny rozmiar grafiki w polu graficznym. Od razu zaznaczam, i metody te nie wpywaj na rozmiar powierzchni zajmowanej przez obiekt ImageView, lecz dotycz jedynie samej grafiki wywietlanej przez ten obiekt. Tak wic jeli ustawione w ten sposb wymiary bd mniejsze ni wymiary kontrolki, obrazek zostanie automatycznie wyrwnany do grnej lewej krawdzi kontrolki. O tym, w jaki sposb ma zachowa si za maa lub za dua grafika decyduje inna metoda: setScaleType(ImageView.ScaleType) lub odpowiadajcy jej atrybut android:scaleType. Metoda ta jako argument przyjmuje obiekt podklasy ImageVew.ScaleType, ktry to definiuje zachowanie si grafiki na podstawie okrelonych staych typu int. Zostay one przedstawione wraz z opisem w Tabeli 1. Przedstawiona powyej metoda setImageResource(int) wstawiaa obrazek wykorzystujc zasoby systemowe lub aplikacji. Istnieje jednak moliwo wywietlenia grafiki pobranej z wykorzystaniem jej URI. Suy do tego metoda setImageURI (Uri uri). Pozwala ona midzy innymi na wywietlenie grafiki zapisanej w pamici telefonu, czy karcie SD. Inn charakterystyczn dla grafiki metod jest setAlpha(int alpha), ktra ustawia stopie przejrzystoci wywietlanego obrazka. Argument tej metody to warto typu int zawierajca si w zakresie od 0 do 255 (tak jak warto alpha w przypadku schematu kolorw RGBA).

reprezentujca obiekty bdce przyciskami dziedziczy po klasie TextView. Klasa Button, zgodnie z SDK Android, posiada trzy klasy potomne, bdce podklasami klasy android.widget.CompoundButton:
android.widget.CheckBox,

android.widget.RadioButton,

android.widget.ToggleButton.

Cech charakterystyczn wymienionych powyej trzech klas jest to, e na ich bazie tworzone s przyciski posiadajce dwa stany wczony i wyczony, w przeciwiestwie do zwykego przycisku, ktry obsuguje jedynie zdarzenie kliknicia. Sposb tworzenia obiektw wszystkich wymienionych powyej klas nie odbiega od tego, w jaki sposb robi si to dla opisanych uprzednio pl tekstowych. Naley pamita, e metoda setText(CharSequence) oraz odpowiadajcy jej atrybut android:text okrela etykiet przycisku zarwno klasy Button, jak i przyciskw dziedziczcych po klasie CompoundButton.

Z przyciskami nierozerwalnie wie si nasuchiwanie zdarzenia kliknicia i/lub zmiany stanu (w zalenoci od typu przycisku). Podstawowa implementacja nasuchu zdarzenia kliknicia dla obiektu klasy Button zostaa przedstawiona na Listingu 4. Listing ten przedstawia jedynie obsug podstawowego zdarzenia, jakim jest pojedyncze krtkie kliknicie. Nie sposb w tym miejscu nie wspomnie o drugim podstawowym zdarzeniu obsugiwanym przez przycisk klasy Button, jakim jest dugie kliknicie implementowane przez obiekt klasy OnLongClickListener z pojedyncz metod onLongClick(View v) zwracajc warto typu boolean. Niestety przycisk klasy Button, jak i inne obiekty dziedziczce po klasie TextView, w systemie Android, nie obsuguj bezporednio zdarzenia typu podwjne kliknicie. Jednak w do atwy sposb mona zaimplementowa obsug tego zdarzenia do dowolnego obiektu klasy View, posugujc si obsug zdarzenia typu TouchEvent czyli dotknicia ekranu. Cao polega na tym, i nasuchiwane s zdarzenia dotknicia dla danego obiektu. Za kadym dotkniciem notowany jest czas wystpienia zda-

Listing 7. Implementacja mechanizmu zmiany ta przycisku ToggleButton w zalenoci od stanu


ToggleButton togglebutton = (ToggleButton)findViewById(R.id.ToggleButton01); togglebutton.setChecked(true); togglebutton.setTextOff(null); togglebutton.setTextOn(null); togglebutton.setOnCheckedChangeListener(new OnCheckedChangeListener() { if(checked) else } });

public void onCheckedChanged(CompoundButton button, boolean checked) { button.setButtonDrawable(R.drawable.tlo_on); button.setButtonDrawable(R.drawable.tlo_off);

Listing 8. Kod obsugujcy zdarzenie wyboru pozycji listy.


ListView list = (ListView)findViewById(R.id.ListView01); list.setOnItemSelectedListener(new OnItemSelectedListener() {

onItemSelected(AdapterView<?> adapter, View view, int position, long id){ } String list_item_value = adapter.getItemAtPosition(int position);

onNothingSelected(AdapterView<?> parent){} });

Listing 9. Implementacja interfejsu BulletedTextListAdapter


BulletedTextListAdapter btla = new BulletedTextListAdapter(this); ListView list = (ListView) findViewById(R.id.listview); list.setAdapter(btla); BulletedText bt01 = new BulletedText(

getResources().getString(R.string.tekst_01), getResources().getDrawable(R.drawable.obrazek_01)

Przyciski

Jak wspomniaem w jednym z poprzednich rozdziaw, klasa android.widget.Button,

); btla.addItem(bt01);

www.lpmagazine.org

25

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz. 2

rzenia i porwnywany z zapisanym. Jeli dwa tego typu zdarzenia nastpi w czasie krtszym ni ustalony (w przykadzie 250 ms), to zostanie wywoane zdarzenie. Sposb ten nie naley moe do najbardziej wyrafinowanych, ale dziaa to najwaniejsze. Sposb implementacji opisanego mechanizmu przedstawia listing 5. Szczeglnym rodzajem przycisku jest obiekt klasy android.widget.ImageButton, ktry w przeciwiestwie do obiektw opisanych powyej nie dziedziczy po klasie Button (czyli porednio po TextView), lecz po klasie android.widget.ImageView. Przycisk ten charakteryzuje si tym, i jego etykiet jest obraz. Grafika, ktra ma by wstawiona do przycisku powinna znajdowa si w zasobach drawable, a odwoanie do niej tworzone jest przez atrybut android:src="@drawable/icon" w dokumencie XML definiujcym ukad lub poprzez metod setImageResource(int) metodzie pochodzcej ze wspomnianej klasy ImageView. Opisane powyej przyciski charakteryzuj si tym, i obsuguj tylko jeden stan, w przeciwiestwie do obiektw klas dziedziczcych po klasie CompoundButton, czyli CheckBox, RadioButton i ToggleButton. Tworzenie tych obiektw nie rni si od poprzednio opisanych obiektw. Obiekty te wyrnia jednak dodatkowa metoda isChecked() zwracajca warto typu boolean w zalenoci od stanu. Obiekty

klasy CompoundButton posiadaj ponadto trzy metody pochodzce z interfejsu android.widget.Checkable. Pierwsza z nich setChecked(boolean checked), ktra okrela stan obiektu (zaznaczony lub nie), a take metoda toggle(), ktra zmienia stan obiektu na przeciwny. Mam nadziej, e rnica pomidzy obydwoma metodami jest zrozumiaa dla Ciebie Czytelniku. Pierwsza z nich okrela konkretny cile zdefiniowany stan przycisku (zaznaczony lub nie). Druga natomiast przecza go w stan odmienny od dotychczasowego. Jak atwo si domyle, obiekty dziedziczce po klasie CompoundButton obsuguj zdarzenie polegajce na zmianie ich statusu. Za Zdarzenie to odpowiedzialny jest obiekt klasy OnCheckedChangeListener. Interfejs ten implementujemy w obiektach metod setOnCheckedChangeListener(), przy czym istnieje pewna rnica pomidzy obiektem klasy CheckBox, a obiektem klasy RadioButton. Z tym drugim nierozerwalnie zwizana jest bowiem klasa RadioGroup okrelajca obiekt grupujcy przyciski RadioButton. Jak wiadomo, w grupie tej tylko jeden z przyciskw moe by zaznaczony pozostae s zawsze odznaczone. Implementacja nasuchu na zdarzenie zmiany statusu przycisku RadioButton zostaa przedstawiona na listingu 6. Analizujc kod na tym listingu atwo zauway, e nasuch na zdarzenie jest przypisany nie

Listing 10. Deklaracja ukadu obiektu TwoLineListItem


<TwoLineListItem android:id="@+id/item_1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/sym_action_call"/> <TextView android:id="@android:id/text1" android:layout_marginTop="1dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/icon" android:textSize="15sp" android:textStyle="bold" android:text="Pierwsza linia"/> <TextView android:id="@android:id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@android:id/text1" android:layout_alignLeft="@android:id/text1" android:paddingBottom="4dip" android:includeFontPadding="false" android:textSize="15sp" android:textStyle="normal" android:text="Druga linia"/> </TwoLineListItem>

do pojedynczego przycisku, lecz do caej grupy co jest logicznym rozwizaniem. Na podobnej zasadzie dziaa wymuszenie zmiany statusu przycisku z uyciem metody check(int id), wywoywanej dla obiektu grupy przyciskw, nie za pojedynczego przycisku. Argumentem tej metody jest warto int okrelajca id przycisku, ktry ma by zaznaczony. Ciekawym przyciskiem tego samego typu co RadioButton i CheckBox jest ToggleButton, ktry jest zwykym przyciskiem, nie za polem do zaznaczania, jak dwa pierwsze. Jednak od przycisku klasy Button odrnia go to, e moe on by wczony lub wyczony jak przecznik do wiata na cianie. W zwizku z powysz cech (obsug dwch stanw) obiekt ten posiada dwie unikalne metody: setTextOff(CharSequence textOff) oraz setTextOn(CharSequence textOn), ktrym odpowiadaj atrybuty XML android:textOff oraz android:textOn. Pierwsza z metod ustala tekst dla przycisku, gdy posiada status wyczony, druga natomiast ustala tekst dla przycisku gdy jest wczony. Domylny tekst dla przycisku jest zaleny od lokalizacji systemu Android. W jzyku polskim s to odpowiednio: Wyczony i Wczony. Przycisk ToggleButton nie posiada bezporedniej metody, w ktrej mona by ustawi osobny obrazek dla wczonego stanu oraz osobny dla wyczonego. Jest jednak pewien sposb aby to zrealizowa do prosty zreszt... Polega on na tym, i naley ustawi to przycisku dla jednego ze stanw, np. wyczonego. Nastpnie wczamy dla obiektu nasuch zdarzenia zmiany stanu (interfejs klasy OnCheckedChangeListener). W kodzie metody onCheckedChanged(), w zalenoci od stanu przycisku ustalamy to dla przycisku wczonego i dla przycisku wyczonego. Jeli przeszkadza nam napis informujcy o stanie zawsze moemy usun go stosujc metody setTextOff() i setTextOn(), podajc jako argument warto null lub stosujc w definicji ukadu atrybuty android:textOff i android:textOn, bez podawania ich wartoci. Kod JAVA implementujcy ten mechanizm prezentuje Listing 7.

Lista

Kolejn kontrolk, ktr chciabym omwi w tym artykule jest lista reprezentowana przez obiekt klasy android.widget.ListView. Jest to kontrolka, ktra wywietla pionow przewijan list elementw (w podstawowej formie tylko tekst). Naley jednak zaznaczy, i obiekt ListView jest jedynie kontenerem, ktry naley wypeni adapterem klasy ListAdapter przy uyciu metody setAdapter(ListAdapter adapter). Konstruktor obiektu klasy ArrayAdapter, bdcy implementacj interfejsu ListAdapter wymaga podania obiektu kla-

26

stycze 2010

Urzdzenia mobilne Kontrolki wizualne w systemie Android cz. 2

sy Context, dla ktrego tworzony jest dany adapter, wartoci id dla tworzonego adaptera oraz obiektu tablicy zawierajcej dane do listy). Z obiektem klasy ListView czy si kilka staych typu int, okrelajcych sposb wybierania pozycji z listy. Sta t definiujemy poprzez wywoanie metody setChoiceMode(int), z jedn z nastpujcych wartoci, jako argument metody: definiujc moliwo wielokrotnego wyboru (dwie lub wicej pozycji rwnoczenie), ListView.CHOICE_MODE_NONE okrelajc list bez moliwoci wyboru pozycji, ListView.CHOICE_MODE_SINGLE definiujc list jednokrotnego wyboru (warto domylna).
ListView.CHOICE_MODE_MULTIPLE

Powyszym staym odpowiadaj nastpujce wartoci atrybutu android:choiceMode w definicji ukadu: multipleChoice, none, singleChoice. Z obsug interfejsu listy wie si kilka charakterystycznych metod. Pierwsza z nich to setSelection(int position), ktra to ustawia zaznaczon pozycj listy na podstawie podanego indeksu danego elementu. Natomiast metoda isItemChecked(int position) zwraca warto typu boolean w zalenoci od tego, czy pozycja o indeksie podanym jako argument jest zaznaczona. Obiekt ListView, dziedziczc po klasie android ma zaimplementowan obsug trzech typw zdarze:
OnItemClickListener

(pojedyncze klik-

nicie pozycji listy),

(pojedyncze dugie kliknicie pozycji listy), OnItemSelectedListener (wybranie pozycji listy).


OnItemLongClickListener

O ile dwa pierwsze zdarzenia zostay wczeniej opisane, tak trzecie wymaga nieco wicej wyjanie. Interfejs OnItemSelectedListener zaopatrzony jest w dwie metody:
onItemSelected(AdapterView<?> rent, View view, int long id) pa-

wywoywan, jeli pozycja listy zostanie wybrana,


onNothingSelected(AdapterView<?> parent)

position,

jeli adna z pozycji nie zostanie wybrana. Jak wida w kadej z powyszych metod, zasadniczym obiektem zwracanym przez metod jest obiekt klasy AdapterView, pozwalajcy na zarzdzanie zawartoci listy. Dziki tej klasie mona odczyta tre zaznaczonej pozycji listy,

a take dokona zmian na licie np. doda now pozycj lub usun. Myl, e najczciej stosowan metod bdzie getItemAtPosition(int position) klasy ListAdapter, suca do odczytania zawartoci pozycji listy o okrelonym indeksie. Wykorzystanie tej metody w obsudze zdarzenia wyboru pozycji listy przedstawia Listing 8. Wad opisywanego powyej widgetu ListView jest to, e w podstawowej wersji obsuguje jedynie zawarto bdc pojedynczym obiektem tekstem, polem typu Checkbox, czy obrazkiem. Nie ma moliwoci, aby pojedyncza pozycja skadaa si na przykad z ikony i tekstu, co zwizane jest z tym, i backend obiektu ListView interfejs ListAdapter w podstawowym ksztacie obsuguje tylko listy jednowymiarowe. Na cae szczcie istnieje moliwo obejcia tego problemu poprzez stworzenie wasnej implementacji interfejsu. Tumaczenie, jak tego dokona przekracza jednak ramy tego artykuu, zaproponuj wic gotowe rozwizanie autorstwa niejakiego Stevena Osborna (http://steven.bitsetters.com), ktry stworzy interfejs BulletedTextListAdapter, pozwalajcy na stworzenie listy, ktrej poszczeglne pozycje skadaj si z obrazka i tekstu. Zastosowanie interfejsu przedstawia Listing 9. Oglnie oceniam to rozwizanie bardzo dobrze. Jest atwa w uyciu, nie sprawia jakichkolwiek kopotw. W projektach aplikacji, w ktrych wykorzystywaem BulletedTextListAdapter najczciej jednak wprowadzaem pewne modyfikacje najczciej dotyczce rozmiaru czcionki listy oraz jej wyrwnania wzgldem ikony (zmiany w kodzie klasy BulletedTextView). Szczeglnym przypadkiem listy, ktra moe zawiera zarwno grafik, jak i tekst, a dokadnie rzecz ujmujc elementem tej listy jest obiekt klasy android.widget.TwoLineListItem dziedziczcej bezporednio po klasie ukadu android.widget.RelativeLayout. Jest to grupa skadajca si z trzech elementw potomnych, wykorzystywana do stworzenia elementu listy. Obiekt ten posiada dwa elementy (lub podklasy) TextView o z gry narzuconym ID text1 i text2. Dodatkowo moliwe jest wykorzystanie trzeciego elementu klasy View o ID okrelonym jako selectedIcon. Domylnie jest to grafika wywietlana za porednictwem obiektu klasy android.widget.ImageView, lecz moe to by inny dowolny obiekt dziedziczcy po klasie View. Naley zwrci uwag na to, i obiekt TwoLineListItem dziedziczy bezporednio po klasie deklarujcej ukad RelativeLayout, co ma gbokie implikacje, jeli chodzi o implementacj tego obiektu w kodzie wasnego programu. Do jasno przedstawia t sytuacj kod z dokumentu XML deklaracji ukawww.lpmagazine.org

du zaprezentowany na Listingu 10. Jak atwo zauway, w kodzie deklarujcym elementy TextView znalazy si atrybuty charakterystyczne dla ukadu RelativeLayout. Porwnujc dwie powysze metody tworzenia funkcjonalnej i eleganckiej listy trudno jednoznacznie podj decyzj, ktry sposb jest lepszy. Zalet zastosowania klasy TwoLineListItem jest choby fakt, i jej implementacja pochodzi bezporednio z API Android. Pozwala ona w miar atwy sposb np. przy uyciu kodu dokumentu XML zbudowa list. Rozwizanie to ma jednak liczne wady nie wystpujce w obiekcie klasy ListView, choby brak gotowej do uycia zaimplementowanej obsugi zdarze kliknicia wyboru pozycji listy. Jedynym rozwizaniem jest poczenie obu klas ListView i TwoLineListItem w ten sposb, i tworzy si wasny adapter zoony z obiektw klasy TwoLineListItem. Ten za adapter stanowi backend dla obiektu ListView. Naley jednak pamita, i deklarowanie poszczeglnych elementw z poziomu kodu JAVA bdzie do pracochonne i nie zawrze si w trzech linijkach, jak w przypadku BulletedTextListAdapter. Dlatego moim zdaniem, jak na razie, dopki TwoLineListItem nie doczeka si metod pozwalajcych na atw obsug tego obiektu, atwiej bdzie stosowa rozwizanie zaproponowane przez Stevena Osborna.

Podsumowanie

Na kilku stronach niniejszego artykuu staraem si zaprezentowa podstawowe informacje na temat podstawowych kontrolek wizualnych w systemie Android. W nastpnym odcinku zajmiemy si kolejnymi kontrolkami graficznymi nieco bardziej wyrafinowanymi, niejednokrotnie wykorzystujcymi wiedz o kontrolkach opisanych w niniejszym artykule. Kolejny artyku, ju w przyszym miesicu. Bdzie opisywa midzy innymi jak stworzy menu aplikacji, menu kontekstowe oraz w jaki sposb posugiwa si oknami dialogowymi. Do zobaczenia za miesic! Jednoczenie informuj, i listingi przytoczone w tym artykule znajduj si na stronach mojego profilu na portalu Facebook. Zachcam do ich pobierania i komentowania.

O autorze
Grzegorz Madajczak jest z wyksztacenia lekarzem weterynarii i mikrobiologiem. Linuksem i oglnie oprogramowaniem OpenSource pasjonuje si od 2001 roku. Na co dzie uywa Linuksa zarwno w pracy, jak i w domu. Jego ulubione dystrybucje to Gentoo i Slackware. Kontakt z autorem: madajczak@gmail.com

27

Urzdzenia mobilne Rce precz od CyanogenMod

Rce precz od CyanogenMod


Grzegorz Madajczak

Google dla wielu osb jest przykadem dobrej firmy, sprawiedliwie traktujcej swoich pracownikw i uczciwie podchodzc do klientw. Dla niektrych moe i jest synonimem wolnoci, bowiem prawie wszystkie produkty s za darmo. Opini t mia przyklepa otwarty system operacyjny Android. Czy aby na pewno tak jest?

linux@software.com.pl

la mnie i dla wielu innych osb wielkim zaskoczeniem byo to, e Google swj system operacyjny na urzdzenia mobile Android, pomimo wczeniejszych zapowiedzi, do mocno oboyo rnymi ograniczeniami. Pocieszajcy by jednak fakt, i mona byo je pokona w atwy sposb uzyskujc dostp do praw administratora system (rootujc system). Proces ten otwiera przed uytkownikiem cakiem nowe moliwoci, a uzyskanego w ten sposb systemu nie mona w aden sposb porwna do oryginau. Moliwo rootowania spowodowaa, i jak grzyby po deszczu zaczy wyrasta nowe wersje Androida nowe ROMy dla G1. Jedne z nich miay swoje pi minut i tylko tyle... Inne za na trwae zagociy na tysicach aparatw. Do tej drugiej grupy z pewnoci zaliczy mona wybijajcy si ponad przecitn ROM autorstwa dewelopera o nicku cyanogen (waciwie to Steve Kondik) CyanogenMod. Wyszo CyanogenMod nad innymi ROMami take tym pierwszym opracowanym przez synnego ju dewelopera Jesus Freak, polega na kompleksowym
stycze 2010

podejciu do systemu Android. Cyanogen postawi bowiem nie tylko na wydajno i stabilno systemu, co osign midzy innymi poprzez samodzielne przygotowanie jdra systemowego, lecz take na komfort uytkowania urzdzenia pracujcego pod kontrol zmodyfikowanego Androida. Wprowadzone zmiany polegay midzy innymi na naoeniu zestawu at (cz z nich wasnego autorstwa), co pozwolio midzy innymi na wprowadzenie wsparcia dla systemw plikw ext2, 3 i 4, obsug multitouch, openOBEX, a take ostatnio planera kernela BFS (Brain Fuck Scheduler) autorstwa Cona Kolivasa, ktry to znaczco zwikszy wydajno G1. Jak wida cyanogen czerpa penymi garciami z dowiadcze innych hackerw systemu Android, wprowadzajc do rozwijanego przez siebie ROM liczne aty, zmiany i usprawnienia. Dziki temu gotowy system by nie tylko szybki (niektrzy twierdz, e najszybszy), lecz take peen udogodnie, przez co przyjazny dla uytkownika. Ponadto cyanogen jest autorem nie tylko dystrybucji systemu Android, lecz take opracowa rewelacyjny system recovery o niespotykanych wczeniej funkcjach. Umoliwia on modyfikowanie systemu, partycjonowanie

28

Urzdzenia mobilne Rce precz od CyanogenMod

i formatowanie karty SD wszystko za pomoc przejrzystego menu oraz skryptw uruchamianych z konsoli. Ponadto cyanogen recovery wprowadzi po raz pierwszy moliwo instalacji update-w ROMu z dowolnego pliku zip nie tylko update.zip. Obecnie to recovery znajduj si chyba na wszystkich zrootowanych systemach, a inne obecne recovery w mniejszym lub wikszym stopniu bazuj na tym autorstwa cyanogena. Na tym nie koniec. Jaki czas temu cyanogen udostpni program CM updater, ktry to dziaajc w tle okresowo sprawdza dostpno aktualizacji zarwno systemu, jak i niektrych tematw graficznych (templates), a nastpnie po wyraeniu zgody przez uytkownika pobiera aktualizacj i instaluje j. Program ten dodaje do CyanogenMod brakujc w zrootowanym systemie moliwo OTA updates (Over The Air), znan z nierootowanych systemw. Takiej moliwoci nie daje aden inny ROM. Pierwotnie CyanogenMod wykorzystywa zarwno kod AOSP (Android Open Source Project czyli kod Android na licencji z rodziny OpenSource), jak binaria pochodzce z ADP (Android Developer Project zamknite binaria z dystrybucji przeznaczonej dla twrcw aplikacji dla systemu Android), jak i framework dostarczonym przez producenta aparatu, czyli HTC. Cyanogen wychodzi bowiem z cakiem susznego zaoenia, i moe stosowa binaria pochodzce bezporednio od producenta (Google, HTC), gdy jego system przeznaczony jest wycznie na telefony na ktrych oryginalnie znajduje si system Google. Wydawao by si wic oczywiste, e takie pakiety binarne mog by bezproblemowo wykorzystywane co te miao wielokrotnie miejsce. Sytuacja jednak drastycznie zmienia si wkrtce po opublikowaniu przez cyanogena kolejnej rozwojowej (eksperymentalnej) wersji systemu opatrzonej numerem 4.1.11.1. Wtedy to Google wysao do cyanogena list z prob o zaprzestanie umieszczania w rozpowszechnianej przez siebie dystrybucji binariw pochodzcych od Google (a dokadnie to programw Google Maps, Google Market, Google Talk, GMail oraz odtwarzacza YouTube), powoujc si na sprzeczno z licencj uytkownika. Na nic zdao si tumaczenie dewelopera, i tworzona przez niego dystrybucja przeznaczona jest jedynie na telefony HTC Dream oraz HTC Magic ktre oryginalnie s sprzedawane z systemem Android zawierajcym sporne programy. Wydawaoby si wic, e uytkownik stosujc ROM autorstwa cyanogen nie amie postanowie wspo-

mnianej licencji. Google miao jednak zupenie inne zdanie na ten temat. Pocztkowo sytuacja wygldaa beznadziejnie, zwaszcza, e wkrtce po opublikowaniu przez dewelopera informacji o ostrzeeniu ze strony Google, strona internetowa projektu znikna z sieci. Pniej okazao si jednak, i nie byo to czyjekolwiek celowe dziaanie, lecz serwer, na ktrym postawiono portal internetowy projektu CyanogenMod nie wytrzyma zmasowanych odwiedzin. Kady bowiem chcia w tym czasie dowiedzie si czego wicej, wyrazi poparcie dla cyanogena. wiadczy to bardzo dobrze o rodowisku skupionym wok projektu w chwili kryzysu jego lider dowiadczy potnego wsparcia ze strony tysicy uytkownikw swojej dystrybucji. Kady, cznie ze mn, martwi si co bdzie dalej z jego ulubion dystrybucj i wkurzony by na postpek nikczemnego Google. W Markecie dostpny by nawet program-petycja, w ktrym kady mg wyrazi swoj opini o opisywanej sprawie w formie komentarza do aplikacji. Po pierwszych czarnych chwilach, gdy okrzepy pierwsze negatywne emocje okazao si, i nie jest wcale a tak le, jak pocztkowo wydawao si to, a Google nie dziaa bezpodstawnie. Przede wszystkim list wystosowany do cyanogena by tylko ostrzeeniem w formie uprzejmej proby, nie za pozwem sdowym, czy innym tego typu pismem. Nie okrela on jakichkolwiek sankcji w przypadku nie spenienia sugestii Google. Po drugie Google natychmiast podjo rozmowy z deweloperem, a take informowao spoeczno na swoich stronach internetowych o motywach tego czynu. Trzeba przyzna, e wyjanienia Google byy dla mnie wiarygodne i przekonywujce. Google wyjanio, i Android jako taki jest systemem OpenSource, lecz pewne elementy dostarczane wraz z systemem podlegaj odrbnemu licencjonowaniu w tym wspomniane uprzednio sporne aplikacje. Firmy partnerzy Google skupione w Open Headset Alliance, za umieszczanie tych aplikacji w tworzonych przez siebie produktach musz odprowadza do Google opaty licencyjne. Tak wic cyanogen chcc tworzy swj ROM z zamknitymi aplikacjami musi zawrze z Google stosown umow o redystrybucji oprogramowania Google. Jak atwo si domyle cyanogen bez najmniejszego zastanowienia przysta na warunki Google to oznacza zaprzesta dalszego tworzenia dystrybucji i nie myla zawiera umowy z Google o redystrybucji.
www.lpmagazine.org

Przez jaki czas wydawao si, e to ju koniec z cyanogenem... Inni wryli, e wspomniany poprzednio list jest tylko testowaniem dewelopera, tak aby pniej zatrudni go w Google, po to by tworzy swj system jednak dla Google nie dla spoecznoci. Rozwizanie to wydawao si o tyle prawdopodobne, i model ten sprawdzi si wielokrotnie wrd najbardziej aktywnych deweloperw Linuksa poczwszy od samego Linusa Torvaldsa zatrudnionego na pocztku kariery przez korporacj z brany IT Transmeta. Jak dotd nie ma jednak oficjalnego stanowiska adnej z zainteresowanych stron w tej sprawie. Jestem jednak pewien, i cyanogen, gdyby Google zaproponowao mu dogodne warunki (nie tylko finansowe) przystaby na tak propozycj. By moe wtedy dopiero oznaczaoby to realny koniec CyanogenMod. Jak wyglda sytuacja obecnie? Cyanogen wykorzysta rozwizanie, ktre podpowiedziao samo Google. Ot jego najnowsza wersja systemu, ktra zostaa udostpniona spoecznoci jaki czas po zamroeniu wersji 4.1.11.1, a oznaczona numerem 4.1.99 ( w trakcie pisania tego artykuu najnowsza, ju stabilna wersja to 4.2.3.1) oparta bya na wspomnianej wczeniej AOSP, a take na framework pochodzcym bezporednio z HTC. Wersja ta nie zawieraa komponentw z ADP czyli z Google, jak miao to miejsce w poprzednich modach. Czy wizao si to w jakikolwiek sposb z utrat funkcjonalnoci systemu Android? Czy sprawio to, e CyanogenMod nie zawiera spornych aplikacji? Nic takiego. Oznacza to jedynie,

Rysunek 1. Jaki los czeka CyanogenMod?

29

Urzdzenia mobilne Rce precz od CyanogenMod

set procentowy wzrost udziau na rynku, atwo wyczyta midzy wierszami genez problemu. Przede wszystkim naley pamita o starym polskim przysowiu Jeli nie wiadomo o co chodzi to chodzi o pienidze... Moim zdaniem cyanogen dosta po apkach za cae rodowisko deweloperw alternatywnych ROMw Android, a zwaszcza za szerok rzesz ich uytkownikw (liczb osb uywajcych alternatywnych ROMw szacuje si nawet na trzydzieci tysicy). Jak wiadomo do zainstalowania opisywanego ROMu, jak i kadego innego wymagane jest zrootowanie systemu. Proces ten rednio przeszkadza Google, zwaszcza, e sami dystrybuuj aparaty deweloperskie z tak wersj Androida. Jednak cakiem przypadkiem wraz ze zrootowaniem systemu uzyskuje si moliwo atwej instalacji pirackiego oprogramowania i kradziey takiego oprogramowania dostpnego tylko za porednictwem Marketu. Nie twierdz, e cecha ta jest gwn przyczynk do rootowania systemu, lecz e jest sol w oku Google. Przy cigle wzrastajcym zainteresowaniu Androidem i Marketem rosn zyski Google i niestety poziom piractwa, przez co i straty ponoszone przez t firm w wyniku tego haniebnego procederu. Tak wic dziaania Google wobec cyanogen byy ostrzeeniem dla rodowiska, aby zrobio co z tym problemem. Pierwsze kroki w tym kierunku podj sam cyanogen umieszczajc w rozwijanej przez siebie wersji systemu alternatywne do Marketu rozwizania aplikacje do patnej i bezpatnej dystrybucji oprogramowania na razie program SlideMe, lecz jak cyanogen napisa na swoim blogu rozwaa umieszczenie aplikacji oferujcej aplikacje z innego portalu AndAppStore. Dziaania te naley oceni bardzo pozytywnie z dwch przyczyn. Przede wszystkim cyanogen pokazuje, e Android ju dawno przesta by wycznie wasnoci Google (prawnie i tak nigdy nie nalea, gdy stanowi on wasno OHA) a sta si dobrem caej spoecznoci jak kady inny Linux. Musi si wic liczy z gosem rodowiska. Dodatkowo umieszczenie alternatywnych rde legalnego oprogramowania daje uytkownikowi moliwo wyboru czyli wolno w podejmowaniu decyzji, a moim zdaniem w szeroko pojtym OpenSource wanie o to chodzi. Sporo jeszcze zostao do zrobienia. Cyanogen przede wszystkim powinien si upora z t do karkoomn obecnie metod instalacji. Na stronach znanego wszystkim portalu XDA Developers, krtko po opublikowaRysunek 2. Zrzut ekranowy z programu CM updater niu CyanogenMod-4.1.999 zosta zamiesz-

i cyanogen nie wykorzysta binarnych aplikacji pochodzcych od Google, lecz zamiast nich wykorzysta te same aplikacje lecz pochodzce z HTC. Firma ta za, przynajmniej na razie, nie widzi powodw do zakazywania czegokolwiek cyanogenowi, skoro i tak tworzy dystrybucje tylko na ich urzdzenia (system nie dziaa na Samsung Galaxy). Krtko mwic cyanogen zastosowa pewien wybieg prawny, ktry jednak mia konsekwencje dla przecitnego uytkownika. Aby obej problem licencji na binarne aplikacje od Google, cyanogen tworzy system pozbawiony spornych programw, ktre pochodz z update'u systemowego dostarczonego przez HTC. System rozwijany przez cyanogena jest wic jedynie updatem systemu HTC, ktry zmienia wszystko poza wspomnianymi aplikacjami... Rozwizanie to wymaga nieco wicej pracy ze strony uytkownika lecz jedynie za pierwszym razem. Aby zainstalowa po raz pierwszy nowy ROM CyanogenMod naley pobra update do Android 1.6 Donut pochodzcy z HTC i zainstalowa go w pierwszej kolejnoci. Dopiero w drugim kroku instalujemy update z CyanogenMod. Rozwizanie to, jak na chwil obecn zamyka spr z Google. Naleaoby jednak zastanowi si dlaczego w ogle doszo do zaognienia sytuacji na polu alternatywnych ROMw Android. W swoim licie do spoecznoci, komentujcym spraw, Google do oglnikowo wspomina o przyczynach rozsierdzenia si na cyanogena. Jeli jednak wemiemy pod uwag histori Linuksa na urzdzeniach mobilnych, prognozy na przyszo wrce nawet kilku-

czony post z linkiem do pliku update zawierajcego skonsolidowany update z HTC i pochodzcy od cyanogena. Cyanogen nie odnis si w aden sposb do tego rozwizania, gdy jego zaaprobowanie mogoby ponownie narazi go na niesnaski ze strony Google. Zastanawiaem si pocztkowo, czy moe nie byoby dobrym rozwizaniem, aby cyanogen podj rozmowy z HTC na temat wykorzystania spornych aplikacji w swoim systemie. Moe firma ta bdzie miaa inn wizj rozwoju Androida i porozumiaaby si z cyanogenem? Szczerze jednak w to wtpi. HTC nigdy nie bdzie chciao wchodzi otwarcie w konflikt z Google, a tym wanie byoby powysze rozwizanie. Ponadto nie jestem pewien, czy HTC lub jakakolwiek inna firma ma moliwoci prawne przekaza osobom trzecim prawa do aplikacji Google. Obecne rozwizanie jest bezpieczniejsze. Jest jednak co co my uytkownicy Androida moemy zrobi. Przede wszystkim musimy sami zacz walczy z piractwem. Naley zacz od wasnego podwrka poprzez potpienie wszelkiego rodzaju warezowych portali internetowych, gdzie umieszczane pliki s przynajmniej wtpliwego pochodzenia. By moe jestem nudny powtarzajc kolejny raz to samo, lecz mam nadziej, e moje woanie za ktrym tam razem przyniesie spodziewany rezultat... Ponadto moemy naciska na Google wykazujc swoje niezadowolenie z polityki tej firmy. Nie mwi tu o bojkotowaniu produktw tej firmy, bo jest to niemoliwe w obecnym czasie (nie da si uywa G1 bez konta na Google lub jest to przynajmniej bardzo trudne i niewygodne). Mona jednak sa listy, kupowa programy nie koniecznie w Markecie, czy te za kadym razem otwarcie deklarujc poparcie dla alternatywnych legalnych rozwiza. Wierz, e dziaania te kiedy zostan dostrzeone przez Google, ktre zastanowi si nad prowadzon przez siebie polityk, czego ycz sobie, nam i oczywicie Google.

O autorze
Grzegorz Madajczak jest z wyksztacenia lekarzem weterynarii i mikrobiologiem. Linuksem i oglnie oprogramowaniem OpenSource pasjonuje si od 2001 roku. Na co dzie uywa Linuksa zarwno w pracy, jak i w domu. Jego ulubione dystrybucje to Gentoo i Slackware. Kontakt z autorem: madajczak@gmail.com

30

stycze 2010

Wywiad Czy jako to bdzie?

Czy jako to bdzie?


Wywiad z Leszkiem Misiem, prezesem firmy Emerge Systems
Prezes Leszek Mi Czym na co dzie zajmujesz si jako wa- dem na to s firmy i instytucje takie jak np. Bardzo czsto dzia IT zarzdzany jest przez ciciel firmy Emerge Systems? Urzd Miasta Katowice czy francuska policja, kierownika. Szeregowy pracownik nie ma
Na co dzie zajmuj si przeprowadzaniem testw penetracyjnych systemw informatycznych oraz oczywicie pozyskiwaniem nowych Klientw. Jestem certyfikowanym instruktorem Red Hat, a wic przeprowadzam rwnie szkolenia techniczne oraz wdroenia rozwiza. Czsto powicam czas na wyszukiwanie nowych technologii czyli research and development. Jeli akurat nie mam adnego zlecenia to zajmuj si pogbianiem swojej wiedzy poprzez surfowanie po Internecie. I tak dzie za dniem... ktra chwali si, e zaoszczdzia miliony euro w tym wypadku wikszego przebicia. Jednak dziki wdroeniu dystrybucji Ubuntu. i tak wszystko spoczywa w rkach prezesw oraz zarzdu firmy. Tak naprawd wszystko zaCzy czsto spotykasz si z podejciem ley od struktury firmy, jak prosperuje i czym typu. Jako to bdzie w odniesieniu do konkretnie si zajmuje. Dobrym przykadem kwestii bezpieczestwa IT? jest firma hostingowa, ktra skupia rne daBardzo czsto. Bardzo wiele firm, ktre posia- ne klientw rnej maci i bezpieczestwo podaj 50+ pracownikw , tworzcych np. pro- winno by dla niej priorytetem, a nie jest. Z badukty systemowo-sieciowe znane i sprzedawa- da moich oraz moich kolegw wynika, i rone na caym wiecie, prowadz wanie tak po- dowiska hostingowe to raj dla atakujcych. Polityk mwic Jako to bdzie, my si nie przej- dejcie do tematu bezpieczestwa jest rwnie mujemy nas nikt nie zaatakuje. To samo tyczy uzalenione od przyszoci tej firmy i konkretsi maych przedsibiorstw. Przykadowo ostat- nych dowiadcze. nio przez przypadek udao mi si uzyska dostp do pewnych danych, do ktrych nie powinienem Na ile istotne s zagadnienia bezpieczemie wgldu konkretnie dostp do najnow- stwa znane z serwerowych instalacji Linukszych wersji produktu pewnej firmy. Dopki sa w odniesieniu do platform mobilnych konkretna firma nie spotka si z sytuacj gdzie wykorzystujcych jdro systemu Linux? dane zostan skasowane, bd zostan udostp- Mwisz np. o Androidzie? Nigdy nie miaem nione publicznie (ogromne straty!), dopty nie potrzeby posiadania najnowszego telefonu, ale bd zwraca uwagi na bezpieczestwo. Polak jeeli mowa o Linuksie, to mam jeden pomys. mdry po szkodzie to jest idealne powiedzenie Moim zdaniem poprawnym i ciekawym rozwi szczeglnie w ujciu IT Security. zaniem byyby tzw. sandboxy czyli piaskownice dla aplikacji. Prawdopodobnie procesorki Jakie rozwizania moesz zaproponowa znajdujce si w urzdzeniach mobilnych bd administratorom duych sieci wzw kla- miay coraz wiksz czstotliwo dziki czestrowych, aby zabezpieczy ich maszyny mu bdzie mona wykonywa wicej operacji przed rootkitami? (w tym te zwizane z kontrol dostpu do sysNaley pamita, i kada sie potrzebuje syste- temu), a cao platformy nadal bdzie dziaa mu do monitoringu jest to podstawa. Mowa tu szybko i sprawnie. Idea sandboxw polega na o tzw. systemach typu IPS (Intrusion Prevention tym, e kada uruchamiana aplikacja jest de facSystem) oraz IDS (Intrusion Detection System). to uruchamiana w swoim wizieniu. Aplikacja Przykadowo IPS jest systemem aktywnym i po- taka nie ma dostpu do niczego innego jak tyltrafi zablokowa dziaania np. na podstawie sy- ko do zasobw, z ktrych sama korzysta. Gdygnatur, a IDS ewentualnie poinformuje o tym, i by przykadowo dla przegldarki Opera mini zanp. w sieci nawizane zostao poczenie, ktre implementowa rozwizanie typu sandbox, nie powinno mie miejsca. monaby wyeliminowa szereg problemw zwiazanych np. z przejciem kontroli nad urzOd czego uzaleniony jest sposb podej- dzeniem z poziomu przegldarki WWW. Ide cia do tematu bezpieczestwa w firmie ? tak dostarcza rozwizanie SELinux.
www.lpmagazine.org

Skd czerpiesz informacje?


Dosy czsto ciekawych informacji dowiaduj si dziki blogom znajomych. Od pewnego czasu korzystam take z blipa, mimo i aktywnie go nie aktualizuj.

Czy Twoja firma przeprowadza audyty bezpieczestwa dla maszyn z systemem Windows?
Tak, jednak sam osobicie si tym nie zajmuj. Od tego s specjalici technologii Microsoft, ktrzy zawsze stoj w gotowoci.

Gdzie spotykasz si z systemem Windows a gdzie z Linuxem?


Systemy linuksowe i uniksowe zazwyczaj wystpuj jako serwery, natomiast Windowsy wykorzystywane s w wikszoci przypadkw jako stacje robocze. W momencie, gdy przeprowadzany jest test penetracyjny infrastruktury otrzymujesz pen specyfik infrastruktury, przykadowo: 20 serwerw typu Linux/unix + 200 stacji roboczych bazujcych na systemie Windows. Abstrahujc troch od pytania gdyby dua firma zaryzykowaa migracj na system Linux nawet dla uytkownikw kocowych, wydaje mi si, e zaoszczdziaby w przecigu kilku lat duo pienidzy. Dowo-

31

Urzdzenia Mobilne Android vs Kawa z Jabkiem

Android vs Kawa z Jabkiem


Beata Rokicka

Jak wiadomo od dawna technika idzie zawsze do przodu. Nic wic dziwnego, e na rynku pojawiaj si coraz to nowe urzdzenia i technologie. Na pewno jednym z waniejszych osigni ludzkoci s urzdzenia i rozwizania mobilne. Szczegln uwag naley zwrci na rynek telefonw komrkowych, ktry niewtpliwie w przecigu kilkunastu lat pod wzgldem technologicznym bardzo awansowa.

linux@software.com.pl

ajwikszy przeom w tej brany przypada na ostatnie dwa trzy lata, kiedy na masowym rynku upowszechniy si urzdzenia posiadajce dostp do szybkiego, mobilnego Internetu, wyposaone w due, czytelne wywietlacze i co raz powaniejsze systemy operacyjne. W zwizku z tym, coraz wicej firm oferuje swoim klientom rnego typu aplikacje mobilne. Obecnie istnieje kilka popularnych kanay dystrybucji dla rnych platform: Sun Java Store, Apple App Store, Windows Marketplace, RIM App World (dla telefonw BlackBerry) oraz wprowadzony niedawno Google Android Market. Najwaniejsz zalet tych serwisw dla uytkownikw jest nie tylko to, e mog pobiera z nich ciekawe aplikacje do swoich urzdze, ale te programowa swoje i je sprzedawa. Przyjrzyjmy si bliej tym kanaom dystrybucji i jednoczenie rdom zarobkw. Na pierwszy ogie pjdzie Sun Java Store. Jest to chyba jeden z najmniej znanych kanaw dystrybucji, gdy dopiero raczkuje. W bazie znajdziemy niewiele aplikacji, ale gwnie s to gry. Oprcz pobierania, firstycze 2010

ma Sun umoliwia programistom opublikowanie swoich aplikacji. Na razie oferta ta jest skierowana do Amerykanw, ale ma si to w przyszoci zmieni (na co bardzo liczymy). Swoje programy twrcy mog zgasza po penej rejestracji, ktra kosztuje 50 USD, w witrynie Java Warehouse Developer Center. Niestety wad tej platformy jest to, i nie ma jasno podanej konkretnej kwoty, jak bdzie moga zarobi osoba wsppracujca z Java Sun. Witryna generalnie jest mao czytelna. Oczywicie, jeli chodzi o pobieranie aplikacji, mog z tej funkcji korzysta wszyscy, majcy dostp do Internetu bez wzgldu na kraj zamieszkania. Zdecydowanym liderem w platformach dystrybucyjnych jest Apple App Store, ktry odnotowuje sprzeda w wysokoci 200 mln USD. Jest ona lepsza od Java Sun Store z tego wzgldu, i posiada o wiele wicej ciekawych aplikacji do pobrania, zakupienia. Miejmy jednak na uwadze, e Apple App Store powsta znacznie wczeniej, a urzdzenia z jabkiem s po prostu trendy. Poza tym, dodatkowym plusem na pewno jest te to, e z atwoci mona si poru-

32

Urzdzenia Mobilne Android vs Kawa z Jabkiem

sza po omawianej witrynie, w przeciwiestwie do strony Java Sun Store. Oczywicie Apple App Store rwnie kieruje swoj ofert ku programistom indywidualnym. Narzucone s z gry ograniczenia kwotowe. Okrelone s tez prowizje. Tutaj warto wspomnie, e powstaj takie aplikacje, jak I'm reach, ktrej cena sigaa najwyszej z moliwych, nie robia zupenie nic praktycznego, poza wywietlaniem informacji na ekranie iPhone'a o treci tosamej z tytuem, a mimo to staa si bardzo popularna. Jak widzimy, liczy si przede wszystkim dobry pomys. Kolejnym, mniej znanym kanaem dystrybucji jest Winodows Marketplace. Jak nietrudno si domyli, sklep ten oferuje produkty dla klientw, ktrzy korzystaj z systemu Windows. Niestety, jak mona zauway, twrcy tego kanau nastawieni s przede wszystkim na duy zysk, ale tym samym ograniczaj jakby rozwj swojego sklepu. Mam tu na myli to, i aby umieci aplikacj w serwisie, programista musi za to zapaci. Stawka wynosi 100 dolarw. W cenie tej twrca programw moe wystawi pi swoich produktw. Za kolejne trzeba dopaci. Powysze wie si rwnie z tym, e jest bardzo niewiele darmowych aplikacji za wszystko trzeba paci. Pienidze musi wydawa zarwno programista (moe on te zarobi na swoich produktach), jak i kupujcy, a wiadomo, ze najwikszy zysk z tego wszystkiego ma i tak firma Microsoft. Na uwag zasuguje natomiast fakt, e Microsoft wspaniaomylnie zwalnia z opat studentw. Oczywicie nie wszystkich, ale tych, ktrzy uczestnicz w programie Dreamspark.

Przedostatni platform dystrybucyjn, ktr chciaabym omwi w niniejszym artykule jest RIM App World. Jak krtko wspomniaam na pocztku, oferuje on produkty tylko i wycznie dla telefonw BlackBerry. Uwag przykuwa fakt, i oferta RIM-u jest bardzo urozmaicona. Posiada on zarwno aplikacje dla zwykych uytkownikw, s to programy, nazwijmy, rozrywkowo uytkowe. Jednake RIM App World kieruje take swe produkty do klientw biznesowych. S to ju bardziej zaawansowane programy, ktry nabywcy mog dostosowywa do swoich indywidualnych potrzeb. Na koniec zosta nam rwnie cakiem nowy kana dystrybucji Google Android Market. Witryna zdecydowanie gruje nad pozostaymi. Znajduje si tu bardzo duo rnych aplikacji i najatwiej porusza si wanie po tej stronie. Uytkownik ma jasno napisane przy kadym produkcie ile on kosztuje lub czy jest za darmo. Uwag te od razu zwraca fakt, e Google Android Market to witryna gwnie nastawiona na aplikacje uytkowe. Co wane osoba kupujca w Google Android Market, nie jest naraona na kupowanie tzw. kota w worku dziki zrzutom z ekranu (jest to spotykane take w przypadku pozostaych kanaw). Podobnie jak poprzednie sklepy (Apple App Store, Java Store), rwnie Android Market zaprasza do wsppracy programistw. Na pocztku funkcjonowania tej witryny mona byo usysze wiele negatywnych komentarzy na temat udostpniania swoich programw. Obecnie jednak zostao to zmienione. Rwnie tutaj dzielimy si zyskiem z firm Google. Kwoty take s ograniczone z gry i z dou. Google ma jednak du si przebicia, co wry wykadni-

czemu wrcz zwikszaniu si popularnoci Android Market. Podsumowujc, pki co liderem, jeli chodzi o sprzeda aplikacji jest Apple App Store (W Google Android Market wynosi ona tylko 5 mln USD). Jednak po ulepszeniach, jakie wprowadzio Google do swojego Android Market, to drugie powinno dogania sklep firmy Apple. Zwaszcza, e jest on nastawiony, jak wczeniej wspomniano, na aplikacje uytkowe. A wiadomo, e im wicej w naszym telefonie jakich przydatnych i ciekawych rzeczy tym lepiej.

Rysunek 2. Logo Android

Rysunek 3. IPhone 3G
Rysunek 1. Baner Java Store

O autorze W Sieci
http://technologie.gazeta.pl/technologie/1,91146,6373936,Windows_Marketplace_for_Mobile___AppStore_dla_Windows.html http://na.blackberry.com/eng/services/ http://developer.windowsphone.com/Default.aspx http://na.blackberry.com/eng/services/personal/media.jsp#tab_tab_music http://na.blackberry.com/eng/services/business/business.jsp Beata Rokicka. Studentka III roku Europeistyki na Uniwersytecie Wrocawskim. Jej hobby to w szczeglnoci fotografia, ale rwnie Unia Europejska, a dokadniej pozyskiwanie funduszy strukturalnych. Od niedawna interesuje si Linuksem. Kontakt z autorem: beata.rokicka1@gmail.com

www.lpmagazine.org

33

Rozwizania Elektroniczny labirynt, cz. 2

Elektroniczny labirynt, cz. 2


ukasz Ciesielski

Jeste elektronikiem? Jeli nie, to sprawd jak w prosty sposb moesz nim zosta. Nie martw si, tu nie bdzie potrzebna lutownica i podzespoy, poniewa to wszystko ju mamy! Teraz wystarczy stworzy schemat oraz cyfrow pytk drukowan i sprawdzi czy dziaa. Zobacz jakie programy pozwol Ci stworzy wasny warsztat na komputerze. Chcesz wicej? Nic prostszego, wystarczy wydrukowa gotowy projekt i zamontowa elementy. Teraz kady moe zosta elektronikiem!

linux@software.com.pl

ade urzdzenie elektroniczne, kady wspczenie produkowany ukad od kalkulatora poczwszy, a na pycie gwnej komputera skoczywszy rozpoczyna swj ywot od projektu. Nie ma wic nic dziwnego w tym, e kademu producentowi tego typu asortymentu zaley na dostarczeniu swoim pracownikom najlepszego oprogramowania wspomagajcego proces tworzenia. Czy oznacza to jednak, e mae firmy lub uytkownicy domowi, ktrzy nie mog pozwoli sobie na tak duy wydatek jakim niewtpliwie jest zakup specjalistycznego oprogramowania skazani s na porak? Oczywicie, e nie! Wystarczy rozezna si w aktualnie rozwijanych projektach przeznaczonych dla rozwoju elektroniki, aby odnale doskonae, darmowe i rwnie funkcjonalne rodowiska typu CAD co ich komercyjne odpowiedniki. Wikszo z nich zostaa stworzona z myl o systemach uniksopodobnych. Jednak cz z nich dziaa take w systemie Windows. W czci pierwszej zosta zaprezentowany pakiet Eagle. Teraz zapraszam do przyjrzenia si
stycze 2010

dwm kolejnym rodowiskom: KiCAD oraz gEDA i PCB Designer.

KiCAD

Kiedy uruchomimy program zostanie wywietlone okno penice funkcj menadera projektw. To wanie w nim tworzymy, edytujemy i usuwamy projekty (Rysunek 1). Su do tego pierwsze trzy ikony znajdujce si na pasku narzdziowym. Pozwala to na szybkie wybranie odpowiedniego polecenia. Prac rozpoczynamy od utworzenia nowego projektu. Jest to czynno niezwykle prosta, ograniczajca si jedynie do podania nazwy i lokalizacji tworzonych plikw. Jeeli rozpoczlimy wczeniej prac nad okrelonym projektem, z atwoci moemy go otworzy poprzez kliknicie na odpowiedni ikon. Dobr praktyka jest tworzenie osobnych katalogw dla poszczeglnych projektw. Dziki temu unikniemy bdw i zachowamy porzdek, co z pewnoci zaowocuje szybszym dostpem do odpowiednich plikw. W przeciwnym wypadku do drzewa katalogw widocznego z lewej strony gwnego okna programu

34

Rozwizania Elektroniczny labirynt, cz. 2

zostan dodane katalogi zupenie nie zwizane z prac programu. Kolejnym krokiem jest wybr edytora, z ktrego chcemy korzysta. Warto wiedzie, e KiCAD oferuje ich cztery typy. Pierwszym jest oczywicie edytor schematw (Eeschema), ktry stanowi podstaw projektowania ukadw elektronicznych. Aby go uruchomi wystarczy klikn na pierwsz z czterech ikon znajdujcych si porodku gwnego okna programu (Rysunek 2). Program dla potwierdzenia, zapyta czy edytowany projekt jest nowo utworzonym. Oczywicie informacje taka naley potwierdzi, poniewa dziki temu zostanie utworzony plik zawierajcy dane dotyczce tworzonego schematu. Aby go zobaczy wystarczy odwiey list plikw wchodzcych w skad projektu. Plik zawierajcy schemat ma standardowe rozszerzenie *.sch. Niekiedy jednak chcielibymy skojarzy elementy danego schematu z obudowami elementw pytkowych. Ot KiCAD doskonale radzi sobie z tego typu zadaniami. Wystarczy klikn drug ikon i mona rozpocz prac w specjalnie wyposaonym do tego celu edytorze CvPCB. Automatycznie zostanie utworzony plik *.net, ktry stanie si baz dla dalszej pracy. Trzecim spord oferowanych edytorw jest PCBnew odpowiadajcy za projektowanie pytek drukowanych. Prawdopodobnie jest to jedno z najczciej wykorzystywanych narzdzi podczas codziennej pracy z rozma-

itymi ukadami elektronicznymi. Kolejny, a zarazem ostatni edytor umoliwia tworzenie plikw produkcyjnych PCB i jest przegldarka plikw Gerbera (GerbView). Poza wspomnianymi opcjami uytkownik moe take wybra jzyk w tym take polski. Jest to ogromna zaleta tego programu, poniewa cz terminologii fachowej w obcych jzykach mogaby pozosta niezrozumiaa dla niektrych osb. W ten sposb KiCAD stara si by dostpnym dla szerokiego grona odbiorcw. Poniewa zazwyczaj prac rozpoczynamy od utworzenia schematu ukadu, to wanie tym edytorem zajmiemy si na pocztku (Rysunek 3). Po uruchomieniu koniecznie naley odpowiednio skonfigurowa warsztat pracy. W tym celu klikamy na ikon odpowiadajc za ustawienia projektu, znajdujca si na pasku narzdziowym, a nastpnie wprowadzamy zmiany (Rysunek 4). Dziki niemu zmienimy nie tylko rozmiar strony, ale take bdziemy mogli okreli tytu, przypisa autora i doda komentarz. Po wprowadzeniu zmian w celu ich zachowania naley cao zapisa. Pewnie si zastanawiacie, gdzie s umieszczane tego typu informacje. Ot s one w tabeli znajdujcej si w prawym, dolnym rogu schematu. Dziki opcji Przenie moemy w prosty sposb umieci wpisane informacje na wszystkich arkuszach, z ktrych korzystamy w ramach tworzonego pro-

jektu. Po przypisaniu wstpnych ustawie moemy rozpocz rozmieszczanie poszczeglnych elementw ukadu. Poniewa liczba podzespow elektronicznych jest ogromna, moe si niekiedy okaza, e w standardowych bibliotekach nie odnajdziemy tego, ktrego potrzebujemy. Twrcy programu zadbali jednak o to, aby kady uytkownik mg szybko uzupeni napotkane braki. Wystarczy skorzysta z edytora bibliotek. Uruchamiajca go ikona znajduje si tak jak we wczeniejszym przypadku na pasku narzdziowym i ma posta otwartej ksiki. Po klikniciu na ni ukae si okno podobne do zaprezentowanego na Rysunku 5. Kolejnym krokiem jest utworzenie nowego elementu. Pierwszy etap polega na uzupenieniu poszczeglnych pl odpowiednimi wartociami, np. nazwa elementu, oznaczenie, ilo czci w obudowie itd. Cao akceptujemy poprzez kliknicie na przycisk OK. W edytorze pojawi si nazwa tworzonego podzespou. Naley jednak jeszcze stworzy jego zarys i nada mu wizualn form. Na tym polega etap drugi. Korzystajc z przycisku znajdujcego si na pionowym pasku narzdziowym (zosta on zaznaczony na Rysunku 5) tworzymy prostokt. Aby jednak zosta on wypeniony naley z menu kontekstowego wybra Opcje prostokta (po najechaniu kursorem na krawd figury). Tam wystarczy zaznaczy, e ma on by wypeniony. Otwierajc menu kontekstowe po najechaniu na znajdujcy si porodku napis, moemy go dowolnie przesuwa i obraca. Jest to prosta, jednak bardzo potrzebna funkcja, ktra sprawia, e schemat jest czytelniejszy i wyglda estetycznie. W ten oto sposb utworzylimy nowy element, jednak to jeszcze nie koniec, poniewa zapomnielimy o dodaniu odpowiednich pinw. Suy do tego opcja ukryta pod drug ikon w pionowym menu z prawej strony. Podczas ustawiania poszczeglnych pinw naley zwrci szczegln uwag na ich parametry, a w szczeglnoci na nazw, numer i typ elektryczny. Jeeli si pomylimy i nie wprowadzimy korekty to w trakcie testw ERC (ang. Electrical Rule Check) wykae bdy. Pa-

Rysunek 1. Gwne okno konfiguracyjne programu KiCAD www.lpmagazine.org

Rysunek 2. Ikony uruchamiajce poszczeglne edytory, np. schematw

35

Rozwizania Elektroniczny labirynt, cz. 2

mitajmy te o prawidowym oznaczeniu pinw jako GND i Vcc . Na koniec nie pozostao nic innego jak utworzenie nowej biblioteki i zapisanie do niej utworzonego elementu. Oczywicie istnieje moliwo dopisania go do aktualnie otworzonej, jednak nie zaleca si takiego postpowania. Po powrocie do edytora schematw moemy uruchomi przegldark elementw i sprawdzi, czy zostaa dodana nowa biblioteka. Zanim jednak tak si stanie, konieczne okae si jej udostpnienie. W tym celu wybieramy z menu opcj Biblioteki i katalogi. Nastpnie klikamy na przycisk Dodaj, wskazujemy podana bibliotek i zapisujemy zmiany. Ponadto osoby z mniejszym dowiadczeniem w zakresie elektroniki mog za pomoc specjalnie przygotowanego edytora bibliotek poszerza swoj wiedz poprzez przegldanie dostpnych komponentw. No dobrze, ale w jaki sposb wstawia poszczeglne podzespoy do naszego schematu. Istnieje kilka moliwoci, jednak najprostsz jest wybranie z menu Dodaj >Element. Zostanie wywietlone okienko, w ktrym wpisujemy nazw danego elementu lub wykorzystujc przycisk Wywietl wszystkie wskazujemy ten, ktry jest nam potrzebny. Niezwykle wygodnym sposobem jest rwnie przegldanie wedug bibliotek. Z ca pewnoci warto zaznajomi si zarwno z bibliotekami jak i rozmieszczeniem poszczeglnych funkcji programu. Dziki temu bdziemy mogli skupi si na projekcie, a nie na poszukiwaniu potrzebnych opcji. EESchema oferuje ciekaw funkcj suca do numerowania elementw. Uyt-

kownik moe zadecydowa, czy chciaby aby numeracja obja jedynie dany arkusz, czy wszystkie arkusze w projekcie. Ponadto istnieje moliwo okrelenia numeracji pod ktem nowych elementw lub wstawionych wczeniej. Jeeli chcielibymy, aby obja ona wycznie nowe elementy jest to moliwe. Nieco problemu moe sprawi odnalezienie tej opcji w menu programu, dlatego wygodniej i zdecydowanie szybciej jest wybranie ikony z poziomego paska narzdziowego. Jeli okae si, e numeracja nie jest potrzebna mona w prosty sposb ja usun z dowolnego elementu. Jak atwo si domyle automatyczna numeracja nie jest idealna. Niekiedy pojawiaj si drobne bdy, dlatego te lepsz praktyk jest rczne ustawianie opisw. Ponadto moemy w takiej sytuacji doczy informacje dotyczce rezystancji czy pojemnoci. Wbrew pozorom nawet oczywiste dla nas dane okrelonego elementu mog sta si nieocenione w przypadku rozbudowanych ukadw. Aby samodzielnie wprowadzi zmiany dla danego elementu wystarczy klikn na nim, a nastpnie z menu kontekstowego wybra submenu Edytuj element. Znajdziemy tam nie tylko podstawow edycj elementu, ale te jego wartoci, oznacze i obudowy. W artykule wspomnielimy ju o paskach narzdzi (poziomym oraz pionowym) i wymienilimy niektre z dostpnych funkcji. Warto jednak zaznajomi si z pozostaymi pozycjami oferowanymi przez edytor, poniewa to wanie w nim bdziemy wykonywa wikszo czynnoci. Poniewa najczciej wykorzystywa-

Rysunek 3. Gwne okno edytora schematw

ne narzdzia zostay umieszczone na pasku pionowym znajdujcym si z prawej strony to od niego zaczniemy odkrywanie tajnikw programu. Pierwsza z dostpnych ikona suy do wczania kursora jeli wczeniej bya wykorzystywana inna opcja. W tym trybie moemy zaznacza obszar, elementy, ale te zmienia ich rozmieszczenie. W przypadku projektw wieloarkuszowych przydatna bdzie funkcja ukryta pod kolejn ikon, pozwalajca na wczenie hierarchii schematu. Nastpne dwie opcje s nam ju znane, poniewa dziki nim moemy doda element do schematu oraz wstawi symbole zasilania Vcc czy GND. Dla wszystkich jest oczywiste, e kady ukad elektroniczny skada si nie tylko z odpowiednich elementw, ale take z czcych je cieek. Trudno wic byoby wyobrazi sobie zaawansowany edytor pozbawiony tych funkcji. Naley jednak zwrci uwag na wybieran ikon, poniewa jest ona bardzo podobna do ikony odpowiadajcej za rysowanie magistral. Nawizujc do magistral warto wspomnie o takich opcjach jak dodawanie wej pocze, czy dodawanie wej do innych magistral. Chocia z tego typu dobrodziejstw korzystamy znacznie rzadziej nie wolno o nich zapomina. Wrmy jednak do tworzenia pinw. Czasem nie wykorzystujemy wszystkich punktw pocze. Co w takiej sytuacji zrobi? Nie moemy ich zostawi bez uprzedniego oznaczenia, e s one puste. Edytor schematw oferuje tak opcj. Ustawia ona odpowiedni flag w taki sposb, aby program potrafi rozpozna lepe poczenie. Chocia ilo wymienionych w ramach jednego paska narzdziowego funkcji wydaje si dua, to nie wszystko. Zapomnielimy o takich opcjach jak tworzenie wzw, dodawanie etykiet (rwnie dla projektw wieloarkuszowych), ale te wstawianie nowych arkuszy, czy hierarchizowanie pinw. Nadal czujecie niedosyt? W takim razie dorzumy jeszcze rysowanie linii i figur geometrycznych pozbawionych charakteru i waciwoci elektrycznych, wstawianie opisw tekstowych i usuwanie zbdnych podzespow. W przypadku globalnych etykiet nie zawsze musimy je tworzy od nowa, poniewa istnieje moliwo zaimportowania ich i stworzenia arkuszy pinw. Zdecydowanie mniej opcji zostao wyeksponowanych na pasku narzdziowym

36

stycze 2010

Rozwizania Elektroniczny labirynt, cz. 2

znajdujcym si po lewej stronie edytora. Ich separacja nie oznacza jednak, e s mniej wane. Ma raczej charakter porzdkowy, poniewa dostpne tam funkcje nie s cile zwizane z tworzeniem schematu ukadu, a jedynie pomagaj i niekiedy upraszczaj ten proces. Znajdziemy tam takie opcje jak wywietlanie i ukrywanie siatki, okrelanie jednostki metrycznej (np. milimetry, cale) czy chociaby zmian kursora. Z ciekawszych moliwoci zdecydowanie warto wspomnie ukrywanie lub wywietlanie np. pinw zasilania (GND, Vcc). Jeeli w projekcie zaistnieje konieczno tworzenia pocze lub analogicznie magistral pod dowolnym ktem, program umoliwia tego typu operacje za porednictwem przycisku umiejscowionego jako ostatnia pozycja w przyborniku. Trzecim a zarazem ostatnim miejscem, w ktrym zostay umieszczone ciekawe opcje jest oczywicie gwny pasek narzdziowy (poziomy). Poza standardowymi funkcjami, jak chociaby otwieranie pliku czy drukowanie, odnajdziemy tam te ikony otwierajce tzw. Netlist, test DRC oraz spis elementw wchodzcych w skad schematu. Ostatnia z wymienionych pozycji moe okaza si bardzo pomocna podczas kompletowania podzespow niezbdnych do zrealizowania projektu w rzeczywistoci. Kiedy schemat ukadu jest gotowy warto sprawdzi jego poprawno za pomoc wspomnianego DRC. Najczciej na jaw wychodz drobne bdy i ostrzeenia, ktre mog jednak zaway w caoci pracy. Przykadem takich bdw mog by niepoprawnie zrealizowane poczenia lub brak doprowadzenia zasilania. Miejsca, w ktrych wystpuj nieprawidowoci program sygnalizuje za pomoc niewielkiej strzaki. Kiedy prace nad schematem zostan zakoczone, naley stworzy Netlist (plik o rozszerzeniu *.net). Do czego bdziemy jej potrzebowa? Przede wszystkim do skojarzenia poszczeglnych elementw z ich obudowami. Polega to na dopasowaniu podzespow zawartych w schemacie (lewa strona okna) do odpowiednich obudw (prawa strona). Czynno ta jest niezwykle istotna, gdy pozwala na graficzne zobrazowanie (take trjwymiarowe) gotowego ukadu (Rysunek 6). No dobrze, ale gdzie to si robi? Waciwie jest to kluczowe pytanie. Odpowied jednak jest banalna i brzmi: w edytorze CVpcb uruchamianym w gwnym oknie programu. Warto

te wzi pod uwag, e schemat wzbogacony o trzy wymiary zdecydowanie upraszcza nasze wyobraenia o nim i pozwala na szybsze odnalezienie i zamontowanie poszczeglnych elementw. Mowa tu o mniej dowiadczonych osobach, kierujcych si bardziej wygldem i ksztatem komponentw ni ich symbolami. Nie ma w tym nic zego, poniewa dowiadczenie zdobywa si przez praktyk. Nie wspomnielimy jeszcze, e to rwnie w CVpcb tworzymy wizualizacj 3D ukadu. Skoro mamy ju gotowy schemat nadesza pora na stworzenie pytki. Robimy to w PCBnew. Z oczywistych wzgldw edytor ten oferuje kilka dodatkowych opcji. Podobnie jak w poprzednich przypadkach, najszybszy dostp do nich uzyskamy korzystajc z odpowiednich ikon znajdujcych si na umieszczonym z prawej strony pasku narzdzi. Co nowego? Przede wszystkim moemy ju ustawia kolorowe wypenienie pytki PCB. Ponadto mona wstawi otwory montaowe i podejrze pola lutownicze. Prac z edytorem rozpoczynamy standardowo od utworzenia zarysu pytki, czyli oznaczenia miejsca, w ktrym zostan umieszczone poszczeglne elementy. Nastpnym krokiem jest oczywicie wczytanie netlisty. Zaowocuje to pojawieniem si na rysunku podzespow uytych w schemacie. Na pocztku naley take zaznaczy warstw rysunkow (domylnie jest to warstwa cieek). Po tych czynnociach warto skorzysta z automatycznego rozmieszczania wstawionych elementw. Odpowiednia ikona znajduje si na gwnym pasku narzdziowym, z jego prawej strony. Moe si zdarzy, e rozmieszcze-

nie przez program komponentw nie wyglda tak jak bymy sobie tego yczyli. Istnieje w takich wypadkach moliwo samodzielnego ukadania ich na pytce. Dla uytkownikw wymagajcych wicej ni oferuj domylne ustawienia PCBnew, umoliwiono ich modyfikowanie. Mowa tu o takich parametrach jak wielko przelotek, rozmiar ich otworw, szeroko cieek oraz odstpy pomidzy nimi. Dodatkowo istnieje moliwo okrelenia typu przelotki. Program pozwala wybra wersj standardow, zagrzeban lub podwietlon. Ponadto moemy okreli kilka ustawie dotyczcych midzy innymi wywietlania wsprzdnych biegunowych, moduu pocze tymczasowych, iloci warstw i czy. Podobnie jak w przypadku wspomnianych wczeniej edytorw, rwnie tu warto okreli najwygodniejsz jednostk metryczn, np. milimetry oraz wielko kursora. W gwnym oknie konfiguracyjnym istnieje te moliwo wczenia lub wyczenia funkcji DRC (zaleca si jednak korzystanie z niej). Oczywicie znajdziemy tam take kilka mniej istotnych opcji, jak chociaby automatyczne dopasowanie powikszenia i automatyczne usuwanie cieek. Dlaczego wspominamy o tym dopiero teraz? Poniewa zazwyczaj najwygodniejsze ustawienia wychodz na jaw w trakcie pracy. Majc pewne dowiadczenie z KiCAD mona dokona konfiguracji wczeniej, jednak pocztkujcym zaleca si wyprbowanie rnych kombinacji, aby znale te, ktre bd najbardziej dla nich odpowiednie. Wrmy jednak do projektowania. Edytor posiada interesujc opcj autoroutera.

Rysunek 4. Przykadowa konfiguracja strony projektu www.lpmagazine.org

37

Rozwizania Elektroniczny labirynt, cz. 2

Niestety jej dosy powan wad jest tworzenie niekiedy przesadnie skomplikowanych rozwiza. Warto jednak zaznajomi si z tym narzdziem, poniewa czasem okazuje si bardzo pomocne. Opracowujc pytk dwustronn poczenia nie powinny zawiera bdw. Niekiedy jednak okazuje

si, e bez ingerencji uytkownika si nie obejdzie. Ma to miejsce zwaszcza w odniesieniu do duych i skomplikowanych ukadw. W przypadku projektowania przemysowego pozwala to zaoszczdzi materiay, ale przede wszystkim skrci czas potrzebny na wykonanie. Na prac autoroutera

Rysunek 5. Uruchamianie edytora bibliotek oraz dodawanie komponentw graficznych

w duym stopniu wpywa sposb rozmieszczenia poszczeglnych elementw. Oznacza to, e naley szczegln uwag powici planowaniu caego ukadu, gdy ma ono kluczowe znaczenie podczas finalizowania pracy. Ju po niedugim uytkowaniu PCBnew zauwaymy, e tworzone cieki s jednakowej szerokoci. Nie bdzie bdem pozostawienie ich w postaci domylnej, jednak czsto nie ma takiej potrzeby, aby cieki doprowadzajce zasilanie i pozostae miay jednakowe rozmiary. Klikajc kursorem myszy na wybranej ciece moemy z menu kontekstowego wybra odpowiedni szeroko (Pozycja>Wybierz szeroko cieki). Ostatni czynnoci po wykonaniu pytki jest wygenerowanie niezbdnych plikw. Jeeli nie tworzymy projektu przemysowego cao mona zapisa w postaci, np. Postscript A4. No dobrze, ale gdzie znale opcj odpowiedzialn wanie za tworzenie plikw? Mamy tu dwie moliwoci. Pierwsza polega na wybraniu odpowiedniej ikony z gwnego paska narzdzi, natomiast druga na skorzystaniu z menu Produkcja. Zostanie wywietlona lista dodatkowych parametrw, ktre zaznaczamy w zalenoci od naszych potrzeb i wymaga. Warto wiedzie, e dla projektw tworzonych na wasne potrzeby w zupenoci wystarcz standardowe ustawienia. Jeeli natomiast projekt ma charakter przemysowy sugeruje si , aby zosta on zapisany w formacie GERBER. W ten oto sposb przebrnlimy przez uproszczony proces tworzenia schematw i pytek drukowanych przy wykorzystaniu programu KiCAD. Jego moliwoci s zadziwiajce. Jeeli dodamy do tego bogat gam oferowanych narzdzi i fakt, e jest to oprogramowanie darmowe, zdecydowanie zasuguje on na uwag. Jedyn barier moe by cierpliwo uytkownika i jego zaangaowanie w zgbianie tajnikw programu KiCAD.

Konkurencja nie pi

Rysunek 6. Trjwymiarowa wizualizacja wybranego elementu (tu: dioda LED)

Doskona alternatyw dla rodowiska KiCAD jest zestaw dwch odrbnych narzdzi, a mianowicie gEDA oraz PCB. Pierwsze z przytoczonych suy do tworzenia schematw ukadw elektronicznych, natomiast drugie jak nietrudno wywnioskowa z nazwy odpowiada za projektowanie pytek drukowanych. O ile idea ich powstania jest podobna do omwionego wczeniej pakietu KiCAD, obsuga moe

38

stycze 2010

Rozwizania Elektroniczny labirynt, cz. 2

czasem zaskoczy uytkownika swoj odmiennoci. Warto wyprbowa to oprogramowanie, poniewa moliwociami pod adnym wzgldem nie ustpuje programom komercyjnym. Biorc pod uwag elastyczn konfiguracj tego zestawu jest on w stanie przerosn wiele tego typu programw. Wsppraca pomidzy gEDA i PCB jest dopracowana, dziki czemu uytkownik moe na podstawie schematu generowa baz niezbdn do zaprojektowania pytki drukowanej. Jak to moliwe? Wszystko za spraw opcji footprint. To ona odpowiada za kojarzenie danego symbolu zawartego w schemacie z jego odpowiednikiem PCB. Pocztkowo gEDA planowana bya jako rodowisko zawierajce rwnie edytor PCB. Kiedy okazao si, e tego typu projekt ju istnieje i nie ma koniecznoci tworzenia go od podstaw, postanowiono, e powstanie jedynie edytor schematw. Ju wtedy wiedziano, e powinien by on kompatybilny z PCB. Pomysodawc i zaoycielem projektu gEDA by Ales Hvezda, ktry zapocztkowa prac w 1998 roku. W skad pakietu w rzeczywistoci wchodzi obecnie wiele rozmaitych narzdzi. Su one midzy innymi do generowania netlisty i plikw dla wspomnianego wczeniej edytora pytek drukowanych. Warto te zauway, e prymarnym celem twrcy byo stworzenie profesjonalnego rodowiska, z ktrego bd mogli korzysta nie tylko uytkownicy domowi, pasjonaci, ale te firmy. By moe zastanawiacie si jaki sens miao tego typu przedsiwzicie

skoro podobne oprogramowanie ju funkcjonowao. Odpowied jest bardziej oczywista ni mogoby si wydawa. Chodzio bowiem o stworzenie takiego oprogramowania dla systemw uniksopodobnych, a w szczeglnoci Linuksa. Ponadto w czasie powstawania projektu byo niewiele darmowych aplikacji tego typu, pozwalajcych na projektowanie ukadw elektronicznych i scalonych. Mylc o gEDA zawsze powinnimy pamita, e jest to pakiet narzdzi. W jego skad wchodz aktualnie takie programy jak wspomniane gschem (edytor schematw) i gnetlist (generowanie netlisty), ale take gattrib oraz gsymcheck. Jest to szczeglnie atwo zauwaalne w przypadku instalowania gEDA w systemie Debian lub Ubuntu, poniewa narzdzia te s doczane jako dodatkowe pakiety. To jednak nie wszystko! Istnieje te pokana liczba projektw wsppracujcych. Tu warto wymieni chociaby PCB, gerbv, gnucap i xgsch2pcb. Ogromnym plusem przemawiajcym na korzy tego oprogramowania jest dostarczona wraz z nim wyczerpujca dokumentacja, przykady i gotowe schematy niektrych ukadw. Godn polecenia jest strona domowa projektu, czyli www.gpleda.org. Oprcz dokumentacji odnajdziemy tam tutoriale i odpowiedzi na najczciej zdawane pytania. Znacznie krtsz drog do dokumentacji jest wybranie z menu Help odpowiedniej pozycji lub przejcie bezporednio do katalogu /usr/share/doc/geda-doc. Zagadnienie

to jest niezwykle istotne, poniewa dziki temu nie zaskoczy nas adna opcja, czy funkcja programu. Prac jak zwykle rozpoczynamy od stworzenia schematu ukadu i sprawdzenia jego poprawnoci. Suy do tego edytor o nazwie gschem (Rysunek 7). Chocia oprogramowanie to udostpnia graficzny interfejs uytkownika, niektre czynnoci mona wykona za pomoc polece wpisywanych w konsoli (man gschem) lub przygotowanych wczeniej skryptw, np. odwieanie netlisty. Poniewa artyku kierowany jest gwne do osb, ktre wczeniej nie miay stycznoci z tym oprogramowaniem, przykady i opisy bd dotyczyy pracy z graficznym interfejsem. Ju podczas pierwszego uruchomienia edytora rzuca si w oczy jego przejrzysto i w pozytywnym znaczeniu skromno. Podczas projektowania jedn z najwaniejszych pozycji w menu bdzie Add, dziki ktrej dodamy do schematu poszczeglne elementy skadowe projektu. Wybr odpowiedniego komponentu nawet uytkownikom niedowiadczonym z pewnoci nie przysporzy kopotu. W specjalnie przygotowanym oknie wystarczy wskaza grup podzespow, nastpnie wybra ten najbardziej odpowiadajcy naszym oczekiwaniom i zatwierdzi przyciskiem OK. Aby uproci poszukiwania po prawej stronie zamieszczono graficzny zapis danego elementu (Rysunek 8). Dziki temu zawsze bdziemy mie pewno, e wybralimy poprawnie. Kiedy dodamy ju wszystkie komponenty ukadu nie pozostanie nic innego jak dodanie pocze oraz ustawienie odpowiednich atrybutw. Warto w tym momencie zauway, e wszystkie oferowane przez edytor gschem opcje s dostpne rwnie za porednictwem skrtw. Je-

Rysunek 7. Gwne okno edytora schematw gschem www.lpmagazine.org

Rysunek 8. Okno zawierajce list dostpnych bibliotek

39

Rozwizania Elektroniczny labirynt, cz. 2

li si im przyjrzymy okae si, e znacznie odbiegaj one od tych, do ktrych jestemy przyzwyczajeni. Doskonaym przykadem jest tu chociaby zapis realizowany przez kombinacj klawiszy fs. Jeeli okae si, e niektre komponenty znajduj si nie na swoim miejscu z atwoci mona zmieni ich pozycj. W tym celu wystarczy klikn kursorem myszy na wybranym elemencie aby go zaznaczy, a nastpnie skorzysta ze skrtu klawiaturowego m. Dziaanie tej opcji przerywamy poprzez kliknicie prawym przyciskiem myszy. Podobnie postpujemy w przypadku odbicia lustrzanego (skrt ei) lub obrotu elementu (skrt er). Wspomniane cieki tworzymy wybierajc z paska narzdziowego ikon Add nets mode lub wciskajc klawisz n. Podobnie jak we wczeniejszym przykadzie prac koczymy prawym przyciskiem myszy. Dlaczego wspominamy o skrtach skoro kada z wymienionych opcji jest dostpna z poziomu menu? Oczywicie na pocztku atwiej jest poda t drog, jednak z czasem nieustanne powracanie do menu moe okaza si niezwykle uciliwe. Warto od samego pocztku wyrabia dobie nawyk korzystania z dobrodziejstw jakim niewtpliwie s skrty klawiaturowe. Wbrew pozorom ich zapamitanie zajmuje niewiele czasu, zwaszcza jeeli jest poparte praktyk. Wrmy jednak do schematu. Bardzo czsto okazuje si, e domylne wartoci wybranych komponentw nie odpowiadaj naszym oczekiwaniom. W takim wypadku niezbdna okae si ich modyfikacja. Po zaznaczeniu elementu program oferuje szerok gam opcji dostpnych w menu Attri-

butes. Krtsz drog jest skrt ee. Oczywicie istnieje take trzecia i prawdopodobnie najprostsza droga dostpu do parametrw wybranych elementw. Jest ni podwjne kliknicie na wskazanym komponencie lub tekcie. Automatycznie zostanie otworzone okno edycji. Przyjrzyjmy si jeszcze pozostaym opcjom oferowanym przez edytor schematw. Pierwszym submenu jest File (Plik). Umoliwia ono gwnie tworzenie nowego okna oraz manipulacj stronami. To wanie tutaj stworzymy nowy projekt, zapiszemy efekty pracy lub je cakowicie usuniemy. Poza standardowymi poleceniami jak drukowanie umieszczono w tej czci menu dwie niezwykle ciekawe pozycje. Pierwsza to zapis projektu w postaci graficznej, a dokadniej pliku w formacie PNG, JPEG, BMP lub TIFF. Dziki niej bez kopotu bdziemy mogli w prosty sposb podzieli si wynikami pracy ze znajomymi lub zamieci je na stronie internetowej. Drug opcj wart zauwaenia, jest Execute Script. Po klikniciu na ni zostaniemy poproszeni o wskazanie pliku, ktry ma zosta uruchomiony. Jest to interesujca funkcja, jednak rzadziej wykorzystywana ni wspomniany wczeniej zapis do pliku graficznego. Zdecydowanie wicej opcji znajdziemy w menu Edit (Edycja). Wikszo z nich umoliwia wprowadzanie zmian raczej natury estetycznej, co jednak nie oznacza, e s one mao istotne. Czsto bowiem o efekcie kocowym przesdzaj prawie niezauwaalne detale. W miejscu tym umieszczono zarwno polecenia zwizane z kopiowaniem, wkleja-

Rysunek 9. Edytor PCB Designer, jako pakiet wspierajcy dla gEDA

niem i wycinaniem, ale rwnie np. obracaniem danego elementu (niezwykle przydatna funkcjonalno). Ponadto znajduj si tu polecenia zarzdzajce tekstem, jak chociaby Edit Text pozwalajce na zmian tekstu lub Show/Hide Inv Text odpowiadajce za wywietlanie bd ukrywanie go w zalenoci od potrzeb uytkownika. Edytor umoliwia take dodawanie figur geometrycznych. Oczywicie w odosobnionych przypadkach moe zaj konieczno zastosowania innej ni domylna linii tworzcych krawd uku, czy prostokta. Funkcje odpowiadajce za typ linii rwnie znajduj si w menu Edit. Wystarczy po zaznaczeniu danego elementu wskaza pozycj Edit Line Width & Type. Do wyboru uytkownik ma domyln lini cig oraz szereg rozmaitych przerywanych. Ponadto mona okreli grubo krawdzi. W przypadku takich figur jak prostokt bez kopotu ustawimy odpowiednie wypenienie. Suy do tego opcja Fill Type. Gschem ma standardowo ustawione okrelone kolory, przez co w pewnych sytuacjach projekt staje si nieco zaciemniony. Warto wtedy za pomoc Edit>Color zmieni wartoci tak, aby poszczeglne elementy byy widoczne i atwe do rozrnienia. Kolejne submenu, a dokadniej Buffer (Bufor), View (Widok) i Page (Strona) nie przynosz adnych zaskakujcych opcji. Oczywicie mamy tu na myli innowacyjno, a nie ich praktyczno. Twrcy programu w ciekawy sposb rozwizali problem kopiowania. Zastosowano tu dobrze znany (choby z edytora Emacs) system buforw. Ograniczono jednak ich liczb do piciu. Ilo ta w zupenoci wystarczy do wykonania kadego zadania. Duym plusem jest pozostawienie oglnie przyjtych skrtw odpowiadajcych za kopiowanie, wklejanie i wycinanie, czyli Ctrl+C, Ctrl+V oraz Crtl+X. Druga z wymienionych zakadek View zawiera funkcje zarzdzajce wywietlaniem, a mianowicie przyblianie i oddalanie obrazu (ang. Zoom) oraz odwieanie planszy. Jeeli korzystamy z myszy posiadajcej rolk, moemy za jej pomoc regulowa stopie powikszenia. Jest to zdecydowanie wygodniejsze rozwizanie ni nieustanne klikanie pozycji Zoom In albo Zoom Out. Znacznie praktyczniejsze opcje znajdziemy w menu Page. Bdziemy z nich czsto korzysta w przypadku tworzenia projektw skadajcych si z kilku stron, poniewa odpowiadaj one za przeczanie si pomidzy po-

40

stycze 2010

Rozwizania Elektroniczny labirynt, cz. 2

szczeglnymi stronami, tworzenie nowych oraz zamykanie ju istniejcych. Pracujc na wielu stronach jednoczenie wygodnie jest skorzysta z pozycji Manager wywietlajcej kompletne zestawienie stron. Nie powinna nas natomiast zaskoczy zawarto zakadki Add. Poza elementami elektronicznymi zostay tam umiejscowione take rozmaite figury geometryczne, opcje odpowiedzialne za wstawianie tekstu, pinw, a nawet obrazkw. Wbrew pozorom jest to prawdopodobnie najwaniejsza cz edytora, gdy bez moliwoci wstawiania podzespow, linii itd. nie udaoby si stworzy projektu. Ostatnim punktem menu, ktrym warto si zainteresowa jest zakadka Attributes. Trudno okreli, czy znajdujce si w niej opcje bd czsto wykorzystywane, jednak z ca pewnoci wypada wiedzie do czego su. Najwaniejsze z nich to te odpowiadajce za pokazywanie i ukrywanie wartoci, nazwy i wyszukiwanie okrelonego tekstu. Ponadto umieszczono tu opcj automatycznego numerowanie. Niemniej jednak stawiajc pierwsze kroki w programie do tej zakadki bdziemy zaglda zdecydowanie rzadziej ni np. do menu Help. Pierwsze wraenie jakie robi edytor gschem jest jak najbardziej pozytywne. Mona te powiedzie, e zachca do rozpoczcia pracy z nim. Co go cechuje? Z caym przekonaniem jest niezwykle przejrzysty, a poszczeglne elementy zostay rozmieszczone logicznie, w sposb umoliwiajcy ich atwe znalezienie. Oczywicie uytkownik ma moliwo skonfigurowania programu wedle wasnych upodoba i przyzwyczaje. Za jego minus mona uzna dosy specyficzny system skrtw klawiaturowych. Naley si te przyzwyczai, e podczas projektowania za pomoc gEDA bdziemy musieli korzysta

z wielu zewntrznych narzdzi (wchodzcych w skad pakietu) jak np. gEDA Attribute Editor (Rysunek 10) czy PCB Designer. To wanie ten program posuy do kontynuowania projektowania ukadu, poniewa najczciej konieczne okae si tworzenie pytki drukowanej. Wyjtkiem jest sytuacja, w ktrej zaley nam jedynie na schemacie takiego ukadu. Trzeba przyzna, ze pierwsze wraenie jakie robi edytor pytek drukowanych jest jak najbardziej pozytywne. W oczy rzuca si mnogo opcji i uporzdkowane przyciski. Wszystko zdaje si by na swoim miejscu. Po uruchomieniu programu zobaczymy trzy okna: gwne, prezentujce oferowane biblioteki oraz zawierajce zapisy tzw. logw (Rysunek 9). Nie bdziemy zagbia si w detale zwizane z bibliotekami, poniewa ich ilo na to nie pozwala. Waciwie do zaprojektowania nieskomplikowanej pytki z ukadem elektronicznym wystarczy pasek narzdziowy znajdujcy si po lewej stronie oraz lista elementw zawartych w bibliotekach. Ogromnym plusem PCB Designera jest moliwo eksportowania projektu do rnych formatw, jak np. GERBER, PS, PNG oraz wielu innych. Powoduje to (zwaszcza pliki GERBER-a), e z powodzeniem rodowisko gEDA moe zosta wykorzystane do celw produkcyjnych. W menu View warto zaznaczy opcj Enable visible grid wczajc wywietlanie siatki, ktra bardzo pomaga podczas rozmieszczania elementw. Dobrym pomysem jest rwnie ustawienie jednostki na milimetry i okrelenie wygodnego rozmiaru siatki, np. 5 mm. Nie ma jednak lepszej metody na poznanie programu ni samodzielne sprawdzenie kadej opcji. W tym przypadku moe nam pomc gotowy przykad znajdujcy si w katalogu /usr/share/doc/pcb. Po zakoczeniu projektowania konieczne naley uruchomi test DRC znajdujcy si w menu Connects. Wyniki zostan wywietlone w oknie komunikatw. Jeeli nie zostan odnalezione bdy, zostaniemy o tym poinformowani stosownym komunikatem. W przeciwnym razie na bieco, podczas wykonywania testu, edytor bdzie wywie-

tla okna okrelajce rodzaj bdu i miejsce w projekcie, w ktrym si on znajduje. Zarwno w przypadku maych jak i rozbudowanych projektw DRC jest koniecznoci i trzeba o tym pamita. Niestety omwienie wszystkich zagadnie zwizanych z gEDA wykracza objtociowo poza ramy tego artykuu. Dokadna dokumentacja znajduje si na stronie domowej projektu. Tekst mia na celu zaprezentowa bogactwo jakim jest wolne i darmowe oprogramowania dla elektronika. Jest ono dostpne nie tylko dla systemu Linux, ale te rodziny BSD. Zachcam do wyprbowania prezentowanych rodowisk, wybrania tego najwygodniejszego i projektowania. Efekty ju po niedugim czasie bd zdumiewajce. By moe nawet zdecydujesz si drogi Czytelniku do zastosowania, ktrego z nich w swojej firmie. W kocu innowacyjno to droga do postpu.

Podsumowanie

Omwilimy dwa kolejne rodowiska umoliwiajce projektowanie schematw ukadw elektronicznych. Kade z nich posiada mocne strony, niepodwaalne. Niestety posiadaj te kilka minusw, o ktrych wspomnielimy ju w tekcie. Ich potne moliwoci sprawiaj jednak, e oprogramowanie to ju w tej chwili jest gotowe do zastosowa zarwno domowych jak i komercyjnych. Warto korzysta z wolnego oprogramowania, poniewa jest ono nieustannie rozwijane, a za jakiekolwiek poprawki uytkownik nie ponosi kosztw. Jest to bardzo wane zagadnienie, zwaszcza jeli rodowisko pracy ma pozosta niezawodne. Jeszcze raz zachcam do wyprbowania kadego z przedstawionych pakietw i sprawdzenia ich funkcjonalnoci. Sprbuj raz, a jeli nie zostaniesz zauroczony, powtrz to drugi raz. Gwarantuj, e za trzecim nie bdziesz chcia ju adnego innego oprogramowania.

O autorze
Rysunek 10. Gwne okno edytora atrybutw pozwalajcego na szczegowe okrelenie takich wartoci jak np. poczenia dla poszczeglnych elementw ukadu Autor jest dziennikarzem, ktrego pasj stao si programowanie (C/C++, Java, Pascal, Qt, Gtk+) oraz systemy spod znaku pingwina (Slackware, Debian). Kontakt z autorem: lucas.ciesielski@gmail.com

www.lpmagazine.org

41

Rozwizania Zabawa w SSHowanego

Zabawa w SSHowanego
Wojciech Terlikowski

W czasach gdy niemal kady komputer podczony jest do sieci, czy to niewielkiej domowej lub osiedlowej, czy te do Internetu niesychanie wanym zagadnieniem staje si zapewnienie bezpieczestwa komunikacji midzy stacjami roboczymi. Protok SSH, dziki silnej ochronie kryptograficznej, znakomicie si do tego nadaje. Artyku ma na celu przyblienie czytelnikowi szerokich moliwoci oferowanych przez SSH rwnie w mniej znanych zastosowaniach takich jak przekierowanie portw i tworzenie tuneli.

linux@software.com.pl

SSH zetkn si chyba kady, kto pracowa z systemami linuksowymi. Bezpieczna powoka (secure shell) towarzyszy wikszoci administratorw w wykonywaniu codziennych obowizkw, jest rwnie niezastpiona dla wielu uytkownikw wszdzie tam, gdzie szybko i sprawnie trzeba wykona jakie czynnoci na zdalnym systemie, a jednoczenie mie poczucie bezpieczestwa jakie daje szyfrowany protok.

Szyfrowany telnet

Kiedy po raz pierwszy miaem okazj korzysta z zasobw Internetu, jeszcze w latach dziewidziesitych ubiegego stulecia, do zalogowania si na zdalne serwery uywaem telnetu. Jest to proste narzdzie, pozwalajce na otwarcie sesji na innym komputerze w sieci. Poczenie do serwera telnetu umoliwia wykonywanie polece na zdalnym systemie. Rozwizanie to ma jednak wad, ktra zadecydowaa o jego niemal cakowitym zaniku, przynajmniej w rodowi- Troch historii skach uniksowych i uniksopodobnych, w tym w Linuksie. Protok SSH zosta opracowany w poowie lat dziewiSaboci, ktra zadecydowaa o wyparciu telnetu midzy dziesitych na Politechnice w Helsinkach przez jednego z

innymi przez SSH jest brak szyfrowania transmisji, szczeglnie dotkliwy podczas procesu uwierzytelniania. Taka luka bezpieczestwa pozwala na podsuchanie sesji i zdobycie informacji nie tylko o tym jakie polecenia wykonujemy na zdalnym systemie, ale rwnie poznanie naszego loginu i hasa, co moe w konsekwencji prowadzi do przejcia kontroli nad naszym kontem. Przeprowadzenie takiego ataku nie wymaga gbokiej wiedzy ani bardzo skomplikowanych narzdzi. Wystarczy prosty program podsuchujcy ruch w sieci (sniffer) jakich wiele bezpatnych mona znale w Internecie. Uywanie telnetu byo do zaakceptowania w sieciach, ktrych uytkownicy mieli do siebie duo zaufania i nie obawiali si, e kto bdzie chcia si wama do ich komputera. Pamitam, e jeszcze na pocztku studiw do niektrych serwerw wydziaowych mielimy dostp przez telnet, ale z czasem by on zastpowany przez SSH. Wwczas bya to jeszcze nowo, ale dajca wicej bezpieczestwa, bo szyfrowana.

42

stycze 2010

Rozwizania Zabawa w SSHowanego

pracownikw naukowych Tatu Ylnena jako odpowied na atak, polegajcy na podsuchaniu i przechwyceniu hase przesyanych przez protokoy nieszyfrowane. Celem projektu byo zastpienie narzdzi takich jak telent, rlogin i rsh przez rozwizania podobne, ale zapewniajce wyszy stopie bezpieczestwa dziki ochronie kryptograficznej. Po pitnastu latach moemy powiedzie, e niewielu linuksowym administratorom zdarza si wykorzystywa rlogin, czy rsh, s pewnie i tacy, ktrzy nie wiedz, e co takiego istniao, natomiast niemal wszyscy znaj SSH. Kilka lat po opracowaniu pierwszej wersji protokou powstaa, najpopularniejsza obecnie, implementacja zarwno serwera jak i klienta OpenSSH. Projekt ten jest rozwijany przez zesp OpenBSD na licencji BSD. Wolna licencja jak rwnie bogactwo moliwoci jakie daje OpenSSH, pozostajc w penej zgodnoci ze specyfikacj protokou, zapewniy tej implementacji du popularno. Obecnie OpenSSH jest wykorzystywane przez wiele systemw operacyjnych jak Sun Solaris, Mac OS X, BSD, Novell Netware, IBM AIX, HP UX, urzdzenia sieciowe Cisco, Juniper, HP, Dell, Alcatel oraz niemal wszystkie dystrybucje Linuksa. Niedawno ukazaa si nowa wersja OpenSSH 5.3. Chocia nie wnosi ona znacznych zmian do programu, to ma znaczenie historyczne, poniewa zostaa wydana dziesi lat po powstaniu projektu i publikacji pierwszej wersji produktu.

Podczas instalacji serwera warto zwrci uwag na moment przedstawiony na Rysunku 2 Metody generowania kluczy i kryptografia asymetryczna mog by temetem osobnego artykuu, tu skupi si na kwestiach najistotniejszych dla uytkownika. Przede wszystkim, klucz prywatny jest tajny i moe by znany tylko wacicielowi, w tym wypadku serwerowi SSH. Klucz publiczny jest jawny, ale stanowi par do prywatnego i dlatego oba musz by wygenerowane razem. W zwizku z tym klucze nie mog by dostarczane z pakietem oprogramowania, jak na przykad plik z domyln konfiguracj, ale trzeba je wygenerowa kadorazowo podczas instalacji programu. Ponowna instalacja OpenSSH, zwizana np. ze zmian dystrybucji, spowoduje, e powstanie nowa para kluczy. Spowoduje to, e odciski palca (fingerprints) serwera zapamitane przez klientw stan si niekatulane i bdzie je trzeba zaktualizowa. Po pomylnie zakoczonej instalacji przystpujemy do konfiguracji serwera

OpenSSH. Bdziemy modyfikowa prosty, tekstowy plik z konfiguracj: /etc/ssh/sshd_ config. Bezpieczestwo wymaga, aby serwer uywa protokou w wersji drugiej (SSH-2). Zapewnia to wpis Protocol 2. W pierwotnej specyfikacji wykryto powane luki bezpieczestwa, dlatego zostaa zastpiona przez SSH-2. Wersja druga nie tylko jest bezpieczniejsza od SSH-1, ale dodaje do protokou nowe moliwoci. Wspieraj j wszystkie wspczesne klienty SSH. Obie wersje nie s ze sob kompatybilne i czasami trzeba w kliencie wymusi uycie SSH-1 jeli bdziemy chcieli poczy si z serwerem, ktry nie wspiera SSH-2. Na szczcie takich serwerw jest coraz mniej. Drug opcj konfiguracyjn, ktr zmienimyna serwerze jest wyczenie moliwoci logowania na konto roota. W tym celu wystarczy wpis PermitRootLogin no. W dalszym cigu moemy wykonywa czynnoci administracyjne logujc si przez SSH na konto zwyke-

Zabawa si rozpoczyna

Jak wspomniaem, OpenSSH jest dostpne w repozytoriach niemal kadej dystrybucji Li- Rysunek 1. Popularno rnych implementacji ssh od czasu pojawienia si OpenSSH. Wyranie wida, nuksa, wic zainstalowanie go nie stanowi ad- e OpenSSH z ponad 80% udziaem jest zdecydowanie najczciej uywan implementacj. rdo: [3] nego problemu. SSH to program sieciowy dlatego do przetestowania go potrzebowa bdziemy sieci komputerowej, a w najprostszym przypadku dwch komputerw. Jeden z nich posuy za serwer SSH, nazwijmy go bolek, drugi to komputer biurkowy lolek, na ktrym zainstalujemy klienta SSH. Z tej maszyny bdziemy si logowa do bolka. Oba komputery pracuj pod kontrol dystrybucji Debian GNU/Linux dlatego by zainstalowa serwer OpenSSH naley wykona na bolku:
jas@bolek$ sudo aptitude install openssh-server

natomiast na lolku instalujemy klienta poleceniem:


jan@lolek$ sudo aptitude install openssh-client

Rysunek 2. Instalacja serwera OpenSSH. Widoczny moment generowania kluczy kryptograficznych www.lpmagazine.org

43

Rozwizania Zabawa w SSHowanego

go uytkownika, a nastpnie uzyskujc uprawnienia roota poprzez skorzystanie z polecenia su - lub odpowiednio skonfigurowanego pakietu sudo. Takie ograniczenie wydaje si niepotrzebnym utrudnieniem dla uytkownikw sieci lokalnych, ale jest bezwzgldnie zalecane jeeli serwer ma by dostpny z Internetu. Potwierdzaj to moje wasne dowiadczenia. Zdarzyo mi si, e w kilka minut po podczeniu nowego serwera do Internetu znalazem w dzienniku systemowym lady dziesitek nieudanych prb zalogowania przez SSH na konto roota podejmowanych przez komputery z caego wiata. Gdybym nie zablokowa

tej moliwoci, przypuszczalnie musiabym Teraz moemy poczy si przez lolka odczy komputer od Sieci i zacz usuwa z serwerem SSH bolek. Robimy to wydajc skutki wamania. polecenie: Po takich zmianach ustawie naley zrestartowa usug ssh: jan@lolek$ ssh jas@bolek
jas@bolek$ sudo /etc/init.d/ssh restart

lub:
jan@lolek$ ssh bolek -l jas

Domylna konfiguracja klienta jest wystarczajca, ale w razie potrzeby mona j zmieni modyfikujc plik /etc/ssh/ssh_config na komputerze lolek. Podobnie jak na serwerze jest to prosty plik tekstowy.

Rysunek 3. Poczenie do SSH po zmianie odcisku palca. Po usuniciu wpisu z ~/.ssh/known_hosts znw jestemy proszeni o potwierdzenie tosamoci serwera

Rysunek 4. Przykad zastosowania ssh do tunelowania X11. Gra Kmahjongg uruchomiona na zdalnym serwerze

gdzie bolek jest serwerem, na ktry si logujemy, natomiast jas to identyfikator uytkownika na tym serwerze. Zamiast nazwy komputera (hostname) mona poda jego adres IP lub pen nazw domenow np. bolek.example.com, co jest konieczne gdy komputer znajduje si w Internecie w zupenie innej domenie ni nasza. Jeli na obu systemach uywamy tego samego loginu mona go nie podawa przy nawizaniu poczenia, wtedy SSH zaloguje nas na konto o takiej samej nazwie jak lokalne. Jeli pierwszy raz czymy si do serwera, SSH wywietli odcisk palca (patrz rys. 3) i zapyta czy na pewno na tej maszynie chcemy otworzy sesj. Po potwierdzeniu tosamoci serwera zostaniemy zapytani o haso na komputerze bolek, a jego odcisk palca zostanie zapisany w pliku ~/.ssh/known_hosts. Od tej pory, jeli serwer zmieni odcisk zostaniemy o tym poinformowani przy prbie logowania (patrz Rysunek 3). Sytuacja taka nastpuje gdy serwer zosta zastpiony now maszyn, lub gdy nastpia reinstalacja systemu, w tym pakietu OpenSSH. Zazwyczaj administratorzy powiadomi nas wczeniej o takim zdarzeniu. Jeli mamy pewno, e odcisk faktycznie si zmieni i czymy si z waciwym komputerem naley usun linijk z pliku ~/.ssh/known_hosts o numerze podanym w komunikacie. W naszym przypadku jest to linia numer 7. Przy kolejnej prbie logowania zostaniemy poproszeni o akceptacj odcisku palca nowego klucza. Po poprawnym zalogowaniu moemy pracowa na serwerze bolek, wydajc polecenia jakbymy mieli otwart lokaln konsol. Sesj koczymy komend exit lub skrtem klawiszowym [Ctrl+D] tak samo jak w przypadku pracy lokalnej. Czy uywanie ssh jest rwnie wygodne jak praca lokalna? A co z aplikacjami graficznymi? Sprbujmy uruchomi gr Kmahjongg. Niestety, prba zakoczy si wywietleniem komunikatu bdu cannot connect to X server, co oznacza , e serwer X nie znalaz odpowiedniego miejsca do wywietlenia graficznego okienka gry. Nie wywietli go w tekstowej konsoli, w ktrej dziaa ssh, moe jednak wykorzysta do tego graficzny pulpit komputera lolek.

44

stycze 2010

Rozwizania Zabawa w SSHowanego

Taki efekt mona osign przez odpowiedni konfiguracj X11, tak by programy uruchamiane na bolku byy wywietlane na ekranie lolka. Mona rwnie wykorzysta do tego SSH. Protok ten, daje moliwo przekierowania X11 (X11 forwarding), z ktrej skorzystamy. Wystarczy rozpocz now sesj SSH dodajc przy uruchamianiu przecznik -X:

kadanych przez protok X, czasem uycie tej opcji moe okaza si konieczne. Jeli zachodzi potrzeba uruchomienia wielu programw graficznych na zdalnym komputerze, to wartym rozwaenia rozwizaniem jest VLC. Za jego pomoc mona udostpni cay graficzny pulpit klientowi usugi. W wielu przypadkach moe to okaza si wygodniejsze i bardziej efektywne od zastosowania przejan@lolek$ ssh -X bolek -l jas kierowania X. SSH jest wci bardzo popularn i czsto jedyn tego typu usug dostpOperacja taka ustawia przekierowanie X11 n na serwerze. na klienta SSH i sprawia, e programy graficzne dziaajce na bolku bd wywietla- Nie tylko zdalna sesja y swe okna na lolku. Starujemy ponownie Poznalimy ju moliwoci protokou SSH kmahjongg: zwizane z prac na zdalnym systemie, ale co zrobi gdy chcemy przenie pliki z jednejas@bolek$ kmahjongg & go komputera na drugi? W przypadku plikw tekstowych mona je skopiowa do schowDodanie znaku &, powoduje uruchomienie ka i wklei do edytora otwartego na zdalgry w tle, tak by nie blokowa dostpu do nym komputerze. Moe to by nawet wykonsoli na bolku. Po chwili na ekranie kom- godne dopki nie pojawi si konieczno putera lolek pojawi si si okienko Kmah- kopiowania duych plikw, lub zbiorw bijongg. Inn opcj, pozwalajc na przekiero- narnych. Rodzina protokow RSH miaa w wanie X11 jest -Y, tak zwane zaufane prze- tym celu RCP, ktrego uywao si podobkierowanie X (trusted X forwarding). Jest nie jak zwykego kopiowania plikw poleceono mniej bezpieczne, poniewa nie spenia niem cp. Ponadto istnieje protok FTP, suwszystkich standardw bezpieczestwa na- cy do transferowania plikw midzy komputerami w sieci, jednak aden z nich nie szyListing 1. Przykadowy skrypt zmieniajcy konfifruje transmisji. Na szczcie w rodzinie proguracj wielu serwerw za pomoc SSH tokow SSH znalazy si ich odpowiedniki: SCP bezpieczne kopiowanie (secure copy) for SERVER in bolek reksio uszatek i SFTP bezpieczny protok transferu plikoralgol kw (secure file transfer protocol). Tego drudo giego nie naley myli z FTPS rozszerzessh jas@$SERVER 'echo niem FTP. Zarwno SCP jak i SFTP s szynameserver 10.12.15.254 > /etc/ frowane i zapewniaj takie samo bezpieczeresolv.conf' stwo transmisji jak SSH. Oba s dostarczadone ne z OpenSSH, wic eby z nich korzysta nie musimy niczego instalowa dodatkowo. Listing 2. Generowanie kluczy kryptograficznych wykorzystywanych do autoryzacji w SSH
jan@lolek$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jan/.ssh/id_rsa): Created directory '/home/jan/ .ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jan/.ssh/id_rsa. Your public key has been saved in /home/jan/.ssh/id_rsa.pub. The key fingerprint is: 2d:4f:15:7b:60:51:66:ac:5b:90:32: 58:83:a1:b4:28 jas@lolek

Polecenia scp uywamy podobnie jak zwykego cp:


jan@lolek$ scp jas.jpeg jas@bolek: /tmp/

Jak wida na przykadzie rnic jest czon jas@bolek: wskazujcy, e kopiowanie ma odbywa si do katalogu na serwerze bolek z uprawnieniami uytkownika jas. Naley zwrci uwag na dwukropek (:) rozdzielajcy cz sieciow od cieki w systemie plikw. Jeli chcemy skopiowa plik w przeciwn stron z serwera bolek na komputer lolek, robimy to poleceniem:
jan@lolek$ scp jas@bolek:/tmp/ obraz.png ./obrazek.png

Spowoduje to skopiowanie pliku /tmp/ obraz.png do biecego katalogu i nadanie mu nazwy obraz.png. Jedn z bardziej uytecznych opcji uywanych z scp jest -r. Pozwala ona na rekurencyjne skopiowanie caego katalogu wraz z zawartoci. Polecenie:
jan@lolek$ scp -r jas@bolek:/etc/ ./

skopiuje ca zawarto katalogu /etc na serwerze bolek do biecego katalogu. Skadnia scp dopuszcza rwnie uycie znakw specjalnych powoki np.:
jan@lolek$ scp jas@bolek:~/zdjecia/ *.jpeg ~/

skopiuje wszystkie pliki o rozszerzeniu jpeg (*.jpeg) z katalogu zdjecia do katalogu domowego lokalnego uytkownika. Symbole wystpujce w ciekach serwera s interpretowane

Rysunek 5. Okno programu gftp z otwart sesj SSH www.lpmagazine.org

45

Rozwizania Zabawa w SSHowanego

przez jego powok nie przez scp. W wyniku czego skrypt, korzystajcy z takich symboli bdzie dziaa rnie z rnymi maszynami w zalenoci od tego jaki system pracuje po stronie serwera i jakiej powoki uywa. Takiego uzalenienia od platformy nie ma drugi z wymienionych protokow sucych do kopiowania plikw. SFTP, bo o nim mowa, pozwala na interaktywn prac na zdalnym systemie plikw podobnie jak FTP. Logujemy si poleceniem:
jan@lolek$ sftp jas@bolek

li uda si napisa skrypt, ktry wykona za nas chocia cz mudnej pracy to zaoszczdzony czas moemy powici na przyjemniejsze zajcia, na przykad czytanie ostatniego numeru Linux+. Przypumy, e administrujemy sieci, w ktrej wanie zmieni si adres serwera DNS. Nowy adres to 10.12.15.254. Musimy teraz zmieni konfiguracj wszystkich serwerw w sieci, modyfikujc zawarto pliku /etc/resolv.conf. Jeli s to trzy serwery to mona zalogowa si na kady z nich osobno i rcznie wykona polecenie:
echo 'nameserver 10.12.15.254' > /etc/resolv.conf

niu powraca do powoki klienta, z ktrej zostao wywoane.


jan@lolek$ ssh jas@bolek 'echo nameserver 10.12.15.254 > /etc/ resolv.conf'

a nastpnie za pomoc polece takich jak get i put moemy kopiowa pliki z i na serwer. Jeli kto preferuje prac w rodowisku graficznym to moe skorzysta z jednej z wielu graficznych nakadek na SFTP takich jak gftp czy WinSCP.

Kiedy bdzie ich kilkadziesit to zadanie takie staje si mudne i czasochonne. Ponadto nie trudno tu o pomyk. Z pomoc w takiej syUycie SSH w skryptach tuacji przychodzi nam SSH. Pozwala ono na W pracy administratora (i nie tylko) bardzo li- wykonanie polecenia w trybie wsadowym, bez czy si umiejtno automatyzacji zada. Je- otwierania interaktywnej sesji, a po zakocze

Rysunek 6. Zastosowanie odwrotnego tunelu SSH do poczenia do serwera znajdujcego si za zapor ogniow

Takie polecenie powoduje wywoanie komendy echo na serwerze bolek z przekierowaniem wyjcia do pliku /etc/resolv.conf na tyme serwerze, a nastpnie powrt do powoki na lolku. W rezultacie zawarto pliku /etc/resolv.conf zostanie zmieniona na nameserver 10.12.15.254, czyli to co chcielimy osign. Teraz wystarczy wywoa skrypt dla kadego z naszych serwerw i rekonfiguracja gotowa. Bardzo wygodne, prawda? Jednak skrypt nie dziaa tak sprawnie jak bymy sobie tego yczyli, poniewa przy logowaniu do kadego z serwerw trzeba podawa haso. I na to jest rada. Uwierzytelnienie przez podanie hasa nie jest jedyn moliwoci w SSH. Istnieje wariant logowania przez klucz publiczny (public key) oraz za pomoc GSSAPI. To ostatnie pozwala na zarzdzanie autoryzacj w SSH za porednictwem zewntrznych mechanizmw, takich jak Kerberos. Skupmy si na metodzie klucza publicznego, poniewa jest prosta i nie wymaga od nas uywania dodatkowego oprogramowania. Najpierw musimy mie par kluczy, ktra bdzie identyfikowa naszego klienta, czyli uytkownika jan na komputerze lolek, logujcego si na konto ja na komputer bolek. Do generowania kluczy uyjemy programu ssh-keygen dostarczanego razem z OpenSSH. Haso (paraphrase) do klucza pozostawiamy puste. Nastpnie kopiujemy wygenerowany klucz publiczny do pliku .ssh/authorized_keys w katalogu domowym uytkownika, na ktrego bdziemy si logowa na serwerze bolek.
jan@lolek$ ssh jas@bolek 'mkdir ~/ .ssh/' jan@lolek$ scp ~/.ssh/id_rsa.pub jas@bolek:~/.ssh/authorized_keys

Rysunek 7. Konfiguracja Firefoksa do uycia serwera poredniczcego

Przy wykonywaniu polecenia scp po raz ostatni podajemy haso. Nastpne logowanie do bolka bdzie moliwe ju bez hasa. Dziki temu moemy wykona skrypt sprawniej, gdy nie bdzie wymaga od nas ingerencji i podawania hase. Bardzo pomocne przy administrowaniu komputerem, s potoki (pipes). Dziki nim moemy czy moliwoci wielu nieduych programw jak na przykad cat, grep czy wc w skomplikowane narzdzia. W SSH rwnie nie mogo zabrakn obsugi potokw. Zastycze 2010

46

Rozwizania Zabawa w SSHowanego

my, e uruchamiamy program i chcemy, by wszystkie jego krytyczne komunikaty (zaczynajce si od ERROR:) byy zapisywane na zdalnym serwerze. Rejestrowanie zdarze z krytycznych usug na innych komputerach jest dobr praktyk bezpieczestwa. Bardziej zaawansowane konfiguracje mona osign za pomoc demona syslog. W tym momencie wystarczy nam proste uycie SSH.
jan@lolek$ ./skrypt.sh | grep '^ERROR:' | ssh jas@bolek 'cat >> /var/log/skrypt.log'

Przy uyciu potokw czymy funkcjonalnoci programu grep, ktry wybiera tylko interesujce nas komunikaty ssh, zapewniajcego transfer logw na inny serwer i cat, zapisujcego je do pliku logw. Kopi zapasow serwisu www mona wykona poleceniem:
jan@lolek$ tar -czf - /var/www/* | ssh jas@bolek 'cat > ~/backup/backup_ www.tar.gz'

den z zainstalowanym tam klientw konsolowych. Na dusz met okae si to niezbyt wygodne. Uciliwa bdzie na przykad obsuga zacznikw, wymagajca przesyania plikw midzy serwerem a komputerem domowym. Do zastosowania wygodniejszego rozwizania, wykorzystujcego przekierowanie portw SSH, potrzebna nam bdzie podstawowa wiedza na temat konfiguracji protokow pocztowych. Wystarczy wiedzie, na ktrym porcie sucha tunelowana usuga. Najprostszym rdem informacji na ten temat jest plik /etc/services. Mona dowiedzie si z niego, e protokoowi POP3 odpowiada port 110, za SMTP 25. W przykadach z tunelami poczenia SSH bd nawizywane w obie strony rwnie do naszego komputera domowego, wic przyda si zainstalowanie na nim serwera OpenSSH. Polecenie pozwalajce na zabezpieczenie transmisji SMTP bdzie wygldao nastpujco:
jan@lolek$ ssh jas@poczta.naszauczeln ia.edu.pl -L 8025:localhost:25

ktry si logujemy, czyli w tym przypadku localhost oznacza poczta.naszauczelnia.edu.pl. W ten sposb zestawilimy szyfrowany tunel z lokalnego portu 8025 do portu 25 na wydziaowym serwerze poczty. Skoro nauczylimy si ju tunelowania moemy przekierowa drugi port ten do odbierania poczty.
jan@lolek$ jas@poczta.naszauczelnia. edu.pl -L 8025:localhost:25 -L 8100: localhost:110

Alternatywnym rozwizaniem jest spakowanie plikw lokalnie, a nastpnie przesanie paczki za pomoc SCP. Wersja z uyciem potoku jest jednak bardziej elegancka i oszczdza nam zamieszania z tymczasowym plikiem archiwum. Istnieje rwnie opcja OpenSSH, pozwalajca na kompresj przesyanego strumienia danych. Wcza si j za pomoc przecznika -C. W czasach rozpowszechnienia sieci szerokopasmowych nie jest to czsto uywana opcja, ale niekiedy moe usprawni prac. Zwaszcza wtedy, gdy trzeba bdzie przesya dobrze kompresujce si dane, np. pliki tekstowe, przez sie o nieduej przepustowoci.

Skadnia komendy jest troch skomplikowana. Pierwsza cz ssh jas@poczta.naszauczelnia.edu.pl jest ju znana. Opcja -L oznacza, e SSH bdzie nasuchiwa na lokalnym porcie o numerze 8025 i to jest jeden koniec tunelu. Drugi podawany jest po dwukropku w postaci host: port, w naszym przypadku localhost:25. Naley zaznaczy, e zamiast 8025 mona wybra ktrykolwiek z wolnych portw, jednak do uycia numerw 1024 i mniejszych trzeba mie uprawnienia roota. Kolejn wan i powodujc prawdopodobnie najwicej nieporozumie rzecz jest nazwa hosta na drugim kocu tunelu. Jest ona podawana wzgldem komputera, na
Listing 3. Plik konfiguracyjny tsocks.conf
local = 192.168.0.0/255.255.255.0 local = 10.0.0.0/255.0.0.0 server = 127.0.0.1 server_type = 5 server_port = 8080

Teraz wystarczy skonfigurowa ulubionego klienta poczty i wskaza mu localhost:8025 jako serwer SMTP do wysyania poczty, za localhost:8110 do jej odbierania. Dziki temu moemy jednoczenie cieszy si komfortowym korzystaniem z poczty i bezpieczestwem jakie daje ochrona kryptograficzna kanau. Warto przy tym pamita, e tunel dziaa tak dugo jak dugo otwarta jest sesja SSH, po zakoczeniu poczenia do localhost:8025 i localhost: 8110 przestan dziaa. Gdy ju poznalimy podstawy tuneli zamy bardziej skomplikowan sytuacj. Wewntrz sieci akademickiej znajduje si serwer, na ktrym wykonujemy projekt serwisu WWW. Mamy dostp do niego zarwno przez SSH na standardowym porcie 22 jak i HTTP na porcie 80, ale tylko z komputerw w sieci wydziaowej. Co zrobi gdy chcemy popracowa nad projektem siedzc w domu? Moemy zalogowa si przez SSH na serwer pocztowy, z ktrego mamy bezporedni dostp do komputera projektowego. Nie jest to jednak zbyt wygodne, poniewa na obu tych serwerach mamy do dyspozycji wycznie przegldarki tekstowe, ktre nie wspieraj nowoczesnych technologii WWW takich jak Java Script czy CSS. Najwy-

Wchodzimy w tunel

Tunele sieciowe s potnym i bardzo wygodnym narzdziem, dziki ktremu mona zabezpieczy transmisj protokow nieszyfrowanych oraz omin niektre ograniczenia wprowadzone przez zapory ogniowe. W SSH tunele realizowane s za pomoc przekierowania portw (port forwarding). Rozwamy prost sytuacj, w ktrej dziki tunelowaniu, uzyskamy bezpieczny dostp do nieszyfrowanej usugi pocztowej. Na serwerze wydziaowym mamy konto pocztowe i konto powoki dostpne przez SSH. Niestety administrator udostpni poczt tylko przez nieszyfrowane protokoy POP3 i SMTP. Jeli nie chcemy, aby nasze dane byy przesyane niezabezpieczonym kanaem moemy posuy si SSH. Najprostszym rozwizaniem jest zalogowanie si do powoki serwera i obsuga poczty przez je-

Listing 4. Instalacja pakietu tsocks na serwerze w DMZ


jan@firmowy$ wget http://ftp.icm.edu.pl/pub/Linux/debian/pool/main/t/ tsocks/tsocks_1.8beta5-9.1_amd64.deb jan@firmowy$ scp tsocks_1.8beta5-9.1_amd64.deb jan@serwerfirmowy:~/ jan@firmowy$ ssh jan@serwerfirmowy jan@serwerfirmowy$ su jan@serwerfirmowy# cd ~jan jan@serwerfirmowy#dpkg -i tsocks_1.8beta5-9.1_amd64.deb

www.lpmagazine.org

47

Rozwizania Zabawa w SSHowanego

godniej byoby uy lokalnego Firefoksa z Firebugiem i innymi dodatkami, ale bezporednio na adres serwera projektowego si nie poczymy. W takiej sytuacji moemy zestawi tunel SSH za pomoc polecenia:
jan@lolek$ ssh jas@poczta.naszaucze lnia.edu.pl -L 9080:projekty:80 -L 9022:projekty:22

Teraz, po wpisaniu adresu http://localhost: 9080/janek/ przegldarka wywietli projekt strony, nad ktrym mona dalej bez przeszkd popracowa. Dostp do powoki serwera projektowego uzyskujemy przez SSH:
jan@lolek$ ssh localhost -l janek -p 9022

gdzie janek to nazwa naszego uytkownika na serwerze projektowym, a opcja -p pozwala otworzy poczenie na porcie innym ni standardowy 22, w tym wypadku na 9022. Czasem zabezpieczenia sieci wydziaowej s bardziej rygorystyczne i nie pozwalaj na logowanie si na serwer projektowy z serwera pocztowego. Wtedy, by mc pracowa nad projektem z domu, potrzebny bdzie komputer domowy z serwerem SSH osigalny z sieci Internet. W czasie pobytu na uczelni musimy dosta si do komputera projektowego i otworzy z niego sesj SSH na serwerze domowym za pomoc polecenia.
janek@projekty$ ssh -R 9022: localhost:22 jan@lolek.mojadomena.pl

Opcja -R oznacza, e zestawiony zostanie tunel odwrotny z lolka na serwer projektowy. Po powrocie do domu mona wykorzysta ten tunel by zalogowa si bezporednio do komputera projektowego wywoujc komend:
jan@lolek$ ssh localhost -l janek -p 9022

W Sieci

http://jakilinux.org/aplikacje/sztuczki-z-ssh/ Artyku o sztuczkach z SSH cz.1 http://jakilinux.org/aplikacje/sztuczki-z-ssh-2-tunele/ Cz druga artykuu. http://www.openssh.com/ strona projektu OpenSSH http://winscp.net/ WinSCP, klient SCP i SFTP dla systemw Windows http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty, klient SSH dla systemw Windows http://gftp.seul.org/ GFTP, graficzny klient m.in. SFTP. http://www.red-pill.eu/freeunix.shtml lista darmowych kont SSH http://fuse.sourceforge.net/sshfs.html SSHFS http://roumenpetrov.info/openssh/ Rozszerzenie X.509 dla OpenSSH.

oraz zestawienia drugiego tunelu po por- moc przekierowania portw SSH warto roztu HTTP. way kilka przypadkw jak z podobnie zabezpieczonej sieci si wydosta. jan@lolek$ ssh localhost -l janek -p Wiele sieci firmowych blokuje dostp do 9022 -L 9080:localhost:80 niektrych usug, np. wybranych serwerw WWW, pozostawiajc tylko te uznane za nieZnw skadnia polecenia staje si nieco skom- zbdne. Niestety, moe to skutecznie utrudni plikowana. Czytelnika moe zaniepokoi uy- prac i warto pozna sposb na obejcie takiego cie localhost. Cz ssh localhost -l ja- ograniczenia. Z pomoc przyjdzie serwer SSH nek -P 9022 jest ju znana i wbrew pozo- dostpny w Internecie. Najlepiej gdyby bya to rom powoduje zalogowanie na serwer projek- maszyna, na ktrej mamy uprawnienia roota, towy mimo, i uywamy adresu localhost, aby w razie potrzeby mc skonfigurowa SSH. co sugerowaoby raczej lokalny komputer. Tu- Zamy, e administrator sieci firmowej zablonel odwrotny czy port 9022 hosta lokalnego kowa nasze ulubione serwisy WWW, ale poi port SSH maszyny projektowej, dlatego te- zostawi moliwo logowania si na serwery raz poczenie do localhost:9022 otwiera se- SSH. Moemy uy jednego z takich serwerw sj na zdalnym komputerze. Druga cz po- jako porednika sieciowego (proxy) i przy jelecenia rwnie jest nam znana: otwiera tunel go pomocy uzyska dostp do zablokowanych z portu 9080 lokalnego komputera na port 80 usug. Polecenie: komputera z ktrym si czymy. Tu localhost oznacza serwer projektowy. Podobnego jan@firmowy$ jas@bolek.mojadomena.pl polecenia uylimy przy zabezpieczaniu pro- -D 8080 tokow pocztowych. Bardzo czsto nasz komputer domowy otwiera sesj na komputerze domowym, nie ma staego adresu IP i nie mona mu wte- a opcja -D sprawia, e bdzie on dziaa jako dy przypisa nazwy DNS. W takiej sytuacji na- serwer poredniczcy (proxy) typu SOCKS ley skorzysta z usugi dynamicznego DNS dynamicznie tworzc tunele do wybieranych oferowanego np. przez serwis dyndns.org. Po- przez nas adresw. Jeszcze tylko musimy odlega ona na przypisaniu komputerowi o zmien- powiednio skonfigurowa przegldark ustanym adresie IP staej nazwy DNS. Dziki temu wiajc proxy typu SOCKS i podajc localhost mona nawiza z nim poczenie SSH nawet jako adres serwera i port 8080 taki sam jaki jeli nie wiemy jaki aktualnie ma adres. Sytu- zosta okrelony przy wywoaniu SSH. Takie acja jest bardziej skomplikowana, gdy ani ser- ustawienia pozwalaj na poczenie si z serwer projektowy ani nasz komputer domowy wisami, ktre zostay oficjalnie zablokowane nie s osigalne z Internetu. Moliwe jest wte- przez administratora sieci, dziki tunelowaniu dy uycie publicznie dostpnego serwera SSH, komunikacji przez komputer domowy. np. jednego z serwisw oferujcych bezpatW wielu sieciach ograniczenia nakadane na ne konta na maszynach uniksowych i linukso- ruch sieciowy s wiksze. Administratorzy uniewych [7]. Warto zwrci uwag na to czy regu- moliwiaj poczenia przez SSH blokujc port lamin serwera nie zabrania uywania go w ce- 22 na zaporze ogniowej (firewall). Pozostaje jelu zestawiania tuneli i proxy. W wielu serwi- dynie moliwo uywania portw 80 (HTTP), sach jest to zabronione, bo powoduje wzmoo- 443 (HTTPS) i 8080 (alternatywne HTTP). Nany ruch sieciowy. ley wtedy serwer SSH skonfigurowa tak, aby Skoro wiemy ju wiele na temat uzyski- pracowa na jednym z trzech dozwolonych porwania dostpu do zabezpieczonej sieci za po- tw np. na 443. W tym celu dodajemy wpis Port 443 do pliku konfiguracyjnego demona OpenSSH /etc/ssh/sshd_config. Po zmianie trzeba pamita o restarcie usugi i mona nawiza poczenie z komputera firmowego wpisujc:
jan@firmowy$ jas@bolek.mojadomena.pl -D 8080 -p 443

Nie zmieniajc konfiguracji przegldarki znw mamy dostp do zablokowanych serwisw. Nie jest to jednak rozwizanie w peni satysfakcjonujce. Co prawda Firefox wspiera obsug proxy typu SOCKS, ale wiele programw tego nie potrafi. W takiej sytuacji pomoc-

48

stycze 2010

Rozwizania Zabawa w SSHowanego

nym moe okaza si program tsocks. Pozwala on korzysta z proxy SOCKS programom, ktre nie wspieraj konfiguracji z takim typem porednika. Dla aplikacji taki sposb poczenia jest przezroczysty, tak jakby czy si z sieci bezporednio. Instalujemy tscocks na komputerze firmowym poprzez
jan@firmowy$ sudo aptitude install tsocks

a nastpnie konfigurujemy w pliku /etc/ tsocks.conf jak na Listingu 3. Parametr local okrela, jakie adresy maj by traktowane jako lokalne. Oznacza to, e proxy nie bdzie stosowane do poczenia z nimi. Parametr server zawiera adres serwera poredniczcego. W tym wypadku jest to lokalny komputer firmowy czyli localhost (127.0.0.1). Parametr server-port wskazuje, na ktrym porcie nasuchuje porednik, jest to ten sam port co przy opcji -D polecenia ssh. Ostatni z parametrw server_type to typ proxy, wpisujemy tu 4 lub 5. Po zapisaniu konfiguracji moemy korzysta z dobrodziejstw jakie oferuje program. Polecenie:
jan@firmowy$ tsocks audacious

Zabezpieczenia potrafi jednak by bardzo uciliwe nie tylko dla wamywaczy, ale i dla uytkownikw. Przyjmijmy, e na naszym serwerze obok istniejcej ju witryny w PHP trzeba uruchomi drug stron napisan w Perlu. Zazwyczaj wymaga to zainstalowania wielu bibliotek Perla, a ich rczne instalacja zajaby p dnia. Kilka godzin pracy polegajcej na szukaniu moduw w repozytoriach, lub CPAN, pobieraniu ich, a nastpnie kopiowaniu na serwer i instalowaniu jeden po drugim to perspektywa, ktra moe zniechci. Na szczcie SSH pozwala nam zaoszczdzi tego wysiku. Na serwerze WWW jest ju zainstalowane OpenSSH, ale braknie pakietu tsocks. Pobierzemy go rcznie z jednego z serwerw lustrzanych Debiana, skopiujemy i zainstalujemy. Jak wida na powyszym przykadzie duo pracy jest z instalacj rczn nawet jednego pakietu. Po instalacji konfiguracja tsocks bdzie wygldaa tak samo jak na Listingu 3. Trzeba jeszcze tylko zestawi tunel odwrotny i uruchomi serwer poredniczcy. Zaczniemy od ponownego zalogowania si na serwer WWW
jan@firmowy$ ssh jan@serwerfirmowy -R 8022:localhost:22

tywa dla RCP. Zastpuje FTP przez bezpieczny protok SFTP. Dziki SSH moemy przekierowa porty, tworzy tunele i przekierowywa sesje X11 midzy rnymi komputerami w sieci. Zastosowanie autoryzacji przez klucze pozwala na proste stosowanie SSH w skryptach, nie wymagajcych interakcji uytkownika. Moemy rwnie utworzy porednika sieciowego, ktry zostanie wykorzystany przez przegldark WWW lub inne programy.

Rozwizania bazujce na SSH

powoduje, e tscocks uruchamia odtwarzacz muzyki Audacious. Wszystkie dania sieciowe, z wyjtkiem tych do adresw zdefiniowanych w parametrze local, tak uruchomionego odtwarzacza bd obsugiwane przez tsocks i przesyane przez proxy zbudowane w oparciu o SSH.

Teraz poczenia na port 8022 serwera bd przekierowywane do komputera firmowego. Polecenie:


jan@serwerfirmowy$ ssh jan@localhost -p 8022 -D 8080

Ucieczka ze strefy zdemilitaryzowanej

Mamy ju wystarczajco duo dowiadczenia z SSH, aby przystpi do bardziej zaawansowanego zadania. Pozwoli ono wykorzysta i utrwali zdobyt do tej pory wiedz. Przypumy, e administrujemy firmowym serwerem WWW. Systemem operacyjnym komputera jest Debian i mamy do niego dostp przez SSH. Nikt nie bdzie nam blokowa dostpu do serwera, ale jak si czsto zdarza maszyna zostaa umieszczona w strefie zdemilitaryzowanej (DMZ). DMZ to podsie, do ktrej jest dostp z sieci firmowej jak i z Internetu, ale komputery w niej si znajdujce nie mog nawizywa pocze na zewntrz strefy. Jest to powszechna praktyka bezpieczestwa. Jeli intruz przejby kontrol nad serwerem znajdujcym si w takiej strefie to nie moe si z niego poczy do komputerw pracownikw firmy ani do Internetu, w celu np. rozsyania SPAMu lub atakowania innych maszyn.

wydane z serwera WWW poczy nas do komputera lokalnego. Dodatkowo ustawi proxy na porcie 8080 za porednictwem ktrego bdzie mona czy si z Internetem, tunelujc ruch przez komputer lokalny. Kolejnym krokiem jest otwarcie drugiej sesji SSH i wykonanie jako root polecenia:
jan@serwerfirmowy# tsocks aptitude

a nastpnie wybranie i zainstalowanie niezbdnych pakietw oprogramowania. Po zakoczonej pracy zamykamy wszystkie sesje SSH a tym samym tunele. Poniewa tsocks zostao ju zainstalowane i skonfigurowane, nastpnym razem w podobnej sytuacji bdzie mona rozpocz od zestawiania tuneli. Trudno jest przeceni warto SSH. Jest ono czym wicej ni tylko szyfrowanym nastpc telnetu i rlogin. Pozwala na zdalne wykonywanie polece podobnie jak RSH, szyfrujc kana transmisji. Umoliwia kopiowanie plikw przez SCP jako bezpieczna alternawww.lpmagazine.org

W tym rozdziale przedstawionych zostanie kilka rozszerze i rozwiza bazujcych na SSH. Bardzo wygodnym narzdziem dla wielu uytkownikw moe okaza si SSHFS (SSH File System). Pozwala on na zamontowanie fragmentu systemu plikw zdalnego serwera na lokalnej maszynie i uywanie go jako dodatkowy dysk. Rozwizanie to wykorzystuje poczenie SSH i FUSE, czyli system plikw w przestrzeni uytkownika. Innym ciekawym rozwizaniem wykorzystujcym SSH jest protok FISH. Zosta on opracowany na potrzeby programu mc (Midnight Commander) do kopiowania plikw za pomoc zdalnych wywoa powoki. Wspiera nie tylko SSH, ale rwnie RSH. W praktyce jednak wykorzystuje ten pierwszy. Protok, poza Midnight Commanderem, jest uywany m.in. w popularnym menederze plikw KDE Konquerorze. W artykule zostaa przedstawiona moliwo autoryzacji w SSH za pomoc klucza kryptograficznego, ale warto rwnie wiedzie, e zostao opracowane rozwizanie pozwalajce na logowanie za pomoc certyfikatw X509. Certyfikaty, czyli bardziej zaawansowana wersja kluczy, oprcz samego materiau kryptograficznego zawieraj informacj o wacicielu certyfikatu i ciece certyfikacji organizacjach odpowiedzialnych za jego wystawienie. Rozszerzenie jest rozwijane niezalenie od gwnej gazi projektu OpenSSH. To jednak nie wszystko.Wachlarz pomysw na wykorzystanie SSH jest bardzo szeroki i zaley od inwencji i potrzeb uytkownikw.

O autorze
Autor jest z wyksztacenia inynierem elektroniki, Linuksem interesuje si od omiu lat. Na co dzie uywa go tak w pracy, jak i w domu a jego ulubione dystrybucje to Gentoo i Debian. Kontakt z autorem: w.terlikowski@terlikowski.eu.org

49

Rozwizania Prywatno poczty elektronicznej

Prywatno poczty elektronicznej


Marcin Teodorczyk

Gwarancja prywatnoci tradycyjnej korespondencji jest tak gboko zakorzeniona w naszej wiadomoci, e wiele osb niejako automatycznie przenosi j na grunt poczty elektronicznej. Niestety, zachowanie prywatnoci korespondencji w Internecie nie jest tak proste jak w przypadku korespondencji tradycyjnej. Mao tego, wikszo domylnych ustawie oferowanych nam przez dostawcw kont pocztowych (szczeglnie darmowych), czy te programy klienckie instalowane na komputerze wrcz zachca do atakw. Co zrobi aby znaczco utrudni przegldanie naszych listw osobom, do ktrych nie s one zaadresowane?

linux@software.com.pl

oszanowanie prywatnoci korespondencji jest jednym z podstawowych praw czowieka, wymienionym m.in. w Europejskiej Konwencji Praw Czowieka. Niestety, zawsze znajd si osoby, ktrym zalee bdzie na czytaniu cudzej poczty. Powody mog by rne, od zwykej ciekawoci po ch zysku np. z kradziey. Na szczcie, wystarczy kilkadziesit minut aby znaczco utrudni przegldanie naszych e-maili. Proces zapewniania prywatnoci naszej korespondencji elektronicznej mona podzieli na cztery etapy. Po pierwsze, trzeba sobie zda spraw z zagroe jakie dotycz wymiany danych z uyciem sieci Internet. Po drugie, naley wybra dostawc konta, ktry zapewni nam wymagan funkcjonalno oraz odpowiednio skonfigurowa swoje konto. Po trzecie, musimy si zastanowi w jaki sposb bdziemy korzysta z naszego konta. Czy bdzie to lokalnie zainstalowany klient pocztowy, przegldarka www, czy moe jeszcze jakie inne rozwizanie? Niezalenie od naszej decyzji, konieczne bdzie zadbanie o bezpieczestwo lokalne naszego komputera i wybranej techniki korzystania
stycze 2010

z poczty e-mail. I wreszcie po czwarte niezbdne s rozwizania kryptograficzne, pozwalajce na szyfrowanie treci naszych wiadomoci. Znacznie utrudni (praktycznie uniemoliwi) to odczytanie listu osobom, ktre nie bd posiada klucza.

Zagroenia prywatnoci korespondencji

Aby lepiej zrozumie zagroenia prywatnoci korespondencji e-mail, dobrze jest mie wiadomo jak w rzeczywistoci dziaa przesyanie wiadomoci przez Internet. W podstawowych zaoeniach Internet jest sieci w pewnym sensie rozgoszeniow. Oznacza to, e kady uytkownik moe podglda dane przesyane przez innych uytkownikw, niekoniecznie przeznaczone dla niego. Mnogo oprogramowania, udostpniajcego tak funkcjonalno (tzw. snifferw) jest zaskakujca i bez wtpienia moe sta si tematem odrbnego artykuu. Wspomn w tym miejscu najbardziej popularne, darmowe programy, takie jak tcpdump czy Wireshark (widoczny na Rysunku 1). Oprcz tego, kada wysana wiadomo, zanim dotrze do odbiorcy, prze-

50

Rozwizania Prywatno poczty elektronicznej

kazywana jest pomidzy serwerami. W najbardziej optymistycznym przypadku, e-mail przesany jest przez jeden serwer. Zwykle, jest to jednak kilka lub kilkanacie maszyn. I tutaj powoli dochodzimy do sedna sprawy. Na kadej z tych maszyn, nasza wiadomo moe by zazwyczaj bez wysiku odczytana przez administratora (lub kogokolwiek dysponujcego specyficznymi uprawnieniami). Kolejnym zagroeniem prywatnoci naszej korespondencji s dostawcy kont pocztowych. Prym wiod tutaj szczeglnie tzw. darmowe konta pocztowe. Przed utworzeniem dostawcy takich kont wymagaj od nas podania naszych danych osobowych (w tym danych okrelanych przez Polskie prawodawstwo jako wraliwe, np. adres zamieszkania) oraz co jest szczeglnie ryzykowne zgody na rozporzdzanie nimi. Mao tego, niektrzy dostawcy zawieraj w regulaminie take klauzul potwierdzajc nasz zgod na rozporzdzanie naszymi wiadomociami, w tym skanowanie ich zawartoci (!), oczywicie podajc na to rozsdny powd. Na koniec, co moe by dla niektrych zaskakujce, zagroeniem prywatnoci naszej korespondencji jestemy my sami (i adresaci naszych listw). Prdzej czy pniej, zgodnie z przeznaczeniem listu, musi on by przez kogo przeczytany. Skrupulatne zabiegi majce na celu zapewnienie prywatnoci naszej korespondencji na nic si zdadz, jeli komputer na ktrym tworzymy lub odczytujemy nasz wiadomo zainfekowany jest przez spyware, lub jeli po prostu jestemy nieuwani i np. nie uruchamiamy screen lockera za kadym razem, kiedy odchodzimy od komputera (nawet jeli jest to 5 minut, eby zrobi sobie kaw). Temat bezpieczestwa lokalnego jest jednak zbyt szeroki i nie zwizany bezporednio z tematem niniejszego artykuu. Dlatego te, w jego obrbie, ogranicz si do omwienia podstawowych zagadnie z nim zwizanych oraz bardziej szczegowo opisz oprogramowanie bezporednio uywane do korzystania z poczty elektronicznej, takie jak przegldarki WWW i klienci poczty.

to jest patne czy darmowe, zwracajc uwag na to, czy nie ma w nim zapisw potwierdzajcych np. nasz zgod na skanowanie i wykorzystywanie treci wiadomoci przez dostawc konta. Po drugie, tzw. darmowe konta e-mail, dla kogo kto troszczy si o wasn prywatno, wcale takie darmowe nie s, jak by si mogo wydawa. Owszem, nie wystpuje tutaj zapata za usug w formie pieninej, jednak cigle czym pacimy pacimy wasnymi danymi osobowymi. Oczywicie, regulaminy kont darmowych w ogromnej wikszoci wymuszaj na nas zgod na przetwarzanie tych danych (w tym skanowanie treci wiadomoci, ktre to potem moe zosta wykorzystanie do przesyania nam profilowanych reklam). W kocu w yciu nie ma nic za darmo. W tej sytuacji nasuwaj si dwa rozwizania: utrzymywanie wasnego serwera poczty lub zakupienie usugi u zaufanego dostawcy. Oczywistym jest, e pierwsze rozwizanie jest nie do przyjcia dla wikszoci uytkownikw. Zatem najlepsze wydaj si patne konta pocztowe, ktre oprcz znacznie przyjaniejszych zachowaniu prywatnoci regulaminw, charakteryzuj take zazwyczaj bogatsze moliwoci konfiguracji.

Ponadto, darmowe konta pocztowe, tak reklamowane pod wzgldem dostpnej powierzchni dyskowej, czsto nakadaj rygorystyczne ograniczenia na rozmiar pojedynczej wiadomoci i tym samym zacznikw oraz nie daj adnych gwarancji dziaania. W przeciwiestwie do tego, konta patne charakteryzuj zazwyczaj znacznie luniejsze ograniczenia (czsto ich brak) oraz gwarancja okrelonego czasu dziaania (ang. uptime). W dobie kiedy adres e-mail jest nie rzadko uywany do komunikacji z bankiem, pracodawc itp., dusza przerwa w dziaaniu mogaby okaza si tragiczna. Ba, nawet myl o zmianie samego adresu e-mail moe przyprawi o bl gowy. Oprcz tego, co duo waniejsze z punktu widzenia prywatnoci korespondencji, zdarza si, e darmowe konta nie udostpniaj krytycznych pod wzgldem bezpieczestwa opcji logowania przy pomocy protokow takich jak SSL (ang. Secure Socket Layer) lub TLS (ang. Transport Layer Security), szczeglnie dla klientw poczty. Brak zastosowania tych protokow umoliwia wrcz trywialne podsuchanie naszych danych autoryzacyjnych (loginu i hasa) i dyskwalifikuje konto nie tylko pod wzgldem prywatnoci.

Prawo do prywatnoci korespondencji


Artyku 8 Konwencji o ochronie praw czowieka i podstawowych wolnoci (Europejskiej Konwencji Praw Czowieka): PRAWO DO POSZANOWANIA YCIA PRYWATNEGO I RODZINNEGO 1. Kady ma prawo do poszanowania swojego ycia prywatnego i rodzinnego, swojego mieszkania i swojej korespondencji.

Dostawca konta pocztowego

Obecnie mamy na rynku bogat ofert zarwno darmowych jak i patnych kont pocztowych. Czym kierowa si przy wyborze jeli zaley nam na zachowaniu prywatnoci naszej korespondencji? Po pierwsze, naley uwanie przeczyta regulamin, niezalenie od tego, czy kon- Rysunek 1. Program do podsuchiwania ruchu sieciowego Wireshark
www.lpmagazine.org

51

Rozwizania Prywatno poczty elektronicznej

Podsumowujc, jeli prywatnoci korespondencji jest dla nas wana, korzystanie z darmowych kont e-mail, szczeglnie powszechnie dostpnych w duych portalach, nie jest dobrym pomysem. Wbrew pozorom, znalezienie odpowiedniego dla nas i przede wszystkim taniego, patnego konta pocztowego nie jest trudnym zadaniem. Przykadem firmy dostarczajcej elastyczne i sprawdzone rozwizania jest tutaj OVH, u ktrej mona take zakupi domen po-

zwalajc posiada prawdziwie wasny ad- jednak oczywistym powinno by np. nie stores e-mail. sowanie istniejcych sw (jakiegokolwiek jzyka), odpowiednia dugo hasa (miniKonfiguracja konta pocztowego mum 8 znakw?), nie uywanie danych perKonfiguracja konta pocztowego sprowa- sonalnych (imienia, nazwiska, daty urodzedza si do dwch krokw: ustawienia sil- nia czy ich kombinacji), stosowanie rnej nego hasa oraz upewnienia si, e istnie- wielkoci liter, cyfr i znakw interpunkcyjje moliwo uywania bezpiecznego po- nych itp. W Internecie dostpnych jest wieczenia (protoky SSL lub TLS w nowych, le generatorw hase on-line. Powstao te bezpiecznych wersjach). Okrelenie silne wiele programw sucych do generowania nie jest zbyt precyzyjne jeli chodzi o haso, silnych hase dla systemw GNU/Linux, np. pwgen, spassgen, apg.

Bezpieczestwo lokalne

Rysunek 2. Patne konto pocztowe z interfejsem WWW Roundcube

Rysunek 3. Przegldarka WWW Mozilla Firefox

Z wasnego konta e-mail najczciej korzystamy za pomoc tego samego (wasnego) komputera. Zgodnie z regu najsabszego ogniwa, na nic zdadz si inne zabiegi majce zapewni prywatno naszej korespondencji, jeli komputer ktrego uywamy do jej czytania nie jest wystarczajco dobrze zabezpieczony. W szczeglnoci niebezpieczne jest wszelkie oprogramowanie przechwytujce hasa (ang. spyware) oraz nasza ignorancja wobec innych osb, ktre maj fizyczny dostp do naszego komputera. Wbrew powszechnej opinii uywanie systemu operacyjnego spod znaku pingwina wcale nie zwalnia nas z odpowiedzialnoci za ochron naszej maszyny przed robakami, wirusami, trojanami, spyware czy malware. Podstaw jest tutaj praca z konta uytkownika ktry nie posiada uprawnie administratora. Dodatkowo, jeli mamy osobn partycj dla katalogu /home , moe warto ustawi dla niej bardziej restrykcyjne parametry (np. zabroni uruchamiania plikw na niej si znajdujcych, tworzenia plikw urzdze itp.). Oprcz zabiegw majcych nas uchroni przed zoliwym oprogramowaniem, powinnimy te zabezpieczy nasz komputer przed zoliwymi ludmi. Podstaw jest tutaj wczenie hasa w BIOSie na uruchomienie komputera lub przynajmniej na modyfikacj ustawie. Kolejn rzecz wart wykonania jest wyczenie uruchamiania systemu z wszelkich zewntrznych nonikw, w szczeglnoci pyt CD/DVD oraz pamici USB. I wreszcie, chcc si zabezpieczy niemal w 100%, powinnimy przechowywa nasz korespondencj na osobnej, szyfrowanej partycji (moe si na niej znajdowa oczywicie np. cay katalog /home). Takie podejcie uniemoliwi odczytanie danych z dysku twardego bez znajomoci klucza (hasa), np. po jego wyjciu z naszego komputera. Pomocnym programem jest tutaj Truecrypt. Samo zagadnienie bezpieczestwa lokalnego jest bardzo szerokie i moe by tematem
stycze 2010

52

Rozwizania Prywatno poczty elektronicznej

na ca seri artykuw. Dlatego te, w dalszej czci tego artykuu skoncentruje si na konfiguracji przegldarki WWW i klienta pocztowego, ktre bezporednio wi si z uytkowaniem poczty elektronicznej.

Konfiguracja przegldarki WWW


Podstawow rzecz o jak naley zadba jest komunikacja z uyciem bezpiecznego protokou SSL lub TLS. Naley tutaj zwrci uwag na wersj protokou. Np. protok SSL w wersji 1.0 zosta ju skompromitowany i praktycznie nie zapewnia adnego bezpieczestwa. Wan rzecz jest te sam algorytm uywany do szyfrowania w obrbie protokou SSL (ktry sam w sobie obsuguje wiele algorytmw). Algorytm szyfrowania ustalany jest midzy przegldark i serwerem podczas nawizywania poczenia, na podstawie list obsugiwanych przez obie strony algorytmw. Najprostszym sposobem na upewnienie si, e nasze poczenie jest szyfrowane jest sprawdzenie adresu URL. Powinien on zaczyna si na https://. Niestety, cigle nie wszystkie konta i przegldarki WWW (szczeglnie lekkie, alternatywne przegldarki) udostpniaj tak moliwo. Oprcz tego, dobrze jest w miar moliwoci nie uywa funkcjonalnoci zapamitaj moje haso. Oczywiste jest, e przy obecnej liczbie posiadanych hase moe to by bardzo trudne. Na szczcie, z pomoc przychodzi nam rozwizanie porednie, dostpne m.in. w przegldarce Mozilla Firefox. Mianowicie, dostp do hase, ktre s przez przegldark zapamitywane chroniony jest dodatkowo jednym tzw. hasem gwnym (ang. master password), ktre musi by wprowadzane przy uyciu klawiatury, za kadym razem po uruchomieniu przegldarki.

ne powinny by podane przez dostawc konta. Przykadowo, w kliencie poczty Mozilla Thunderbird (Rysunek 4) do ustawie tych uzyska mona dostp poprzez menu Edycja Konfiguracja kont a nastpnie zakadk Konfiguracja serwera i ramk Ustawienia zabezpiecze. Oczywicie wybra naley TLS lub SSL. Oprcz tego, podobnie jak w przypadku przegldarki WWW, w miar moliwoci lepiej nie korzysta z opcji zapamitaj moje haso.

Szyfrowanie treci wiadomoci

Ostatnim elementem, koniecznym dla poprawienia prywatnoci korespondencji w Internecie, jest szyfrowanie treci przesyanych wiadomoci. Zabezpiecza to przed odczytaniem ich przez administratorw serwerw przez jakie wiadomo jest przesyana. Do wyboru mamy tutaj dwa rozsdne rozwizania: szyfrowanie oparte o model PGP (ang. Pretty Good Privacy) lub szyfrowanie oparte o certyfikaty X.509. Oba rozwizania opieraj si o kryptografi asymetryczn i s powszechnie stosowane. W kryptografii asymetrycznej kady uytkownik dysponuje par kluczy (prywatnym i publicznym). W praktyce klucze zwykle s plikami. Klucz publiczny, jak sama nazwa wskazuje, jest publicznie dostpny. Klucz prywatny, powinien by znany tylko wacicielowi. Algorytmy kryptografii asymetrycznej s tak skonstruowane, e tekst zaszyfrowany z uyciem klucza publicznego, odszyfrowany moe by tylko z uyciem przyporzdkowanego mu klucza prywatnego.

W bardziej wymagajcych zastosowaniach klucze mog by realizowane w postaci sprztowej (karty chipowe, pamici USB). Technika taka zabezpiecza przed skopiowaniem klucza prywatnego przez zoliwe oprogramowanie, czy przesanie go przez sie. Naley przy tym mie wiadomo, e ta sama technika wykorzystywana jest do skadania podpisu cyfrowego. Osoba skadajca podpis uywa jednak swojego klucza prywatnego (ktry posiada tylko ona), a ktrego uycie moe by zweryfikowane przez kadego kluczem publicznym teje osoby. Wan cech systemw PGP i X.509 jest sposb weryfikacji kluczy publicznych (potwierdzania, e dany klucz publiczny rzeczywicie naley do osoby, o ktrej mylimy). Czemu to jest takie wane? Klucz publiczny powizany jest z tosamoci swojego waciciela i uywany do szyfrowania wiadomoci wysyanych do niego. Gdyby komu udao si podstawi wasny klucz publiczny w miejsce oryginalnego, byby on w stanie odszyfrowa przechwycone wiadomoci wasnym kluczem prywatnym.

PGP
PGP jest jednym z najpopularniejszych narzdzi wykorzystywanych do szyfrowania poczty elektronicznej. Istniej 3 wersje systemu: wersja przeznaczona do celw komercyjnych (sprzedawana przez przedsibiorstwo PGP Inc.), wolnodostpna wersja przeznaczona do uytku na terenie USA (ze wzgldu na ograniczenia patentowe) oraz wolnodo-

Konfiguracja klienta pocztowego


Wikszo klientw pocztowych posiada w konfiguracji opcje dotyczce bezpieczestwa i/lub prywatnoci. Niestety, czsto, domylne ustawienia nie s najlepszym wyborem. Krytyczne z punktu widzenia prywatnoci jest podobnie jak w przypadku przegldarki WWW, ustawienie szyfrowanego poczenia (SSL lub TLS). Potrzebne do tego da-

Akronimy
GPG ang. GNU Privacy Guard PGP ang. Pretty Good Privacy SSL ang. Secure Socket Layer TLS ang. Transport Layer Security
Rysunek 4. Klient poczty Mozilla Thunderbird www.lpmagazine.org

53

Rozwizania Prywatno poczty elektronicznej

stpna wersja przeznaczona do uytku poza USA. W oparciu o PGP powsta otwarty standard OpenPGP. W systemie PGP klucze publiczne weryfikowane s przy uyciu tzw. sieci zaufania (ang. web of trust). Technika ta polega na tym, e kady uczestnik sieci podpisuje swoim kluczem prywatnym klucze publiczne innych uczestnikw, ktrych poprawno zweryfikowa w jaki sposb (np. osobicie). Jeli ktry z uytkownikw chce sprawdzi czy pewien klucz publiczny rzeczywicie naley do danej osoby, prbuje uoy acuch zaufania w postaci: ja zwery-

fikowaem, e A to A i podpisaem jego klucz natomiast A zweryfikowa, e B to B i podpisa jego klucz. Majc zatem klucz B, podpisany przez A, ktremu ufam, mog z du doz prawdopodobiestwa stwierdzi autentyczno klucza B. Istnieje wiele wolnodostpnych implementacji PGP, zarwno w postaci autonomicznych aplikacji jak i wtyczek wykorzystywanych w programach pocztowych. Wymieni tutaj mona m.in. Mozill Thunderbird (z wtyczk Enigmail), Sylpheed lub Sylpheed Claws (z wbudowan obsug PGP), czy te dziaajcy w trybie tekstowym Mutt.

PGP i Mozilla Thunderbird


OpenPGP dla systemw GNU/Linux dostarczane jest m.in. przez implementacj GPG (ang. GNU Privacy Guard). Pakiet ten jest dostpny w repozytoriach praktycznie kadej dystrybucji. Mona go take pobra ze strony domowej projektu http://www.gnupg.org/. GPG obsugiwane jest z linii polece, jednak jak mona si atwo domyli, istniej take nakadki graficzne. Funkcjonalno szyfrowania i podpisu z uyciem GPG dostpna jest dla Mozilli Thunderbird za porednictwem wtyczki Enigmail, ktr mona pobra ze strony http://enigmail.mozdev.org/home/index.php. Po zainstalowaniu wtyczki (menu Narzdzia Dodatki) i zrestartowaniu klienta poczty mona przystpi do generowania wasnej pary (lub par) kluczy. W tym celu naley wybra z menu: OpenPGP Zarzdzanie kluczami (Rysunek 5). Nastpnie naley wypeni wszystkie pola wedle uznania. Bardzo wane jest przy tym to, e do zabezpieczenia naszego klucza prywatnego standardowo stosowane jest haso. W przypadku jego zapomnienia nasza para kluczy staje si bezuyteczna. Istnieje jeszcze moliwo, e utracimy dostp do wszystkich kopii naszych kluczy w jaki inny sposb (awaria dysku, kradzie sprztu itp.). Nie bdziemy wtedy w stanie odszyfrowa listw do nas wysyanych. Sytuacji takiej mona zapobiec poprzez wygenerowanie za certyfikatu uniewanienia (ang. revocation certificate), o co Enigmail pyta uytkownika na kocu procedury generowania kluczy. Dziki niemu bdzie mona poinformowa wszystkich naszych znajomych o zdeaktualizowaniu naszej pary kluczy. Zanim bdziemy mogli wysa zaszyfrowany e-mail musimy jeszcze zdoby tylko publiczne klucze naszych potencjalnych odbiorcw. Analogicznie, aby mc otrzyma zaszyfrowan poczt, ktra moe by odszyfrowana tylko naszym kluczem prywatnym, musimy udostpni wszystkim znajomym nasz klucz publiczny. Nikt nie moe nam zabroni wymiany kluczy osobicie lub z wykorzystaniem strony WWW, jednak duo prociej mona to zrobi z uyciem opcji dostpnej w samym programie Enigmail. Po poprawnym skonfigurowaniu, podczas tworzenia nowej wiadomoci zobaczymy pozycj OpenPGP na pasku narzdziowym, ktra pozwoli nam w peni korzysta z systemu, dajc moliwo zarwno szyfrowania jak i podpisywania wiadomoci. Oczywicie, aby wysa komu zaszyfrowan wiadomo, osoba ta take musi posiada pa-

Rysunek 5. Klient poczty e-mail Mozilla Thunderbird system PGP

Rysunek 6. Klient poczty e-mail Mozilla Thunderbird certyfikaty X.509

54

stycze 2010

Rozwizania Prywatno poczty elektronicznej

r kluczy OpenPGP. Na szczcie standard OpenPGP posiada kilka implementacji dla rnych systemw operacyjnych, kompatybilnych midzy sob.

Certyfikaty X.509
Certyfikaty X.509 dziaaj w oparciu o te same podstawy co PGP, jednak stosuj inny sposb weryfikacji kluczy publicznych. Kluczowym elementem s tutaj tzw. urzdy certyfikacji (zaufana strona trzecia), ktre wydaj certyfikaty (bdce de facto kluczami publicznymi / prywatnymi). W przeciwiestwie do PGP, klucze nie s generowane ani podpisywane bezporednio przez uytkownikw. Aby otrzyma par kluczy (certyfikat) naley zgosi si do jednego z urzdw certyfikacji, ktrych list znale mona na stronie Narodowego Centrum Certyfikacji (http: //www.nccert.pl/ncc/home.aspx). Po pomylnym rozpatrzeniu naszej proby przez wybrany urzd, nasz publiczny certyfikat stanie si widoczny w systemie dla innych uytkownikw, a my otrzymamy klucz prywatny w postaci pliku. W systemie X.509 klucze publiczne weryfikowane s poprzez uporzdkowan, hierarchiczn struktur urzdw certyfikacji, przy czym na jej szczycie znajduje si Narodowe Centrum Certyfikacji. Niezaprzeczaln zalet tego systemu jest uznanie w polskim prawodawstwie podpis cyfrowy skadany z uyciem certyfikatu X.509 jest rwnoprawny podpisowi tradycyjnemu. Wracajc jednak do szyfrowania wiadomoci e-mail. Standard X.509, podobnie jak OpenPGP, posiada wiele wolnodostpnych implementacji, take w postaci wtyczek (np. dla przegldarki Mozilla Firefox). Klient poczty Mozilla Thunderbird posiada wbudowan obsug certyfikatw X.509, a program pocztowy Mutt wykorzystuje bibliotek OpenSSL.

i Certyfikaty (Rysunek 6). Uzyskane od centrum certyfikacji certyfikaty mona importowa wybierajc Wywietl certyfikaty Importuj. Domylne minimum zabezpieczenia naszego klucza prywatnego to haso. Stanowi ono ostatnie ogniwo zabezpieczenia przed jego uyciem przez osob niepowoan (nawet po jego wykradzeniu). Oprcz tego Mozilla Thunderbird umoliwia take korzystanie z bardziej zaawansowanych technik do tego celu, takich jak urzdzenia bezpieczestwa (rozwizania sprztowe). Po poprawnym skonfigurowaniu moemy, podobnie jak w przypadku OpenPGP, zarwno szyfrowa jak i podpisywa nasz korespondencj. Oczywicie, aby by w stanie wysa komu zaszyfrowan wiadomo, osoba ta take musi posiada poprawny certyfikat X.509.

e 2 ostatnie bity koloru kadego piksela obrazka s czcia przeznaczonej dla niego wiadomoci, moe j odczyta bez trudu. Oczywicie nic nie stoi na przeszkodzie umieszczenia takiej informacji w pikselach kadej klatki filmu nagranego na pyt DVD, zamiast w obrazku bmp.

Podsumowanie

Bardziej zaawansowane techniki

Certyfikaty X.509 i Mozilla Thunderbird


W kliencie poczty Mozilla Thunderbird ustawienia dotyczce certyfikatw X.509 dostpne s przez menu Edycja Preferencje, a nastpnie zakadki kolejno Zaawansowane

Na zakoczenie, jako ciekawostka, kilka sw na temat bardizej zaawansowanych technik uywanych do przesyania danych (w tym korespondencji). Pierwsz z nich jest tzw. one-time padding. Zasada dziaania jest bardzo prosta i jednoczenie zapewnia bardzo wysok wydajno. Mianowicie, szyfrowanie i deszyfrowanie wiadomoci odbywa si poprzez wykonywanie operacji XOR na bitach przesyanej wiadomoci i klucza. Technika ta daje 100% bezpieczestwo przesyanych danych, jednak jest bardzo wymagajca pod wzgldem dystrybucji klucza (dugo klucza musi by co najmniej rwna dugoci wiadomoci). W praktyce stosowana jest gwnie przez sektor wojskowy, przy czym odpowiednio dugi klucz transportowany jest przed nadaniem wiadomoci. Drug technik, o ktrej warto wiedzie jest steganografia. Technika ta polega na ukrywaniu informacji w innej informacji. Przykadem moe by tutaj ukrywanie informacji w obrazie, np. pliku bmp, z wykorzystaniem jednego lub kilku najmniej znaczcych bitw opisujcych kolor kadego piksela. Oko ludzkie nie jest w stanie wychwyci takiej informacji, natomiast odbiorca wiedzcy skad ind,

Prywatno korespondencji stanowi wspczenie bardzo powany i jednoczenie bagatelizowany problem, a szyfrowanie poczty elektronicznej, niezbdne do zapewnienia prywatnoci, wielu ludziom wydaje si przeznaczone tylko dla paranoikw/dziwakw. Mao tego, niektrzy wyznaj zasad, e na prywatnoci zaley tylko ludziom, ktrzy maj co do ukrycia. Zazwyczaj, co niezgodnego z prawem. W dodatku to wszystko jest zagmatwane i trudne do zrealizowania. Ergo, szyfrowanie poczty elektronicznej jest cigle mao popularne wrd uytkownikw domowych. A tak naprawd, istniej rozwizania, ktre pozwalaj w prosty sposb uzyska cakiem niez prywatno na potrzeby domowe. Przy zaoeniu, e wikszo z nas prywatnie nie potrzebuje penoprawnego podpisu cyfrowego, funkcjonalno szyfrowania poczty e-mail uzyska mona za darmo (z wykorzystaniem OpenPGP). Bogactwo atwego w obsudze i wolnodostpnego oprogramowania dla systemw GNU/Linux oraz wieloplatformowo rozwiza uatwia to zadanie jeszcze bardziej. Wystarczy tylko odrobina wysiku. Nie naley jednak zapomina, e w procesie wymiany wiadomoci uczestnicz co najmniej dwie strony. Pewnym problemem moe okaza si przekonanie osoby, z ktr korespondujemy, aby take zadbaa o prywatno naszej korespondencji. By moe niniejszy artyku okae si pomocny.

O autorze
Autor jest dowiadczonym uytkownikiem systemw GNU/Linux (jaki czas temu szczeglnie upodoba sobie dystrybucj ArchLinux) oraz absolwentem Informatyki jednej z najwikszych polskich uczelni technicznych. Obecnie pracuje jako asystent informatyczny w dziale bezpieczestwa jednego z wiodcych w Polsce dostarczycieli usug obliczeniowych i sieciowych. Kontakt z autorem: marcin@teodorczyk.info

W Sieci
The International PGP Home Page http://www.pgpi.org/ The Gnu Privacy Guard http://www.gnupg.org/ Narodowe Centrum Certyfikacji http://www.nccert.pl/ncc/home.aspx Mozilla Thunderbird http://www.mozilla-europe.org/pl/products/thunderbird/ Enigmail http://enigmail.mozdev.org/home/index.php Mozilla Firefox http://www.mozilla-europe.org/pl/firefox/

www.lpmagazine.org

55

Rozwizania Synchronizacja danych na wielu nonikach

Synchronizacja danych na wielu nonikach


Pawe Wolniewicz

Przenoszenie i kopiowanie danych pomidzy komputerami, nonikami USB oraz serwerami FTP moe doprowadzi do baaganu i pojawienia si wielu wersji tego samego dokumentu, z wprowadzonymi rnymi zmianami. Jednym ze sposobw uniknicia takich problemw jest skorzystanie z narzdzi pozwalajcych na synchronizacj plikw. Pozwol nam one rwnie na zadbanie o bezpieczestwo dokumentw i wykonanie kopii zapasowej.

linux@software.com.pl

o dyspozycji mamy co najmniej kilka wartociowych aplikacji. W artykule zaprezentowane zostan trzy rozwizania, ktrych wspln cech jest obecno graficznego interfejsu oraz przenono. Z programw tych moemy skorzysta w niemal dowolnym systemie operacyjnym, a ich obsuga nie wymaga duych umiejtnoci. Testy aplikacji synchronizujcych dane rozpoczniemy od napisanego w Javie DirSync Pro. Nastpnie zapoznamy si z konkurencyjnym Synkronem oraz mniej zaawansowanym narzdziem programem FullSync. Wspomniane zostanie rwnie najbardziej podstawowe rozwizanie, wymagajce uycia dziaajcej w linii polece aplikacji rsync. Wyprbowanie kilku moliwoci powinno pozwoli kademu uytkownikowi na znalezienie aplikacji dobrze odpowiadajcej jego potrzebom.

kownikw poszukujcych narzdzia pozwalajcego na szybk synchronizacj katalogw na wielu nonikach, a take na przenoszenie danych (oraz samego programu) pomidzy komputerami. DirSync Pro sprawdza si w tej roli bardzo dobrze. Program jest wieloplatformowy. Na jego stronie domowej znale mona pakiety przeznaczone dla systemw Windows/Linux/MacOS. Jedyne wymaganie stanowi obecno w komputerze rodowiska Java Runtime Environment (JRE) w wersji co najmniej 1.5.0 (zalecane 1.6.0). Aplikacja nie posiada instalatora. Konieczne jest jedynie cignicie i rozpakowanie archiwum przeznaczonego dla odpowiedniego systemu operacyjnego. Nastpnie naley wyda polecenie java -jar DirSync Pro.jar. Mona te uruchomi plik DirSync Pro.jar bezporednio z poziomu menedera plikw. Jeeli program nie bdzie dziaa poprawnie (ze wzgldu na zbyt DirSync Pro ma ilo zarezerwowanej pamici), to skorzystajmy ze prostota, szybko i przenono skryptu DirSyncPro.sh, ktry znajduje si w pakiecie raDirSync Pro nie jest programem imponujcym ogromem zem z aplikacj. opcji. Z drugiej strony zyskuje na tym prostota obsugi. Zalet DirSync Pro stanowi przejrzysty interfejs. NieAplikacja ta jest zatem wietnym rozwizaniem dla uyt- mal wszystkie funkcje zgromadzone s na trzech zakadstycze 2010

56

Rozwizania Synchronizacja danych na wielu nonikach

kach. W systemie menu znajdziemy natomiast tylko opcje suce do uruchamiania i zatrzymywania procesu synchronizacji, a take zapisywania ustawie. Dziki takiemu rozwizaniu nie musimy si obawia, e przeoczymy cz z parametrw aplikacji, co w przyszoci zaowocuje wykonywaniem kopii zapasowej niezgodnie z naszymi zamierzeniami. Niemal caa zawarto systemu menu znajduje si te na osobnym pasku z ikonami. Rezultaty dziaania programu wywietlane s na pierwszej z zakadek, noszcej nazw Output. Prac z aplikacj powinnimy jednak rozpocz od jej skonfigurowania. Su do tego dwie pozostae karty Dir settings i Default settings. Rozpocznijmy od drugiej z nich. Zakadka Default settings zawiera ustawienia oglne, ktre po jednorazowym zapisaniu mona powiela we wszystkich synchronizowanych katalogach. Nie stanowi to jednak obowizku DirSync Pro pozwala bowiem na utworzenie osobnych preferencji dla kadego z zada (za pomoc karty Dir settings). Aplikacja dysponuje ponadto standardowym pakietem ustawie, do ktrego mona powrci w kadym momencie, naciskajc przycisk Reset Default Settings, znajdujcy si na zakadce Default settings. Domylne preferencje powinny sprawdzi si wikszoci sytuacji, tym niemniej warto powici par chwil na upewnienie si, e odpowiadaj one naszym potrzebom. Zakadka Default setting pozwala przede wszystkim na wprowadzenie wyrae regularnych decydujcych, ktre z katalogw oraz plikw zostan uwzgldnione w trakcie synchronizacji. Domylnie w polach Include directories oraz Include files wpisana jest gwiazdka. Takie ustawienia powoduj automatyczne uwzgldnienie wszystkich danych. W celu pominicia plikw lub katalogw o okrelonych nazwach naley wpisa odpowiednie wyraenia w polach Exclude directories i Exclude files. Moemy rwnie zrezygnowa z rekurencyjnej synchronizacji wszystkich podfolderw. Umoliwia to opcja Include subfolders, znajdujca si w ramce Sync using this options. Domylnie jest ona aktywna, co oznacza, e DirSync przejrzy wszystkie podkatalogi. W trakcie synchronizacji program uwzgldnia pliki nowe oraz zmodyfikowane. Moliwe jest jednak nakazanie kadorazowego kopiowania wszystkich zbiorw. Inn opcj stanowi aktualizowanie tylko tych plikw, ktrych wielko jest rna na obu synchronizowanych nonikach. Wszystkie te ustawienia znajduj si w ramce Sync these files and dirs. Osobn kategori stanowi dowi-

zania symboliczne. Program moe je pomin lub potraktowa jak zwyke pliki. O zachowaniu aplikacji decyduj ustawienia okrelone w ramce Handling Linux symbolic links. DirSync Pro oferuje jeszcze kilka bardzo przydatnych funkcji. Jedn z nich stanowi moliwo tworzenia kopii zapasowej synchronizowanych danych. Pozwala to na powrt do wersji plikw znajduj-

cych si na danym noniku przed uruchomieniem aplikacji. Program umoliwia rwnie na okrelenie przez uytkownika regu postpowania w wypadku wystpienia konfliktw. Domylnie ustawienia zakadaj, e w razie uaktualnienia pojedynczego pliku w obu lokalizacjach kopiowana bdzie jego nowsza wersja. Aby unikn utraty danych moemy jednak zdecy-

Rysunek 1. Konfiguracja DirSync Pro. Domylne ustawienia mona wykorzysta podczas kolejnych synchronizacji

Rysunek 2. DirSync Pro pozwala nam na okrelenie dla kadego z zada rnych parametrw synchronizacji

www.lpmagazine.org

57

Rozwizania Synchronizacja danych na wielu nonikach

dowa si na bezpieczniejsze rozwizanie, zaznaczajc opcj Rename & copy both files to both dirs. W razie wystpienia licznych konfliktw owocuje to jednak pojawieniem si wielu nowych plikw. Jeeli chcemy unikn baaganu, to zdecydujmy si na funkcj Do nothing: just warn me. Poza tym program moe rozwiza konflikt poprzez kopiowanie pliku o wikszych rozmiarach. Wszystkie wymienione opcje znale mona w ramce Bidirectional sync conflicts. Ciekaw funkcj stanowi moliwo ignorowania zmian wprowadzonych w niewielkich odstpach czasu. Pozwala to na uniknicie niepotrzebnego kopiowania tych samych wersji plikw zapisanych z opnieniem na powolnych nonikach. Rnica kilku sekund w dacie modyfikacji czsto oznacza, e dane w rzeczywistoci nie zostay zmienione. W takiej sytuacji kopiowanie nie jest potrzebne. DirSync Pro moe zignorowa takie dane. Dugo odstpu czasowego, ktra zdecyduje o przeprowadzeniu synchronizacji, mona okreli za pomoc wartoci Timestamp threshold, znajdujcej si w ramce Source files time stamps. Warto te zastanowi si nad skorzystaniem z serwera czasu, jeli porwnywane pliki bd modyfikowane i zapisywane z poziomu rnych urzdze. W takiej sytuacji rozregulowanie zegara moe spowodowa chaos i niepotrzebne nadpisywanie dokumentw w trakcie synchronizacji. Wszystkie wymienione ustawienia programu s opisane bezporednio na karcie Default settings. Wystarczy wskaza kursorem

myszy interesujc nas funkcj. Taki intuicyjny system pomocy doskonale uatwia prac z aplikacj. DirSync Pro wywietla rezultat swojego dziaania na karcie Output, na kilku osobnych zakadkach. Zawieraj one informacje dotyczce kopiowanych, modyfikowanych i kasowanych plikw, a take list ewentualnych bdw. Logi mona filtrowa, wywietlajc tylko te, ktre odnosz si do zadania wskazanego przez uytkownika. Pozwala na to lista widoczna po lewej stronie karty. Aplikacja wywietla ponadto na bieco informacje o stanie zaawansowania prac, umieszczajc je u dou okna, poniej zakadek. Funkcja ta jest bardzo przydatna w trakcie synchronizacji duych zbiorw danych. Pierwszy z przetestowanych przez nas programw umoliwia bardzo wygodne i szybkie uaktualnianie zawartoci katalogw. Sytuacja komplikuje si jednak, jeli zamierzamy kopiowa dokumenty pomidzy wieloma lokalizacjami, stosujc rne filtry oraz zasady nadpisywania plikw. Mimo to mona poradzi sobie i z takim zadaniem, tworzc dodatkowe zadania. Nie jest to trudne, dziki intuicyjnoci i czytelnoci interfejsu aplikacji DirSync Pro.

Synkron wiele funkcji, trudniejsza obsuga

Nieco bardziej skomplikowanym program jest Synkron. Nie oznacza to jednak, e oferuje on o wiele wicej funkcji. Po prostu interfejs aplikacji nie jest ju tak czytelny, jak

Rysunek 3. DirSync Pro w akcji. Aktualizacja plikw zostaa zakoczona powodzeniem.

w przypadku DirSync Pro. W efekcie pierwsze wraenie moe sugerowa, e Synkron posiada o wiele wiksze moliwoci. Tak jednak nie jest, cho program oferuje bardzo przydatn funkcj synchronizacji wielu rde z pojedyncz lokalizacj docelow, czego nie umoliwia DirSync Pro. Synkron jest narzdziem wieloplatformowym, wyposaonym w interfejs oparty na bibliotekach Qt. Aplikacja dostpna jest w postaci kodu rdowego oraz binariw przeznaczonych dla systemw Windows i MacOS. Posiadacze popularnych dystrybucji Linuksa mog rwnie znale pakiety pozwalajce na uniknicie samodzielnej kompilacji. Paczki binarne s dostpne midzy innymi dla OpenSuSE oraz Ubuntu. Jeeli kompilacja okae si konieczna, to naley j wykona za pomoc polece lrelease Synkron.pro; qmake -config release; make. Po uruchomieniu programu na ekranie pojawia si gwne okno z pojedyncz zakadk. Kada karta stanowi w Synkronie osobne zadanie (tak zwan synchronizacj). Zakadki dodajemy za pomoc ikony Dodaj tab. Synchronizacje wielu lokalizacji tworzymy osobno, po przeczeniu si do widoku Multi synchronizacja, rwnie za pomoc ikony widocznej na pasku poniej gwnego menu. Program pozwala zatem na jednoczesne wykonywanie wielu zada reprezentowanych przez osobne zakadki. Rozpocznijmy od prostej synchronizacji. Jej widok dostpny jest po naciniciu ikony Synchronizuj. Wbrew pozorom funkcja ta pozwala na kopiowanie plikw pomidzy wieloma lokalizacjami. Wystarczy nacisn ikon plusa widoczn na lewo od przycisku Foldery synchronizacji. Powinnimy przy tym wskaza lokalizacj katalogu (Przegldaj). Przed przeprowadzeniem waciwej synchronizacji kliknijmy przycisk Analiza. Synkron wywietli wwczas w okienku list plikw, ktre musz zosta zmienione lub skopiowane. Moemy usun niektre wpisy, likwidujc krzyyk znajdujcy si obok ich nazw. Po wprowadzeniu wszystkich potrzebnych zmian mona nacisn przycisk Synchronizuj. Program wykona operacje sygnalizowane w analizie i wywietli raport. Ewentualne bdy zostan zaznaczone na czerwono. Prosta synchronizacja polega w wykonaniu Synkrona na ujednoliceniu zawartoci wszystkich katalogw wskazanych przez uytkownika. Nie ma tu lokalizacji rdowych i docelowych. W efekcie uzyskujemy lustrzane kopie tego samego katalogu. Problem pojawia si, gdy wiadomie usuniemy jeden z plikw z ktrego z folderw. Syn-

58

stycze 2010

Rozwizania Synchronizacja danych na wielu nonikach

kron bdzie wwczas uparcie przywraca go z pozostaych kopii. Standardowe ustawienia aplikacji mona na szczcie zmieni. Pozwala na to zestaw parametrw ukrytych pod opcj Zaawansowane. Domylnie jest ona nieaktywna, co powoduje, e szczegowe ustawienia nie s widoczne. Po zaznaczeniu tej opcji dodatkowe parametry pojawi si w dolnej czci okna programu. Opcje zaawansowane pozwalaj na zmuszenie Synkrona do synchronizacji plikw ukrytych, rekurencyjnego przechodzenia do podkatalogw, monitowania o pojawiajcych si konfliktach, a take ledzenia dowiza symbolicznych. Osobn funkcj stanowi moliwo uaktualniania tylko istniejcych plikw. Dziki niej pozbdziemy si problemu opisanego wczeniej, polegajcego na cigym kopiowaniu do docelowej lokalizacji raz usunitych zbiorw. Po zaznaczeniu opcji Aktualizuj (tylko istniejce pliki) Synkron nie bdzie na nowo tworzy skasowanych dokumentw. Program nie oferuje systemu pomocy kontekstowej, ktry tak bardzo uatwia prac z DirSync Pro. Pomoc stanowi jedynie polskojzyczna lokalizacja aplikacji oraz podrcznik uytkownika dostpny na stronie domowej aplikacji (http: //sites.google.com/site/synkrondocumentation). W poczeniu z nieco mniej intuicyjnym interfejsem powoduje to, e Synkron nie jest tak prosty w obsudze, jak opisany wczeniej program.

rze, ktre zostan uwzgldnione w tworzonej regule. Uzupeniamy j za pomoc przycisku Dodaj, wpisujc odpowiedni cig znakw (zaczynajc od kropki) w okienku Ustaw rozszerzenie. Po utworzeniu filtrw moemy je doda do nowej lub jednej z istniejcych synchronizacji. W tym celu naley otworzy opcje zaawansowane, a nastpnie uaktywni ramk Filtry i zaznaczy odpowiednie reguy. Synkron pozwala nam przy okazji na okrelenie

dozwolonej rnicy w czasie zapisu kopiowanych plikw. Jeli nie przekroczy ona wskazanego limitu, to dane nie zostan zaktualizowane. Domylnie graniczna warto wynosi dwie sekundy. Wszystkie utworzone synchronizacje moemy wykona samodzielnie lub zaplanowa. W drugim przypadku powinnimy skorzysta z moduu Zadania. Po przejciu do niego za pomoc przycisku na pasku ikon naley przede wszystkim klikn Dodaj. Spo-

Filtry i czarna lista

Opcje zaawansowane Synkrona pozwalaj Rysunek 4. Synkron pozwala na synchronizacj wielu rde z jednym katalogiem docelowym. nam dodatkowo na stosowanie filtrw. Stanowi one wyraenia regularnie wskazujce pliki, ktre powinny zosta uwzgldnione w trakcie synchronizacji. Filtry to przeciwiestwo czarnych list, ktre rwnie moemy zdefiniowa. Jest to istotna zaleta Synkrona pod tym wzgldem program ten gruje nad DirSync Pro. Dziki temu aplikacja wietnie sprawdza si zwaszcza wtedy, gdy chcemy wykona kopi jedynie wybranych dokumentw, wyrniajcych si rozszerzeniami. Filtry definiujemy w osobnym trybie aplikacji, do ktrego przechodzimy za porednictwem przycisku na pasku ikon lub polecenia Widok>Filtry. Po lewej stronie okna pojawia si wwczas pusta lista regu. Nowe filtry tworzymy klikajc przycisk Dodaj. Moemy wwczas okreli nazw reguy. Powinna by ona zrozumiaa, gdy to za jej pomoc zidentyfikujemy odpowiednie filtry w trakcie przygotowywania nowych zada. Po prawej stronie okna znajduje si natomiast lista rozsze- Rysunek 5. Ustawienia Synkrona ukryte s pod opcj Zaawansowane.
www.lpmagazine.org

59

Rozwizania Synchronizacja danych na wielu nonikach

woduje to wstawienie pierwszego zadania. Otrzymuje ono nazw Untitled schedule. Mona j zmieni za pomoc pola edycyjnego widocznego w centralnej czci okna. Nieco niej powinnimy zobaczy ramk Opcje zada. W swojej lewej czci zawiera ona list synchronizacji oraz multisynchronizacji. Zaznaczmy te, ktre maj wej w skad tworzonego zadania. Poza tym powinnimy jeszcze okreli odstpy czasu lub konkretne godziny, w ktrych wykonywana bdzie synchronizacja. Pozwalaj na to dwie zakadki widoczne w prawym, dolnym naroniku okna. Karta Synchronizacja czasw umoliwia okrelenie dni oraz godzin, w ktrych uruchamiane bdzie zadanie. Nowe wpisy tworzymy klikajc przycisk Dodaj. Aby wykona synchronizacj tylko w niektre dni naley zaznaczy opcj Daty/Dni. Pozwoli to na wybranie daty z kalendarza lub zaznaczenie wybranych dni tygodnia. Poza tym Synkron moe uruchamia zadania w odstpach czasu okrelonych przez uytkownika. W tym celu powinnimy skorzysta z karty Synchronizuj okresowo. Automatyczna synchronizacja wymaga, by program by cay czas uruchomiony. Jest to konieczne zwaszcza wtedy, gdy decydujemy si na wczanie zada w niewielkich odstpach czasu. W takiej sytuacji przydatna okae si funkcja minimalizacji Synkrona do ikony znajdujcej si na pasku zada. Znajdziemy j w menu Opcje. Polecenie Uruchom ukryty spowoduje, e po restarcie programu pojawi si on tylko w postaci ikony. Przejcie do gwnego okna moliwe bdzie po klikniciu prawym przyciskiem myszy i wybraniu z kontekstowego menu komendy Poka. Rozwizanie to sprawi, e Synkron nie bdzie rzuca si w oczy, a jednoczenie wykona ca zaplanowan prac. Moemy rwnie dodatkowo zada automatycznego uruchomienia zada po kadorazowym wczeniu programu. Pozwala na to polecenie Opcje>Synchronizuj wszystko przy starcie. Jeeli natomiast nie chcemy, by program rezydowa cay czas w pamici, to skorzystajmy z komendy Opcje>Zamknij Synkron po synchronizacji.

FullSync rozwizanie dla minimalisty

Rysunek 6. Gwne okno programu FullSync. Aplikacja wywietla w nim list przygotowanych zada.

Dwa opisane do tej pory narzdzia do tworzenia kopii zapasowej oraz synchronizowania wielu nonikw z danymi posiadaj bogaty zestaw funkcji. Jeli jednak nie speniaj one naszych wymaga, to ciekawe rozwizanie moe stanowi aplikacja FullSync. Podobnie jak pozostae programy dziaa ona w kilku systemach operacyjnych. Lista funkcji tego narzdzia, zamieszczona na jego stronie domowej, jest w porwnaniu z konkurencj stosunkowo krtka. Aplikacj FullSync mona pobra ze stron Sourceforge. Dostpne s tam trzy rne pakiety, w tym dwa przeznaczone dla uytkownikw systemu Linux. Dobrym rozwizaniem jest cignicie pojedynczego pliku FullSyncInstaller.jar. Zawiera on instalator aplikacji, wymagajcy (tak jak sam program) obecnoci wirtualnej maszyny Java. Pobrany plik uruchamiamy poleceniem java -jar FullSyncInstaller.jar. Instalator zapyta nas wwczas o lokalizacj katalogu docelowego. W razie potrzeby folder zostanie utworzony. Nastpnie instalator rozpakuje archiwum. Przy okazji otrzymamy powiadomienie, e utworzenie skrtw w menu menedera okien nie jest moliwe. Oczywicie nie wpywa to w aden sposb na dziaanie samego programu. Po zakoczeniu instalacji naley przej do utworzonego katalogu, a nastpnie wyda polecenie bin/fullsync.sh. Uruchomi ono program. Gwne okno aplikacji, a waciwie okienko, wyglda bardzo niepozornie. Wydanie polecenia File>New Profile otworzy kreatora nowego zadania. Jest on stosunkowo prosty, wymaga jedynie okrelenia sposobu synchronizacji (rozwijana lista Type), harmonogramu wykonywania kopii (przycisk Edit Scheduling), ewentualnego zdefiniowania filtrw (ramka RuleSet) oraz, co najwaniejsze, wskazania lokalizacji rdowej i docelowej. Dodatkowo powinnimy jeszcze wprowadzi nazw (Name) i opis (Description) zadania. FullSync obsuguje cztery modele synchronizacji. Domylnie stosowanym jest Publish/Update. Kopiuje on wszystkie zmiany dokonane w lokalizacji rdowej do katalogu docelowego. Nowe pliki, ktre pojawiy si w midzyczasie w drugim z folderw, s ignorowane. Jeeli chcemy sprawi, by obie lokalizacje zawieray identyczne dane, to powinnimy skorzysta z opcji dwukierunkowej synchronizacji (Two Way Sync). Program uwzgldni wwczas zmiany wprowadzone w obu katalogach. Dwie pozostae opcje synchronizacyjne su natomiast
stycze 2010

gwnie do wykonywania kopii zapasowej. Funkcja Backup Copy wprowadza wszystkie zmiany do lokalizacji docelowej. Jeli w midzyczasie w katalogu rdowym zostay usunite pliki, to nie zostan one skasowane z folderu zawierajcego kopi zapasow. Moemy jednak sprawi, by dane te zostay mimo wszystko zlikwidowane. Powinnimy w tym celu skorzysta z opcji Exact Copy. Ona rwnie wykonuje kopi zapasow katalogu rdowego, dbajc przy tym, aby lokalizacja docelowa zawieraa identyczne dane. Rezultat jest wic podobny jak w przypadku dwukierunkowej synchronizacji. Ewentualne zmiany wprowadzone w katalogu docelowym s jednak ignorowane. Okrelajc sposb synchronizacji danych moemy jednoczenie ustali odstpy czasu, w jakich ma zosta wykonane kopiowanie. W tym celu naley zaznaczy pole Enabled i klikn przycisk Edit Scheduling. FullSync pozwala na wykonywanie zaplanowanych synchronizacji w wyznaczonych odstpach czasu (Interval) oraz za pomoc tabeli crontab. Wyboru pomidzy dwoma opcjami dokonujemy z wykorzystaniem rozwijanej listy Scheduling Type. Dodatkowo konieczne jest rwnie wskazanie, kiedy lub w jakich odstpach czasu zadanie ma by uruchamiane. Program umoliwia pominicie niektrych plikw lub katalogw podczas kopiowania danych. Suy do tego ramka RuleSet widoczna w dolnej czci okienka Profile. Standardowo zaznaczona jest opcja Simple Rule Set, pozwalajca na wprowadzenie wyrae regularnych decydujcych o odrzuceniu okrelonych zbiorw (Ignore pattern) lub ich zaakceptowaniu, z wykluczeniem wszystkich pozostaych (Accept pattern). Aby wskaza pliki o kilku wybranych rozszerzeniach naley wpisa przykadowo .+\.(txt|odt). Spowoduje to uwzgldnienie lub pominicie dokumentw tekstowych w formatach TXT oraz ODT. Sposb korzystania z filtrw zosta opisany skrtowo na stronie domowej programu (http://fullsync.sourceforge.net/ docs/manual/RuleSets.html). Mona tam rwnie znale informacje dotyczce uycia funkcji Advanced Rule Sets. Zalecane jest jednak korzystanie z opcji podstawowych regu, o ile tylko okazuj si one wystarczajce. Po okreleniu sposobu synchronizacji, regu i ewentualnej automatyzacji zadania, mona zapisa wprowadzone zmiany. Oczywicie konieczne jest wprowadzenie lokalizacji katalogu rdowego oraz docelowego. FullSync pozwala na wskazanie zarw-

60

Rozwizania Synchronizacja danych na wielu nonikach

no folderw lokalnych, jak i znajdujcych si na serwerach FTP. W pierwszym przypadku naley klikn przycisk znajdujcy si po prawej stronie pola edycyjnego Source lub Destination i odnale waciwe miejsce w strukturze katalogw. Jeli decydujemy si na synchronizacj z serwerem FTP, to trzeba wpisa rcznie pen ciek dostpu (na przykad ftp://localhost/public_html/), a take dane potrzebne do zalogowania (pola Username i Password). Po utworzeniu profile pojawiaj si w gwnym oknie aplikacji. Aby rozpocz synchronizacj naley zaznaczy jeden z nich, a nastpnie nacisn przycisk Run Profile. Mona te skorzysta z opcji o takiej samej nazwie, znajdujcej si w menu File. W obu przypadkach program rozpoczyna prac od porwnania zawartoci obu katalogw, przedstawiajc list planowanych czynnoci. Jest ona wywietlana w osobnym okienku Task Decision. Moemy zdecydowa si na wybranie tylko niektrych akcji. W takiej sytuacji naley zaznaczy pozostae, klikn je prawym przyciskiem myszy i wybra z podrcznego menu komend Ignore. Jeli obawiamy si, e aplikacja moga przeoczy niektre zmiany, to w prawym dolnym narou okna wybierzmy z rozwijanej listy opcj Everything. Po sprawdzeniu poprawnoci raportu kliknijmy Go. FullSync rozpocznie kopiowanie i nadpisywanie plikw. Po zakoczeniu pracy aplikacja powinna wywietli komunikat Profile execution finished. Aby unikn samodzielnego, kadorazowego uruchamiania poszczeglnych zada, powinnimy uaktywni opcj automatyzujc synchronizacj. Suy do tego ikona Start Scheduler. Od momentu jej nacinicia program bdzie dziaa w tle, nie wywietlajc raportw. Automatyczn synchronizacj moemy zakoczy przyciskiem Stop Scheduler. Jeeli chcemy jednak, aby funkcja ta bya aktywna bez przerwy, to wejdmy do okienka ustawie aplikacji (Edit>Preferences). Znajdziemy tam opcj autostart Scheduler. Jest ona odpowiedzialna za samoczynne wczanie zada po starcie programu. Domylnie pozostaje ona nieaktywna. Okienko ustawie pozwala nam dodatkowo na okrelenie zachowania programu podczas jego wyczania. Standardowo FullSync dostpny jest take z poziomu paska zada. Te opcj moemy jednak zlikwidowa, usuwajc zaznaczenie obok napisu Close minimizes to System Tray. Poza tym program pozwala nam na ukrycie ekranu i prb o potwierdzenie pojawiajcych si odpowiednio podczas startu oraz zamykania aplikacji.

FullSync nie stanowi w sumie rozbudowanego programu, a moliwoci personalizacji rwnie nie s imponujce, wbrew opinii samego twrcy aplikacji. Na korzy tego narzdzia moe jednak paradoksalnie przemawia jego prostota. Jeeli poszukujemy programu, ktry wystarczy uruchomi, szybko skonfigurowa i uaktywni opcj automatycznej synchronizacji, to FullSync jest mimo wszystko dobrym rozwizaniem. Bardzo przydaje si rwnie funkcja kopiowania danych na serwery FTP. Wad stanowi pojawiajce si niekiedy problemy z obsug wyrae regularnych. Aplikacja nie radzi sobie z tym bezbdnie, co stanowi powany minus w sytuacji, w ktrej chcemy uaktualnia pliki w wybirczy sposb.

Co wybra?

Kady z trzech opisanych programw mona z powodzeniem wykorzysta podczas wykonywania kopii zapasowych lub synchronizowania danych znajdujcych si na wielu nonikach. Wybr zaley wic przede wszystkim od osobistych preferencji. Uytkownik poszukujcy narzdzia oferujcego jak najwicej funkcji moe rozway skorzystanie z Synkrona. Wany atut tego programu stanowi moliwo wygodnego definiowania wielu filtrw, a take czarnej listy. Bardzo przy-

daj si ponadto rozbudowane funkcje suce do przeprowadzania zaplanowanych synchronizacji. Nie naley rwnie zapomina o osobnym trybie sucym do podgldu i odzyskiwania zastpionych plikw. Opcj kopii zapasowej oferuje jednak rwnie DirSync Pro. Najsabiej pod tym wzgldem prezentuje si FullSync. Jeli nie chcemy rezygnowa z zaawansowanych funkcji, a du wag przykadamy do prostoty obsugi, to powinnimy zainteresowa si narzdziem DirSync Pro. Dwjce liderw zdecydowanie ustpuje trzeci z przetestowanych programw FullSync. Oferuje on najbardziej ograniczony zestaw opcji. Problemem s rwnie drobne bdy w pracy programu. Zalet wszystkich opisanych aplikacji stanowi ich wieloplatformowo. Dziki temu moemy synchronizowa dane przechowywane na komputerach pracujcych pod kontrol niemal dowolnego systemu operacyjnego. Pozwoli to nam na przykad na wykonywanie kopii zapasowej na pojedynczym noniku, ale z poziomu wielu urzdze. Dane moemy rwnie przechowywa na zdalnym serwerze, uzyskujc do nich dostp z kadego systemu. Uniwersalno opisanych tutaj rozwiza uatwia synchronizacj i kopiowanie danych, poprawiajc tym samym ich bezpieczestwo.

W Sieci
DirSync Pro http://directorysync.so urceforge.net/; Synkron http://eyeos.org/; FullSync http:// fullsync.sourceforge.net/;

O autorze
Autor korzysta z Linuksa od ponad dziesiciu lat, zajmuje si wdraaniem oprogramowanie Open Source. Adres kontaktowy: pawelw@open-enterprise.net.

Rysunek 7. FullSync pozwala na atwe zsynchronizowanie zawartoci lokalnego dysku z serwerem FTP.

www.lpmagazine.org

61

Rozwizania Mechanizm hase jednorazowych

Mechanizm hase jednorazowych


Bartomiej Bergier

Od wielu lat hasa s najpopularniejsz metod uwierzytelniania uytkownika w systemach komputerowych. Metoda ta, z punktu widzenia bezpieczestwa nie jest pozbawiona wad. Najczciej najsabszym ogniwem jest tutaj czynnik ludzki. Pozyskanie lub odgadnicie hasa przez nieuprawnion osob pozwala niepowoanej osobie na dostp do zasobw. Aby zapobiec takim sytuacjom i znaczco zwikszy bezpieczestwo, opracowano mechanizmy hase jednorazowych. Jak sama nazwa wskazuje, haso jednorazowe moe by wykorzystanie w procesie uwierzytelniania tylko jeden raz, po czym traci wano. W artykule przedstawi jak dziaaj takie mechanizmy od rodka oraz jak zaimplementowa je w systemie GNU/Linux.

linux@software.com.pl

omimo cigego postpu, klasyczne hasa (wielokrotnego wykorzystania) posiadaj wiele wad. Czsto zdarza si, e przechowywane w bazie danych hasa nie s szyfrowane, skd mog by z atwoci odczytane. Spraw dodatkowo uatwia czynnik ludzki, a wic skonno ludzi do posiadania sabych hase (sownikowych) jak np. imiona osb najbliszych. Inna metod pozyskania hase jest podsuchiwanie sieci w momencie logowania si uytkownika do systemu. Protokoy takie jak FTP, HTTP czy telnet przesyaj hasa w czystej postaci. Obecnie praktycznie wszdzie, gdzie dba si o bezpieczestwo wykorzystuje si silne mechanizmy szyfrowania (protokoy TLS i SSL dla usug webowych) oraz SSH (ang. Secure Shell) jako zamiennik usugi telnet. To uniemoliwia przechwycenie hase poprzez podsuch. Jednak i te mechanizmy mona obej, wykorzystujc np. bezporednie podsuchiwanie klawiatury poprzez zoliwie umieszczone w systemie keyloggery, czy te bardziej przyziemne podgldanie hase przez rami podczas wpisywania. Due znaczenie ma tutaj czynnik ludzki. Inn czsto spotykan prakstycze 2010

tyk, szczeglnie, gdy kto posiada wiele hase do wielu usug jest po prostu ich zapisywanie na kartkach gdzie w pobliu miejsca pracy. W systemie Linux standardowo hasa kont uytkownikw przechowywane s w pliku /etc/shadow. S one zaszyfrowane, a sam plik ma prawa roota. Jednak, gdy wpadnie w niepowoane rce mona na nim sprbowa wczeniej wspomnianych metod sownikowych czy bruteforce (np. za pomoc narzdzia John The Ripper).

Zasada dziaania mechanizmu hase jednorazowych

Uwierzytelnianie za pomoc hase jednorazowych opiera si na autentykacji dwuczynnikowej (ang. two-factor authentication). Polega to na tym, i do poprawnej autentykacji wymagane s dwa elementy: to co uytkownik wie (jego sekretne haso) to co uytkownik ma (moe to by lista hase jednorazowych na papierze, specjalne urzdzenie lub program zwane kalkulatorem)

62

Rozwizania Mechanizm hase jednorazowych

Na pocztku uytkownik musi ustali sekretne haso, ktre pamita. Haso to zna rwnie serwer. W procesie autentykacji uytkownik otrzymuje od serwera wyzwanie (ang. challenge). Jest to okrelony rodzaj cigu znakw. Wprowadza go wraz ze swoim zapamitanym sekretnym hasem do kalkulatora (urzdzenia sprztowego lub programu). Kalkulator, stosujc znane sobie algorytmy, oblicza odpowied, ktr uytkownik przesya do serwera. Serwer zna sekretne haso uytkownika, wic oblicza spodziewan odpowied i porwnuje z t, ktr wprowadzi uytkownik. Kadorazowo uytkownik otrzymuje inne wyzwanie. Dziki podejciu dwuczynnikowej autentykacji wejcie w posiadanie jednego z elementw na nic si nie zda atakujcemu.

ka jest tutaj wykorzystywane albo do aktywacji tokenu, albo do permutowania hasa generowanego przez token. Wad systemw synchronicznych jest szybkie wyczerpywanie si baterii sprztowych tokenw, gdy cay czas musz pozosta wczone jak rwnie ryzyko rozsynchronizowania si na skutek rnych czynnikw zewntrznych (np. pogody) tokenu i serwera. Mona to korygowa poprzez zwikszenie okna wanoci hasa, jednak kosztem bezpieczestwa.

Podatno na ataki

Rodzaje systemw hase jednorazowych

Przedstawiony powyej system hase opiera si o mechanizm wyzwania i odpowiedzi (ang. challenge-response). Systemy tego typu zwane s rwnie asynchronicznymi. W tego typu systemach odpowied na wezwanie generowana jest przy pomocy kalkuListing 1. Fragment wygenerowanej listy hase jednorazowych latora. Kalkulatorem moe by albo dedykowane urzdzenie (sprztowy token), ktry 000 g6Jk bpJk 056 eO%D ZmhZ 112 dG6F PRO3 168 7KE6 x53Q 224 bk5+ 22xk uytkownik zawsze przy sobie nosi lub te 001 FC%8 MhZq 057 u3SR 84Vf 113 w%wy e9cA 169 rROf LD6c 225 v5Zg uMaQ odpowiednie oprogramowanie, instalowane 002 UeWE mDk% 058 noB7 mKCM 114 Cmxv vLE+ 170 t%mY TLkr 226 %Cz9 74er na komputerze uytkownika, w jego telefo003 wMsi rd:b 059 4Gi/ Vk:b 115 =s+v xquF 171 OuCJ EBjy 227 J9o7 UdMG nie komrkowym czy na pendrive'ie. Inny004 in3% mmGw 060 JZR3 96Pn 116 3H=L D=%r 172 Xr3s cbn+ 228 Gv5q Ofzv mi metodami generowania odpowiedzi, sto005 SyV= eWgp 061 DkdH fDzI 117 8Vd7 tBPz 173 59U5 kBBI 229 %HW4 R2uJ sowanymi szczeglnie w bankach do przeprowadzania operacji s pregenerowane listy hase jednorazowych jak rwnie hasa dostarczane za porednictwem SMSw. Polega to na tym, i pocztkowo, po ustaleniu sekretnego hasa, na jego podstawie specjal ny program generuje okrelon ilo hase jednorazowych. Lista ta zostaje wydruko wana i uytkownik cay czas nosi j przy sobie. Z kad now operacj czy te logowa niem do systemu jako wyzwanie uytkow nik otrzymuje numer hasa z listy hase jed norazowych i wprowadza go wraz ze swoim sekretnym hasem. Tak si dzieje a do wyczerpania zbioru hase. Wtedy naley wyge nerowa now list hase. Innym rodzajem systemw hase jedno razowych s systemy oparte na synchroniza cji czasu serwera i uytkownika (ang. clock based), zwane synchronicznymi. W tego ty pu rozwizaniach serwer OTP synchronizuje token sprztowy i zdaln maszyn, do ktrej uytkownik chce si zalogowa. Nowe haso generowane jest przez token przewanie co 30-60 sekund. Sekretne haso uytkowni- Rysunek 1. Generowanie hase algorytmem S/KEY
www.lpmagazine.org

Niestety nie ma rzeczy doskonaych. Hasa jednorazowe rwnie podatne s na kilka rodzajw atakw. Jednym z nich jest po prostu atak polegajcy na kradziey listy hase lub tokenw sprztowych. By temu zapobiec stosuje si, jak ju napisano wczeniej dodatkowy sekret (haso), ktre stanowi drugi element konieczny do poprawnej autentykacji. Nie zapominajmy jednak, e gdy atakujcy wejdzie w posiadanie listy hase, moe prbowa zdoby sekretne haso uytkownika, uywajc wczeniej opisanych technik na zwyke hasa.

Innym atakiem, na jaki podatne s systemy OTP jest atak Man-in-The-Middle. Jest to atak polegajcy na podsuchu i modyfikacji wiadomoci przesyanych przez dwie strony, bez ich wiedzy, przez osob trzeci (atakujcego). Atakujcy przekierowuje ruch przez swj komputer, co jest moliwe dziki saboci protokow DNS czy ARP. Mona si przed tym broni czc jednorazowe hasa z technologiami bezpiecznej warstwy gniazdowej (szyfrowanie dziki protokoom SSL/TLS), mechanizmu klucza publicznego czy bezpiecznej powoki (SSH). Jeszcze innym atakiem, wymylonym specjalnie w celu przechwytywania hase jest atak na ostatni znak (ang. LCA Last Character Attack). Polega on na tym, e atakujcy podsuchuje klawiatur uytkownika do momentu a ten wpisze wszystkie znaki hasa oprcz ostatniego. W tym momencie stara si wykona atak DoS na stacj uytkownika, uniemoliwiajc mu ukoczenie wprowadzania hasa. Prbuje wtedy nawiza wiele jednoczesnych pocze i w kadej sesji wprowadza znan mu cz hasa zakoczon innym znakiem. Przedstawiona pniej imple-

63

Rozwizania Mechanizm hase jednorazowych

mentacja OTPW chroni si przed tym tak, i w przypadku wykrycia rwnoczesnych sesji prosi o wprowadzenie nie jednego lecz zlepku trzech rnych hase jednorazowych.

Implementacje

Jedn z pierwszych implementacji hase jednorazowych dla systemw typu Unix by system autentykacji S/KEY opracowany pod koniec lat 80-tych przez firm Bellcore. Korzysta on z algorytmu Leslie Lamporta. Algorytm ten bazuje na pseudolosowym ziarnie i wielokrotnym wywoywaniu kryptograficznej funkcji skrtu. Na pocztku sekretne ziarno jest dostarczane przez uytkownika lub generowane przez komputer. Na ziarnie wykonywana jest okrelon ilo razy funkcja skrtu, tworzc pewn ilo hase jednorazowych. Ziarno jest odrzucane, a uytkownik otrzymuje list hase, wydrukowanych w odwrotnym kierunku ni byy generowane. Na serwerze jest przechowywane tylko pierwsze haso z listy hase uytkownika. Uytkownik,

majc ziarno i odpowiednie oprogramowanie, jest natomiast w stanie obliczy haso o danym numerze (lub poda z listy ju obliczone). Serwer nie prosi o podanie tego hasa, ktre pamita, lecz o poprzednie. Uytkownik przesya je, a serwer na podanych danych wykonuje raz jeszcze funkcj skrtu, porwnujc wynik z zapamitanym sekretem. Jeli rezultaty s zgodne, serwer pozwala si zalogowa i zapamitane rozwinicie zostaje zastpione przez warto ostatnio podan przez uytkownika. Funkcj skrtu w przypadku S/KEY jest MD4. Wewntrznie S/KEY uywa liczb 64-bitowych, jednak dla wygody uytkownika kada liczba jest mapowana na sze angielskich sw (kade o dugoci od 1 do 4 liter). Bezpieczestwo systemu bazuje na nieodwracalnoci funkcji haszujcej. Jednak jest ona podatna na opisywane ataki man-in-the middle oraz wszelkie ataki oparte na sytuacji wycigu (ang. race condition) takie jak LCA. Jeli zostanie poznane sekretne ziarno, cay system zostaje skompromitowa-

ny. Wad algorytmu jest rwnie to, e znajc dowolne haso z listy, moemy wygenerowa na jego podstawie wszystkie poprzednie hasa. System S/KEY dokadnie opisany jest w dokumencie RFC 1760. Mechanizm generowania hase dla algorytmu S/KEY przedstawia Rysunek 1. Kontynuacj rozwiza zastosowanych w S/KEY jest implementacja o nazwie OPIE (One Time Password In Everything). Bazuje ona na funkcji haszujcej MD5. Dla systemu Linux dostpna jest w formie moduw PAM. Niestety, jako e rwnie opiera si o algorytm Leslie Lamporta, posiada wszystkie wady swojego poprzednika. System bazuje na zaoeniach przedstawionych w dokumencie RFC 2289. Strona projektu jest niestety martwa, naley liczy wic jedynie na paczki dla konkretnych dystrybucji. Jako, e duo lepsz alternatyw z punktu widzenia wygody uytkowania i bezpieczestwa jest implementacja OTPW, w artykule nie bdziemy zajmowa si integracj systemu OPIE z usugami systemu GNU/Linux.

OTPW

Projekt OTPW, w przeciwiestwie do OPIE nie bazuje na algorytmach okrelonych w dokumencie RFC 2289. Jest o wiele prostszym systemem, a przy tym bardziej bezpiecznym. Autorem projektu jest Markus Kuhn z Uniwersytetu Cambrigde.

Zasada dziaania
OTPW bazuje na generowanej licie hase jednorazowych. Pierwszym etapem jest utworzenie listy hase jednorazowych za pomoc komendy otpw-gen. Program zapyta o haso, ktre bdzie podstaw wygenerowania listy hase jednorazowych. Fragment listy hase jednorazowych przedstawia Listing 1. Domylnie hasa jednorazowe przedstawiane s w postaci cigw wygenerowanych funkcj base64. Spacje s widoczne tylko dla czytelnoci i nie naley ich wprowadza w procesie logowania. Dla wygody uytkownika znaki, ktre mona atwo pomyli ze sob s zastpowane innymi (0,1,l przez :,=,%). Przecznik -p1 programu otpw-gen pozwala na wygenerowanie mniej bezpiecznych, ale bardziej czytelnych hase jednorazowych, gdzie kade jest sekwencj piciu angielskich sw czteroliterowych. Hasa takie szybciej si wpisuje, jednak s bardziej podatne na podgldanie, gdy o wiele atwiej podejrze cig sw ni przypadkowe znaki. Kade haso jednorazowe posiada unikalny numer porzdkowy na licie. Prostycze 2010

Rysunek 2. Generowanie listy hase jednorazowych z parametrem -p1

64

Rozwizania Mechanizm hase jednorazowych

ces generowania listy widoczny jest na Rysunku 2. Oto fragment listy hase wygenerowanej z parametrem -p1: Moemy formatowa list hase za pomoc przecznikw -h oraz -w. Przecznik -h okrela ilo linii (wraz z nagwkiem, ktry zajmuje 4 linie). Przecznik -w natomiast okrela liczb znakw w poziomie. Innymi przecznikami s -s, pozwalajcy na okrelenie liczby stron wysyanych na wyjcie oraz -e, okrelajcy entropi. Czym jego warto wiksza, tym wiksza moliwa liczba kombinacji hase dokadnie moliwa liczba hase to 2 do potgi okrelonej przez ten parametr. Lista hase jest zapisywana w pliku .otpw znajdujcym si w katalogu domowym uytkownika. Skasowanie tego pliku powoduje wyczenie korzystania z OTPW dla danego uytkownika. W momencie logowania uytkownik po podaniu loginu zamiast standardowego monitu o haso otrzymuje monit o wprowadzenie hasa jednorazowego o danym numerze z listy hase. Prezentuje to Rysunek 4. Teraz musi wprowadzi swoje sekretne haso sklejone z hasem z listy hase o podanym numerze.

Bezpieczestwo

System OTPW minimalizuje w znacznym stopniu ryzyko ataku na ostatni znak (LCA). W momencie, gdy zostanie wykryta wicej ni jedna sesja dla danego uytkownika, wyzwanie skada si nie z jednego, ale z trzech numerw hase jednorazowych. Przypadek taki przestawiony jest na Rysunku 5. Wyglda to w ten sposb:
berdzi@debian:~$ ssh localhost Password 180/258/048:

mie Lamporta, w ktrym kade haso jednorazowe jest haszem powstaym poprzez haszowanie hasa nastpnego. Tak wic, podejrzenie ostatniego hasa na licie, nie umoliwia atakujcemu odtworzenia poprzednich hase. Jeli chodzi o podgldanie hase to OTPW wykazuje si tutaj wiksz odpornoci, stosujc zmodyfikowany algorytm base64. To znacznie utrudnia szybkie podejrzenie i zapamitanie hasa.

Instalacja

Wtedy uytkownik musi wprowadzi swoje sekretne haso, poczone z trzema sklejonymi ze sob hasami z listy hase. To powoduje, e wykonanie ataku LCA wymagaoby nawizania wielu tysicy pocze, co czyni go bardzo trudnym, a w praktyce niewykonalnym. Jeli z jakich wzgldw logowanie zostanie przerwane (np. w wyniku zaamania si systemu), w katalogu domowym uytkownika tworzony jest link symboliczny o nazwie .otpw.lock wskazujcy na numer hasa jednorazowego, o ktre pyta system w momencie, gdy logowanie zostao przerwane. Wyglda on tak:
$ ls -al lrwxrwxrwx pa 1 berdzi berdzi 3 8 16:06 .otpw.lock -> 081

rda moemy pobra ze strony projektu http://www.cl.cam.ac.uk/~mgk25/download/ otpw-1.3.tar.gz. Kompilacja sprowadza si do rozpakowania i zbudowania za pomoc komendy make:
$ wget http://www.cl.cam.ac.uk/ ~mgk25/download/otpw-1.3.tar.gz $ tar zxvf otpw-1.3.tar.gz $ cd otpw $ make

W naszym przypadku skorzystamy jednak z gotowych pakietw dystrybucji Debian. Pobieramy i instalujemy odpowiednie paczki: $ wget http://ftp.pl.debian.org/debian/pool/ main/o/otpw/otpw-bin_1.3-2_i386.deb $ su -c 'dpkg -i otpw-bin_1.3-2_i386.deb' $ wget http://ftp.pl.debian.org/debian/pool/ main/o/otpw/libotpw-dev_1.3-2_i386.deb $ su -c 'dpkg -i 'libotpw-dev_1.3-2_i386.deb'

OTPW od rodka

Hasa znajdujce si w pliku .otpw s generowane przy pomocy funkcji mieszajcej RIPEND160, dajcej 160 bitowy skrt. Generator hase jest inicjowany poprzez haszowanie wyniku dziaania kilku komend shellowych. Pierwsze 72 bity skrtu s przepuszczane przez zmodyfikowany algorytm base64, pozostae 88 stanowi wewntrzny stan losowego generatora. Modyfikacja algorytmu base64 polega na zastpieniu znakw, ktre si myl, innymi. Przykadowy plik .otpw prezentuje poniszy Listing. Pierwsza linia okrela format pliku. Druga zawiera po kolei: liczb wygenerowanych hase liczb cyfr skadajcych si na numer hasa (3) liczb znakw na zakodowany hash base64 (12) liczb znakw hasa jednorazowego (8)

OTPW korzysta z dwuczynnikowego uwierzytelniania do poprawnej autentykacji wymagane jest jedno z hase z listy, poprzedzone sekretnym hasem uytkownika (prefiksem). To zapewnia, e kradzie samej listy hase jednorazowych lub tylko podsuchanie sekretnego hasa nie pozwoli na dostp do systemu. System OTPW , inaczej ni opisywana implementacja S/KEY, nie bazuje na algoryt-

Cao skada si w zasadzie z dwch elementw: otpw-gen polecenie suce do generowanie list hase jednorazowych pam_otpw modu PAM, pozwalajcy wykorzystywa OTPW w poczeniu

Kada kolejna linia zawiera 3 cyfrowy numer hasa, po ktrym nastpuje hasz wygenerowany z poczenia sekretnego hasa uytkownika i hasa jednorazowego. Po wykorzystaniu danego hasa jest ono zastpowane cigiem mylnikw by nie mona go byo uy Rysunek 3. Logowanie z uyciem systemu OTPW powtrnie.
www.lpmagazine.org

65

Rozwizania Mechanizm hase jednorazowych

z usugami, ktre korzystaj z systemu rdowych oraz rekompilacja kadorazomoduw PAM wo po pojawieniu si nowych wersji. Duo wygodniejszym sposobem jest wykorzystaW pakiecie znajduje si rwnie przykado- nie moduw PAM. System moduw PAM wy program demologin przerobiona ko- (ang. Pluggable Authentication Modules) menda login, korzystajca z mechanizmu ha- to zbir bibliotek, ktre okrelaj w jaki se jednorazowych. sposb przebiega autentykacja uytkownika dla konkretnych usug w systemie. DziIntegracja z usugami ki nim mona elastycznie przecza si Istniej dwie metody zintegrowania OTPW midzy sposobami autentykacji bez koz systemem logowania: niecznoci zmiany samych usug. Jest to najprostsza metoda integracji sys przerabianie rde narzdzi, z ktry- temu hase jednorazowych z usugami w sysmi chcemy zintegrowa system hase temie. jednorazowych, takich jak login, su, Dzisiaj praktycznie kada dystrybusshd, ftp cja korzysta domylnie z tego mechanizmu integracja z systemem poprzez system (wyjtkiem jest np. Slackware, aczkolwiek moduw PAM (ang. Plugabble Authen- w nim rwnie mona doinstalowa odpotication Modules) wiednie pakiety). Wykorzystywanie hase jednorazowych Pierwsza z metod jest pracochonna, ma- najczciej ma sens w przypadku, gdy loo elastyczna i niebezpieczna. Konieczne gujemy si zdalnie na maszyn z innej nieby byo przerabianie wszystkich plikw zaufanej maszyny. Dlatego te poka jak

zintegrowa OTPW z usug SSH. W tym celu musimy odpowiednio zmieni plik /etc/ pam.d/sshd. W sekcji auth znajduje si wpis odpowiedzialny za standardow autentykacj w systemie:
# Standard Un*x authentication. @include common-auth

Mamy dwie moliwoci. Moemy albo przeczy si na korzystanie tylko z hase jednorazowych, albo skonfigurowa system tak, aby najpierw pyta o haso jednorazowe, a gdy nie bdziemy chcieli go uy, wciskamy [Enter] i logujemy si w standardowy sposb. Sytuacj t przedstawia Rysunek 6. W pierwszym przypadku musimy wyedytowa plik w nastpujcy sposb:
# Standard Un*x authentication. #@include common-auth auth otpw.so required pam_

W drugim przypadku natomiast wyglda to tak:


auth pam_otpw.so # Standard Un*x authentication. @include common-auth sufficient

Rysunek 4. Zabezpieczenie w przypadku wykrycia kilku sesji

Wpisy auth oraz session oznaczaj okrelona sekcj. Sekcja auth jest odpowiedzialna za autentykacj, gdzie PAM sprawdza, czy uytkownik jest tym za kogo si podaje przy pomocy monitu o haso lub w tym przypadku monitu o haso jednorazowe. Sekcja session jest odpowiedzialna za wykonanie innych czynnoci przed lub po otrzymaniu dostpu do usugi. Wpisy required, sufficient oraz optional oznaczaj sekcj kontroli. Wpis
Listing 2. Zawarto pliku .otpw
OTPW1 280 3 12 8 081ITXZ=FYcY+eJ 004ZQfAF3dabMOn 208zn7tTBOso+rM 246W9rzFh9CQ7IX 2773gCIk+yrAyhc 179QPTwum+u3phA 2752Korm/Pq=eYG 213vsiQPezLqZMk 045Ypgyo2=A2y6F 010zo4JkhF9BRkP 076DCignhz/W%qo

Rysunek 5. Dwa sposoby logowania si

66

stycze 2010

Rozwizania Mechanizm hase jednorazowych

oznacza, e jeli autentykacja nie powiedzie si, PAM zwrci bd i uytkownik nie zaloguje si do systemu. Wpis sufficient oznacza, e jeli autentykacja nie powiedzie si, to system przejdzie do kolejnego sposobu autentykacji. Wpis optional oznacza, e sukces czy porarequired

ka dla danego moduu PAM ma znaczenie tylko wtedy, gdy jest to jedyna metoda autentykacji. Wana jest tutaj kolejno wpisw, najpierw musi widnie wpis odpowiedzialny za autentykacj hasem jednorazowym, a dopiero po nim ten odpowiedzialny za standardo-

w. W sekcji session, niezalenie od wybranej metody dopisujemy:


session otpw.so optional pam_

W Sieci
http://www.cl.cam.ac.uk/~mgk25/otpw.html projekt OTPW http://www.freebsd.org/doc/en/books/handbook/one-time-passwords.html informacje na temat systemu OPIE http://www.heise-online.pl/security/Ale-to-juz-bylo-i-nie-wroci-wiecej--/features/14/0 artyku na temat hase jednorazowych http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-introduction.html podrcznik administracji moduami PAM http://en.wikipedia.org/wiki/S/KEY informacje na temat systemu S/KEY http://tools.ietf.org/html/rfc2289 dokument RFC opisujcy zaoenia systemu hase jednorazowych http://tools.ietf.org/html/rfc1760 dokument RFC opisujcy system hase jednorazowych S/KEY

Przykadowy plik konfiguracyjny PAM dla usugi ssh przedstawiony jest na Rysunku 7. Oprcz tego konieczne jest jeszcze wyedytowanie pliku konfiguracyjnego demona sshd, /etc/ssh/sshd_config. Wczamy opcj autentykacji poprzez wyzwanie-odpowied:
ChallengeResponseAuthentication yes

Teraz musimy zrestartowa demona sshd:


# /etc/init.d/ssh restart Restarting OpenBSD Secure Shell server: sshd.

Sprbujmy si zalogowa do systemu:


berdzi@debian:~$ ssh localhost Password 193: Linux debian 2.6.26-2-686 #1 SMP Wed Aug 19 06:06:52 UTC 2009 i686

Udao si.

Podsumowanie

Wykorzystanie mechanizmu hase jednorazowych, cho z pocztku moe wydawa si nieco uciliwe z punktu widzenia uytkownika, ma sens wszdzie tam, gdzie nie mamy penego zaufania co do miejsca, z ktrego czymy si z nasz sieci. Integracja z usugami w systemie nie jest zbyt skomplikowana, wic warto powici par minut, by spa spokojniej.

O autorze
Linuxem interesuje si od kilku lat, gwnie pod ktem zastosowa serwerowych. Hobbystycznie administrowaem sieciami osiedlowymi. Czasami tworz rne mniej lub bardziej przydatne programy, poznajc dziki temu nowe techniki i jzyki programowania. Dla relaksu migam na moim blaszanym rumaku lub eksploruj tereny grskie i nie tylko. Zawodowo zajmuj si tworzeniem aplikacji i portali internetowych. Kontakt z autorem: e-mail: bbergier@o2.pl

Rysunek 6. Plik konfiguracyjny /etc/pam.d/sshd dla usugi ssh www.lpmagazine.org

67

Rozwizania Oszczdzaj energi razem z Linuksem

Oszczdzaj energi razem z Linuksem


Sawomir Stpie

Jeli mylisz, e twj laptop pracuje na baterii wystarczajco dugo, to uwierz mi, e moe pracowa jeszcze duej! Zawarte w artykule informacje moesz wykorzysta i sprawi, e twj komputer bdzie pobiera mniej energii, co pozwoli Ci na dusz prac na baterii.

linux@software.com.pl

ednym z najwaniejszych aspektw pracy na przenonym komputerze laptopie, jest jego odpowiednio duga praca na baterii. Kupujc nowy komputer czsto otrzymujemy orientacyjn informacje o tym jak dugo mona pracowa na baterii. Jednak nic nie stoi na przeszkodzie, aby t warto troch powikszy. Zobaczmy wic, co mona zrobi, jak zmierzy pobr mocy i ile mona wycign z naszej baterii w systemie Linux.

Sprzt

Jeli jeste uytkownikiem komputera opartego o inn platform, to nie wszystkie zawarte tutaj informacje mog Ci pomc. W tym przypadku musisz samemu odnale potrzebne informacje lub przeszuka internet pod ktem twoich podzespow, a nastpnie je zastosowa. Jeli jeste uytkownikiem komputera stacjonarnego, to zdecydowana wikszo informacji bdzie dla Ciebie bezwartociowa. Jednak jeli posiadasz duo komputerw stacjonarnych i chcesz zmniejszy troch rachunki za prd to zapraszam do lektury.

Wszystkie omawiane w tym artykule czynnoci przeprowadziem na komputerze Lenovo ThinkPad T61 opartym o platform Intel Centrino. W skad tej platformy wchodz m.in.: kontroler UHCI oraz EHCI(bdziemy si zajmowali kamer, czytnikiem linii papilarnych oraz Bluetoothem podczonymi do magistrali USB), Intel HD Audio, PRO/Wireless 3945ABG oraz procesor Core 2 DuoT8300. Oprcz wymienionych powyej podzespow, zajmiemy si take dyskiem twardym oraz matryc. Pojemno baterii, ktr otrzymaem z komputerem to 5.2Ah. Jednak pojemno nie bdzie najwaniejsz wartoci. Najwaniejsze to sprawi, aby komputer pobiera minimaln ilo mocy.

Kernel, a pobr mocy

Wybr odpowiedniego kernela moe by jedn z najwaniejszych decyzji jeli chodzi o oszczdno energetyczn. Zdecydowanie polecam najnowsze jdra z serii 2.6. wiadomo deweloperw jdra zwizana z prac ich systemu na przenonych komputerach jest do moda, dlatego cigle mona zauway malejcy trend poboru mocy w nowych wydaniach dziki zastosowaniu technologii oszczdzania energii (Rysunek 1). Oczywicie nowy kernel, nieskonfigurowany odpowiednio pod posiadany przez nas sprzt nie okae si bardzo oszczdny. Warto wic powici troch czasu i zapo-

68

stycze 2010

Rozwizania Oszczdzaj energi razem z Linuksem

zna si z opcjami zwizanymi z oszczdzaniem energii. Poniej mae zestawienie podstawowych opcji oraz opcji zwizanych z opisywanym wczeniej sprztem.

CONFIG_BLK_DEV_IDEACPI

Jeli posiadasz dysk poczony do pyty gwnej poprzez interfejs ATA, to zaznaczenie tej opcji pozwoli na uycie dobroci ACPI w dysku. Menu help podaje take, e opcja ta pozwaCONFIG_NO_HZ la na poprawn obsug stanu S3, czyli stan Jedna z kluczowych opcji kernela. Zdecydowa- wstrzymania. nie zalecam jej zaznaczenie. Opcja ta powoduje, e w czasie, gdy procesor nie ma nic specjal- CONFIG_POWER_SUPPLY nie do roboty(stan idle), zostaje bardzo zminima- Zaznaczenie tej opcji powoduje, e kernel daje lizowane jego wybudzanie zwizanie z obsu- nam moliwo kontroli niektrych urzdze g przerwa. W starszych wersjach Linuksa (do poprzez interfejs /sys. Dziki niej bdziesz 2.6.21), zegar systemowy dziaa nawet z czsto- mg programowo wczy przecznik rfkill tliwoci 1KHz w stanie bezczynnoci, co powo- na obudowie. duje bardzo due zuycie energii potrzebnej na to wybudzanie. Teraz dziki tej opcji wystpuje zja- CONFIG_SND_HDA_POWER_SAVE wisko dynamicznego zegara, ktry obsuguje tyl- Pozwala na agresywn i dynamiczn kontrole ko wane przerwania (od programw i sprztu) oszczdzania energii w karcie dwikowej Ini pozwala procesorowi pozostawa duej w ni- tela. Skompilowanie tej opcji udostpni nam skich stanach poboru mocy (C3 i niej). plik (poprzez interfejs /sys), do ktrego moesz wpisa warto dziesitna oznaczajc CONFIG_ACPI czas po ktrym karta dwikowa automatyczACPI(Advanced Configuration and Power Interface) to niezbdna opcja w naszych rozwaaniach. Zalecam zaznaczenie wszystkich opcji w jego podmenu. Implementacja ACPI w Linuksie jest bardzo dobra i dostarcza nam duo informacji zwizanych z poborem mocy przez nasz komputer. Dziki ACPI kernel bdzie w stanie informowa nas m.in. o: stanie baterii, zdarzeniach zwizanych z zasianiem, obsug jawnoci matrycy, obsug specjalnych klawiszy, stanu coolerw oraz z obsug niskich stanw procesora (C2, C3). Wicej o niskich stanach poboru mocy przez procesor w dalszej czci artykuu.

nie si wyczy. Jeli jeste np. w bibliotece i nie uywasz suchawek to myl, e wpisanie tam wartoci 5 (pi sekund) bdzie dobrym posuniciem (praktyczne uycie w dalszej czci artykuu). Wpisanie jednak wartoci rnej od 0 (zero oznacza wyczenie tej opcji) powoduje wygenerowanie strzelajcego dwiku gdy karta si wcz i wycza. Wicej informacji nt. tej opcji znajdziesz w pliku powersave.txt w katalogu Documentation/sound/alsa, ktry znajduje si w rdach Linuksa.

CONFIG_USB_SUSPEND
Kolejna z bardzo ciekawych opcji, pozwalajca zaoszczdzi troch watw. Dziki niej moesz kontrolowa czy urzdzenia podczone do magistrali USB, maj przej w tryb oszczdzania energii(lub wyczy si), czy te nie. Dla mnie ta opcja jest wana z powodu podczenia kamery, czytnika linii papilarnych oraz moduu Bluetooth do USB. O korzystaniu z tej opcji porozmawiamy przy opisie parametrw moduw.

CONFIG_CPU_FREQ
Kolejna z bardzo wanych opcji. Zdecydowanie zalecam jej zaznaczenie. Zalecam tak- Rysunek 1. Zastosowane technologie, a wpyw na pobr energii (na podstawie http://www.lesswatts.org/ e zaznaczenie wszystkich pod opcji oraz wy- images/mobile_feature.gif) br userspace jako domylnego gubernatora (governor). Opcja ta pozwala na zmian czstotliwoci pracy zegara procesora, co w znaczcy sposb zmniejszy zuycie energii. Bliej o wykorzystaniu tej opcji (pakiet cpufrequtils) w czci o procesorze.

CONFIG_I7300_IDLE
Opcja ta pozwala na wczenie oszczdzania energii dla pamici DRAM. Jeli posiadasz serwer z tak pamici to zaznaczenie tej opcji moe przyczyni si do obnienia poboru mocy.

CONFIG_RFKILL
Opcja zwizana z nadajnikami radiowymi takimi jak karty WiFi oraz Bluetooth. Opcja ta pozwala na kontrole wycznikw, ktre czsto znajdziemy na obudowach laptopw. Pozwala take na Rysunek 2. Przykadowy wynik dziaania programu PowetTop podczas pracy na baterii programowe wyczanie tych nadajnikw.
www.lpmagazine.org

69

Rozwizania Oszczdzaj energi razem z Linuksem

CONFIG_THINKPAD_ACPI
Ta opcja jest zwizana z komputerem jaki posiadam. Pozwala mi na elastyczn obsug technologi zawartych na tej platformie. Jeli znajdziesz w opcjach swj model laptopa to zdecydowanie polecam Ci zaznaczenie tej opcji, poniewa bdziesz mg lepiej kontrolowa rne aspekty pracy na laptopie, w tym kontrole nad poborem mocy (matryca, hibernacja, stany procesora, itp.). Przykadowy skrypt, ktrego uywam do zmiany pracy komputera, znajduje si na Listingu 1.

CONFIG_TIMER_STATS
Jest to jedna z opcji debugowania kernela. Zaznaczenie jej pozwala programom na zbieranie informacji nt. aktywnych zegarw pracujcych w systemie. Dziki takim informacj moesz zobaczy jakie programy w jakim stopniu budz procesor w celu obsugi zdarze. Opcja ta jest uywana przez program PowerTop, ktry bdzie nam suy jako miernik pobieranej energii. Wicej o tym programie ju za chwil. Na tym zakoczymy konfiguracje kernela. Opcje, ktre wymieniem pozwol nam przygotowa jdro do oszczdnej pracy. Pozwol take na kontrol dynamiczn opcji zwiza-

nych z poborem mocy. Pamitaj te o ledzeniu nowoci w jdrze, pozwoli Ci to zaoszczdzi troch energii. Dla przykadu podam, e przejcie z jdra 2.6.29 na 2.6.31 pozwolio mi obniy pobr mocy o ok. 1W.

Pierwszy pomiar

Wydaje si ze pomiar mocy jak pobiera nasz komputer moe wydawa si trudnym zadaniem. Jeli nie posiadasz wiedzy elektronicznej, to musisz zda si na wliczenia z wartoci, ktre system przekazuje w katalogach /sys oraz /proc. Dziki odpowiedniemu interfejsowi ACPI zaimplementowanemu w kernelu mona cigle porwnywa wartoci i wyliczy redni warto pobieranej mocy w watach. Aby tego nie robi samemu przedstawi wietny program, ktry zrobi to za nas oraz pokae Ci dodatkowo kilka ciekawych informacji.

PowerTop
Przed chwil odpowiednio skonfigurowae kernel i wszystko wyglda na razie dobrze. Oczywicie nasz ukochany system nie skada si tylko z jdra, ale take z programw (std nazwa GNU/Linux). Wszystko, to co zrobie, aby dostosowa najlepiej kernel, moe zosta bardzo atwo utracone gdy uruchomimy program, ktry nie pozwoli procesorowi na prac w niskich stanach i cigle bdzie go wybudza. Tutaj z pomoc przychodzi PowerTop. Idealny program dla naszych rozwaa. Program ten jest w stanie zebra tyle ciekawych informacji, podczas gdy Ty pracujesz na zasilaniu bateryjnym (ale i nie tylko), e moesz by pewien: ile w danej chwili realnie energii pobiera twj komputer, w jakim stanie jest procesor oraz czy nie masz uruchomionego programu, ktry moe to wszystko zepsu. A jeli nie ustawie wszystkiego w kernelu lub w kat. /sys to program podpowie Ci co musisz jeszcze zrobi, aby zaoszczdzi jeszcze par watw.

Rysunek 3. Minimalna warto poboru mocy jak udao mi si osign

PowerTop instalacja
Program mona pobra pod adresem: http: //www.lesswatts.org/projects/powertop/ download/powertop-1.11.tar.gz. Jest to adres do najnowszej wersji w tej chwili. Jeli pracujesz na jakie popularnej dystrybucji moesz przeszuka repozytoria w poszukiwaniu PowerTop. Jeli wolisz zainstalowa program ze rde, to po pobraniu wykonaj: tar xvfz powertop-1.11.tar.gz; cd powertop-1.11; make; make install. Po udanej instalacji powiniene umie odpali program komend: powertop. W razie jakichkolwiek problemw podczas instalacji poszukaj rozwizania na stronie: http://www.lesswatts.org/ projects/powertop/.
stycze 2010

Rysunek 4. Tak warto poboru mocy ma nieskonfigurowany komputer

70

Rozwizania Oszczdzaj energi razem z Linuksem

PowerTop uytkowanie
Program standardowo po uruchomieniu pracuje w czasie rzeczywistym. Co odpowiedni czas (interval) zbiera dane o pracy systemu i odpowiednio przedstawia wyniki uytkownikowi. Jeli chcesz pracowa z tym programem wsadowo (skrypt), to powiniene uruchomi program z przecznikiem -d: powertop -d. Dla najlepszej pracy programu zaleca si, aby uruchamia go z prawami roota. Na pierwszy rzut oka interfejs tego programu moe Ci przerazi (Rysunek 2). Jednak jest tu pewna logika patrzenia. Na samej grze program wywietla informacje zwizane z procesorem. Wywietlanie odbywa si w dwch gwnych kolumnach, jedna kolumna opisuje stany C procesora, a druga stany P. Co to s za stany? C-stany, to stany, w ktrych procesor najlepiej oszczdza energie. W tych stanach dziej si rne ciekawe rzeczy w samym procesorze, gwnie z jego zegarami. Stany P, dotycz tylko czstotliwoci pracy procesora. Tutaj ciko wprowadzi procesor w stan upienia. Jedynie co dziki P-stan mona uzyska to redukcja ciepa, a co za tym idzie po czci redukcj poboru mocy (zmniejszenie napicia). Dla kadego z tych stanw program wywietla redni czas (podany w procentach) przebywania procesora w tym stanie. Poniej informacji dot. procesora znajduj si jedna linia z czerwonym tem zatytuowana: Wakeups-from-idle per second. Tutaj program przedstawia jak czsto procesor musi si budzi w czasie jednej sekundy, aby obsuy uruchomione programy (take jdro systemu oraz sterowniki urzdze). Najlepsza warto w tym miejscu to najnisza warto. Mog Ci ju teraz zdradzi, e ciko zmniejszy t warto bez wyczania X-serwera. Porwnanie warto tego pola podczas normalnej pracy oraz ekstremalnego oszczdzania energii znajduj si w podsumowaniu. Na prawo od tej wartoci program podaje warto (wyraon w sekundach) z jak odwiea informacje. Aby odwiey informacje w danej chwili nacinij klawisz R. Poniej czerwonego pola, znajdziesz jedn z najwaniejszych informacji jak program pokazuje pobr mocy. Program oblicza t warto na bieco, wic ledzenie poboru mona obserwowa wraz z wprowadzaniem zmian. W nawiasie program podaje pozostay, szacowany czas pracy na baterii. Po pewnym czasie obok tych danych pokae take przewidywania dugookresowe. Pole ktre znajduje si poniej zajmuje najwicej miejsca. Pole to pozwala na zorientowanie si, ktre programy (lub ktre czci kernela) dodaj najwicej do liczby zawartej na czerwonym polu. Ta cz interfejsu skada si zasad-

niczo z dwch kolumn. Kolumna po lewej stronie pokazuje procentowy udzia w naszej liczbie wybudze. Prawa kolumna skada si z dwch czci. Z lewej mamy rdo pochodzenia (nazwa procesu lub typ zwizany z jdrem), a z prawej blisze informacje nt. powodu wybudzenia. Dziki takim informacjom szybko bdziesz w stanie zlokalizowa ewentualne rdo problemu i sprbowa co z tym zrobi. Jeli chodzi o procesy to zawsze moesz je wyczy. Jednak jeli problem tkwi np. w sterowniku urzdzenia lub karty, to ciko co zrobi. Moesz sprbowa zmieni parametry moduu w /sys (o tym za chwil) lub nie adowa danego sterownika. Na samym dole ekranu program PowerTop pokazuje sugestie, ktre czasem s w stanie znacznie obniy zuycie energii. Jest to naprawd fajna opcja, zwaywszy na fakt, e sposobw na ograniczenie poboru energii jest mnstwo i nie wszystkie zawsze mona zapamita. Pole to pozostaje puste, gdy wszystko, co moge zrobi zrobie. Teraz gdy ju wiesz, jak odczytywa wyniki, ktre pokazuje PowerTop uruchom go i pozwl mu chwil popracowa. Zwr szczegl-

n uwag na stany procesora, warto pobieranej energii, oraz na powody wybudzenia procesora ze stanu bezczynnoci. Sprbuj samemu zmniejszy liczb wybudze na sekund poprzez wyczanie zbdnych procesw oraz dostosowanie si do wywietlanych wskazwek. Sprawd take warto wybudze bez wczonego X-serwera. Postaraj si zapamita twoj standardow warto poboru mocy. Bdziesz potem mg odnie si i zobaczy efekty swoich zmian.

Moduy, /sys, a pobr mocy

Oprcz samej konfiguracji kernela, system udostpnia nam naprawd mnstwo opcji dostpnych poprzez katalogi /sys oraz /proc. To w nich odnajdziesz ciekawe opcje zwizane z takimi opcjami jak: ustawienie mocy nadajnika karty WiFi, wyczanie/wczanie nadajnikw WiFi oraz Bluetooth, wstrzymywanie urzdze podczonych do magistrali USB, zmiana czstotliwoci zapisu buforw na dysk, ustawienie wyczania karty dwikowej, etc. Wiele z moduw pozwala take na ustawienie opcji ju w czasie ich adowania. Opcji jest ogromna ilo. Wiele opcji zwizanych jest z posiada-

Listing 1. Prosty skrypt do cyklicznej zamiany modelu pracy komputera


#!/bin/bash VAL='cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"' killall osd_cat if [ "$VAL" == "ondemand" ]; then

cpufreq-set -c 0 -g powersave

cpufreq-set -c 1 -g powersave logger "Power mode: powersave" echo 5 > /proc/sys/vm/laptop_mode echo 1500 > /proc/sys/vm/dirty_writeback_centisecs echo "level 4" > "/proc/acpi/ibm/brightness" hdparm -B 128 /dev/sda 1>/dev/null else if [ "$VAL" == "powersave" ]; then cpufreq-set -c 0 -g performance cpufreq-set -c 1 -g performance logger "Power mode: performance" echo 0 > /proc/sys/vm/laptop_mode echo "level 9" > "/proc/acpi/ibm/brightness" hdparm -B 254 /dev/sda 1>/dev/null else if [ "$VAL" == "performance" ]; then cpufreq-set -c 0 -g ondemand cpufreq-set -c 1 -g ondemand logger "Power mode: ondemand" echo 0 > /proc/sys/vm/laptop_mode echo "level 9" > "/proc/acpi/ibm/brightness" hdparm -B 254 /dev/sda 1>/dev/null fi fi fi /usr/bin/osd.sh "Power Mode: [Ondemand]" /usr/bin/osd.sh "Power Mode: [Performance]" /usr/bin/osd.sh "Power Mode: [Powersave]"

www.lpmagazine.org

71

Rozwizania Oszczdzaj energi razem z Linuksem

nym sprztem, wic radze zajrze do katalogw zamian. Jeli nie uywasz ww. wersji jder to i poszpera w poszukiwaniu plikw ze sowem zalecam stosowanie tego atrybutu. power w nazwie. Poniej mae zestawienie ciekawszych miejsc dla omawianego sprztu. HDA Intel Plik: /sys/module/snd_hda_intel/parameters/ Iwl3945 power_save. To wanie w tym pliku kernel Plik: /sys/bus/pci/drivers/iwl3945/*/power_le- przechowuje informacje o tym po jakim czasie vel. Wpisujc do tego pliku rone liczby (z karta dwikowa ma si automatycznie wyzakresu od 0 do 6), moesz sterowa pobo- czy. Wpisanie tam wartoci rnej od zera (zerem mocy przez kart bezprzewodow. Ze- ro oznacza dziaaj cay czas) spowoduje auro oznacza wyczon opcje redukcji pobo- tomatyczne wyczanie karty dwikowej, gdy ru mocy, warto pi oznacza maksymaln to jest moliwe. Jeli zapragniemy po wyczeoszczdno, a warto sze oznacza, e pra- niu si karty posucha muzyki, to system autocujemy na zasilaczu AC. Ze swojego dowiad- matycznie uruchomi kart. Jak ju wspominaczenie wiem, e nie zawsze zmiana wartoci w em, jest tu may problem z dwikiem jaki zotym pliku pozwoli poprawnie dziaa karcie. staje wygenerowany podczas wczania i wyW moim przypadku na poczeniu Ad-Hoc czania karty. Zalecam jednak uywanie tej opcji zmiana wartoci powoduje niemono wy- w miejscach w ktrych nie suchasz muzyki. miany danych. Opcja ta jednak dobrze spisywaa si na innych sieciach, do ktrych si USB (kamera, czytnik linii papilarnych) podczaem np. na uczelni. W czasie pisania Pliki: /sys/bus/usb/devices/*/power/autosuspend tych sw nastpio wyczenie tej opcji z ker- oraz /sys/bus/usb/devices/*/power/level. Te dwa nela. Sytuacja wystpuje w jdrach od 2.6.31 pliki odpowiedzialne s za wstrzymywanie urz(prawdopodobnie nie dziaa take na 2.6.30). dze podczonych do USB. Jeli nie uywasz Pozostaje czeka i zobaczy, co dostaniemy w kamery lub czytnika linii papilarnych, lub inneListing 2. Wynik dziaania polecenia cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: acpi-cpufreq CPUs which need to switch frequency at the same time: 0 hardware limits: 800 MHz - 2.40 GHz available frequency steps: 2.40 GHz, 2.40 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz available cpufreq governors: conservative, ondemand, powersave, userspace, performance current policy: frequency should be within 800 MHz and 2.40 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 800 MHz (asserted by call to hardware). cpufreq stats: 2.40 GHz:4,94%, 2.40 GHz:1,15%, 2.00 GHz:0,26%, 1.60 GHz:0,41%, 1.20 GHz:0,66%, 800 MHz:92,58% analyzing CPU 1: driver: acpi-cpufreq CPUs which need to switch frequency at the same time: 1 hardware limits: 800 MHz - 2.40 GHz available frequency steps: 2.40 GHz, 2.40 GHz, 2.00 GHz, 1.60 GHz, 1.20 GHz, 800 MHz available cpufreq governors: conservative, ondemand, powersave, userspace, performance current policy: frequency should be within 800 MHz and 2.40 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 800 MHz (asserted by call to hardware). cpufreq stats: 2.40 GHz:3,80%, 2.40 GHz:0,06%, 2.00 GHz:0,03%, 1.60 GHz:0,21%, 1.20 GHz:0,12%, 800 MHz:95,79% (2728) (11546)

go (nawet myszy na UBS), to moesz te urzdzenia wyczy. Pierwszy z plikw przyjmuje warto liczbow oznaczajc czas w sekundach po ktrych nastpi wstrzymanie. Jednak, aby wstrzymanie odbyo si poprawnie naley warto drugiego pliku ustawi na auto. Takie ustawienie pozwoli jdrze na automatyczne wyczanie urzdzenia, gdy to nie jest uywane. Wicej o opcjach wstrzymania urzdze USB znajdziesz w pliku: Documentation/usb/power-management.txt, ktry znajdziesz w rdach kernela.

rfkill (WiFi, Bluetooth)


Plik: /sys/class/rfkill/*/state. Pliki te odpowiadaj za wyczenie nadajnika radiowego. Ma to zastosowanie dla takich technologi jak WiFi oraz Bluetooth. Jeli posiadasz je to w katalogu /sys/ class/rfkill/ pojawi si odpowiednia ilo wpisw. Dla opisywanego sprztu pojawiaj si dwa pliki: rfkill0 oraz rfkill1. Jeden z nich bdzie odpowiedzialny za WiFi, drugi za Bluetooth. Warto w pliku state okrela czy urzdzenie nadaje czy te nie. Wpisanie tam 1 powoduje wczenie nadajnika: echo 1 > /sys/class/rfkill/rfkill0/state. Wpisanie wartoci 0 powoduje wyczenie nadajnika. Dla naszej wygody napisano program o nazwie rfkill, ktry pomaga dowiedzie si jakie z urzdze w danym momencie moe uy metod rfkill oraz zablokowa dane urzdzenie. Adres strony, z ktrej mona pobra program to: http://wireless.kernel.org/download/ rfkill/. Wicej ciekawych informacjo o rfkill znajdziesz w pliku Documentation/rfkill.txt, ktry znajdziesz w rdach kernela.

W Sieci
http://www.lesswatts.org/ strona powicona oszczdzaniu energii w Linuksie (en); http://www.thinkwiki.org/wiki/How_ to_reduce_power_consumption jak ograniczy pobr mocy (en); http://www.hardwaresecrets.com/ article/611 ciekawe informacje o C-stanach (en); http://software.intel.com/en-us/blogs/ 2008/05/29/what-exactly-is-a-p-statept-1/ informacje o P-stanach (en); http://www.linux-watch.com/news/ NS5286251174.html notka o nowociach w jdrze 2.6.21, w tym o Tickless System (Dynamic Ticks) (en); http://www.thinkwiki.org/wiki/ Maintenance#Battery_treatment informacje jak naley traktowa nasz baterie (en).

72

stycze 2010

Rozwizania Oszczdzaj energi razem z Linuksem

Oprcz wymienionych wyej miejsc, jest jeszcze wiele ciekawych opcji, ktre pozwol zaoszczdzi par watw. Nie ma sensu ich tutaj opisywa. Wszystko to znajdziesz na stronie http://www.lesswatts.org/ w dziale tips & tricks, lub w podpowiedziach programu PowerTop.

cpufreq-set. Aby program mg pracowa po-

Procesor, a pobr mocy

Mona zdecydowanie powiedzie, e oszczdzanie tak naprawd zaczyna si na procesorze. To on jest w duym stopniu odpowiedzialny za wysoki pobr mocy. W przypadku opisywanego przeze mnie sprztu, jedyne co moemy zrobi, to odpowiednio ustawi P-stany procesora. C-stany procesora pozostaj w autonomicznej strefie jego pracy i on sam decyduje kiedy przej w stan bezczynnoci i oszczdza due iloci energii (zapewniam Ci, e robi to bardzo dobrze). Dziki P-stanom moemy za to ograniczy tykanie zegara i dziki temu zmniejszy napicie oraz wydzielanie ciepa z procesora. Program, ktry pomoe nam ustawia procesor oraz odczytywa jego prac nazywa si cpufrequtils.

Cpufrequtils
Deweloperzy kernela stworzyli wspaniay podsystem sterowanie czstotliwoci pracy procesora. Aby uatwi dostp do jego dobroci powsta pakiet cpufrequtils. Pakiet ten pozwala w prosty sposb na kontrole czstotliwoci pracy procesora, na jej odczyt oraz atw implementacje moliwoci tego podsystemu w programach dziki bibliotece libcpufreq. W artykule poka tylko w jaki sposb korzysta z dostarczonych przez ten pakiet programw.

Cpufrequtils instalacja
Najnowsza wersja dostpna jest zawsze na stronie: http://www.kernel.org/pub/linux/utils/ kernel/cpufreq/cpufrequtils.html. W tej chwili najnowsza wersja oznaczona jest nr 005 i tak wanie wersje zalecam pobra. Odpakuj archiwum poleceniem: tar xvfz cpufrequtils-005.tar.gz, nastpnie zmie katalog: cd cpufrequtils-005. Rozpocznij budow pakietu poleceniem: make, a aby zainstalowa zbudowany program wydaj: make install. Po udanej instalacji dostaniesz do dyspozycji dwa pliki: cpufreq-set oraz cpufreq-info. Jeli z jakiego powodu nie jeste w stanie zainstalowa programu ze rde, to proponuje przejrzenie repozytorium swojej dystrybucji w poszukiwaniu cpufrequtils.

prawnie potrzebuje praw uytkownika root. Wic proponuje uruchamia go z konta root. Gwne zadanie tego maego programiku to ustawienie odpowiedniego gubernatora dla procesora (lub dla kilku procesorw jeli posiadamy ich wicej ni jeden). Jeli skompilowae odpowiednio kernel, to program bdzie w stanie bezproblemowo zmienia gubernatora dla procesora. Przykadowe uycie wyglda nastpujco: cpufreq-set c 0 -g powersave. Komenda ta ustawi dla procesora o numerze zero (numerujemy od zera) gubernatora o nazwie powersave. Jeli chcesz zmieni wasnoci dla kolejnego procesora, to zamiast zera wpisujesz odpowiedni nr np.: cpufreq-set -c 1 -g powersave. Program pozwala take na zmian czstotliwoci (-f wymagany gubernator userspace) na jedn z wybranych (dostpnych poprzez pogram cpufreq-set), na ustawienie minimalnej i maksymalnej czstotliwoci jak moe wybra gubernator (-d, -u). Najczciej bdziesz chcia ustawi dwurdzeniowy procesor tak samo, wic musisz powtrzy kad z operacja dla kadego z rdzeni. Jeli nie wiesz jakie s dostpne gubernatory lub czstotliwoci, to z pomoc przychodzi kolejny z programw: cpufreq-info. Jest to program informujcy o stanie pracy procesora. Nic nie zmienisz wic mona go uruchamia bez praw roota. Aby dowiedzie si jakie gubernatory s dostpne wydaj polecenie: cpufreq-info -g. Program wywietli wszystkie moliwe opcje oddzielone spacj. Uruchomienie programu bez adnego przecznika wywietli nam sporo ciekawych informacji nt. procesora i jego ustawienia. Przykadowy wydruk widzisz na Listingu 2. Moemy tam znale wszystkie moliwe czstotliwoci z jakimi moe pracowa procesor, moliwe gubernatory oraz podobn informacje jak znajdziemy w PowerTop, czyli procentowy udzia pracy procesora z poszczeglnymi czstotliwociami. Przypominam, e najlepiej jest, ze wzgldw oszczdnoci, jeli procesor pracuje z minimaln czstotliwoci w cigu maksymalnie dugiego okresu.

woli zwiksza czstotliwo, a uzna, e wicej nie jest potrzebne. Polecam uywanie jednego z tych gubernatorw na co dzie, gdy efektywnie minimalizuje grzanie si procesora. Kolejny gubernator, to poeracz baterii performance. Jego gwnym zadaniem jest ustawienie procesora na najbardziej wydajny tryb. Powoduje to due straty energii (take na ciepo). Jeli potrzebujesz dodatkowej mocy obliczeniowej (np. podczas wirtualizacji), to warto go wczy. Jeli pracujesz na zasilaniu bateryjnym, to unikaj go zawsze kiedy moesz. Ostatni z dostpnych gubernatorw userspace pozwala uytkownikowi decydowa jak ustawi procesor. Jeli wiesz lepiej jak powinien pracowa procesor, to ustaw ten gubernator, a nastpnie ustaw czstotliwo dla procesora(w): cpufreq-set -c 0 -f 1600000 (ustawi 1,6Ghz dla pierwszego procesora lub rdzenia).

Cpufrequtils uytkowanie
Uytkowanie pakietu cpufrequtils sprowadza si do uytkowania dwch plikw wykonywalnych. Pierwszy z nich pozwala nam na manipulacj niektrych wasnoci procesora. Program ten moesz uruchomi wydajc polecenie:

Rysunek 3 przedstawia program PowerTop, ktry mierzy najmniejsze zuycie energii jakie byem w stanie otrzyma na moim sprzcie. Wynik zosta osignity dziki zastosowaniu wszystkich opisanych tutaj opcji, ale take z uyciem podpowiedzi dostarczanych przez program PowerTop. Postaraem si take zabi par programw, ktre najbardziej wpyway na ilo wybudze procesora ze stanu bezczynnoci. Rysunek 4 z kolei przedstawia zrzut ekranu PowerTop podczas, gdy komputer nie by skonfigurowany. Wida ogromn rnic w poborze energii midzy tymi dwoma sytuacjami (6,5W rnicy). Warto przed przystpieniem do pracy, pozna posiadany sprzt pod ktem energooszczdnoci i w miar potrzeby zastosowa je. Warto te powici chwile na konfiguracje kernela, co pozwala na uzyskanie paru ciekawych opcji, ktre pozwalaj na elastyczniejsz zmian modelu pracy komputera. Oczywicie przydaje si te program, ktry pokae zmiany. Idealny wydaje si tutaj PowerTop, z mnstwem informacji i ciekawymi podpowiedziami. Jeli nie jeste posiadaczem przenonego sprztu to zaKilka sw o gubernatorach pewne zainteresoway Ci opcje zmniejszenia Gubernator to z gry zdefiniowany zestaw usta- wydzielania ciepa oraz technologie oszczdzawie, ktry pochodzi bezporednio z kernela. Je- nia nie tylko na mobilnych platformach. li podczas konfiguracji kernela wybrae wszystkie moliwe gubernatory, to bdziesz mg elaO autorze styczniej ustawi procesor. Dla przykadu. Jeli pracujesz na zasilaniu z zasilacza, to proponu- Autor ju od wielu lat pracuje z systemem je ustawienie gubernatora ondemand. Tego ty- GNU/Linux. Od niedawna ma moliwo pu gubernator zagwarantuje Ci, e w czasie gdy sprawdzania systemu na przenonym procesor nie musi dziaa z pen moc nie b- komputerze. Student kierunku Automatydzie dziaa z pen moc. Podobnie dziaa conse- ka i Robotyka, pasjonat programowania rvative. Rnica midzy nimi dwoma jest taka, e oraz jazdy na rowerze. pierwszy zmieni czstotliwo z minimalnej do Kontakt z autorem: s.stepien@interia.pl maksymalnej w krtkim czasie. Drugi bdzie powww.lpmagazine.org

Porwnanie wynikw i podsumowanie

73

Recenzje Holotz's Castle

Holotz's Castle Wersja 1.3.14


Maciej Mroziski

a niewielka gra od dawna znana w rodowisku linuksowych graczy ju pewien czas chodzia mi po gowie, zawsze jednak odkadaem j na pniej. Ostatnio, po dwch recenzjach RPG-w postanowiem da jej szans i troch odpocz od dugich, cikich produkcji. Jakie byo moje zdziwienie, gdy grajc Holotz's Castle, ktrego autorem jest Juan Carlos Seijo Pre tworzcy programy pod szyldem MainReactor, tsknie pomylaem o dobrym, nie wymagajcym zrcznociowych wygibasw RPG-u. Zapraszam do lektury. Po takim wstpie moglicie pomyle, e Holotz's Castle to nie godna jakiejkolwiek uwagi produkcja. Ot nie. Posiada ona swj klimat, a wybitnie zrcznociowe przedzieranie si przez kolejne poziomy zostao sklejone cakiem znon fabu. Co wic byo takiego mczcego w zetkniciu z Holotzem? Co spowodowao, e chwilowe zmczenie RPG-ami przerodzio si w nostalgiczn za nimi tsknot? Przede wszystkim pooenie silnego nacisku na zrcznociowy element gry jak rwnie kilka pomniejszych mankamentw, ale po kolei. Na pierwszy ogie wemy klasycznie menu gwne, ktre podobnie jak sama gra jest dosy proste. W przypadku tej produkcji do wyboru mamy nastpujce pozycje: Continue, New Game, Help, Options, Load, Save, Credits oraz Exit. Dwie pierwsze, jeli nie rozpoczlimy jeszcze gry oznaczaj dla nas pocztek przygody. Natomiast wybranie Continue w czasie zabawy spowoduje restart poziomu na ktrym si aktualnie znajdujemy. Help wywietla pomoc dostpn rwnie z poziomu gry za porednictwem klawisza [F1]. Kolejna Options, przenosi nas do pozycji umoliwiajcych dokonanie podstawowej konfiguracji gry podzielonych na cztery kategorie: Video, Sound, Difficulty i Language. Video pozwoli nam na zmian rozdzielczoci, gbi kolorw (do wyboru 8, 16, 24 i 32 bity), sposobu wywietlania (okno lub peny ekran) oraz przywrcenie domylnych ustawie; Sound wczenie bd wyczenie obecnych w grze dwikw i muzyki. Difficulty oferuje wybr jednego z czterech poziomw trudnoci: Toy, Easy, Medium, Hard; przy czym r-

ni si one jedynie czasem jaki mamy na ukoczenie danego poziomu. Language z kolei pozwala wybra jeden z 13 jzykw w ktrych dostpna jest gra. Load oraz Save su oczywicie do wczytania i zapisu stanu gry. Credits wywietli list osb ktre przyczyniy si do do rozwoju programu, za Exit pomoe nam go opuci. Jak mwiem, gra jest zrcznociwk, w ktrej pokonujc kolejne poziomy posuwamy naprzd wtek fabularny wyjaniajcy nam jak znalelimy si w zamku Holotza i co si tam z nami tak naprawd dzieje. Caa sytuacja nie jest bardzo skomplikowana. Dwch przyjaci, Ybelle oraz Ludar po dotkniciu przez tego pierwszego dziwnego niebieskiego kamienia nagle pojawiaj si w innej rzeczywistoci. Od razu zauwaycie, e Ybelle jest pewnym siebie, bardzo wadczym typkiem; Ludar natomiast do czasu pojawienia si w nieznanym wiecie by osob raczej ustpliw, ale spokojnie - nowa sytuacja szybko nauczy go bycia bardziej stanowczym. W wyniku sprzeczki przyjaciele zostaj rozdzieleni wysok cian, kady wic musi ruszy w swoj stron. W tym momencie otrzymacie te podstawowe wskazwki dotyczce gry i niedugo potem przejdziecie do pierwszych jej poziomw; a dalsze perypetie bohaterw poznawa bdziecie w miar pokonywania coraz to bardziej wymagajcych etapw. Niedugo potem jak oboje zdadz sobie spraw, e wsplne zwiedzanie tajemniczego wiata nie wchodzi raczej w rachub zdobd magiczne buty umoliwiajce wysze skoki co pozwoli sprosta pniejszym wyzwaniom. Jako, e fabua Holoz's Castle do najduszych nie naley, w kocu jest to gra stricte zrcznociowa, oszczdz Wam dalszych szczegw. Warto natomiast wiedzie, e ten krtki splot wydarze skadajcy si na opowie w ktrej przyjdzie Wam uczestniczy znaczco zmieni moje spojrzenie na opisywan produkcj. Zoyo si na to kilka faktw. Po pierwsze, scenki przerywnikowe s jedynymi, poza menu gwnym, miejscami w ktrych obecne jest jakie to muzyczne. Po drugie, uspokajaj nerwy pobudzone wielokrotnymi nieudanymi prbami pokonania tego, czy innego poziomu. I po trzecie, posiadaj w sobie pewien magiczny klimat na ktry skadaj si wspominane przed chwil nastrojowe, cho proste motystycze 2010

wy muzyczne; troch zwariowany niekiedy dobr kolorw co razem przenosi obecn w czasie ich trwania atmosfer rwnie na zrcznociow cz gry. Niebagatelne znaczenie maj rwnie artobliwie zbudowane dialogi midzy postaciami. Dla przykadu zapoznam was z kulisami tego jak Ybelle i Ludar staj si posiadaczami czarodziejskich butw. Na pierwszy ogie Ludar. To on jako pierwszy z naszej dwjki dowiaduje si o wspomaganym wczeniej magicznym obuwiu. Gdy dociera do dziwnego jegomocia przedstawiajcego si jako Pan Butw (Lord of Shoes). W tym przypadku komizm sytuacji polega na tym, e rozmwca Ludara wypowiada kolejne sowa niesamowicie wolno, tak e nasz bohater wie o co chodzi zanim ten dokoczy wypowied. Z czasem, nie chcc traci czasu na wysuchanie leniwie pyncych zda zwyczajnie przerywa Wadcy Butw i zanim ten dokoczy, zadaje kolejne pytania. Myl, e aby zrozumie na czym polega groteskowo tej sytuacji, podobnie jak i pozostaych, trzeba samemu obejrze scenk przerywnikow; nie chodzi bowiem o to e Ludar jest nieuprzejmy w tym akurat nie ma niczego zabawnego. Ybelle natomiast, idzie mona powiedzie na drugi ogie, bowiem dociera on do komnaty, gdzie pon dwa rnokolorowe pomienie. To wanie one mwi chopakowi, e bez takich butw daleko nie dojdzie wysyajc go do postaci z ktr rozmawia Ludar. Natomiast, gdy ten pyta gdzie jeszcze moe znale buty oba pomienie jednoczenie odpowiadaj W sklepie z butami, zanoszc si przy tym bezczelnym rechotem. Istotn cech przerywnikw jest take to, i kreuj one postacie Ybelle i Ludara. Jeli przez ca gr skakalibymy sobie tylko z jednej platformy na drug nie wiedzielibymy, e jeden jest zarozumiay a drugi ulegy, czy te jak nazywa si kraina z ktrej pochodz. Ju samo wykreowanie charakterw postaci jest wielkim osigniciem, zdarzaj si bowiem gry, gdzie rozmawia si znacznie wicej a bohaterowie przez ca rozgrywk pozostaj nijacy. Tutaj, chocia fragmenty fabularne stanowi zauwaalnie mniejsz jej cz, takie chociaby dialogi stoj na jakim poziomie i gdy np. kolejny raz zamiast skoczy spadniemy moemy pod nosem warkn na Ybelle Skacz ty zarozumiaa niezdaro, a nie tyl-

74

Recenzje Holotz's Castle

ko Skacz ty niezdaro; a to spore osignicie jak na tak znikomy element fabularny. Pora przyjrze si bliej samej rozgrywce. Jako, e w grze mamy dwch bohaterw zalenie od poziomu sterowa bdziemy raz jednym raz drugim, zwykle po kilka plansz na posta. Tak naprawd poza kolorem samej postaci i tym, e Ludar zbiera klucze, a Ybelle niebieskie kamienie nie ma adnej rnicy czy gramy jednym, czy drugim. Caa gra utrzymana jest w platformowej konwencji, a na kadej planszy interesowa bd nas te same elementy: przedmioty, ktre naley zebra, przeciwnicy, przeszkody terenowe i czas. O przedmiotach ju powiedziaem, pora wic na przeciwnikw. Na pocztku bd to tylko ddownice wdrujce przed siebie, a nie napotkaj ciany, z czasem pojawi si wystpujce zwykle grupami oczy, dziaajce podobnie do ddownic, i diaby. O ile dwa pierwsze wydawa si mog nieszkodliwe, co nie jest prawd, o tyle diaby to ju zupenie inne wyzwanie. Warto na nie uwaa chociaby dlatego, e ich zachowanie zaley od tego, gdzie si znajdujemy. Ponadto zasb ruchw tych czerwonych ludzikw obejmuje ju nie tylko bezmylne lezienie przed siebie, ale take wchodzenie po drabinach. P biedy gdy trafimy na nie w dosy obszernej komnacie, wtedy zawsze mona uciec czy nawet je przeskoczy. Gorzej natomiast, jeli na aktualnie rozgrywanym poziomie autor poupycha je w ciasne tuneliki poczone drabinkami, wtedy musimy si naprawd natrudzi jeli nie chcemy dosta si w ich rce, a tym samym rozpoczyna planszy od nowa. Co si za tyczy przeszkd, podobnie zaczyna si niewinnie, od dow wypenionych bliej nieokrelon mazi. Te z czasem ewoluuj w wystrzeliwujce z ziemi pomienie przybierajce na coraz to pniejszych poziomach nowe barwy. Spotkamy te przeszkody ruchome, w postaci toczcych si kolczastych kul czy cikich kamiennych blokw prbujcych rozpaszczy naszych bohaterw. Jeli dziwicie si czemu ogromnej wagi kamienne bloki okreliem mianem przeszkody ruchomej proponuj przej wikszo gry do momentu, gdy traficie do tuneli z kilkoma takimi pdzcymi jak szalone wprost na Was zapewniam, e nie jest to nic przyjemnego. Oprcz wymienionych utrudnie warto bacznie obserwowa jak wyglda teren po ktrym si poruszamy ze szczeglnym uwzgldnieniem cienkich czerwonych mostkw i popkanych skalnych blokw. Oba zaraz po podskoczeniu zapadaj si. Ca zabawa przypomina miejscami stary przebj Lode Runner z t rnic, e nie moemy kopa dokw i w przypadku Holotz's Castle mamy znacznie wiksz kontrol nad bohaterem. Zasady obowizujce podczas zabawy s dosy

atwe do opanowania. Przede wszystkim sposb ukoczenia kadego z poziomw zawsze jest taki sam i polega na zebraniu wszystkich kamieni lub kluczy, a nastpnie dostaniu si do wcigajcego nas ku grze portalu. W miar jak pokonywa bdziecie coraz cisze poziomy droga na ktrej rozrzucono przedmioty ostatecznie wiodca do upragnionego portalu stawa si bdzie coraz to trudniejsza do pokonania. Na pocztku wystarczy tylko przeskakiwanie ddownic, zrczne kicanie z jednej platformy na kolejn oraz uwzgldnianie zapadajcych si czerwonych mostkw podczas planowania trasy do wyjcia (zdarza si, e jeli obierzemy z drog moemy utkn w martwym punkcie przez co bdziemy musieli rozpoczyna poziom od nowa). Z czasem dojd do tego wspomniane wyej, bu-

chajce z ziemi pomienie, szybkie i sprytne diaby wychodzce nam naprzeciw akurat wtedy, gdy najmniej tego potrzebujemy czy rozbujane liny z ktrych sprawne korzystanie obejmuje nierzadko przeskakiwanie po kilku, a dopiero potem na stay grunt (a i to nie zawsze). I tak naprawd wszystko to byoby do zniesienia nawet dla niedzielnego gracza gdyby nie kilka naprawd irytujcych cech gry, wpywajcych niestety w duym stopniu na komfort zabawy z Holotz's Castle. Cz z Was narzeka bdzie pewnie na brak czego w stylu punktw ycia, wystarczy bowiem, e kto tylko raz nas dotknie i ju musimy rozpoczyna plansz od nowa. Sam szczerze jako szczeglnie tego nie odczuem, duo bardziej natomiast denerwowaa mnie sytuacja nastpujca po mierci prowadzonej przez nas postaci. Ni-

Rysunek 1. Poziom do przejcia, ale raczej nie za pierwszym razem

Rysunek 2. Jedna ze scen przerywnikowych Ybelle i dwa ognie


www.lpmagazine.org

75

Recenzje Holotz's Castle

by nie dzieje si wtedy nic szczeglnego, chopak rozpada si, a zostan po nim same buty, a my czekamy. No wanie, czekamy, a bohater si rozpadnie, pojawi napis Game Over, odsuchamy dwch uderze zegara, napis zniknie, a my rozpoczniemy plansz od nowa dopiero po jakich 6 czy 7 sekundach. Warto przy tej okazji przypomnie, e niejednokrotnie bdziecie powtarza plansze po 20, 30 razy; zapewniam, e kadorazowe czekanie tych 6 sekund jest bardzo irytujce. Na cae szczcie mona to prosto obej. Wystarczy, e w momencie skuchy naciniecie klawisz [Esc], a zaraz po nim [Enter]. Spowoduje to odpowiednio, wyjcie do menu gwnego i wybranie opcji Continue. Cao trwa oko-

o sekundy, a rezultat jest identyczny zaczynamy poziom od nowa. Kolejna rzecz, ktra moe spowodowa, e nawet najbardziej opanowany gracz cinie klawiatur czy gamepada w najdalszy kt pokoju to fakt, e zapisane gry po wczytaniu wymagaj od gracza rozpoczynania lokacji od samego pocztku. Rwnie tutaj wszystko zaley od sytuacji. Rozpoczynajc gr, gdy jest stosunkowo atwo a poziomy nie nale do najbardziej rozlegych da si z tym y, ale pniej bdziecie na to niejednokrotnie zorzeczy. Chodzi mi tutaj konkretnie o sytuacje, w ktrych jestemy w stanie przej powiedzmy 34 poziomu, a to co sprawia nam najwicej trudnoci pooone jest gdzie dalej. Pomylcie tylko, przebija si 30 ra-

Rysunek 3. Wyglda banalnie? Poczekajcie, a tu dojdziecie

Rysunek 4. Okno doczonego do gry edytora poziomw

zy przez to samo, eby kolejne 30 razy wyzion ducha tu przy portalu. A chciaoby si zapisa gr gdzie porodku, niestety nie ma takiej moliwoci. W kwestii zapisu wyranie brakuje rwnie opcji auto-zapisu ktra oszczdziaby niektrym nerww zwizanych z koniecznoci przechodzenia od nowa jednej bd kilku plansz jeli zapomn zachowa stan gry. Inna rzecz, zwizana ze spor wielkoci niektrych plansz to fakt, e zaraz po ich rozpoczciu obraz znajduje si gdzie w okolicach rodka mapy. Jeli punkt startowy pooony jest powiedzmy w lewym grnym rogu bdcie przygotowani, e po kadej nieudanej prbie przebrnicia przez przeszkody bdziecie musieli zaczeka jakie 2 sekundy, a gra przejdzie do miejsca gdzie stoi wasza posta. Ostatnia rzecz jaka przychodzi mi do gowy, gdy myl o zabawie przy Holotz's Castle to automatyczne podskakiwanie jeli wcinity jest klawisz odpowiedzialny za skok. Jest to o tyle mczce, e nawet jeli wciniemy go raz i nie pucimy nasz bohater przy zatkniciu z twardym gruntem bd czym czego moe si uczepi od razu podskoczy. Odczujecie to przede wszystkim, gdy bdziecie zmuszeni przeskakiwa z jednej bujajcej si liny na kolejne, a bohater bdzie od nich od razu odskakiwa niweczc Wasze starania tylko dlatego, e nie pucilicie w momencie przeskoku odpowiedniego klawisza. Jest jeszcze kilka pomniejszych rzeczy mogcych podnie cinienie krwi u grajcego. Mam tutaj na myli np. podzia sterowania pomidzy gamepadem (jeli kto korzysta) a klawiatur. Dokuczliwe zwaszcza, gdy chcecie skorzysta z szybkiego restartu poziomu ([Esc], a zaraz po nim [Enter], byo wyej), poniewa aby to wykona trzeba odoy pada, chwyci za klawiatur i ponownie gmera za kontrolerem. Po 20, 30 razach denerwuje (zwaszcza jeli grajc na padzie trzymacie go nisko pod biurkiem jak niektrzy maj w zwyczaju). Uwaajcie te, aby przypadkowo nie klikn [Esc] celem np. spauzowania gry zakoczy si to przymusowym restartem planszy; do wstrzymania zabawy suy klawisz [P] (ale mona te skorzysta w tym celu z funkcji klawisza [F1]). Kolejna rzecz to niezbyt funkcjonalne menu gwne. Zwaszcza, gdy prbujecie wybra jedn z wyszych rozdzielczoci. Ot na ekranie jednoczenie mieci si ich 18, przy czym najwysz jest (przynajmniej w moim przypadku) 1280x768. Moecie przej wyej ale nie bdziecie widzie na jakiej obecnie jestecie. Powd? Nie mieszcz si one na licie. Rwnie edycja pliku konfiguracyjnego gry niewiele w tym wypadku pomaga, poniewa rozdzielczoci oznaczone s tam tylko numerem, a nie wartociami wysokoci i szerokoci ekranu. Tutaj maa podpowied, chcc ustawi tak np. 1680x1050 (zakadajc, e jest

76

stycze 2010

Recenzje Holotz's Castle

ona nasz rozdzielczoci nominaln) proponuj zjecha na najnisz i jeszcze raz klikn strzak w d. Przejdziemy wtedy do tej na samej grze, czyli jak si domylam najwyszej rozdzielczoci zdefiniowanej w konfiguracji serwera graficznego, najpewniej domylnie przez Was wykorzystywanej. Jeli chodzi o co co stoi po stronie gracza, to jest to z pewnoci nieskoczona liczba y. Nigdy nie zdarzy si, e bdziecie musieli zaczyna gr od samego pocztku bo ile tam razy was zabili, nic z tych rzeczy. Warto wspomnie jeszcze o doczonym do gry edytorze poziomw. Z braku miejsca nie bd opisywa tutaj wszystkich skrtw klawiszowych oraz interfejsu edytora, a udziel Wam tylko niezbdnych moim zdaniem informacji. Przed jego uruchomieniem odel Was te od razu do pliku MANUAL_EN.txt znajdujcego si w katalogu doc. Znajdziecie tam opisany listing caej klawiszologii edytora (absolutnie niezbdnej, poniewa niektre ustawienia tworzonych poziomw zmieni moemy tylko i wycznie korzystajc z klawiatury) oraz kilka wskazwek odnonie jego uytkowania, np. dotyczcych umieszczania na planszy lin oraz ustawiania takich ich cech jak dugo czy rozhutanie. Dodam, e wykonujc plik uruchamiajcy edytor (w przypadku paczki binarnej holotz-castle-editor) z parametrem -h wywietlone zostan pozostae, nierzadko bardzo przydatne. Zaliczy do nich mona np. uruchamianie programu na penym ekranie co jest znacznie wygodniejsze ni projektowanie plansz w oknie; oraz kilka innych, np. dotyczcych pocztkowego rozmiaru nowo-tworzonych poziomw (zmiana ich wielkoci z poziomu okna edycji do prostych nie naley). Radz te po uruchomieniu programu klikn w pierwszej kolejnoci na ikon tego folderu, a nastpnie wybra <-----> co odpowiada za tworzenie nowego poziomu. Przy zapisie bowiem nikt nie spyta was o nazw waszej planszy, natomiast tutaj bdziecie mogli j nada. Jako ciekawostk dodam jeszcze, e tworzc wasne przygody moemy jako posta gracza wybra Holotza. Rzumy teraz okiem na opraw audiowizualn gry. O muzyce, wystpujcej tylko podczas scen przerywnikowych ju pisaem. Chocia posiada ona niewyszukan kompozycj swj urok ma. Dobrze oddaje atmosfer tajemniczego zamczyska i z racji jej braku podczas waciwej rozgrywki odpowiada w duym stopniu za klimat caej produkcji, a nie jest to atwe zadanie. Wystpujce w grze efekty dwikowe podobnie jak to muzyczne, zostay potraktowane dosy oszczdnie. Najwikszym zaskoczeniem bdzie dla Was pewnie fakt, e mona je policzy na palcach jednej rki sprbujmy. Usyszymy dwiki towarzyszce: rozpoczciu poziomu, zebraniu jednego z rozmieszczonych na planszy przedmiotw, ze-

braniu wszystkich znajdujcych si na danym poziomie przedmiotw oraz po opuszczeniu planszy przez portal. Daje to cznie 4 dwiki, chocia nie wykluczam e co pominem. Tak czy inaczej nie jest tego wiele. Jeli miabym wypowiedzie si na temat ich jakoci powiedziabym, e stoi ona na przecitnym poziomie. W sytuacji, gdy jest ich tak niewiele atwo si domyle, e kady z nich bdziemy sysze dosy czsto. Po kilku dniach gry mog powiedzie, e s one raczej przyjemne dla ucha, zwaszcza dwik odgrywany w momencie zebrania przedmiotu sprawia dobre wraenie, a jedyny mczcy to ten towarzyszcy rozpoczciu nowego poziomu co jest jednak spor wpadk gdy jak mwiem, zdarza si to bdzie w przypadku Holotz's Castle wyjtkowo czsto. Grafika jak w tym przypadku zaserwowa nam autor jest przecitna. Jedyne co mczy to brak ta na rozgrywanych poziomach. Jednoczenie szkoda, e nikt ich nie narysowa bo z tego co widzimy po tach obecnych w przerywnikach potrafi robi to cakiem przyzwoicie. Myl, e wiele osb spisao ju Holotz's Castle na straty i to jak sdz tylko ze wzgldu na wyliczone powyej niedorbki i wysoki poziom trudnoci, co w moim odczuciu jest karygodnym bdem. Mona co prawda mie problem z obiektywnym ustosunkowaniem si do tego tytuu, to fakt; zanim jednak przeskoczycie kilka stron dalej posuchajcie jak caa sytuacja wyglda z mojego punktu widzenia. Sdz, e gra nadaje si dla kadego, jedni dostan przy nim biaej gorczki inni jako sobie poradz. Wci jednak nie mwimy o grupie odbiorcw, ktra moe poczu si tutaj jak ryba w wodzie, a mam na myli graczy obierajcych sobie za cel przechodzenie gier w jak najkrtszym czasie. Nie od dzi wiadomo e ekstremici w tej dziedzinie mao tego, e wyciskaj z siebie sidme poty by tu czy tam przej co p sekundy szybciej to jeszcze najchtniej wybieraj tytuy wyjtkowo cikie do pokonania. Obawiam si, e cz z Was moe mnie w tym momencie le zrozumie. Nie sdz wcale, e gra jest szczeglnie cika, mnie samemu grajcemu gwnie wieczorami zaja ona 2, moe 3 dni; natomiast uwaam, e jeli kto miaby czerpa z niej wyjtkow przyjemno to zwaszcza speedrunerzy. Holotz's Castle dostpne jest na systemie z rodziny Windows, GNU/Linux oraz FreeBSD. Jak w przypadku wikszoci opisywanych tytuw program dostpny jest w postaci binarnej oraz kodu rdowego. Obie paczki s do pobrania ze strony domowej gry znajdujcej si pod adresem http://www.mainreactor.net/ holotzcastle/en/index_en.html. W przypadku pakietu binarnego wystarczy, e rozpakujemy pobrane archiwum, a nastpnie w nowo-utworzonym katalogu wykonamy plik noszcy nazw
www.lpmagazine.org

holotz-castle. Co za tyczy si kompilacji rde, tutaj sprawa jest ju nieco bardziej zamotana. Ot plik do ktrego odsya nas strona domowa Holotza nosi na chwil obecn nazw holotz-castle-1.3.14-src.tar.gz i prawd mwic nie mam do koca pewnoci czy to ten waciwy. Mnie prostym make nie udao si skompilowa jego zawartoci, a wspomniany ju wczeniej plik MANUAL_EN.txt umieszczony w katalogu doc (ktry jest chyba jedyn doczon do gry dokumentacj) odele was do zupenie innego pakietu ze rdami, mianowicie HC_JLib_Linux_Win32-1.3.tar.gz. Ten z kolei znajdziemy pod adresem http://www.mainreactor.net/ holotzcastle/download/. Po jego rozpakowaniu moemy ponownie przystpi do kompilacji. Radz jeszcze tylko sprawdzi czy macie w systemie wszystkie niezbdne zalenoci, mianowicie: SDL, SDL_mixer, SDL_ttf i SDL_image. Aby zbudowa program, jak wynika z pliku README.txt, wystarczy e wydamy nastpujce polecenia: make lib, make install-lib (to jako root) oraz make games. Osobicie ca procedur pominem, gdy wczeniej przejrzaem ku przestrodze pliki budulcowe w ktrych nie znalazem adnego parametru dla make odpowiedzialnego za usuwanie instalowanych w systemie bibliotek. Tote, aby nie nabaagani zadowoliem si w tym wypadku pakietem binarnym co i Wam polecam. Ocena gry: 3-/5

Za i przeciw
Za: prosta ale klimatyczna muzyka nieskomplikowane sterowanie sensownie przedstawiona fabua doczony edytor poziomw wysoki poziom trudnoci

Przeciw: brak moliwoci dostosowania uywanych klawiszy przecitna oprawa audiowizualna brak opcji auto-zapisu nie zawsze funkcjonalny interfejs oraz wiele pomniejszych mankamentw

O autorze
Od kilku lat codzienny, domowy uytkownik GNU/Linuksa. Entuzjasta rozwiza alternatywnych i wolnego oprogramowania. Kontakt z autorem: maciej_mrozinski@o2.pl

77

You might also like