magazine - Draco

43
dragonia Magazyn użytkowników otwartego oprogramowania magazine Numer 37 – 2010 Clam AntiVirus Chętnych do zamiany naszego kom- putera w zombie rozsylające spam lub atakujące inne komputery jest calkiem sporo. ClamAV – skaner antywiruso- wy, może nam pomóc w obronie przed ciemną stroną mocy. Calość na stronie 23 Przyspieszone wprowa- dzenie do Solarisa Druga część naszego przyspieszonego wprowadzenia do Solarisa 10 i Open Solarisa. Tekst kierowany jest do do- świadczonych i mądrych adminów, aby umożliwić im przyspieszenie star- tu z Solarisem tak szybko, jak to jest możliwe. Jeśli jesteś typem użytkow- nika/admina, który wie jak czytać in- strukcję lub stronę man, jedynym pro- blemem, z którym się spotykasz po- znając nowy system, jest znalezienie nazw narzędzi, których potrzebujesz. Calość na stronie 3

Transcript of magazine - Draco

Page 1: magazine - Draco

dragoniaMagazyn użytkowników otwartego oprogramowania

magazineNumer 37 – 2010

Clam AntiVirusChętnych do zamiany naszego kom-putera w zombie rozsyłające spam lubatakujące inne komputery jest całkiemsporo. ClamAV – skaner antywiruso-wy, może nam pomóc w obronie przedciemną stroną mocy.

Całość na stronie 23

Przyspieszone wprowa-dzenie do SolarisaDruga część naszego przyspieszonegowprowadzenia do Solarisa 10 i OpenSolarisa. Tekst kierowany jest do do-świadczonych i mądrych adminów,aby umożliwić im przyspieszenie star-tu z Solarisem tak szybko, jak to jestmożliwe. Jeśli jesteś typem użytkow-nika/admina, który wie jak czytać in-strukcję lub stronę man, jedynym pro-blemem, z którym się spotykasz po-znając nowy system, jest znalezienienazw narzędzi, których potrzebujesz.

Całość na stronie 3

Page 2: magazine - Draco

Drodzy CzytelnicyW numerze garść artykułów wprowadzają-cychw temat peer2mail oraz CADpod Linuk-sem. Programy CAD to temat bardzo szero-ki, aplikacji pod Linuksa jest jak na lekarstwo,choć widać małe postępy. Pojawiają się apli-kacje komercyjne, ale to wszystko mało na-wet w porównaniu z komercyjnymi Uniksa-mi, o Windows nie wspominając. Poza tympojawiające się aplikacje to zwykle tzw. entrylevel, gdy pod Uniksami mamy topowe apli-kacje. . . Cieszy fakt, że oprócz tzw. elektro-nicznych desek kreślarskich pojawiają się pro-gramy specjalizowane, np. dla GIS, ale nieste-ty elektrycy i automatycy jeszcze długo niebędą mieli narzędzi dla siebie pod Linuk-sem. . .Na szczęście nie samymi aplikacjami inży-nierskimi świat żyje, zresztą jak wyglądałbyInternet bez opensourcowych systemów ope-racyjnych i aplikacji?Co jeszcze na naszych łamach? Artykuł o ko-rzystaniu z Subversion pod Windows i ciągdalszy wprowadzenia do Solarisa. Na deserpolecam świetny felieton o pochwaleminima-lizmu nie tylko dla kochających Slackware.Miłej lektury!Tomasz Łuczakzastępca redaktora naczelnego

Wszystkie publikowane materiały są objęte pra-wemautorskimna zasadach licencji Creative Com-mons CC-BY. Nie ponosimy odpowiedzialnościza treść ogłoszeń. Nazwy firm, nazwy handlowei znaki towarowe zostały użyte w publikacji jedy-nie w celach informacyjnych i są własnością po-szczególnych podmiotów.

Spis treściSystemPrzyspieszone wprowadzenie do Solarisa, część 2 . . . . . . . . . . . . . . . . . . . . . . . 3Co jeszcze na biurko prócz Linuksa, czyli PS-BSD . . . . . . . . . . . . . . . . . . . . . . . 5Rzut oka na PCLinuxOS 2010. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Profesjonalna platforma CAE dzięki CAELinux . . . . . . . . . . . . . . . . . . . . . . . . 9

FelietonBo z kobietami, to jest jak z systemami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

ProgramowanieOptymalizacja zapory dzięki mechanizmowi filtrowania z pamięcią stanu . . . . . . . . . . . . . . . 13

SoftwareSubversion dla każdego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Clam AntiVirus – kompendium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23QCAD CE – projektujemy w Linuksie . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Profesjonalne mapy z Quantum GIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Wine, czyli o tym, jak obejść się bez okien. . . . . . . . . . . . . . . . . . . . . . . . . . 32Dzielenie się plikami – Peer2Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Moorie - praktyczne wykorzystanie P2M . . . . . . . . . . . . . . . . . . . . . . . . . . 39

LiteraturaKsiążki wydawnictwa PWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Recenzja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Książki wydawnictwa HELION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Piotr Krakowiak – redaktor naczelny, założyciel, koordynacja, skład,Tomasz Łuczak – zastępca redaktora naczelnego, skład,Paulina Budzoń – korekta, skład,Rafał Domeracki – sekretarz redakcji, opieka nad hostingiem,Karol Kozioł – koordynator redaktorów i artykułów,Piotr Szewczuk – opieka nad hostingiem,Krzysztof Biskup – opieka nad www,Krzysztof Ołowski – korekta,Kamil Galos, Keyto, Łukasz Wojno, Andrzej Warzyński.Współpracujący: Maciej Kamiński, Grzegorz Kuczyński, Maciej Miąsik

www: http://www.dragonia.plforum: http://forum.dragonia.ple-mail: [email protected]

Skład za pomocą systemu LATEX fontami TeX Gyre i Latin ModernPierwowzór layoutu Dragonia Magazine przygotował m4c

Drukuj Pełny ekran numer 37 – 2010 2

Page 3: magazine - Draco

System Podyskutuj o artykule na forum

Przyspieszone wprowadzenie do Solarisa, część 2Maciej KamińskiOto druga rata naszego przyspieszonego wprowadzenia do Solari-sa 10 i OpenSolarisa. Te wpisy kierowane są do doświadczonych imądrych adminów [i programistów], aby umożliwić im przyspie-szenie z Solarisem tak szybko, jak to jest możliwe. Jeśli jesteś typemużytkownika/admina, który wie jak czytać instrukcję lub stronęman, jedynym problemem, z którym się spotykasz poznając no-wy OS, jest znalezienie nazw narzędzi, których potrzebujesz. Jeśliwiesz, czego szukasz, możesz się nauczyć o tym szybko. Wracamydo zabawy. . .Autor: Ben Rockwood (oryginał w języku angielskim na stronie [1]).

Zarządzanie sprzętemW systemie Linux możesz się nauczyć wiele przekopując /proc. W Solarisie teżmamy system plików /proc, ale znajdziesz tam tylko informacje o działającychprocesach, które możesz albo przeglądać ręcznie, albo za pomocą „P-narzędzi”(poczytaj man proc, jeśli interesują Cię szczegóły).

Jeśli chcesz zbadać urządzenia w swoim systemie, możesz użyć kilku innychnarzędzi. Na systemach SPARC możesz użyć narzędzia prtdiag, które znajdzieszw /usr/platform/‘uname -i‘/sbin/prtdiag, aby zobaczyć wiele informacji o systemie,włączając w to urządzenia IO, przeplot pamięci i inne ustawienia systemu. Nasolarisie /x86 tych informacji jest nieco mniej, bo jest zbyt wiele rodzajów syste-mów x86 (tam używaj narzędzia /usr/sbin/prtdiag).

Solarisowe narzędzie prtconf pokaże całą konfigurację systemu z perspekty-wy Solarisa. Pokaże jakwielemasz pamięci, jakie urządzenia sąw systemie, jakiesą im przypisane sterowniki i instancje. Niestety wynik prtconf może być niezbytczytelny, jako że narzędzie to wypisuje urządzenia według nazw sterownikówi jeśli nie znasz tych nazw, nie wiesz, co tam jest. Narzędzia stają się bardziej uży-teczne z opcją -v, ale wtedy wynik jest tak wielki, że łatwo jest się pogubić, więcprawdopodobnie jedyną okazją, kiedy prtconf na prawdę do czegoś się przydanadarzy się wtedy, kiedy będziesz chciał się dowiedzieć, dlaczego jakieś urzą-dzenie jest niewidoczne lub nie działa.

Solaris ma dwa różne systemy plików dla urządzeń:– /devices – Zawiera „fizyczne” ścieżki. Poniższy przykład ścieżki to urządzenie

fibre channelowe (zauważWWN po ssd), na pierwszym GBIC ([email protected]) kartyHBA QLogica (qlc) na pierwszej magistrali PCI/devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w2100002037838435,0

– /dev – Zawiera ścieżki „logiczne”, które zwykle są odnośnikami do prawdzi-wych urządzeń w drzewie /devices.Urządzenia pamięci masowej są dostępnew dwóch postaciach: jako urządze-

nie blokowe („normalny sposób”, spotykanyw /dev/dsk) i jako suroweurządzenia(także nazywane urządzeniami znakowymi, dostępne w /dev/rdsk). Ze względuna Solarisowy framework pamięci masowej wszystkie urządzenia są dostępne wten sam sposób, właściwy dla urządzeń SCSI. W Linuksie hda1 znaczy pierw-sza partycja na pierwszym dysku IDE. W Solarisie c0t0d0s0 oznacza kontroler 0,target 0, LUN 0, plaster (slice) 0.

Narzędzie format pozwala przeglądać, partycjonować i modyfikować dyski.Możesz tworzyć systemy plików poleceniem mkfs dokładnie jak na Linuksie, aletam, gdzie Linux używa -t (fs) do określenia typu systemu plików, Solaris używa-F (fs), znaczenie jest to samo – jedynie flaga inna.

W Solarisie bardzo, bardzo rzadko jest jakakolwiek potrzeba rebootowania.Możesz poprosić system, by poszukał nowych urządzeń, załadował sterownikii stworzył plik urządzeń, po prostu używając polecenia devfsadm. Poczytaj stro-nę man przed użyciem. Zamiennie, jeśli na prawdę lubisz rebootować, możeszwystartować system z opcją -r lub po prostu touch /reconfigure, aby zaktualizo-wać system po następnym starcie. Ja i wielu innych adminów, usilnie odradzamyużytkownikom konfigurować sprzęt przy bootowaniu, jako że znacznie trudniejjest wtedy naprawić system, gdy cokolwiek się popsuje. W prawie wszystkichprzypadkach wolę używać devfsadm -vC, aby poszukać nowych urządzeń i wy-czyścić stare.

Drukuj Pełny ekran numer 37 – 2010 3

Page 4: magazine - Draco

System Podyskutuj o artykule na forum

SiećW systemie Linuksowym typowo masz plik lub dwa do edycji, aby poprawnieskonfigurować sieć, lub nawet GUI, aby to wszystko opakować. W Solarisie kon-figuracja sieci jest „zintegrowana” w rozmaite pliki systemowe w /etc. Poniżejprzegląd tego, jak ręcznie skonfigurować nowy interfejs w Solarisie:

1. Wpisz nazwę systemu do /etc/nodename. To będzie jedyna rzecz w tym pliku.To jest powszechna nazwa systemu niezależnie od tego ile hostnames on taknaprawdę posiada.root@anysystem $ cat /etc/nodenameanysystem

2. Dodaj hostname właściwe dla nowego interfejsu i IP do /etc/hosts.3. Dodaj wszelkie istotne maski do /etc/netmasks. Te maski dotyczą rozmaitych

sieci, których częścią może być twój system. Dla 192.168.100.0/24 dodaj linię:„192.168.100.0 255.255.255.0”.

4. Wpisz hostname wpisane w /etc/hosts do pliku /etc/hostname.(interfejs). Naprzykład, jeśli chciałeś ustalić adres IP dla „nge0” (NVidia Gigabit Ethernet)i dodałeś wpis „192.168.100.42 cuddlistic1” w /etc/hosts, napisz „cuddlistic1”w /etc/hostname.nge0. Hostname to jedyna rzecz, która idzie do tego pliku.

5. Dodaj informacje DNS do /etc/resolv.conf (pamiętaj o uwzględnieniu dns w/etc/nsswitch.conf – przypis tłumacza).

6. Wpisz domyślą bramę do /etc/defaultrouter. Jeśli Twoją bramą jest192.168.1.254, po prostu napiszeszecho 192.168.1.254 > /etc/defaultrouterZnowu: IP rutera to jedyna rzecz, która idzie do tego pliku

7. Teraz możesz zrebootować lub, lepiej: svcadm restart svc:/network/physical. Jeśliwolisz stosować DHCP, po prostu upewnij się, że Twoje podstawowe hostna-me jest w /etc/nodename i zamiast całej reszty utwórz plik /etc/dhcp.(interfejs).Więc, jak chcesz używać DHCP do nge0, po prostu użyj touch /etc/dhcp.nge0i gotowe.

To wszystko razem może wyglądać na wiele nudnej roboty, ale jest bardzoklarowne, bo wszystko do siebie pasuje. W większości systemów linuksowych/etc/hosts niczemu ważnemu nie służy, bo możesz usunąć swój komputer a dalejwszystko będzie działać, a w Solarisie możesz zmienić swój adres IP po prostuedytując /etc/hosts i restartując interfejsy. Dla mnie, mimo że Solarisowy sposóbzajmujewięcej czasu, umożliwia łatwiejsze zarządzaniewszystkimi interfejsami,niż trzymanie kompletu informacji o każdym interfejsiew osobnych plikach.Mo-żesz sprawdzić ruting i statystyki interfejsów, jakwszystko inne, używając netstati oczywiście ifconfig. Działają tak, jak tego oczekujesz (mniej więcej: są drobneróżnice, lepiej obejrzyj man – przypis tłumacza).

Solaris udostępnia IP Multipathing (IPMP) jako sposób tworzenia zapaso-wych interfejsów, więc jak jeden interfejs umrze (albo switch, do którego jest onpodpięty), użyty zostanie ten drugi. Możesz poczytać o IPMP tu [2]. Dodatkowow Solarisie 10 Update 1 doszło narzędzie /sbin/dladm umożliwiające tworzenieVLAN-ów i agregacji łącz (aka: trucking, bonding).

Programowy RAIDTemat usunięty jako nieaktualny: Ben Rockwood dyskutuje poprzedni(przed-ZFS-owy) menadżer woluminów logicznych Solarisa. Od czasu wpro-wadzenia ZFS jest bardzo mało sytuacji, w których to oprogramowanie może sięprzydać ;-)

Odnośniki[1] http://www.cuddletech.com/blog/pivot/entry.php?id=573[2] http://www.cuddletech.com/blog/pivot/entry.php?id=83

Drukuj Pełny ekran numer 37 – 2010 4

Page 5: magazine - Draco

System Podyskutuj o artykule na forum

Co jeszcze na biurko prócz Linuksa, czyli PS-BSDKamil GalosRóżne dystrybucje systemu GNU/Linux od długiego czasu próbu-ją bezwiększego skutku opanować rynek komputerówdomowych,potocznie zwanych biurkowymi. Dziś bez wątpienia można stwier-dzić, że systemy takie jak Mandriva Linux czy Linux Mint są prostei intuicyjne w obsłudze, przyjazne dla nieobeznanego z kompute-remużytkownika.Obsługująwiększość technologii dostępnychdlagłównego gracza rynku – WindowsTMi często bywają znacznie ła-twiejsze w obsłudze niż on sam. Jakie jeszcze mamy alternatywy,oprócz systemów z jądrem Linux? Jedną z nich jest BSD.PC-BSD powstał jako alternatywa dla FreeBSD, najpopularniejszej z dystrybucjizbudowanych na jądrze BSD.Według zamierzeń autorów, miał on być dystrybu-cją przeznaczoną na domowe komputery, łatwą w obsłudze. Wydana niedawnowersja oznaczona numerem 8 wnosi takie ułatwienia i nowości jak możliwośćuruchomieniaw trybie live, prostszy, graficzny instalator, SoftwareManager, dzię-ki któremu zainstalujemy aplikacje dostępne w tzw. portachw trybie graficznym.

Instalacja systemuPodczas bootowania systemu mamy sporo możliwości wyboru, m.in. urucho-mienie w trybie live. Domyślnie ładowany jest instalator. Na początku możemyteż sprawdzić integralność archiwów dostępnych na płycie – opcja przydatnaw niektórych przypadkach.

Instalacja systemu przebiega w trybie graficznym – instalator ma przyjemnyinterfejs, pozwalający w prosty sposób skonfigurować instalację. Wciąż odbie-ga od takich instalatorów, jak ten słynny z Ubuntu, pozwalający zainstalowaćsystem przy pomocy chyba dziesięciu kliknięć. Tutaj interakcja użytkownika jestniezbędna, jeśli chcemymieć środowisko graficznew języku innymniż angielski,dodatkowe informacje, takie jak strefa czasowa, układ klawiatury nie są wykry-wane automatycznie. Plus należy się jednak za spolszczenie instalatora, pomimoże niepozbawione literówek, znacznie ułatwia proces instalacji.

Jedną z ciekawych opcji jest możliwość wyboru pomiędzy PC-BSD i FreeBSDw jednym z kroków na początku instalacji. Na jednej płycie mamy więc oba sys-temy, co jednakże wpływa znacząco na rozmiar instalacyjnego DVD, ponad 3gigabajty danych. Dostajemywskazówkę, że PC-BSD jest przeznaczony dla stacjiroboczych, FreeBSD natomiast na serwery.

Rysunek 1. Graficzny instalator systemu

Partycjonowanie nie należy tutaj do najprzyjemniejszych czynności. Na szczę-ście sprawę ułatwia automatyczny podział na partycje, uwzględniający obecnośćinnych danych na dysku.Możemy też użyć całego dysku lub sami stworzyć układpartycji – odradzam jednak próby komuś, kto nie jest do końca pewny tego, corobi.

Dodanie nowego użytkownika oraz stworzenie hasła administratora jest ko-nieczne, jeśli chcemy przejść do dalszych kroków instalacji. Na tym etapie mo-żemy też ustalić rodzaj powłoki dla danego użytkownika oraz automatyczne lo-gowanie – domyślnie włączone dla pierwszego z listy.

Po ustaleniu strefy czasowej (domyślnie też czas będzie aktualizowany napodstawie danych z serwerów NTP – co oczywiście można wyłączyć), może-my wybrać kilka popularnych i przydatnych aplikacji, do opcjonalnej instalacji.

Drukuj Pełny ekran numer 37 – 2010 5

Page 6: magazine - Draco

System Podyskutuj o artykule na forum

Podstawowe środowisko graficzne KDE SC w wersji 4.3.5 posiada właściwie ca-ły zestaw programów, niezbędnych do codziennej pracy. Nie zmienia to faktu,że możemy w bardzo prosty sposób doinstalować Firefoksa, Operę, Thunderbirda,VLC, K3b lub Pidgina oraz zestaw portów, czyli repozytoriów oprogramowaniadla FreeBSD.

Rysunek 2. Losowy pulpit systemu PC-BSD

Co ze sprzętem?Bez zagłębiania się w temat opiszę tylko pokrótce, jak wygląda obsługa mojegolaptopa przez PC-BSD na tle Linuksa. Sterownik (zamknięty) dla mojej bezprze-wodowej karty sieciowej Intela na płycie instalacyjnej obecny nie jest, w każdymrazie u mnie karta nie została uruchomiona. Spodziewałem się takiej sytuacjiw związku ze wpisem na DistroWatch [1], jednakże nie przygotowywałem sięspecjalnie na taką sytuację. Bezbłędnie za to zostały zainstalowane sterownikido karty graficznej, także intelowskiej, łącznie z obsługą efektów 3d KWin. Naj-bardziej ucieszyła mnie możliwość uśpienia systemu poprzez użycie klawiszyfunkcyjnych – coś, czego out-of-the-box na systemach z Linuksem nie dało sięosiągnąć przy KDE, chyba w związku z jakimś błędem Power Devil. Niestety

moja radość trwała krótko, bo jak się okazało, uśpiony system nie bardzo miałochotę się zbudzić.

OprogramowanieDomyślnym środowiskiem graficznym PC-BSD jest KDE SC w wersji 4.3.5, za-wierające podstawowe aplikacje, niezbędne w codziennej pracy. Możemy zain-stalować teżGnome,Enlightenment,XFCE czy nawetKDE3. Na płycie instalacyjnejznajduje się jeszcze kilka przydatnych programów, które możemy łatwo dodać.Przeglądarki internetowe mają preinstalowane wtyczki Shockwave Flash, Moonli-ght, Dvix, Real Time, Quick Player,WindowsMedia Player, Java – praktyczniewszyst-kie potrzebne do bezproblemowego przeglądania sieci.

Program Software Manager pozwala w prosty sposób zainstalować dostęp-ne dla systemu aplikacje lub zaktualizować system. Co ciekawe, pozwala takżena instalację niektórych aplikacji komercyjnych, np. emulatorów Bordeaux czyCross Over Game.Mamy też dostęp do najnowszychwersjiOpenOffice.org, Firefoxczy VLC.

Tuż po instalacji mamy też dostęp do wielu aplikacji edukacyjnych, kilku cie-kawych gier, najważniejszych programówdo edycji zdjęć (digiKam). Ogólniemó-wiąc ilość programów, które możemy zainstalować z poziomu Software Mana-ger, jest na pierwszy rzut porównywalna do ilości aplikacji dostępnych w takichdużych dystrybucjach GNU/Linuksa, jak np. Mandriva.

PodsumowanieNie sądzę, by na chwilę obecną PC-BSD mógł konkurować z dużymi dystry-bucjami systemu GNU/Linux, na płaszczyźnie obsługi sprzętów typu laptop,w każdym razie nie sprawdził się w ogóle na moim ThinkPadzie. Tuż po insta-lacji system nie jest spolszczony w zadowalającym stopniu, niektóre programywciąż mają anglojęzyczne menu. Za to jeżeli chodzi o oprogramowanie, systemwypada wyśmienicie – zainstalowane są wszystkie niezbędne do przeglądaniaInternetu wtyczki i inne potrzebne programy.

Skonfigurowany PC-BSD jest doskonałym rozwiązaniem dla przeciętnegoużytkownika i spełni wszystkie jego wymagania, jednakże sama instalacja wy-maga już nieco wiedzy i uwagi, mimo faktu, że instalator jest spolszczony i pro-sty w obsłudze. Pomimo tego, osobiście wciąż polecałbym użytkownikom po-czątkującym instalację takich dystrybucji GNU/Linux, jak Mandriva czy Mint,a PC-BSD traktowałbym jako wartą uwagi ciekawostkę.

Odnośniki[1] http://distrowatch.com/weekly.php?issue=20100308

Drukuj Pełny ekran numer 37 – 2010 6

Page 7: magazine - Draco

System Podyskutuj o artykule na forum

Rzut oka na PCLinuxOS 2010Kamil GalosW kwietniu bieżącego roku, Bill Raynolds vel Texstar ogłosił wy-danie nowej wersji swojej dystrybucji GNU/Linuksa, PCLinuxOSwwersji 2010. Pierwsze stabilne wydanie wspierające nowe środo-wisko graficzne KDE z gałęzi 4.x wnosi sporo nowości i udogod-nień, jak zwykle nakierowanych na początkujących użytkowników.Motto systemu – radykalnie prosty – odzwierciedla to, z czym ma-my do czynienia, bo PCLinuxOS to jedna z najłatwiejszych w uży-ciu dystrybucji GNU/Linuksa.Twórca i opiekun: Bill Raynolds vel TexstarWydanie: PCLinuxOS 2010, 20 kwietniaŚrodowisko graficzne: KDE, GNOME, Xfce, LXDE, EnlightenmentZarządzanie pakietami: RPM poprzez APT i SynapticDostępne wersje dla procesorów: i586Strona domowa [1][2], wsparcie techniczne: [3]

Od tego się zaczęłoJeszczew roku 2003 Bill Raynolds, znany szerzej w swoimśrodowisku jako Texstar, twórca paczek z oprogramowa-niem dla Mandrake Linux, zdecydował się na stworzenienowej dystrybucji, wprowadzającej dodatkowe ułatwie-nia dla użytkowników początkujących, w tym obsługęout-of-the-box niewolnych kodeków i wtyczek oraz kilkainnych funkcji. To dlatego PCLinuxOS jest dziś znakomi-tym rozwiązaniemdla domowych komputerów. Pierwszewydania budowane były w oparciu właśnie o Mandrake, jednakże bardzo szyb-ko dystrybucja stała się w pełni niezależnym systemem z własnym, obszernymrepozytorium pakietów.

Wcześniejsze wydania PCLinuxOS krytykowane były m.in. za brak wsparciaout-of-the-box dla języków innych niż angielski, co automatycznie zmniejsza-ło pozycję dystrybucji wśród tych przeznaczonych na domowe biurka w pań-stwach nieanglojęzycznych. Sprawa została rozwiązana w aktualnymwydaniu –skrypt Add Locale, który uruchomimy w menu Applications .More Applications .Configuration, pozwala na proste dodanie języka spośród sześćdziesięciu dostęp-nych, jest to właściwie jedyna rzecz jaką należy zrobić po instalacji systemu, abymieć w pełni funkcjonalne środowisko pracy w rodzimym języku.

Jest w czym wybieraćPCLinuxOS dostępny jest w postaci LiveCD w kilku najważniejszych środo-wiskach graficznych, począwszy od najważniejszych KDE i GNOME, poprzezmniej wymagające zasobów Xfce a skończywszy na lekkich LXDE i Enlighten-ment. Możemy więc wybrać nasze ulubione środowisko pracy. Minimalistycznawersja GNOME ZenMini Desktop dla osób, które pragną mieć pełną kontrolę nadwyborem oprogramowania, jest także dostępna – zajmuje niecałe 350 MB.

Łatwa instalacja systemu z DrakliveWady, jakie posiada liveCD Mandrivy, zostały wyeliminowane – podczas uru-chamiania systemnie zadaje namkilkunastu pytań, które z powodzeniemmożnaby pominąć, jesteśmy jedynie poproszeni o wybór układu klawiatury.

Instalacja odbywa się poprzez narzędzie znane z Mandrivy, Draklive. Jest toprosty i intuicyjny instalator, dzięki któremupo kilku krokach i kilkunastuminu-tach nasz system będzie gotowy do pracy. Podczas instalacji nie mamymożliwo-ści spersonalizowania oprogramowania, co jest związane z ograniczoną ilościądostępnego na płycie CDmiejsca. Systemmożemy zainstalować także na kluczuUSB.

OprogramowanieWybór programów dostępnych po instalacji przedstawia się bardzo interesują-co. OpenOffice.org został usunięty, dzięki czemu znalazło się miejsce dla wieluciekawych, mniejszych aplikacji. Zamiast niego możemy wykorzystać programyAbiWord i Gnumeric. Twórca nie zapomniał jednak o flagowym produkcie świataWolnego Oprogramowania i umieścił w menu Office (Biuro) skrypt pozwalającyna jego instalację bez konieczności użycia menadżera pakietów, w jednej ze studostępnych wersji językowych.

Dobór programów nie różni się też znacząco pomiędzy różnymi wersja-mi PCLinuxOS, co dodatnio wpływa na jednolitość dystrybucji. Przykładowowwersji GNOMEmamy Brasero do nagrywania płyt zaśK3bwwersji KDE,Gimp,GTKam, XSane do edycji grafiki, zdjęć i obsługi skanerów, Firefox, Thunderbird,Pidgin, Skype do przeglądania sieci i komunikacji, MPlayer, Totem, Xmms, Rhy-thmbox, Amarok do obsługi multimediów oraz takie narzędzia, jak Dropbox dosynchronizacji plików,Gmail Notifier do sprawdzania pocztyGmail,Transmission,gFTP i Tucan do pobierania plików i wiele, wiele innych. Dodatkowo większośćwtyczek potrzebnych do bezproblemowego przeglądania Internetu już jest za-

Drukuj Pełny ekran numer 37 – 2010 7

Page 8: magazine - Draco

System Podyskutuj o artykule na forum

instalowana, z wyjątkiem Javy, którą z racji objętości ciężko zmieścić na płycieCD.

Rysunek 1. PCLinuxOS możemy zainstalować także na kluczu USB

Zainstalowane są oczywiście prawie wszystkie niezbędne kodeki dla popu-larnych, ale niewolnych formatów audio i wideo. Te, które nie są dostępne, moż-na łatwo dodać, korzystając np. z pakietu task-multimedia.

Efekty pulpitu bardzo prosto można uruchomić korzystając z menu Więcejprogramów .Konfiguracja. Mamy do dyspozycji takie narzędzia, jak Compiz, Eme-rald, Cairo Composite Manager, ułatwiające personalizację wyglądu pulpitu GNO-ME. Wersja GNOME posiada jeszcze zainstalowane Screenlets, dodające do pul-pitu widżety, które dostępne są w KDE.

Z poziomu menadżera pakietów Synaptic dostępne jest około dwanaście ty-sięcy paczek z oprogramowaniem – repozytorium ma więc objętość porówny-walną z repozytorium Mandrivy Linux i około połowę mniejszą od repozyto-rium OpenSUSE.

Dodatkowe narzędziaNarzędzia i skrypty, które autor umieścił w swojej dystrybucji robią wrażenie.Wymienię kilka:

GConf Cleaner czyszczenie GConf (GNOME),Restore MBR odzyskiwanie sektora rozruchowego,Dupeclean-gui szukanie zduplikowanych i nieużywanych pakietów,Repo Speed Test testowanie szybkości mirrorów z pakietami,PCLinuxOS Tweak odpowiednik Ubuntu Tweak,MyLiveCD stworzenie płyty instalacyjnej skonfigurowanego systemu.

Koniec problemów ze sprzętem?Większość popularnych sterowników, także niewolnych, dostępna jest bezpo-średnio na płycie instalacyjnej. Dzięki temu, aby je uruchomić, nie potrzebujemydostępu do Internetu. Dodatkowy sprzęt bardzo łatwo uruchomić korzystającz charakterystycznego dla Mandrivy Centrum Sterowania, wykorzystywanegoprawie w identycznej postaci przez PCLinuxOS. Nie powinniśmy mieć proble-mów z kartami graficznymi NVIDII, ATI czy popularnymi urządzeniami wie-lofunkcyjnymi – zdecydowanie jest to kolejne udogodnienie, zwłaszcza dla po-czątkujących użytkowników.

WerdyktNapierwszy rzut oka PCLinuxOS sprawiawrażenie ulepszonejMandrivy Linux,jednakże natywne repozytorium świadczy o pełnej autonomii dystrybucji. Częśćnarzędzi jest zapożyczona od Mandrivy, wspominając choćby Centrum Stero-wania i Menadżera sieci. Dystrybucja pozbawiona została niedogodności, którez punktu widzenia przeciętnego, domowego użytkownika posiada Mandriva.Skrojona została na miarę jego potrzeb, dla biurkowych komputerów jest jed-nymz najlepszych rozwiązań.Wadą jest brakwersji dla procesorów 64-bitowych,nie jest to jednak jakiś wielki problem. W związku z dostępnością wielu sterow-ników, kodeków i programów oraz prostą konfiguracją, PCLinuxOS plasuje sięobecnie w czołówce kandydatów na stanowisko idealnej, biurkowej dystrybucjiGNU/Linuksa.

Problemy związane z różnymi aspektami korzystania z dystrybucji opisujew języku angielskim PCLinux Magazine[4] – warto poczytać.

Odnośniki[1] http://pclinuxos.com/[2] http://pclinuxos.org.pl/[3] http://forum.pclinuxos.org.pl/[4] http://pclosmag.com/

Drukuj Pełny ekran numer 37 – 2010 8

Page 9: magazine - Draco

System Podyskutuj o artykule na forum

Profesjonalna platforma CAE dzięki CAELinuxKamil GalosTrudno dziś sobie wyobrazić profesjonalne prace inżynierskie,zwłaszcza na poziomie projektowania, bez zastosowania dobro-dziejstw nowoczesnej technologii, komputerów i oprogramowania.Znajomość obsługi aplikacji pozwala rozwiązywać problemy inży-nierskie, z którymi jeszcze niedawno nie bylibyśmy w stanie sobieporadzić. Specjalistyczne aplikacje wymagają sporych nakładówpracy – przekłada się to na ich cenę. Dlatego dostępność tego typuprogramów na otwarto-źródłowych licencjach jest na wagę złota.CAELinux jest zbiorem tych programów.

Solidne podstawyNajnowsza wersja CAELinux (Computer Aided Engineering – komputerowewspo-maganie prac inżynierskich) to dystrybucja systemu GNU/Linux zbudowanaw oparciu o Ubuntu. Można więc powiedzieć, że ma naprawdę solidne funda-menty. Ubuntu jest obecnie najpopularniejszą dystrybucją. Ma to zapewne zwią-zek z polityką twórców, firmy Canonical, rozsyłającej za darmo kopie swojegosystemu oraz z ich podejściem do pulpitu – który powinien być prosty w obsłu-dze, intuicyjny a więc dostępny dla przeciętnego użytkownika komputera, przezco jednak nieco ascetyczny. Wszystkie odmiany Ubuntu dostępne są za darmo,nie ma wersji komercyjnych, a filozofia jest dość ściśle związana z ruchem OpenSource.Wyjątek stanowią niektóre niewolne sterowniki sprzętu, co jest korzystnew przypadku używania kart graficznych ATI lub NVidia.

Sam CAELinux został stworzony w oparciu o wydanie Hardy Heron, wersjęoznaczoną numerem 8.04, z długoterminowym wsparciem do kwietnia 2011 ro-ku. Wykorzystano wersję 64-bitową, platformę można więc uruchomić tylko nanowszych procesorach – jest to, moim zdaniem, optymalne rozwiązanie przyniektórych obliczeniach inżynierskich, wymagających sporych nakładów obli-czeniowych procesora.

CAELinux uruchamia się jako liveDVD, o rozmiarze niecałych 3 GB – zawierawięc sporą liczbę aplikacji. Można go także zainstalować bezpośrednio na dys-ku twardym, co z pewnością przyspieszy jego działanie. Ponadto zintegrowanaaplikacja Unetbootin pozwala w prosty sposób skopiować system na zewnętrznynośnik pamięci, np. pendrive.

Rysunek 1. Domyślny pulpit dystrybucji systemu CAELinux

Pierwszy rzut okaPrzy uruchamianiu systemu z płyty, znak boot: zachęca nas do skorzystania z kil-ku możliwości bootowania, przy czym domyślnie po wciśnięciu klawisza [En-ter] zacznie się standardowe uruchamianie liveDVD. Po kilku minutach okienkologowania pyta o nazwę użytkownika i hasło, którymi jednocześnie jest słowocaelinux. Okienko logowania nie jest optymalnym rozwiązaniem przy urucha-mianiu liveDVD, wydłuża to bowiem czas, jaki system potrzebuje do pełnegouruchomienia.

CAELinux umożliwia nam to, co umożliwia dystrybucja Ubuntu, ale tak-że znacznie więcej. Mamy więc dostęp do najważniejszych otwarto-źródłowychaplikacji biurowych w pakiecie OpenOffice.org – Writera i Calca. Możemy korzy-stać z zasobów internetu dzięki Mozilla Firefox w wersji 3.0 oraz komunikowaćsię z innymi wykorzystując komunikator Pidgin i Evolution – program obsługują-cy pocztę. Pozostawiono także podstawową obsługę multimediów – odtwarzaczmultimedialny Totem, odtwarzacz muzyki Rhythmbox, nagrywanie płyt Brase-

Drukuj Pełny ekran numer 37 – 2010 9

Page 10: magazine - Draco

System Podyskutuj o artykule na forum

ro. W wolnych chwilach dla relaksu skorzystać możemy z kilku standardowychgier dla Gnome – domyślnego środowiska graficznego systemu.

CAELinux zawiera też bogaty zestaw aplikacji służących do tworzenia i edy-towania różnego rodzaju grafiki, są to m. in. Blender, Gimp, Inkscape, OpenOfficeDraw, QCAD CE.

Domyślnym językiem systemu jest język angielski, nie sądzę jednak, żeby sta-nowił on przeszkodę dla jakiegokolwiek inżyniera. Dostęp do obszernych repo-zytoriów Ubuntu jest skonfigurowany. Możemywięc łatwo dodać język z pozio-mu menadżera pakietów Synaptic, co oczywiście najlepiej zrobić w systemie za-instalowanym na dysku (System .Administration .Language Support). Około dwa-dzieścia pięć tysięcy paczek z oprogramowaniem dostępnych jest w oficjalnychrepozytoriach Ubuntu oraz kilku zewnętrznych. Nie sądzę jednak, abyśmy czę-sto spotykali się z potrzebą doinstalowywania czegokolwiek, gdyż CAELinuxposiada już chyba wszystko, co darmowa platforma CAE posiadać może.

Rysunek 2. Aplikacja CAD – QCAD CE

Rysunek 3. Platforma Salome-Meca, do symulacji numerycznych

Aplikacje CAELista aplikacji dedykowanych dla dystrybucji robi wrażenie – z pewnością jestto najlepszy z możliwych zestaw programów o otwartym kodzie źródłowymdostępny na platformę Linux. Na czele wyróżnia się platforma Salome, służącado tworzenia zaawansowanych symulacji numerycznych, Octave i Scilab, aplika-cje kompatybilne z komercyjnym Matlab, dzięki którym wykonamy skompliko-wane obliczenia matematyczne i przedstawimy je w postaci trójwymiarowychwykresów, jeśli zajdzie taka potrzeba. Dodatkowo możliwe jest uruchomieniewxMaxima, także do obliczeń matematycznych, tym razem symbolicznych orazQCAD CE – najlepiej rozwiniętej, otwarto-źródłowej aplikacji do komputerowe-go wspomagania projektowania 2D i wiele innych.

Orientacyjna lista aplikacji, wraz z krótkim opisem w języku angielskim,przedstawiona jest w przewodniku Getting Started [1].

Drukuj Pełny ekran numer 37 – 2010 10

Page 11: magazine - Draco

System Podyskutuj o artykule na forum

Rysunek 4. Interfejs programu Maxima, do symbolicznych obliczeń matematycznych

PodsumowanieCAELinux to platforma systemowa stworzona z myślą o zastosowaniach inży-nierskich. Twórcywykorzystali najlepsze oprogramowanie do tego typu zastoso-wań, dostępne na licencjach Open Source i dostępne dla systemówGNU/Linux.Dystrybucja zbudowana jest na solidnych, stabilnych podstawach – Ubuntu Li-nux. Myślę że CAELinux może mieć szerokie zastosowanie, zwłaszcza w środo-wiskach naukowych, gdzie jego możliwości zostaną w pełni wykorzystane.

Obrazy płyt z systememmożna bezpłatnie pobrać z serwerów dostępnych nastronie domowej projektu.

Odnośniki[1] Getting Started[2] Strona domowa dystrybucji systemu CAELinux[3] Portal użytkowników systemu

Drukuj Pełny ekran numer 37 – 2010 11

Page 12: magazine - Draco

Felieton Podyskutuj o artykule na forum

Bo z kobietami, to jest jak z systemami. . .Paulina BudzońNadchodzi taka chwila w życiu każdego człowieka. . . No dobrze,a teraz na serio. Nadchodzi taka chwila w życiu pewnych użytkow-ników pewnego wolnego systemu, kiedy to chcą. . . czegoś więcej.Albo mniej. To zależy, co mieli wcześniej. Ja, na przykład, posiada-łam kiedyś baaardzo duży system. Taki duży-duży. I było w nimwszystko! Każda aplikacja działała wybornie, a do tego posiadałaco najmniej pięć zamienników, większość (bo to było już jakiś czastemu) urządzeń, które miałam ochotę podłączyć do komputera teżbyła w miarę „używalna”. . . Słowem, system potrafił „wszystko”.I robił to sam. I wtedy nadszedł ten dzień. . .Naszedł taki dzień, w którym fakt, że system robi wszystko za mnie i bez mo-jej wiedzy, zaczął mi przeszkadzać. No bo jak to tak? Że to. . . „samo się”? Alejak to, co to, gdzie to?! Wtedy moje duże, wszystko-mające środowisko graficz-ne, zostało zastąpione pewnym innym, mniejszym. Takim, które umiało tylko to,czego go nauczyłam. Takim, w którym, jeśli coś nie było skonfigurowane przezemnie – nie działało. Całkowita kontrola, o to chodziło. W ten sposób, weszłamw posiadanie ładnego, małego, szybkiego i sprawnego środowiska, w którymwszystko zależało ode mnie.

Comogłobymi się w tym nie podobać? Panuję nad wszystkim, komputer niezajmuje się zbędnymi rzeczami, a na dysku zrobiło się jakby luźniej, gdy wszyst-kie miliony alternatyw do wykonania jednej czynności, po prostu. . . zniknęły.Taka koncepcja gościła u mnie bardzo długo. System idealny – dopasowany dotego, czego potrzebuję. I tylko tego, niczegowięcej. Nowłaśnie, to chyba to „wię-cej” było tutaj kluczowe. . .

Bo nadszedł taki dzień (a wierzcie mi, nie trwało to krótko), kiedy to (a topodobno takie typowo kobiece) zachciałam owego „więcej”. Chciałam, żeby mójsystem był inteligentny (kobiety przecież lubią inteligencję!), żebym nie musia-ła go uczyć wszystkiego, żeby niektóre rzeczy po prostu „się działy”. Ktoś miostatnio powiedział, że przecież żyjemy w XXI wieku! No tak, owszem. . .

Więc zaczęły się poszukiwania. Alternatywy. Najpierw powoli, te małe. Teśrodowiska, malutkie, a jednak coś umiejące. Problem był w tym, że to „coś”, tobyło jakby jednak zamało.W końcu półśrodki rzadko porządnie rozwiązują pro-blem. Jakmiałabym się zadowolić czymś, co teoretycznie potrafi daćmi to, czegopotrzebuję, ale koniec końców, jest z tym więcej problemu niż z tego pożytku?

Dlatego przyszło powolne przekonywanie się do tych „większych”. Któreumieją wszystko, mają wszystko, mogą wszystko. Ach, te możliwości! Jednak,zanim zdążyłam się do nich przekonać, wróciły rozważania z początku tej strony.Tylko jakby z innym problemem – bo okazuje się, że nie tylko kwestia „władzy”jest problemem w dużych środowiskach. Mnie, osobiście, przeraża. . . nadmiarmożliwości. Czy też opcji. Fakt, że aby dostać to, czego się konkretnie chce, trze-ba przebrnąć przezmasę ustawień, tapet, motywów, ikonek i zachowań. I jamamsię zdecydować?! Tak, nadmiar jest zdecydowanym problemem!

Toteż, tak wiem, poczujecie się zawiedzeni, owo wszystko-umiejące środo-wisko nie zapoznało się z moim komputerem. Owo małe, umiejące tylko to, cokoniecznie, skonfigurowane dokładnie tak, jak JA tego chcę, a nie jak ktoś, gdzieś,kiedyś wymyślił, że mogłoby być. Dlaczego? Bo chyba tak mi się podoba najbar-dziej. Bo wiecie, z ludźmi to jest chyba tak, że jak się im da za dużo, to zaczynaim się. . . no, powiedziemy, że wpadają w lekką euforię i sami nie wiedzą czegochcą. Albo chcą jeszcze więcej. I więcej. I więcej! A po co? Minimalizm ma to dosiebie, że jest. . . uporządkowany. W nim po prostu nie ma miejsca na bałagan.

No i miny tych ludzi, kiedy słyszą: Tak, mam Gentoo. I Fluxboksa. I tak, wszystkomi działa. I tak, podoba mi się jak wygląda mój system. Nie, nie mam menedżera plików,a po co mi?’.

Drukuj Pełny ekran numer 37 – 2010 12

Page 13: magazine - Draco

Programowanie Podyskutuj o artykule na forum

Optymalizacja zapory dzięki mechanizmowi filtrowaniaz pamięcią stanuGrzegorz KuczyńskiJedną z najważniejszych technologii wdrożonych do zapory ognio-wej iptables przez netfilter.org jest filtrowanie z pamięcią stanu SPI(ang. Stateful Packet Inspection). Jest to mechanizm charakteryzującyrozwiązania programowe z najwyższej półki w tej dziedzinie infor-matyki. Dlatego warto przyjrzeć mu się bliżej.

Sam cel wprowadzenia takiej techniki wiązał się z optymalizacją filtrowania.Dzięki śledzeniu stanów połączeń zapora może podejmować decyzje na pod-stawie tylko pierwszego pakietu, kolejne odziedziczą ją i nie będą musiały byćrównież sprawdzane (mechanizm ten nie ogranicza się tylko do sesji TCP).

Aby uzmysłowić sobie jaki to krok naprzód w wydajności zapory, należyprzeanalizować statystyki zapory działającej dłuższy czas w średniej wielkościsieci. Służą do tego opcje:

iptables -L -nv --line-numbers

Zmoichwyliczeń 1 wynika, że 97,87% pakietów jest dopasowywanych do pierw-szej reguły, która przepuszcza pakiety należące do sesji/połączeń już nawiąza-nych. Czyli tylko 2.13% pakietów jest dopasowywanych do kolejnych reguł. Da-je to duże przyzwolenie na bardziej złożone filtrowanie. Sprawdzanie ok. 2%wszystkich pakietów nawet przez setkę reguł w takiej sytuacji nie powinno rzu-cać cienia na wydajność zapory. Oczywiście wyniki te w dużej mierze zależne sąod specyfiki sieci i usług, z których przeważnie się w niej korzysta.

Ponadto okazuje się, że zbiegiem okoliczności wcale nie powinno nam zale-żeć na szybkości przetwarzania nowych połączeń. Dobrym tego przykładem jestlimitowanie pakietów TCP z ustawioną flagą SYNw celu ochrony przed atakamiDoS, DDoS – czyli SYN flood. Tak więc w tej sytuacji czas jest po naszej stronie.

Optymalizacja zapory sprowadza się w znacznym stopniu do optymalnegowykorzystaniamechanizmu stanu pakietów. Pokażę teraz przykład, który,moimzdaniem, jest najbardziej optymalny. Najpierw jednak należy wymienić wszyst-kie stany jakie pakietowi mogą być przypisane:NEW – pakiety, które tworzą nowe połączenie,ESTABLISHED –pakiety, które należą do nawiązanego połączenia,

RELATED – pakiety tworzące nowe połączenie związane z już istniejącym po-łączeniem,

INVALID – pakiety, które nie należą do żadnego nawiązanego połączenia lubpoprawnego połączenia.Teraz przedstawię przykładową konfigurację optymalnej zapory dla łańcu-

cha FORWARD, jaką udało mi się opracować. Zapora została przetestowana nasystemie testowym zainstalowanymnamaszyniewirtualnej, który pracujew roliroutera dla drugiego systemu z maszyny wirtualnej. Zapora obejmuje tylko jed-ną usługę – HTTP (80/tcp) oraz niezbędny DNS (53/udp). Domyślna politykałańcucha FORWARD ustawiona jest na DROP:iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -s 192.168.0.0/16 -p udp --dport 53 \

-m state --state NEW -j ACCEPTiptables -A FORWARD -s 192.168.0.0/16 -p tcp --dport 80 --syn \

-m state --state NEW -j ACCEPTiptables -A FORWARD -p icmp -m state --state NEW -j ACCEPTiptables -A FORWARD -m state --state INVALID -j DROPiptables -A FORWARD -j LOG --log-prefix "DROP_FORWARD " \

--log-tcp-options --log-ip-options --log-tcp-sequence

Jak widzimy, ostatecznie to, co nie jest przepuszczane, zostanie zalogowane. Bar-dzo interesujące jest to, w którym miejscu została wstawiona reguła dotyczącapakietów z ustawionym stanem INVALID. Michael Rash (twórca takich projek-tów, jak psad oraz fwsnort) w swojej książce Bezpieczeństwo sieci w Linuksie. Wy-krywanie ataków i obrona przed nimi za pomocą iptables, psad i fwsnortwprzykładowejpolityce bezpieczeństwa, która jest bardzo podobna do tej przedstawionej, re-gułę dotyczącą pakietów INVALID umieścił na samym początku. Powoduje to,że wszystkie ok. 97% pakietów należących do już nawiązanych połączeń musijeszcze przejść przez tą regułę, podczas gdy z moich statystyk wynika, że ilośćpakietów w stanie INVALID to tylko nieco ponad 1% całego ruchu. Czy zatemkonieczne jest dodawanie kolejnego warunku dla 97%, aby odrzucić 1% niepo-prawnych pakietów na samym początku zapory? Okazuje się, że nie i jest na tosposób, który przedstawiłem w zaprezentowanym przykładzie. Jest tylko jeden

1 statystyki pochodzą z wdrożonej na serwerze produkcyjnym zapory dla sieci ok. 100 komputerów

Drukuj Pełny ekran numer 37 – 2010 13

Page 14: magazine - Draco

Programowanie Podyskutuj o artykule na forum

warunek, który należy spełnić, aby nie wprowadzić reguły dla pakietów w sta-nie INVALID na samym początku. Warunkiem tym jest to, że każda reguła musikorzystać z modułu state i mieć przypisany jeden ze stanów.

Co mogło by się stać, gdyby tak nie było? Prosty przykład. Załóżmy, że w re-gule trzeciej dotyczącej protokołuHTTP nie określiliśmy stanuNEW. Pakiet, któ-ry np. niespodziewanie zawiera flagę FIN, na dodatek jego numer sekwencyjnynie pasuje do prowadzonych sesji przez stos TCP/IP zostałby przepuszczony,ponieważ kierowany jest na port 80/tcp. Tylko wprowadzenie do reguły stanuNEW powstrzymuje taki pakiet przed dopasowaniem i zmuszenie go do dalszejdrogi po regułach. Ponieważ pakietów tych jest nieco ponad 1%, wypadałoby imprzebyć najdłuższa drogę po regułach. W przedstawionym przykładzie tak teżsię dzieje. Ponieważ na początku szukamy pakietów ze stanem ESTABLISHEDi RELATED, więc pakiet INVALID nie może zostać dopasowany. Następnie mo-żemy posiadać całą setkę reguł ze stanem NEW i pakiety ze stanem INVALIDnadal nie mogą być dopasowane – zmuszamy je do dalszej drogi. Ostateczniepakiety nienależące do żadnego znanego połączenia trafiają na swoją regułę i do-piero tu zostają odrzucone. Dzięki temu pakiety ESTABLISHED oraz RELATED,które stanowią ok. 97% ruchu oszczędzają jeden warunek.Teraz spójrzmy na wyniki prostej testowej zapory:brama:~# iptables -L -vn --line-numbersChain INPUT (policy ACCEPT 24072 packets, 2033K bytes)num pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 79 packets, 4198 bytes)num pkts bytes target prot opt in out source destination1 15376 8512K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED2 653 40697 ACCEPT udp -- * * 192.168.0.0/16 0.0.0.0/0 udp dpt:53 state NEW3 497 24700 ACCEPT tcp -- * * 192.168.0.0/16 0.0.0.0/0 tcp dpt:80 flags:0x17/0x02 state NEW4 2 120 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW5 12 480 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID6 79 4198 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 7 level 4 prefix ‘DROP_FORWARD ’Chain OUTPUT (policy ACCEPT 17478 packets, 4444K bytes)num pkts bytes target prot opt in out source destination

Możemy tu zauważyć jak optymalna jest konfiguracja reguł. Są ułożonew ko-lejności od najczęściej dopasowanych oraz najważniejszych do najmniej dopa-sowanych i najmniej ważnych. Żaden pakiet nie przybierze stanu, którego nieużyliśmy. Ponieważ każda z reguł posiada przypisany stan, to stan ten wykluczawszystkie pozostałe zmuszając je do dalszej wędrówki po regułach w celu dopa-sowania. Wśród reguł dotyczących usług HTTP oraz DNS można zauważyć, żeta druga powinna mieć zdecydowanie wyższy priorytet niż pierwsza.

Ostatecznym celem było skonfigurowanie zapory w taki sposób, aby pakietywystępujące najczęściej miały najkrótszą drogę do przebycia przez reguły w da-nym łańcuchu. Wygląda na to, że udano nam się zminimalizować tą drogę i tymsamym zoptymalizować zaporę ogniową dzięki mechanizmowi filtrowania z pa-mięcią stanu.

Drukuj Pełny ekran numer 37 – 2010 14

Page 15: magazine - Draco

Software Podyskutuj o artykule na forum

Subversion dla każdegoMaciej Miąsik

System kontroli wersji?Zapewne wiele razy podczas pracy z plikami chciałeś mieć możliwość przywró-cenia jakiegoś z nich do stanu sprzed kilku dni czy tygodni, sprzed wielu zmian.Chciałeś też mieć możliwość zorientowania się, co i kiedy tak naprawdę zmie-niłeś w swoim gąszczu plików. Albo też chciałeś mieć możliwość podzieleniasię z kimś pracą bez konieczności żmudnego uzgadniania dokonanych zmiani uciążliwego dbania o to, abyście obaj (oboje) dysponowali zawsze najnowszymiwersjami efektów swojej pracy.

Jeśli jesteś programistą, z pewnością zetknąłeś się z systemami kontroli wer-sji [2]. Ich zadaniem jest śledzenie zmian w kodzie źródłowym programów, copozwala na przywracanie usuniętych fragmentów kodu czy łączenie elementówstworzonych przez różnych programistów, w różnym czasie. W odróżnieniu odzwykłychmechanizmów tworzenia kopii zapasowych (tzw. backupów), systemykontroli wersji oferują znacznie większą funkcjonalność: możliwość odzyskaniadowolnej wcześniejszej wersji danego pliku źródłowego czy możliwość tworze-nia gałęzi kodu i późniejszego ich łączenia. Bez takich mechanizmów praca nadrozbudowanymi projektami programistycznymi byłaby po prostu niemożliwa.

Do pewnego czasu najbardziej rozpowszechnionym systemem kontroli wer-sji był CVS, obecnie zastępowany przez nowszy i lepszy system Subversion (SVN)[3], którego sam od kilku lat używam i którego chciałbym polecić każdemu, ktoregularnie pracuje z dowolnymi komputerowymi dokumentami.

Co prawda korzenie systemów kontroli wersji sięgają projektów programi-stycznych. Nie oznacza to, że można ich używać tylko w tym celu. Subversion jestnowoczesnym oprogramowaniem opartym o otwarty kod źródłowy, który do-skonale sobie radzi ze śledzeniem zmian w dokumentach rozmaitego rodzaju,nie tylko tekstowych, ale także binarnych. Pozwala właśnie na łatwe wykonywa-nie tych wszystkich operacji wymienionych na wstępie. To jest właśnie to.

Jak to działa?Idea jest prosta. Gdzieś na dysku komputera lokalnego albo serwera znajdujesię specjalna baza danych, tzw. repozytorium. W niej znajdują się nasze projektywraz z historią zmian w nich dokonanych. My natomiast, już na naszym lokal-nym dysku (to może być też ten sam dysk, na którym jest repozytorium), mamyswój folder roboczy, który jest odzwierciedleniem części czy całości zawartościrepozytorium. Folder roboczy tym się różni od każdego innego folderu, w któ-

rym trzymamy swoje pliki, że znajduje się w nim ukryte foldery o nazwie .svnzawierające dane niezbędne systemowi do śledzenia dokonywanych zmian. I ca-ła zabawa polega na tym, aby cyklicznie uaktualniać dane przechowywane w re-pozytorium – dzięki temu będzie powstawać w nim cała historia zmian dokony-wanych na plikach w naszym folderze roboczym.

Dzięki oprogramowaniu Subversion możemy obejrzeć historię zmian projek-tu, możemy „wyłuskać z niego” dowolną wcześniejszą wersję interesującego naspliku, możemy skasować cały folder roboczy i odtworzyć go w najświeższymczy dowolnym innym stanie. Możemy także dzielić się pracą z innymi i dzię-ki pośrednictwu wspólnego repozytorium przekazywać sobie wzajemnie pracęi uaktualniać nasze foldery robocze, aby zawierały zmiany dokonywane przezinnych. Subversion daje nam możliwości niedostępne w zwykły sposób nawetdla najbardziej uważnego i porządnego użytkownika. Umieszczenie repozyto-rium na osobnym dysku czy serwerze zwiększa także bezpieczeństwo naszychdanych. Mechanizmy kontroli wersji ułatwiają tworzenie kopii bezpieczeństwa,przygotowywanie pakietów do dystrybucji czy tworzenie kopii przyrostowych,które zawierają jedynie zmienione pliki.

Subversion w praktyceSubversion to nowoczesne, wieloplatformowe oprogramowanie, w swej podsta-wowej wersji przeznaczone raczej dla zaawansowanego użytkownika, bo wyma-gające posługiwania się linią komend. Czyli zdecydowanie nie dla każdego, jaksugeruje tytuł artykułu.

Nie jest jednak tak źle, gdyż właśnie dlatego, że mamy do czynienia z otwar-tym kodem źródłowym, system Subversion został przystosowany do korzystaniaprzez każdego, czyli inaczejmówiąc, przez użytkownika systemuWindows.Wy-starczy ściągnąć specjalną wersję programu – TortoiseSVN [4], która integruje siędoskonale z eksploratorem Windows i pozwala nam korzystać z Subversion jakz każdego innego dobrego oprogramowania dla systemu Windows.

Po instalacji TortoiseSVN i ewentualnym restarcie systemumenu kontekstoweeksploratora, czyli to dostępne po kliknięciu prawym przyciskiemmyszki na pli-ku czy folderze, udostępnia nam cały wachlarz poleceń programu TortoiseSVN,które są niczym innym, jak poleceniami systemu Subversion, ubranymi w przyja-zny interfejs użytkownika.

Drukuj Pełny ekran numer 37 – 2010 15

Page 16: magazine - Draco

Software Podyskutuj o artykule na forum

W tym opisie będę posługiwał się angielskimi nazwami poleceń programuTortoiseSVN, bo taką wersję mam zainstalowaną i do takowej się przyzwycza-iłem, ale istnieje też wersja spolonizowana. Niezależnie od języka, sposób po-stępowania jest identyczny. Jako przykład zastosowania systemu kontroli wersjiw codziennej pracy wybrałem sobie pliki z danymi do mojego bloga: kod PHPprogramu Wordpress, wersje HTML rozmaitych tekstów z mojej strony, plikiz obrazkami wykorzystywanymi przez stronę oraz wszystkie inne pliki, któreskładają się na całość serwisu miasik.net. Czyli przykład będzie dla webmastera,ale zachęcam do dalszego czytania każdego, kto pracuje z dowolnymi kompute-rowymi dokumentami.

Rozpoczynamy zabawę od stworzenia repozytorium. W tym celu two-rzymy folder, powiedzmy na dysku C:, o nazwie Repository (czyliC:\Repository\). Tam zostanie stworzona baza danych przechowująca i śle-dząca zmiany w naszych projektach roboczych. No, na początek w jednym pro-jekcie, nazwanym miasik.net. Aby stworzyć repozytorium, używamy eksplorato-ra, w którym wskazujemy na folder C:\Repository\ i klikamy prawym przy-ciskiem myszki. Z menu kontekstowego rozwijamy sekcję TortoiseSVN i wybie-ramy opcję Create repository here.

TortoiseSVN pyta nas jakiego rodzaju repozytorium ma stworzyć. Do wybo-ru mamy dwie możliwości: prawdziwy system bazodanowy Berkeley Database(BDB) albo uproszczony system Native Filesystem (FSFS). Dla naszych potrzebwystarczy opcja FSFS – jest efektywniejsza i mniej kłopotliwa.

Po chwili repozytorium jest gotowe i zostanie w nim stworzony całyzestaw folderów koniecznych do funkcjonowania bazy. Zawartość folderuC:\Repository\ przestaje nas od tego momentu interesować – jest on całko-wicie obsługiwany przez system Subversion.

Mamy już repozytorium, ale jest ono puste – nie śledzi i przechowuje onożadnych plików. Musimy je wypełnić naszym pierwszym projektem. W moimprzypadku będzie to pełen zestaw plików składających się na moją witrynęmia-sik.net. Pliki te trzymamw folderze E:\Webdesign\miasik.net\. Aby znala-zły się w repozytorium, muszą zostać do niego zaimportowane.

Operacja importu jest bardzo prosta – klikam prawym guzikiem na folderzez plikami mojego serwisu (E:\Webdesign\miasik.net\) i wybieram opcjęTortoiseSVN zwaną, jakże by inaczej, Import.

Drukuj Pełny ekran numer 37 – 2010 16

Page 17: magazine - Draco

Software Podyskutuj o artykule na forum

Program pyta do jakiego repozytorium chcę zaimportować wskazany fol-der, bo można mieć dowolną ilość repozytoriów umieszczonych w różnychmiejscach. Tak przy okazji, to TortoiseSVN domaga podania adresu URL, cooznacza, że repozytoria mogą mieścić się w różnych miejscach, także naserwerach odległych, dostępnych przez Internet. W naszym przypadku po-dajemy URL wskazujący na nasze lokalne, świeżo stworzone repozytorium(file:///C:/Repository/miasik.net/ – uwaga, w adresach URL używa-my ukośników, a nie ukośników odwrotnych). Ze względu na to, że chcemy ob-sługiwać tym samym repozytoriumwięcej projektów, adresURL zakończony jestczęścią miasik.net, a więc wskazuje na coś w rodzaju podfolderu w repozy-torium. Dzięki temu inne projekty będą mogły być umieszczane niezależnie odobecnego w tym samym repozytorium, każdy w osobnym podfolderze.

Po chwili import się kończy bardzo znaczącym komunikatem określającymaktualny numer rewizji po zakończonej operacji. Na początku wynosi on 1 i jestzwiększany po każdej operacji zmieniające stan repozytorium.W zasadzie repo-zytorium jest takim składowiskiem, w którym struktura naszego projektu, czylipliki i foldery, jest powielana za każdą operacją, która coś w niej zmienia i każdataka powielona „kopia” otrzymuje nowy numer rewizji. Oczywiście nie ozna-cza to, że w bazie za każdym razem wykonana jest kompletna kopia wszystkichplików i folderów – system zapamiętuje jedynie to, co się zmieniło, na dodatekstosując bardzo efektywny system kodowania zmian. Dzięki temu wiele rewi-zji projektów zawierających pliki binarne nie powoduje gwałtownego rozrosturozmiarów repozytorium. Niemniej jednak, z naszego punktu widzenia każdarewizja to kompletny zestaw plików składających się na projekt w danym mo-mencie.

Teraz musimy stworzyć sobie folder roboczy (kopię roboczą), tym razem bę-dący już pod kontrolą systemu Subversion. Oczywiście robimy sobie kopię bez-pieczeństwa folderu E:\Webdesign\miasik.net\, a następnie czyścimy jegozawartość. Teraz klikamy na nim prawym przyciskiem i z menu kontekstowegowybieramy opcję SVN Checkout, która służy właśnie do pierwszego pobrania za-wartości repozytorium do jakiegoś folderu roboczego.

Drukuj Pełny ekran numer 37 – 2010 17

Page 18: magazine - Draco

Software Podyskutuj o artykule na forum

Wopcji SVN Checkout podajemy adres repozytorium i interesującego nas fol-deru z projektem w repozytorium oraz ścieżkę do folderu na dysku lokalnym,w którymma pojawić się zaadresowana zawartość – czyli do folderu roboczego.

Po zakończeniu operacji otrzymujemy komunikat, że nasz folder roboczy zo-stał stworzony, czyli zakończyła się operacja SVNCheckout. Dowiadujemy się też,jaki jest numer rewizji stworzonej przez nas kopii roboczej. W naszym przykła-dzie jest to rewizja 1, czyli dokładnie taka sama, jak ta, która została przed chwilązaimportowana.

TortoiseSVN dodaje do eksploratora dodatkowąwłasność a mianowicie ozna-cza w specyficzny sposób ikony plików i folderów, które kontroluje. Pozwala tołatwo oceniać stan dokonanych lokalnie zmian w kopii roboczej. Dzięki tym do-

Drukuj Pełny ekran numer 37 – 2010 18

Page 19: magazine - Draco

Software Podyskutuj o artykule na forum

datkowymelementom ikon łatwo namzorientować się, które fragmenty projektuzostały właśnie zmienione. Początkowo wszystkie ikony mają nałożony zielony„ptaszek” oznaczający, że pliki są w najbardziej aktualnym, nie zmienionym sta-nie, odpowiadającym temu w repozytorium.

Poniżej jest sytuacja, w której jeden z plików został zmieniony. Czerwonywy-krzyknik jasno wskazuje, w którym folderze dokonano zmiany:

Przeglądanie tak oznaczonych folderów prowadzi do konkretnego zmodyfi-kowanego pliku: index.php. Wykrzyknik oznacza, że dany plik w kopii robo-czej został zmieniony i nie odpowiada już temu, co zapamiętane jest w repozy-torium.

W tym przypadku zmiana była świadoma i chcemy, aby repozytorium zosta-ło o tym fakcie powiadomione. W takim wypadku musimy zatwierdzić i „wy-słać” nasze zmiany do repozytorium używając operacji SVN Commit. Zaznacza-mykonkretny plik lub folder ze zmianami,wywołujemymenukontekstowe iwy-bieramy odpowiednią opcję.

Pojawia się okno wyświetlające listę zmienionych plików – możemy zawszezadecydować, że nie chcemy jeszcze wysyłać wszystkich zmian. W naszym wy-padku jednak chcemywysłać zaznaczony plik. Dodatkowomożemy naszą zmia-nę opatrzyć komentarzem, który może być nam bardzo pomocny za jakiś czas(czy też przyda się innymosobompracującym razemznami nad tymprojektem).

Drukuj Pełny ekran numer 37 – 2010 19

Page 20: magazine - Draco

Software Podyskutuj o artykule na forum

Potwierdzamy wprowadzone operacje przyciskiem i po chwili mamy komu-nikat o zakończonym procesie wysyłania zmian do repozytorium. Oprócz tegodowiadujemy się, że nasza kopia robocza ma obecnie rewizję 2. Znówwszystkiepliki oznaczone są zielonymi ptaszkami.

Po tej operacji w repozytorium znajduje się rewizja 1 zawierająca początkowystan zawartości mojej witryny oraz rewizja 2 zawierająca wszystkie pliki w sta-nie niezmienionym plus jeden plik zmodyfikowany (index.php). Tak właśniedziała mechanizm pozwalający na powrót do dowolnego stanu naszego projekt.Czyż to nie wspaniałe? Oczywiście w repozytorium nie ma dwukrotnie powie-lonej zawartości – to nie ma sensu w przypadku, gdy zmieniliśmy jeden plik. ToSubversion dba o to, abyśmy niezależnie od tego, o którą rewizję pytamy, otrzy-mali wszystko, co do niej należy.

Teraz cały cykl pracy polega na tym, że dokonujemy jakichś zmian a następ-nie, poprzez operację SVN Commit, informujemy repozytorium o dokonanychmodyfikacjach.Akażda zmiana tworzy nową rewizję, do którejmożemy sięw ra-zie potrzeby odwołać. Tak, to takie proste.

I nie ma znaczenia, czy zarządzamy w ten sposób plikami źródłowymi pro-gramów, dokumentami pakietuOffice, plikami z grafiką czy czymkolwiek innym– dla systemu Subversion to bez różnicy. Oczywiście w przypadku dokumentówtekstowych mamy znacznie większe możliwości analizowania zmian, gdyż mo-żemy wyszukiwać modyfikacje nie tylko na poziomie plików, ale także ich za-wartości, co nie jest możliwe w przypadku plików binarnych. Możemy śledzićzmiany dowolnych plików, nad którymi regularnie pracujemy, bez względu nato, czemu służą. Subversion to naprawdę system dla każdego.

Subversion przy współpracySystem kontroli wersji jest nieoceniony w sytuacji, gdy nad projektem pracujewięcej niż jedna osoba jednocześnie. Dzięki niemu można zapewnić wymianędokonywanych zmian pomiędzy współpracownikami i zabezpiecza on, do pew-nego stopnia, przed wzajemnym „psuciem” sobie dokonanych modyfikacji.

Zacznijmy może od prostego przykładu współpracy, na razie w ramach sie-ci lokalnej. Powiedzmy, że ja się zajmuję modyfikacjami szaty graficznej swojejwitryny a moja żona dokonuje konstruuje jakąś sprytną wtyczkę do programuWordPress, który „napędza” moją stronę (dobra, wiem, że to bardzo wydumanasytuacja). Początek operacji wygląda identycznie, czyli każde z nas na swoimkomputerze tworzy kopię roboczą z tego samego repozytorium, umieszczonegogdzieś w folderze dostępnym z obu komputerów.

Mając kopie robocze dokonujemy jednocześnie zmian w swoich częściachprojektu. Po dokonanych zmianach każde z nas wysyła je do repozytorium uży-wając opcji SVNCommit.Widzimy, że zmieniają się numery rewizji, czasem szyb-ciej, co sugeruje, że nie tylko jedna osobadokonuje zmian. Problem jednakw tym,że po pewnym czasie oboje będziemy mieć różne kopie robocze, bo zawierającetylko naszewłasnemodyfikacje. A na dodatek każda z nich będzie różna od tego,co znajduje się w repozytorium, bo przecież każde z nas ma jedynie swoje mo-dyfikacje. Subversion nie może nas zmusić do uaktualnienia naszej kopii roboczej– system uaktywnia się jedynie wtedy, gdy my tego chcemy.

W takiej sytuacji, musimy poprosić Subversion o uaktualnienie naszej kopiiroboczej do wersji zgodnej z zawartością najświeższej rewizji (zwanej HEAD)z repozytorium. Używamy do tego opcji SVN Update, która „nanosi” na nasząkopię roboczą wszystkie zmiany dokonane przez drugą osobę. Aktualizację do-konujemy na całym folderze roboczym, albo jedynie na tej części, w której spo-dziewamy się zmian.

Drukuj Pełny ekran numer 37 – 2010 20

Page 21: magazine - Draco

Software Podyskutuj o artykule na forum

Subversion sprawdza, które plikiw repozytoriumzostały zmodyfikowane, do-dane lub usunięte i nanosi stosowne zmianyw naszej kopii roboczej, uaktualnia-jąc jej rewizję do najnowszej.

Przy współpracy cykl operacji dla każdej osoby wygląda mniej więcej tak:1. Robimy SVN Update – aby mieć najbardziej aktualną wersję.2. Dokonujemy modyfikacji lokalnych.3. Robimy SVN Commit, aby nasze zmiany powędrowały do repozytorium.4. Powtarzamy cykl od punktu 1.

Jak łatwo zauważyć, nie musimy w tym celu zupełnie porozumiewać sięz drugą osobą. Całą sprawę załatwia za nas Subversion, my jedynie oglądamyw oknach komunikatów, co tam nowego się pojawiło w naszym wspólnym pro-jekcie. Jeśli oboje posługujemy się tym cyklem, systemdba, abyśmymaksymalnieszybko otrzymywali wzajemnie dokonywane zmiany.

Oczywiście w praktyce współpraca bywa znacznie bardziej skomplikowana,ale używanie Subversion jest niezbędne, aby ilość problemów będących efektemtej komplikacji została zredukowana do minimum. Ale to już zadanie dla za-awansowanych użytkowników. Czyli nie dla każdego.

PodsumowanieMam nadzieję, że ten krótki i wstępny opis jest dostatecznie zachęcający przy-najmniej do spróbowania zabawy z kontrolą wersji i z Subversion. Zalety płynącez używania tego narzędzia są tak duże, że nie wyobrażam sobie żadnej poważnej

pracy bez niego. Oczywiście program narzuca pewne, czasem odrobinę bardziejuciążliwe schematy pracy, ale płynące z tego korzyści są tego warte. Warto teżwgłębić się w inne możliwości oferowane przez system kontroli wersji, bo to jestnarzędzie, którego celem jest ułatwianie nam życia.

Inne przydatne operacje SubversionSubversion pozwala nam prześledzić historię operacji na dowolnym pliku, którykontroluje. W moim przypadku użyłem na pliku index.php operacji Show logi otrzymałemkrótką historię zmian tego pliku: dodanie go do repozytoriumwre-wizji 1 oraz modyfikację w rewizji 2 (ze stosownym komentarzem). Historia dajenam dostęp do innych ciekawych funkcji: anulowania dokonanych zmian, wy-ciągania starszych wersji plików, odnajdywania plików, które już nie są częściąkopii roboczej (zostały kiedyś usunięte). Otwierają się nowe możliwości, zupeł-nie niedostępne przy normalnej pracy z plikami i kopiami zapasowymi.

Drukuj Pełny ekran numer 37 – 2010 21

Page 22: magazine - Draco

Software Podyskutuj o artykule na forum

Dodanie nowych plików w kopii roboczej nie oznacza, że automatycznie zo-staną one poddane kontroli systemu. Aby Subversion zaczął śledzić dany plik,musi on zostać dodany do kopii roboczej. Wystarczy kliknąć prawym przyci-skiem na pliku i wybrać opcję Add. Od tej chwili plik zostaje oznaczony jako„przynależny” do kopii roboczej, niemniej jednak nie został jeszcze umieszczo-ny w repozytorium. Dopiero wykonanie operacji SVN Commit powoduje, że plikpowędruje do repozytorium i stanie się pełnoprawnym elementem projektu.

Trzeba pamiętać, że wiele operacji na kopii roboczej trzeba wykonywać zapośrednictwem programu TortoiseSVN – np. kasowanie plików czy zmiany ichnazw.Używanie do tego po prostuWindows doprowadzi do utraty synchroniza-cji pomiędzy repozytoriuma folderem roboczym.Usunięcie plikuw„normalny”sposób nie usuwa go z repozytorium i przy najbliższej operacji SVN Update takiskasowany plik zostanie przywrócony z repozytorium. Oczywiście taka operacjabywa czasem przydatna – jeśli napsujemy coś w pliku w nieodwracalny sposób,to wystarczy go skasować i użyć opcji SVN Update na danym folderze, aby Torto-iseSVN przywrócił nam ostatnią wersję pliku z repozytorium.

Jeśli nasze repozytorium zawiera wiele projektów, a na wielu nie prowadzi-my bieżących prac, nie musimy przechowywać ich folderów roboczych. W raziekonieczności możemy użyć opcji SVN Checkout do ponownego stworzenia ko-pii roboczej. Jeśli projekt ma rozbudowaną strukturę, a potrzebujemy doraźniecoś poprawić w jednym elemencie struktury (np. pliku), to nie musimy pobieraćz repozytorium całej struktury projektu. Folderem roboczymmoże być dowolnyzagnieżdżony fragment struktury zapisanej w repozytorium.W takimwypadkupobieramy jedynie interesujący nad fragment (wraz z podfolderami) do wybra-nego folderu i pracujemy nad nim w identyczny sposób, jak z dowolną większączęścią projektu. Takie postępowaniemoże nam znacznie uprościć pracę nad du-żymi plikami, które jedynie okazjonalnie zostają pobrane z repozytorium. Takisystem pracy jest ułatwiony, gdy budujemy strukturę opartą o wiele folderówz niewielkimi zagnieżdżeniami (poziomą), gdyż Subversion nie pozwala na wy-ciągnięcie z repozytorium pojedynczego pliku, a jedynie całe foldery.

Bywa, że nasze projekty zawierają pliki, których nie chcemy śledzić i przecho-wywać w repozytorium – no przykład rozmaite pliki tymczasowe. TortoiseSVNpozwala takie pliki oznaczyć jako ignorowane i wtedy system będzie je po prostuignorował.

W dowolnym momencie możemy z repozytorium ściągnąć dowolną rewi-zję w „czystej” formie, pozbawionej dodatkowych informacji przechowywanejw ukrytych folderach .svn. Służy do tego operacja Export. Podajemyw niej URLprojektu (lub dowolnego fragmentu drzewa folderów zapamiętanego w repozy-torium), folder docelowy, rewizję i po chwili mamy w tym folderze odtworzoną

strukturę i zawartość wybranej rewizji. I możemy ją umieścić np. na serwerzeWWW czy wysłać komuś, bez obciążania jej sporą ilością dodatkowych danychużywanych przez system Subversion.

Odnośniki[1] http://www.miasik.net/articles/subversion.html[2] http://pl.wikipedia.org/wiki/System_kontroli_wersji[3] http://subversion.tigris.org/[4] http://tortoisesvn.tigris.org/

Drukuj Pełny ekran numer 37 – 2010 22

Page 23: magazine - Draco

Software Podyskutuj o artykule na forum

Clam AntiVirus – kompendiumKamil GalosWidok rozczochranej, błyszczącej wody spływającej po stromejskałce i rozbryzgującej się gdzieś o kamieniste dno potoku jest takurokliwy, tak uspokajający, że warto umieścić go na swoim kompu-terze np. w postaci wygaszacza ekranu, by móc podziwiać i cieszyćsię jego pięknem. Waterfall Screensaver, bo o nim mowa, jeszcze wgrudniu poprzedniego roku dostępny był do pobrania w postacipakietów instalacyjnych deb na gnome-look, popularnym serwisiezawierającym pliki zmieniające wygląd naszego systemu. Bardzoszybko wygaszacz ten został usunięty, gdy okazało się, że instalu-jąc go, podłączamy jednocześnie nasz komputer do tzw. sieci botnetza sprawą zawartego w nim malware, pozwalając jego twórcy nawykorzystanie komputera do różnego rodzaju nadużyć.Podobne, niechciane oprogramowanie zawierał takżemotywNinja Black –wkrót-ce po tym, jak sprawa wyszła na jaw, głosy zwolenników bezpiecznego Linuksajakby ucichły i rozgorzała dyskusja o dostępności oprogramowania antywiruso-wego dla tych systemów.

SystemyGNU/Linux są bezpieczne –moje zdanie i pewnie zdanie sporej licz-by użytkowników nie zmienia się w tej kwestii mimo zaistniałej sytuacji. Niebez-pieczne jest dopiero bezmyślne instalowanie pochodzących z niepewnych źródełdanych. Oczywiście nikt nie mógł przewidzieć, że w tak popularnym serwisiejak gnome-look znajdzie się malware. Z pewnością zaufanie do udostępnianychtam plików zostało poważnie nadszarpnięte. Popularne magazyny [3] zaczęłypublikować informacje na temat dostępnego dla Linuksów oprogramowania an-tywirusowego, szukając tego prostego w użyciu dla przeciętnego użytkownika,dziś także i Dragonia porusza ten temat.

Przyjmijmy do wiadomości kilka faktów: po pierwsze, Linux powoli wkra-cza na rynek desktopów, przez co coraz częściej będzie on narażony na atakize strony malware, i złośliwego kodu; po drugie, możemy chronić się całkiemnieźle, mając do wyboru ciekawy zestaw oprogramowania antywirusowego; potrzecie i ostatnie – spośród tej szerokiej gamy programów wybrałem ClamAVjako najbardziej uniwersalny i najmniej problematyczny, pomimo przeciętnychwyników, jakie uzyskuje on w testach na wykrywalność wirusów [4]. Niniejszyartykuł dotyczy instalacji, konfiguracji i użytkowania tego antywirusa.

Ogólna charakterystykaNie da się ukryć, że Polska jest ojczyzną wielu genialnychprogramistów i to właśnie Polak, Tomasz Kojm jest pomy-słodawcą ClamAV.

ClamAV to jedyny znany mi antywirus dostępny nalicencji GPL, dokładnie mówiąc jest to zestaw narzędzi,w skład którego wchodzi m.in. skaner, wielowątkowy de-mon i narzędzie do aktualizacji. Z założeniamiał być prze-znaczony głównie do ochrony serwerów pocztowych, ja-ko skaner załączników, z powodzeniemmoże jednak służyć za pełnowartościowenarzędzie antywirusowe dla komputerów biurkowych i laptopów. Administra-torzy bardzo chętnie korzystają z ClamAV w sieciach komputerowych ze wzglę-du na jego otwartą licencję oraz na możliwość legalnego używania bez żadnychopłat.

Wieloplatformowość to jedna z głównych, wyróżniających go cech na tle tegotypu aplikacji – obecnie każda większa dystrybucja systemu GNU/Linux po-siada w oficjalnych repozytoriach pakiety z programem, jest on także dostępnyw portach dla FreeBSD, w wersji dla Mac OS i pod kilkoma postaciami dla Win-dows. Kod źródłowy programu można pobrać ze strony domowej [4].

ClamAV możemy używać jako skaner w trybie on-access, czyli w czasie rze-czywistym, dzięki wykorzystaniu specjalnie do tego celu stworzonego systemuplików dla GNU/Linuksa – ClamFS, wrócimy do tego jeszcze w dalszej częściartykułu. Zapewnia nam to pełną ochronę antywirusową w trakcie normalnejpracy z plikami. Ta cecha wyróżnia go także spośród programów antywiruso-wych, których możemy używać bezpłatnie w środowisku Linuksa. Według mo-jego doświadczenia, oprócz ClamAV jedynie AVG Free Edition oraz Avira Anti-Vir Personal dla Linuksa pozwalają na uruchomienie rzeczywistej ochrony po-przez wykorzystanie specjalnego systemu plików dazukoFS [7]. Oba są aplika-cjami o zamkniętym kodzie, darmowymi jedynie dla użytku domowego i dlaobu nie ma w obecnych wydaniach wygodnego interfejsu graficznego.

Wspomnę jeszcze o wersji beta programu ESET NOD32 dla Linux, która jestniestety aplikacją shareware. Graficzny instalator w wersjach 32- i 64-bitowychjest prosty w użyciu i niezależny od dystrybucji Linuksa. Po instalacji ochronadostępowa jest aktywna i nie wymaga od nas żadnych dodatkowych działań.Aplikację możemy testować za darmo tylko w określonym okresie czasu, jak wy-

Drukuj Pełny ekran numer 37 – 2010 23

Page 24: magazine - Draco

Software Podyskutuj o artykule na forum

nika z informacji zawartych na stronie domowej programu [8] po upływie tegookresu licencja wygasa. Wmoich oczach dyskwalifikuje to program jako darmo-wą ochronę antywirusową na biurkowy komputer.

Krótki test antywirusowyNie omieszkałem sprawdzić skuteczności wykrywania zagrożeń przez ClamAV,porównując jednocześnie uzyskane wyniki z testami, jakie przeprowadziłem nawspomnianymwcześniej, dostępnymzadarmooprogramowaniu:AVGFree Edi-tion, AviraAntivir Personal i kilku innych programach. Do testówposłużyłem siępaczką zawierającą 4325 różnych szkodliwych programów, jest to zaledwie małyodsetek z ogromnej liczby szkodników, dla przykładu według Wikipedii bazawirusów programu ClamAV zawiera ponad 670 tysięcy sygnatur [9]. Wyniki te-stu przedstawiają się następująco:

Poziom wykrywalności CzasWykryte zagrożenia Odsetek skanowania

Avira Antivir Personal 4290/4325 99,2% 11 sAVG Free Edition 4285/4325 99,1% 39 sClamAV 4277/4325 98,9% 411 sESET NOD32 4212/4325 97,4% 34 s

Myślę, że mogę z czystym sumieniem pominąć informacje dotyczące środowi-ska testowego oraz warunków, w jakich go przeprowadziłem, gdyż moim głów-nym zamysłem nie było obiektywne potwierdzenie wyższości któregokolwiekprogramu a jedynie pokazanie, jak wypada ClamAV na tle innych dostępnychdla Linuksa aplikacji antywirusowych. Wniosek nasuwający się po spojrzeniuna wyniki jest jeden: ClamAV dostarcza nam ochronę na porównywalnym po-ziomie, co inne aplikacje tego typu.

Graficzny interfejs użytkownika w KDEDawno, dawno temu, w czasach gdy na linuksowych biurkach królowało śro-dowisko graficzne KDE z serii 3.x, powstał graficzny interfejs użytkownika dlaantywirusa ClamAV o nazwie KlamAV [10]. Stopniowo wypierane przez swojąnowszą wersję 4.x KDE ze starszej gałęzi umierało a wraz z nim mniej popu-larne aplikacje. Wspominam dziś z rozrzewnieniem KlamAV, w tamtym czasiewykorzystywał on w pełni możliwości ClamAV i zapewniał prostą obsługę tegoantywirusa z poziomu GUI na równi z podobnymi aplikacjami dostępnymi dlaWindows. Projekt przestał być rozwijany w początkach 2009 roku, od czasu, gdydystrybucje Linuksa zaczynały dołączać do swoich wydań nową wersję KDE,jako domyślne środowisko graficzne.

Rysunek 1. KlamAV pozwala m.in. na automatyczną konfigurację klienta poczty KMail

Ze strony domowej projektu można pobrać prosty, graficzny instalator, któryułatwia kompilację GUI i modułu dazuko, umożliwiającego uruchomienie ochro-nyw czasie rzeczywistym.Niestety kompilacjawymaga bibliotekQt i KDE z serii3, które obecnie nie są już udostępnianew domyślnych repozytoriachwiększościdystrybucji. Dla części dystrybucji wciąż dostępne są pakiety binarne, ale musi-my liczyć się z faktem, że GUI nie będzie w pełni funkcjonalne, osobiście nieudało mi się np. uruchomić obsługi ochrony dostępowej w KlamAV, ani modułuaktualizacji wMandrivie, natomiast pakiety dostępne w repozytoriach debiano-pochodnych (Ubuntu, LinuxMint) zawierają GUI pozbawione tej opcji. Poza tymjest ono jednakw pełni funkcjonalne.Wspominammimowszystko projekt po ci-chu licząc, że w przyszłości znajdą się chętni programiści do przeportowania godo KDE 4.x.

Integracja ClamAV z KMailClamAV w zamyśle służyć miał jako skaner dla serwerów pocztowych i plików,które za ich pośrednictwem są przesyłane. Dziś jest on chętnie wykorzystywa-ny przez administratorów sieci, ze względu na liberalną licencję i skuteczność.Integrację z serwerami umożliwiają takie pakiety, jak clamav-milter, squid-clamav,clamsmtp czy samba-vscan, jednakże z punktu widzenia przeciętnego użytkowni-ka komputera wiedza o nich jest niepraktyczna i nieprzydatna.

Domyślny klient pocztyw środowisku graficznymKDE,KMail, potrafiwyko-rzystać ClamAV do skanowania załączników pobieranych z serwerów listów. Je-żeli korzystamy z dobrodziejstwKMail i posiadamy swoje konta pocztowew do-

Drukuj Pełny ekran numer 37 – 2010 24

Page 25: magazine - Draco

Software Podyskutuj o artykule na forum

menach, które nie filtrują wiadomości (nie jestem pewny, czy jeszcze takowe są),warto skorzystać z tej funkcji programu. Musimy jedynie upewnić się, że w na-szym systemie zainstalowany jest antywirus ClamAV (np. korzystając z dostęp-nego w naszej dystrybucji menadżera pakietów). Następnie wystarczy urucho-mić odpowiedni kreator w menu Narzędzia .Asystent antywirusowy. . . w głów-nym oknie KMail. Program w kilku prostych krokach samodzielnie wykryje do-stępność antywirusa i spyta, co powinien zrobić zwiadomościami zawierającymiszkodliwe oprogramowanie.

Powinniśmy pamiętać, że opcja ta może nieco obciążyć system i wydłużyćczas dostępu do pobieranych wiadomości. Warto jednak wykorzystać ją w sys-temach, gdzie ochrona antywirusowa w czasie rzeczywistym nie jest aktywna.

Graficzny interfejs użytkownika w GnomeJedyny znany mi, aktualny i rozwijany na bieżąco interfejs graficzny dla anty-wirusa ClamAV to ClamTK [11], napisany przy użyciu Perl/Tk i GTK+. Lekki,przejrzysty i wygodny. Integruje się znakomicie ze środowiskiem graficznymGnome, jednakże nie ma przeszkód, aby używać go także w innych środowi-skach. Wykorzystuje on większość funkcji ClamAV, jednakże przy jego pomocynie możemy kontrolować ochrony dostępowej, a jedynie wykorzystać ClamAVjako skaner on-demand (na żądanie).

Rysunek 2. Graficzny interfejs użytkownika programu ClamAV – ClamTK w akcji

ClamTK pozwala nam na prostą konfigurację kilku innych funkcji ClamAV.Mam na myśli automatyczne skanowanie systemu oraz automatyczną aktuali-zację sygnatur wirusowych. Opcja ta jest bardzo przydatna w przypadku, gdyochrona w czasie rzeczywistym nie jest uruchomiona. Nawet zalecałbym ją

osobom, które często pozostawiają komputer uruchomiony, ale nie używają gow tym czasie – wystarczy zaplanować skanowanie właśnie na ten okres. Funkcjete konfigurujemy wybierając menu Zaawansowane .Planowanie skanowania.

Uruchomienie skanera z menu kontekstowegoJakiś czas temu udostępniony został na licencji GPL napisanyw Pythonie skryptnautilus-clamscan [12], dodający do menu kontekstowego dodatkową opcję Scanfor viruses. . . . Umożliwia ona uruchomienie skanera na żądanie dla dowolnychplików lub katalogów. Skrypt ten jest kompatybilny z menadżerem plików Na-utilus, domyślnym w środowisku graficznym Gnome. Niektóre dystrybucje Li-nuksa posiadają pakiet ze skryptem w repozytoriach, w pozostałych możemywykorzystać programNautilus PyExtensions [13], z pomocą którego łatwo go za-instalujemy (wymaga pakietu pyclamav). Z dużym prawdopodobieństwem pro-gram ten jest dostępny w repozytoriach oprogramowania naszej dystrybucji.

Mam obowiązek nadmienić w tym miejscu, że skrypt nie zawsze działa po-prawnie. Używałem go w aktualnych wersjach Ubuntu i Mandrivy, jednakże wobu przypadkach raz działał prawidłowo, innym razem zawieszał się w trakcieskanowania. Nie umniejsza to jednak faktu, że warto go co najmniej wypróbo-wać.

Ochrona przeglądarki FirefoxMozilla Firefox jest jedną z najpopularniejszychprzeglądarek internetowych, do-łączaną jako domyślny program do przeglądania sieci wwielu dystrybucjach Li-nuksa, bezwzględu na środowisko graficzne. Ponadto istnieje tysiące rozszerzeń(wtyczek), zwiększających możliwości programu i dodających ciekawe funkcje –jedną z nich, szczególnie nas interesującą, jest funkcja skanowania pobieranychplików. Wspomniana na początku artykułu sytuacja z zainfekowanym plikiemnie miałaby miejsca, gdybyśmy właśnie używali rozszerzenia FireClam [14], na-turalnie pod warunkiem, że baza sygnatur ClamAV zawierałaby odpowiedniedane.

Pobieranie plików z sieci kończy się wykonaniem skanu i w przypadku wy-krycia zagrożenia – wyświetleniem okienka dialogowego z odpowiednią infor-macją.

Ochrona w czasie rzeczywistymOchrona w czasie rzeczywistym lub ochrona dostępowa zapewnia skanowa-nie plików podczas ich odczytu i zapisu. Ma to swoje niewątpliwe zalety i jestniezbędne w systemach Windows, gdzie poziom zabezpieczeń jest relatywnieniski w stosunku do dystrybucji Linuksa. Ponadto liczba zagrożeń jest wielo-krotniewiększa.Wprzypadku systemówLinux, uruchomienie ochronyw trybie

Drukuj Pełny ekran numer 37 – 2010 25

Page 26: magazine - Draco

Software Podyskutuj o artykule na forum

on-access moim zdaniem wciąż jeszcze nie jest konieczne. Zaplanowanie skano-wania w określonych odstępach czasu, ochrona poczty i integracja z menadże-rempobierania plikówprzeglądarki internetowej zapewnia ochronę nawysokimpoziomie.

Rysunek 3. Fireclam uruchamia skaner ClamAV przy pobieraniu plików i informuje o od-nalezionych zagrożeniach

Ochronę dostępową można mimo wszystko uruchomić wykorzystując pro-gram ClamAV. Jest też ona aktywna w niektórych programach antywirusowych,jakwymienionewcześniej AVG Free, Avira Antivir (obawykorzystująmoduł da-zukoFS [7]), ESET NOD32. W przypadku Aviry podczas wykrycia zagrożenia,zainfekowany plik jest blokowany i wyświetla się okienko dialogowe z informa-cją o złośliwym kodzie.

W programie ClamAV ochronę w czasie rzeczywistym uruchomimy na dwasposoby, wykorzystując moduł dazukoFS i konfigurując demona clamd (clamuko[15]) lub dzięki ClamFS [16]. Paczki z ClamFS są dostępne w repozytoriach dys-trybucji debianopochodnych, skąd łatwo je zainstalować.Uruchomieniewymagadodania pliku konfiguracyjnego [17]. Początkujący użytkownicymogą jednak zespokojem zadowolić się podstawową konfiguracją ClamAV, bez ochronyw czasierzeczywistym.

ClamAV i system WindowsIstnieją dziesiątki komercyjnych programów antywirusowych dla systemówz rodziny WindowsTM. Ma to zapewne związek z imponującą liczbą zagrożeń,

jakie są dostępne dla tych systemów. Liczba programów antywirusowych do-stępnych dla Windows za darmo też jest dość długa, wspominając choćby wy-mienione wcześniej wersje programów dla Linuksa, które posiadają swoje Win-dowsowe odpowiedniki. Warto też wspomnieć o antywirusie udostępnianym zadarmo przez Microsoft – Microsoft Security Essentials, gdyż uzyskuje on całkiemniezłe wyniki w testach.

Mimowszystko polecamużywać ClamAV takżew systemieWindows. Istnie-je kilka interesujących nakładek graficznych lub programów wykorzystującychClamAV, poniżej krótka charakterystyka:ClamWin udostępniany na licencji GPL, można go zainstalować w dowolnym

wydaniu Windows, jednakże nie posiada aktywnej ochrony dostępowej, cow przypadkuWindows jest niedopuszczalne. Aby uruchomić ochronę, nale-ży zainstalować dodatkowe oprogramowanie, np.Winpooch lubClam Sentinel,

Moon Secure GPL, jest szczególnie wart uwagi, gdyż zapewnia ochronę dostę-pową oraz oferuje kilka innych przydatnych funkcji. Jest w pełni kompatybil-ny z Windows Vista i z wydaniami wcześniejszymi,

CS Antivirus GPL, wciąż rozwijany, ale zapewnia ochronę dostępową, więcwart wzmianki,

Graugon AV GPL, na chwilę obecną w pełni kompatybilny z Windows XP i Vi-sta. Nie chroni systemu w czasie rzeczywistym.

ClamAV portableNiektóre złośliwe programy działają w taki sposób, że upośledzają normalnefunkcjonowanie programu antywirusowego, uniemożliwiającw ten sposób swo-je wykrycie. W takim przypadku warto wykorzystać oprogramowanie antywi-rusowe w wersji portable, np. liveCD i w ten sposób zeskanować zainfekowanysystem.

Istnieją takie projekty wykorzystujące ClamAV, wymienię tutaj dwa moimzdaniem najciekawsze. Oba dostępne są w języku angielskim i oba są aktualizo-wane na bieżąco.

Open Diagnostic live CD [18] został stworzony głównie do celu usuwania zło-śliwego oprogramowania z zainfekowanych systemów operacyjnych. Dostępnyna stronie domowej obraz płyty to bogaty zbiór przydatnych programów OpenSource, udostępniany bodajże na licencji public domain. Nie zagłębiałem się bli-żej w projekt, z mojego rekonesansu wynika, że budowany jest on w oparciuo dystrybucję Linuksa Ubuntu i nie posiada interfejsu graficznego, więc możnago używać z poziomu konsoli. Możliwe jest skopiowanie systemu na płytę lubpendrive.

Drukuj Pełny ekran numer 37 – 2010 26

Page 27: magazine - Draco

Software Podyskutuj o artykule na forum

Rysunek 4. Skaner ClamAV uruchomiony z menu kontekstowego Nautilusa dziękinautilus-clamscan

Ciekawszym moim zdaniem rozwiązaniem jest Parted Magic [19], ciekaw-szym o tyle, że jest to w zasadzie w pełni funkcjonalny system operacyjny, za-wierający środowisko graficzne (Openbox) i większość programów potrzebnychdo zarządzania sprzętem oraz do diagnostyki systemu, w tym także ClamAV.W dodatku obraz systemu ma rozmiar zaledwie kilkudziesięciu megabajtów.Dostępne są wersje liveCD i liveUSB a nawet PXE, pozwalający na uruchomieniepoprzez sieć.

Krótkie podsumowanieJak już wiemy, nie jesteśmy bezbronni wobec coraz częściej pojawiających się za-grożeń systemów GNU/Linux. Istnieje kilka programów, które dostępne są zadarmo a które zapewniają nam ochronę w czasie rzeczywistym lub skanują pli-ki na żądanie. ClamAV jest moim zdaniem jednym z lepszych rozwiązań [20],choćby dlatego, że otwartym, uniwersalnym i skutecznym, o szerokich możli-wościach konfiguracyjnych. Polecam wypróbować go wszystkim, którzy pragnąochraniać swój system przed złośliwym oprogramowaniem.

Odnośniki[1] Strona domowa[2] http://gnome-look.org/[3] Linux+ nr 5/2010, Linmag nr 1/2010[4] Test bezpłatnych programów antywirusowych[5] Kacper Pluta, Przegląd antywirusów na linuksowe biurka, Linux+ 5/2010 str. 36[6] http://www.clamav.net/[7] www.dazuko.org[8] http://beta.eset.com/linux[9] http://en.wikipedia.org/wiki/Clam_AntiVirus[10] http://klamav.sourceforge.net/klamavwiki/index.php/Main_Page[11] http://clamtk.sourceforge.net/[12] https://launchpad.net/nautilus-clamscan[13] Konfiguraja ClamAV[14] https://addons.mozilla.org/pl/firefox/addon/10882[15] http://www.clamav.net/doc/latest/html/node30.html[16] http://clamfs.sourceforge.net/[17] clamfs[18] Opendiagnostics[19] http://partedmagic.com/[20] Niebezpieczeństwa związane z przedkładaniemwydajności programunad jego sku-

tecznością przez komercyjnych producentów

Drukuj Pełny ekran numer 37 – 2010 27

Page 28: magazine - Draco

Software Podyskutuj o artykule na forum

QCAD CE – projektujemy w LinuksieKamil GalosKomercyjne aplikacje przeznaczone do komputerowego wspoma-gania projektowania [1], bywają udostępniane po astronomicznychcenach. Tych, które możemy używać za darmo, jest jak na lekar-stwo. Natomiast programów CAD, których kod źródłowy jest do-stępny na zasadach Open Source, jeszcze mniej. W dodatku wśródtego nielicznego grona aplikacje, które mają wygodny interfejs gra-ficzny praktycznie nie istnieją. Chwileczkę, nie istnieją? O nie! Jestprzecież jeszcze QCAD CE.QCAD Community Edition, bo tak brzmi pełna nazwa programu, sponsorowa-nego przez firmę Ribbonsoft [2], długo udostępniany był w postaci pakietów bi-narnych także dlaWindowsTM. Obecnie licencja GNUGPL obejmuje tylkowersjedla systemów Unix, GNU/Linux, BSD i Mac OS X, przynajmniej w teorii, bo wserwisie Sourceforge.net [3] dostępne są także pliki dla Windows. Obecnie każ-da większa dystrybucja systemu GNU/Linux posiada w swoich repozytoriachsprawną paczkę z programem. Spośród nich CAELinux, dostępny w postaci live-DVD, zawieraQCADCE jako swoją integralną część.Dystrybucje oparte oDebia-na, np. Ubuntu, mają także prekompilowane pakiety z ważną częścią programu,Partlibrary – o czym za chwilę.

Interfejs QCAD CE przetłumaczono na kilkadziesiąt języków, w tym polski.To sprawia, że aplikacja staje się przyjazna dla nieobeznanych z językiem angiel-skim rodaków. Do działania program wymaga biblioteki Qt.

QCAD CE jest właściwie starszą wersją aplikacji komercyjnej, wydawanejprzez Ribbonsoft. W związku z tym pozbawiony jest niektórych jego nowychmożliwości, np. rysowania łamanej. Oznaczony jest numerem 2.0.5.0, podczasgdy wersja komercyjna ma numer 2.2.2.0. W dodatku aplikacja nie rozwija sięjuż od długiego czasu, ostatnie komercyjne wydanie miało miejsce we wrześniu2008 roku.

Możliwości programu QCAD CEBardzo ważną cechą programu, o której wspomnę w pierwszej kolejności, jestobsługa plików dxf (ang. drawing exchange format), a tej próżno szukać w podob-nych, darmowych aplikacjach. QCADCE obsługuje co prawda tylko formaty dxf2000 i starsze, nie poradzi więc sobie np. z rysunkami stworzonymi w nowychwersjach AutoCADa, zawsze to jednak coś, a nawet wiele.

Rysunek 1. Interfejs graficzny programu QCAD CE

Sporym ograniczeniem aplikacji jest fakt, że rysunki można tworzyć tylkow dwóchwymiarach, co automatycznie wyklucza użycie programu dla wielkichprojektów.

Wiersz poleceń w programie jest mocno okrojony, mam tutaj na myśli liczbęoperacji, możliwych do wykonania w postaci poleceń. Dostępne są tylko podsta-wowe polecenia rysowania, jak linia (lub line, w zależności odwybranego języka)czy proste polecenia edycji. Zmniejsza to nieco szybkość pracy.

QCAD CE posiada m. in. kilkanaście zdefiniowanych stylów linii, kilkadzie-siąt zoptymalizowanych czcionek, import i eksport do formatów rastrowych. Peł-na lista możliwości aplikacji dostępna jest na stronie producenta [4], jednak za-znaczam, że dotyczy ona produktu komercyjnego, w związku z czymwersja CEmoże nie posiadać niektórych funkcji.

Dla kogo więc przeznaczony jest QCAD CE? Moje doświadczenie mówi mi,że można go wykorzystać w zawodowym projektowaniu. Jednak, niestety, conajwyżej w niewielkich przedsięwzięciach (czytaj: małych), aczkolwiek różno-rodnych – świadczą o tym linki do stron, gdzie twórcy wykorzystują aplikacjęw różnych celach, począwszy od produkcji zabawek, poprzez niewielkie projek-

Drukuj Pełny ekran numer 37 – 2010 28

Page 29: magazine - Draco

Software Podyskutuj o artykule na forum

ty a skończywszy na zastosowaniach naukowych czy nawet przy projektowaniusamolotów. Sam będąc studentem wykorzystywałem aplikację, aby sprawdzić,czy można przy jej pomocy stworzyć projekty, takie jak w programie AutoCAD.W dodatku znam innych studentów, którzy z QCADa korzystali, miałby więcpewne zastosowanie w edukacji lub może w jakimś. . . hobby? Tak, może znaleźćzastosowanie wśród projektantów hobbystów.

Praca zQCADCE,wporównaniu z komercyjnymi aplikacjami, jest niecowol-niejsza ze względu na relatywnie niewielką liczbę funkcji rysowniczych. Stwo-rzenie tego samego rysunku jest więc bardziej czasochłonne a brak zaawanso-wanych opcji edycji wymusza inicjatywę w szukaniu sposobów na rozwiązanieproblemów rysowniczych.

Pełne wykorzystanie możliwości programuAby w pełni skorzystać z możliwości aplikacji, powinniśmy zainstalować bi-bliotekę części – Partlibrary[5]. Jest dostępna na stronie producenta w postaciskompresowanych archiwów tar lub zip. Po rozpakowaniu, wskazujemy ścieżkędo niej w menu Edit .Preferencje aplikacji na karcie Ścieżki. Będzie ona dostępnawmenu View .Views .Library browser. Jest to zbiór kilku tysięcy zdefiniowanychbloków, posegregowanych według różnych kategorii, które łatwo wykorzystaćw rysunkach.

Biblioteka części ma to do siebie, że w prosty sposób możemy ją rozbudo-wywać, gdyż składa się ona z rysunków w formacie DXF. Wystarczy stworzyćtaki rysunek pamiętając o tym, aby nie umieszczać na nim bloków, a następniezapisać go w folderze w bibliotece części – będzie dostępny w Library browser.

Bibliotekę można przejrzeć jeszcze w sieci, także na stronie producenta.Z pewnością zadziwi nas mnogość dostępnych bloków i szablonów.

Gdzie szukać pomocy?Podręcznik użytkownika programu QCAD pobrać można ze strony producen-ta – dostępny jest jako dokument HTML, który można dodatkowo uruchomićw przeglądarce pomocy z poziomu programu. Niestety dotyczy on nowszej, ko-mercyjnej wersji, w związku z czym niektóre opisane funkcje ni jak się mają domożliwości wersji CE. W dodatku dokument dostępny jest w języku angielskimi kilku innych – brak polskiego wydania może dla niektórych być problemem niedo obejścia. Istnieje jeszcze nieoficjalny podręcznik użytkownika, polskojęzycz-ny, dostosowany do wersji QCAD CE. Można go za darmo przejrzeć lub pobraćz zasobów polskich Wikibooks [6].

Oficjalne forum programuQCADdostępne jest w języku angielskim i możnana nim znaleźć naprawdę sporo informacji [7].

Rysunek 2. Przeglądarka bloków

Wymagania sprzętowe i przykładowe rysunkiQCAD CE do sprawnego działania potrzebuje komputera z minimalnie 128 MBpamięci RAM. Uruchomimy go bez problemu także na starszych procesorach.

Aby nie pozostać gołosłownym, załączam kilka rysunków, stworzonych pod-czas studiów. Rysunki są zapisane w formacie dxf, jeden został wyeksportowanydo pliku rastrowego png, jeden został wydrukowany do pliku postscript document.

Odnośniki[1] CAD – Computer Aided Design[2] http://www.ribbonsoft.pl[3] http://sourceforge.net/projects/qcadbin-win/[4] http://www.ribbonsoft.com/qcad_features.html EN[5] http://www.ribbonsoft.com/qcad_library.html[6] Wikibooks: Podręcznik użytkownika[7] http://www.ribbonsoft.com/rsforum/ EN

Drukuj Pełny ekran numer 37 – 2010 29

Page 30: magazine - Draco

Software Podyskutuj o artykule na forum

Profesjonalne mapy z Quantum GISKamil GalosSystem Informacji Geograficznej, w skrócie GIS (ang. GeographicalInformation System) , to system informacyjny, którego celem jest gro-madzenie danych na temat obiektów geograficznych i przetwarza-nie ich tak, aby możliwa była ich wizualizacja. System GIS składasię zawsze z bazy danych geograficznych, sprzętu komputerowe-go, dostosowanego oprogramowania i, oczywiście, twórców i użyt-kowników. Jednym z ciekawych programów o sporych możliwo-ściach i w dodatku dostępnym na licencji GNU GPL jest QuantumGIS.

Dostępność programu QGISProjekt narodził się już w roku 2002, kiedy to twórca, Gary Sherman, zauwa-żył, iż dla Linuksa nie ma sprawnego programu GIS o szerokich możliwościach.Wkrótce potem rozpoczął pisanie kodu. Nazwa programu miała wskazywać nazestaw narzędzi Qt, w których to aplikacja jest tworzona.

Oprogramowanie geoinformacyjne, jakim jest Quantum GIS, zapewnew związku z otwartym kodem źródłowym, dostępne jest dziś praktycznie nawszystkie platformy systemowe. Większość dystrybucji GNU/Linuksa posiadabinarnąwersję programuw swoich repozytoriach, jest ona także dostępnawpor-tach dla FreeBSD, a na stronie domowej [1] możemy jeszcze pobrać wersje dlaWindows i Mac OS X. Program udostępniany jest wwersji Current, czyli najnow-szej, wyposażonej w nowe funkcje i możliwości, ale będącej jednocześnie wersjąbeta dla wydania Long Term Support.

Obecnie program rozwijany jest przez grupę entuzjastów-wolontariuszy i do-stępny w kilkudziesięciu wersjach językowych – także w polskiej.

Możliwości i funkcje programuObecnie program posiada szerokie możliwości, zwłaszcza jeżeli chodzi o zarzą-dzanie i przeglądanie danych już utworzonychwnajróżniejszych formatachwek-torowych, począwszy od popularnego shapefile(natywny format aplikacji), po-przez natywne formaty takich potężnych, komercyjnych aplikacji GIS jakArcInfoczy MapInfo, GML i jeszcze kilku innych. Możemy także wczytywać pliki obra-zów rastrowych utworzonychwkilkudziesięciu różnych formatach. Zarządzaniedanymi przestrzennymi jest możliwe poprzez PostGIS.

Rysunek 1. Interfejs graficzny programu Quantum GIS

Możliwości rysownicze programu są już znacznie mniejsze i wciąż nie do-równują możliwościom aplikacji komercyjnych typu MapInfo. Nie ma jednakwątpliwości, że program Quantum GIS można z powodzeniem wykorzystywaćzarówno w profesjonalnych przedsięwzięciach GIS, jak też do celów edukacyj-nych czy hobbystycznych. Moje doświadczenie pokazuje, że zwłaszcza w eduka-cji program można traktować jako darmowy zamiennik dla często bardzo dro-gich aplikacji komercyjnych – z pewnością w podstawowych kursach obsługi nieustępuje on od nich funkcjonalnością.

Tabela atrybutów obiektów pozwala w prosty sposób zarządzać zgromadzo-nymi w bazie danymi. Najciekawszą jednak możliwością jest Asystent Wydruku,będącywspaniałymdodatkiem umożliwiającym tworzenie pełnowartościowychmap anastępnie ichwydruk lub eksport do kilku formatówgraficznych – pdf, svg,png. Przykład prostej mapy stworzonej przy pomocy tego narzędzia jest przed-stawiony na rysunku 2.

Drukuj Pełny ekran numer 37 – 2010 30

Page 31: magazine - Draco

Software Podyskutuj o artykule na forum

Rysunek 2. Mapa utworzona przy pomocy QGIS, Wikipedia

Funkcje programu można szybko i łatwo rozbudować korzystając z licznychdodatkowychwtyczek. Pluginy pisane sąwPythonie i część z nich dołączana jestdo oficjalnych wydań aplikacji. Można nimi łatwo zarządzać korzystając z menuWtyczki .Zarządzaj wtyczkami.... Część dostępna jest także w repozytoriach nie-których większych dystrybucji Linuksa. Sporo nieoficjalnych wtyczek możemypobrać ze strony projektu [2] i łatwo zainstalować.

Z dostępnych pluginówwarto wymienićQGIS-GRASS (ang. Geographic Reso-urces Analysis Support System), dodający obsługę warstw tworzonych w progra-mie GRASS. Ta stworzona przez amerykańską armię aplikacja służy do zarzą-dzania informacją geograficzną a integracja z programemQGIS znacznie ułatwiapracę z nim.

Jeżeli ktoś chciałby sprawdzić pełne możliwości programu, na stronie domo-wej dostępna jest przykładowa baza danych, dotykająca różnych aspektów infor-macji geograficznej i wykorzystująca wiele formatów plików[3].

Rysunek 3. Asystent Wydruku ułatwia wizualizację danych

Gdzie szukać pomocy?Podręczniki pomocy związane z programem, dostępne jednak głównie w języ-ku angielskim, można pobrać ze strony domowej aplikacji [4]. Nieoficjalny kursstworzony przez Roberta Szczepanka jest dostępny na jego stronie domowej [5].Dostosowany jest do wersji 1.0 aplikacji, więc może nieco różnić się od najnow-szej 1.3. Warto też zajrzeć i zarejestrować się na polskim wortalu użytkownikówQuantum GIS[6].

Odnośniki[1] http://www.qgis.org/[2] http://www.qgis.org/en/download/plugins.html[3] http://www.qgis.org/en/download/sample-data.html[4] http://qgis.org/en/documentation/manuals.html[5] http://robert.szczepanek.pl/qgis_tutorial.php[6] http://qgis.org.pl/

Drukuj Pełny ekran numer 37 – 2010 31

Page 32: magazine - Draco

Software Podyskutuj o artykule na forum

Wine, czyli o tym, jak obejść się bez okienKamil GalosZnane wszystkim systemy z rodziny WindowsTM są tak rozpo-wszechnione, że często producenci oprogramowania najzwyczaj-niej traktują je, jakby były jedyną możliwą alternatywą dla kom-puterów, tworząc produkty dostosowane tylko dla nich. Sytuacjata poprawiła się znacząco w ciągu ostatnich lat, wciąż jednak sąprogramy, których nie uruchomimy inaczej niż w środowiskuWin-dows. W związku z tym faktem już wiele lat temu powstał projekt,który dziś rozwija się w szalonym tempie –Wine, czyli nie emulatorsystemu Windows.Wine rzeczywiście nie jest emulatorem. To otwarto-źródłowa implementacjawindowsowego API dla środowiska X11 – dzięki niej możemy więc uruchamiaćaplikacje przeznaczone dla okienkowego systemu na platformach Unix i innych,czyli Linuksach, BSD czy Solarisie. Wine zapewnia kompatybilność oprogramo-wania dzięki zastosowaniu alternatywnych bibliotek dll. Dzięki temu sporo apli-kacji możemy uruchomić bez problemów, wspominając chociażby o MicrosoftOffice 2007 czy PhotoshopCS2, aczkolwiek niekoniecznie będą onewpełni funk-cjonalne. Co ciekawe, dodając natywne biblioteki dll pochodzące bezpośrednioz Windows, znacznie zwiększamy możliwości Wine, nie jest to jednak operacjazgodna z licencją tego systemu.

Programy, które można używać przy pomocyWine oraz sposoby ich urucho-mienia dostępne sąw Bazie Danych Aplikacji Wine [1], gdzie ochotnicy umieszcza-ją opisy tychże programów.

Niniejszy artykuł pokazuje, w jaki sposób wykorzystać potencjał programuWine używając dodatkowego oprogramowania.

Zarządzenie WineKonfiguracja i zarządzanie oprogramowaniem Wine jest możliwe z poziomukonsoli lub przy użyciu graficznego interfejsu i kilku aplikacji. Podczas instalacjitworzony jest dodatkowy dział w głównym menu, sama jednak struktura menubywa różna w zależności od dystrybucji i systemu. Dla przykładu wMandrivie,w głównym menu znajdują się tylko aplikacje, które dzięki Wine zainstalowa-liśmy. Dodatkowe programy są dostępne w menu Narzędzia .Emulatory .Wine,a są to: Wiersz poleceń (podobny do wiersza poleceń w Windows), Edytor reje-stru, Konfigurator (podstawowe ustawienia programu), Menedżer plików (dostępdo wirtualnych dysków Wine, czyli prefiksów), Reboot (symulator ponownego

uruchomienia komputera) oraz programy Saper (gra znana z Windows) i Notat-nik. W menu Mandrivy brakuje jeszcze narzędzia Wine uninstaller (podobnegodo Dodaj/Usuń programy wWindows), które jednak możemy uruchomić z po-ziomu konsoli.

Domyślny folder Wine jest tworzony w katalogu domowym użytkownika,jest to ukryty katalog o nazwie .wine.

Rysunek 1. PlayOnLinux umożliwia łatwą instalację kilkudziesięciu gier dla Windows.

PlayOnLinuxWine tworzy w katalogu użytkownika ukryty folder, w którym znajduje się wir-tualne środowisko Windows, wirtualny dysk C – to tutaj domyślnie instalowanesą programyWindows. Co ciekawe, może być więcej takich środowisk, zwanychprefiksami, przy czym każde może charakteryzować się innymi cechami. Zarzą-

Drukuj Pełny ekran numer 37 – 2010 32

Page 33: magazine - Draco

Software Podyskutuj o artykule na forum

dzanie tak stworzonymi folderami bywa jednak utrudnione z konsoli, a jest nie-możliwe przy użyciu dostępnych z Wine graficznych konfiguratorów.

Z pomocą przychodzi tutaj aplikacja o wdzięcznej nazwie PlayOnLinux [2],która w zamierzeniu ułatwiać miała uruchamianie gier dla Windows w środo-wiskach systemowych, w których działał Wine. Okazała się jednak znakomitymrozwiązaniem do ogólnego zarządzania oprogramowaniemWine i jest dziś czo-łowymprogramem tego typu, w dodatku o otwartym źródle. Jest doskonale spo-lszczona, co ułatwia pracę nieznającym angielskiego użytkownikom.

Oprócz znacznie ułatwionego procesu tworzenia oddzielnych prefiksów dlaaplikacji, PlayOnLinux pozwala namnp. na uruchamianie programuwdowolnejwersji Wine. Ma to spore znaczenie zważywszy na fakt, iż niektóre windowsoweprogramy miały ochotę otwierać się w starszych wersjach programu, w nowychzaś nie za bardzo w związku z tzw. regresją czy funkcjonalnością wsteczną.

Integralną częścią aplikacji jest repozytorium skryptów, z których każdy ob-sługuje oddzielny program czy grę, przeprowadzając nas przez proces tworze-nia zoptymalizowanego środowiska uruchomieniowego dla tego programu. Li-sta skryptów jest imponująca i stale rośnie. Z ciekawszych programówwymienićwarto chociażby kilkawersji AutoCADa, Internet Explorer 7, różnewersjeMicro-soft OfficeTM, w tym wersję 2007, kilkadziesiąt gier. Co ciekawe, instalacja przyich pomocy bywa łatwiejsza niż w natywnym środowisku, bo uwzględnia np.dostępność aktualizacji czy service packów dla tych aplikacji.

Funkcjonalność programu możemy łatwo rozszerzać korzystając z wtyczek,z których część dostępna jest na stronie domowej PlayOnLinux. Wymienię choć-by DosBoxSupport, dodający wsparcie dla emulatora środowiska MS DOS – nie-którzy może jeszcze pamiętają go z dawnych lat.

PlayOnLinux jest dziś dostępny w repozytoriach każdej znaczącej dystrybu-cji GNU/Linux oraz w portach FreeBSD – osobiście nie wyobrażam sobie pracyz Wine, bez wykorzystania tego programu.

WinetricksMając dostęp do Internetu, możemy pobrać i zainstalować aplikacje, które ulep-szą nasze środowisko Wine, czyniąc je bardziej podobnym do środowiska Win-dows, np. dzięki natywnym bibliotekom dll. Instalacja tych aplikacji wymagajednak wiedzy dotyczącej ich położenia w sieci. Z tego właśnie względu powstałskrypt o nazwieWinetricks [3], służący pomocą przy instalacji tychże programóworaz przy konfiguracji samego Wine.

Skrypt jest często aktualizowany, opis instalacji jest dostępny na stronie do-mowej Wine [4]. Niektóre duże dystrybucje oferują binarną wersję skryptuw swoich repozytoriach oprogramowania. Nie jest to jednak optymalne rozwią-

zaniewłaśniew związku z częstą aktualizacją i lepiej korzystać z najnowszej wer-sji dostępnej w Internecie.

Rysunek 2. Winetricks jest skryptem ułatwiającym instalację wielu komponentów i pro-gramów dla Windows.

Możliwości skryptu są naprawdę duże. Pozwala on na automatyzację instala-cji takich komponentów, jak czcionki, kodeki i niektóre programy dla Windows.Instalacja części z nich, chociaż możliwa, do legalnego wykorzystania wymagaposiadania ważnej licencji systemu Windows, o czym informuje opis każdegokomponentu.

Możemy ułatwić sobie korzystanie ze skryptu, integrując go z PlayOnLinux,dzięki czemu np. łatwiej będzie instalować komponenty w poszczególnych pre-fiksach Wine. Taka integracja jest możliwa dzięki nieoficjalnej wtyczce do Play-OnLinux o nazwie POL Helper [5].

Wine-doorsWine-doors[6] jest bardzo ciekawym rozwiązaniem, pozwalającym na instalacjęniektórych programów, gier i komponentów dostępnych dla Windows bez do-datkowej wiedzy, przy dostępie do sieci. Jego binarnewersje są dostępnew repo-zytoriach niektórych dystrybucji GNU/Linuksa oraz na stronie domowej projek-tu, gdziemożemy też pobraćwersję źródłową z prostym instalatoremnapisanymw Pythonie.

Drukuj Pełny ekran numer 37 – 2010 33

Page 34: magazine - Draco

Software Podyskutuj o artykule na forum

Aplikacja uwzględnia, podobnie jak Winetricks, ograniczenia licencji Win-dows, pytając w trakcie pierwszego uruchomienia, czy jesteśmy posiadaczamitakowej. Pomimo braku spolszczenia, warto wypróbować program ze względuna kilka ciekawych możliwości, jak np. integrację z komercyjnymi produktami,CrossOver i Cedega czy zaawansowane funkcje konfiguracji Wine.

Rysunek 3. Wine-doors pozwala na konfigurację niektórych zaawansowanych opcji Wine.

Programy komercyjnePoczątkowo liberalna licencja Wine pozwalała na dostosowanie kodu i jegosprzedaż w postaci zamkniętych forków, tak powstał Cedega, rozwijany obec-nie przez firmę TransGaming. Program skupia się głównie na implementacji Di-rectX, przez co jego najważniejszym zastosowaniem jest uruchamianie niektó-rych gier.

Kolejnym z komercyjnych projektów jest Bordeaux, którego głównym celemjest wsparcie dla kilku głównych produktówMicrosoft i Adobe. Część kodu pro-jektu jest otwarta.

Najważniejszym opartym o Wine komercyjnym programem jest CrossOver,ważnym o tyle, że wszelkie zyski z jego tytułu przeznaczane są na cele programi-stówWine. Jest to więc doskonały sposób na wsparcie samego projektu. Twórca,Firma CodeWeavers, dostarcza takie odmiany, jak CrossOver Mac – dla użytkow-

ników OS X, CrossOver Games – dla graczy, CrossOver Linux – dla użytkownikówproduktów biurowych Microsoft, Adobe i innych. Zapewnia też profesjonalnewsparcie techniczne.

ReactOSReactOS [7] nie ma nic wspólnego z żadnym z Uniksów i niewiele wspól-nego z Windows, poza faktem, iż służyć ma w zamyśle twórców jako jegootwarto-źródłowe zastępstwo. ReactOS jest bowiem systemem operacyjnym,tworzonym od zera i wzorowanym na Windows XP/2003, mającym ostateczniestać się w pełni z nim kompatybilnym. Póki co wersja alpha systemu stanowiraczej ciekawostkę niż przydatne rozwiązanie, jestem jednak pełen podziwu dlatwórców projektu za wkład i ambicje i życzę im rychłego rozwoju, dlatego o nimwspominam.

Systemmożna uruchomić na niektórych komputerach lub maszynach wirtu-alnych (VirtualBox) i wykorzystać do obsługi niektórych programów Windows.Jest darmowy, ma otwarte źródła i buduje się go w oparciu o kod Wine.

Proste i niestety wciąż niedoskonałe środowisko graficzne umożliwia pracę.Najciekawszym programem jest Download, z którego poziomu można łatwo po-brać z sieci i zainstalować, np. Mozilla Firefox. Jest to więc odpowiednik Unikso-wych nakładek na menadżery pakietów.

Jeszcze słów kilka o upojeniu winemPolski użytkownik, który zrezygnował z systemu Windows, może z dużym po-wodzeniemwykorzystywaćWine jako jego niedoskonałe zastępstwo. Sporo giermożna bardzo łatwo uruchomić dzięki PlayOnLinux czy dzięki darmowej plat-formie Steam, którą można zainstalować dzięki PlayOnLinux właśnie. Wine roz-wija się w imponującym tempie, średnio co dwa, trzy tygodnie pojawia się nowawersja programu. Dlatego z pewnością możemy liczyć na to, że w niedalekiejprzyszłości będzie on stanowił naprawdę poważną alternatywę dla Windows.

Odnośniki[1] http://appdb.winehq.org/[2] http://www.playonlinux.com/pl/[3] http://www.kegel.com/wine/winetricks[4] http://wiki.winehq.org/winetricks[5] http://www.speedyshare.com/files/20162237/POL_Helper_

07052009.zip[6] http://wddb.wine-doors.org/[7] http://www.reactos.org/pl/index.html

Drukuj Pełny ekran numer 37 – 2010 34

Page 35: magazine - Draco

Software Podyskutuj o artykule na forum

Dzielenie się plikami – Peer2MailKamil GalosPoczta elektroniczna to z pewnością jedna z najskuteczniejszychi najpopularniejszych metod wymiany informacji. Listy przekazy-wane są bardzo szybko, bez względu na odległość. Dodatkowymatutem jest możliwość przyczepiania do takich e-listów plików –załączników – dzięki czemu dzielenie się np. zdjęciami jest bardzoproste i wygodne. Istnieją dziesiątki darmowych serwisów, oferują-cych konta pocztowe o mniejszej lub większej pojemności. . .Zaraz!Przecież, jeśli umieszczę w takim serwisie jakieś informacje, daj-my na to muzykę, mogę się nią dzielić ze znajomymi, wystarczy,że podam im dane do specjalnie utworzonego w tym celu kontapocztowego! W taki oto sposób narodziła się idea P2M.

P2M – ale o co chodzi?Pomysł na Peer2Mail narodził się stosunkowo niedawno, w czasach gdy serwisyoferujące darmowe konta pocztowe konkurowały ze sobą udostępniając corazwiększą przestrzeń i możliwość dodawania coraz większych załączników. Obec-nie skrzynka 2 GB w serwisieWp.pl nie jest już niczym nadzwyczajnym, zwłasz-cza w porównaniu z ponad 7,5 GB konta Gmail czy nawet 10 GBO2.pl. Podobniemaksymalna wielkość załączników – waha się ona od 25 MB we wspomnianejpoczcie Gmail do 100 MB na O2.pl.

Przy tak dużej dostępnej przestrzeni wystarczy już tylko chętna osoba, któraprzy użyciu odpowiedniego oprogramowania utworzy konto pocztowe, wyślena to konto plik, którym chce się podzielić z innymi, oczywiście plik w postaciczęści o wielkościach nie przekraczających ograniczeń konta, a następnie udo-stępni dane do skrzynki pocztowej gdzieś w sieci – w ten sposób pewne wąskiegrono osób będzie mogło zalogować się na to konto przy użyciu tej samej apli-kacji (co eliminuje ryzyko usunięcia plików z konta) i pobrać dane z prędkościąserwera pocztowego, co brzmi naprawdę zachęcająco.

Metod dzielenia pliku na części jest kilka, praktycznie każdy program obsłu-gujący technologię P2M posiada wewnętrzny mechanizm tworzenia segmentów.Obecnie jednak coraz popularniejszą metodą jest kompresowanie danych w for-matach RAR, co dodatkowo zmniejsza ich objętość. W systemach GNU/Linuxza dekompresję tego formatu odpowiada pakiet unrar lub unrar-free, natomiastza kompresję i dekompresję niewolna wtyczka rar.

Nie da się ukryć, że technologia P2M to jedna z najbardziej wyszukanychme-tod rozpowszechniania plików, genialna i jednocześnie skomplikowana, w swej

istocie podobna nieco do wymiany przy użyciu serwerów FTP. Mimo wszelkichzalet, niepozbawiona jest też wad, co nie zmienia faktu, że jest to mój ulubionysposób dzielenia się informacjami – korzystałem z niego ze sporym powodze-niem w czasie studiów przy wymianie materiałów – jest do tego wręcz idealna.

Zalety– nie musisz udostępniać plików;– pliki możesz pobierać z prędkością oferowaną przez serwer pocztowy i twoje

łącze;– masz większą pewność, że zdobędziesz dany plik, jeżeli znajduje się on na

koncie pocztowym;– ponieważ transfer jest realizowany z użyciem protokołu pocztowego lub cza-

sami HTTP, masz pewność, że administrator nie zablokuje tych portów lubnie ograniczy prędkości pobierania.

Wady– nie masz możliwości wyszukiwania plików – informacje o kontach i hasłach

znajdują się na specjalnych forach internetowych, do których dostęp częstojest utrudniony;

– zewzględuna swoją problematyczność, technologia nie jest tak popularna jaknp. P2P, przez co trudniej znaleźć interesujący plik, sytuacja jednak szybkozmienia się na lepsze;

– serwisy pocztowe coraz intensywniej walczą z P2M, systematycznie bloku-jąc lub nawet usuwając konta pocztowe o podejrzanie dużych transferach da-nych;

– pobieranie jest problematyczne ze względu na konieczność dzielenia dużychplików na części.

Niezbędne oprogramowaniePomysłodawcą i twórcą pierwszego programu do obsługi P2M [3] był IzraelczykRan Geva. Program o niewyszukanej, za to wiele mówiącej nazwie – P2M, przezdługi okres byłwiodącą aplikacją tego typu, jej kod był zamknięty imożna ją byłouruchomić jedynie w systemach Windows. Celowo piszę o niej w czasie prze-szłym – ostatnie wydanie miało miejsce w pierwszej połowie 2007 roku i obecnieodchodzi się od niej na rzecz łatwiejszych i doskonalszych rozwiązań.

P2Mmożna uruchomić przy pomocyWine, nie jest to jednak idealne rozwią-zanie i nie polecam korzystać z aplikacji w ten sposób. P2M korzysta z interfejsu

Drukuj Pełny ekran numer 37 – 2010 35

Page 36: magazine - Draco

Software Podyskutuj o artykule na forum

Internet Explorera, na skrzynki logujemy się więc w ten sam sposób jak przezprzeglądarkę. Hasło jest zakodowane, więc dostęp do danych jest możliwy tyl-ko z poziomu programu. Dostępne załączniki przedstawione są w postali listy,z której łatwo możemy pobrać wszystkie lub tylko wybrane party.

Technologia P2M nie jest dziś zbyt popularna i chociaż sytuacja ta powolisię zmienia, nie wydaje mi się, aby w przyszłości był to dominujący sposób nawymianę danych w sieci. W niektórych krajach ten sposób rozpowszechnianiaplików prawie nie jest znany, za to w Polsce istnieje spora liczba sprawnie dzia-łających for, na których można znaleźć różnego typu pliki, for o rozbudowanymsystemie udostępniania działów zasłużonym użytkownikom (którzy tworzą no-we konta z plikami lub finansowo wspierają forum).

Wspomniana sytuacja implikuje niewielką liczbę natywnych programów ob-sługujących technologię P2M, tym mniejszą dla przecież wciąż mało rozpo-wszechnionych systemówGNU/Linux.Wdodatkudostępne programy znajdująsię na chwilę obecną na takim poziomie rozwoju, żewciążmożna odczuć pewienniedosyt funkcjonalności. Przedstawię znane mi rozwiązania, z których z powo-dzeniem korzystam.

OpenP2MW odpowiedzi na zamknięty kod programu P2M oraz na fakt, że twórca zanie-chał dalszych prac nad jego rozwojem, Glauber Magalhães Pires, z pochodzeniaPortugalczyk, stworzył aplikację OpenP2M, korzystając z języka Java. Dzięki te-mu można ją uruchomić na wszystkich platformach systemowych, wspierają-cych tę technologię – czyli praktycznie w każdym systemie operacyjnym. Niebędę ukrywał, że jest to mój ulubiony program P2M, mimo wad i niezbyt urze-kającego wyglądu (dlatego moja opinia o nim może być pozbawiona cech obiek-tywizmu).

Aby uruchomić program, musimy zainstalować środowisko Java [4]. Insta-lacja samej aplikacji nie jest wymagana, możemy ją uruchomić korzystając bez-pośrednio z Java Web Start, co dla wersji 1.6 Javy, bez względu na dystrybucjęsystemu GNU/Linux, sprowadza się do wykonania w konsoli polecenia:javaws http://openp2m.sourceforge.net/download/OpenP2M6.jnlp

Ze strony domowej [5] możemy też pobrać wersję portable. Nie widzę jednaktakiej konieczności, gdy posiadamy stały dostęp do Internetu, zwłaszcza że uru-chomiona w ten sposób aplikacja nie będzie pobierać aktualizacji.

A propos aktualizacji programu jeszcze kilka słów. Wygląda na to, że projektzostał porzuconyprzez autora i oddłuższego czasu aktualizacje się nie pojawiają.Ponieważ jednak kod programu jest ogólnie dostępny, w sieci pojawił się aktual-ny fork [6], który dodaje kilka nowych funkcji i usuwa błędy związane z różny-mi serwerami pocztowymi. Większość elementów interfejsu jest kompatybilna

z polskim tłumaczeniem stworzonym dla oryginalnej wersji OpenP2M, jednakniektóre są w języku brazylijskim, rodzimym języku autora.

Rysunek 1. OpenP2M to moja ulubiona aplikacja obsługująca technologię P2M

Programoferuje namprawiewszystko, co aplikacja tego typumoże oferować,pomijając może automatyczne tworzenie kont pocztowych. Po zalogowaniu naskrzynkę pocztową, pliki wyświetlane są w postaci listy, z której możemy wy-brać interesujące nas dane – idealne rozwiązanie przy udostępnianiu np. zbio-rów muzyki, zdjęć czy dokumentów.

Warto wymienić możliwości programu:

– Pliki można pobierać z wielu kont jednocześnie, także z serwerów FTP.– Można przesyłać pliki z już istniejących kont na inne korzystając z opcji For-

ward.– Program zapisuje historię pobieranych części plików, co uniemożliwia pobie-

ranie duplikatów.– Program posiada generator kont i haseł. Hasła są kodowane.– Program może automatycznie wyłączyć komputer po ukończeniu pobierań.– Niektóre pliki można automatycznie uruchomić po ich pobraniu z poziomu

programu.– Można zminimalizować program do tacki systemowej.– Można wysyłać wiele różnorodnych plików na wiele kont, korzystając z po-

łączenia bezpośredniego lub serwerów pocztowych.

Drukuj Pełny ekran numer 37 – 2010 36

Page 37: magazine - Draco

Software Podyskutuj o artykule na forum

– Można używać połączenia proxy.– Program posiada wbudowany system dzielenia/łączenia plików. Zalecam

jednak używać do tego zewnętrznych aplikacji (kompresja ZIP, RAR, 7z).– Można zmienić wygląd programu, dostosowując domotywuwykorzystywa-

nego w używanym środowisku graficznym.– Aplikacja jest dostępna w wielu językach, w tym polskim.– Lista obsługiwanych skrzynek jest dostępna na stronie domowej programu

[7].

Rysunek 2. Menadżer pobierania plików programu OpenP2M

OpenP2M możemy więc wykorzystać na wiele sposobów, np. jako prostejprzeglądarki dostępnych na naszych skrzynkach pocztowych załączników, jakonarzędzia do wysyłania dużej ilości plików czy też jako narzędzie do dzieleniasię dokumentami lub zdjęciami.

MoorieNie da się ukryć, że pobieranie plików zarówno w P2M, jak i w OpenP2M, jestdość problematyczne – przy dużej ilości części plików łatwo się pogubić. Dla-tego sposób wykorzystywania technologii P2M przez te programy zupełnie niesprawdza się przy dużych plikach. W związku z tym w krótkim czasie na sceniepojawił się kolejny zawodnik – MoorHunt, eliminujący tę niedogodność i wpro-wadzający kilka innych ułatwień. Aby pobrać pliki, wystarczy jedynie znać spe-cjalnie generowany hashcode (i ewentualnie hasło), program rozpoznaje dziękiniemu informacje o dostępnych kontach i automatycznie pobiera potrzebne pliki,bez naszej ingerencji.

MoorHunt to jednak zamknięta technologia, niedostępna dla GNU/Linuksanawet przy użyciu Wine, w związku z wykorzystaniem platformy .NET. W każ-dym razie sytuacja nie trwała długo i już w roku 2007 Paweł Stołowski napisałprosty program działający w trybie tekstowym, obsługujący skrzynki pocztoweserwisu Gmail i nazwał jąMoorie [8]. Wkrótce jednak porzucił prace nad jej roz-wojem i dopiero w roku 2009, dwóch ambitnych programistów, Mahho i Cykus,wszczęło intensywne działania na rzecz programu [9].

Rysunek 3. Nakładka graficzna dla programu Moorie – Qmoorie

Kod źródłowy programu jest udostępniany na licencji LGPL, co zdecydowa-nie zwiększa atrakcyjność aplikacji w oczach zwolenników Wolnego Oprogra-mowania. Obecnie programmożna kontrolować korzystając z graficznej nakład-ki napisanej przy użyciu najnowszych bibliotek Qt – Qmoorie – funkcjonalnościąniewiele odbiegającą od oryginalnego klienta MoorHunt.

Oprócz kodu źródłowego, możemy pobrać ze strony domowej projektu pa-kiety binarne dla ArchLinux, Mandrivy, Ubuntu i Debiana, co znacznie ułatwiainstalację.

Ponieważ projekt jest tworzony przez Polaków, jest więc doskonale spolsz-czony. Z jego funkcji warto wymienić możliwość minimalizowania do tacki sys-temowej,możliwość zarównopobierania jak iwysyłania plikówna zdefiniowanekonta pocztowe. Lista obsługiwanych kont jest dostępna m. in. w Wikipedii [9].

Aplikacja jest szczególnie warta uwagi w związku z ambitnymi planami roz-woju, m.in. implementacją popularnego protokołu P2M Ygoow, co przy obecnymjego intensywnym tempie,możewkrótce przeobrazić jąwpotężnego konkurentadla innych programów tego typu.

Drukuj Pełny ekran numer 37 – 2010 37

Page 38: magazine - Draco

Software Podyskutuj o artykule na forum

GSpaceFirefox zawdzięcza swoją niegasnącą popularność w dużej mierze niezliczonejliczbie dodatkowych rozszerzeń, dzięki którym możemy zwiększać jego funk-cjonalność. Jeden z tych dodatków, o nazwie GetSpace [10], interesuje nas szcze-gólnie w związku z technologią P2M.

Rysunek 4. Mozilla Firefox z uruchomionym panelem GSpace

GSpace to dodatek umożliwiający korzystanie z kont Gmail i im pochodnychw podobny sposób, jak z serwerów FTP. Okno uruchomione w przeglądarce po-dzielone jest na część dyskową oraz na zasoby konta Gmail. Pliki możemy więcprzenosić i kopiować z dysku na serwer i odwrotnie.

Dodatek umożliwia też przeglądanie np. plików multimedialnych na serwe-rze, zarówno grafiki, jak i audio.

Wysyłanie plików na skrzynki pocztowe Gmail jest bardzo proste przy uży-ciu GSpace, jednakże hasła nie są kodowane, w związku z czym udostępnianietakich kont wiąże się z możliwością, że ktoś usunie zgromadzone na nich zasoby– lepiej więc wykorzystać do pobierania aplikacje, takie jak OpenP2M.

GSpace potrafi też dzielić i łączyć pliki w swoim wewnętrznym formacie, za-lecam jednak do tej czynności użyć zewnętrznych aplikacji (ZIP, RAR, 7z).

Jedną z niewielu wad, jest brak spolszczenia, co jednak nie utrudnia pracynieznającym angielskiego użytkownikomorazwyświetlane reklamy – towszyst-ko jednak nie stanowi większego problemu.

PodsumowanieNowoczesne programy obsługujące technologię P2M sąwygodne i prostew uży-ciu, sama technologia mawiele różnych zastosowań i możliwości. Spośródwieludostępnych for, na których udostępniane są pliki dla programuOpenP2M,moimulubionym jest LegendTeam.net. Warto też wymienić forumMoor-hunt.pl, na raziebardzo młode, udostępniające pliki kompatybilne z aplikacją Moorie, która jestszczególnie atrakcyjna ze względu na ambitne plany rozwojowe twórców. Przy-szłość pokaże, jak daleko technologia P2M będzie wykorzystywana do dzieleniasię danymi.

Odnośniki[1] Technologia P2M wMandrivie Linux.[2] Artykuł w portalu Bankier[3] http://www.peer2mail.com/[4] http://java.com/pl/download/linux_manual.jsp[5] http://openp2m.sourceforge.net/[6] http://www.p2mbrasil.com/v_vinicius_v/openp2m/index.html[7] http://openp2m.sourceforge.net/funcionalidades.php[8] http://moorie.pl/[9] http://pl.wikipedia.org/wiki/Moorie[10] http://www.getgspace.com/

Drukuj Pełny ekran numer 37 – 2010 38

Page 39: magazine - Draco

Software Podyskutuj o artykule na forum

Moorie - praktyczne wykorzystanie P2MKamil GalosMoorie to najlepszy znany mi klient P2M natywny dla systemuGNU/Linux. Jest dynamicznie rozwijany, głównie przez dwójkęambitnych programistów o pseudonimach Mahho i Cykus. Pokażęjak praktycznie wykorzystać jego możliwości.

1. Wybieramy plikiMoorie, dzięki automatyzacji procesu pobierania, nadaje się idealnie do dziele-nia dużymi plikami, np. skompresowanymi galeriami zdjęć, dokumentów itp.W przykładzie użyję zbioru numerów Dragonii o rozmiarze 270 MB. Możemyużyć archiwum RAR lub 7z, jeżeli mamy dużą ilość danych i musimy podzielićją na kilka skrzynek.

2. Tworzymy konta pocztowe – mirroryPliki będą znajdować się na kontach pocztowych, czyli mirrorach.Możemy stwo-rzyć dowolną liczbę mirrorów na różnych kontach, obecnie Moorie obsługujeserwisy Gmail.com i pochodne (gala.net, gazeta.pl, mailbox.hu, vivapolska.tv,gde.ru, klikni.cz, livedoor.com, oneindia.in, bigmir.net), Poczta.onet.pl (onet.eu)i kilka innych [1]. Możemy użyć własnej skrzynki, jeżeli znajduje się na niej dośćmiejsca.

Maksymalna, optymalna ilość danych na jednymmirrorze to 700megabajtów.

3. Konfigurujemy MoorieAbywysłać pliki, musimy skonfigurować skrzynkę i serwer, któreMoorie będziew tym celuwykorzystywał.W tym celu otwieramy nakładkę graficzną QMoorie,klikamy przycisk Ustawienia na głównym pasku narzędzi i przechodzimy na za-kładkęWysyłanie.

W poluUżytkownikwpisujemy pełną nazwę naszej skrzynki pocztowej, możebyć to dowolna skrzynka Gmail.com lub pochodna.

W polu Hasło wpisujemy oczywiście hasło do naszej skrzynki i klikamy naprzycisk Dodaj. Kliknięcie przycisku Zapisz spowoduje zapisanie na stałe kontaw pamięci.

Optymalny rozmiar segmentu to 7 megabajtów.

Rysunek 1. Konfiguracja Moorie

4. Wysyłamy pliki na mirroryAby wysłać plik na nasze konta pocztowe, klikamy przycisk Wyślij na głównympasku narzędzi. W oknie dialogowym, które się pojawi, dodajemy dane naszychmirrorów, podobnie jak robiliśmy to w poprzednim kroku.

Po ustaleniu haseł i mirrorów klikamy przycisk Wyślij – jeśli dane konta wy-syłającego są poprawne, program wyświetli pasek postępu wysyłania naszegopliku. Po zakończeniu, klikamyprawymprzyciskiemmyszy na jego pozycjiw za-kładceWysyłanie i wybieramy opcję Informacje – tutaj znajdziemy hashcode zmir-rorami. Dane dotyczące kont i hashkodówzapisywane sąw folderze\~ /.con-fig/Moorie Team.

Drukuj Pełny ekran numer 37 – 2010 39

Page 40: magazine - Draco

Software Podyskutuj o artykule na forum

Rysunek 2. Definiowanie mirrorów dla plików

5. Pobieranie plikówW głównym oknie programu klikamy przycisk Pobierz i w nowootwartym okniewklejamy kod.Do pobrania numery 1-35 Dragonii:<<ah8ZnAy90rsFZcGkUopn8KM5rx+vX4SzPz6mp/GQaRSFi9NHCWTJxkx8/5pBIFNugZ1ZBFasavEIPNndyG22uUiKnd51ROQvlMfIqQXv0XAi/oGOJttmjC4bf5LX6/px+84DBNYJGTBT9PaavR1/sVvUdEzmMiFcqDzqVh01AJ4yTikfLpyCEllNZX+nmIUiL2odKk1fPa8VE67adfOgh36AyOzGzqCvtyFjYd46FGawCVDMtcuFZqR/LG5c4wIeHNrQlgwsOIlp1BPyRZbD8bNBcQu1XZIZTPqmFoFEzzeGIgcIsqxjP3J95HkSLOubsn4rukRWEyXXfx4qvoi7d1Qw0l3XHJYsWv5ACM9aKkDBBERDRLiTooGvaW7uO77B/cHFM5IFUnK0XfAwU0TDpePebwrhISppV4Twhn+emNzpA=>>

Hasło do pobierania to dragonia.

Odnośniki[1] O Moorie w Wikipedii[2] Strona domowa[3] Strona zgłaszania błędów

Drukuj Pełny ekran numer 37 – 2010 40

Page 41: magazine - Draco

Literatura Podyskutuj o artykule na forum

Książki wydawnictwa PWNProgramowanie strukturalne i obiektowe. T. 1Krzysztof WojtuszkiewiczKsiążka jest wprowadzeniem do programowania,a zarazem podręcznikiem do przedmiotu PROGRA-MOWANIE STRUKTURALNE I OBIEKTOWE, wy-kładanym dla zawodu technik informatyk. Wiado-mości w niej zawarte są przydatne także studentomrozpoczynającym naukę programowania – przed-miot WSTĘP DO PROGRAMOWANIA.

Publikacja opisuje podstawy programowania –algorytmy, cykl tworzenia programu oraz progra-mowanie w językach Pascal oraz C/C++, zarównow środowisku tekstowym, jak i w Windows. Przed-stawia też skrótowo podstawy programowania w Ja-vie.

Książka składa się z 2 części. Tom 1 obejmuje podstawy programowania orazprogramowanie strukturalne w językach Pascal i C/C++. Przedstawiane w niejzagadnienia to:– wstęp do algorytmów,– podstawy programowania,– podstawy języka Pascal,– podstawy języka C i C++,– obsługa środowisk programistycznych Free Pascal i C++ Builder,– podstawy użycia debuggera.

Świat sieci złożonych. Od fizyki do InternetuAgata Fronczak, Piotr FronczakPołączenia neuronów w mózgu, przyjaźnie i zna-jomości w społeczeństwie, zależności pokarmo-we w ekosystemie, powiązania ekonomiczne, sie-ci transportowe, energetyczne i telekomunikacyjne,wreszcie Internet i WWW– świat, w którym żyjemy,jest bezwątpienia światem sieci złożonych. Chcąc gozrozumieć, powinniśmy zatem poznać mechanizmyrządzące ewolucją każdej z nich z osobna. A możenie?Może istnieje jedna, ogólna zasada, taki uniwer-salny klucz, dzięki któremu za jednym zamachemzrozumiemy działanie wszystkich sieci naraz?

Niniejsza książka udziela odpowiedzi na powyż-sze pytanie. Wprowadzając czytelnika w świat sieci,ukazuje najnowsze osiągnięcia nauki, przybliżające nas do zrozumienia, jak siecipowstają, funkcjonują i umierają. Stanowi przewodnik umożliwiający poznaniei samodzielne stosowanie podstawowych, powszechnie wykorzystywanych me-tod opisu i analizy sieci.

Obserwowane na przełomie ostatnich lat duże zainteresowanie dynamikąukładów złożonych o architekturze sieciowej oraz mnogość podejmowanych ini-cjatyw interdyscyplinarnych z tego zakresu są w dużym stopniu motywowanerosnącym strategicznym znaczeniem tych układów. Badania nad strukturą sieci,niezawodnością funkcjonowania takich układów oraz ich odpornością na celoweataki i przypadkowe defekty mają wielkie znaczenie praktyczne w wielu dzia-łach nauki i techniki. Dzięki badaniom prowadzonym w tym kierunku możliwejest nie tylko prognozowanie dalszegowzrostu sieci, ale teżmądre gospodarowa-nie zasobami układów oraz formułowanie procedur postępowania w sytuacjachkryzysowych.

Do zrozumienia treści książki potrzebna jest jedynie znajomość podstaw ana-lizy matematycznej i rachunku prawdopodobieństwa. Autorzy, będący z wy-kształcenia fizykami, położyli nacisk na to, by złożoność zagadnień prezentowa-nych w książce wzrastała łagodnie a wprowadzane elementy fizyki statystycznejbyły zrozumiałe również dla socjologów, ekonomistów czy biologów.

Drukuj Pełny ekran numer 37 – 2010 41

Page 42: magazine - Draco

Literatura Podyskutuj o artykule na forum

RecenzjaZen prezentacji. Proste pomysły i ważne zasadyGarr ReynoldsTomasz ŁuczakPrezentacje to sztuka. Sztuka multimedialna:mamy dźwięk i obraz. Sztuka także w znaczeniuprzedstawienia teatralnego: jest aktor, scenogra-fia, widzowie i historia do opowiedzenia.

By nasze przedstawienie zakończyło się suk-cesem, wszystkie jego składowe muszą współ-grać. Przez współgranie rozumiem, że mają sięwspomagać, a nie dominować. Scenografia niemoże odwracać uwagi od aktora, nie może goprzytłoczyć, ma być odpowiednia do każdegomomentu opowiadanej historii. Zaś historia doopowiedzenia musi być odpowiednia dla wi-dzów, tak by ich nie zanudzić ani oczywistością,ani trudnością w odbiorze.

Poza formą musi być treść. Bez treści forma jest bezużyteczna, tracą czas i ak-tor, i widzowie. Historia zaś musi być tak zbudowana, by wynikające z niej prze-słanie stało się jasne dla widzów oraz było dla nich przekonujące, by wreszciecoś im dało.

Z powyższego wstępu widać, że sztuka prezentacji nie polega tylko na przy-gotowaniu ładnych i bogatych w treść slajdów. Jest wręcz odwrotnie! Slajdy togłówny element scenografii. Jeśli będą one „samokomentujące się”, to prelegent,czyli aktor stanie się zbędny, a przecież nie o to chodzi. Jak wywrzeć pozytywnewrażenie zmuszając widzów do czytania całych akapitów z ekranu? Podobnieodczytywanie z ekranu tekstu, którzy widzowie mogą sami odczytać, nuży obiestrony. Przypomnijcie sobie prezentacje, w których uczestniczyliście: ile z nichWas uśpiło i znużyło, ale ile zapadło Wam w pamięć.

Nam chodzi o przedstawienie swojego poglądu, produktu, siebie i wywo-łaniu zamierzonego wrażenia. By być przekonywującym, trzeba okazać swojeemocje i swoją pasję. Jeśli to, co chcemy powiedzieć, jest prawdą, wierzymy wto, o czym mówimy, to będzie nam łatwiej pozyskać widzów. Jeśli do tego trafi-my z przesłaniem w ich oczekiwania i potrzeby, to jesteśmy blisko sukcesu. Lecz

miejmy w pamięci zasadę mniej znaczy więcej i nie znużmy ani nie zamęczmywidzów. Lepiej, by odczuli niedosyt i sami zaczęli zadawać pytania niż zasnęli.

Nie każdy jest urodzonymaktorem i grafikiem, ale niewielkimnakładempra-cy każdy może stać się dobrym rzemieślnikiem. W zalewie domorosłych prele-gentów mordujących widzów slajdami i monotonnym marudzeniem, na pewnozostanie to dostrzeżone i odpowiednio nagrodzone.

Ale o czym jest ta książka?Właśnie o tym, jak z nudnej prezentacji zrobić cie-kawą. Autor podchodzi do prezentacji całościowo, ale punkt ciężkości położonyjest na slajdach. Książka stanowi punkt startu, daje pewne podstawy i kwestie doprzemyślenia. Przy okazji poznamy nazwiska znanych prezenterów, ich mądrestwierdzenia oraz garść japońskich przysłów.

By stać się prezenterem, trzeba polubić swoich słuchaczy i tak przeprojekto-wać swoje slajdy, tak opowiedzieć historię, by widzowie chcieli posłuchać razjeszcze. By tak się stało, należy przeczytać tę książkę (inne też nie zawadzą),przemyśleć i wziąć się do pracy. Na wyniki nie trzeba długo czekać, a najdłuższeoklaski po prezentacji są bardzo miłą nagrodą, czego Wam życzę.

*

Na koniec tradycyjna łyżka dziegciu. Zgodnie z dopiskiem na okładce, książ-ka jest w kolorze, dzięki czemu możemy podziwiać zdjęcia i oglądać mniej lubbardziej interesujące slajdy w ich oryginalnych barwach. Choć według mnie, taksiążka nie straciłaby nic na przekazie, gdyby była w odcieniach szarości.Natomiast książki o obróbce zdjęć czy instrukcje do programów graficz-nych wydane w szarościach, bez kolorowych lub przynajmniej dobrej jakościczarno-białychwkładek, tomoimzdaniem jest niezbyt sensowny i nieudany skoko 60-70 lat wstecz.

Drukuj Pełny ekran numer 37 – 2010 42

Page 43: magazine - Draco

Literatura Podyskutuj o artykule na forum

Książki wydawnictwa HELIONProgramowanie w języku Ruby. Wydanie IIDave Thomas, Chad Fowler, Andy HuntKsiążka „ProgramowaniewRuby.Wydanie II” to jedenz najpopularniejszych na świecie podręczników opisu-jących ten język. Czytając ją, opanujesz wszystkie za-gadnienia związane z tworzeniem aplikacji wRuby. Po-znasz zasady programowania obiektowego, korzysta-nia zwyrażeń regularnych, obsługi wyjątków oraz pra-cy wielowątkowej. Dowiesz się, w jaki sposób doku-mentować kod, budować aplikacje i skrypty sieciowe,stosować Ruby w systemie Windows oraz łączyć Rubyz C. W książce znajdziesz także szczegółowe omówie-nie klas i modułów języka Ruby.

Ubuntu LTS. Księga ekspertaAndrew Hudson, Paul HudsonKsiążka „Ubuntu LTS. Księga eksperta” zawierawszystkie informacje potrzebne do tego, aby zainsta-lować system Ubuntu i sprawnie z niego korzystać.Z tego przewodnika dowiesz się, jak skonfigurowaćzasoby systemu i dostosować go do własnych potrzeb.Nauczysz się budować sieć, pracować z aplikacjamibiurowymi i grafiką oraz korzystać z potężnych narzę-dzi Linuksa, takich jak powłoka systemowa. Poznasztakże wszelkie procedury administracyjne oraz pod-stawowe zasady programowania i administrowaniaserweremWWW czy siecią komputerową.

Python. Wprowadzenie. Wydanie IIIMark LutzKsiążka „Python. Wprowadzenie. Wydanie III” stano-wi kompletny i szczegółowy przewodnik po podsta-wach języka Python.Wiedzaw niej zawarta umożliwiapełne zrozumienie tego języka, co pozwoli Ci pojąć do-wolne przykłady kodu na poziomie aplikacji. Zwięźlei jasno przedstawione przykłady świetnie ilustrują po-szczególne kwestie i problemy. Daje to solidny funda-ment do praktycznego zastosowania świeżo nabytychumiejętności. W niniejszym – trzecim już – wydaniuznajdziesz nowy zestawpraktycznychwskazówek i po-rad, dobranych w taki sposób, aby obejmowały aktual-ne zalecenia i najlepsze praktyki programowania. Krótko mówiąc, ta książka mawszystko, czego potrzebujesz, aby nie tylko dokładnie poznać język Python, aletakże efektywnie z niego korzystać!

Python i Django. Programowanie aplikacjiwebowychJeff Forcier, Paul Bissex, Wesley ChunKsiążka "Python i Django. Programowanie aplikacjiwebowych" zawiera opisy podstawowych i bardziej za-awansowanych elementów tego frameworka, a takżewiele przykładowych aplikacji, wspartych szczegóło-wymi wyjaśnieniami dotyczącymi ich budowy. Dzię-ki temu podręcznikowi dowiesz się, jak wykorzystaćelastyczność i szybkość tworzenia aplikacji w Pythoniew celu rozwiązania typowych problemów, które mo-żesz napotkać podczas swojej pracy. Nauczysz się two-rzyć formularze, skrypty, własny system zarządzaniatreścią oraz aplikacje Django zaledwie w kilka minut,a dzięki gotowym projektom poznasz także tajniki za-awansowanego projektowania.

Drukuj Pełny ekran numer 37 – 2010 43