Marzec 2004
marzec 2004
2
Opis zawartości płyt CD/DVD
Piotr Truszkowski
Aktualności
Newsy
Krzysztof Krawczyk
Jądro Linux
Maja Królikowska
Debian
Grzegorz Prokopski
Mandrake
Daniel Koć
Aurox
Robert Główczyński
GNOME
Zbigniew Chyla
KDE
Paweł Biliński
LinuxFresh
Piotr Truszkowski
4
Miesięcznik Linux+ (12 numerów w roku) jest wydawany przez Software-Wydawnictwo Sp. z o. o.
Redaktor naczelny: Krzysztof Krawczyk, krzysiek@linux.com.pl
Asystent redaktora: Piotr Truszkowski, piotrt@linux.com.pl
Producent: Marta Kurpiewska, marta@software.com.pl
Opracowanie CD: Krzysztof Krawczyk, Piotr Truszkowski
Dział reklamy: Tomasz Dalecki, reklama@software.com.pl, tel.: (22) 860 18 79
Prenumerata: Marzena Dmowska, pren@software.com.pl, tel.: (22) 860 17 67
Projekt graficzny okładki: Agnieszka Marchocka, agnes@software.com.pl
Projekt graficzny pisma: Marzena Turek-Gaś, marzenat@software.com.pl
Skład: Sławomir Zadrożny, slawekz@software.com.pl
Adres korespondencyjny:
Software-Wydawnictwo Sp. z o. o., 00-190 Warszawa, ul. Lewartowskiego 6
e-mail: redakcja@linux.com.pl, tel. (22) 860 18 18
Redakcja dokłada wszelkich starań, aby publikowane w piśmie i na towarzyszących mu nośnikach informacje i programy były poprawne,
jednakże nie bierze odpowiedzialności za efekty wykorzystania ich; nie gwarantuje także poprawnego działania programów shareware,
freeware i public domain. Uszkodzone podczas wysyłki płyty wymienia dział prenumeraty.
Wszystkie znaki firmowe zawarte w piśmie są własnością odpowiednich firm i zostały użyte wyłącznie w celach informacyjnych.
Redakcja używa systemu automatycznego składu
Druk: Stella Maris
Płyty CD dołączone do magazynu przetestowano programem AntiVirenKit firmy G DATA Software Sp. z o.o.
11
12
14
15
16
10
M
ówi się, że o gustach się nie
dyskutuje. Nic jednak nie oży-
wia tak dyskusji, jak kwestia upodo-
bań. Ta dystrybucja jest lepsza od
tamtej, to środowisko graficzne jest
wygodniejsze od tego, a ten pro-
gram jest szybszy od owego. Nikt
nie jest jednak w stanie „dogodzić”
wszystkim. Gdy nie pasuje nam da-
na dystrybucja Linuksa, możemy zrobić własną. Jako bazę
warto wybrać jedno z popularnych gotowych rozwiązań
(Debian, Slackware, Mandrake, Knoppix) albo stwo-
rzyć wszystko od podstaw (LFS – Linux From Scratch).
Wystarczy, że poświęcimy trochę czasu, aby móc wkrót-
ce nazwać swoje dzieło zupełnie inaczej, np. Bebian.
W tej atmosferze chciałbym zachęcić do zapoznania się
z artykułem Witolda Kierasia o modyfikowaniu Knop-
piksa – każdy może mieć własnego Knoppiksa, np.
specjalnie przygotowanego do wykorzystania w kafejce
internetowej.
Linux+ od tego numeru będzie pojawiać się w dwóch
wersjach: z dwoma płytami CD i z dwoma płytami DVD.
Wybór jest kwestią gustu, ale mamy nadzieję, że bardziej
spodoba się Wam to drugie rozwiązanie.
Zapraszam do lektury marcowego Linux+ i do odwie-
dzania naszych nowych stron internetowych (http://www.
lpmagazine.org/ ).
Gusta i guściki
18
20
Sprzedaż aktualnych lub archiwalnych numerów pisma po innej cenie niż wydrukowana na okładce – bez zgody wydawcy
– jest działaniem na jego szkodę i skutkuje odpowiedzialnością sądową.
Krzysztof Krawczyk
Redaktor Naczelny Linux+
Temat miesiąca
3
www.linux.com.pl
Dystrybucje Linuksa
Własny Knoppix
Witold Kieraś
Knoppix jest bardzo popularną dystrybucją Linuksa,
którą można uruchomić bezpośrednio z płyty CD.
Powstało wiele różnych odmian tego systemu, przezna-
czonych do konkretnych zastosowań, preferujących inny
dobór oprogramowania (Quantian, Linux-EduCD, Clu-
ster-Knoopix). W artykule znajdziecie dokładny opis
przygotowywania własnej wersji tego systemu.
Instalacja i konfiguracja SuSE Linux 9.0
Piotr Truszkowski
Dystrybucja Linuksa firmy SuSE, chociaż jest bardzo cie-
kawym produktem, raczej nie jest popularna w Polsce,
chociażby dlatego, że nie są publicznie dostępne obrazy
ISO tego systemu. Ta sytuacja ma szansę zmienić się,
gdyż w edycji DVD naszego pisma zamieszczamy wersję
9.0 SuSE Linuksa. W artykule znajdziecie dokładny opis
instalacji i konfiguracji tego systemu.
Grafika
GIMP 2.0
Kamila Folta
Od wydania pierwszej wersji GIMP-a ze stabilnej gałęzi
1.2.x minęły już ponad trzy lata. Z niecierpliwością ocze-
kujemy nowej edycji tego słynnego programu do obrób-
ki grafiki, tym razem opartego na bibliotece GTK+ 2.x.
W artykule znajdziecie wyszczególnienie cech, które
będzie można znaleźć w finalnej wersji – zmiany w wer-
sjach pre obejmują już wyłącznie eliminowanie błędów.
Photoshop na Linuksie
Piotr Truszkowski
Wiele osób uważa, że Photoshop firmy Adobe jest najlep-
szym programem do tworzenia i edycji grafiki. Niestety,
nie istnieje jego wersja linuksowa. Ten problem można
obejść korzystając z narzędzia o nazwie Wine. W artyku-
le znajdziecie instrukcję, jak sprawić, aby udało się uru-
chomić Photoshopa 7 na Linuksie.
Linux w biznesie
Płatnik 5 na Linuksie
Krzysztof Krawczyk
W Polsce, gdy chcemy uregulować nasze zobowiązania
względem ZUS-u, jesteśmy „skazani” na program Płatnik,
przeznaczony wyłącznie na systemy firmy Microsoft.
Powstaje co prawda Janosik, wolny odpowiednik tego
narzędzia, ale nie jest on jeszcze ukończony ani zatwier-
dzony przez odpowiednie organa. Rozwiązaniem jest
uruchomienie Płatnika korzystając z Wine.
Dla początkujących
Analiza logów systemowych
Piotr Machej
W każdym systemie linuksowym zachodzi bardzo wiele
zdarzeń. O większości z nich nie zdajemy sobie sprawy.
Te najważniejsze zapisywane są w tzw. dziennikach
zdarzeń (logach). Zadaniem każdego administratora
systemu jest przeglądanie takich plików. Czytając ten
artykuł, zapoznacie się z zagadnieniem analizy logów
systemowych przy użyciu kilku gotowych narzędzi (Red
Hat LogViewer, Webmin, LogWatch).
Sprzęt
Zabawy z flashdyskiem USB
Piotr Wolny
Małe urządzenia pamięci masowej, podłączane do portu
USB (tzw. flashdyski), stają się z dnia na dzień coraz
popularniejsze. Także pod Linuksem można z nich sko-
rzystać i to bez większych trudności. Jednym z ciekaw-
szych zastosowań flashdysków jest uruchamianie z nich
specjalnych wersji Linuksa. Artykuł zawiera opis podłą-
czenia i wykorzystania flashdysków USB w środowisku
linuksowym.
Dla programistów
CVS – system zarządzania wersjami
Piotr Machej
Każdy programista, wcześniej czy później, zaczyna
korzystać z jakiegoś systemu zarządzania wersjami. Naj-
bardziej znanym narzędziem do takiej pracy grupowej
jest CVS. Chociaż zasadniczo jest to narzędzie tekstowe,
to posiada wygodną nakładkę graficzną Gcvs. Z artyku-
łu dowiecie się, jak korzystać z CVS, jak założyć własny
serwer lokalny, a także serwer dostępny przez Sieć.
Dla graczy
Racer
Krzysztof Wolski
Wyścigi samochodowe są takim rodzajem rozrywki,
który przede wszystkim wciąga mężczyzn. Nic nie pod-
nosi tak adrenaliny, jak chęć bycia tym pierwszym na
mecie. Warkot silników maszyn, delikatne drżenie karo-
serii, sygnał startu, a potem gładkie wchodzenie w zakrę-
ty, przyspieszanie na prostej i nerwowe oglądanie się
w tylne lusterko. Gra Racer może zapewnić takie emocje
– szczegóły w artykule.
22
42
44
46
30
53
34
58
66
marzec 2004
4
opis CD
płyta A
GIMP 2.0 pre3
Nowa wersja najpopularniejszego
i najlepszego programu do obróbki
grafiki rastrowej dla Linuksa. Nowy
interfejs, funkcje, zwiększona szybkość
pracy i dużo poprawek w stosunku do
wersji 1.2.x czynią z nowego GIMP-a
pozycję ze wszech miar godną uwagi.
http://www.gimp.org/
Racer 0.5.0
Jeśli na Linuksie brakuje Ci gier
w stylu „Need for Speed”, zainteresuj
się Racerem. Czeka na Ciebie
rewelacyjna grafika, duża dynamika
gry i dreszczyk emocji, który przeżywa
każdy mężczyzna widzący siebie za
sterami nowego, lśniącego Ferrari F50.
Dodatkowo kilka tras i samochodów,
a dla dystrybucji opartych o pakiety
RPM pakiet binarny z grą.
http://www.racer.nl/
Wine
Najnowsza wersja API Win32 dla Linuksa.
Dzięki Wine masz szansę uruchomić
potrzebne Ci aplikacje z Windows na
swoim Linuksie. W obecnym numerze
Linux+ znajdziesz artykuły na temat
uruchomienia pod Linuksem Adobe
Photoshopa i Płatnika 5.
http://www.winehq.org/
Blassic 0.8.1
Programowanie w Basicu.
http://www.arrakis.es/~ninsesabe/blassic/
Connect Five 1.0.2
Klon klasycznej gry w kółko i krzyżyk
w grafice 3D. Różnica polega na tym, iż
gramy na dużej planszy 19x19 pól.
http://sourceforge.net/projects/connectfive/
W obronie wolności
Przez nasze niedopatrzenie wymieniona
książka nie znalazła się na płytce
dołączonej do poprzedniego numeru
Linux+. Przepraszamy naszych
czytelników i obiecaną książkę w formie
elektronicznej zamieszczamy w tym
miesiącu.
http://www.helion.pl/
Analizatory
Analizatory logów systemowych
opisywane w tym numerze Linux+.
Wśród nich: Admlogger, Fwanalog,
Fwreport, Loganalisys, Logwatch, Swatch,
Firewalllogd, Fwlogwatch, Glogwatch,
Logtool, Multitail, Webalizer.
CVS 1.11, GCVS 1.0
System kontroli wersji CVS został
szczegółowo omówiony w tym numerze
Linux+. Program GCVS jest ciekawą
nakładka graficzną, która z pewnością
uczyni pracę z CVS przyjemniejszą.
http://www.cvshome.org/
http://cvsgui.sourceforge.net/
Linux+ Live GfxPak
L
inux+ Live GfxPak to specjalna
wersja systemu Linux urucha-
miana z płytki CD i nie wymagająca
instalacji na dysku twardym. Linux+
Live GfxPak ma na celu prezentację
programów z artykułów obecnych
w tym numerze Linux+. Będziecie
mieli okazję wypróbować następujące
aplikacje:
• KDE 3.2.0 – najnowsza wersja
graficznego środowiska pracy
KDE wraz z wieloma aplikacjami
wchodzącymi w jego skład;
• GIMP 2.0 pre3 – najlepszy pro-
gram do grafiki rastrowej do-
stępny dla Linuksa (ogromna
ilość zmian wprowadzona od
czasu wydania ostatniej wersji
z serii 1.2.x powoduje, że na no-
wym GIMP-ie pracuje się znacznie
lepiej, wygodniej i bardziej wydaj-
nie; poznaj jego nowe możliwości
bez potrzeby instalacji);
• Logwatch – śledzenie logów syste-
mowych;
• CVS – system kontroli wersji;
• GCVS – graficzne zarządzanie re-
pozytorium CVS;
• Wine – implementacja API sys-
temu Windows, która umożliwia
uruchamianie aplikacji przezna-
czonych dla tego systemu, np.
Adobe Photoshopa, programu do
obróbki grafiki.
Dobrej zabawy!
KDE 3.2.0 w Linux+ Live
18 pingwinów
P
roponujemy Wam zapoznanie się
z małymi dystrybucjami Linuksa,
często przeznaczonymi do konkret-
nych zastosowań. Aby postawić ser-
wer działający w formie rutera w sieci
osiedlowej, nie potrzeba instalować
dużych dystrybucji Linuksa. Często
w zupełności wystarczy system,
który mieści się na zwykłej dyskiet-
ce 1.44MB. Niemożliwe? Przekonajcie
się sami. Na płytce znajdziecie:
• 1diskx,
• BrutalWare,
• Freesco,
• Monkey Linux,
• PocketLinux,
• Smalllinux,
• Alfalinu,
• Flonix,
• Hal9,
• Mulinux,
• Rolinux,
• Tomsrtbt,
• BasicLinux,
• Floppix,
• L4Windows,
• Pkmini,
• Router Linux,
• Tty Linux.
Zobaczcie, jak wiele potrafią po-
szczególne dystrybucje. Szczególnie
interesującą pozycją wydaje się być
MuLinux, dystrybucja mieszcząca się
na jednej dyskietce i wyposażona
w całkiem przyjemny interfejs gra-
ficzny.
Konfiguracja Trinuksa
5
www.linux.com.pl
opis CD
płyta B
Mandrake Move
D
ystrybucja Mandrake Linux cieszy się ogromnym
powodzeniem wśród początkujących użytkowni-
ków Linuksa. Kwestią czasu było pojawienie się jej wersji
LiveCD. Co ma nam do zaoferowania Mandrake Move? Jak
się okazuje po bliższym kontakcie, całkiem dużo. Otrzy-
mujemy system, który pozwala na sprawną pracę nawet
tym użytkownikom, którzy nie mieli wcześniej kontaktu
z systemem Linux. Duża szybkość działania, pokaźna licz-
ba dołączonych aplikacji, staranne opracowanie graficzne
i prostota obsługi czynią z Mandrake Move bardzo intere-
sującą pozycję dla początkujących adeptów poznawania
Linuksa. Jak jednak powszechnie wiadomo, nie ma pro-
duktów doskonałych i tą regułę potwierdza także obecna
edycja Mandrake Move. Największą niedogodnością jest
długi czas ładowania systemu. Drugim mankamentem
jest zbiór niezbyt nowych wersji aplikacji. Mandrake
Move opiera się na KDE w wersji 3.1.3, co trochę dziwi
w momencie ukazania się wersji 3.2.0 i poprzedzających
ją wersji 3.1.4 i 3.1.5. Na tym jednak wady kończą się i za-
czyna się czysta przyjemność korzystania z rozwiązania
sprawdzonego, o długiej tradycji i dużym uznaniu wśród
użytkowników. Na Mandrake Move składają się m.in.:
• środowisko graficzne KDE 3.1.3;
• klient poczty elektronicznej KMail;
• przeglądarka WWW Konqueror;
• klient FTP KBear;
• komunikator Gaim;
• rozrywka: Frozen Bubble, LBreakout2, Tux Racer;
• pakiet biurowy: OpenOffice.org 1.1;
• multimedia: Acrobat Reader, RealPlayer, Flash, Java,
XMMS.
Mandrake Move dostępny jest także w Sklepie Mandra-
ke. Do pudełka z systemem dołączany jest flashdysk, na
którym możemy zachowywać swoje dane i ustawienia
systemowe.
Mandrake Move można z czystym sumieniem polecić
wszystkim tym, którzy chcą poznać Linuksa bez potrzeby
zmiany dotychczasowej konfiguracji systemowej. Przed-
stawiony system można wykorzystać do najróżniejszych
celów. Może on pełnić rolę systemu demonstracyjnego,
który można pokazać w pracy/szkole, systemu ratunko-
wego, jak również normalnego, codziennego środowiska
pracy. Dołączone oprogramowanie pozwoli skorzystać
z dobrodziejstw Internetu oraz umożliwi poznanie pakietu
biurowego OpenOffice.org, alternatywnego do Microsoft
Office. Dzięki dołączonym grom zapewni nam on dłu-
gie godziny rozrywki na najwyższym poziomie, a dzięki
takim programom, jak Real Player i XMMS, obejrzymy
film i posłuchamy muzyki. Nie bez znaczenia jest także
bardzo starannie przygotowana oprawa graficzna, na którą
z pewnością zwrócą uwagę użytkownicy mający już dosyć
cukierkowego interfejsu znanego z Windows XP. Mandra-
ke Move nie brak graficznych fajerwerków, jednak w prze-
ciwieństwie do wymienionego wcześniej systemu firmy
Microsoft, są one bardzo stonowane i nie przeszkadzają
w codziennej pracy.
Życzymy dobrej zabawy w poznawaniu Linuksa!
Minimalne wymagania sprzętowe:
• procesor Intel Pentium II/III/IV, AMD K6/K6-II/K6-III,
AMD Duron, AMD Athlon/XP/MP;
• 128 MB SDRAM ( zalecane 256);
• napęd CD-ROM o prędkości minimum 32x.
Uwaga!
• do uruchomienia systemu nie jest wymagany dysk
twardy;
• system nie działa na starszych kartach graficznych
(np. S3 Trio).
Rysunek 1.
Mandrake Move w akcji
Rysunek 2.
OpenOffice.org w Mandrake Move
marzec 2004
8
opis DVD
płyta A
SuSE Linux 9.0
S
uSE Linux nie jest dystrybucją popularną w Pol-
sce. Dzieje się tak z uwagi na to, iż firma SuSE
nie udostępnia obrazów ISO swojej dystrybucji. Każdy
po-siadacz szybkiego łącza internetowego może jednak
zainstalować ten system poprzez Sieć, chociaż nie jest
to najwygodniejsze, zwłaszcza, gdy dany komputer jest
jednocześnie naszym niezbędnym miejscem pracy. Na
dołączonej do numeru płytce DVD znajduje się pełna
wersja europejskiej dystrybucji Linuksa, która w ostat-
nich latach zyskała sobie bardzo duże grono zwolenni-
ków i wielbicieli. Mowa oczywiście o SuSE Linux. Przed
Tobą, drogi Czytelniku, ponad 3 tysiące pakietów, łatwa
instalacja i konfiguracja systemu oraz ogromny poten-
cjał drzemiący w tej komercyjnej dystrybucji Linuksa. Na
SuSE 9.0 składają się m.in.:
• jądro 2.4.21;
• Samba 2.2.8a;
• poprawione wsparcie dla IPv6;
• KDE 3.1.4;
• GNOME 2.2.2;
• GCC 3.3.1;
• glibc 2.3.2;
• Apache 2.0.47;
• RPM 4.1.1.
Dzięki programowi administracyjnemu SuSE Linuksa o naz-
wie YaST, zarządzanie systemem jest łatwe i nie powinno
sprawiać problemów nawet początkującym użytkownikom
Linuksa. Szczegółowy opis instalacji systemu i jego konfi-
guracji z uwzględnieniem potrzeb polskiego użytkownika
znajduje sie w obecnym numerze Linux+. Życzymy dobrej
zabawy i czekamy na opinie i komentarze na naszym
forum, dostępnym pod adresem http://www.linux.com.pl/
forum/.
SuSE Linux 9.0 po uruchomieniu
Linux+
O
bok dystrybucji SuSE Linux, na krążku DVD znaj-
dziecie katalog Linux+. Są w nim zawarte wszystkie
programy omawiane w artykułach, jak i kilka innych.
Skupię się na różnicach w porównaniu z wersją CD. Oto
one:
• Adobe Photoshop 7 – pełna, 30-dniowa wersja tego
najpopularniejszego na świecie programu do obróbki
grafiki rastrowej. Możesz sprawdzić, jak działa pod
Linuksem, stosując się do wskazówek zamieszczonych
w artykule Photoshop i Linux, obecnym w tym nume-
rze Linux+;
• CVS – oprogramowanie omawiane w artykule o syste-
mie kontroli wersji CVS: cvs2html, cvsadmin, cvsgraph,
cvsspam, lincvs, tkcvs;
• Flonix CD Edition – obraz ISO dystrybucji;
• Płatnik – pełna wersja programu Płatnik 5. Wykorzy-
staj Wine stosując się do artykułu Płatnik 5 na Linuk-
sie i uruchom ten program do rozliczania się z ZUS-em
pod swoim Linuksem. Dodatkowo kilka przydatnych
skryptów i niezbędnych bibliotek;
• Linux 2.6.2 – najnowsza, stabilna wersja jądra syste-
mowego. Przekonaj się o jego nowych możliwościach
osobiście;
• W obronie wolności – przez nasze niedopatrzenie wy-
mieniona książka nie znalazła się na płytce dołączo-
nej do poprzedniego numeru Linux+. Przepraszamy
naszych czytelników i obiecaną książkę w formie
elektronicznej zamieszczamy w tym miesiącu.
Życzę Ci, drogi Czytelniku, dobrej zabawy z oprogramo-
waniem dołączonym do tej płytki DVD. Jak zwykle proszę
o przesyłanie swoich uwag, próśb i opinii na adres email:
piotrt@linux.com.pl. Dzięki Waszym listom możemy lepiej
dopasowywać się do potrzeb, jakie macie. Do zobaczenia
za miesiąc.
9
www.linux.com.pl
opis DVD
płyta B
Mandrake Linux 9.2.1
M
andrake jest dystrybucją Linuksa szczególnie ce-
nioną przez początkujących użytkowników tego
systemu. Dzięki ogromnej liczbie najróżniejszych kre-
atorów, pomagających w konfiguracji nawet najdrobniej-
szych ustawień systemu, jest także dystrybucją, o której
można powiedzieć, iż nie wymaga ręcznej edycji plików
konfiguracyjnych. Stali czytelnicy Linux+ z pewnością
zauważą, iż Mandrake Linux 9.2 był już przez nas wyda-
ny jako Linux+ Extra. Niestety, jakiś czas po oddaniu płyt
do tłoczni w napędach CD-ROM firmy LG wykryto błąd,
który powodował, iż instalacja systemu Mandrake Linux
mogła uszkodzić niektóre z napędów wyżej wymienio-
nej firmy. Firma LG po pewnym czasie wypuściła odpo-
wiednie poprawki do swoich napędów, a MandrakeSoft
odporne na ten błąd wersje swojej dystrybucji. Właśnie
taką wersję chcemy Wam zaproponować. Co nowego?
Poprawiono wiele dostrzeżonych błędów i uaktualnio-
no niektóre z aplikacji. Użytkownicy, którzy mają już
zainstalowaną dystrybucję Mandrake Linux w wersji 9.2,
mogą ją zaktualizować wersją 9.2.1. Na płytce znajdują
się także pakiety dodatkowe. Można wśród nich znaleźć
najnowsze wersje najróżniejszych aplikacji graficznych,
multimedialnych, gier i wielu, wielu innych. Zachęcamy
wszystkich czytelników, którzy zastanawiają się nad
wyborem odpowiedniej dystrybucji, do instalacji Man-
drake’a bądź SuSE, obecnego na pierwszej płycie DVD.
Życzymy dobrej zabawy i zadowolenia z dokonanego
wyboru!
Standardowy pulpit Mandrake Linux 9.2.1
Knoppix 2004-02-09
D
ystrybucje Linuksa uruchamiane z płytki CD prze-
żywają ostatnimi czasy swój renesans. Demonstra-
cja możliwości Linuksa, system ratunkowy, codzienne
narzędzie pracy i wiele innych możliwości czynią z nich
coś naprawdę godnego uwagi. Taką dystrybucją jest
właśnie Knoppix. System stworzony przez Klausa Knop-
pera stał się niejako pionierskim projektem, który zyskał
ogromną rzeszę zwolenników i użytkowników. Nie
każdemu jednak mogą odpowiadać rozwiązania zasto-
sowane w Knoppiksie. Nie każdemu może odpowiadać
dobór oprogramowania. Co w takiej sytuacji można
zrobić? Oczywiście przeczytać artykuł Własny Knoppix
zamieszczony w tym numerze Linux+ i samemu dopa-
sować Knoppiksa do swoich potrzeb. Zamieszczony na
płycie DVD plik ISO jest najnowszą wersją tego systemu
w momencie oddawania tego numeru do druku.
Knoppix 2004-02-09 to m.in.:
l
jądro 2.4.24-xfs;
l
KDE 3.1.5;
l
komplet programów multimedialnych (m.in. XMMS,
XINE);
l
GIMP 1.2.5;
l
OpenOffice.org 1.1.0;
l
Kdevelop 2.1.5 i inne narzędzia programistyczne;
l
KOffice 1.3.0.
Mając obraz dystrybucji, możemy go także wypalić na
swojej nagrywarce, otrzymując w ten sposób płytę z naj-
nowszą wersją Knoppiksa. Niemniej, zachęcam do pracy
nad zmodyfikowaniem obecnego na DVD obrazu do wła-
snych potrzeb. Dzięki wymienionemu wcześniej artykuło-
wi, nawet osoby bez dobrej wiedzy o Linuksie powinny
dać sobie radę ze stworzeniem własnej wersji Knoppiksa.
To wcale nie jest takie trudne. W razie ewentualnych
problemów, pomocy możecie szukać pisząc zapytanie
na naszym forum, które jest dostępne pod adresem
http://www.linux.com.pl/forum/. Powodzenia!
Knoppix po uruchomieniu
marzec 2004
10
aktualności
newsy
Novell i SuSE Linux
Firma Novell poinformowała
o wprowadzeniu do swoich kanałów
sprzedaży nowych dystrybucji SuSE
Linux. Jeszcze przed oficjalnym
przejęciem firmy SuSE, które nastąpiło
w styczniu, w cenniku Novella znalazły
się dystrybucje SuSE Standard Server 8.0
i SuSE Enterprise Linux Server 8.0,
przeznaczone dla segmentu firm
średnich i klienta korporacyjnego, oraz
SuSE Linux Personal 9.0 i SuSE Linux
Professional 9.0, przeznaczone dla
segmentu klienta masowego i SOHO.
Firma Novell ogłosiła również
rozpoczęcie nowego programu
ochrony nabywców SUSE LINUX
przed ewentualnymi roszczeniami
firm trzecich, związanymi ze sprawą
wątpliwości dotyczących praw własności
intelektualnej do części kodu systemu
Linux. Program ten ma wspomóc
klientów SuSE i Novella oraz sprawić,
aby nie obawiali się możliwości utraty
środków włożonych w implementację
i tworzenie środowiska informatycznego
opartego na Linuksie, a także widma
kosztownego i jałowego postępowania
prawnego.
Cenon jako Wolne
Oprogramowanie
Osoby zainteresowane tematem DTP
powinny zwrócić swoją uwagę na
pakiet Cenon, którego źródła zostały
niedawno upublicznione przez jego
autorów. Program posiada możliwości
edycyjne i graficzne (w tym separację
kolorów), które pozwalają na tworzenie
prostych reklam. Jego mocną stroną są
liczne filtry importu i eksportu danych
wektorowych (m.in. PostScript, PDF,
DXF, Adobe Illustrator) i bitmapowych
(m.in. TIFF, JPEG, GIF). Omawiane
narzędzie wydaje się być ciekawą
konkurencją dla Scribusa.
http://www.cenon.info/
http://www.cenon.biz/
Qt 3.3
Firma Trolltech opublikowała kolejną
wersję swojej sztandarowej biblioteki
programistycznej – Qt 3.3.0. Wprowadza
ona nowe możliwości, a także wiele
ulepszeń w stosunku do wersji 3.2.x.
Najważniejsze cechy nowej wersji to
integracja z platformą .NET, wsparcie
dla protokołu IPv6, uwzględnienie 64-
bitowych architektur (Intel Itanium),
nowa klasa narzędziowa QLocale
(pozwala na zamianę wartości
numerycznych na odpowiedniki
tekstowe w wielu językach) oraz nowe
sterowniki dla baz danych (Interbase
i SQLite).
http://www.trolltech.com/
Linux+ na Komputer Expo 2004
D
nia 24 stycznia, podczas tar-
gów Komputer Expo 2004,
odbyła się druga edycja WIL-a, czyli
Wielkiej Imprezy Linuksowej. W sali
Mikołajskiej Pałacu Kultury i Nauki
w Warszawie można było posłu-
chać wykładów na tematy związane
z Linuksem, poznać programistów
projektów Aurox Linux i PLD Linux,
posłuchać o dystrybucji Mandrake,
jak również dowiedzieć się o powsta-
niu i założeniach pierwszej w Polsce
Szkoły Linuxa. Na koniec imprezy,
wśród uczestników, którzy wypełnili
ankiety magazynu Linux+, rozlosowa-
no atrakcyjne nagrody, m.in. gry dla
Linuksa, SuSE Linux 9.0 Professional,
maskotki pingwina i tura, magazyny
Linux+ i Linux+ Extra!. Liczba uczest-
ników spotkania przerosła oczeki-
wania organizatorów – w pewnym
momencie było ich ponad 200.
Ponadto, na stoisku Software-
Wydawnictwo można było nabyć pi-
sma po bardzo atrakcyjnych cenach,
a także porozmawiać z redaktorami
Linux+.
Podczas targów można było zobaczyć
na żywo Auroksa
Stoisko Software-Wydawnictwo
Cooperative Linux
P
od koniec stycznia zostało udo-
stępnione pierwsze binarne wy-
danie Cooperative Linuksa (w skrócie
CoLinuksa). Celem tego otwartego
projektu jest umożliwienie uruchamia-
nia Linuksa na systemach Microsoft
Windows bez korzystania z takich
komercyjnych narzędzi, jak VMware.
Przykładowo, z powodzeniem udało
się uruchomić Knoppiksa na Windows
XP.
W przeciwieństwie do innych
rozwiązań tego typu, takich jak
UserModeLinux czy wspomniany
wcześniej VMware, specjalny ste-
rownik dla systemu macierzystego
wykonuje jądro CoLinuksa w trybie
uprzywilejowanym (superużytkow-
nika). Poprzez stałe przełączanie się
pomiędzy systemem macierzystym
a systemem wirtualnym, CoLinux
jest w stanie działać tak samo wydaj-
nie i posiadać taką samą funkcjonal-
ność jak typowy Linux uruchamiany
samodzielnie na danym komputerze.
Ponadto, ponieważ jest wykorzysty-
wany ten sam binarny format zapisu
programów wykonywalnych, nie ma
problemu z uruchamianiem niezmo-
dyfikowanych dystrybucji Linuksa.
Prowadzone są prace, aby móc
uruchamiać CoLinuksa na ReactOS-ie
(otwartym klonie systemu Windows).
http://www.colinux.org/
http://www.reactos.com/
Japoński Knoppix uruchomiony
pod Windows przy pomocy CoLinuksa
11
www.linux.com.pl
dział prowadzi: Maja Królikowska
jądro linuksa
kernel@linux.com.pl
aktualności
Zmiana planów w 2.4
Jądro serii 2.4 miało bardzo szybko
przejść w fazę utrzymaniową, jednakże
jego opiekun, Marcelo Tosatti, zmienił
zdanie. Rzeczywistość prawdopodobnie
przerosła wyobrażenia i jeszcze co
najmniej dwa jądra z serii 2.4 będą
zawierały nowości i istotne zmiany.
Można się też spodziewać, mając na
uwadze losy poprzednich stabilnych
wersji, że jeszcze przez jakiś czas 2.4
będzie najpowszechniej używaną serią
jądra Linux.
http://www.linuxnews.pl/_news/2004/01/
24/_long/2500.html
Automatyczna aktualizacja jądra
Han Boetes opublikował skrypt, który
może okazać się przydatny dla tych,
którzy często aktualizują i kompilują
jądro systemu. Dzięki install_latest_
kernel można zautomatyzować proces
pobierania łatki, jej nakładania,
budowania nowej wersji jądra oraz
aktualizację programu ładującego jądro
przy starcie. Skrypt ten nie wykona
jednak za użytkownika pierwszej
instalacji i konfiguracji, więc nie jest
polecany początkującym, czy tym,
którzy chcą sobie kompilować jądro nie
mając o tym pojęcia.
http://www.xs4all.nl/~hanb/software/
install_latest_kernel/
Małe, jeszcze mniejsze
Wśród wielu różnych odmian jądra
Linux ostatnio pojawiło się kolejne,
oznaczane przyrostkiem -tiny, które,
jak sama nazwa wskazuje, jest małe,
mniejsze od standardowego. Głównym
zamierzeniem twórcy tego zestawu
łatek jest właśnie sprawienie, aby
jądro zajmowało jak najmniej pamięci
i przestrzeni dyskowej. Podstawowym
zastosowaniem dla jąder -tiny mają
być systemy urządzeń wbudowanych,
handheldy, stare i słabe PC i tym
podobne zabawki.
http://www.selenic.com/tiny-about/
Szyfrowane systemy plików
Michael A. Halcrow zebrał listę
wymagań, jakie powinien spełniać
system plików z szyfrowaniem dla
Linuksa. W tej chwili użytkownicy mają
do wyboru następujące rozwiązania:
LUFS z modułem CryptoFS, FUSE z
modułem EncFS, CFS i TCFS (sieciowe
systemy plików), NCryptfs (modyfikujący
VFS) oraz szyfrowany system plików
stworzony przy użyciu mechanizmów
loopback i cryptoloop. Żaden z tych
mechanizmów nie jest tak wygodny, jak
chociażby EFS pochodzący z NTFS.
http://marc.theaimsgroup.com/?l=linux-
kernel&m=107513980310150&w=2
C++ a jądro Linux
O
d niemal zawsze regularnie
przez listę linux-kernel prze-
tacza się dyskusja dotycząca uży-
wania C++ w kodzie jądra. Aktual-
na sytuacja jest taka, że oficjalnie nie
ma miejsca dla kodu w tym języku w
Linuksie. Pytanie o to, dlaczego tak
zdecydowano i dlaczego nikt nie chce
zmienić tej decyzji, znalazło się już
dość dawno w FAQ listy linux-kernel,
bo jak się można domyślić, pomysł
przepisania jądra w języku wyższego
poziomu nie jest nowością. Przeciwko
C++ w jądrze jest sam Linus Torvalds,
który nie daje się nawet przekonać, że
C++ dorosło przez ostatnie dziesięć
lat i dorobiło się sprawnego kompila-
tora. Zdaniem Linusa trzy następują-
ce fakty związane z C++ w jądrze nie
uległy zmianie:
• obsługa wyjątków w C++ nie
działa prawidłowo, szczególnie
jeśli chodzi o zastosowanie jej
w jądrze systemu operacyjnego;
• żaden język, w którym ukrywa-
ne są takie operacje, jak alokacja
pamięci, nie jest najlepszy do pisa-
nia jądra systemu operacyjnego;
• można pisać obiektowo w C (przy-
daje się to przykładowo w ko-
dzie systemu plików), bez zbęd-
nych konstrukcji, których dostar-
cza C++.
Tak naprawdę można podać cały
szereg powodów, dla których jądro
nie zostanie przepisane w C++, jak
i powodów, dla których nie będzie
dostatecznie dobrego wsparcia dla
sterowników (modułów) napisanych
w C++. Najbardziej praktyczny jest
taki, że to bardzo trudne i wymaga
więcej pracy niż się z pozoru wydaje.
Mnie najbardziej przekonuje to, że
język wyższego poziomu w pewien
sposób zwalnia dewelopera od myśle-
nia o drobiazgach, daje dużo łatwych
w użyciu konstrukcji i pozwala nie
dbać o wydajność, co w przypadku
takiego zastosowania, jak jądro, jest
kluczowe.
http://kerneltrap.org/node/view/2067
http://www.tux.org/lkml/#s15-3
Devfs kontra udev
J
akiś czas temu Greg Kroah-Hart-
man rozpoczął rozwijanie udev,
który miał być rozwiązaniem alterna-
tywnym do będącego w jądrze, ale
słabo rozwijanego devfs. Twórcom
zarówno devfs, jak i udev, chodziło
o to, aby pozbyć się statycznego sys-
temu plików /dev, który był nieela-
styczny i niewygodny. Statyczne /dev
jest zwykle za duże, bo zawiera także
urządzenia, których faktycznie nie ma
w systemie. Trudno jest nim także
zarządzać. Dzięki devfs w systemie
było widać tylko te urządzenia, które
naprawdę tam są, jednak nie rozwiąza-
no w nim wszystkich problemów i nie
osiągnięto porażającej elastyczności,
pomijając już zastrzeżenia co do samej
jakości implementacji. Devfs znalazł się
w jądrze i dostarcza demona działają-
cego w przestrzeni użytkownika, który
informuje aplikacje o tym, co dzieje się
z urządzeniami. Wielu użytkowni-
ków Linuksa z powodzeniem używa
i chwali sobie ten system plików.
Jak już wyżej wspomniałam, alter-
natywą dla devfs jest ciągle aktywnie
rozwijany udev, którego twórca twier-
dzi, że jego rozwiązanie pozwala unik-
nąć wszystkich kłopotów z devfs. Udev
działa w przestrzeni użytkownika
i jest to jednym z głównych zarzutów
kierowanych przez wielbicieli devfs
w stronę Grega. Argumentują, że już
dawno ustalono, że to złe podejście.
Mają też za złe twórcy udev, że tak
poważnie broni swojego dzieła, choć
na samym początku traktował je raczej
jak zabawkę, próbę stworzenia takiego
rozwiązania. Wątpliwe też wydaje się
niektórym to, że udev tak szybko trafił
do oficjalnego jądra.
http://www.kernel.org/pub/linux/
utils/kernel/hotplug/udev_vs_devfs
marzec 2004
12
aktualności
debian
Nowe APT w experimental
Matt Zimmerman ogłosił umieszczenie
nowej, eksperymentalnej wersji Apt
w sekcji experimental. Przyczyną
było włączenie zmian dokonanych
w Apt-secure, pozwalających na lepszą
weryfikację źródła pochodzenia
pakietów. Samo użycie nowego Apt
nie wymaga praktycznie żadnych
zmian w konfiguracji. Inny deweloper
poważnie zastanawia się nad
przepisaniem dokumentacji do Apt,
aby była ona bardziej użyteczna dla
użytkowników dystrybucji stable, a nie,
jak w tej chwili, przede wszystkim
unstable. Ponadto, chciałby on
podkreślić możliwość użycia bardziej
przyjaznego Aptitude zamiast Apt-get.
[Experim] http://lists.debian.org/debian-
devel-0312/msg01986.html
[Doc] http://lists.debian.org/debian-doc-
0312/msg00024.html
Deweloper Debiana nagrodzony
przez firmę Sun
The Sydney Morning Herald doniósł, iż
Matthew Palmer, deweloper Debiana,
wygrał narodowy konkurs Regional
Delegates Program Award 2004
w Australii. Nagroda została przyznana
za opiekę i rozwijanie ośmiu
pakietów w ramach projektu Debian.
Według firmy Sun Microsystems,
Matthew wniósł duży wkład do
projektu NSW ComputerBank, który
ukierunkowany jest na uzupełnienie
wolnych systemów GNU/Linux o inne
programy, w szczególności przydatne
dla niezamożnych osób prywatnych
i instytucji.
[Herald] http://theage.com.au/articles/
2004/01/14/1073877881076.html
[NSWCB] http://www.cbnsw.org.au/
Automatyzacja pakietowania
modułów Perla oraz Debian Perl
Group
Powstało narzędzie perl2deb, które
automatyzuje proces tworzenia pakietów
Debiana z istniejących modułów Perla.
Spełnia ono podobną funkcję jak
dh-make-perl. Niestety, bywa podobnie
nieskuteczne z powodu założeń
czynionych przez autorów modułów
o procesie instalacji modułów Perla.
Natychmiast zaproponowano lepsze
rozwiązanie, tzn. założenie organizacji
Debian Perl Group, która kolektywnie
zajmowałaby się pakietowaniem
potrzebnych, wybranych modułów. Dwa
tygodnie później ogłoszono oficjalne
powstanie grupy.
[perl2deb] http://lists.debian.org/debian-
perl-0311/msg00023.html
[Ogłoszenie] http://lists.debian.org/debian-
devel-announce-0401/msg00002.html
[DPG] http://pkg-perl.alioth.debian.org/
Usunięcie sekcji non-free
W
raz z trwającymi od paru mie-
sięcy dyskusjami o stosunku
Debiana do Licencji GNU (nie cał-
kiem) Wolnej Dokumentacji (GNU
FDL), poruszana była również kwestia
ewentualnego usunięcia z Debiana
sekcji non-free, zawierającej oprogra-
mowanie, które nie spełnia wymagań
stawianych przez Wytyczne Debiana
Dotyczące Wolnego Oprogramowania
(DFSG).
Dyskusja ta przybiera często
formę mniej lub bardziej formalnych
propozycji zmierzających do usunię-
cia tej sekcji. Andrew Suffield, jeden
z najzagorzalszych zwolenników ta-
kich zmian, zaproponował przyjęcie
uchwały wyłączającej oprogramowa-
nie z sekcji non-free z następnego
i wszystkich kolejnych wydań. Jego
zdaniem powinno się także odebrać
możliwość umieszczania w tej sekcji
nowych pakietów, a sam projekt De-
bian powinien zdecydowanie przestać
wspierać to oprogramowanie. Antho-
ny Towns w odpowiedzi zauważył,
że ta propozycja narusza Umowę
Społeczną. Znajduje się tam klauzula,
która mówi, że Debian uznaje, iż część
użytkowników używa niewolnego
oprogramowania – z tego powodu
stworzył sekcje contrib i non-free.
Za usunięciem sekcji non-free
przemawia:
• niewolne oprogramowanie jest
moralnie złe – wystarczy poczy-
tać, co RMS pisze na jego temat;
• Debian otrzymuje za darmo
wsparcie od wielu organizacji, ale
nie po to, aby wspierać niewolne
oprogramowanie;
• Fundacja Wolnego Oprogramowa-
nia prawdopodobnie zaczęłaby
publicznie popierać Debiana jako
całkowicie wolną dystrybucję;
• istnieje wystarczająca ilość i róż-
norodność Wolnego Oprogramo-
wania, więc nie ma już potrzeby
używania oprogramowania nie-
wolnego.
Przeciw usunięciu non-free można
wskazać:
• konieczna jest zmiana Umowy
Społecznej Debiana (potrzebne
jest 3/4 głosów), inaczej nie jest to
możliwe;
• Umowa Społeczna słusznie i zgod-
nie z rzeczywistością uznaje, że
użytkownicy Debiana używają nie-
wolnego oprogramowania, a dla
wielu nieocenioną pomocą jest
możliwość skorzystania z goto-
wych pakietów;
• objętość całej sekcji non-free dla
wszystkich architektur jest mniej-
sza niż objętość nowych wersji
pakietów wchodzących do unsta-
ble w ciągu jednego dnia (obciąże-
nie serwerów z powodu non-free
jest niemal żadne);
• nikt nie zmusza nikogo ani do
używania, ani rozwijania, ani pa-
kietowania tego oprogramowania;
• wiele z wolnego oprogramowania
w sekcji contrib zależy od pakie-
tów w non-free i byłoby znacznie
trudniej opiekować się sekcją con-
trib, gdyby ich zależności nie były
spakietowane;
• źródła do ogromnej większości
pakietów w sekcji non-free są
dostępne, często jednak mają różne
klauzule czyniące je niezgodnymi
z DFSG lub np. niedystrybuowal-
nymi w formie binarnej;
• na podstawie popularity-contest
ustalono, że kilka pakietów z sek-
cji non-free jest rzeczywiście po-
pularnych;
• non-free służy też jako poczekal-
nia dla pakietów, które są przeli-
cencjonowywane po dyskusjach
z autorami;
• sekcja non-free zawiera też wiele
dokumentacji istotnej dla dewelo-
perów wolnego oprogramowania,
a także pliki danych np. do gier.
[Dyskusja] http://lists.debian.org/
debian-vote/2003/debian-vote-
200312/msg00013.html
13
www.linux.com.pl
dział prowadzi: Grzegorz Prokopski
debian@linux.com.pl
Planet Debian
Jeden z deweloperów Debiana,
na wzór Planet GNOME, stworzył
Planet Debian, który jest systemem
kolekcjonującym najnowsze wpisy
z blogów deweloperów Debiana.
Odczytuje on zdalnie dostępne
RSS-y, a wynik przedstawia w ładnej
graficznej formie na własnej stronie.
W chwili obecnej w systemie
zarejestrowało się około 50 osób, ale
można spodziewać się znacznego
wzrostu tej liczby.
http://planet.debian.net/
Nowy BugWatcher
Mark Howard ogłosił wydanie nowej
wersji graficznego narzędzia do
przeglądania i edycji zgłoszeń błędów,
znanego jako BugWatcher. Przy okazji
odświeżono też interfejs do Systemu
Śledzenia Błędów. Jest to z pewnością
narzędzie warte polecenia wszystkim,
którzy nie chcą korzystać z BTS-
u przez strony WWW i pocztę.
Program, mimo iż napisany w Javie,
działa też bez użycia niewolnego
oprogramowania.
[BugWatcher] http://
packages.debian.org/debbuggtk
Schłodzenie GNOME w Debianie
Jeden z głównych koordynatorów prac
nad GNOME w Debianie poprosił
opiekunów, aby powstrzymali się
od zmian w pakietach powiązanych
z meta-gnome2. Ponadto, naprawy
wymaga 13 pakietów, które trzymają
meta-gnome2 poza dystrybucją testing.
Obecność tego pakietu jest wymagana
do poprawnego instalowania się
GNOME2 w Sarge.
http://lists.debian.org/debian-gtk-
gnome-0401/msg00017.html
Debianizacja świata
Opublikowano ciekawe narzędzie,
które w czasie pracy systemu jest
w stanie przekonwertować dowolną
dystrybucję na Debiana. Niestety, nie
jest ono jeszcze na tyle sprytne, aby
automatycznie podmienić poprzednio
zainstalowane pakiety na debianowe
odpowiedniki, ale wykonuje
najcięższą pracę, czyli instaluje
podstawowy system i czyści ślady po
poprzedniej dystrybucji.
Na liście użytkowników Debiana
opisano natomiast doświadczenie
ręcznej, zdalnej zmiany systemu
z Red Hata na Debiana. Dostępne
notatki powinny znacząco ułatwić
podobne operacje wszystkim, którzy
będą chcieli przesiąść się zdalnie na
Debiana.
[Narzędzie] http://www.hadrons.org/
~guillem/debian/debtakeover/
Pięć głównych braków Debiana
N
a liście debian-devel pojawiło
się pytanie o technologie i istot-
ne pakiety oprogramowania, które
powinny być w Debianie, a nie są.
Pozycje najczęściej wymieniane to:
MPlayer, Mono, wielowątkowe i ulep-
szone skrypty startowe oraz dobre
wsparcie dla Javy w sekcji main dys-
trybucji.
MPlayer jest dostępny na licencji
GPL, ale zawiera kod, którego prawdzi-
wie wolne rozpowszechnianie i użyt-
kowanie nie jest możliwe ze względu
na nielegalne użycie opatentowanych
technologii. Jakiś czas temu rozpoczę-
to operację usuwania tych fragmen-
tów kodu z wersji przeznaczonej do
spakietowania w Debianie, jednak jak
dotąd pakiet ten nie został umieszczo-
ny w archiwum Debiana. Prawdopo-
dobnie czyszczenie nie zostało jeszcze
skończone. Natomiast, jak zwykle w ta-
kich przypadkach, dostępne jest nie-
oficjalne archiwum z pakietami.
Mono, czyli projekt wolnej imple-
mentacji microsoftowego rozwiązania
.NET, ma stać się, wedle zapowiedzi
hakerów z GNOME, istotną, jeśli nie
podstawową platformą programów
dla GNOME. Pakiety Debiana z Mono
są dostępne od dłuższego czasu z nie-
oficjalnego archiwum. Są one często
uaktualniane (prace nad Mono idą
pełną parą). Można przypuszczać, że
gdy Mono ustabilizuje się, pakiety
te znajdą się w samej dystrybucji
Debiana.
Wielowątkowe, ulepszone skryp-
ty startowe to temat dość popularny
w ostatnich tygodniach na liście
deweloperów Debiana. Istnieją trzy
życzenia:
• niektóre z uruchamianych usług
mogłyby właściwie startować rów-
nolegle, a przez to cały system
mógłby uruchamiać się szybciej
– prawdopodobnie będzie to moż-
liwe po zaimplementowaniu sys-
temu zależności między usługami,
który jest wymagany przez LSB;
• dobrze byłoby mieć możliwość
wglądu w zapis wszystkiego, co
pokazuje się na ekranie w trakcie
startu systemu – w tej chwili został
już wdrożony zajmujący się tym
bootlogd;
• wyświetlanie informacji o pra-
widłowym czy nieprawidłowym
starcie usług powinno być “ład-
niejsze”, jak ma to miejsce np.
w Auroksie – jest już kilka pomy-
słów jak to zaimplementować,
więc prawdopodobnie wkrótce
i to życzenie zostanie spełnione.
Większość programów pisanych
w Javie wymaga bardzo nieprzyjem-
nie licencjonowanej Javy z firmy Sun.
W ciągu ostatnich miesięcy w ramach
projektów wolnych maszyn wirtual-
nych Javy (GCJ, Kaffe, Kissme czy
SableVM) i projektu GNU Classpath,
tworzącego biblioteki Javy, udało się
osiągnąć stopień kompatybilności
z komercyjną Javą, który pozwala na
uruchamianie całkiem poważnych
programów, takich jak np. Eclipse,
Tomcat czy JBoss. Nie wszystkie one
działają już w pełni, ale ważny krok
został uczyniony.
[MPlayerDeb] http://marillat.free.fr/
[Mono] http://www.go-mono.com/
[FreeJava] http://java.debian.net/
index.php/MovingJavaToMain
[FOSDEM] http://www.fosdem.org/
MPlayer dla Debiana
marzec 2004
14
aktualności
Zmiany w produkcji
Nauczony zapewne przykrym
incydentem z niestandardowymi
napędami LG w wersji 9.2, MandrakeSoft
opracował nowe zasady wydawania
swoich kolejnych dystrybucji, które
zaczną być stosowane już w najbliższym
wydaniu 10.0. Zmiana polega na tym,
że po publikacji w lutym lub marcu
standardowego Mandrake Linux 10.0
Community, w kwietniu lub maju
powstanie Mandrake Linux 10.0
Official – w pełni stabilna wersja,
zawierająca wszystkie poprawki, które
pojawią się przez ten czas. O ile wersja
Community ma być dostępna od razu
po jej ukończeniu, to na Official trzeba
będzie chwilę poczekać, oczywiście
o ile nie jest się członkiem klubu lub
współtwórcą dystrybucji.
http://www.mandrakelinux.com/en/
pr-releaseprocess.php3
WineX i Ogle w jednym stały
domku
Zdecydowana większość gier na rynku
nie posiada wersji pod Linuksa, dlatego
wciąż nie da się zrezygnować z emulacji
Windows. Jeśli standardowe Wine
nie daje sobie rady, warto spróbować
pakietów WineX. Wprawdzie pełne
wydanie wymaga płatnej rejestracji
w Transgaming, jednak wersja
pozbawiona kilku mechanizmów (m.in.
ochrony płyt przed kopiowaniem, która
czasami uniemożliwia uruchomienie
gry w trybie emulacji) jest dostępna
z CVS firmy. Na jej podstawie zostały
skompilowane pakiety dla Mandrake,
które można bezpłatnie pobrać
z niżej podanej strony. Znajdują się
tam także pakiety odtwarzacza Ogle,
zawierające od razu mechanizm odczytu
kodowanych płyt DVD.
http://www003.portalis.it/115/
http://www.transgaming.com/
TestZilla
Bardzo ciekawym projektem
zapoczątkowanym przy okazji
przygotowywania nowej wersji
Mandrake Linux jest TestZilla. Jest
to zbliżony do realnych warunków
korzystania z dystrybucji proces
masowego testowania na rozmaitych
konfiguracjach sprzętowych. Zapowiada
to nowy rozdział w dziedzinie kontroli
jakości Mandrake: wraz z dodatkowym
cyklem wydania Official, TestZilla
pozwoli unikać na przyszłość
problemów z niestandardowym (lub nie
w pełni standardowym) sprzętem.
http://qa.mandrakesoft.com/twiki/bin/
view/Main/TestZilla
Mandrake 10.0 Beta1
R
ozpoczął się cykl oficjalnych tes-
tów dystrybucji Mandrake Linux
przed wydaniem wersji 10.0. Chętni
mogą juz ściągać obrazy Beta1. Co
w niej nowego? Przede wszystkim
zadomowiła się w niej na dobre
nowa seria jąder 2.6, stąd obecność
Linuksa 2.6.1 (oraz 2.4.25pre6 dla
tradycjonalistów). Obecne są również
przedwydania XFree86 4.4 i KDE 3.2
oraz świeża Mozilla 1.6. Warto zau-
ważyć przejście na bibliotekę Glibc
z obsługą NPTL (Native POSIX Threads
Library), czyli znacznie wydajniejszej
implementacji wątkowania. Powin-
no to poprawić płynność działania
systemu, tak jak w Red Hat/Fedora
Core, które jako pierwsze wdrożyło
ten mechanizm w swojej dystrybucji
ponad rok temu. Z punktu widze-
nia użytkownika ważne są zmiany
w kwestiach administracyjnych: poza
przerobieniem Centrum Sterowania
Mandrake pojawiło się także zupeł-
nie nowe narzędzie MDKwebmin,
które pozwala na lokalną konfigu-
rację systemu przez interfejs WWW.
Zmieniła się struktura menu – przy jej
obecnym układzie zostały uwzględ-
nione uwagi użytkowników. Niestety,
w wersji Beta1 nie działa USB (pod-
czas instalacji) oraz akceleracja 3D. To
cena, którą płaci się za korzystanie
z nieukończonego systemu, ale jeszcze
w fazie Preview serwis OSNews opu-
blikował bardzo przychylną recenzję
tej przygotowywanej właśnie wersji.
http://www.mandrakelinux.com/pl/
100beta.php3
http://linuxnews.pl/_news/2002/09/
23/_long/1484.html
http://www.osnews.com/story.php?
news_id=5577
PCLinuxOS 2k4 Preview5
T
exstar, niegdyś najbardziej znany
samodzielny autor pakietów do
Mandrake, obecnie zajmuje się głów-
nie przygotowywaniem swojej własnej
dystrybucji bazującej na Mandrake
Linux. PCLinuxOS 2k4 nie jest jesz-
cze ukończony, ale do pobrania jest
kolejne wydanie migawkowe (Pre-
view 5, czyli 1.20.04). Najważniejszą
nowością jest rezygnacja z URPMI,
systemu zarządzania repozytoriami
pakietów, stworzonego i rozwijanego
przez Mandrake, oraz przejście na
tradycyjny debianowy apt-get z gra-
ficzną nakładką Synaptic. Sam format
pakietów nie ulegnie zmianie – nadal
będzie to RPM, jednak konieczne
będzie przejście do nowego opisu
repozytoriów, co oczywiście przyspo-
rzy nieco kłopotów, gdy ktoś zechce
korzystać z dotychczasowych zbiorów.
Poprawiono spory błąd w instalatorze
dyskowym (PCLinuxOS jest dystrybu-
cją działającą wprost z płytki CD-ROM,
instalacja jest opcjonalna), a w najbliż-
szym czasie ma on stać się znacznie
bogatszy w możliwości. W Preview 5
zaktualizowane zostało wiele aplikacji,
pojawiły się również nowe sterow-
niki do wielofunkcyjnych drukarek
i tzw. winmodemów. Użytkownicy
laptopów mogą sprawdzić wstępnie
dodane wykrywanie kart PCMCIA, na-
tomiast posiadacze popularnych kart
graficznych nVidii oraz ATI doczekali
się ich automatycznej konfiguracji. Od
poprzedniego wydania strona dystry-
bucji wyszła ze stadium prowizorki
i zawiera wszystkie niezbędne infor-
macje. Obecnie Texstar skupia się na
poprawie funkcjonalności i dystrybu-
cja jest tylko w wersji anglojęzycznej.
http://www.pclinuxonline.com/pclos/
W kolejnych wersjach instalator dyskowy
PCLinuxOS jest coraz lepszy
mandrake
dział prowadzi: Daniel Koć
rpm@linux.com.pl
dział prowadzi: Robert Główczyński
15
www.linux.com.pl
aurox@linux.com.pl
aktualności
Gdzie znajdziecie Auroksa?
W poprzednim numerze magazynu
Linux+ został zamieszczony apel
o zgłaszanie miejsc (szkół, firm,
instytucji), w których wykorzystywany
jest Aurox. Dotychczas informacje
o korzystaniu z naszego systemu
nadesłały m. in.:
• Centrum Studiów Bałtyckich, Ełk;
• FHU Megabajt;
• Zespół Szkół Ponadgimnazjalnych
nr 1, Piła;
• Gimnazjum nr 56, Poznań;
• Zespół Szkół Prywatnych, Wrocław;
• Biuro Platformy Obywatelskiej,
Zawiercie;
• LO, Drohiczyn;
• Katedra Zoologii i Ekologii KUL,
Lublin;
• Kawiarenka internetowa, Bydgoszcz;
Dariusz Pokorski (linx@neostrada.pl);
• Gminne Centrum Informacji, Nowe
Skalmierzyce.
Autorzy systemu proszą o zgłaszanie
swoich firm, szkół i instytucji publicznych
oraz o nadsyłanie informacji, w których
kawiarenkach internetowych wykorzy-
stywany jest Aurox. Informacje można
przesyłać na adres: jgorny@aurox.org.
Warto zaznaczyć w nich, w jaki sposób
jest wykorzystywany Aurox. Załączo-
ne adresy stron internetowych zostaną
umieszczone na stronie Auroksa.
Aurox na Komputer Expo
Podczas targów Komputer Expo 2004
(21-24 stycznia) na stoisku Aurox Sp.
z o.o. prezentowana była wersja 9.2
dystrybucji Aurox. Komputer wraz
z monitorem ciekłokrystalicznym 20"
do prezentacji został przekazany
przez firmę MAXDATA Sp. z o.o. Na
stoisku można było wypróbować
programy z dystrybucji, zobaczyć
różne środowiska graficzne (GNOME,
KDE, Fluxbox), pograć w Pingusa,
zobaczyć grę przeznaczoną dla
Windows, a uruchamianą przy pomocy
Wine'a, oraz porozmawiać z osobami
tworzącymi dystrybucję.
Na zakończenie targów, w sobotę 24
stycznia, odbyła się kolejna edycja WIL
– Wielkiej Imprezy Linuksowej. Na
WIL-u wystąpił szef dystrybucji, Jarosław
Górny, w przystępny sposób opisując
zalety Auroksa i możliwości systemu
Linux.
Licznik Auroksa: 7000
Na początku lutego liczba
zarejestrowanych użytkowników
systemu przekroczyła 7000.
Aurox dla Edukacji
P
ierwsze szkolenie dla instrukto-
rów Auroksa odbyło się 31 stycz-
nia w siedzibie spółki Aurox. Głów-
nym patronem, a zarazem sponsorem
imprezy, jest firma AMD. Celem tego
cyklu szkoleń jest dostarczenie mate-
riałów dydaktycznych oraz przygoto-
wanie osób, które będą mogły prowa-
dzić szkolenia dla nauczycieli i admi-
nistratorów szkolnych sieci kompute-
rowych.
W czasie trwających ponad sześć
godzin warsztatów uczestnicy mogli
w praktyce przećwiczyć zagadnienia
związane z instalacją systemu, kon-
figuracją i zarządzaniem usługami
sieciowymi. Tematyka szkolenia obej-
mowała między innymi: konfigura-
cję firewalla, wykorzystanie serwera
Samba, konfigurację serwera WWW
Apache, dzielenie pasma, serwer po-
czty elektronicznej Sendmail i wiele
innych.
W warsztatach wzięło udział 16
osób, pracowników szkół i placówek
oświatowych z całej Polski. Uczestni-
cy otrzymali dyplomy „Instruktor Au-
roksa” oraz komplet materiałów.
Kolejne szkolenia odbywają się
co dwa tygodnie, w soboty. Udział w
kursach jest bezpłatny, a uczestnika-
mi są pracownicy oświaty. Planujemy,
że dzięki pomocy sponsorów uda się
przeprowadzić 10-15 takich warszta-
tów. Jeśli Wasza szkoła jest zaintereso-
wana udziałem w naszej akcji, infor-
macje znajdziecie na stronie Auroksa.
http://www.aurox.org/
Szkolenia instruktorów Auroksa
to praktyczne poznawanie tajników
konfiguracji systemu
Aurox z Yumem
R
epozytorium pakietów testowych
Auroksa 9.3 zostało uzupełnione
o pliki potrzebne do korzystania z na-
rzędzia do zdalnej instalacji Yum.
6 lutego repozytorium uzyskało
status wersji Beta (Aurox 9.2.92) – za-
wiera już kompletny zestaw aplikacji
znajdujących się w dystrybucji. Pod-
stawą systemu są pakiety z Fedora
Core 1 z jądrem 2.4.22-1.2149.nptl z 7
stycznia 2004.
Aby pobierać programy z repo-
zytorium, należy zainstalować pakiet
yum z posiadanej wersji Auroksa (9.1
lub 9.2) i zmodyfikować plik konfigu-
racyjny, wpisując ścieżkę do jednego
z serwerów lustrzanych:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=aurox-release
tolerant=1
exactarch=1
[base]
name=Aurox Linux Beta PL
baseurl=ftp://ftp.tuwien.ac.at/pub/
linux/aurox/9.2.92/PL/packages/
base/RPMS
Aby zainstalować wybrany pakiet
(pakiety) z dystrybucji, aktualizujemy
najpierw samego yuma:
yum update yum
a następnie instalujemy pakiet (zo-
staną zainstalowane również pakiety
wymagane; program przed samą
instalacją wyświetli listę pakietów
do instalacji lub aktualizacji i zapyta
o potwierdzenie). Aktualizowanie
całej dystrybucji przy pomocy yuma
(polecenie
yum upgrade
) nie jest za-
lecane.
marzec 2004
16
aktualności
gnome
Multimedia jak na jabłuszku
Najprawdopodobniej w GNOME 2.6
po raz pierwszy zobaczymy oficjalnie
program Rhythmbox (za jego
obecnością wśród standardowych
pakietów GNOME głosowała między
innymi większość użytkowników
witryny gnomedesktop.org). Jest to
aplikacja służąca do odtwarzania
muzyki w oparciu o rozmaite źródła
danych, jakimi mogą być rozbudowane
kolekcje płyt i utworów zapisanych
w plikach MP3 czy OGG, jak również
radia internetowe. Jak przyznają sami
autorzy, inspirację dla nich stanowił
program iTunes firmy Apple i okazuje
się, że na inspiracji się nie skończyło:
Rhythmbox został właśnie rozszerzony
o obsługę urządzeń iPod – przenośnych
odtwarzaczy muzyki sprzedawanych
przez Apple’a. Sposób dostępu do
utworów, które przechowuje iPod,
nie różni się dla użytkownika niczym
w stosunku do przechowywanych
na twardym dysku, co niewątpliwe
przekona niejedną osobę, że system
Linux również nadaje się do zastosowań
multimedialnych.
http://www.rhythmbox.org/
Kolejny kandydat do biura
Przed kilkoma miesiącami
informowaliśmy o utracie wsparcia
komercyjnego dla aplikacji MrProject,
służącej do planowania i śledzenia
postępów projektów. Od tego
czasu w projekcie zaszły zasadnicze
zmiany: zmieniono jego nazwę
na Planner, przeniesiono witrynę
domową, umieszczono kod programu
w oficjalnym repozytorium GNOME
CVS. Jednocześnie koordynator projektu
(Richard Hult) ustalił precyzyjną listę
zadań, jakie muszą zostać wykonane
przed wydaniem wersji 1.0 programu,
przy czym najważniejszym z nich
jest zapamiętywanie historii operacji
i możliwość ich wycofywania.
Oceniając obecne postępy prac można
przewidywać, że za kilka miesięcy
Planner zostanie oficjalnie wydany jako
składnik GNOME Office 1.2.
http://planner.imendio.org/
Gdy jedna rybka to za mało
Nie od dziś wiadomo, że właściciele
komputerów uwielbiają zmuszać swoje
maszyny do robienia rzeczy zupełnie
bezużytecznych. Coraz bardziej
wymyślne wygaszacze ekranu są
tego najlepszym przykładem, bowiem
wygaszanie czegokolwiek jest chyba
ostatnią rzeczą, jakiej się od nich
oczekuje. Ponieważ wygaszacze zajmują
niestety całą powierzchnię ekranu,
podczas normalnej pracy zadowalać się
musimy uruchamianiem ich mniejszych
Co to za plik?
N
iejeden z użytkowników GNO-
ME intensywnie korzystający
z Nautilusa zastanawiał się zapewne,
dlaczego nie można w prosty sposób
(analogiczny np. do stosowanego
w systemie Windows) powiązać plików
o pewnym rozszerzeniu z wybranym
programem. Zamiast tego konieczne
jest zdefiniowanie nowego typu MIME,
jego opisanie i dopiero przypisanie mu
aplikacji. Wynika to z faktu, że typy
MIME stanowią w GNOME podstawę
opisywania typów plików, a co naj-
ważniejsze, podstawą do określenia
typu pliku jest nie rozszerzenie jego
nazwy, ale sama zawartość. Dzięki
temu, jeśli zmienimy nazwę pliku MP3
z track1.mp3 na track1.xyz, to Nautilus
nadal będzie poprawnie rozpoznawał
typ pliku i przy jego otwieraniu uru-
chomi odtwarzacz muzyczny.
Niestety, podejście takie rodzi
szereg problemów, o czym przekonał
się Fabio Gomes. Po utworzeniu pliku
tekstowego (o nazwie example.txt)
przekonał się, że Nautilus rozpoznaje
go jako plik w formacie HTML i nie
umożliwia jego otwarcia przy użyciu
żadnego edytora tekstu, oferując do
wyboru jedynie Mozillę oraz OpenOf-
fice.org. Problem wynikał z faktu, że
pierwszy wiersz pliku zawierał napis
„<header>”. Po zgłoszeniu problemu (w
ostrych słowach) na liście dyskusyjnej
Nautilusa, okazało się, że również inne
osoby spotykały się z podobnymi pro-
blemami, np. jako pliki MP3 były roz-
poznawane pliki zupełnie niezwiązane
z muzyką. Fabio domagał się rezygna-
cji z analizowania treści plików przy
rozpoznawaniu ich typów i oparcie się
wyłącznie na rozszerzeniach ich nazw.
Jednocześnie przeprowadził prosty test
wydajnościowy: zmienił kod bibliote-
ki GNOME-VFS tak, aby typ pliku
ustalany był wyłącznie na podstawie
rozszerzenia, a następnie zmierzył czas
odczytywania przez Nautilusa folderu
zawierającego ok. 250 plików. Okaza-
ło się, że o ile po modyfikacji folder
wyświetlany był praktycznie natych-
miast (w czasie krótszym od sekundy),
to przy niezmienionym kodzie biblio-
teki, operacja ta trwała 21 sekund!
Ogromne opóźnienie wynika z faktu,
że odczytanie początkowych bajtów
każdego pliku w folderze (w celu usta-
lenia typu zawartości) wymaga wielu
przemieszczeń głowicy po twardym
dysku, co łatwo kumuluje się do wielu
sekund i nie sposób tego przyspieszyć
modyfikacjami w kodzie aplikacji.
Choć wiele osób nadal upierało
się przy rozpoznawaniu na podstawie
treści plików, argumentując, że pliki
pobierane z Internetu mają często
niepoprawne nazwy, to głos decydu-
jący miał Alexander Larsson – opiekun
projektu. Kierując się głównie danymi
na temat wydajności obu rozwiązań,
zdecydował on, że w typowych przy-
padkach użycia, takich jak wyświe-
tlanie zawartości folderu, zawartość
pliku będzie odczytywana dopiero
wówczas, gdy nie jest możliwe usta-
lenie jego typu na podstawie nazwy.
Wyjątek stanowić będą operacje, przy
wykonywaniu których typ pliku jest
szczególnie ważny, np. otwieranie
pliku lub wyświetlanie jego właści-
wości. Dodatkowo w tych sytuacjach
będzie możliwe samodzielne określe-
nie typu pliku. Odpowiednie popraw-
ki zostały już wprowadzone do kodu
programu
http://lists.gnome.org/archives/
nautilus-list/2003-December/
msg00255.html
http://lists.gnome.org/archives/
nautilus-list/2004-January/
msg00080.html
Zmiana rozszerzenia pliku nie wpływa
obecnie na rozpoznanie jego typu
– wkrótce się to zmieni
dział prowadzi: Zbigniew Chyla
17
www.linux.com.pl
gnome@linux.com.pl
odpowiedników. W przypadku
standardowej dystrybucji GNOME,
możemy na panelu umieścić aplet
z rybką Wandą, która regularnie
będzie nas odciągać od śmiertelnie
poważnej pracy delikatnym ruchami
swego rybiego ciałka. Osoby, którym
jedna rybka nie wystarcza, muszą
jednak koniecznie zainstalować
Akwarium Shermana (Sherman's
aquarium). Jest to program, który
może być uruchamiany zarówno
w roli apletu panelu GNOME, jak
i pełnowartościowego wygaszacza
ekranu. Nadchodząca wersja 3.0
(wydane już zostały dwie wersje
„pre”) potrafi wyświetlać akwarium,
w którym żyją rozmaite rybki i inne
żyjątka. Możliwe jest też umieszczenie
w jego wnętrzu dodatkowych
elementów, np. termometru
ukazującego aktualne obciążenie
procesora.
http://aquariumapplet.sourceforge.net/
Ratunek przed windowsową
pomocą
Zmorą niejednego użytkownika
Linuksa jest występująca czasem
konieczność wymiany danych
z osobami, które korzystają z systemu
operacyjnego oraz narzędzi firmy
Microsoft. Jednym z formatów, które
sprawiały dotychczas problemy, był
CHM – zapisany w pojedynczym
pliku zestaw dokumentacji w języku
HTML. Na szczęście sytuacja uległa
właśnie znaczącej poprawie – została
wydana wersja 0.7 napisanego w
Pythonie programu GnoCHM, który
skutecznie potrafi nie tylko wyświetlić
zawartość pliku CHM, ale pozwala
także na tworzenie pozycji Ulubionych
z odwołaniami do wybranych
miejsc w dokumencie oraz pełne
przeszukiwanie jego treści.
http://gnochm.sourceforge.net/
Kofiguracja PLD
po gnomowemu
Na początku lutego została wydana
wersja 0.32 znanego już programu
GNOME System Tools. Oprócz
szeregu poprawionych błędów,
oferuje ona interesującą nowość, która
zainteresować może sporą grupę
użytkowników Linuksa w Polsce:
do obsługiwanych przez aplikację
systemów operacyjnych dołączył
PLD Linux (w wersjach 1.1 i 1.99).
Zawdzięczamy to Grzegorzowi
Goławskiemu, który przygotował
odpowiednie poprawki.
ftp://ftp.gnome.org/pub/GNOME/
sources/gnome-system-tools/0.32/
Moda na nagrody
Z
akończyła się pierwsza edycja kon-
kursu, ogłoszonego przed dwoma
miesiącami przez Fundację GNOME,
polegającego na integrowaniu ze
sobą rozmaitych składników środo-
wiska GNOME – kilkunastu autorów
zostało już wynagrodzonych za swoją
pracę nagrodami pieniężnymi, a kolej-
na grupa ma czas na przedstawienie
efektów do 19 kwietnia. Okazało się
jednocześnie, że pomysł polegający
na oferowaniu kwot pieniężnych za
wykonanie pewnych prac w projek-
tach Free Software został podchwy-
cony przez innych. Mark Shuttlewort
(znany głównie jako uczestnik lotu na
Międzynarodową Stację Kosmiczną w
2002 roku) w ramach działań swojej
fundacji zaoferował łącznie 100.000
dolarów za wykonanie szeregu zadań
obejmujących m.in. pełną obsłu-
gę skryptów tworzonych w Pythonie
przez takie aplikacje, jak GIMP, Gnu-
meric, AbiWord czy OpenOffice.org.
Niewielkie projekty też mają coś
do zaoferowania – auorzy programu
Gramps, służącego do tworzenia
i analizy drzew genealogicznych osób,
zaoferowali 100 dolarów w zamian za
rozszerzenie go o obsługę wydruku
za pomocą podsystemu gnome-print.
Warto przy tej okazji przypomnieć, że
w ramach projektu AbiWord, już od
dłuższego czasu, okresowo przydzie-
lane są drobne nagrody pieniężne dla
autorów najbardziej wartościowych
poprawek, choć w tym przypadku
nie są z góry wyznaczane zadania do
wykonania.
Oferowanie nagród za wykonanie
zadań wydaje się być ze wszech miar
korzystne dla wszystkich osób zwią-
zanych z Wolnym Oprogramowaniem:
użytkownicy mogą uzyskać pożąda-
ne cechy programów oferując za nie
zazwyczaj niewielkie kwoty pienięż-
ne, do projektów przyłączają się nowe
osoby zachęcone nagrodami, dotych-
czasowi programiści są silniej moty-
wowani do wykonania nieco mniej
pasjonujących zadań.
http://www.gnome.org/bounties/
http://www.markshuttleworth.com/
bounty.html
http://gramps.sourceforge.net/phpwiki/
index.php/GnomePrintBounty
Integracja Evolution i Gaima została już
zakończona
Kopiuj śmiało
J
edną z bolączek trapiących od
wielu lat użytkowników systemu
X Window jest dość nieoczekiwane
zachowanie programów przy kopio-
waniu, a następnie wklejaniu frag-
mentów tekstu lub innych zasobów.
Rozwiązanie tego problemu stanowi
niezwykle prosty (około 300 wierszy
kodu w języku C) i działający niepo-
strzeżenie w tle program o niezbyt
oryginalnej nazwie „Demon schow-
ka GNOME” (GNOME Clipboard
Daemon). Po uruchomieniu pełni on
funkcje prawdziwego schowka – śle-
dzi wszystkie zmiany źródła kopio-
wanych danych, a następnie tworzy
ich prywatne kopie. Ewentualne
zakończenie działania programu, któ-
ry posłużył za źródło danych, nie
ma w tym przypadku znaczenia,
gdyż udostępniać je będzie demon
schowka. Niestety, wygląda na to, że
program nie znajdzie się w standar-
dowej dystrybucji GNOME – może
powodować sporą zajętość pamięci
oraz spowolnienie działania progra-
mów, które oferują kopiowane dane
w wielu formatach (np. Gnumeric).
http://members.chello.nl/~h.lai/
gnome-clipboard-daemon/
index.htmlv
marzec 2004
18
aktualności
kde
KDE mistrzem
KDE jest brane pod uwagę w wielu
konkursach jako jedno z najlepszych
środowisk graficznych. Jednak to od
głosujących najczęściej zależy, czy
wygra w swojej kategorii, czy nie.
KDE wygrało plebiscyt na najlepsze
środowisko graficzne roku 2003 w
serwisie LinuxQuestions.org. Projekt
uzyskał 55% głosów, natomiast edytor
Quanta zwyciężył w swojej konkurencji
zdobywając aż 49% poparcia.
W konkursie serwisu LinuxWorld
Magazine – 2003 Readers' Choice
Awards nagrodzono KDE za wygraną
w kategorii Best Linux Desktop Manager,
natomiast KDevelop zwyciężył
w kategorii Best Development Tool.
http://www.linuxworld.com/story/
39231.htm
http://www.linuxquestions.org/questions/
forumdisplay.php?forumid=37
Kolejne stabilne KDE – 3.2
Po długich oczekiwaniach
użytkowników, po wydaniu dwóch
wersji Beta i jednego Release Candidate,
z zaledwie jednodniowym opóźnieniem
zostało wydane kolejne stabilne KDE
– wersja oznaczona numerkiem 3.2.
W poprzednim numerze opisałem
ważniejsze zmiany w stosunku do
wersji 3.1 – recenzując wydanie Beta2.
Dla przypomnienia jednak, pokrótce:
nowe KDE jest przede wszystkim
szybsze i bardziej stabilne (głównie
dzięki szybkiemu rozwojowi biblioteki
Qt), posiada wiele nowych programów
w standardowym wydaniu (długo
oczekiwany multikomunikator Kopete,
KWallet do zarządzania hasłami, Kontact
– kombajn do pracy grupowej – klon
Evolution, KSVG – do przeglądania
grafiki w formacie SVG oraz wiele
innych) , uporządkowano interfejs
całości środowiska (np. Centrum
Sterowania), zmieniono domyślne
tematy (zarówno styl, jak i dekoracje
okien to temat o nazwie Plastik), przez
co środowisko sprawia wrażenie
(i takie jest!) o wiele lżejszego od wersji
poprzednich, poprawiono tysiące
błędów, które zostały wykryte głównie
przez użytkowników. Nowe KDE
– można by rzec – rozpoczyna nową
erę desktopów linuksowych – szybkich,
funkcjonalnych i łatwych w obsłudze.
Pozostaje nam czekać na kolejne
wydanie, które na pewno zaskoczy nas
wieloma nowinkami i usprawnieniami.
http://www.kde.org/announcements/
announce-3.2.php
Kexi 0.1beta2
Po kilku miesiącach i po wielu zmianach
planów rozwoju, ekipa deweloperów
programu o tajemniczej nazwie Kexi
GTK-Qt, QtGTK – ciąg dalszy integracji
O
statnie tygodnie w temacie
rozwoju poszczególnych gałęzi
graficznych środowisk dla systemów
uniksowych należą do programistów,
którzy bardzo chcą ujednolicenia
interfejsów GTK i Qt. Miesiąc temu
pisałem o specjalnych łatach dla Open-
Office.org, które upodabniają ten
zestaw biurowy do interfejsu aplikacji
dla KDE. Tym razem sprawy zaszły
o wiele dalej. Już wiele miesięcy temu
użytkownicy KDE marzyli o możliwo-
ści ujednolicenia wyglądu wszystkich
programów, których używali na co
dzień. Dość długo kazano nam czekać
na spełnienie tych „marzeń”.
GTK-Qt to temat dla GTK+ (1.2 i
2.X), który za pomocą odpowiednich
mechanizmów pobiera styl widgetów
z aktualnie używanego tematu Qt.
Można zatem twierdzić, że gdyby pro-
jekt ten powstał wcześniej, nie mieli-
byśmy takich tematów dla GTK, jak
Plastig (upodabniający do Plastika,
domyślnego w KDE-3.2) czy Geramik
(upodabniał aplikacje do tych rodem
z KDE 3.1, gdzie domyślnym stylem
był Keramik). Stworzone zostały one
jako zupełnie osobne projekty, na
które sporo trzeba było czekać. Teraz
natomiast otworzyła się przed użyt-
kownikami możliwość upodobnie-
nia każdego stylu w GTK do stylu Qt
– właśnie za pomocą GTK-Qt. Projekt
ten jest w bardzo wczesnym stadium
rozwoju i niektóre programy mogą
nadal nie działać, ale jeśli tempo roz-
woju zostanie utrzymane, to za kilka
miesięcy uruchomione obok siebie
programy dla GTK+ i Qt nie będą się
niczym różniły.
Drugim projektem integrującym
oba interfejsy jest biblioteka QtGTK,
która łączy obsługę zdarzeń Qt
w obsłudze zdarzeń glib („sercu”
GTK). Umożliwia to używanie okien
dialogowych, DCOP, KDE IO i in-
nych elementów typowych dla KDE
w aplikacjach GTK+, tak jakby było
to robione natywnie. Od teraz każda
aplikacja GTK+ może bez problemu
„wtopić” się technicznie w KDE.
http://www.kde-look.org/content/
show.php?content=9714
http://developer.kde.org/
documentation/tutorials/qtgtk/
main.html
Okno wyboru pliku z KDE zagnieżdżone
w BMP (Beep Media Player)
KDE PIM a Kontact
K
DE PIM to rozbudowany pakiet
programów, które służą do or-
ganizacji informacji osobistej (PIM
– Personal Information Management)
i pracy grupowej. W jego skład wcho-
dzą między innymi aplikacje do obsłu-
gi poczty elektronicznej (zna-ny nam
KMail), książki adresowej (KAddress-
book), planowania zajęć (KOrganizer)
oraz synchronizacji z komputerkami
PDA (KPilot) czy zarządzania „żółty-
mi karteczkami” (KNotes). W KDE 3.2
zostanie dołączony Kontact – apli-
kacja-kombajn do pracy grupowej,
łącząca w sobie funkcje innych apli-
kacji KDE PIM.
http://www.kontact.org/
Kontact – centrum pracy grupowej
dział prowadzi: Paweł Biliński
19
www.linux.com.pl
kde@linux.com.pl
wypuściła wersję 0.1 Beta 2 swojego
projektu, zintegrowanego środowiska
zarządzania bazami danych dla
KDE. Jest to wczesna wersja dla
zainteresowanych deweloperów
i użytkowników rządnych przygód.
Wśród zmian można wyróżnić
między innymi zintegrowany silnik
kexisql i poprawiony interfejs. W tym
roku planowane jest wypuszczenie
pełnej wersji Kexi. Od momentu
wydania KOffice 1.3 jest on oficjalnym
składnikiem tego zestawu biurowego.
http://www.kexi-project.org/
KOffice 1.3
Po kilkukrotnym przekładaniu
dnia premiery wersji 1.3, w końcu
została wydana stabilna wersja
sztandarowego pakietu biurowego
dla KDE – KOffice. Z szeregu nowych
usprawnień, z pewnością warto
wymienić przede wszystkim o filtrach
importu i eksportu plików. Pakiet
w pełni obsługuje format plików
OpenOffice.org, a także lepiej niż
w poprzedniej wersji radzi sobie
z formatem MS Office. Sam KWord
potrafi już importować PDF-y.
Z dziesięciu programów składających
się na KOffice warto zwrócić uwagę
na dwa programy, nie mające
odpowiedników w innych znanych
mi pakietach, dostępnych na platformy
uniksowe: Kugar (program do
generowania raportów,
z wyraźnym naciskiem na
użytkownika korporacyjnego) oraz
Kivio (Visio-podobna aplikacja do
tworzenia schematów blokowych).
Należy również dodać, że Kexi,
program do zarządzania bazami
danych, jest od tego wydania
standardowym składnikiem KOffice.
http://www.koffice.org/
Jabber Support System
Kilka tygodni temu serwis KDE.pl
uruchomił nową usługę związaną ze
wsparciem dla użytkownika. Nazywa
się ona „Jabber Support System” i jej
głównym założeniem jest pomoc
użytkownikom KDE, którzy posiadają
własne konta w systemie Jabber.
Wystarczy podać swój JID oraz wpisać
w formularzu jasno sformułowane
pytanie, aby wkrótce otrzymać
odpowiedź. Jest to tzw. system
pomocy natychmiastowej, tak więc
istnieje duże prawdopodobieństwo,
że na odpowiedź nie trzeba będzie
czekać tak długo jak np. na forum
dyskusyjnym czy listach dyskusyjnych.
http://www.kde.pl/?page=about§ion
=jabbersupport
Digikam – zdjęcia, zdjęcia
W
KDE od dawna brakowało
programu do zarządzania
fotografiami z prawdziwego zdarze-
nia. Oprócz oferujących standardowe
funkcje: Konquerora w roli przeglą-
darki zdjęć, czy KView, do tej pory
nie było nic lepszego dostępnego
dla użytkowników KDE. Zmienia
się to jednak z powodu stworzenia
programu o nazwie Digikam. Jeszcze
miesiąc temu, gdy była dostępna jedy-
nie wersja 0.5, program nie charakte-
ryzował się specjalnie wyszukanymi
funkcjami – był wręcz niewygodny
dla zwykłego użytkownika, ale osta-
tecznie spełniał wszystkie swoje pod-
stawowe zadania. Kilka tygodni temu,
przeglądając serwis KDE-apps.org,
natknąłem się na nową wersję Digi-
kama, oznaczoną numerkiem 0.6RC.
Odwiedziwszy stronę domową na-
tychmiast pobrałem źródła progra-
miku i po kompilacji przystąpiłem do
testowania. Byłem naprawdę bardzo
pozytywnie zaskoczony. Co nowego
w stosunku do wersji 0.5 i czym cha-
rakteryzuje się najlepszy program do
zarządzania albumami zdjęć dla KDE?
Oto kilka z najważniejszych właści-
wości programu:
• tworzenie albumów, których naz-
wy są odzwierciedleniem nazwy
katalogu ze zdjęciami na dysku;
• możliwość ustalenia daty powsta-
nia albumu oraz przydzielenia do
określonych wcześniej kategorii
– dzięki temu mamy do wyboru
dwa sposoby sortowania albu-
mów;
• każde otwierane zdjęcie może być
obrobione z poziomu Digikam
w zakresie: obracania, zmiany
jasności i kontrasu czy gammy,
oraz konwersji do czerni i bieli;
• możliwość dodawania komenta-
rzy do zdjęć;
• obsługa informacji na temat
plików JPEG z wykorzystaniem
biblioteki libexif ;
• obsługa wtyczek – do tej pory
powstały: archiwizacja albumów
na płytach (z wykorzystaniem
K3b), tworzenie galerii zdjęć
w HTML-u, tworzenie animacji
z albumu, którą możemy następ-
nie zapisać w postaci pliku
MPEG, kreator wydruków zdjęć,
konwerter, obsługa skanowania
obrazów z wykorzystaniem sane,
slideshow;
• wysyłanie zdjęć e-mailem za po-
mocą programu KMail;
• możliwość ustawienia danego
zdjęcia jako tapety;
• komunikacja z aparatem cyfro-
wym za pomocą Libgphoto2
i GPhoto2.
Program charakteryzuje się również
całkiem niezłą stabilnością i szybko-
ścią działania. W momencie pisania
tego artykułu, dostępna była wersja
0.6RC2 – miejmy nadzieję, że pro-
gram szybko osiągnie status stabilne-
go, a wtyczek do niego będzie cały
czas przybywać – otrzymamy wów-
czas jedną z najlepszych tego rodzaju
aplikacji dla Linuksa, a na pewno naj-
lepszą dla samego KDE.
Uwaga: aby móc skompilować naj-
nowszą wersję wersję programu (nie
ma dostępnych oficjalnych pakietów
binarnych dla poszczególnych dys-
trybucji), musimy mieć zainstalowa-
ne dodatkowo w systemie: GPhoto2,
Libgphoto2, Libexif, natomiast wtyczki
wymagają biblioteki Imlib.
http:/digikam.sourceforge.net/
http://kde-apps.org/content/
show.php?content=9957
Przykładowe okno Digikam w akcji
marzec 2004
20
linuxfresh
KDE 3.2.0
T
emat „Linux na desktopie” od bardzo długiego
czasu wywołuje dyskusje zwolenników takiego
rozwiązania i jego przeciwników. Stabilność
i bezpieczeństwo Linuksa na stacji roboczej?
Czemu nie. Wszakże nie każdy z nas jest posiadaczem
serwera, na którym Linux czuje się jak ryba w wodzie. Ku
uciesze zwolenników Linuksa na komputerach klasy desk-
top, ukazała się nowa wersja bodajże najpopularniejszego
graficznego środowiska pracy dla systemów Linux i UNIX.
Mowa oczywiście o KDE 3.2. Poprzednie edycje tego środo-
wiska graficznego przyzwyczaiły nas do bardzo wygodnej
obsługi, cieszącej oko dopracowanej grafiki i dużej wygody
w przystosowywaniu do własnych potrzeb i upodobań. Co
nowego ma nam do zaoferowania nowa wersja? Bardzo
wiele. Efekt ponad roku pracy programistów z całego świata
widać już przy pierwszym uruchomieniu środowiska. Znacz-
nie wzrosła jego szybkość, bardzo dobre wrażenie sprawia
nowe menu. Pojawiło się bardzo wiele nowych aplikacji
(m.in. rewelacyjny KWallet, o którym później), a wszystkie
obecne wcześniej pozbyły się wielu dostrzeżonych błędów.
Szczególnej uwagi wymagają następujące zmiany:
• znacznie poprawiona szybkość działania;
• nowe Centrum Sterowania;
• ulepszenia w Konsole;
• Krandtray – szybka zmiana rozdzielczości i odświeża-
nia;
• nowa wersja K3B, najlepszego programu do nagrywa-
nia płyt pod Linuksem;
• Kopete – flagowy komunikator w KDE 3.2, obsługujący
m.in. Sieci Jabber, ICQ, AIM;
• wsparcie dla Xineramy;
• Quanta+ z zaczątkami WYSIWYG;
• lepsze wsparcie dla standardów FreeDesktop.org
i W3C;
• nowe wersje dotychczasowych aplikacji i wiele nowych
(JuK, Kopete, KWallet, Kontact, KGPG, KIG, KSVG,
KMag, KMouseTool, KMouth, KGoldRunner);
• znacznie poprawiona przeglądarka WWW Konqueror;
• bardziej przejrzyste, nowe menu;
• nowy temat graficzny – Plastik;
• przeglądarka plików PDF bazująca na XPDF (KPDF);
• moduł do korekcji gamma (KGamma);
• program do konfiguracji i monitoringu WiFi (KWiFiMa-
nager);
• analizator mowy (KMouth).
Ciekawą aplikacją jest wspomniany wcześniej KWallet. Jest
to oprogramowanie, które zarządza hasłami, wprowadza-
nymi przez nas w różnej formie. Wyobraźmy sobie taką
sytuację. Mamy konto w banku internetowym. Logując
się, wybieramy zapamiętanie wpisanego identyfikatora/
hasła. Jeśli z naszego komputera skorzysta inna osoba,
to po wpisaniu adresu serwisu bankowego będzie ona
mogła bez większych problemów zalogować się na nasze
konto, ponieważ potrzebne ku temu dane zostaną od razu
wprowadzone. A tego przecież nie chcemy. KWallet oferuje
dodatkową ochronę zapamiętywanych przez oprogramo-
wanie haseł. Najpierw je szyfruje, a następnie przy wejściu
na stronę, na której zapamiętaliśmy identyfikator/hasło,
wyświetli się nam okienko z pytaniem o hasło do bazy
haseł zapamiętanych w programie KWallet. Takie hasło
znamy tylko my.
Jak zaopatrzyć się w najnowszą edycję KDE? Na serwe-
rach FTP projektu dostępne są zarówno pakiety źródłowe,
jak i binarne dla najpopularniejszych dystrybucji, m.in.
Debiana, Fedory, Red Hata, PLD, Slackware i SuSE.
Warto w tym miejscu wspomnieć, że Linux+ Live, który
znajduje się na płycie CD dołączonej do tego magazynu
Linux+, jest oparty właśnie na KDE 3.2.0, więc można
zobaczyć możliwości nowego środowiska bez potrzeby
jego instalacji. Edycja KDE obecna na Linux+ Live różni się
nieco od tej, które możemy pobrać ze strony projektu KDE.
Różnice wynikają głównie z ułożenia menu i identycznych
ikon oznaczających w nim dane kategorie.
Dzięki spójnej budowie, ogromnej ilości dodatkowych
aplikacji i prostemu API, KDE rośnie w siłę. W obecnej fazie
rozwoju można z czystym sumieniem polecić to środowisko
graficzne każdemu obecnemu/przyszłemu użytkownikowi
Linuksa. Polecamy.
http://www.kde.org/
KDE 3.2.0 w pełnej krasie
21
www.linux.com.pl
fresh@linux.com.pl
L
inux w charakterze środowiska pracy w biurze?
Jak najbardziej. Pakietów biurowych na Linuk-
sie jest naprawdę bardzo wiele. Wspomnieć
w tym miejscu należy chociażby o OpenOffice.org,
Hancom Office czy omawianym tutaj KOffice. Niedawno
swoją premierę miała wersja 1.3 tego ostatniego pakietu
biurowego. Autorzy zapowiadali rewolucyjne zmiany, więk-
szą prędkość działania, usunięcie wielu błędów. Już w tej
chwili mogę powiedzieć, że rewolucji co prawda nie ma,
ale dokonano co najmniej przewrotu pałacowego. KOffice
składa się z następujących komponentów:
• KWord – edytor tekstu;
• KSpread – arkusz kalkulacyjny;
• KPresenter – tworzenie prezentacji;
• Kivio – tworzenie wykresów;
• Karbon14 – grafika wektorowa;
• Krita – program graficzny;
• Kugar – tworzenie raportów;
• KChart – tworzenie wykresów;
• KFormula – edytor formuł;
• Kexi – praca z bazą danych.
Jak możemy zauważyć, otrzymujemy do ręki ogromny zbiór
aplikacji biurowych. KOffice 1.3 testowałem na dystrybucji
Gentoo Linux z zainstalowanym środowiskiem graficznym
KDE 3.2. Komputerem testowym był AMD Athlon XP 2600+
z 512 MB pamięci RAM.
Co ciekawego ma nam do zaoferowania KOffice 1.3?
Skupię się w tym miejscu na wymienieniu kilku najważ-
niejszych moim zdaniem zmian, istotnych dla przeciętnego
użytkownika:
• poprawiono szybkość działania pakietu;
• dodano odczyt/zapis dokumentów w formacie Open-
Office.org Writer;
• lepsza integracja ze środowiskiem KDE;
• możliwa edycja dokumentów PDF;
• poprawione filtry importu/eksportu dokumentów
z Microsoft Word, zwłaszcza edycji 95/97;’
• możliwy eksport dokumentów do formatów LaTeX
i RTF.
Jedną z ciekawszych z wymienionych funkcji jest odczyt/
zapis dokumentów w formacie OpenOffice.org. Filtr
importu/eksportu działa nad wyraz dobrze. Nie napotka-
łem trudności przy próbie otwarcie/zapisania pliku do for-
matu OpenOffice.org Writer. Za poprawne działanie tego
filtru autorom pakietu należy się ogromny plus.
Bardzo ciekawą aplikacją, która wyróżnia KOffice 1.3
z grona innych pakietów biurowych, jest Kugar, czyli narzę-
dzie do tworzenia raportów. Takiej aplikacji wciąż brakuje
najpopularniejszemu pakietowi biurowemu Open Source,
czyli OpenOffice.org, i to właśnie dzięki niej KOffice może
zawalczyć na polu aplikacji biurowych.
KOffice to pakiet biurowy, którym z całą pewnością
warto się zainteresować. Nie bez znaczenia będzie jego pręd-
kość działania i ilość zajmowanych zasobów (uruchomiony
KWord zabiera w systemie ponad 5 razy mniej zasobów niż
OpenOffice.org Writer!). Osoby używające środowiska gra-
ficznego KDE z pewnością docenią fakt naprawdę bardzo
dobrej integracji całego środowiska z ich nowym pakietem
biurowym. Z czystym sercem mogę polecić KOffice wszyst-
kim zainteresowanym.
http://koffice.kde.org/
KOffice w pełnej krasie
KSpread podczas pracy
KOffice 1.3
marzec 2004
22
dystrybucje Linuksa
Własny Knoppix
Witold Kieraś
K
noppix to dystrybucja Linuksa, która
w ostatnim czasie zrobiła błyskotliwą karierę
i zapoczątkowała prawdziwy boom na systemy
uruchamiane bezpośrednio z płyty CD. Różne
wersje Knoppiksa służą obecnie m.in. jako podstawa do
budowania klastrów (ClusterLinux), platforma dla oprogra-
mowania medycznego (Knoppix-Med) czy narzędzie dla
naukowców zajmujących się analizą danych (Quantian).
W ślad Knoppiksa poszli m.in. twórcy dystrybucji Man-
drake, Aurox i PLD, a nawet programiści FreeBSD (projekt
FreeSBIE). Główne atuty Knoppiksa to moduł wykrywa-
nia sprzętu (oparty na Kudzu z dystrybucji Red Hat) oraz
ogromny zasób programów, który można było zgromadzić
na jednej płycie dzięki systemowi dekompresji danych
w locie, opartemu na module cloop.
Knoppix powstał jako dzieło jednego człowieka, Klausa
Knoppera, i siłą rzeczy skonfigurowany jest tak, aby przede
wszystkim zaspokoić potrzeby i cieszyć oko swojego autora.
Jak wiadomo, o gustach się nie dyskutuje, a potrzeby każdy
z nas ma inne. Już dziś Knoppix wykorzystywany jest m.in.
jako narzędzie do zaawansowanych prezentacji multime-
dialnych, a wyobraźnia ludzka jest przecież nieograniczona
i możemy sobie wymyślić zastosowania, które autorowi
nigdy nie przyszłyby do głowy. Zbudujmy zatem swojego
własnego Knoppiksa w oparciu o istniejącą wersję orygi-
nalną. W niniejszym artykule postaram się przeprowadzić
nawet mało doświadczonego użytkownika Linuksa przez
proces przekształcania Knoppiksa we własną, samodzielną
i w pełni spersonalizowaną dystrybucję uruchamianą bez-
pośrednio z płyty CD.
Przygotowania
Stworzenie własnej wersji Knoppiksa jest prostsze niż może
się to z pozoru wydawać, jednak nie znaczy to, że nie
będzie wymagało pewnego wkładu pracy – wszak nie od
razu Kraków zbudowano. Do pracy będą nam niezbędne:
• płyta z dystrybucją Knoppiksa (np. dołączona do stycz-
niowego numeru Linux+) lub obraz takiej płyty;
Jeśli mamy taką możliwość, to warto ściągnąć z Inter-
netu najnowszą wersję dystrybucji (na oficjalnej pol-
skiej stronie Knoppiksa – http://knoppix.7thguard.net/
– dowiemy się, na jakich serwerach znajdują się obrazy
płyt z tą dystrybucją).
• oddzielna pusta partycja na dysku wielkości ok. 5 GB;
Ostatecznie można wykorzystać do tego istniejącą już
partycję, np. /home, ale nie jest to zalecane – dużo
wygodniej i bezpieczniej będzie nam się pracowało na
oddzielnej pustej partycji.
• 1 GB pamięci RAM – oczywiście kości RAM nie rosną
na drzewach i większość z nas nie byłaby w stanie speł-
nić takiego wymagania, dlatego ewentualne niedobory
będziemy mogli z powodzeniem uzupełnić dodatkową
partycją swap (zajmiemy się tym pod koniec artykułu
– patrz ramka „Obszar wymiany swap”);
• (opcjonalnie) moduł jądra cloop (patrz ramka „Moduł
cloop”).
Od tej pory zakładam, że partycja, na której pracujemy, to
/mnt/robocza/ i będę się do niej odwoływał jako do par-
tycji roboczej, a jeśli Czytelnik zdecyduje się zamontować
swoją partycję w innym miejscu, to przy wykonywaniu
większości poleceń powinien pamiętać o odpowiednim
zmodyfikowaniu ścieżek. Dobrze jest też zapamiętać
nazwę partycji, np. pierwsza partycja na drugim dysku
w linuksowym systemie plików oznaczona będzie jako
/dev/hdb1/. Informacje o tym uzyskamy za pomocą pole-
cenia df. W zależności od tego, czy korzystamy z nagra-
nej płyty czy z obrazu płyty na dysku, różnić się będzie
ścieżka do katalogów oryginalnego Knoppiksa w naszym
O autorze:
Autor jest studentem Uniwersytetu Warszawskiego. Od
dwóch lat wykorzystuje Linuksa do mniej lub bardziej kon-
wencjonalnych celów.
Kontakt z autorem: autorzy@linux.com.pl.
Rysunek 1.
Oficjalna polska strona Knoppiksa
23
www.linux.com.pl
własny knoppix
systemie. Jeśli mamy nagraną płytę, to będzie to zapewne
katalog /mnt/cdrom/, a jeśli mamy tylko obraz iso płyty, to
prawdopodobnie zechcemy zamontować go np. w katalo-
gu /mnt/knoppix poleceniem:
# mkdir /mnt/knoppix && mount -o loop -t iso9660
S
/ścieżka_do_pliku/knoppix.iso /mnt/knoppix/
W drzewie katalogowym płyty/obrazu znajdziemy m.in.
katalogi Demos/ i Talks/, które nie będą do niczego potrzeb-
ne, pliki autorun.bat, autorun.inf i cdrom.ico (które
służą do automatycznego uruchamiania płyty w systemie
Windows – ich też raczej nie będziemy potrzebować),
plik index.html będący stroną startową w otwierającej się
automatycznie przeglądarce internetowej (zarówno w sys-
temie Windows, jak i w uruchomionym Knoppiksie) oraz
wreszcie katalog KNOPPIX/, który będzie nas interesował
najbardziej. Znajdują się w nim różne pliki – głównie doku-
menty KNOPPIX-FAQ w różnych językach oraz narzędzia
windowsowe do tworzenia dyskietki startowej. Najważniej-
sze są dwa: boot.img, odpowiedzialny za bootowanie płyty
z Knoppiksem (nim zajmiemy się trochę później) oraz plik
KNOPPIX o wielkości prawie 700 MB, będący skompreso-
wanym obrazem z właściwym Knoppiksem.
Zaczynamy!
Większość użytkowników Linuksa uważa, że restartowanie
komputera to czynność niegodna i powinna być wykony-
wana tylko w ostateczności. Jeśli Czytelnik należy do owej
większości, to będzie musiał zainteresować się modułem
jądra cloop i zainstalować go zgodnie z instrukcjami prze-
stawionymi w ramce "Moduł cloop".
Jeśli instalacja modułu przebiegła pomyślnie, to
możemy teraz na partycji roboczej stworzyć dwa katalogi:
spakowany/ i zrodla/:
$ mkdir /mnt/robocza/spakowany /mnt/robocza/zrodla
Najlepiej, gdy przekopiujemy cały plik KNOPPIX (znajdują-
cy się na płycie/obrazie w katalogu KNOPPIX) np. na naszą
partycję roboczą:
$ cp /mnt/cdrom/KNOPPIX/KNOPPIX /mnt/robocza
a następnie zamontujemy ów plik w katalogu /mnt/robocza/
spakowany/ w następujący sposób:
# insmod cloop file=/mnt/KNOPPIX
# mount -o ro /dev/cloop /mnt/robocza/spakowany/
Teraz pozostaje nam już tylko przekopiować całą zawar-
tość skompresowanego obrazu do katalogu /mnt/robocza/
zrodla/ wraz z zachowaniem wszelkich uprawnień:
# cp -Rupv /mnt/robocza/spakowany/* /mnt/robocza/zrodla
Po przekopiowaniu całości, odmontowywujemy obraz po-
leceniem:
# umount /dev/cloop
Jeśli z jakichś powodów nie udało nam się zainstalować
modułu cloop lub po prostu mamy mniej ortodoksyjny
stosunek do restartowania komputera, możemy uruchomić
komputer z płyty z Knoppiksem, otworzyć wirtualny ter-
minal, zalogować się jako root (wystarczy wydać polecenie
su) i przekopiować zawartość całego drzewa katalogowego
do katalogu zrodla/ na partycji roboczej (musimy jednak
pamiętać, jak została ona oznaczona):
# cp -Rupv /* /mnt/hdXY/zrodla
gdzie X to oznaczenie dysku (a lub b), a Y to numer partycji.
Kopiowanie zajmie ok. 10 minut (zależy to oczywiście od
parametrów sprzętu).
Środowisko chroot
Jeśli rozpakowana zawartość Knoppiksa znajdzie się już
na naszej partycji roboczej, to jest to znak, że przyszedł
czas na właściwy Knoppix remastering. Wykorzystamy
polecenie chroot (dostępne standardowo tylko z upraw-
nieniami administratora), którego argumentem jest ścieżka
do katalogu. Polecenie to otworzy powłokę w specjalnym
(podanym jako argument) katalogu, tak jakby był to korzeń
całego drzewa katalogowego (czyli katalog / ). Wykonajmy
polecenie:
# chroot /mnt/robocza/zrodla/
Przenieśliśmy się tym samym do drzewa katalogowego
Knoppiksa na naszej partycji roboczej. Musimy jeszcze
zamontować system plików proc:
# mount -t proc /proc proc
Rysunek 2.
Doom w Knoppiksie
marzec 2004
24
dystrybucje Linuksa
Zakończenie sesji w środowisku chroot następuje po
wydaniu polecenia exit lub wciśnięciu kombinacji kla-
wiszy [Ctrl]+[D ]. Przed wylogowaniem się ze środowiska
chroot należy pamiętać o odmontowaniu /proc polece-
niem:
# umount /proc
Praca w środowisku chroot właściwie nie odbiega od
pracy w normalnej linii komend. Jeśli jednak chcieliby-
śmy pracować w trybie graficznym, to najpierw musimy
skonfigurować serwer X. Jeśli konfigurowaliśmy serwer
X na naszym komputerze samodzielnie (np. poleceniem
xf86cfg), to prawdopodobnie wystarczy gdy przekopiu-
jemy (będąc poza środowiskiem chroot) plik /etc/X11/
XF86Config-4 z naszej dystrybucji Linuksa do katalogu
/mnt/robocza/zrodla/etc/X11/. Jeśli jednak serwer X był
konfigurowany automatycznie przez instalator (tak dzieje
się np. w dystrybucji Mandrake i prawdopodobnie we
wszystkich tzw. "przyjaznych" dystrybucjach), to mogą
pojawić się problemy. Wtedy trzeba uruchomić kompu-
ter z płyty z Knoppiksem i skopiować na dyskietkę lub
bezpośrednio na partycję roboczą do odpowiedniego
katalogu plik /etc/X11/XF86Config-4, a będziemy mieli
skonfigurowany serwer X dokładnie tak, jak zrobiłby to
Knoppix (bo w zasadzie tak się stało). Należy pamiętać,
aby skasować ten plik po zakończeniu procesu dopaso-
wania Knoppiksa do własnych potrzeb, a przed kompre-
sją, gdyż w przeciwnym razie nasz Knoppix nie będzie
w stanie skonfigurować środowiska graficznego na kom-
puterach innych niż nasz własny.
Przed zalogowaniem się w środowisku graficznym
wewnątrz środowiska chroot należy najpierw zamknąć
(jeśli tego wcześniej nie zrobiliśmy) sesję X w naszym "nor-
malnym" systemie.
Jeśli nasz macierzysty system ma aktualnie zestawione
połączenie z Internetem, to w środowisku chroot również
możemy korzystać z tego połączenia. Jedyny problem, który
może się pojawić, to adres serwera DNS – jeśli w pliku
/etc/resolv.conf mamy wpisany numer IP takiego serwera,
to musimy go również przepisać do odpowiadającego mu
pliku resolv.conf w źródłach z Knoppiksem.
Praca z pakietami
Jak już wspomniałem, praca w środowisku chroot nie
różni się od pracy w normalnej konsoli tekstowej. Doty-
czy to także pracy z pakietami – użytkownicy Debiana
będą się tutaj czuć jak u siebie w domu, wszak Knoppix
oparty jest na tej dystrybucji. Jednak osoby, które nie
miały dotąd doświadczeń z Debianem, mogą czuć się
trochę zagubione, dlatego należą im się podstawowe
informacje na temat narzędzi do pracy z pakietami deb.
Pierwszą rzeczą, którą powinni zrobić posiadacze stałego
łącza, jest aktualizacja pakietów Knoppiksa. W Debianie
jest to bardzo proste – wystarczy (w środowisku chroot)
wydać polecenie:
# apt-get update
W ten sposób zostaną zaktualizowane wszystkie zain-
stalowane w systemie (czyli w Knoppiksie) pakiety. Do
zainstalowania nowego pakietu służy polecenie
apt-get
install <nazwa_pakietu>
. Pakiety można odinstalować
poleceniem
apt-get remove <nazwa_pakietu>
. Jeśli dyspo-
nujemy gotową listą pakietów do usunięcia, np. w pliku
Moduł cloop
Moduł jądra Linuksa o nazwie cloop został stworzony ory-
ginalnie przez Paula Russela, natomiast rozbudował go
Klaus Knopper - twórca Knoppiksa. Moduł cloop obsługu-
je skompresowane urządzenia blokowe tylko-do-odczytu.
Najnowszą wersję modułu można ściągnąć ze strony http:
//www.knopper.net/knoppix/sources/.
Do skompilowania modułu będą nam potrzebne źródła
jądra Linuksa w wersji używanej aktualnie przez nasz system.
Należy więc zainstalować pakiet kernel-source, dostęp-
ny w większości popularnych dystrybucji. Ściągnięte źródła
modułu rozpakowujemy poleceniem:
$ tar xzvf cloop_<wersja_modulu>.tar.gz
a następnie w katalogu ze źródłami wykonujemy polecenie:
$ make KERNEL_DIR=/ścieżka_do_źródeł_jądra/
Zwykle źródła jądra znajdują się w katalogu /usr/src/linux-
<wersja_jądra>. Po chwili moduł będzie skompilowany. Teraz
jako root wykonujemy kolejno polecenia:
# mkdir -p /lib/modules/misc && cp cloop.o /lib/modules/
<wersja_jądra>/misc/
# depmod -a
# mknod /dev/cloop b 240 0
Teraz możemy montować obrazy skompresowane przy
pomocy cloop jako urządzenia do odczytu. Aby to zrobić,
należy jako root wykonać następujące polecenia:
# insmod cloop file=/ścieżka_do_skompresowanego_pliku/
# mount -o ro /dev/cloop /punkt_montowania/
Po zakończeniu pracy odmontowywujemy plik poleceniem:
# umount /dev/cloop
W wyniku kompilacji uzyskaliśmy również program create_
compressed_fs, którego będziemy mogli użyć do kompre-
sji naszego Knoppiksa. Można go skopiować do katalogu
/usr/bin/ (jeśli tego nie zrobimy teraz, to i tak trzeba będzie
użyć wersji znajdującej się w źródłach Knoppiksa). W ogólnym
przypadku skompresowany obraz tworzymy poleceniem:
$ create_compressed_fs rozmiar_bloku_obrazu > skom-
presowany_obraz
gdzie wartość rozmiaru bloku jest wielokrotnością liczby 512.
25
www.linux.com.pl
własny knoppix
niechciane.txt, to wystarczy wydać polecenie
apt-get
remove 'cat niechciane.txt'
, a zostaną usunięte wszyst-
kie pakiety wymienione w pliku, wraz z zależnościami.
Wywołanie
apt-get remove
z opcją
--purge
spowoduje
usunięcie pakietu wraz ze wszystkimi plikami konfigu-
racyjnymi. Więcej informacji na temat możliwości mene-
dżera pakietów apt-get można znaleźć na odpowiednich
stronach podręcznika man. Jeśli nie mamy stałego dostę-
pu do Internetu, a chcemy pracować z archiwum pakie-
tów deb dostępnych offline (np. na płycie CD), to być
może wygodniej będzie nam korzystać z innego mene-
dżera pakietów o nazwie dpkg. Wywoływany odpowied-
nio z opcjami –install, –remove czy –purge daje podobne
efekty co apt-get, za wyjątkiem usuwania pakietów zależ-
nych. Do wyszukiwania "osieroconych"pakietów możemy
użyć programu deborphan. Jeszcze innym sposobem na
usuwanie pakietów jest program orphaner, który posiada
bardzo intuicyjny interfejs konsolowy.
Mimo tego, że repozytoria pakietów Debiana wydają
się nie mieć dna, to czasem pojawia się potrzeba zainsta-
lowania jakiegoś programu ze źródeł. Knoppix jest wypo-
sażony m.in. w kompilator GCC. W środowisku chroot
należy stosować się do zaleceń autorów poszczególnych
programów (zwykle ogranicza się to do wydawania
poleceń
./configure
,
make
,
make install
z odpowiedni-
mi opcjami), które kompilujemy. Należy także pamiętać,
że w większości przypadków w Knoppiksie nie ma tzw.
pakietów devel i może zdarzyć się, że będziemy musieli
je doinstalować. Z tego powodu lepiej unikać instalacji ze
źródeł i w miarę możliwości szukać gotowych pakietów.
Jednym z pierwszych pomysłów na wzbogacenie
Knoopiksa, który przyszedł mi do głowy, była instalacja
Dooma. Odkąd producent uwolnił kod tej gry, powstało
kilka jej wersji dla Linuksa, m.in. LxDoom, PrBoom czy
Dumb. Wybrałem wersję LxDoom – do jej zainstalowania
potrzebne mi były pakiety zawierające silnik sterujący grą,
grafiką (w konsoli i w trybie graficznym) oraz dźwiękiem:
lxdoom-sndserv_1.4.4-7_i386.deb,
lxdoom-svga_1.4.4-
7_i386.deb, lxdoom_1.4.4-7_i386.deb, lxdoom-x11_1.4.4-
7_i386.deb, doom-wad-shareware_1.9-1.deb.
Ostatni z wymienionych pakietów nie należy do
projektu LxDoom – jest to pakiet zawierający oryginalną
grafikę i dźwięk z Dooma (nie zostały one udostępnione
społeczności), czyli plik doom.wad z darmowej wersji
demonstracyjnej gry. Jeśli mamy oryginalną pełną wersję
Dooma, możemy użyć pliku doom.wad z tej wersji zamiast
pakietu doom-wad-shareware (wystarczy przekopiować go
np. do katalogu /usr/share/games/doom/ w źródłach Knop-
piksa i przy pierwszym uruchomieniu wskazać ścieżkę do
tego pliku poprzez opcję -iwad) – będziemy wówczas
mogli cieszyć się pełną wersją gry w naszym Knoppiksie.
Alternatywą jest wykorzystanie dotychczasowych osiągnięć
programistów projektu FreeDoom, tworzących wolny
zamiennik dla oryginalnych plików *.wad.
Ponieważ nie mam stałego dostępu do Internetu, to
pakiety ściągnąłem w kawiarence i po przeniesieniu ich
na płycie CD do domu przekopiowałem do katalogu root/
Knoppiksa (u nas jest to katalog /mnt/robocza/zrodla/
root/ ). Wersja pakietów nie jest tutaj ważna (choć im
nowsze, tym oczywiście lepiej), ale ważne, aby wszyst-
kie pakiety posiadały ten sam numer wersji (z wyjątkiem
pakietu doom-wad-shareware, który nie jest częścią
LxDooma). Ponieważ pakiety sterujące są od siebie wza-
jemnie zależne i instalowane pojedynczo w nieodpowied-
niej kolejności mogłyby zwracać błędy o niespełnionych
zależnościach, to zainstalujemy je wszystkie naraz. W śro-
dowisku chroot wykonujemy polecenie:
# dpkg –install /root/lxdoom*
a następnie:
# dpkg –install /root/doom-wad-shareware_1.9-1.deb
Teraz już możemy grać. Polecenie lsdoom uruchamia grę
w trybie tekstowym, a lxdoom w środowisku graficznym.
W razie komunikatu o braku pliku *.wad należy wskazać
ścieżkę do tego pliku poprzez opcję -iwad <sciezka>. W
środowisku graficznym możemy zmieniać wielkość okna,
w którym uruchamia się gra poprzez opcje -width i -
height.
Ustawienia użytkownika
Gdy zajrzymy do rozpakowanego pliku KNOPPIX (czyli
do katalogu zrodla/ na naszej partycji roboczej), zauwa-
żymy, że katalog /home jest pusty. A jednak po urucho-
mieniu komputera z płyty z Knoppiksem, domyślny
użytkownik będzie miał swój katalog domowy w zwy-
czajowym miejscu i będą się w nim znajdować różne pliki
konfiguracyjne. Dzieje się tak dlatego, że Knoppix tworzy
wirtualny katalog domowy domyślnego użytkownika
w pamięci RAM i kopiuje do niego zawartość katalogu
/etc/skel/, w którym znajdują się takie ustawienia wybra-
nych programów, jakie wybrał Klaus Knopper. Przykłado-
wo w zakładkach Mozilli znajduje się m.in. adres strony
domowej Knoppiksa (http://www.knopper.net/knoppix/ ),
Rysunek 3.
Xnest: KDE w KDE
marzec 2004
26
dystrybucje Linuksa
a wygaszacz ekranu uruchamia się po 10 minutach.
Możemy zmienić te ustawienia, a także dodać nowe usta-
wienie dla innych programów. W tym celu, po uprzednim
zamknięciu serwera X w naszym macierzystym systemie,
logujemy się w środowisku chroot, montujemy /proc i uru-
chamiamy środowisko graficzne standardowym polece-
niem startx. Naszym oczom ukaże się takie KDE, jak
skonfigurował je Klaus Knopper. Możemy teraz przystąpić
do pracy. Każdy uruchomiony przez nas program albo ma
już swój plik konfiguracyjny (zwykle są to pliki lub kata-
logi ukryte, czyli takie, których nazwy rozpoczynają się
od kropki) przekopiowany automatycznie z /etc/skel/, albo
tworzy nowy. Istniejące pliki konfiguracyjne możemy
modyfikować używając programów, którymi one sterują
i zmieniając ich ustawienia, np. zakładki Mozilli możemy
zmienić w samej Mozilli poprzez Menedżera zakładek.
Modyfikacje dotyczą również samego KDE – możemy
zmieniać tematy, style okien, ikony czy menu korzystając
z Centrum Sterowania KDE. Gdy uznamy, że wszyst-
kie programy mają już takie ustawienia, jakie chcemy,
możemy wylogować się z KDE. Ponieważ przez cały
czas byliśmy zalogowani jako root, to stworzone przez
nas pliki konfiguracyjne znajdują się w katalogu /root/.
Teraz wystarczy nadpisać zawartość /etc/skel/ zawartością
katalogu /root/:
# cp -rf /root/* /etc/skel/
Xnest, czyli 'Iksy' w 'Iksach'
Zdarza się czasem, że pracujemy w środowisku chroot
poprzez wirtualny terminal (np. xterm). Możemy wtedy
korzystać wyłącznie z trybu tekstowego. Gdy chcemy
sprawdzić efekt naszej pracy, np. wygląd interfejsu graficz-
nego jakiegoś programu, który właśnie konfigurowaliśmy,
to musimy najpierw zamknąć serwer X, otworzyć środo-
wisko chroot i dopiero ponownie uruchomić środowisko
graficzne Knoppiksa. To bardzo kłopotliwe, ale jest na to
rada. Użyjemy programu Xnest, znajdującego się w pakie-
cie XFree86-Xnest. Służy on do zagnieżdżania serwerów
X – dla "prawdziwego" serwera X jest klientem, ale przez
aplikacje klienckie jest traktowany jak serwer. Jeśli nie zro-
biliśmy tego wcześniej, to należy zainstalować ten pakiet
w naszej macierzystej dystrybucji, otworzyć wirtualny ter-
minal i wydać polecenie
Xnest -ac :1
. Pojawi się wówczas
na ekranie puste niebieskie okno. Następnie otwieramy
drugi wirtualny terminal, uruchamiamy środowisko chroot
w katalogu ze źródłami Knoppiksa, montujemy /proc
i wydajemy dwa polecenia:
# export DISPLAY=localhost:1
# startkde
W niebieskim oknie Xnest powinna otworzyć się sesja
KDE. Jeśli wolimy inne menedżery okien, to zamiast
startkde wystarczy użyć poleceń wmaker lub fluxbox,
które otworzą odpowiednio Window Makera lub Flux-
boksa. Praca z Xnest na dłuższą metę jest jednak uciążli-
wa, a przede wszystkim obciąża procesor. Jeśli planujemy
przez kilka godzin pracować wyłącznie nad dostosowa-
niem Knoppiksa do własnych potrzeb, to lepiej otworzyć
tylko jedną sesję X w środowisku chroot.
Jak zmienić powitalną grafikę
(tzw. boot image)?
Zaraz po uruchomieniu komputera z płyty z Knoppiksem
pojawia się ekran z firmową grafiką tej dystrybucji, a system
oczekuje na podanie dodatkowych opcji (np. języka lub
menedżera okien). Aby zmienić tę grafikę, musimy sko-
piować plik boot.img z płyty (znajduje się on w katalogu
KNOPPIX) na naszą partycję roboczą oraz zamontować
go w dowolnym pustym katalogu np. /mnt/boot_image/
poleceniem:
# mount -o loop /mnt/robocza/boot.img /mnt/boot_image/
Teraz w katalogu /mnt/boot_image/ znajdziemy kilka cie-
kawych plików, m.in. logo.16 – jest to właśnie interesujący
nas obrazek, ale w specyficznym formacie. Możemy go
wymienić, ale tylko na inny plik w rozdzielczości 640*400
pikseli i tylko 16-kolorowy. Jeśli już znajdziemy plik (na-
zwijmy go umownie logo.png) spełniający takie warunki,
który chcielibyśmy ustawić jako logo, to musimy go jeszcze
przekonwertować do odpowiedniego formatu. Służą do
tego następujące polecenia:
# pngtopnm logo.png > logo.pnm
# ppmtolss16 < logo.pnm > logo.16
Jeśli nie mamy programów pngtopnm i/lub ppmtolss16, to
musimy doinstalować w naszym systemie odpowiednio
pakiet netpbm i/lub syslinux. Teraz wystarczy przekopio-
wać wyjściowy plik logo.16 (dobrze, aby nie miał więcej
niż 50 kB) w miejsce oryginalnego, odmontować plik
boot.img poleceniem
umount /mnt/boot_image/
i w dalszej
części tego przewodnika używać zmodyfikowanej wersji
tego pliku.
Rysunek 4.
Window Maker w KDE
27
www.linux.com.pl
własny knoppix
Jak zmienić domyślny język
Knoppiksa?
Musimy wyedytować plik knoppix-autoconfig znajdują-
cy się w katalogu /etc/init.d/ Knoppiksa, czyli w naszym
przypadku musimy po prostu zmodyfikować plik /mnt/
robocza/zrodla/etc/init.d/knoppix-autoconfig. Otwieramy
go w naszym ulubionym edytorze (np. jed) i szukamy
następującego fragmentu (w okolicach linii 101 i 102):
LANGUAGE="$(getbootparam lang 2>/dev/null)"
[ -n "$LANGUAGE" ] || LANGUAGE="de"
Wystarczy zmienić wartość zmiennej
LANGUAGE
z
“de”
na
“pl”
, aby domyślnym językiem Knoppiksa był język polski.
Poniżej tych linii są m.in. deklaracje kodowania znaków
i układu klawiatury dla poszczególnych języków, które
również możemy zmieniać wedle naszych upodobań.
Jak zmienić domyślne środowisko
graficzne?
Tu również będziemy edytować plik knoppix-autocon-
fig, ale tym razem należy znaleźć fragment (w okolicach
linii 383-386):
# Also read desired desktop, if any
DESKTOP="$(getbootparam desktop 2>/dev/null)"
# Allow only supported windowmanagers
case "$DESKTOP" in gnome|enlightenment|kde|
S
larswm|xfce|xfce4|windowmaker|wmaker|icewm|
S
fluxbox|twm) ;; *) DESKTOP="kde"; ;; esac
Wystarczy zmienić wartość zmiennej
DESKTOP
z
”kde”
na
“gnome”
,
“icewm”
czy
“fluxbox”
, aby te programy stały się
domyślnymi menedżerami okien w naszym Knoppiksie.
Gdzie KDE przechowuje elementy
grafiki zawierające nazwę „Knoppix”?
W Knoppiksie standardową tapetą jest plik /usr/local/
lib/knoppix.jpg – jego podmiana w naszych źródłach na
inny spowoduje zmianę domyślnej tapety.
Obrazek wraz z paskiem postępu pojawiający się przy
starcie KDE, nazywany po angielsku screensplash, znaj-
duje się zwyczajowo w katalogu /usr/share/apps/ksplash/
– w Knoppiksie przechowywany jest w tym właśnie
miejscu. Podobnie jest z tzw. kickerem, czyli paskiem na
lewym boku menu KDE – w Knoppiksie znajduje się on
w zwyczajowym miejscu, czyli w pliku /usr/share/apps/
kicker/pics/kside.png.
W serwisie http://www.kde-look.org/ można znaleźć
ogromny wybór tapet, splashscreenów, ikon i innych wodo-
trysków dla KDE. Zachęcam więc do upiększania swojego
knoppiksowego biurka.
Zanim wypalisz...
Jeśli uznamy, że nasz Knoppix ma już wszystko, czego
moglibyśmy od niego wymagać, i przekopiowaliśmy nasze
indywidualne ustawienia z katalogu /root/ do /etc/skel/, to
przyszedł czas na decydującą fazę pracy, czyli przygotowa-
nie obrazu płyty. Najpierw należy wyczyścić katalog /root/ ze
wszystkich znajdujących się w nim plików, a także skasować
wszystkie pakiety *.deb w katalogu /mnt/robocza/zrodla/
var/cache/apt/archives/ (jeśli znajdują się tam takowe).
Należy także skasować plik /mnt/robocza/zrodla/etc/X11/
XF86Config-4, który wcześniej tam przekopiowaliśmy
(trzeba uważać, aby nie pomylić go z plikiem /mnt/robocza/
zrodla/etc/X11/XF86Config-4.ini). Nie da się niestety przed
kompresją ściśle określić, czy nasz Knoppix zmieści się na
płycie CD, ale jeśli nie odinstalowaliśmy żadnego pakietu,
a doinstalowaliśmy kilka nowych, to istnieje spore praw-
dopodobieństwo, że gotowy obraz płyty będzie większy
niż 700MB. Metodą „na oko” możemy jednak wykluczyć
przypadek skrajny – jeśli katalog /mnt/robocza/zrodla/ ma
Obszar wymiany swap
W czasie kompresji przy użyciu modułu cloop skompreso-
wany obraz przechowywany jest w pamięci roboczej. Jeśli
mamy dużo RAM-u (np. 1GB), to nie musimy się tym mar-
twić, gdyż gotowy obraz będzie miał „zaledwie” ok. 700MB
(tak, aby mógł zmieścić się na płycie CD). Większość z nas
będzie jednak musiała uzupełnić braki pamięcią swap. Jeśli
suma pamięci RAM w naszym komputerze i wielkości par-
tycji wymiany (czyli partycji swap) w systemie jest mniejsza
niż 700MB (lub tylko nieznacznie tę wartość przekracza), to
należy na czas kompresji stworzyć dodatkową partycję swap
– najlepiej tak dużą, aby suma pamięci RAM i całego dostęp-
nego swap-u wynosiła ok. 1GB. Pokażę teraz, jak stworzyć
dodatkową partycję wymiany o wielkości 500MB, Czytelnik
powinien dopasować jej wielkość do własnych potrzeb.
Na partycji, na której mamy odpowiednio dużo wolnego
miejsca, wykonujemy następujące polecenia:
# dd id=/dev/zero of=swapfile bs=1024 count=500k
# mkswap swapfile
Mamy już stworzony dodatkowy obszar wymiany w postaci
pliku swapfile, więc trzeba go jeszcze aktywować:
# swapon swapfile
Możemy teraz sprawdzić, czy wszystko poszło zgodnie z
planem. Polecenie
cat /proc/swaps
wypisze nam wszyst-
kie aktywne obszary wymiany. Powinna się tam znaleźć mniej
więcej taka linia:
/mnt/robocza/swapfile file 511992 0 -3
Po zakończeniu kompresji Knoppiksa dodatkowy swap nie
będzie nam już potrzebny. Najpierw wyłączamy go polece-
niem:
# swapoff swapfile
a następnie zwyczajnie usuwany przy pomocy polecenia
rm
swapfile
.
marzec 2004
28
dystrybucje Linuksa
wielkość wyraźnie większą niż 2,2 GB, to istnieją jedynie
nikłe szanse, że zmieści się na standardowej płycie CD.
Teraz przyda nam się duża partycja swap. Jeśli suma
naszej pamięci RAM i wielkości partycji swap jest mniej-
sza niż 1GB, to warto, postępując zgodnie z instrukcjami
zawartymi w ramce „Partycja swap”, stworzyć dodatkową
partycję wymiany, inaczej proces kompresji zwróci błąd
i – co może być jeszcze bardziej irytujące – stanie się to
prawdopodobnie na końcu, a nie na początku tej czaso-
chłonnej operacji.
Jeśli nie instalowaliśmy modułu cloop, to będziemy
musieli albo zainstalować w naszym systemie pakiet
cloop-utils, albo przekopiować z Knoppiksa narzędzie
create_compressed_fs, którym stworzymy skompresowany
plik KNOPPIX. Wykonajmy więc polecenie:
# cp /mnt/robocza/zrodla/usr/bin/create_compressed_fs
S
/usr/bin/
Teraz musimt już tylko stworzyć na partycji roboczej kata-
log KNOPPIX/, a jeśli już taki mamy, to wykasować z niego
plik KNOPPIX, oraz wykonać polecenie:
# mkisofs -R /mnt/robocza/zrodla/|create_compressed_fs
S
– 65536 > /mnt/robocza/KNOPPIX/KNOPPIX
Najbliższe pół godziny (lub więcej) możemy poświęcić na
sprawy zupełnie nie związane z Knoppiksem, ponieważ
tyle właśnie potrwa proces kompresji, podczas którego
procesor naszego komputera będzie niemal w 100%
zajęty.
Jeśli mieliśmy odpowiednio dużo pamięci RAM i/lub
swap, to proces powinien zakończyć się bez problemów,
a jego efektem będzie plik /mnt/robocza/KNOPPIX/
KNOPPIX. Teraz możemy przetestować naszego Knoppiksa.
Jeśli modyfikowaliśmy pliki w obrazie boot.img, to mamy
już ten plik na naszej partycji roboczej. Jeśli nie, to należy
go przekopiować z płyty (z katalogu KNOPPIX). Teraz
wystarczy włożyć do stacji dyskietek czystą, sformatowaną
dyskietkę i wykonać polecenie:
# dd if=/mnt/robocza/boot.img of=/dev/fd0
Zostanie stworzona dyskietka startowa, która w „normal-
nej” wersji Knoppiksa znajduje się na płycie (w postaci
pliku boot.img). Skrypt startowy na dyskietce poszukuje
na wszystkich dostępnych napędach i partycjach katalogu
KNOPPIX/, a w nim pliku KNOPPIX. Jeśli takowy plik
zostanie znaleziony, to rozpoczyna dekompresję w locie
i uruchamianie Knoppiksa. Dlatego ważne było to, aby od
samego początku pracować na oddzielnej partycji.
Teraz wystarczy uruchomić komputer ze stworzonej
przed chwilą dyskietki startowej i cieszyć się własnym
dziełem. Jeśli efekt nie jest zadowalający, to cały proces
przerabiania Knoppiksa trzeba będzie niestety powtarzać
od początku. Jeżeli chcemy już stworzyć gotowy obraz do
wypalenia na płycie, to należy jeszcze skopiować z płyty
z oryginalnym Knoppiksem plik boot.cat na partycję
roboczą. Można też przekopiować inne pliki, znajdujące
się w katalogu KNOPPIX/ na płycie, ale nie będą one
potrzebne do działania. Teraz trzeba jeszcze przekopio-
wać pliki boot.img i boot.cat do katalogu KNOPPIX:
# cp -f /mnt/robocza/boot.* /mnt/robocza/KNOPPIX/
stworzyć katalog np. /mnt/robocza/moj_knoppix/ i prze-
nieść do niego cały katalog KNOPPIX/:
# mv /mnt/robocza/KNOPPIX/ /mnt/robocza/moj_knoppix/
i wreszcie wydać polecenie:
# mkisofs -pad -f -l -r -J -v -V "Mój własny KNOPPIX"
S
-b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved
S
-o .mnt/robocza/knoppix.iso ./mnt/robocza/moj_knoppix/
a po kilku minutach na partycji roboczej będziemy mieli
obraz płyty o nazwie knoppix.iso, gotowy do wypalenia
na płycie CD.
Zakończenie
Niniejszy artykuł jest przewodnikiem dla osób zaintere-
sowanych tym, aby Knoppix stał się tak wygodny, jak ich
własna, zainstalowana na dysku dystrybucja. Początkują-
cym użytkownikom polecam przede wszystkim lekturę
podręczników man poleceń, których używaliśmy w trak-
cie pracy – pozwoli to lepiej zrozumieć, co tak naprawdę
działo się w trakcie całego procesu, który opisywałem.
Bardziej zaawansowanych i wymagających użytkowni-
ków być może zainteresuje artykuł „Knoppix Custom
Kernel Howto” (dostępny niestety tylko w języku angiel-
skim w serwisie www.knoppix.net). Ponadto, wszystkich
zachęcam gorąco do zajrzenia do archiwum forum dysku-
syjnego serwisu http://www.knoppix.net/ – jest to niewy-
czerpane źródło informacji.
W Sieci:
• Strona domowa projektu Knoppix:
http://www.knopper.net/knoppix/
• Nieoficjalna strona Knoppiksa:
http://www.knoppix.net/
• Oficjalna polska strona Knoppiksa:
http://knoppix.7thGuard.net/
Na DVD
Na pierwszej płycie DVD został zamieszczony obraz ISO dys-
trybucji Knoppix 20040209, który można wykorzystać jako
bazę do stworzenia własnego Knoppiksa.
1
2
3
4
5
6
7
8
9
10 11 12
2000
2001
2002
2003
2004
Numery archiwalne
Prosimy o przesłanie kuponu pocztą lub faksem.
Prosimy w odpowiednim polu zakreślić numery, które Państwo chcą zamówić.
białe pola – 15 zł za egzemplarz żółte pola – 24 zł za egzemplarz
– rocznik 2000 (12 numerów) – 120 zł
– rocznik 2001 (12 numerów) – 120 zł
– rocznik 2002 (12 numerów) – 150 zł
– rocznik 2003 (12 numerów) – 150 zł
Imię i nazwisko, nazwa firmy ......................................................................
Dokładny adres: ........................................................................................
..................................................................................................................
Wypełnia płatnik VAT.
Oświadczam(y), że jestem(śmy) płatnikiem VAT i upo-
ważniam(y) Software-Wydawnictwo Sp. z o.o. do wystawienia faktury VAT bez
podpisu odbiorcy.
pieczątka i podpis
Software-Wydawnictwo Sp. z o.o.
ul. Lewartowskiego 6, 00-190 Warszawa, Tel.: (22) 860 17 67
L+
0
3/
20
04
Linux+ 03/2003
Linux+ 04/2003
Linux+ 05/2003
Linux+ 06/2003
Linux+ 09/2003
Linux+ 07/2003
Linux+ 08/2003
Linux+ 10/2003
Linux+ 11/2003
Linux+ 01/2004
Linux+ 12/2003
Linux+ 02/2004
marzec 2004
30
dystrybucje linuksa
Instalacja i konfiguracja
SuSE Linux 9.0
Piotr Truszkowski
W
ybór odpowiedniej dystrybucji Linuk-
sa spędza nowym użytkownikom sen
z oczu. Ogrom wyboru, jaki oferują nam
producenci, stawia pytanie – czy akurat ta
dystrybucja będzie dla mnie odpowiednia? Ci z Was, którzy
wybiorą SuSE Linux, z pewnością się nie zawiodą. Opi-
sywana dystrybucja oferuje wiele udogodnień dla każdej
grupy użytkowników. Warto w tym miejscu wspomnieć
o SuSE System Doctor (rewelacyjny program do naprawy
systemu po jego uszkodzeniu) i programie YaST (narzę-
dzie administracyjne systemu SuSE Linux, dzięki któremu
możemy m.in. w bardzo prosty sposób instalować/usuwać
aplikacje, skonfigurować kartę telewizyjną, skaner bądź
firewall). Zainteresowanych ogólnym spojrzeniem na
system i jego oceną, zapraszam do przeczytania recenzji
obecnej w styczniowym numerze Linux+. Poniżej znajduje
się opis instalacji systemu z myślą o polskim użytkowniku.
Przygotowanie do instalacji
Instalacja systemu SuSE Linux jest łatwa. Uruchamiamy
komputer z płytki DVD. Pojawi się ekran powitalny.
Poprzez wciśnięcie klawisza [F2] możemy wybrać, w jakiej
rozdzielczości będzie przeprowadzana instalacja. W menu
instalacyjnym obecnych jest kilka pozycji:
• Boot from Harddisk – uruchomienie już zainstalowane-
go systemu z dysku twardego;
• Installation – uruchomienie instalatora ze standardowy-
mi opcjami (polecane głównie na notebookach);
• Installation – ACPI disabled – uruchomienie instalatora
z wyłączoną obsługą ACPI (polecane na domowych
komputerach);
• Installation – Safe Settings – uruchomienie instalatora
z bezpiecznymi opcjami (uruchom, jeśli nie zadziałają
poprzednie opcje instalacyjne);
• Manual Instalation – instalacja w trybie tekstowym;
• Rescue System – tryb naprawy systemu;
• Memory Test – test pamięci RAM obecnej w kompute-
rze (jeśli instalator zawiesza się bądź system pracuje
niestabilnie, wybierz tą opcję – w zależności od ilości
posiadanej pamięci, proces ten – z uwagi na swoją
dokładność – może potrwać nawet kilka godzin).
Po wybraniu metody instalacji, uruchomi się instalator
systemu SuSE Linux. W pierwszej kolejności będziemy
musieli wybrać język, w jakim instalator będzie się z nami
porozumiewał. Niestety, brak jest języka polskiego, więc
wybierzmy język angielski (English US). Po dokonaniu
wyboru, klikamy na przycisk Accept. Uruchomi sie okienko
z różnymi opcjami konfiguracyjnymi:
• Mode – tryb instalacji;
• Mamy tutaj do wyboru: New installation – nowa insta-
lacja, Update an existing system – aktualizacja już zain-
stalowanego systemu, Repair Installed System – naprawa
już zainstalowanej wersji SuSE 9.0, Boot installed system
– uruchomienie zainstalowanego systemu;
• Keyboard layout – wybór ustawień klawiatury;
• Możemy zaakceptować domyślne ustawienia bądź
zmienić je na polskie;
• Mouse – wybór myszki;
• Instalator powinien poprawnie wykryć model myszki.
Jeśli tak się stało, zaakceptujmy ustawienia domyślne.
Jeśli nie, należy wybrać odpowiadający nam model
myszki.
• Partitioning – bardzo ważna część, ponieważ dokonu-
jemy w niej podziału dysku na partycje;
• Software – wybór oprogramowania do instalacji;
• Booting – ustawienia bootloadera;
• Time Zone – wybór strefy czasowej i ustawienia
zegara;
• Language – wybór języka po instalacji.
Rysunek 1.
Ekran powitalny instalatora SuSE
31
www.linux.com.pl
suse linux 9.0
Podział dysku na partycje
SuSE Linux oferuje nam zaawansowany program do
podziału dysku na partycje. Możemy zmniejszać partycje
z Windows w celu otrzymania dostatecznej przestrzeni dys-
kowej do zainstalowania naszego systemu bądź utworzyć
partycje na czystym dysku. W okienku, które pojawi się
po wybraniu opcji Partitioning, wybieramy opcję Create
custom partition setup, a następnie Custom partitioning.
Przyjmijmy, że posiadamy dysk 40GB – 20GB to partycja
z Windows, więc pozostałe 20GB możemy wykorzystać do
instalacji naszego SuSE Linuksa. Dla typowego komputera
domowego dobry jest następujący schemat:
• obszar wymiany – swap – 300MB;
• partycja główna – / – 6GB;
• partycja domowa – /home – 13,7GB.
Przy tworzeniu partycji / i /home będziemy musieli wybrać
dla nich system plików. SuSE Linux oferuje nam m.in.: Ext2,
Ext3, ReiserFS, JFS i XFS. Polecam JFS z uwagi na jego małą
awaryjność, zadowalającą szybkość i solidne podstawy (JFS
został stworzony przez firmę IBM). Po utworzeniu partycji,
przejdźmy do procesu wyboru oprogramowania.
Wybór oprogramowania
SuSE oferuje nam trzy – w pełni konfigurowalne – stopnie
instalacji oprogramowania:
• Minimum system – zainstalowana zostanie sama pod-
stawa, bez graficznego środowiska pracy (319,3MB);
• Minimum graphical system – podstawa z zainstalo-
wanym środowiskiem graficznym Window Maker
(516,8MB);
• Default system – zainstalowane zostanie środowi-
sko graficzne KDE, pakiet biurowy OpenOffice.org,
przeglądarki internetowe, pakiety graficzne i wiele
innego przydatnego w codziennej pracy oprogramo-
wania – opcja zalecana dla większości użytkowników
(1,46GB).
Nic nie stoi na przeszkodzie, abyśmy własnoręcznie wybrali
potrzebne nam pakiety do zainstalowania – wybieramy
jedną z trzech opcji instalacyjnych i dostosowujemy ją do
swoich preferencji poprzez wybór opcji Detailed selection.
Konfiguracja bootloadera
Aby móc uruchomić nasz system, potrzebny nam będzie
program zwany bootloaderem. Pozwoli on na wybór syste-
mu operacyjnego, który chcemy uruchomić podczas startu
naszego komputera. Domyślny bootloaderem w SuSE Linux
jest GRUB, który stał się już standardem i wyparł starego
bootloadera o nazwie LILO (jest on również dostępny
w SuSE). Za wybór bootloadera odpowiada w menu insta-
lacyjnym opcja Booting. Jeśli na dysku twardym posiada-
my system Windows, instalator powinien poprawnie go
wykryć i dodać do opcji konfiguracyjnych GRUB-a opcję
„Windows”, po wybraniu której, podczas uruchomienia
komputera, uruchomi się nam ten system operacyjny.
Domyślne ustawienia zaproponowane przez instalator
powinny być odpowiednie.
Warto zwrócić uwagę na kilka rzeczy. Pierwszą z nich jest
zmienna Default selection. Określa ona, który system opera-
cyjny ustawiony jest jako domyślny. Jeśli posiadamy system
Windows, zmienna go określająca będzie wymieniona jako
DOS. Jeśli chcemy, aby domyślnym systemem był Windows,
wybieramy opcję Default selection i klikamy na przycisk Edit.
Pojawi się nam okienko z dostępnymi opcjami. Klikamy na
opcję DOS i wybieramy Set as Default. Jeśli nie odpowiada
nam opcja DOS, możemy zmienić ją na Windows. Klikamy
w tym momencie na DOS i wybieramy Edit. W dziale Sec-
tion Name klikamy na Edit i wpisujemy nazwę, która będzie
nam pasowała. Zatwierdzamy wybór przyciskiem OK. Jeśli
domyślnym systemem ma być Linux, możemy zostawić
domyślne wartości zaproponowane przez instalator. Drugą
ważną zmienną jest Available Sections. Zawarte są w niej
wszystkie opcje pojawiające się przy starcie komputera. Jeśli
na drugiej partycji posiadamy system Windows, zwróćmy
uwagę, czy znajduje się tam opcja DOS, która pozwoli uru-
chomić Windows podczas startu komputera.
Rysunek 2.
Podział dysku na partycje
Rysunek 3.
YaST – narzędzie administracyjne SuSE
marzec 2004
32
dystrybucje linuksa
Strefa czasowa
Za wybór strefy czasowej i ustawienia czasu odpowia-
da opcja Time Zone. W pierwszej kolumnie wybieramy
Europe, a następnie w drugiej Poland (miejsce naszego
zamieszkania). Jeśli chcemy, aby nasz czas był zgodny
z tym, który ustawiony jest w BIOS-ie naszego komputera,
wybieramy local time przy opcji Hardware clock set to. Jeśli
przy zmianie czas podany na dole zgadza się z naszymi
oczekiwaniami, klikamy na przycisk Accept i przechodzimy
do następnego punktu. Jeśli czas się nie zgadza, możemy
go zmienić wybierając opcję Change Time or Date.
Wybór języka
Niestety w instalatorze SuSE Linux nie ma obsługi języka
polskiego, ale będziemy mogli ustawić nasz ojczysty język
później – zostanie to omówione w dalszej części tego prze-
wodnika. Zostawmy język angielski.
Instalacja pakietów
Po zakończeniu wszystkich opcji konfiguracyjnych, klikamy
na przycisk Accept. Instalator zapyta się nas, czy jesteśmy
pewni, że wszystko wykonaliśmy poprawnie. Jeśli odpowie-
my twierdząco – Yes, install, rozpocznie się proces tworze-
nia partycji i instalacji systemu na dysku twardym. Jeśli nie
jesteśmy pewni wprowadzonych zmian bądź przypomniało
się nam, że coś zrobiliśmy źle, możemy odpowiedzieć No
i poprawić źle wprowadzone dane. W zależności od wybra-
nych opcji instalacyjnych, procesora i pamięci RAM, instala-
cja może potrwać od 10 minut do kilku godzin.
Po zainstalowaniu pakietów, przyjdzie czas na podanie
hasła root-a, utworzenie użytkowników (warto zwrócić
uwagę na opcję autologin – umożliwia ona zalogowanie
użytkownika bez podawania hasła) i konfigurację urządzeń
podłączonych do komputera, takich jak karta graficzna,
dźwiękowa, sieciowa czy skaner. Jeśli mamy dostęp do
Internetu, instalator po jego konfiguracji zaproponuje nam
sprawdzenie poprawności ustawień. Po jej pomyślnym
przejściu, pojawi się kolejna propozycja – sprawdzenia,
czy na serwerach producenta pojawiły się jakieś łatki
dotyczące błędów w oprogramowaniu. Jeśli tak, zostanie
nam zaproponowana możliwość ich pobrania. Warto z niej
skorzystać.
YaST
Narzędziem administracyjnym w systemie SuSE Linux jest
program YaST, dostępny w dwóch wersjach – tekstowej
(YaST) i graficznej (YaST2). Jest to bardzo wygodny i bogaty
w możliwości program, który pomoże nam w zadbaniu
o porządek w systemie. YaST ma modularną budowę, co
oznacza, że nie musimy instalować narzędzi do konfigu-
racji np. skanera, jeśli takiego urządzenia nie posiadamy.
Możemy wybrać i zainstalować tylko te moduły, które będą
nam naprawdę niezbędne. Dzięki oprogramowaniu YaST
możemy m.in.:
• skonfigurować nasze środowisko graficzne;
• skonfigurować kartę dźwiękową, graficzną, sieciową,
skaner i inne;
• instalować/usuwać oprogramowanie;
• uaktualniać nasz system;
• skonfigurować serwery WWW, poczty, plików i druka-
rek, nazw;
• i wiele, wiele więcej...
Program jest wywoływany na dwa sposoby – możemy
wybrać go w menu bądź wpisać jego nazwę w konsoli
systemowej. Aby uruchomić YaST-a w trybie tekstowym,
wpisujemy polecenie
yast
, natomiast jeśli chcemy poznać
jego możliwości w trybie graficznym –
yast2
. Wszystkie
wymienione komendy wykonujemy na koncie użytkowni-
ka root. Jeśli jesteśmy zalogowani jako zwykły użytkownik,
możemy uruchomić konsolę systemową i wpisać:
su -
.
System zapyta się nas o hasło. Po jego podaniu, otrzymamy
na danej konsoli prawa root-a, co umożliwi nam urucho-
mienie YaST-a bez potrzeby graficznego przełączania się na
konto administracyjne.
Język polski w SuSE Linux
Pomimo tego, iż podczas instalacji dystrybucji SuSE Linux
nie możemy wybrać języka polskiego, bardzo łatwo dosto-
sować do niego nasz nowo zainstalowany system. Posłuży
nam do tego omówione wcześniej narzędzie – YaST. Logu-
jemy się na użytkownika root, otwieramy konsolę syste-
mową i wpisujemy komendę
yast2
. Następnie wybieramy:
System -> Editor for /etc/sysconfig Files. Uruchomi się nam
centrum zarządzania konfiguracją systemu. Wprowadzamy
następujące zmiany:
• Hardware:
• Console -> Console_font: lat2-16.psf
• Console
->
Console_screenmap:
8859-2_to_
uni.trans
• Keyboard -> Keytable: pl
• Keyboard -> Composetable: clear
• Keyboard -> Yast_keyboard: polish,pc104
Rysunek 4.
Instalacja oprogramowania
33
www.linux.com.pl
suse linux 9.0
• System:
• Environment -> Language -> Rc_lang: pl_PL.ISO-8859-2
• Environment -> Language -> rc_lc_all: pl_PL.ISO-8859-2
Po wprowadzeniu zmian klikamy na finish i akceptujemy zmiany. Jeśli
używamy środowiska KDE, musimy zainstalować pakiet z językiem pol-
skim o nazwie kde3-i18n-pl. Dokonujemy tego wydając polecenie:
yast2
-i kde3-i18n-pl
. Dla absolutnej pewności możemy także uruchomić pro-
gram SaX2 (wpisując polecenie:
sax2
), będący narzędziem do konfigura-
cji środowiska X Window i sprawdzić, czy jako układ klawiatury mamy
zaznaczony polski. I to wszystko. Zrestartujmy nasz system. Po restarcie
środowisko graficzne powinno przywitać się z nami po polsku, a konso-
la systemowa nie powinna mieć problemów z polskimi ogonkami.
Oprogramowanie
Na płycie DVD z systemem SuSE Linux otrzymujemy ponad 4000 róż-
nych aplikacji. Do ich instalacji i usuwania służy moduł Install/Remove
Software obecny w programie YaST. Przypuśćmy, że chcemy zainstalo-
wać popularny program do obróbki grafiki – GIMP. Uruchamiamy więc
YaST-a, wybieramy z menu opcję Software, a następnie Install/Remove
Software. W lewym górnym rogu mamy rozwijaną listę. Wybieramy
z niej Search i wpisujemy hasło gimp. Po krótkiej chwili instalator poda
nam listę aplikacji zawierających w swojej nazwie hasło gimp. Zazna-
czamy GIMP-a i klikamy na przycisk OK. Instalator pokaże nam, że
GIMP jest zależny od innego oprogramowania i zapyta się, czy chcemy
je doinstalować. Na koniec zostaniemy poproszeni o włożenie płytki.
Załóżmy, ze GIMP znudził się nam i chcemy go usunąć. Postępujemy
w podobny sposób jak podczas jego instalacji. Klikamy na otrzyma-
ną nazwę prawym przyciskiem myszki i wybieramy Remove. Jeśli
z GIMP-em połączone są jakieś inne programy, instalator wypisze je
i zapyta się, co chcemy zrobić.
Jeśli chcemy zaktualizować nasz system, posłużymy sie modułem
Update System. Mamy tutaj do wyboru serwer, z którego będą pobierane
pakiety, jak i sposób ich pobierania: automatyczny bądź manualny. Jeśli
nasz SuSE pracuje w charakterze serwera, warto zainteresować się opcją
automatycznego pobierania poprawek o określonej przez nas porze.
Jeśli pobraliśmy z sieci jakiś pakiet RPM przygotowany dla dystrybu-
cji SuSE Linux, możemy zainstalować go na dwa sposoby:
• za pomocą polecenia
rpm -ihv nazwa_pakietu.rpm
;
• za pomocą YaST-a poleceniem:
yast2 -i nazwa_pkaietu.rpm
(bądź
yast -i nazwa pakietu.rpm
w trybie tekstowym).
• Ten sposób instalacji jest o tyle ciekawy, iż jeśli dany pakiet wymaga
bibliotek, których nie mamy zainstalowanych w systemie, zakomuni-
kuje to nam i poprosi o włożenie płytki, na której wymagany pakiet
jest dostępny.
Podsumowanie
SuSE Linux jest dystrybucją Linuksa, której z pewnością warto poświęcić
swoją uwagę. Określenie „niemiecka precyzja” nabiera w przypadku
SuSE realnych kształtów. Co by nie mówić na temat komercyjności tego
produktu (w Sieci nie są dostępne obrazy ISO), to trzeba przyznać, że
Niemcy stworzyli system, którym mogą pochwalić się na całym świecie.
Dobrej zabawy!
marzec 2004
34
grafika
GIMP 2.0
Kamila Folta
P
o ponad trzech latach od wydania GIMP-a
1.2, najpopularniejszego programu graficznego
dostępnego dla systemu Linux oraz rodziny BSD,
odpowiednika Photoshopa w Windows, dużo
zmieniło się w projekcie. Świadczą o tym opisy modyfikacji
dokonanych w kolejno wydawanych wersjach (gałąź roz-
wojowa – 1.3.x), które można prześledzić na witrynie http://
mmmaybe.gimp.org/. W tej chwili możemy zapoznać się
z wydaną na początku lutego wersją 2.0 pre3. Prace nada-
jące ostateczny kształt aplikacji w dalszym ciągu trwają,
jednak koncentrują się przede wszystkim na poprawianiu
błędów, usuwaniu drobnych usterek oraz optymalizacji
niektórych funkcji; nie należy się zatem spodziewać żad-
nych widocznych gołym okiem różnic między najnowszą
wersją rozwojową a mającą niedługo nadejść wersją stabil-
ną. W tym artykule przedstawię najciekawsze innowacje
w GIMP-ie 2.0.
Nowy GIMP
Na pytanie, dla kogo przeznaczony jest nowy GIMP, można
śmiało odpowiedzieć: dla wszystkich. Szczególnie będą
nim zainteresowani graficy komputerowi, osoby trudniące
się obróbką cyfrowych zdjęć, twórcy stron internetowych,
ilustratorzy książek czy twórcy animacji komputerowych.
Wszyscy ci, którzy chcą zajmować się tworzeniem cyfro-
wych obrazów oraz – być może – ich późniejszą publika-
cją, powinni zapoznać się z jego możliwościami w nowo
wydanej wersji 2.0, znacznie w stosunku do poprzedniej
rozbudowanymi.
Program jest bardzo intuicyjny w użyciu, co w praktyce
oznacza, że opanowanie „warsztatu technicznego” zajmuje
stosunkowo niewiele czasu.
Ponadto, GIMP jest produktem w pełni darmowym,
rozwijanym jako Wolne Oprogramowanie na licencji GPL.
Wobec istniejących na ryku komercyjnych programów do
obróbki obrazów, dla wielu osób stanowi on wyjątkowo
ciekawą i doskonale sprawdzającą się w praktyce alterna-
tywę.
Z punktu widzenia użytkownika korzystającego
z wcześniejszych wersji GIMP-a, wersja 2.0 przyniosła
wiele istotnych zmian: spójny interfejs graficzny oparty
na bibliotece GTK+ 2.0, ogromne możliwości konfiguracji
środowiska pracy, udoskonalone narzędzie ścieżek, menu
widoczne w oknie obrazu, skróty klawiszowe do wszyst-
kich opcji menu oraz możliwość ich przedefiniowania,
obsługę modelu kolorów CMYK, obsługę formatu SVG
i wiele innych.
Z punktu widzenia programisty ważną zmianą jest
udostępnienie znacznie udoskonalonego API do biblioteki
wtyczek libgimp w języku Python (rozszerzenie Gimp-
Python). Dzięki niemu można uzyskać bezpośredni dostęp
do takich obiektów, jak obraz, warstwa czy kanał, bez
konieczności manipulowania ich numerami ID, jak ma to
miejsce w języku skryptowym Script-Fu. Dodatkową zaletą
O autorce:
Autorka jest programistką. Zainteresowania: rysunek, gra-
fika komputerowa, algorytmika, kryptografia, literatura s-f.
W wolnych chwilach trenuje Aikido oraz zajmuje się tłuma-
czeniem dokumentacji języka Python.
Kontakt z autorką: autorzy@linux.com.pl.
Cechy GIMP-a 2.0:
• obsługa modelu kolorów CMYK;
• obsługa formatu SVG w ścieżkach;
• obsługa wszystkich fontów dostępnych w systemie;
• nowy interfejs użytkownika w oparciu o GTK+ 2.0;
• rozszerzone wsparcie dla formatu .PSD (Adobe Photo-
shop) i .XCF (GIMP);
• nowe i ulepszone narzędzia do tworzenia selekcji i ście-
żek oraz wykonywania operacji na nich;
• wiele nowych skryptów (głównie filtrów);
• możliwość współistnienia z GIMP-em 1.2 w tym samym
systemie;
• wydzielenie zestawu wtyczek Video do oddzielnego
modułu GAP.
Rysunek 1.
Zastosowanie filtru rozkładającego obraz na
składowe kolorów
35
www.linux.com.pl
gimp 2.0
użycia rozszerzenia jest fakt, że nie narzuca ono konieczno-
ści korzystania wyłącznie z bazy procedur PDB (Procedural
Database), gdyż pozwala na użycie całej biblioteki libgimp
i zapewnia dostęp do wielu funkcji niższego poziomu.
Obsługa modelu kolorów CMYK
Jedną z istotnych nowości w GIMP-ie, szczególnie dla osób
mających zamiar drukować swoją pracę, jest możliwość
używania modelu kolorów CMYK oraz przekształcanie do
tego modelu obrazu utworzonego wcześniej przykładowo
w modelu RGB. Odpowiedni filtr można znaleźć w menu
Filtry->Kolory->Rozłożenie.
Jego działanie polega na przekształceniu „źródłowego”
modelu kolorów obrazu (np. RGB) do modelu „docelowe-
go” (np. CMYK). Po przekształceniu nowy obraz jest zło-
żony z ciągu warstw reprezentujących składowe w modelu
docelowym. Co ciekawe, filtr ten oferuje konwersję do
innych modeli kolorów; na liście znajdziemy m.in.: RGB,
RGBA, CMY, CMYK, HSV, Alfa, LAB, YCbCr_ITU_R470.
Operacja rozkładania na składowe modelu jest opera-
cją odwracalną – do połączenia warstw służy filtr w menu
Filtry->Kolory->Złożenie.
Biorąc pod uwagę ogromne zainteresowanie użytkow-
ników GIMP-a tą właśnie funkcją, można przewidywać, że
jej włączenie do wersji 2.0 zostanie uznane za jedną z naj-
ważniejszych zmian.
Należy przy tym podkreślić, że GIMP 2.0 nadal nie
obsługuje modelu CMYK w taki sposób, jak np. słynny
Photoshop, czyli jako jednego z trybów pracy z obrazem. To
chyba najpoważniejszy z mankamentów GIMP-a z punktu
widzenia osób chcących go wykorzystać w poligrafii.
Obsługa formatu SVG
Istniejące w GIMP-ie narzędzie służące do tworzenia ście-
żek (opisanych wektorowo przy użyciu krzywych Beziera)
uzyskało w wersji 2.0 niezwykle wartościowe rozszerzenie
– każdą ze ścieżek można obecnie zapisać w formacie SVG.
Dostępne jest również utworzenie nowej ścieżki poprzez
import pliku SVG (Scallable Vector Graphics). SVG jest
zaproponowanym przez W3C i opartym na języku XML
formatem do zapisu grafiki wektorowej, który powoli staje
się nowym standardem graficznym. Główną zaletą formatu
SVG jest jego powszechna obsługa przez istniejące aplika-
cje, m.in. przez programy graficzne firmy Adobe.
W ramach projektu GNOME powstał doskonały program
do tworzenia grafiki wektorowej, oparty na SVG – Sodipo-
di. Połączenie dwóch znakomitych programów graficznych,
GIMP-a i Sodipodi, otwiera przed artystami zupełnie nowe
możliwości. Sodipodi oferuje szeroką paletę wygodnych
i efektywnych narzędzi do tworzenia grafiki wektorowej,
którą w ostatecznym kształcie możemy następnie przenieść
do GIMP-a i wkomponować w obraz rastrowy.
Fonty w GIMP-e
Pobieranie informacji o czcionkach odbywa się w GIMP-
ie 2.0, podobnie jak w większości nowoczesnych progra-
mów działających pod X11, w oparciu o program o nazwie
Font-config. W pliku konfiguracyjnym /etc/fonts/font.conf
znajdują się informacje dotyczące zainstalowanych w syste-
mie czcionek (zapisane w formacie XML), w szczególności
zaś ścieżki zawierających je katalogów. Jednym z nich jest
~/.fonts, czyli podkatalog katalogu domowego bieżącego
użytkownika.
W przypadku, gdy chcemy dodać potrzebną czcion-
kę do istniejącego zestawu, wystarczy umieścić ją w tym
Historia GIMP-a
W grudniu 2000 roku rozpoczęła się nowa era w dziejach
jednego z najpopularniejszych programów do obróbki grafiki
o nazwie GIMP (GNU Image Manipulation Program). Wtedy
to, po wydaniu GIMP-a 1.2, Sven Neumann i Michael Natte-
rer wysłali na listę dyskusyjną gimp-developer dokument pt.
„The future of The GIMP” („Przyszłość GIMP-a”). Stanowił on
swoistą deklarację twórców programu dotyczącą jego dalszego
rozwoju.
GIMP 1.2.x
Linia wydań GIMP-a 1.2.x była uznawana powszechnie za
linię stabilną (ang. Maintanance Branch) i stanowiła pierwszą
z opisanych przez autorów dokumentu gałęzi GIMP-a. Dalszy jej
rozwój miał być ograniczony do drobnych poprawek istniejące-
go kodu, a nowe wydania (wersje 1.2.x) mogłyby pojawiać się
wyłącznie w przypadku znalezienia poważnych błędów.
GIMP 1.3.x
Linia wydań GIMP-a 1.3.x miała być linią „roboczą”. Jednym
z podstawowych celów tego wydania GIMP-a było oparcie kodu
na bibliotece GTK+ w wersji 2.0 oraz oczyszczenie wewnętrz-
nych struktur danych. Zarówno zestaw realizowanych zadań,
jak i wygląd programu, miały pozostać bez większych zmian.
GIMP 2.0.x
Wizja GIMP-a 2.0 w oczach jej twórców odsunięta była dość
daleko w przyszłość, dlatego plany jej dotyczące nie zostały
zbyt wyraźnie określone. Najistotniejsze wydawało się użycie
bibliotek GEGL (do przetwarzania obrazu) oraz GCim (rozsze-
rzenie XML-a dla GTK).
Rysunek 2.
Połączenie warstw daje w wyniku obraz wejściowy
marzec 2004
36
grafika
właśnie katalogu. Ponieważ GIMP korzysta z font-configa,
dodana czcionka będzie w nim natychmiast widoczna (ze
względu na fakt zapisywania dostępnych czcionek w pliku
cache, może okazać się konieczne ponowne zbudowanie
pliku informacji o czcionkach; należy w tym celu urucho-
mić program fc-cache z parametrem będącym nazwą kata-
logu, w którym znajduje się plik z czcionką).
W GIMP-ie 2.0 dużą uwagę poświęcono wykorzysty-
waniu czcionek True Type z lokalnym kodowaniem. Wpro-
wadzono obsługę m.in. tak odległych od naszego systemu
kodowania jak Indonezyjski czy Koreański. Najważniejsze
dla nas jest jednak to, że bardzo powiększyła się liczba
dostępnych czcionek z polskimi znaczkami, których zasto-
sowanie nie sprawia żadnego problemu.
Interfejs
Spójrzmy na wspomnianą wersję rozwojową i prześledźmy
ważniejsze zmiany w odnowionym interfejsie użytkownika,
a także nowości i ciekawostki, o których po prostu warto
wiedzieć, np. dodanie trybu pełnoekranowego (standardo-
wo opcja ta dostępna jest pod klawiszem [F11]).
Ikonki
Już pierwszy rzut oka na główne okno programu, zawie-
rające zestaw ikon narzędziowych, wystarczy, aby docenić
estetyczny aspekt przejścia na GTK+ 2.x. Nowe, kolorowe
ikonki narzędzi to tylko początek listy niespodzianek.
Rozbudowane menu główne, okna dialogowe narzędzi
do obróbki kolorów czy też menu udostępniające operacje
na obrazie lub warstwie, zostały ożywione dzięki umiesz-
czeniu przy nich reprezentujących je ikon, wykonanych
z niemal artystycznym kunsztem.
Menu
Dostęp do opcji menu, realizowany od zawsze poprzez
kliknięcie prawym przyciskiem w obszarze okna z obra-
zem, doczekał się nowego wcielenia. Będą nim szczególnie
zainteresowani ci użytkownicy GIMP-a, którzy dotychcza-
sowe menu uważali za niewygodne w obsłudze. Można je
teraz zobaczyć na pasku menu znajdującym się w oknie
z obrazem. Menu kontekstowe będzie w dalszym ciągu
dostępne pod prawym przyciskiem myszy, dzięki czemu
zmiana ta nie będzie kłóciła się z dotychczasowymi przy-
zwyczajeniami zaawansowanych użytkowników. Pełne
entuzjazmu wypowiedzi osób korzystających z wersji 1.3
świadczą o tym, że zmiana ta została przyjęta z radością,
a w niektórych przypadkach również z głębokim odde-
chem ulgi.
Zakładki
Rewolucyjną zmianę, pozwalającą na dostosowanie środo-
wiska GIMP do własnych, indywidualnych potrzeb, stano-
wią zakładki, dzięki którym możliwe jest skonfigurowanie
zawartości okien dialogowych.
Najważniejszą cechą zakładek, decydującą o ich
przydatności, jest mobilność – zakładki można przenosić
między oknami dialogowymi, co daje niezwykłe wprost
możliwości konfiguracji „miejsca pracy” w sposób, który
odpowiada użytkownikowi najbardziej. Każda z zakła-
dek znajdujących się w oknach dialogowych może zostać
dodana lub usunięta przy pomocy menu kontekstowego
zakładki. Inne opcje, zawarte w tym menu, pozwalają na
zmianę sposobu etykietowania zakładek. Widocznym ele-
mentem identyfikującym zakładkę może być tekst, ikona
lub ikona wraz z tekstem. Ikony występują w dziewięciu
różnych rozmiarach; elementy, które prezentuje zakładka
(np. Gradienty, Pędzle czy Czcionki) można wyświetlić
w postaci listy lub siatki (tabeli).
Skróty klawiszowe
Skróty klawiszowe zdefiniowane w programie pozostaną
prawdopodobnie takie same, przy czym do listy znanych
skrótów dodano kilka nowych (np. możliwość obcięcia
obrazu lub warstwy do granicy zaznaczenia). Przyzwycza-
jenia, które zdążyliśmy nabyć podczas pracy z poprzednią
wersją programu, a które być może stały się naszą drugą
naturą, będą wobec tego w dalszym ciągu pomocne.
W Internecie pojawiła się ostateczna wersja listy skrótów
klawiszowych dla poleceń występujących w GIMP-ie 2.0,
Rysunek 3.
Używając Nautilusa można szybko przejrzeć
zainstalowane w systemie czcionki
Rysunek 4.
Stare (po lewej) i nowe (po prawej) okno narzędziowe
programu GIMP
37
www.linux.com.pl
gimp 2.0
dostępna pod adresem http://www.webone.com.au/~oc/
gimp/keybindings.pdf.
GIMP umożliwia dynamiczne przypisanie skrótów klawi-
szowych do poleceń znajdujących się w menu, co pozwala
na łatwą zmianę domyślnych wartości skrótów. Inaczej niż
w wersji 1.2, możliwość taka jest domyślnie wyłączona. Aby
móc z niej korzystać, należy ją włączyć w oknie „Preferencje”
(Preferencje -> Interfejs -> Dynamiczne Skróty klawiszowe).
Istnieje również możliwość przywrócenia standardowych
skrótów klawiszowych bez konieczności ponownego uru-
chomienia GIMP-a, a także automatycznego zapisywania
skrótów przy zakończeniu programu oraz ich automatyczne-
go ładowania przy jego uruchamianiu.
Preferencje
Dostosowanie środowiska pracy w GIMP-ie do indywidu-
alnych upodobań nie byłoby możliwe bez pomocy rozbu-
dowanego okna „Preferencje”. Podział opcji na kategorie
został zmieniony w taki sposób, aby korzystanie z nich
stało się w nowej wersji jeszcze łatwiejsze i bardziej intuicyj-
ne. Zmieniono położenie opcji znajdujących się w kategorii
„Session” (sesja) (zapisanie położenia okien lub stanu urzą-
dzenia przed zakończeniem programu) – opcje te zostały
przeniesione do kategorii „Interfejs”.
Do istniejącej wcześniej możliwości wyboru informacji
pojawiających się na pasku tytułowym okna z obrazem,
została dodana możliwość konfiguracji informacji poja-
wiających się na pasku stanu. Do zapisania tych informacji
używany jest prosty format tekstowy. Duża liczba udostęp-
nionych wzorców może służyć jako podstawa do definio-
wania oraz zapisywania własnych wzorców.
Dodano również możliwość określenia koloru otacza-
jącego widoczną część płótna do rysowania. Kolor ten
może być pobierany z bieżącego, stosowanego w systemie
motywu, może być taki sam, jak kolor jasnego lub ciemne-
go zaznaczenia, lub ustalony dowolnie przez użytkownika.
Ustawienie to dotyczy zarówno widoku obrazu w trybie
okienkowym, jak i widoku pełnoekranowego. Dla każdego
z tych widoków można ponadto określić widoczność takich
elementów, jak paski menu, stanu i przewijania oraz piono-
we i poziome linijki.
Do opcji regulujących stopień użycia zasobów została
dodana opcja „Maksymalna pamięć dla historii operacji”.
Pozwala ona na określenie wielkości pamięci, jaka może
zostać użyta do przechowania informacji o operacjach
wykonanych podczas pracy. Jeżeli pamięć ta zostanie cał-
kowicie wykorzystana, informacje o części z wykonanych
w przeszłości operacji zostaną utracone i nie będzie możliwe
ich cofnięcie.
Nowością jest również możliwość wybrania dowolnego
spośród motywów zdefiniowanych w kategorii „Interfejs”.
W chwili obecnej oprócz motywu domyślnego znajduje się
tam jeszcze motyw „Small”, pozwalający na zmniejszenie
wielkości elementów graficznych GTK, dzięki czemu na
pulpicie pozostaje więcej miejsca na rozmieszczenie np.
okien z grafiką. W oknie preferencji można także skonfigu-
rować domyślną siatkę obrazu. Konfigurację siatki można
poza tym ustalać dla każdego obrazu korzystając z opcji
menu Obraz -> Skonfiguruj siatkę.
Prawie wszystkie zmiany dokonane w oknie „Preferen-
cje” są widoczne natychmiast, bez konieczności ponowne-
go uruchamiania programu.
Narzędzia
Wśród nowych opcji narzędzi można znaleźć prawdziwe
„perełki”. Docenią je wszyscy użytkownicy, którzy z GIMP-
em pracują na co dzień i dla których nawet drobne popraw-
ki wprowadzone w nowej wersji znacznie ułatwiają pracę.
Przesuwanie
Na ciekawe nowości można natknąć się wśród narzędzi,
które pozornie nic nowego nie mogą zaoferować. Do takich
narzędzi należy na przykład narzędzie „Move” (Przesunię-
cie – klawisz [M]). Można je wykorzystać do przesuwania
Rysunek 5.
Efekt przejścia na bibliotekę GTK+ 2.x na przykładzie
okna dialogowego służącego do modyfikacji poziomów kolorów
obrazu (stare – po lewej, nowe – po prawej stronie)
Rysunek 6.
Zakładki pozwalają na dowolną konfigurację narzędzi
i widoków, dostosowując środowisko pracy do aktualnych potrzeb
(przykładowa konfiguracja zakładek w GIMP-ie używana przez
autorkę)
marzec 2004
38
grafika
trzech rodzajów obiektów: warstw, zaznaczeń oraz ścieżek.
Przesunięcie dotyczy obiektów takiego typu, jaki został
wybrany w opcjach narzędzia – otrzymujemy je po kliknię-
ciu lewym klawiszem na ikonce narzędzia (typy obiektów
reprezentowane są przez trzy ikony). Możliwa jest również
zmiana typu przesuwanych obiektów w trakcie używania
tego narzędzia: domyślnie wybranym typem jest „warstwa”;
wciśnięcie i przytrzymanie klawisza [Alt] zmienia typ obiek-
tu na „zaznaczenie”, natomiast wciśnięcie i przytrzymanie
klawisza [Ctrl] powoduje, że przesuwane będą obiekty typu
„ścieżka”. Działanie narzędzia może być dodatkowo modyfi-
kowane poprzez przyciśnięcie klawisza [Shift], które powo-
duje zmianę sposobu wybierania obiektu do przesunięcia
– możemy wybrać obiekt (ścieżkę, warstwę) aktywny (tj.
wybrany na liście warstw / ścieżek) lub obiekt, nad którym
w danym momencie znajduje się wskaźnik myszy (czy
innego używanego narzędzia). „Przesunięcie” może ponadto
zostać uaktywnione w czasie, gdy inne narzędzie jest narzę-
dziem bieżącym – zachowanie takie można uzyskać poprzez
naciśnięcie i przytrzymanie spacji. Liczba wszystkich moż-
liwych kombinacji trybów działania tego narzędzia może
przyprawić o ból głowy. Niewątpliwie jednak opanowanie
ich wszystkich daje ogromną swobodę działania i pozwala
na zwiększenie efektywności pracy.
Dla przykładu, otwórzmy dowolny rysunek, klawiszem
[R] uaktywnijmy zaznaczanie prostokątnych obszarów,
wykonajmy zaznaczenie, a następnie, po wciśnięciu klawi-
sza [M] i wybraniu odpowiedniego typu obiektu, przesuńmy
to zaznaczenie.
Zaznaczanie
Trudno wyobrazić sobie pracę z programem graficznym
bez możliwości zaznaczania pewnych obszarów obrazu
i wykonywania na nich operacji graficznych. W GIMP-ie
do zaznaczania obszarów służy kilka narzędzi: zaznaczenie
obszarów prostokątnych, zaznaczenie obszarów eliptycz-
nych, odręczne zaznaczanie obszarów, zaznaczanie sąsia-
dujących obszarów, zaznaczanie przy użyciu krzywych
Beziera oraz zaznaczanie kształtów w obrazie. Do okna
dialogowego prezentującego opcje aktualnie wybranego
narzędzia do wyboru fragmentu obrazu dodano elementy
udostępniające jeden z czterech dostępnych trybów narzę-
dzia: zastępowanie, dodawanie, odejmowanie bądź przeci-
nanie zaznaczenia.
Jako ciekawostkę służącą każdemu, kto regularnie
posługuje się zaznaczeniami, warto wskazać na Edytor
zaznaczenia (Okna dialogowe -> Edytor zaznacze-
nia), będący nowym okienkiem dialogowym, łączącym
w jednym miejscu zestaw operacji związanych z zaznacza-
niem: zaznaczanie całego obrazu, rezygnacja z zaznaczenia,
odwrócenie zaznaczenia, zapisanie zaznaczenia do kanału,
zapisanie zaznaczenia do ścieżki oraz obcięcie zaznacze-
nia.
Dla przykładu, otwórzmy dowolny obrazek, wybierzmy
myszką z narzędzi zaznaczanie obszarów według kolorów,
a następnie kliknijmy w dowolny fragment obrazka – zosta-
nie zaznaczony obszar o tym samym kolorze.
Przekształcenia
Narzędzie, dzięki któremu możliwe było przeskalowanie,
obrócenie, ścięcie oraz nadanie perspektywy (w zależności
od wyboru odpowiedniej opcji narzędzia) zostało w GIMP-
ie 2.0 zastąpione serią czterech narzędzi, przy czym każde
z nich odpowiada za wykonanie jednego z wymienio-
nych przekształceń. Dzięki tej zmianie możliwe stało się
umieszczenie w oknie dialogowym „Opcje narzędzia” opcji
właściwych dla określonego przekształcenia. Właściwości
przekształceń mogą być teraz niezależnie zapamiętywane.
Rysunek 7.
Zakładki można swobodnie zagnieżdżać wewnątrz
i przemieszczać pomiędzy oknami, zwanymi „dokami”
Rysunek 8.
Możliwość aktualizowania większości ustawień
programu bez konieczności jego ponownego uruchamiania
stanowi cenną zaletę GIMP-a – okno preferencji oferuje wiele
nowych i ciekawych opcji, z którymi warto się zapoznać
39
www.linux.com.pl
Nowością wśród opcji narzędzi jest możliwość wyboru
algorytmu interpolacji (brak interpolacji, interpolacja linio-
wa oraz sześcienna), wykorzystywanego do renderowa-
nia przekształconego obrazu oraz wyboru widoku siatki
przekształcenia (brak siatki, określenie liczby linii siatki,
określenie odległości między liniami siatki), dostępnych
w postaci list rozwijanych.
Kolejnym ważnym udoskonaleniem jest możliwość
zastosowania przekształcenia nie tylko do bieżącej warstwy,
jak miało to miejsce w GIMP-ie 1.2, lecz także do bieżącego
zaznaczenia oraz do bieżącej ścieżki. Ta ostatnia cecha staje
się szczególnie istotna dla twórców intensywnie korzystają-
cych z narzędzia służącego do tworzenia ścieżek.
Dla przykładu, otwórzmy dowolny rysunek, klawiszem
[E] uaktywnijmy zaznaczanie eliptycznych obszarów, wyko-
najmy zaznaczenie, a następnie, po wciśnięciu klawisza
[Shift]+[R] i wybraniu odpowiedniego typu obiektu, obróć-
my to zaznaczenie.
Narzędzie ścieżek
Nowa wersja tego narzędzia już na pierwszy rzut oka
wydaje się być łatwiejsza w obsłudze niż ta, do której zdą-
żyliśmy się już przyzwyczaić. Odświeżony interfejs pozwala
na manipulację poszczególnymi węzłami w sposób, który
nie wymaga już przełączania trybu pracy w oknie z opcja-
mi narzędzia. Wszystkie operacje: dodawanie, usuwanie
oraz przemieszczanie węzłów, dodawanie nowych ścieżek
i modyfikacja kształtu krzywych tworzących ścieżkę, są
dostępne przy pomocy klawiszy [Alt], [Shift] i [Ctrl]. Ścież-
ki, traktowane w sposób zbliżony do sposobu traktowa-
nia warstw, można wyświetlać lub ukrywać w głównym
widoku obrazu, włączając lub wyłączając dobrze znaną
ikonę widoczności obiektu (przedstawiającą oko) na liście
zdefiniowanych ścieżek. Ponadto, każdą taką ścieżkę
można narysować, stosując pociągnięcie po ścieżce, które-
go szczegóły należy określić przy pomocy okna dialogowe-
go „Wybór stylu pociągnięcia”.
Wtyczki
Wszystkim tym, którzy poszukują nowych wrażeń, polecam
stronę http://registry.gimp.org/, zawierającą zestaw wtyczek
tworzonych przez ludzi, którzy uznali, że z możliwości roz-
Rysunek 9.
Edytor zaznaczenia pozwala na jego podgląd oraz na
wykonywanie operacji na zaznaczeniu
marzec 2004
40
grafika
nywane na obrazie operacje mogą być automatyczne
propagowane do wszystkich ramek z wybranego zakresu.
Ramki wideo mogą być utworzone na kilka sposobów:
na podstawie pojedynczego pliku (.xcf ) (tworzona jest
określona liczba kopii), na podstawie obrazu zawierające-
go wiele warstw (wówczas każda z warstw staje się klatką
animacji) oraz na podstawie zbioru istniejących w systemie
plików obrazów, pod warunkiem zachowania określonej
konwencji nazw (taki sam przedrostek, po którym znajduje
się numer klatki, np. anim_001.xcf, anim_002.xcf itd.). Do
przydatnych podczas tworzenia animacji narzędzi należy
bez wątpienia MovePath, służący do określania ścieżek, po
których będą poruszały się animowane obiekty.
Przejścia między ramkami opisane są przy pomocy
szeregu parametrów, określających skalowanie, obrót czy
przekształcenie perspektywy, która mają się dokonać na
animowanym obiekcie. Wtyczki oferują również możliwość
konwersji ramek do obrazu wielowarstwowego, możliwość
zastosowania operacji typowych dla pojedynczej warstwy
do wszystkich warstw ramek z pewnego zakresu (ustale-
nie widoczności, łączenie, zmiana kolejności, dodawanie
masek warstwy) czy użycia efektu bluebox, który pozwala
na uczynienie wybranego koloru przezroczystym.
Utworzoną animację można wyświetlić przy użyciu
wtyczki Playback, ustalając takie parametry, jak np. roz-
miar, szybkość odtwarzania, zakres animowanych ramek
czy zapętlenie.
Rysunek 11.
Narzędzie służące do definiowania ścieżek,
po których poruszają się animowane obiekty i zestaw wtyczek
w pakiecie GIMP GAP
W Sieci:
• Strona domowa GIMP-a:
http://www.gimp.org/
• Dokument „Przyszłość GIMP-a”:
http://kt.zork.net/gimp/gd20010522_43.html
• Nauka GIMP-a:
http://www.gimp.signs.pl/gimpowanie.shtml
http://www.artgabi.com.pl/gimp_tutoriale.html
szerzenia GIMP-a warto skorzystać. Wtyczki, które można
tam znaleźć, podzielone są według kategorii (renderowa-
nie, szumy, mapy kolorów, opcje kanałów, transformacje,
rozmywanie, artystyczne) oraz typu (dotyczące różnych
wersji GIMP-a oraz utworzone przy użyciu różnych języ-
ków: Pythona, Perla czy Script-Fu). Przykładowo, w kate-
gorii wtyczek „artystycznych” można znaleźć takie, dzięki
którym nasz obraz zostanie otoczony ramką albo szeregiem
„rozmytych” punktów, czy też takie, które dodają do obrazu
efekty świetlne (światło punktowe oraz kierunkowe) oraz
refrakcyjne; z kategorii „obraz” można ściągnąć wtyczkę
oferującą trójkątne zaznaczenie czy też tworzącą obrazy
stereoskopowe, albo taką, która dzieli obraz na n równych,
prostokątnych części (
n = col * row
, col – liczba kolumn,
row – liczba wierszy).
GIMP Animation Package
Niedawno pojawiła się informacja o wydaniu pierwszej
wersji pakietu do animacji w GIMP-ie – GIMP Animation
Package dla GIMP-a-2.0 (ftp://ftp.gimp.org/pub/gimp/plug-
ins/v2.0/gap/testing/ ). Pakiet ten znacznie rozszerza możli-
wości GIMP-a w obszarze tworzenia animacji, które powstają
w oparciu o zestaw ramek (w wersji 1.2 był integralną częścią
GIMP-a). Niestety, nie jest jeszcze dostępna strona poświę-
cona temu pakietowi, która zawierałaby jego pełną doku-
mentację wraz z przykładami użycia. Ponieważ jest to jedna
z pierwszych wtyczek napisanych dla GIMP-a 2.0, przyjrzy-
my się jej dokładniej.
Główną ideą GIMP-GAP-a, będącego w rzeczywistości
nie jedną, lecz zbiorem wielu wtyczek, stanowi możliwość
dokonywania operacji na zbiorze obrazów, podobnie jak
operacji na obrazie pojedynczym. Każda ramka animacji
może posiadać wiele warstw; między ramkami można prze-
mieszczać się przy pomocy skrótu klawiszowego, a wyko-
Rysunek 10.
Okno dialogowe „Wybór stylu pociągnięcia”
umożliwia zdefiniowanie szczegółów rysowania pociągnięcia dla
wybranej ścieżki
marzec 2004
42
grafika
Adobe Photoshop i Linux
Piotr Truszkowski
A
dobe Photoshop to profesjonalny pakiet gra-
ficzny, znany na całym świecie. Pomimo tego,
iż na Linuksie mamy inne programy tego ty-
pu (np. omawiany w tym numerze GIMP), to
Photoshop stał się standardem w studiach graficznych.
Czemu nie pokusić się o uruchomienie tego pakietu gra-
ficznego na naszym Linuksie?
Wine
Aby rozpocząć naszą przygodę z Photoshopem, musimy
zaopatrzyć się w pakiet Wine, który jest próbą przeniesie-
nia API Windows na systemy uniksowe, w tym Linuksa.
Wykorzystajmy w tym celu wersję Wine-20031212, ponie-
waż w nowszych edycjach napotkano trochę problemów.
Rozpoczynamy od udania się na stronę projektu, dostępną
pod adresem http://www.winehq.org/. Z menu Downlo-
ad wybieramy Source i jeden z dostępnych serwerów
lustrzanych, z którego pobierzemy wymienioną wcześniej
wersję Wine. Po ściągnięciu pliku (znajduje się również
na płycie CD i DVD), wydajemy komendę
tar -xzvf Wine-
20031212.tar.gz
, dzięki której archiwum zostanie rozpako-
wane. Udajemy się do katalogu wine-20031212:
cd wine-20031212
Czeka nas teraz kompilacja Wine'a. Potrzebne nam będą:
• jądro w wersji co najmniej 2.2.x;
• pakiet X11 development;
• GCC w wersji co najmniej 2.7.2;
• opcjonalnie, jeśli chcemy korzystać z drukowania:
CUPS i CUPS-devel.
Wymienione powyżej pakiety są dostępne w większości
popularnych dystrybucji Linuksa. Po instalacji wymienio-
nych narzędzi, w katalogu z naszymi źródłami Wine (wine-
20031212) wydajemy następujące polecenia:
•
./configure –prefix=/usr
– konfiguracja programu
(zmienna –prefix=/usr określa miejsce jego instalacji);
•
make depend
– utworzenie odpowiednich zależności;
•
make
– właściwa kompilacja;
•
make install
– instalacja programu do miejsca, które
podaliśmy przy zmiennej –prefix.
Jeśli wszystko przebiegło pomyślnie (nie otrzymaliśmy żad-
nych błędów podczas kompilacji, a program wine znajdu-
je się w katalogu /usr/bin/ ), to nasz emulator jest prawie
gotowy do pracy.
Konfiguracja Wine
Co nam po programie, jeśli nie mamy do niego plików kon-
figuracyjnych? Zajmiemy się teraz nimi. W katalogu z naszy-
mi źródłami znajdziemy katalog documentation, a w nim
podkatalog samples. Znajdują się tam przykładowe pliki
konfiguracyjne dla naszego Wine'a. Zacznijmy od stwo-
rzenia w naszym katalogu domowym ukrytego katalogu
o nazwie wine:
cd /home/nazwa_użytkownika
mkdir .wine
Skopiujmy przykładowe pliki konfiguracyjne do naszego
ukrytego katalogu wine:
Rysunek 1.
Uruchomienie Adobe Photoshopa
Listing 1.
Określenie wersji Windows
[Version]
; Windows version to imitate
S
(win95,win98,winme,nt351,
S
nt40,win2k,winxp,win2k3,win20,win30,win31)
;"Windows" = "win98"
; DOS version to imitate
;"DOS" = "6.22"
43
www.linux.com.pl
Adobe Photoshop i Linux
cp wine-20031212/documentation/samples/*.* /home/nazwa_
użytkownika/.wine/
Musimy jeszcze stworzyć odpowiednie podkatalogi:
mkdir /home/nazwa_użytkownika/.wine/c
mkdir /home/nazwa_użytkownika/.wine/c/windows
mkdir /home/nazwa_użytkownika/.wine/c/windows/Fonts
mkdir /home/nazwa_użytkownika/.wine/c/windows/system
Zajmijmy się teraz edycją pliku config, znajdującego się
w ukrytym katalogu .wine, aby dopasować go do potrzeb
naszego Photoshopa. Interesuje nas tak naprawdę tylko
jedna zmienna:
;"Windows" = "wersja_windows"
. W miejsce
wersja_windows wpiszmy win98, aby wyglądało to tak, jak
na Listingu 1. Zapisujemy zmiany.
Pozostaje nam już tylko skopiowanie czcionek z Win-
dows do naszego ukrytego katalogu wine, aby nasz Photo-
shop wyświetlał wszystko poprawnie:
cp /miejsce_zamontowania_windowsa/windows/Fonts/*.*
S
/home/nazwa_użytkownika/.wine/c/windows/Fonts/
Nasz Wine został skonfigurowany. Czas zmusić naszego
Photoshopa do współpracy.
Adobe Photoshop
Skoncentrujemy się na wersji 30-dniowej tego popularnego
programu graficznego (została ona załączona do pierwsze-
go numeru nowego dwumiesięcznika .PSD oraz na płycie
DVD z Linux+). Aby uruchomić instalator, uruchamiamy
konsolę systemową, przechodzimy do miejsca z instalato-
rem i wydajemy komendę:
wine ADOBE_PHOTOSHOP_7_TRYOUT.EXE
Uruchomi się instalator, który poprowadzi nas przez cały
proces instalacji. Jako ścieżkę instalacyjną warto wybrać C:
/Photoshop, dzięki czemu zaoszczędzimy sobie wpisywania
długiej ścieżki aby uruchomić sam program. Po zainstalo-
waniu, aby uruchomić Photoshopa, wpisujemy:
wine /home/nazwa_użytkownika/.wine/c/Photoshop/Photoshop.exe
Po kilku chwilach powinniśmy ujrzeć ekran powitalny
naszego nowo zainstalowanego programu.
Podsumowanie
Adobe Photoshop to tylko jeden z wielu programów przygo-
towanych dla systemu Windows, który bez większych pro-
blemów daje się uruchomić na Linuksie za pomocą Wine.
Komfort pracy jest wystarczający, a całość pracuje bardzo
stabilnie nawet pod dużym obciążeniem. Jakość pracy nie
odbiega od tej, jaką uzyskamy uruchamiając Adobe Pho-
toshop na dedykowanej mu platformie systemowej, czyli
Microsoft Windows. Bez problemu uruchomiliśmy także
Adobe InDesign, Płatnika i wiele innych. Polecam ekspe-
rymentować i życzę dobrej zabawy podczas pracy z Adobe
Photoshopem pod Linuksem.
Rysunek 2.
Czcionki dostępne w Photoshopie zostały
przekopiowane z Windows
Rysunek 4.
Praca z wieloma grafikami nie sprawia problemów
Rysunek 3.
Pełna obsługa formatu TIFF jest z pewnością
ogromną zaletą
marzec 2004
44
linux w biznesie
Płatnik 5 na Linuksie
Krzysztof Krawczyk
P
rogram Płatnik, wymagany do przygotowywania
dokumentów dla ZUS-u, nie jest dostępny na
Linuksa – został stworzony tylko na platformę
Windows. Taka sytuacja jest przykładem nierów-
nego traktowania różnych systemów operacyjnych przez
administrację rządową. Z tego powodu zostały rozpoczęte
prace nad Janosikiem, darmowym i otwartym odpowiedni-
kiem programu Płatnik, którego będzie można wykorzystać
na Linuksie, Windowsie, FreeBSD oraz Mac OS. Zanim
jednak prace nad nim zostaną zakończone, minie jeszcze
trochę czasu. Z tego powodu warto zainteresować się możli-
wością uruchomienia programu Płatnik na Linuksie pod kon-
trolą narzędzia o nazwie Wine. W tym artykule przedstawię
instrukcję, jak skorzystać z Płatnika 5 pod Linuksem.
Wine
Podstawowym elementem układanki, kluczowym dla suk-
cesu, jest pakiet Wine. Jego źródła można znaleźć na stro-
nie domowej projektu (http://www.winehq.com/ ). Pakiety
binarne (w różnych wersjach) dostępne są we wszystkich
popularnych dystrybucjach Linuksa. My skorzystamy
z wersji Wine 20030916 (sprzed pół roku) – nie sprawia
ona problemów, w przeciwieństwie do niektórych now-
szych.
Opis instalacji Wine można znaleźć w artykule dotyczą-
cym wykorzystania Photoshopa na Linuksie – znajduje się
również w tym numerze (str. 42).
Wymagane narzędzia
Wykorzystamy gotowy skrypt platnik5_set.sh (znajduje się
na płycie CD i DVD), który zajmuje się przygotowaniem
odpowiedniego środowiska do uruchomienia instalacji
Płatnika.
Aby skorzystać z tego pliku, musimy posiadać w sys-
temie narzędzie uudecode. Można je znaleźć w pakiecie
sharutils, więc wystarczy odnaleźć pakiet binarny o tej
nazwie (rpm, deb) na płytach instalacyjnych dystrybucji
i zainstalować go.
Innym narzędziem, które będzie potrzebne, jest
Cabextract (www.kyz.uklinux.net/cabextract.php). Umoż-
liwia ono rozpakowywanie windowsowych archiwów
cab. Instalacja tego programu ze źródeł jest bardzo prosta
(
./configure; make; make install
wykonane w katalogu
utworzonym po rozpakowaniu archiwum), ale można także
skorzystać z gotowych pakietów binarnych.
Pozostałe narzędzia, takie jak Wget, Bzip2, Tar czy
Sha1sum, powinny być już dostępne w systemie.
Instalacja Płatnika
Na początku musimy stworzyć nowego użytkownika, np.
o nazwie platnik, nadać mu hasło i przelogować się na
niego:
adduser platnik ; passwd platnik ; su – platnik
Konieczne jest także pozwolenie na uruchamianie aplikacji
graficznych użytkownikowi platnik (zakładam, że pracuje-
my w środowisku graficznym, a wszystkie czynności wyko-
nujemy w graficznym terminalu). Aby tego dokonać, należy
w innym okienku terminala wykonać komendę
xhost +
.
Kolejnym krokiem jest uruchomienie pobranego wcze-
śniej skryptu platnik5_set.sh:
sh ./platnik5_set.sh
Utworzy on katalog platnik5_set, do którego musimy wejść
i w którym uruchamiamy skrypt setup_all:
cd platnik_set ; ./setup_all
Rysunek 1.
Płatnik na Linuksie
Płatnik 6 na Linuksie
Istnieje także możliwość uruchomienia programu Płatnik 6.
Zasada jest taka sama jak w przypadku Płatnika 5 (określa-
nego również jako II) – trzeba zainstalować Wine 20031212,
pobrać przygotowany skrypt platnik_set.sh, uruchomić go,
a po rozpakowaniu danych skorzystać ze skryptu setup_all.
45
www.linux.com.pl
płatnik na linuksie
Jeśli w katalogu platnik_set nie zostanie znalezione opro-
gramowanie potrzebne do przeprowadzenia instalacji,
skrypt setup_all pobierze je z Sieci. Niezbędne składniki
to: biblioteka libeay32.dll, program WordViewer97 (posiada
potrzebną bibliotekę riched20.dll), komponenty dcom98,
instalator przeglądarki Internet Explorer 6SP1, instalator
MDAC w wersji 2.1 oraz oczywiście instalator programu
Płatnik (pełna wersja – jeden plik).
Gdy będziemy już posiadali wszystkie elementy opro-
gramowania, rozpocznie się ich instalacja.
Instalator Internet Explorera będzie wymagał od nas
zaakceptowanie licencji oraz wybrania rodzaju instalacji
(należy wybrać minimalną). Podczas jego instalacji mogą
zostać zgłoszone różne błędy – trzeba je zignorować i kon-
tynuować wciskając przycisk OK.
Instalator Płatnika będzie od nas wymagał określenia
miejsca instalacji – trzeba wskazać katalog c:\platnik. Jeżeli
podczas ustalania konfiguracji konta administratora nie
będziemy mogli wprowadzać danych, należy najpierw klik-
nąć w pole Hasło, a potem wrócić do pierwszego pola.
Uruchamianie Płatnika
Aby uruchomić zainstalowanego właśnie Płatnika, należy
przejść do katalogu wine/c/platnik i wykonać komendę:
wine p2.exe
W otworzonym oknie będziemy musieli określić nowego
płatnika bądź skorzystać z wcześniej wprowadzonych
danych pod Windowsem.
Napotkane problemy
Aby korzystać z wbudowanego pobierania/wysyłania
dokumentów oraz pobierania certyfikatów, musimy ręcznie
podmienić plik anim.dat na pustą animację – został przy-
gotowany odpowiednik plik.
Gdy chcemy wprowadzać polskie znaki, musimy sko-
rzystać z Notatnika (
wine notepad
) i mechanizmu skopiuj/
wklej – w przeciwnym przypadku, zamiast polskich
znaków, otrzymamy dziwne “krzaczki”.
Podsumowanie
Program Wine jest stale rozszerzany o nowe możliwości
i można spodziewać się, że z jego pomocą będziemy mogli
uruchamiać coraz więcej programów przeznaczonych
dla Windowsa. Program Płatnik jest dobrym tego przykła-
dem.
W Sieci:
• Strona domowa Płatnika:
http://www.platnik.info.pl/
• Strona domowa Wine:
http://www.winehq.org/
• Strona domowa Janosika:
http://www.janosik.net/
marzec 2004
46
dla początkujących
Analiza logów systemowych
Piotr Machej
W
trakcie używania komputera (obojętnie,
czy do pracy, czy do rozrywki) używamy
wielu różnych programów. Wiele z nich
działa w tle, bez naszego udziału. Nie do
pomyślenia byłoby, gdyby wszystkie te programy wyrzuca-
ły na ekran wyniki swoich działań lub komunikaty błędów.
W takim systemie nie dałoby się pracować. Z tego powodu
większość tych informacji zapisywana jest w dziennikach
systemowych (plik dziennika systemowego nazywamy też
logiem lub dziennikiem zdarzeń).
Kontrolowanie wpisów w logach daje możliwość
wykrycia nieprawidłowości w konfiguracji i funkcjonowa-
niu naszego systemu. Oprócz tego, jest to jedno ze źró-
deł informacji o wszelkich próbach włamań, więc należy
regularnie przeglądać logi systemowe w poszukiwaniu
wszelkich odchyleń od normy. Oczywiście, w przypad-
ku systemów produkcyjnych zainstalowanych w firmach,
zwykle zatrudniony jest w tym celu administrator bezpie-
czeństwa. Nie należy jednak sądzić, że komputery domowe
są bezpieczne, bo „komu by się chciało włamywać do
mojego komputera”. Nasz system może być wykorzystany
przez „czarne kapelusze”, choćby do przygotowania rozpro-
szonego ataku odmowy usługi (DDOS), czy po prostu jako
„przystanek” podczas dokonywania włamania do innego
systemu.
Nie ulega wątpliwości, że analizowanie logów w syste-
mie wielozadaniowym (jakim jest Linux) może być bardzo
czasochłonne. Stworzono szereg programów mających
na celu ułatwienie pracy administratorom – pomagają od
razu zwrócić uwagę na najistotniejsze dla bezpieczeństwa
wpisy. Oprócz tego, takie programy pozwalają na tworzenie
rozbudowanych statystyk, co szczególnie przydaje się przy
analizie logów serwerów WWW lub proxy.
Przykład użycia
Gdy rano sprawdziłem pocztę, znalazłem codzienny raport
z logów. Znów jakiś wirus rozsyłał po sieci stosy listów. Na
szczęście program antywirusowy w połączeniu z odsiewa-
niem spamu odrzucił większość przesyłek. Przynajmniej
użytkownicy nie będą zbytnio narzekać. Logi zapory
ogniowej informowały tylko o kilkudziesięciu skanowa-
niach portów. Uśmiechnąłem się widząc, że ktoś próbo-
wał włamać się na serwer wykorzystując starą lukę w IIS
Microsoftu. Chyba nawet nie potrafił sprawdzić, jaki serwer
WWW jest zainstalowany. No cóż, script-kiddies przydają
się przynajmniej do poprawiania humoru, o ile ma się uak-
tualniony system.
Przed wyjściem do miasta sprawdziłem jeszcze logi
dzielenia łącza. Od aktualizacji oprogramowania i jądra
tydzień temu, w końcu zdawało się działać poprawnie.
Z zadowoleniem wyłączyłem konsolę administratora,
rozegrałem partyjkę w Go (znów przegrałem o 1,5 moku)
i zgasiwszy monitor wyszedłem na spacer. Jeśli coś się
będzie działo złego, to system i tak powiadomi mnie o tym
SMS-em.
Podstawowe pliki logów
Nie da się skutecznie śledzić dzienników systemowych bez
wiedzy na temat ich lokalizacji i zastosowania. W więk-
szości przypadków pliki logów znajdują się w katalogu
/var/log/ i jego podkatalogach. Za zapis do odpowiednich
plików poszczególnych informacji dotyczących działania
systemu odpowiada demon Syslogd. Oprócz tego istnieje
demon Klogd, odpowiedzialny za przechwytywanie komu-
nikatów jądra systemu.
Plikiem konfiguracyjnym demona Syslogd jest plik /etc/
syslogd.conf. Z niego możemy dowiedzieć się, jakie infor-
macje są kierowane do poszczególnych plików. Każda jego
linia ma postać:
urządzenie.priorytet plik_logu
O autorze:
Autor zakończył studia zaoczne na V roku Informatyki na
Politechnice Opolskiej. Z Linuksem (i ogólnie systemami
uniksowymi) ma styczność od wielu lat. Obecnie admi-
nistruje siecią blokową złożoną z dziesięciu komputerów.
Kontakt z autorem: autorzy@linux.com.pl.
Rysunek 1.
Oto skutek zerwanego kabla – dwa dni bez sieci
Zobacz w:
47
www.linux.com.pl
analiza logów systemowych
Pole urządzenie określa, skąd pochodzą informacje. Może
przyjmować takie wartości, jak:
• authpriv – informacje dotyczące bezpieczeństwa i auto-
ryzacji;
• cron – demony Cron i At;
• daemon – demony systemowe bez osobnej wartości
urządzenie;
• ftp – demon FTP;
• kern – wiadomości jądra;
• lpr – system drukowania;
• mail – system pocztowy;
• news – system wiadomości news (USENET );
• syslog – wewnętrzne komunikaty demona Syslogd;
• user – wiadomości programów użytkownika;
• uucp – system UUCP;
• local0 do local7 – zarezerwowane do lokalnego
użytku.
W polu priorytet określamy, jakie informacje chcemy
logować. Do dziennika systemowego określonego w polu
plik_logu trafią te informacje, które mają priorytet równy
lub wyższy od podanego w polu priorytet. Pole to może
przyjmować następujące wartości (poczynając od najniższe-
go priorytetu): debug, info, notice, warning, err, crit, alert
oraz emerg. Możemy również zabronić zapisywania infor-
macji z wybranego urządzenia w pliku – wystarczy w polu
priorytet użyć wartości none. Zarówno pole urządzenie,
jak i priorytet, może przyjmować wartość *, oznaczającą
wszystkie dostępne urządzenia i priorytety (odpowiednio).
Przykładowa linia z pliku /etc/syslog.conf może wyglą-
dać tak:
*.info;mail.none;news.none;authpriv.none;cron.none
S
/var/log/messages
Powoduje ona, że do pliku /var/log/messages zostaną
zapisane wszystkie wiadomości o priorytecie info lub wyż-
szym, ze wszystkich urządzeń z wyjątkiem wiadomości
z systemów poczty, news, Crona i informacji dotyczących
bezpieczeństwa.
Jeśli chcemy te same informacje wysyłać na niewy-
korzystywaną konsolę (np. na dziesiątą), możemy wpisać
w pliku /etc/syslog.conf linię podobną do poniższej:
*.info;mail.none;news.none;authpriv.none;cron.none
S
/dev/tty10
Dzięki temu po zrestartowaniu demona Syslogd (np. pole-
ceniem
/etc/rc.d/init.d/syslog restart
) i przełączeniu
się na dziesiątą konsolę (klawiszami [Alt]-[F10 ]), będziemy
mogli na bieżąco czytać informacje dopisywane do pliku
/var/log/messages.
Analizując plik syslog.conf, możemy zorientować się
w przeznaczeniu części plików dziennika systemowego.
W domyślnie zainstalowanym systemie najczęściej wyko-
rzystywane są następujące pliki znajdujące się w katalogu
/var/log/:
• messages – plik ogólnego przeznaczenia; są tu logowa-
ne zarówno komunikaty jądra podczas startu systemu,
jak i informacje wysyłane przez różne programy uru-
chomione w systemie;
• secure – plik zawierający informacje dotyczące bezpie-
czeństwa oraz dane o autoryzacji użytkowników w sys-
temie;
• maillog – tu logowane są wszystkie informacje wysyła-
ne przez system pocztowy;
• cron – komunikaty o uruchamianiu zadań przez
demony Cron, Anacron oraz At;
• spooler – informacje krytyczne z działania systemów
UUCP i news;
• boot.log – komunikaty wyświetlane podczas startu sys-
temu.
Oprócz powyższych plików, w katalogu /var/log/ mogą
znaleźć się inne pliki i podkatalogi tworzone przez zainsta-
lowane oprogramowanie. Przykładowo często znajdziemy
tam podkatalogi cups/ (systemu drukowania), httpd/ (logi
serwera WWW), samba/ (komunikaty z działania Samby)
czy squid/ (informacje o serwerze pośredniczącym).
Nie należy dziwić się, jeśli oprócz pliku messages
w katalogu /var/log/ znajdą się pliki messages.1, messages.2
itd. Może to również dotyczyć innych plików. Jest to wynik
działania demona LogRotate, odpowiedzialnego za rotację
logów. Rotacja ma na celu uniknięcie przepełnienia dysku.
Plik z logiem co pewien czas ma zmienianą nazwę (doda-
wana jest cyfra). W ten sposób przechowywanych jest kilka
archiwalnych kopii pliku, z których najstarsza jest usuwana
przy kolejnej rotacji.
Analiza logów w trybie tekstowym
Jeśli szukamy w logach konkretnej informacji, najszyb-
ciej znajdziemy ją wykorzystując podstawowe narzędzia
dostępne z konsoli. Najprostszym z tych poleceń jest
grep.
Rysunek 2.
Możemy określić, które słowa są dla nas alarmujące
marzec 2004
48
dla początkujących
Przypuśćmy, że chcemy sprawdzić, czy ktoś odwiedza
naszą stronę. Wiemy już, że logi serwera WWW prze-
chowywane są w katalogu /var/log/httpd/. Informacje
o odwiedzinach zawarte są w pliku access_log. Jeśli więc
stworzyliśmy stronę i opublikowaliśmy ją pod adresem http://
nasz.serwer/~uzytkownik/strona/, to możemy poszukać
informacji o niej:
grep uzytkownik/strona /var/log/httpd/access_log*
Jeśli w plikach access_log* znajdują się jakieś linie zawiera-
jące tekst uzytkownik/strona, to zostaną one wyświetlone
na ekranie. Przykładowo może to wyglądać tak:
access_log.1:127.0.0.1 - - [28/Jan/2004:13:17:41 +0100]
S
"GET /~uzytkownik/strona/ HTTP/1.1" 200 1603 "-"
S
"Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.4)
S
Gecko/20030704"
access_log.1:127.0.0.1 - - [28/Jan/2004:13:17:41 +0100]
S
"GET /~uzytkownik/strona/style.css HTTP/1.1" 200 648
S
"http://localhost/~uzytkownik/strona/" "Mozilla/5.0
S
(X11; U; Linux i686; pl-PL; rv:1.4) Gecko/20030704"
Z powyższych linii możemy dowiedzieć się, że dnia 28
stycznia 2004 roku o godzinie 13:17 jeden z użytkowników
naszego komputera (localhost – 127.0.0.1) wszedł na stronę
o adresie http://localhost/~uzytkownik/strona/. Strona ta
została wysłana do niego bez problemu (kod 200) i miała
rozmiar 1603 bajty. Oprócz tego, strona ta korzystała
z arkusza stylów umieszczonego w pliku style.css o rozmia-
rze 648 bajtów. Użytkownik wchodzący na stronę korzystał
z przeglądarki przedstawiającej się jako Mozilla. Informacje
te znajdują się w pliku archiwalnym access_log.1.
Możemy także sprawdzić adres MAC naszej karty sie-
ciowej:
dmesg | grep eth
Polecenie to w moim systemie drukuje następujące infor-
macje:
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 Fast Ethernet at 0xd17ea000,
S
00:01:29:24:0d:2f, IRQ 10
eth0: Identified 8139 chip type 'RTL-8139B'
Interesujący nas adres MAC to 00:01:29:24:0d:2f. Przy
okazji dowiadujemy się, że jest to karta oparta na chipie
RealTek RTL8139B.
Oprócz użycia grepa, możemy wykorzystać również
inne polecenia. Poniższe polecenie powoduje zliczenie
listów wysłanych 11 i 12 stycznia (serwerem poczty jest
Postfix):
grep sent /var/log/maillog* | grep "Jan 1[12]" | wc -l
W moim przypadku listów takich było niewiele, więc pole-
cenie to zwróciło jednocyfrowy wynik:
2
Bardzo przydatne może okazać się polecenie Awk. Jest to
właściwie cały język wyszukiwania i przetwarzania wzor-
ców. Zobaczmy przykładowo, jak z plików secure wyłuskać
informację o tym, kto i z jakiego komputera logował się do
naszego systemu:
awk '/Accepted/ {print $9 "\t" $7 "\t" $11}'
S
/var/log/secure* | sort | uniq
Przykładowy wynik może wyglądać tak:
gerard password 192.168.100.200
gerard publickey 192.168.100.200
ktosik publickey 215.13.57.4
W zestawieniu tym mamy podane nazwy użytkowników
logujących się do naszego komputera za pomocą SSH,
wykorzystaną metodę autoryzacji (hasło lub klucz publicz-
ny) oraz adres komputera, z którego nawiązano połączenie.
Nie mamy tu informacji na temat ilości połączeń – dzięki
kombinacji poleceń sort i uniq wyeliminowaliśmy wszyst-
kie powtórzenia. Jeśli interesują nas konkretne linie doty-
czące pierwszego z wymienionych połączeń, to możemy
znów skorzystać z grepa:
grep "password.*gerard.*192.168.100.200" /var/log/secure*
Przykładowo, możemy uzyskać w wyniku następujący
wydruk (zacytowano jedynie fragment):
secure:Jan 25 03:43:49 illusion sshd[6498]:
S
Accepted password for gerard from
S
192.168.100.200 port 52790 ssh2
Rysunek 3.
W Webminie możemy nie tylko przeglądać logi, ale
również dodawać nowe
49
www.linux.com.pl
analiza logów systemowych
secure.1:Jan 31 01:48:13 illusion sshd[28930]:
S
Accepted password for gerard from
S
192.168.100.200 port 2203
W powyższym przykładzie illusion jest nazwą komputera,
na którym znajdują się logi.
Samodzielne analizowanie logów stwarza duże pole
do popisu wszystkim programistom. To prawdziwy egza-
min z umiejętności wykorzystania wyrażeń regularnych
oraz z wiedzy na temat działania systemu. Dla początku-
jących jest to świetna możliwość zdobycia nowej wiedzy
i umiejętności. Nie zawsze jednak chcemy lub mamy
czas samodzielnie się wszystkim zajmować. Z pomocą
przychodzą nam inni programiści, którzy stworzyli wiele
programów i filtrów na różne sposoby przetwarzające logi
i wyłuskujące istotne informacje.
Red Hat LogViewer
W Auroksie mamy do dyspozycji bardzo przyjemne narzę-
dzie, które zwalnia nas z konieczności stosowania polece-
nia grep. Red Hat LogViewer, bo o tym programie mowa,
dostępny jest z menu Narzędzia systemowe –> System logs.
Oczywiście pod warunkiem, że zainstalowaliśmy go w sys-
temie. Jeśli nie, to możemy go znaleźć na pierwszej płycie
instalacyjnej.
Program ten jest bardzo prosty w użyciu. Po lewej stro-
nie mamy do wyboru różne pliki dziennika systemowego.
Gdy wybierzemy jeden z nich, jego zawartość pojawi się
w głównym oknie. Wpisy zasługujące na uwagę oznaczo-
ne są czerwonym wykrzyknikiem. W polu Filter for mamy
możliwość wpisania wyrażenia, które chcemy odszukać
w logu. Po wciśnięciu przycisku Filter na ekranie pozostaną
tylko linie zawierające to wyrażenie.
W menu Edit –> Preferences możemy wskazać lokali-
zacje poszczególnych plików logów, ustawić czas odświe-
żania, a także wskazać wyrażenia, które powinny być
oznaczane wykrzyknikiem.
Program ten nie jest szczególnie rozbudowany, lecz
z pewnością spełnia swoją funkcję – pozwala w wygodny
sposób przeglądać logi.
Webmin
Ten popularny program służący do administracji systemem
za pośrednictwem WWW nie mógł się obyć bez przeglądar-
ki logów. W sekcji System –> Logi systemowe mamy dostęp
do ustawień znanych nam już z pliku /etc/syslogd.conf.
Tym razem możemy skonfigurować każdy log za pomocą
interfejsu graficznego, co dla wielu osób jest łatwiejsze
i wygodniejsze.
Niestety, samo przeglądanie logów nie jest tu zbyt roz-
budowane. Jedyne, co możemy zrobić, to wybrać liczbę
linii do wyświetlenia oraz wyświetlić tylko linie zawierające
wprowadzony tekst. Pod tym względem lepszy wydaje się
Red Hat LogViewer.
LogWatch – automatyczne
wykrywanie podejrzanych wpisów
W wyłuskiwaniu nietypowych wpisów w dziennikach sys-
temowych może nam pomóc program LogWatch. Narzędzie
to codziennie przegląda wybrane pliki i przepuszcza je przez
odpowiednie filtry. Informacje sformatowane przez te filtry
wysyłane są pocztą e-mail na adres administratora. Nie
zawsze muszą one wzbudzać nasze podejrzenia – często są
to zestawienia, np. ilości połączeń z serwerem poczty.
Opcje polecenia Logwatch:
•
detail
poziom – ustawia poziom szczegółowości raportu;
można użyć wartości low (niska), med (średnia) i high
(wysoka) lub wartości liczbowych od 0 (niska) do 10
(wysoka);
•
logfile
nazwa_logu – ogranicza analizę do wskazane-
go pliku (lub plików, bo tej opcji można użyć kilkakrot-
nie) dziennika systemowego; LogWatch użyje filtrów
powiązanych ze wszystkimi usługami korzystającymi ze
wskazanego pliku;
•
service
nazwa_usługi – ogranicza analizę do wskazanej
usługi (lub usług – opcja może być użyta wielokrotnie);
LogWatch przeanalizuje wszystkie pliki dziennika sys-
temowego wykorzystywane przez tą usługę; przydatną
wartością nazwa_usługi jest All, pozwalająca wskazać
wszystkie dostępne usługi;
•
– powoduje wysłanie wyniku na standardowe
wyjście (np. na ekran);
•
mailto
adres – wysyła wynik na adres e-mail lub do
użytkownika podanego jako adres;
•
archives
– powoduje, że LogWatch oprócz właściwego
pliku logu analizuje również pliki archiwalne (np. messa-
ges.1 i następne w przypadku logu messages), oczywi-
ście z uwzględnieniem wartości opcji range;
•
range
– pozwala określić zakres analizowanych dat;
obecnie dostępne są tylko trzy wartości: Today (dzisiaj),
Yesterday (wczoraj) i All (wszystkie dni);
•
debug
poziom – opcja przydatna podczas rozwiązywa-
nia problemów oraz analizowania działania programu
LogWatch; wartość poziom może wynosić od 0 do 10
(powyżej 10 jest sens ustawiać tylko wartości większe od
100, gdyż wtedy nie jest usuwany katalog roboczy);
•
save
nazwa_pliku – zamiast drukować lub wysyłać
listem e-mail, zapisuje wynik analizy do pliku o nazwie
nazwa_pliku;
•
logdir
katalog – poleca szukać plików z logami w katalo-
gu katalog zamiast w standardowej lokalizacji;
•
hostname
nazwa_hosta – w raportach używa nazwa_
hosta zamiast nazwy zdefiniowanej dla tego systemu;
jeśli w pliku konfiguracyjnym /etc/log.d/logwatch.conf
włączyliśmy opcję
HostLimit
, to użycie opcji
hostname
w linii poleceń spowoduje analizowanie tylko wpisów
dotyczących hosta o nazwie nazwa_hosta; wyjątkiem
są pliki logów nie zawierające informacji o nazwie hosta
(pliki te będą przetwarzane niezależnie od wartości opcji
HostLimit
);
•
usage
– wypisuje informacje o dostępnych opcjach;
•
help
– to samo, co
usage
;
marzec 2004
50
dla początkujących
Instalacja
W przypadku dystrybucji Aurox program LogWatch
dostarczany jest na pierwszej płycie instalacyjnej.
Możemy sprawdzić, czy jest zainstalowany w systemie
poleceniem
rpm -q logwatch
. Powinniśmy uzyskać nazwę
pakietu wraz z numerem wersji. Jeśli zamiast tego otrzy-
mamy komunikat Pakiet logwatch nie jest zainstalowany,
to należy zainstalować go z płyty. W tym celu montujemy
pierwszą płytę instalacyjną w systemie (np.
mount /mnt/
cdrom
), po czym instalujemy nasz pakiet –
rpm -Uvh /mnt/
cdrom/RedHat/RPMS/logwatch*.rpm
.
Jeśli wolimy skorzystać z bardziej aktualnej wersji,
możemy ją pobrać z witryny domowej programu (http://
www.logwatch.org/ ). W chwili pisania artykułu najnow-
sza dostępna wersja stabilna nosiła numer 5.0. Warto
ją zainstalować choćby dlatego, że udostępnia większą
liczbę przydatnych filtrów.
Zaraz po instalacji LogWatch jest w zasadzie gotowy
do użycia. Zwykle nie ma potrzeby ingerencji w pliki
konfiguracyjne. Jeśli jednak chcemy rzeczywiście wie-
dzieć, co się dzieje w naszym systemie, to powinniśmy
to zrobić.
Konfiguracja
Większość plików znajduje się w katalogu /etc/log.d/.
Główny plik konfiguracyjny to logwatch.conf (właściwie jest
to łącze symboliczne do pliku conf/logwatch.conf ). Zawiera
on domyślne ustawienia, które są stosowane w przypadku
pominięcia poszczególnych opcji w linii poleceń. Przy
zmianach posługujemy się naszym ulubionym edytorem
(np. Vim, mcedit czy pico).
Na samym początku możemy ustawić adresata listów
informacyjnych (MailTo). Domyślnie jest to użytkownik
root, ale możemy wskazać dowolnego innego lub nawet
wpisać pełny adres e-mail.
Inną ważną opcją jest Range – określa ona, które wpisy
w dziennikach systemowych będą analizowane. Opcja
ta może przyjąć kilka wartości – All (wszystkie wpisy),
Yesterday (wczorajsze) oraz Today (dzisiejsze). Domyśl-
nie analizowane są wpisy z poprzedniego dnia. Warto
zaznaczyć, że opcja ta jest jeszcze bardzo niedoskonała.
W trakcie pracy z LogWatch można zauważyć, że wyniki
zwracane przez program wywoływany z Crona różnią
się od tych zwracanych podczas wywoływania programu
z linii poleceń. Dzieje się tak, gdyż LogWatch pobiera daty
w formacie zależnym od wykorzystywanego w systemie
języka. Załóżmy, że dziś jest 2 luty, a w naszym systemie
zmienna środowiskowa $LANG ustawiona jest na „pl_PL”
(można to sprawdzić poleceniami
locale
lub
echo $LANG
).
W takim przypadku użycie opcji –range yesterday spowo-
duje wyszukiwanie linii z datą lut 1. Gdy jednak zmienna
$LANG ustawiona jest na „C”, to poszukiwane będą linie
z datą Feb 1. Jak więc widać, obecnie jedyną naprawdę
bezpieczną wartością opcji –range jest All. Dzięki niej
zostaną przeanalizowane wszystkie linie.
Oprócz tego, możemy określić, jak bardzo szczegó-
łowe raporty chcemy otrzymywać. Służy do tego opcja
Detail, która może przyjąć wartości Low (niewiele szcze-
gółów – domyślna), Med (średnia ilość szczegółów) oraz
High (dużo szczegółów). Zamiast tych trzech wartości
możemy użyć liczb od 0 (odpowiada to Low) do 10 (od-
powiednik High).
Dzięki opcji Service możemy wskazać usługi, o których
chcemy uzyskać informacje – wartość tej opcji wskazuje
nazwy filtrów (znajdujących się w katalogu /etc/log.d/
scripts/services/ ), których chcemy użyć. W większości
przypadków najlepiej pozostawić tę opcję w ustawieniu
All, dzięki czemu uruchamiane będą wszystkie filtry.
Jeśli z jakiegoś powodu chcemy jednak któryś wyłą-
czyć, możemy poniżej umieścić dodatkową linię Service
z nazwą wyłączanego filtru poprzedzoną znakiem minusa
(np.
Service = -cron
).
Wiemy już, że w katalogu /etc/log.d/scripts/services/
znajdują się filtry dotyczące konkretnych usług. Oprócz
tego, w katalogu /etc/log.d/scripts/ znajdują się jeszcze dwa
podkatalogi zawierające filtry. Są to logfiles/ oraz shared/,
zawierające odpowiednio filtry dotyczące konkretnych
plików logów oraz filtry wspólne dla kilku różnych usług
lub logów. Same filtry to po prostu skrypty, napisane
zwykle w języku Perl (ale niekoniecznie). Możemy więc
(jeśli znamy ten język w wystarczającym stopniu) samo-
dzielnie przeanalizować poszczególne filtry, a nawet napi-
sać własne.
Wspomniane wyżej filtry mają za zadanie przeszukać
pliki dzienników systemowych i wydobyć z nich pewne
informacje. W katalogu /etc/log.d/conf/logfiles/ znajdują
się pliki konfiguracyjne określające lokalizację dzienni-
ków systemowych oraz archiwów. W katalogu /etc/log.d/
conf/services/ znajdziemy pliki konfiguracyjne dotyczące
poszczególnych usług. Wskazują one między innymi, które
pliki logów lub które fragmenty tych plików dotyczą kon-
kretnej usługi.
Rysunek 4.
Wiele programów wspomagających analizę logów
z powodzeniem działa pod konsolą
51
www.linux.com.pl
analiza logów systemowych
Uruchamianie
Wraz z instalacją pakietu w katalogu /etc/cron-daily/ zosta-
je umieszczony plik o nazwie 00-logwatch. Właściwie
jest to łącze symboliczne prowadzące do pliku /etc/log.d/
scripts/logwatch.pl. Dzięki temu, demon Cron będzie dbał
o codzienne uruchamianie programu LogWatch. Listy e-mail
z wynikami działania filtrów będą wysyłane na konto okre-
ślone w pliku /etc/log.d/logwatch.conf w zmiennej MailTo.
Nie jest to jedyna metoda uruchomienia programu. Jeśli
potrzebujemy w danej chwili wyniku działania konkret-
nego filtru, możemy uruchomić LogWatch z linii poleceń.
Wywołanie polecenia
logwatch
bez parametrów spowoduje
użycie domyślnych opcji ustawionych w pliku konfigura-
cyjnym. Zależnie od tego, co chcemy osiągnąć, możemy
jednak wykorzystać różne parametry. Przykładowo, jeśli
chcemy sprawdzić komunikaty demona init (np. o zmianie
poziomu runlevel), możemy użyć polecenia:
logwatch --detail high --archives --service init
S
--range all --print
Poniżej nagłówka informującego o dacie i warunkach
wykonywania raportu, w sekcji zamkniętej liniami Init
Begin i Init End znajdziemy wynik działania filtru. Może
mieć on postać:
Entered or switched to runlevel 0: 2 Time(s)
Entered or switched to runlevel 6: 34 Time(s)
Jak widać, zestawienie to informuje nas, że dwukrotnie
system przechodził do poziomu runlevel 0, natomiast to
poziomu runlevel 6 przechodził 34 razy. Informacje te uzy-
skamy tylko korzystając z opcji –detail high, gdyż nie są one
na tyle istotne, aby umieszczać je przy niższych poziomach
szczegółowości.
W rozdziale Analiza logów w trybie tekstowym wydo-
bywaliśmy z logu secure informacje o tym, kto logował się
do naszego komputera z pomocą ssh. LogWatch również
pozwala nam uzyskać te informacje. Wystarczy, że użyjemy
polecenia:
logwatch --detail high --service sshd –range=all
S
--archives --print
Może ono zwrócić dosyć obszerny wynik, jednak nas w tej
chwili interesują linie umieszczone w bloku Users logging in
through sshd. We wspomnianym przykładzie linie te mogą
wyglądać na przykład tak:
gerard:
192.168.100.200: 21 times
ktosik:
215.13.57.4: 7 times
Przy okazji filtru sshd chciałbym zwrócić uwagę, że high
niekoniecznie jest najwyższym poziomem szczegółowości
informacji. Autor filtru sshd przewidział możliwość wyświe-
tlenia dodatkowych informacji w przypadku użycia opcji
–detail 20 lub wyższej. W takim przypadku powyższe
informacje mogłyby wyglądać tak:
gerard:
192.168.100.200:
publickey: 20 times
password: 1 time
ktosik:
215.13.57.4:
publickey: 7 times
Daje nam to znacznie bardziej szczegółowy raport niż nasze
krótkie polecenie awk. A to tylko mały wycinek informacji,
jakie udostępnia nam filtr sshd.
Jeśli chcemy zapoznać się z raportami na temat kilku
wybranych usług, możemy tego dokonać jednym polece-
niem, np.:
R
E
K
L
A
M
A
marzec 2004
52
dla początkujących
logwatch --detail high --service arpwatch
S
--service cron --range today --print
Jak widać, opcji –service możemy użyć kilkakrotnie,
wskazując kolejne interesujące nas usługi. Powyższe pole-
cenie wydrukuje nam wyniki działania filtrów arpwatch
i cron umieszczone odpowiednio w sekcjach Arpwatch
Begin/End oraz Cron Begin/End. Program Arpwatch
służy do śledzenia zmian przypisania numerów IP do
poszczególnych kart sieciowych. Informacje zwracane
przez ten filtr mogą dotyczyć pojawienia się nowego
komputera w sieci, jak również wymiany karty sieciowej
w jednym z komputerów.
LogWatch pozwala nam na nie wskazywanie konkret-
nych usług. Zamiast tego, możemy wskazać plik logu,
który chcemy przeanalizować. LogWatch wykorzysta
wtedy filtry wszystkich usług powiązanych z tym pli-
kiem. Przykładowo, możemy sprawdzić wczorajsze infor-
macje dotyczące pliku /var/log/messages i przesłać je do
skrzynki pocztowej użytkownika gerard (jeśli mamy go
w systemie):
logwatch --detail low --logfile messages
S
--range yesterday --mailto gerard
Użytkownik ten otrzyma list zawierający informacje takie,
jak komunikaty błędów zwracane przez jądro (w sekcji
Kernel), informacje o problemach z ładowaniem modu-
łów (ModProbe), komunikaty demona Identd i inne. Warto
zwrócić uwagę, że w sekcjach niektórych filtrów może poja-
wić się linia o treści **Unmatched Entries**. Umieszczone
po niej linie nie pasowały do żadnej z reguł filtru (chociaż
dotyczyły tej konkretnej usługi).
Inne narzędzia
Programów wspomagających przeglądanie i analizę logów
systemowych jest wiele. Dobór odpowiedniego zależy od
naszych potrzeb, umiejętności i przyzwyczajeń. Warto
odwiedzić serwis FreshMeat (http://freshmeat.net/ ), gdzie
między innymi w sekcji Browse –> System –> Logging znaj-
dziemy co najmniej kilkadziesiąt tego typu programów.
Zachęcam do samodzielnych poszukiwań, a w ramce
W Sieci zamieszczam odnośniki do kilku wybranych pro-
jektów.
Zakończenie
Przeglądanie i analizowanie logów systemowych ma sens.
Pozwala nam na wykrycie błędów w konfiguracji systemu,
„doszlifowanie” go i dopasowanie do naszych potrzeb. Ana-
lizując logi rutera możemy dostosowywać podział łącza tak,
aby korzystanie z niego było jak najbardziej komfortowe
dla użytkowników. Logi serwera WWW mogą nam wska-
zać błędy w konstrukcji naszych serwisów. Mogą nas też
powiadomić o próbach włamań (oby nieudanych).
Jeśli chodzi o włamania, trzeba zdawać sobie sprawę
z pewnej rzeczy. Analiza logów w tym konkretnym przy-
padku jest często spóźniona. Będzie to już jedynie czyta-
nie historii o tym, jak ktoś dostał się do naszego systemu
i zrobił z nim, co chciał. Może być też tak, że włamywacz
usunie z logów wpisy świadczące o jego obecności. Uchro-
nić nas przed takimi sytuacjami mogą systemy wykrywania
włamań (IDS – Intrusion Detection System).
W Sieci:
• ADMLogger:
http://aaron.marasco.com/linux.html
• AJMS:
http://www.argray.org/ams/
• Analog:
http://www.analog.cx/
• Firewall Log Daemon:
http://rouxdoo.freeshell.org/dmn/
• FWAnalog:
http://tud.at/programm/fwanalog/
• FWLogWatch:
http://www.kyb.uni-stuttgart.de/boris/software.shtml
• FWReport:
http://sourceforge.net/projects/fwreport/
• GLogWatch:
http://www.uberh4x0r.org/download/gkrellm/
• Log_analysis:
http://linux.umbc.edu/~mabzug1/log_analysis.html
• Log Tool:
http://xjack.org/logtool/
• LogWatch:
http://www.logwatch.org/
• MultiTail:
http://www.vanheusden.com/multitail/
• Swatch:
http://swatch.sourceforge.net/
• Webalizer:
http://www.mrunix.net/webalizer/
• Webmin:
http://www.webmin.com/
Rysunek 5.
Na witrynie programu LogWatch znajdziemy dokładne
wskazówki, jak stworzyć własne filtry
sprzęt
53
www.linux.com.pl
Zabawy z flash dyskiem USB
Piotr Wolny
F
lash dyski, nazywane często – z racji swoich nie-
wielkich rozmiarów – pen drive, to stosunkowo
nowe urządzenia. Na tyle nowe, że nazywa się je
wciąż bardzo różnie – flash disk, flash drive, key-
drive, USB key, USB flash drive, keychain drive, pen drive,
memory stick to chyba nawet nie wszystkie ich angielskie
określenia. Rozpowszechnienie flash dysków było możliwe
dzięki opracowaniu tanich pamięci typu eeprom, odpor-
nych na wielokrotny zapis. Niektórzy producenci zapewnia-
ją, iż flash dysk można zapisywać nawet milion razy, a dane
na nim zawarte wytrzymują 10 lat.
Ogólnie flash dyski to niewielkie urządzenia pamięci
masowej, podpinane do portu USB. Najczęściej wystę-
pują w pojemnościach od 32 MB do kilku GB. Model
o pojemności 128 MB można nabyć za około 200 złotych.
W praktyce flash dysk jest więc bardziej pojemny i szybszy
niż dyskietka i choć jest na ogół mniej pojemny niż dysk
CD-R(W), znacznie wygodniej się go nagrywa i transpor-
tuje (podobno jest na tyle lekki, że może go przenieść 14
mrówek). Wszystkie flash dyski korzystają z protokołu USB-
storage, dzięki czemu łatwo jest ich używać – nie wymagają
sterowników na komputerach z różnymi nowymi systema-
mi operacyjnymi, nawet na MS Windows XP.
Flash dyski USB działają oczywiście również bez żad-
nych dodatkowych sterowników w Linuksie, są dobrze
obsługiwane przez w miarę nowe dystrybucje. Nie zetkną-
łem się z żadnym modelem, który nie zadziałałby w naszym
systemie operacyjnym (dobrze współpracują nawet tanie
jednostki no-name).
Flash dysk w Linuksie
W niektórych dystrybucjach Linuksa podłączenie flash
dysku jest natychmiast wykrywalne, np. w Mandrake
Linux 9.2 taki dysk jest automatycznie montowany w /mnt/
removable, a na pulpicie KDE pojawia się odpowiednia
ikona. Inne nowe dystrybucje wymagają kilku minut na
konfigurację, w zależności od osobistych preferencji.
Flash dysk USB pracuje w Linuksie jako urządzenie
SCSI, więc jest oznaczony jako /dev/sda (gdy mamy jakiś
kontroler SCSI, wtedy oznaczenie może przesunąć się na
/dev/sdb). Jego pierwszą partycją (urządzenia te sprzedawa-
ne są z założoną i sformatowaną partycją FAT16 ) jest więc
/dev/sda1. Możemy utworzyć odpowiedni katalog w /mnt
(
mkdir -m 666 /mnt/flash
) i po podłączeniu zamontować
urządzenie komendą
mount /dev/sda1 /mnt/flash
. W nie-
których przypadkach może być potrzebne wcześniejsze
wykonanie komendy
modprobe usb-storage; modprobe
sg; modprobe sd_mod
(w takim przypadku warto od razu
dopisać ją do któregoś ze skryptów startowych). Aby mon-
towanie było prostsze i można było je wykonywać z konta
zwykłego użytkownika, możemy wpisać odpowiednią linię
do /etc/fstab, np.:
/dev/sda1 /mnt/flash vfat noauto,users 0 0
Po dopisaniu odpowiedniej linijki w pliku fstab, do zamon-
towania podłączonego flash dysku wystarczy komenda
mount /mnt/flash
. Wygodniejsze może okazać się stwo-
rzenie na pulpicie KDE/GNOME ikony urządzenia CDROM
O autorze:
Autor jest politologiem i pracuje dla www.wzz.org.pl.
Linuksem zajmuje się mniej więcej od czasów jądra 2.0.20.
Kontakt z autorem: autorzy@linux.com.pl.
Tworzenie kopii flash dysku
Jeśli nagraliśmy na flash dysku jakąś dystrybucję Linuksa
i chcemy spróbować innej, zawsze możemy łatwo zachować
obraz starej dystrybucji na flash dysku w pliku. Wystarczy
w tym celu polecenie:
dd
if=/dev/sda of=/jakas/nazwa/
pliku.img
. Oryginalny stan flash dysku przywracamy polece-
niem:
dd if=/jakas/nazwa/pliku.img of=/dev/sda
. Oczy-
wiście, przed tymi operacjami należy koniecznie odmontować
flash dysk.
Rysunek 1.
Flash dysk nie wygląda na coś, co kosztuje ponad
200 PLN, ale jest wart tych pieniędzy
Zobacz w:
marzec 2004
54
sprzęt
(nazwę możemy zmienić na np. FLASH), gdzie w zakładce
„urządzenie” podamy /dev/sda1. Po tej operacji możemy
zamontować urządzenie klikając na odpowiadającą mu
ikonkę oraz odmontować komendą dostępną w menu
wywołanym prawym klawiszem myszy. Pamiętajmy przy
okazji, że Linux buforuje dane zapisywane na flash dysku
i przed jego wyciągnięciem należy go koniecznie odmon-
tować, aby mieć pewność, że wszystko na nim zostało
zapisane. Bardzo ważne jest to, że flash dysków nie można
odłączać, gdy trwa na nich zapis, gdyż kończy się to
powstawaniem nienaprawialnych bad block-ów.
Flash dysk może być również montowany automatycz-
nie po włożeniu lub gdy jakaś aplikacja chce odczytać
z niego dane. W takim przypadku możemy skorzystać
chociażby z autofs. Przykładowo, w pliku /etc/auto.master
umieszczamy linię:
/misc /etc/auto.misc --timeout=60
a w pliku /etc/auto.miscs linię:
flash -fstype=auto,noauto,owner,kudzu :/dev/sda1
Następnie restartujemy autofs (
/etc/init.d/autofs restart
)
i nasz flash dysk będzie montowany automatycznie, gdy
jakaś aplikacja będzie chciała odczytać katalog /misc/flash.
Jeśli chcemy uzyskać bardziej „efektowną” konfigurację,
np. uruchamiać jakieś aplikacje po podłączeniu flash dysku,
możemy skorzystać z mechanizmu hotplug. Więcej na temat
hotplug można było przeczytać w artykule „Cyfrowy aparat
fotograficzny w Linuksie” w Linux+ z listopada 2003.
Szybki przykład? Jeśli nasze urządzenie ma identyfikatory
USB 126f/2168/200 (można je sprawdzić w /var/log/syslog
lub /var/log/messagess, gdzie pojawiają się po jego pod-
łączeniu), tworzymy plik /etc/hotplug/usb/flash.usermap i
wpisujemy w nim jedną linię:
flash 0x000f 0x126f 0x2168 0x0000 0x0200 0x00 0x00 0x00
0x00 0x00 0x00 0x00000000
Najlepiej skopiować ją z jakiegoś innego pliku *usermap
i pozmieniać odpowiednie cyfry – w ten sposób trudniej się
pomylić. W pierwszej kolumnie jest identyfikator urządzeń
USB-storage (może to być również 0x0003, jeśli to pierwsze
nie zadziała), a pozostałe dane otrzymujemy z logów syste-
mowych. Trzecią cyfrę – u mnie 200 – możemy wpisać do
piątej i/lub szóstej kolumny. Następnie piszemy skrypt /etc/
hotplug/usb/flash. Na początek wystarczy w nim linia:
#!/bin/sh
logger "uruchamia sie $0"
Nadajemy skryptowi prawa do wykonywania oraz podłą-
czamy nasze urządzenie, patrząc, czy w logach systemo-
wych znajdujemy powyższy wpis „uruchamia sie...”. Jeśli go
nie ma, musimy poprawić cyfrowe identyfikatory urządze-
nia. Jeśli wpis pojawia się, dobrze jest jeszcze sprawdzić,
czy nie będzie się pojawiał, gdy podłączymy jakieś inne
posiadane w domu urządzenie USB – chcemy, aby nasz
skrypt uruchamiał się tylko przy podłączeniu flash dysku.
Bardzo prosty przykład, który przy każdym podłącze-
niu flash dysku automatycznie uaktualnia ważne dane,
kopiując je na flash dysk, można znaleźć na Listingu 1.
Skrypt, który jedynie automatycznie montuje urządzenie po
podłączeniu i odmontowuje po wyciągnięciu, jest na Listin-
gu 2. Skrypty te zadziałają, jeśli umieściliśmy odpowiednie
wpisy w /etc/fstab oraz stworzyliśmy właściwie plik /etc/
hotplug/usb/flash.usermap.
Przy pisaniu skryptów hotplug trzeba jedynie pamiętać,
że wykonywane są one z prawami użytkownika root, więc
czasem możemy potrzebować w skrypcie komendy
su
<inny użytkownik>
. Ponadto, jeśli używamy jakiejś starszej
dystrybucji, zawierającej wersję hotplug sprzed 8 sierp-
nia 2003 roku, nie możemy tworzyć własnych plików /etc/
hotplug/usb/*.usermap – ich zawartość należy dopisywać
do /etc/hotplug/usb.usermap.
Instalacja Linuksa na flash dysku
Flash dyski są na tyle duże, że można na nich zmieścić
wiele małych dystrybucji Linuksa. Nie tylko wszystkie
„jednodyskietkowe”, ale – zwłaszcza jeśli posiadamy
urządzenie o pojemności 64 MB i więcej – możemy
wykorzystać mniejsze dystrybucje typu LiveCD. Flash
Instalacja „normalnej” dystrybucji
Być może niektórzy z Czytelników mają na tyle duże flash
dyski, że chcieliby zainstalować na nich normalne dystrybu-
cje Linuksa. Nie ma problemu! Jako dysk docelowy należy
wybrać /dev/sda (bądź sdb, gdy mamy jakieś urządzenia
SCSI) i przeprowadzić normalnie instalację. W niektórych
dystrybucjach może być konieczne załadowanie modułów
usb-uhc/usb-ohci, usb-storage, sg, sd_mod przed podziałem
dysku na partycje. Robi się to zazwyczaj przełączając się na
drugą (bądź kolejną) wirtualną konsolę (klawiszami [Ctrl]+
[Alt]+[F2...]) i wydając polecenie
modprobe ...
.
Moduły jądra
Jeśli samodzielnie kompilujemy jądro Linuksa lub nasz sprzęt
nie chce zadziałać, potrzebujemy moduły jądra do obsługi
flash dysku:
• w dziale USB: Preliminary USB device filesystem, sterow-
nik hosta (ehci/uhci/usb-uhci/ohci) oraz USB Mass Stora-
ge support (usb-storage.o);
• w dziale SCSI: SCSI disk support (sd_mod.o) oraz SCSI
generic support (sg.o).
Flash dysk możemy oczywiście samodzielnie sformatować na
dowolny system plików, ale domyślnie jest to vfat, więc warto
mieć w jądrze wsparcie również dla niego.
55
www.linux.com.pl
flashdysk USB
dyski robią się na tyle popularne, że twórcy niektórych
małych dystrybucji Linuksa dostosowują swoje dzieła do
używania właśnie na takich urządzeniach bądź publikują
dla nich specjalną wersję.
Często dużym problemem jest uruchomienie komputera
z urządzenia USB. Nie jest to uzależnione od typu posia-
danego flash dysku. W tym przypadku ważna jest płyta
główna naszego komputera. W BIOS-ie musimy mieć opcję
startu z USB-ZIP bądź innych urządzeń USB (USB-HDD,
USB-FDD, USB-CDROM itp.). To nie gwarantuje jednak
sukcesu. Wiele płyt głównych nie potrafi uruchomić sys-
temu z flash dysku, mimo posiadania odpowiedniej opcji
w BIOS-ie. Jeśli mamy dostęp do DOS-a bądź Windowsa,
zanim poświęcimy czas na ściągnięcie i zainstalowanie
jakiejś dystrybucji Linuksa, dobrze jest przeprowadzić prosty
test uruchomienia systemu z flash dysku. Przy pomocy
narzędzi dostarczanych przez jego producenta bądź używa-
jąc programów zawartych w DOS/Windows, formatujemy
flash dysk, czyniąc go urządzeniem startowym (kopiujemy
pliki systemowe). Następnie przestawiamy BIOS komputera
na start z USB-ZIP i sprawdzamy, co się stanie. Jeśli system
ruchomi się, to mamy szczęście. Jeśli nie, to pozostaje jesz-
cze do sprawdzenia kilka rzeczy:
• możemy spróbować przestawić urządzenie startowe
w BIOS-ie na inne USB-xxx (USB-HDD, USB-FDD,
USB-CDROM itd.);
• niektóre (wadliwe) płyty główne wymagają podłącze-
nia flash dysku przy całkowicie odłączonym zasilaniu
od komputera (z wyciągniętą wtyczką), w przeciwnym
razie BIOS nie zobaczy dysku USB; konieczne jest rów-
nież wtedy włączenie w BIOS-ie obsługi klawiatury
USB – znane z takich dziwnych zachowań są niektóre
płyty z chipsetem VIA i AMI BIOS-em, np. Epia-m czy
Shuttle mv42n;
• możemy spróbować specjalnego bootloadera z projek-
tu SPBLinux (adres w ramce „W Sieci”), instalując go
komendą
dd if=spb2 of=/dev/sda
;
• dobrze sprawdzić, czy producent płyty opublikował
jakieś uaktualnienia firmware, które poprawiałoby uru-
chamianie z USB;
• czasem pomaga takie przestawienie urządzeń, aby
kontroler USB nie dzielił przerwania z innym urządze-
niem;
• mój flash dysk (TwinMos(r) Mobile Disk III – 021) uru-
chamia się tylko i wyłącznie, gdy sformatujemy go
programem pod systemem Windows, dostarczonym
przez producenta, a z dwóch dostępnych opcji przy
formatowaniu, w praktyce z moją płytą główną działa
tylko USB-HDD.
Powyższe porady mogą być przydatne, ale większość Czy-
telników zapewne nie napotka żadnego problemu przy
uruchamianiu komputera z USB, jeśli tylko BIOS ma taką
opcję. Spośród kilku płyt głównych, które udało mi się
przetestować, wszystkie się uruchomiły. Nie były to modele
z „górnej półki”, lecz tanie płyty główne z chipsetami VIA,
np. ECS K7VTA3 czy ECS K7VZA.
Gdy już potrafimy uruchomić komputer z naszego
flash dysku, czas rozejrzeć się za jakąś ciekawą dys-
trybucją Linuksa dla niego. Wybór jest bardzo duży.
Najpierw przyjrzałem się dystrybucjom, które przez ich
autorów zostały przystosowane do uruchamiania z flash
dysków.
Flonix
Mój pierwszy wybór padł na Floniksa (http://flonix.
tuxfamily.org/ ). Jest to ciekawa dystrybucja, oparta na
Knoppiksie, o ogólnych zastosowaniach. Znajdziemy na
niej narzędzia do multimediów (mplayer, xmms, przeglą-
darki obrazków), nagrywania płyt CD, manipulacji plika-
mi, przeglądania stron WWW i wiele innych. Wszystko
można zamieścić na flash dysku o pojemności 64 MB,
ale przed instalacją należy go odpowiednio przygotować.
Musi na nim znajdować się aktywna partycja FAT16 (tak
jest domyślnie na nowych sprzedawanych urządzeniach).
Jeśli nie zauważymy obecności partycji FAT16, możemy
ją stworzyć przy pomocy fdiska i następnie sformatować
poleceniem
mkfs.vfat /dev/sda1
. Następnie po ściągnięciu
i rozpakowaniu pliku Flonix_USB_Edition_build36.zip
należy zawartość tego archiwum przegrać do głównego
katalogu flash dysku.
Po skopiowaniu plików, odmontowujemy flash dysk
(ale nie odłączamy). Potrzebne jest tylko jedno polecenie,
które umożliwi uruchamianie się Linuksa z flash dysku.
Cały czas przy założeniu, że nasz flash dysk to /dev/sda1,
musimy wydać polecenie
syslinux /dev/sda1
. Program
syslinux można znaleźć we wszystkich dystrybucjach lub
ściągnąć z http://syslinux.zytor.com/ – w jego archiwum
jest również gotowa do użycia, skompilowana wersja.
Listing 1.
Przykładowy prosty skrypt, który automatycznie
kopiuje na flash dysk dane z wybranego katalogu
#/bin/bash
logger "
$0
: start uaktualniania danych"
# czekamy, aż moduły jądra zostaną załadowane
sleep 4
# montujemy flash disk
mount -w /mnt/flash || exit
# tworzymy katalog na flash dysku i kopiujemy dane
mkdir -p /mnt/flash/wazne
cp -Ru /home/piotr/dane/wazne/* /mnt/flash/wazne/
# odmontowujemy dysk i odtwarzamy dźwięk
# program aplay odtwarza dźwięk przez sterowniki ALSA
umount /mnt/flash && aplay /usr/share/apps/kbackgammon/
sounds/kbackgammon-lost.wav
logger "
$0
: koniec uaktualniania danych"
marzec 2004
56
sprzęt
To już wszystko! Czas zrestartować komputer i podzi-
wiać Floniksa. Na mnie zrobił naprawdę imponujące
wrażenie. Bardzo wygodna jest szczególnie możliwość
zapisywania konfiguracji i plików osobistych wprost na
flash dysk, z którego uruchamiamy komputer. Odpada
konieczność używania dodatkowych dyskietek lub ponow-
nego nagrywania płyty, jak ma to miejsce w przypadku
dystrybucji typu LiveCD.
Movix2
Movix2 (http://movix.sourceforge.net/ ) to kolejna dys-
trybucja, która przez autora została przystosowana do
uruchamiania z flash dysku. Tym, którzy jej nie znają,
należy przypomnieć, że dystrybucja ta służy do oglądania
filmów przy pomocy programu MPlayer. Ta wersja jest
wyposażona w system X Window. Jej przeniesienie na
flash dysk jest jednak nieco trudniejsze niż w przypadku
Floniksa i to tym bardziej, że skrypt przeznaczony do
automatycznego przenoszenia dystrybucji na flash dysk
– przynajmniej u mnie – nie zadziałał. Musiałem prze-
nieść dystrybucję ręcznie.
Po rozpakowaniu pliku movix2-0.3.1pre4.tar.gz, do
katalogu src/mplayer/codecs dołożyłem pliki z kodekami
z Windows (plik win32codecs.tar.bz2 i inne, bez roz-
pakowywania), zaś do katalogu src/movix/ znaleziony
w sieci plik libdvdcss-1.2.6-1.i386.rpm, który umożliwia
odczyt zakodowanych płyt DVD. Do katalogu src/mplayer/
mplayer-fonts/ dołożyłem czcionkę verdana.ttf, a do pliku
src/movix/gui.conf dopisałem linię:
subfont-encodin-
g=cp1250
. Ponadto, w pliku src/movix/rc.movix zakomen-
towałem kilka linii ładujących Sambę, która u mnie nie
chciała zadziałać. Te działania nie są jednak niezbędne.
Samo przeniesienie na flash dysk należy rozpocząć od
jego zamontowania, np. w /mnt/flash. Następnie kopiujemy
konfigurację bootloader-a:
cp extras/flash/syslinux.cfg
/mnt/flash/
. Tworzymy na karcie główny katalog:
mkdir
/mnt/flash/movix2
, oraz kopiujemy tam cały katalog src:
cp
-R src/* /mnt/flash/movix2
. Następnie na karcie przenosi-
my kilka plików:
cd /mnt/flash/movix2
mv isolinux/kernel/vmlinuz ..
mv isolinux/initrd.gz ..
mv -v isolinux/*txt ..
mv -v isolinux/mov* ..
Na zakończenie odmontowujemy /mnt/flash i wydajemy
polecenie
syslinux /dev/sda1
. Teraz możemy uruchamiać
już komputer z flash dysku. Niestety, w przypadku Movik-
sa2 uruchamianie systemu – mimo flash dysku z USB 2.0
– trwa kilka minut. Po przegraniu dystrybucji możemy
oczywiście dalej ją modyfikować, zapisując bezpośrednio
na flash dysku, np. domyślnie uruchamiany tryb pracy znaj-
dziemy w pliku syslinux.cfg.
Inne dystrybucje oparte na Knoppiksie
Pod
adresem
http://www.knoppix.net/docs/index.php/
KnoppixCustomizations znajdziemy obszerną listę dystry-
bucji Linuksa opartych na Knoppiksie. Niektóre spośród
nich są na tyle małe, że mogą zmieścić się na naszym
flash dysku. Większość z nich nie została przeznaczona do
uruchamiania z flash dysku, ale możemy je samodzielnie
zmodyfikować, aby posiadały taką funkcjonalność. Oczy-
wiście, możemy również do tego celu stworzyć własnego
Knoppiksa, co opisuje artykuł ,,Własny Knoppix”.
Do odpowiedniego zmodyfikowania Knoppiksa bę-
dziemy potrzebowali komputera z Linuksem oraz jądrem
z obsługą cloop (Compressed LOOP). Jak można zaopatrzyć
się w obsługę cloop, opisuje artykuł ,,Własny Knoppix”,
obecny w tym numerze Linux+. Ponadto potrzebujemy
Syslinuksa, (zmniejszonego) Knoppiksa oraz komputer, któ-
ry potrafi uruchomić się z USB.
Przede wszystkim musimy wprowadzić do Knoppiksa
trzy modyfikacje:
Listing 2.
Przykładowy prosty skrypt, który montuje włożony
flash dysk i odmontowuje go po wyciągnięciu
#/bin/bash
logger "
$0
: Montowanie flash dysku..."
# czekamy, aż moduły jądra zostaną załadowane
sleep 4
# montujemy flash dysk i odtwarzamy jakiś dźwięk
mount -w /mnt/flash || exit
aplay /usr/share/dzwiek1.wav
# zmienna $REMOVER określa nazwę programu w katalogu
# /var//var/run/usb/
# który zostanie uruchomiony przy odłączeniu urządzenia
cat >
$REMOVER
<< EOF
#/bin/bash
logger "
$0
: Odmontowanie flash dysku..."
umount /mnt/flash
aplay /usr/share/dzwiek2.wav
EOF
chmod 755
$REMOVER
Rysunek 2.
Na stronach internetowych dystrybucji Knoppix
znajdziemy namiary na wiele dystrybucji, które nadają się do
instalowania na flash dyskach
57
www.linux.com.pl
flashdysk USB
• spowodować, aby Knoppix ładował potrzebne nam
moduły jądra, obsługujące USB, przed modułami SCSI
i przed próbą odszukania nośnika, na którym znajduje
się właściwa część dystrybucji;
• ustawić urządzenie, z którego uruchamia się Knoppix,
na /dev/sda1, rezygnując ze standardowego skryptu,
który wyszukuje urządzenia CDROM z odpowiednią
płytą;
• skopiować potrzebne nam moduły jądra w odpowied-
nie miejsce, aby Knoppix mógł użyć ich do uruchomie-
nia właściwego systemu.
Na początku musimy zmodyfikować bootimage Knop-
piksa, który znajdziemy na płycie CD tej dystrybucji
w katalogu /KNOPPIX/boot.img. Montujemy go (
mount -o
loop boot.img /mnt/tmp
) i kopiujemy całą jego zawartość
do katalogu np. /tmp/bootdisk i odmontowujemy. Teraz
musimy dostać się do pliku miniroot.gz, skopiowanego
przed chwilą do /tmp/bootdisk/ –
gunzip /tmp/bootdisk/
miniroot.gz
;
mount -o loop /tmp/bootdisk/miniroot /
mnt/tmp/
. W miniroot interesuje nas plik linuxrc. Musimy
w nim dopisać załadowanie odpowiednich modułów
USB (przed modułami SCSI, około linii 170, przed
komentarzem Check for SCSI), czyli dopisujemy nastę-
pujące linie:
#insmod -f ehci-hcd.o #(możemy spróbować USB 2.0 jeśli nasz
sprzęt to obsługuje)
insmod -f usbcore.o
insmod -f usb-uhci.o
insmod -f uhci.o
insmod -f usb-ohci.o
insmod -f usb-storage.o
ash -c "sleep 5"
Następnie wyszukujemy fragment skryptu, który odpowia-
da za wyszukiwanie napędu CD (zaczyna się od komenta-
rza Now that the right SCSI driver is (hopefully) loaded, try to
find CDROM i kończy linią done). Całą tę część komentuje-
my. Pod nią dopisujemy:
FOUND_KNOPPIX="/dev/sda1"
mount -t vfat /dev/sda1 /cdrom
Zanim przejdziemy do następnego kroku (kopiowania
modułów jądra), parę słów wyjaśnienia. W Knoppiksie,
po starcie jądra systemu, najpierw ładowany jest plik
KNOPPIX/boot.img i montowany plik miniroot.gz (niektó-
re dystrybucje pochodne od Knoppiksa zmieniają jedynie
nazwę KNOPPIX na swoją). Dopiero później następuje
odnalezienie napędu CD oraz podmontowanie wielkiego
pliku KNOPPIX/KNOPPIX, zawierającego właśnie całe
oprogramowanie. Moduły jądra, odpowiedzialne za obsłu-
gę USB, znajdują się właśnie w pliku KNOPPIX/KNOPPIX,
a naszym zadaniem jest przekopiowanie ich stamtąd do
miniroot.gz.
Do naszej pracy najlepiej jest użyć wersji cloop 1.0.2,
gdyż jest ona najpopularniesza. Niestety, poszczególne
wersje cloop nie są ze sobą kompatybilne, a my musimy
użyć dokładnie tej, którą użyto do skompresowania naszej
odmiany dystrybucji Knoppix. Czasem wersję skompreso-
wanego obrazu można zobaczyć po wykonaniu polecenia
strings KNOPPIX/KNOPPIX | less
.
Ładujemy więc moduł:
insmod cloop.
o, montujemy
plik KNOPPIX poleceniem:
file=sciezka_do_KNOPPIX &&
mount -t iso9660 /dev/cloop /mnt/tmp2
i kopiujemy do
katalogu /mnt/tmp pliki z katalogu /mnt/tmp2/lib/modules/
[wersja_jadra]/kernel/drivers/usb/: ehci-hcd.o uhci.o usb-
ohci.o usb-storage.o usb-uhci.o usbcore.o. Jak pamiętamy,
w /mnt/tmp/ podmontowaliśmy wcześniej miniroot. Tym
samym zakończyliśmy potrzebne modyfikacje w pliku
miniroot. Odmontowujemy go i ponownie kompresujemy
przy użyciu gzip.
Następnie na wcześniej sformatowany (
mkfs.vfat /dev/
sda1
) i podmontowany flash dysk kopiujemy całą zawartość
/tmp/bootdisk/ i inne pliki Knoppiksa, w tym oczywiście
najważniejszy, czyli KNOPPIX/KNOPPIX. W efekcie zawar-
tość bootdisk-u ma znaleźć się w głównym katalogu na
flash dysku, a sam plik bootdisk.img możemy skasować.
Podobnie jak przy innych dystrybucjach nagrywanych na
flash dysk, musimy jeszcze wydać komendę
syslinux /dev/
sda1
. Następnie pozostaje nam tylko zrestartowanie maszy-
ny i radość z samodzielnie dostosowanej dystrybucji.
Zakończenie
Flashdysk może być świetnym rozwiązaniem dla osób,
które są zmuszone do poruszania się, np. między pracą
a domem, ze swoim dyskiem twardym. Flashdysk dosko-
nale nadaje się do przechowywania prywatnych danych
(np. kluczy ssh) czy też posiadania swojego Linuksa zawsze
przy sercu. Wygodny rozmiar urządzenia, często mniejszy
od zapalniczki, duża prędkość działania (zwłaszcza w przy-
padku modeli USB 2.0), no i oczywiście możliwość podłą-
czania, bez konieczności wyłączania komputera, to ogrom-
ne zalety tego rozwiązania.
W Sieci:
• Samodzielne tworzenie Knoppiksa:
http://www.knoppix.net/docs/index.php/
KnoppixRemasteringHowto
• Uruchamianie Knoppiksa z flash dysku oraz bootloader
z SPBLinux:
http://rz-obrian.rz.uni-karlsruhe.de/knoppix-usb/
• Dystrybucja Flonix:
http://flonix.tuxfamily.org/
• Dystrybucja Movix:
http://movix.sourceforge.net/
• Strona domowa Hotplug:
http://linux-hotplug.sourceforge.net/
• Ogólne informacje na temat urządzeń USB w Linuksie:
http://www.linux-usb.org/
marzec 2004
58
dla programistów
CVS – system zarządzania
wersjami
Piotr Machej
O
programowanie Open Source jest często roz-
wijane przez wielu różnych programistów.
Każdy z nich może pracować nad innym
fragmentem kodu. Utrzymanie porządku
staje się w takim przypadku bardzo trudne. W celu ułatwie-
nia pracy programistom powstał CVS (Concurrent Versions
System), czyli system zarządzania wersjami. Przydaje się on
jednak nie tylko przy tworzeniu oprogramowania – świet-
nie nadaje się również do rozwijania serwisów WWW czy
dokumentacji. Można go zastosować właściwie wszędzie,
gdzie tylko występują cyfrowe dane.
Jak to działa?
Wykorzystując CVS mamy możliwość zapoznania się
z historią zmian w projekcie. Oprócz tego, możemy
w każdej chwili uzyskać informacje o różnicach pomiędzy
poszczególnymi wersjami plików. Co więcej, w dowolnej
chwili możemy odtworzyć projekt w takiej postaci, w jakiej
znajdował się jakiś czas temu. Możemy nawet rozwijać pro-
jekt równocześnie w kilku kierunkach (tzw. rozgałęzieniach
– ang. branches), co pozwala nam na eksperymentowanie
bez naruszania głównej wersji projektu. Jeśli dodać do tego
możliwość równoczesnego dostępu wielu programistów,
system CVS okazuje się być bardzo przydatny.
Najważniejszym pojęciem dotyczącym CVS jest repo-
zytorium (ang. repository), czyli obszar na dysku kom-
putera (lokalnego lub zdalnego), w którym przechowy-
wane są wszystkie informacje na temat poszczególnych
projektów. Każdemu projektowi możemy przyporządko-
wać osobny moduł, czyli po prostu podkatalog w repo-
zytorium.
Wiemy już, że mamy jedno repozytorium z projek-
tem, oraz wiele osób, które mogą z nim pracować. Powsta-
je pytanie, jak to działa. Otóż każdy z programistów (przyj-
mijmy, że nasz projekt jest programem) może pobrać (ang.
checkout) z repozytorium aktualną wersję projektu. Posia-
da wtedy u siebie kopię roboczą, z którą może pracować.
W dalszych etapach pracy nie będzie musiał już pobierać
całości projektu, a jedynie będzie uaktualniał (ang. update)
swoją wersję. Jeśli programista dokonał zmian w swojej
kopii roboczej, może je przesłać (ang. commit) do repozy-
torium. Może zdarzyć się, że wcześniej jakiś inny progra-
mista wysłał już swoje poprawki. O ile nie kolidują one ze
sobą, to nie będzie problemu. Jeśli jednak zmieniany był
ten sam fragment kodu, to podczas przesyłania będziemy
mieli możliwość zdecydowania, które poprawki i w jakiej
kolejności powinny być wprowadzone.
Warto wiedzieć, że CVS może działać nie tylko w trybie
sieciowym, ale również i lokalnym. Jeśli więc sami opraco-
wujemy jakiś projekt, to z powodzeniem możemy wykorzy-
stać CVS tworząc repozytorium na dysku własnego kom-
putera.
Przykład użycia
Obudziłem się z potwornym bólem głowy. Jeden rzut
okiem na budzik uświadomił mi, że jest już po południu.
Szybko wstałem i usiadłem przy komputerze – na jutro
muszę mieć skończony program na zaliczenie, a tu jesz-
cze tyle do napisania. Z zadowoleniem stwierdziłem, że
przed zaśnięciem wysłałem wszystkie moje zmiany do
zdalnego repozytorium CVS. Sprawdziłem historię zmian
w plikach i ucieszyłem się jeszcze bardziej – koledzy z
grupy dopisali już kilkaset istotnych linii kodu. Ściągną-
łem na dysk nowsze wersje plików i zabrałem się dalej
do pracy.
O autorze:
Autor zakończył studia zaoczne na V roku Informatyki na
Politechnice Opolskiej. Z Linuksem (i ogólnie systemami
uniksowymi) ma styczność od wielu lat. Obecnie admi-
nistruje siecią blokową złożoną z dziesięciu komputerów.
Kontakt z autorem: autorzy@linux.com.pl.
Rysunek 1.
Wielu webmasterów wykorzystuje CVS w pracach
nad swoimi witrynami
Zobacz w:
59
www.linux.com.pl
cvs
Na drugiej konsoli włączyłem pobieranie z CVS uaktual-
nienia mojego ulubionego MPlayera, a gdy już wylądowało
na moim dysku, uruchomiłem kompilację.
Tymczasem przyszedł mi do głowy nowy pomysł doty-
czący programu na zaliczenie. Stworzyłem osobną gałąź
projektu, aby nie przeszkadzać kolegom, po czym zacząłem
eksperymenty z kodem. Nawet nie zauważyłem, jak nad-
szedł wieczór. Pomysł okazał się dobry, więc za zgodą reszty
grupy włączyliśmy moje eksperymentalne zmiany do głów-
nego projektu, który w tym czasie znów się rozwinął. Jesz-
cze tylko ostatnie szlify i jutro będziemy mieli piątki z zali-
czenia. Nie da się ukryć, że CVS ułatwia pracę grupową.
Instalacja
Pakiet cvs znajduje się praktycznie w każdej z popularnych
dystrybucji i w większości przypadków będzie umieszczo-
ny na dysku podczas standardowej instalacji. W przypad-
ku Auroksa 9.2 pakiet cvs-1.11.2-10.i386.rpm znajduje się
na drugiej płycie CD z dystrybucją. Jeśli przypadkiem CVS
nie jest zainstalowany, możemy doinstalować go samodziel-
nie poleceniem
rpm -Uvh cvs-1.11.2-10.i386.rpm
wydanym
w katalogu /RedHat/RPMS/ na drugiej płycie CD. W innych
dystrybucjach należy wykorzystać narzędzia właściwe dla
konkretnej dystrybucji.
Niektórych Czytelników może nie zadowolić aktu-
alność pakietów dostarczanych z dystrybucją. W chwili
pisania niniejszego artykułu dostępna już była stabilna
wersja 1.11.11. Jeśli chcemy zainstalować najaktualniejszą
wersję, warto wejść na domową witrynę projektu (http://
www.cvshome.org/ ) i z sekcji CVS Downloads pobrać
najnowszy plik. Po pobraniu możemy rozpakować go
poleceniem
tar xjvf cvs-1.11.11.tar.bz2
(nazwa pliku
dotyczy wersji aktualnej w chwili pisania artykułu).
Przechodzimy do utworzonego podkatalogu polece-
niem
cd cvs-1.11.11
, po czym zapoznajemy się z doku-
mentacją (przede wszystkim z plikami INSTALL oraz
README). Kompilacja i instalacja nie powinna sprawić
problemu – na ogół wystarczy standardowy ciąg pole-
ceń:
./configure
,
make
i
make install
(to ostatnie wydane
z uprawnieniami użytkownika root).
Pobieramy dane ze zdalnego serwera
CVS
Większość użytkowników Linuksa najczęściej wykorzystu-
je CVS do pobierania najnowszych wersji oprogramowania.
Jeśli tylko twórcy konkretnego programu przewidzieli moż-
liwość pobrania plików z repozytorium CVS, to opis powi-
nien znajdować się na stronie domowej projektu.
Przykładem niech będzie popularny program MPlayer.
Po wejściu na jego witrynę (http://www.mplayerhq.hu/
homepage/ ) możemy przejść do sekcji Downloads. Tam, na
samym dole strony (Rysunek 2), znajdziemy sekcję oznaczo-
ną napisem CVS. Postępując zgodnie z umieszczonymi tam
informacjami, powinniśmy wydać w konsoli polecenie:
cvs -d:pserver:anonymous@mplayerhq.hu:
S
/cvsroot/mplayer login
Dzięki temu powinniśmy zalogować się anonimowo do
zdalnego repozytorium CVS. Po pytaniu o hasło należy po
prostu wcisnąć klawisz [Enter]. Następnie wydajemy właści-
we polecenie pobierające aktualne pliki źródłowe:
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:
S
/cvsroot/mplayer co -P main
Dzięki temu w podkatalogu main/ bieżącego katalogu
zostanie umieszczona najbardziej aktualna wersja źródeł
programu. Dokładne znaczenie poszczególnych opcji zosta-
nie omówione w dalszej części artykułu.
Wykorzystujemy GCvs
Jeśli wolimy korzystać z interfejsu graficznego, to musimy
wykonać nieco inne kroki. W przypadku programu GCvs
(opisanego dokładniej w rozdziale Interfejsy graficzne)
zaczynamy od wybrania opcji Admin –> Preferences.
W otwartym okienku w zakładce General wpisujemy
w pole CVSROOT linię:
anonymous@mplayerhq.hu:/cvsroot/mplayer
Następnie w sekcji Authentication zaznaczamy pole Pas-
sword ("pserver"). Wartości te odpowiadają opcji
-d:pse-
rver:anonymous@ mplayerhq.hu:/cvsroot/mplayer
z poleceń
wpisywanych w konsoli i wskazują na lokalizację repozyto-
rium, z którego będziemy pobierać pliki. W zakładce Glo-
bals warto zaznaczyć opcję Use TCP/IP compression – jeśli
ustawimy ją na wartość 3, to będzie dokładnie odpowiadać
opcji -z3 z podanego wcześniej polecenia. Sprawia ona, że
dane podczas przesyłania są kompresowane algorytmem
gzip (dzięki temu powinny szybciej znaleźć się na naszym
dysku). Ostatnia z użytych opcji (-P) jest domyślnie usta-
wiona w zakładce Globals – Prune (remove) empty directo-
ries. Sprawia ona, że po pobraniu plików z repozytorium,
Rysunek 2.
Instrukcja pobierania programu MPlayer z CVS jest
umieszczona na witrynie domowej projektu
marzec 2004
60
dla programistów
kasowane są pobrane puste katalogi (oczywiście tylko na
naszym dysku – w repozytorium pozostają bez zmian).
Zmienione opcje zatwierdzamy przyciskiem OK.
Teraz możemy zalogować sie do repozytorium. Służy do
tego opcja Admin –> Login. Również w tym przypadku na
pytanie o hasło po prostu wciskamy przycisk OK. Po chwili
w oknie komunikatów, poniżej linii
cvs -z3 login
, powi-
nien pojawić się napis
*****CVS exited normally with code
0*****
. Skoro zalogowaliśmy się bez problemu, możemy
pobrać pliki źródłowe MPlayera. W tym celu wybieramy
opcję Create –> Checkout module. W otwartym okienku
przechodzimy do katalogu, w którym chcemy zapisać pliki
i wciskamy OK. Pozostaje nam w kolejnym okienku wpisać
nazwę modułu do pobrania (w polu Enter the module
name...). W naszym przypadku jest to
main
. Wciskamy
jeszcze raz przycisk OK i czekamy, aż pliki znajdą się na
naszym dysku.
Jak widać, do zwykłego pobrania plików wygodniej jest
po prostu wpisać dwa polecenia w konsoli, zamiast klikać
i klikać... Na dłuższą metę interfejs graficzny okazuje się
jednak całkiem przydatny.
Rysunek 3. Po pobraniu projektu do katalogu robocze-
go mamy dostęp do informacji o wersjach poszczególnych
plików
Interfejsy graficzne
Minęły już chyba bezpowrotnie czasy, gdy słowa Unix
i Linux kojarzyły się z czarnym ekranem wypełnionym
białymi literkami. W dobie rozbudowanych środowisk
graficznych coraz trudniej o program, który nie posiadał-
by interfejsu graficznego. CVS nie jest wyjątkiem. Posiada
graficzne nakładki działające nie tylko w systemach unikso-
wych, ale również w Windows czy MacOS.
Adresy witryn niektórych interfejsów graficznych
umieszczone są na końcu artykułu, w ramce W Sieci.
Oprócz samych interfejsów graficznych (również tych
dostępnych z poziomu WWW), znajdują się tam też odno-
śniki do takich projektów, jak CVSMonitor (pozwala śledzić
aktywność w projekcie, wprowadzane zmiany itp.) czy
CVSspam (program powiadamiający e-mailem o zmianach
wprowadzonych w repozytorium). Poniżej pozwolę sobie
krótko opisać jeden wybrany interfejs graficzny.
GCvs
GCvs jest bardzo rozbudowanym i wygodnym klientem
CVS. Jest to odmiana programu WinCvs, przeznaczone-
go dla systemu Windows. Istnieje również odmiana tego
programu dla platformy Mac OS X – MacCvsX. Niezależnie
więc, z której platformy będziemy korzystać, mamy moż-
liwość używania programów o praktycznie identycznych
interfejsach.
Program GCvs możemy pobrać z witryny domowej
projektu (http://cvsgui.sourceforge.net/ ), z sekcji Download.
Dostępne są zarówno źródła, jak i pakiety RPM oraz DEB.
Zależnie od posiadanej przez nas dystrybucji, pobieramy
odpowiedni plik i instalujemy. W przypadku Auroksa
można pobrać plik gcvs-1.0-1.i386.rpm (i zainstalować
poleceniem
rpm -Uvh gcvs-1.0-1.i386.rpm
) lub wybrać
pakiet źródłowy gcvs-1.0-1.src.rpm (instalujemy go pole-
ceniami:
rpmbuild --rebuild gcvs-1.0-1.src.rpm
,
rpm -Uvh
/usr/src/redhat/RPMS/i386/gcvs-1.0-1.i386.rpm
).
Po instalacji możemy go uruchomić poleceniem
gcvs
.
Okno programu podzielone jest na trzy duże okna. Po
lewej stronie mamy listę katalogów. Możemy w niej wybrać
katalog, w którym akurat chcemy pracować. W górnym
oknie znajduje się spis plików wraz z informacjami na
temat ich aktualności. Wreszcie w trzecim, dolnym oknie,
pojawiają się komunikaty drukowane przez CVS.
Program jest przyjemny i wygodny w użyciu, a dzięki
wypisywaniu w oknie komunikatów postaci polecenia,
świetnie nadaje się do nauki CVS dla początkujących.
W niniejszym artykule postaram się wskazać, jak można
w GCvs wykonać wszystkie opisywane czynności.
Wykorzystujemy CVS lokalnie
Jak już wspomnieliśmy, CVS pozwala na pracę w trybie
lokalnym. Dzięki temu możemy stworzyć repozytorium na
dysku naszego komputera i korzystać z niego bez potrzeby
łączenia się z siecią komputerową.
Tworzymy repozytorium
Tworzenie repozytorium zaczynamy od stworzenia katalo-
gu, w którym umieszczane będą wszystkie pliki. Może on
znajdować się w dowolnym, wybranym przez nas miejscu.
Należy jednak pamiętać, abyśmy mieli do niego prawa
odczytu i zapisu. No i oczywiście powinniśmy dysponować
odpowiednią ilością wolnego miejsca na dysku. Przykłado-
wo, niech będzie to katalog ~/repozytorium/ – w naszym
katalogu domowym na pewno możemy zapisywać pliki
i nie potrzebujemy do tego uprawnień użytkownika root:
mkdir ~/repozytorium
Teraz musimy zainicjować nasze repozytorium. Służy do
tego następujące polecenie:
cvs -d ~/repozytorium init
Powyższe czynności wykonujemy tylko raz. Od tego
momentu możemy już korzystać z utworzonego katalogu.
Warto zwrócić uwagę na opcję -d katalog. Wskazuje
ona lokalizację repozytorium, do którego odwołujemy
się poleceniem
cvs
. Każdorazowe jej wpisywanie może
być uciążliwe, dlatego lepiej umieścić nazwę właściwego
katalogu w zmiennej środowiskowej CVSROOT. W naszym
przykładzie dokonamy tego poleceniami:
CVSROOT=~/repozytorium
export CVSROOT
Możemy te linie dopisać do któregoś z plików wykonywa-
nych w momencie logowania, dzięki czemu nawet po prze-
61
www.linux.com.pl
cvs
logowaniu się zmienna środowiskowa CVSROOT będzie
ustawiona. W Auroksie takim plikiem jest ~/.bash_profile.
Od tej chwili możemy pomijać opcję -d katalog i stoso-
wać skróconą wersję poleceń (np.
cvs init
).
W przypadku programu GCvs pole CVSROOT ustawia-
my na
~/repozytorium
, natomiast opcję Authentication na
wartość Local.
Jeśli chcemy, aby z repozytorium w trybie lokalnym
mogli korzystać inni użytkownicy, warto przygotować je
tak, jak opisano w rozdziale Tworzymy własny serwer CVS.
Szczególnie należy zwrócić uwagę na rozdział Nieupoważ-
nionym wstęp wzbroniony.
Umieszczamy projekt w repozytorium
Jeśli rozpoczęliśmy już pracę z naszym projektem, możemy
go teraz umieścić w repozytorium. Załóżmy, że pliki pro-
jektu znajdują się w katalogu ~/projekt/. Przechodzimy do
niego poleceniem
cd ~/projekt
, po czym wydajemy pole-
cenie:
cvs import -m "Pierwszy import projektu"
S
projekt gerard start
Oczywiście polecenie to możemy dostosować do naszych
potrzeb – ma ono postać:
cvs import [-opcje] nazwa_modułu vendor release
W naszym poleceniu użyliśmy opcji -m, która pozwala
dodać własną informację do rejestru zmian w projek-
cie. W opcji nazwa_modułu podajemy krótką nazwę,
którą będzie nosił podkatalog utworzony w katalogu
~/repozytorium/, zawierający pliki z naszym projektem.
W polu vendor możemy wpisać dowolne słowo nie zawie-
rające spacji i znaków specjalnych – np. może to być nasz
przydomek (nick). Ostatnia opcja, release, pozwala na
użycie symbolicznego określenia numeru wersji. Nazwa
start odpowiada numerowi 1.1.1.1.
W GCvs wybieramy opcję Create –> Import module.
Następnie w otwartym oknie przechodzimy do katalogu,
w którym znajdują się pliki projektu (w naszym przypadku
~/projekt) i wciskamy OK. Jeśli pojawi się okienko z komu-
nikatem błędu, to należy je dokładnie przeczytać i odpo-
wiednio zareagować. Może okazać się przykładowo, że
GCvs źle odgadnie typ pliku i uzna plik tekstowy za binar-
ny (BINARY). W takim przypadku należy wskazać odpo-
wiednią pozycję i wcisnąć Edit. Z listy możemy wybrać
jedną z opcji: Leave unchanged (nic nie zmieniaj), Force
binary (potraktuj plik jako binarny), Force text (potraktuj
plik jako tekstowy) oraz Ignore (zignoruj).
Warto dbać, aby pliki miały przypisany właściwy typ.
Jeśli plik binarny zapiszemy jako tekstowy, to zostanie on
doszczętnie zniszczony – CVS przechowuje pliki tekstowe
wraz z historią zmian zapisaną w nich samych. Z tego
samego powodu nie ma sensu czystych plików tekstowych
przechowywać jako binarnych – wysłanie każdej popraw-
ki do repozytorium wiązałoby się z jego powiększeniem
o kolejny plik.
W kolejnym oknie możemy ustalić jeszcze nazwę
modułu, wpisać komunikat (odpowiednik opcji -m) oraz
ustawić wartości pól Vendor i Release.
Jeśli przesłanie plików do repozytorium zakończyło się
bez błędów, możemy skasować nasz katalog ~/projekt/ wraz
z zawartością. Za chwilę odzyskamy go z repozytorium, już
razem z informacjami o wersjach poszczególnych plików.
Pobieramy projekt z repozytorium
Przyszedł czas na prawdziwą pracę. Zaczynając pracę
z naszym projektem musimy pobrać go z repozytorium.
W tym celu wybieramy sobie odpowiadający nam katalog,
Podstawowe polecenia CVS:
•
checkout moduł
(skrót:
co
) – tworzy podkatalog z kopią
roboczą plików umieszczonych w repozytorium
•
update
(skrót:
up
) – uaktualnia pliki kopii roboczej do naj-
nowszej wersji obecnej w repozytorium
•
add plik
– komunikuje CVS, że plik zostaje dołączo-
ny do projektu i ma zostać przesłany przy następnym
wywołaniu commit;
• remove plik – po usunięciu pliku z kopii roboczej możemy
użyć tej funkcji, aby plik został również usunięty z repo-
zytorium (przy najbliższym wywołaniu commit);
•
commit plik
– przesyła zmiany wprowadzone w pliku do
repozytorium;
•
diff
– wypisuje różnice pomiędzy plikami z kopii robo-
czej i ich wersjami z repozytorium;
•
import
– przesyła pliki do repozytorium tworząc nowy
projekt;
• init – inicjuje repozytorium dodając w nim katalog
CVSROOT oraz domyślne pliki konfiguracyjne;
• log – wyświetla informacje o zmianach w plikach;
• status – podaje informacje o aktualnym stanie plików
(numer wersji w repozytorium i kopii roboczej, czy pliki
były edytowane itp.);
•
tag znacznik
– ustawia nazwę symboliczną znacznik
dla aktualnych wersji plików w repozytorium (można się
później do niej odwoływać z użyciem opcji -r znacznik).
Ciekawe opcje wywołania CVS:
• -d katalog_główny_CVS – pozwala pracować na innym
repozytorium niż zdefiniowane w zmiennej środowiskowej
CVSROOT;
• -e edytor – wskazuje nazwę edytora, który będzie wyko-
rzystywany do wpisywania informacji do rejestru zmian
(przydaje się, jeśli nie chcemy korzystać z domyślnego);
• -n – nie wykonuje żadnych operacji zmieniających repo-
zytorium lub kopię roboczą, a jedynie wypisuje komuni-
katy;
• -z liczba – ustawia kompresję na poziom określony war-
tością liczba.
marzec 2004
62
dla programistów
w którym będziemy chcieli przechowywać pliki z projek-
tem. Może to być nawet katalog domowy (~/ ), gdyż wywo-
łanie polecenia, które za chwilę poznamy, spowoduje
utworzenie odpowiedniego podkatalogu. Podkatalog ten
będzie miał taką nazwę, jakiej użyliśmy w opcji nazwa_
modułu polecenia
cvs import
. No dobrze, zatem stwórzmy
katalog ~/projekty1/ i wykonajmy nasze polecenie:
mkdir ~/projekty1
cd ~/projekty1
cvs checkout projekt
W programie GCvs po prostu wybieramy opcję Create –>
Checkout module. W otwartym oknie tworzymy katalog
~/projekty1/, po czym wchodzimy do niego i wciskamy OK.
W kolejnym oknie wpisujemy nazwę modułu do pobrania
(projekt) i możemy znów wcisnąć OK. Jeszcze tylko wybie-
ramy opcję Query –> Reload view, dzięki czemu zostanie
uaktualniona lista katalogów i plików.
Teraz w katalogu ~/projekty1/projekt/ mamy nasze pliki,
które wcześniej znajdowały się w katalogu ~/projekt/. Czy
coś się zmieniło? Tak – pojawiły się podkatalogi o nazwie
CVS/. Zawierają one informacje o wersjach – nie należy ich
edytować ani kasować.
Dokonywanie poprawek
Edycji plików dokonujemy w odpowiednich programach
– ta sprawa z oczywistych względów jest niezależna od CVS.
Tak więc do edycji plików tekstowych możemy użyć nasze-
go ulubionego edytora (np. Vim), do retuszowania fotografii
(również ich wersjami można zarządzać dzięki CVS) możemy
wykorzystać GIMP-a itd. Gdy dokonamy już poprawek i
jesteśmy z nich zadowoleni, należy wydać polecenie:
cvs commit
Zostaniemy poproszeni o podanie komentarza dotyczącego
tego uaktualnienia. Możemy też wskazać konkretne pliki,
które mają być wysłane do repozytorium. Wystarczy wyli-
czyć je na końcu polecenia, np.:
cvs commit plik1.c plik3.php
Możliwość ta jest bardzo przydatna, gdy chcemy już wysłać
uaktualnienie do niektórych plików, podczas gdy z innymi
zmodyfikowanymi chcemy jeszcze popracować.
W przypadku programu GCvs zaznaczamy pliki,
które chcemy uaktualnić (możemy też zaznaczyć kata-
log), a następnie wybieramy Modify –> Commit selection.
Podajemy komentarz dotyczący uaktualnienia, po czym
wciskamy OK.
Jeśli nad projektem pracuje więcej osób, to może
okazać się, że ktoś inny wysłał już uaktualnienie do popra-
wianego przez nas pliku. W takim przypadku polecenie
cvs
commit
zakończy się błędem i komunikatem zbliżonym do
poniższego:
cvs commit: Up-to-date check failed for `plik1.c'
W takim przypadku należy pobrać (update) do siebie
najnowszą wersję pliku, a następnie zapoznać się z róż-
nicami (pobrany plik będzie zawierał o nich informa-
cje). Po zlikwidowaniu konfliktów w pliku, możemy
skasować kopię zapasową (zapisaną w pliku o nazwie
.#nazwa_pliku), a następnie ponownie wysłać plik do
repozytorium.
Pobieranie poprawek z repozytorium
Gdy mamy już na dysku (pobraną przez
cvs checkout
) kopię
roboczą projektu, nie musimy jej już ponownie pobierać
w całości. Jeśli nad naszym projektem pracują i inne osoby,
to po każdej przerwie w pracy warto sprawdzić, czy nie
zostały wprowadzone jakieś poprawki. Dokonujemy tego
poleceniem wydanym w katalogu z projektem:
cvs -n update
Rysunek 4.
Praca z CVS w linii komend również jest dosyć
wygodna – wymaga tylko lepszej znajomości poleceń
Rysunek 5.
Wybieranie odpowiednich opcji porównania plików
jest znacznie wygodniejsze w interfejsie graficznym
63
www.linux.com.pl
cvs
Jeśli wskaże ono jakieś zmienione pliki, możemy pobrać
poprawki poleceniem:
cvs update
Różnica pomiędzy tymi poleceniami jest taka, że dzięki
opcji -n nie dokonujemy żadnych zmian, a jedynie
otrzymujemy komunikaty. Jeśli chcemy sprawdzić
dokładnie, jakie zmiany zostały wprowadzone, możemy
zapoznać się z historią zmian dzięki poleceniu
cvs
log nazwa_pliku
. Następnie możemy porównać nasz
plik z jego wersją w repozytorium. W tym celu wyda-
jemy polecenie
cvs diff nazwa_pliku -r nr_wersji
.
Wartość pola nr_wersji odczytujemy sobie z wyniku
wcześniejszego polecenia. Możemy też pominąć opcję
-r, a wtedy porównanie zostanie przeprowadzone
z plikiem w wersji takiej, jaką mamy w naszej kopii
roboczej. Opcję -r możemy wykorzystywać w innych
poleceniach, np. użycie jej z poleceniem
cvs update
spowoduje uaktualnienie kopii roboczej do konkretnej
wersji projektu z repozytorium. W ten sposób możemy
edytować starsze wersje projektu.
Podobnie jak w przypadku
cvs commit
, możemy wska-
zać konkretne pliki, które chcemy uaktualnić. Jeśli w repo-
zytorium znajdują się nowsze wersje plików, to zostaną one
przesłane do naszej kopii roboczej.
Jak już wiemy, w GCvs możemy po prostu zaznaczyć
pliki, na których chcemy pracować. Później wystarczy
wskazać opcję Query –> Query update w celu spraw-
dzenia aktualności kopii oraz Modify –> Update selec-
tion w celu pobrania poprawek. Odpowiednie opisa-
ne wcześniej polecenia (
cvs log
i
cvs diff
) znajdują się
w opcjach Query –> Log selection oraz Query –> Diff
selection.
Tworzymy własny serwer CVS
Posiadanie repozytorium na własnym dysku jest wygod-
ne, jednak tylko do pewnego momentu. Jeśli nad pro-
jektem pracuje więcej osób, to najczęściej nie wszystkie
mają bezpośredni dostęp do naszego komputera. W takim
przypadku musimy skonfigurować własny serwer CVS.
Innym wyjściem jest umożliwienie korzystania z CVS za
pomocą SSH – o tym jednak przeczytamy w następnym
rozdziale.
Konfiguracja serwera
Wszystkie czynności wykonujemy z uprawnieniami użyt-
kownika root. Zaczynamy od stworzenia katalogu dla repo-
zytorium. Ponieważ będzie to katalog przeznaczony dla
większej grupy użytkowników, więc możemy go umieścić
przykładowo w katalogach /usr/ lub /home/. Ja proponuję
utworzyć katalog /usr/cvsroot/:
mkdir /usr/cvsroot
Następnie postępujemy podobnie jak przy trybie lokalnym
– musimy zainicjować nasze repozytorium:
cvs -d /usr/cvsroot init
Ze względu na to, że tym razem w naszym katalogu będą
przechowywane hasła użytkowników, warto ograniczyć do
niego dostęp:
chmod -R o-rwx /usr/cvsroot
Dzięki temu tylko użytkownik i grupa root będą mieli
prawa do tego katalogu.
Serwer CVS uruchamiany jest przez demona xinetd,
więc musimy stworzyć specjalny plik konfiguracyjny – /
etc/xinetd.d/cvspserver. Treść, którą należy w nim umieścić,
znajduje się na Listingu 1. Wartość zmiennej server jest
zależna od tego, gdzie mamy zainstalowany CVS. Najlepiej
Listing 1.
Zawartość pliku /etc/xinetd.d/cvspserver
service cvspserver
{
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/cvsroot pserver
}
OFERTA PRACY DLA PROGRAMISTY
Firma o ustabilizowanej pozycji na rynku zatrudni programistów
zajmujących się tworzeniem oprogramowania dla platformy
Linux.
Wymagania:
l
Praktyka w programowaniu aplikacji bazodanowych SQL
– najlepiej pod SYBASE ASE;
l
Dobra znajomość programowania w C, C++;
l
Dobra znajomość semantyki języka i umiejętność jej
wykorzystania w praktyce: foxpro, clipper, dbase;
l
Pożądana znajomość pakietu CLIP (www.itk.ru);
l
Znajomość tematyki z zakresu zarządzania firmą – czyli
systemów ERP/CRM/MRP na poziomie podstawowym.
Oferty (CV, list motywacyjny, oczekiwania finansowe, termin podjęcia
pracy) z dołączoną klauzula: Wyrażam zgodę na przetwarzanie danych
osobowych zawartych w mojej ofercie pracy w celach rekrutacyjnych,
zgodnie z ustawa z dn. 29.08.1997r. „O ochronie danych osobowych”,
Dz.U. nr 133, poz. 833.
Kontakt: info@softwork.com.pl
WWW: www.softwork.com.pl
marzec 2004
64
dla programistów
sprawdzić to poleceniem
which cvs
. Ścieżka umieszczona
w zmiennej server_args to oczywiście ścieżka do naszego
katalogu z repozytorium.
Pozostaje nam uruchomić ponownie demona xinetd
poleceniem
/etc/rc.d/init.d/xinetd restart
.
Konfiguracja klienta
Z punktu widzenia użytkownika korzystającego z CVS,
jedyną różnicą w porównaniu z trybem lokalnym jest inna
wartość zmiennej środowiskowej CVSROOT. Chcąc połączyć
się z serwerem CVS będziemy ustawiać ją następująco:
CVSROOT=:pserver:gerard@192.168.0.1:/usr/cvsroot
export CVSROOT
Oczywiście zamiast gerard i 192.168.0.1 wpisujemy naszą
nazwę użytkownika na zdalnym serwerze oraz adres tego ser-
wera. Opcja pserver określa sposób autoryzacji użytkownika.
W przypadku korzystania z GCvs, ustawiamy w polu
CVSROOT wartość
gerard@192.168.0.1:/usr/cvsroot
, nato-
miast w sekcji Authentication zaznaczamy pole Password
(proszę porównać opis w rozdziale Pobieramy dane ze
zdalnego serwera CVS).
Poza tym obsługa nie różni się niczym od obsługi CVS
w trybie lokalnym.
Hasła użytkowników
CVS w domyślnej konfiguracji pozwala na autoryzowanie
użytkowników na podstawie systemowego pliku z hasła-
mi. Niesie to ze sobą duże zagrożenie, gdyż CVS stosuje
bardzo proste kodowanie przesyłanych haseł. Jeśli więc
użytkownicy będą korzystać ze swoich haseł systemowych,
potencjalnemu włamywaczowi będzie bardzo łatwo je
odszyfrować (zakładając, że uda mu się je podsłuchać – co
wcale nie musi być trudne).
Z tego powodu warto poświęcić trochę czasu na
edycję pliku /usr/cvsroot/CVSROOT/passwd. Plik ten ma
bardzo prostą konstrukcję. Każda linia może składać się
z trzech pól oddzielonych dwukropkiem. Kolejne pola
to:
• nazwa użytkownika CVS (a więc nazwa wykorzystywa-
na przy logowaniu się);
• hasło oraz nazwa użytkownika, z którego prawami ma
działać CVS, jeśli autoryzacja przebiegnie pomyślnie.
Tylko pierwsze pole jest obowiązkowe – dwa ostatnie
pola są opcjonalne i można je pominąć. Jak jednak wspo-
mnieliśmy przed chwilą, należałoby podać co najmniej
hasło. Zobaczmy na przykładowe dwie linie naszego pliku
z hasłami:
gerard:$1$61pntEz1$my4xVjdiPpLXj8Zgm23i8.
ktos:$1$RrFGfpK2$/54OCXueq4SpQ4a/SOBSC0:gerard
Mamy tu użytkownika gerard (który musi istnieć w syste-
mie) z zakodowanym hasłem cvspass. Oprócz tego mamy
użytkownika ktos z zakodowanym hasłem ProsteHaslo,
który po poprawnej autoryzacji będzie pracował w CVS
jako gerard. Dzięki temu użytkownik o nazwie ktos nawet
nie musi istnieć w systemie, ale i tak będzie miał możliwość
korzystania z CVS. Hasła są kodowane tą samą metodą
co w pliku /etc/shadow, więc można je stamtąd po prostu
przekleić.
Prawa do pliku /usr/cvsroot/CVSROOT/passwd może
mieć tylko root, więc wydajemy polecenie
chmod 600 /usr/
cvsroot/CVSROOT/passwd
. Oprócz tego w pliku /usr/cvsroot/
CVSROOT/config wstawiamy linię o treści
SystemAuth=no
(wystarczy usunąć znak # znajdujący się na jej początku),
a wtedy z CVS będą mogli korzystać tylko użytkownicy
określeni w naszym pliku /usr/cvsroot/CVSROOT/passwd.
Nieupoważnionym wstęp wzbroniony
Jeśli użytkownicy mają mieć dostęp do repozytorium,
musimy ustawić odpowiednie prawa dostępu do plików
i katalogów. Katalogi wewnątrz repozytorium powinny
być zapisywalne przez osoby, które mają mieć możliwość
zmieniania plików w tych katalogach. Co więcej, jeśli nawet
dana osoba ma tylko czytać pliki, to i tak musi mieć prawo
do zapisu (ze względu na tworzenie plików blokujących).
Sprowadza się to do tego, że jeśli chcemy, aby nad jakimś
projektem pracowała większa ilość osób, to musimy stwo-
rzyć w systemie grupę, do której wszystkie te osoby będą
należeć. Grupę taką należy uczynić właścicielem katalogów
i plików z projektem.
Korzystanie z CVS poprzez SSH
Wiemy już, że korzystanie z CVS za pomocą metody pser-
ver może być niebezpieczne ze względu na słabe kodowa-
nie haseł podczas przesyłania. Problem ten możemy obejść
stosując tunel SSH lub wykorzystując SSH bardziej bezpo-
średnio. CVS daje nam taką możliwość – jedną z metod
pracy zdalnej jest wykorzystanie SSH do przesyłania pole-
ceń i danych. Jeśli zdecydujemy się na tę drugą metodę,
Rysunek 6.
Informacje z CVS o wielu projektach możemy uzyskać
również za pośrednictwem WWW
65
www.linux.com.pl
cvs
użytkownicy będą musieli ustawić następujące zmienne
środowiskowe:
CVSROOT=:ext:gerard@192.168.100.1:/usr/cvsroot
CVS_RSH=ssh ; export CVSROOT CVS_RSH
Polecenia te można oczywiście dodać do pliku ~/.bash_pro-
file lub innego odpowiedniego dla naszej dystrybucji. Od tej
chwili wszystkie polecenia będą miały taką samą postać,
jak podczas korzystania z CVS lokalnie.
Korzystając z programu GCvs musimy ustawić pole
CVSROOT na wartość
gerard@192.168.100.1:/usr/cvsroot
,
a opcję Authentication na Secure shell.
Oczywiście, aby skorzystać z tej metody, musimy
spełnić kilka warunków. Na komputerze z repozytorium
musi być uruchomiony serwer SSH. Oprócz tego każdy
z użytkowników mających mieć dostęp do CVS musi mieć
tam konto – do autoryzacji wykorzystywane jest jego hasło
systemowe. Do katalogów repozytorium stosują się wszyst-
kie zasady opisane w rozdziale Nieupoważnionym wstęp
wzbroniony – musimy zadbać o odpowiednie ustawienia
praw dostępu do plików.
Przy wykorzystaniu dostępu przez SSH nie potrzebujemy
konfigurować serwera CVS. W zamian za to nie ma możliwo-
ści jednorazowego zalogowania się do CVS i wykonywania
kolejnych czynności. Każde polecenie musi być autoryzowa-
ne hasłem. Możemy tego uniknąć wykorzystując parę kluczy
SSH (publiczny i prywatny). Można o tym przeczytać w arty-
kule Praca z OpenSSH w numerze styczniowym.
W Sieci:
• Witryna domowa CVS:
http://www.cvshome.org/
• Zalety i wady CVS:
http://www.softax.pl/prywatne/marcink/narzedzia/
narzedzia_cvs/
• The CVS Book – darmowa książka o CVS:
http://cvsbook.red-bean.com/
• GCvs:
http://cvsgui.sourceforge.net/
• CVS Monitor:
http://ali.as/devel/cvsmonitor/
• TkCVS:
http://www.twobarleycorns.net/tkcvs.html
• CVSspam:
http://www.badgers-in-foil.co.uk/projects/cvsspam/
• CVS2HTML:
http://cvs.sslug.dk/cvs2html/
• CVSadmin:
http://www.cooptel.qc.ca/~limitln/cvsadmin/
• CVSweb:
http://www.freebsd.org/projects/cvsweb.html
• LinCVS:
http://www.lincvs.org/
• CvsGraph:
http://www.akhphd.au.dk/~bertho/cvsgraph/
marzec 2004
66
dla graczy
Krzysztof Wolski
Racer
R
acer jest pierwszym trójwymiarowym symula-
torem wyścigów samochodowych stworzonym
z myślą o Linuksie. Gra posiada również wersje
na inne systemy operacyjne, np. Windows. Oma-
wiana pozycja udostępniona jest do pobrania za darmo
dla celów niekomercyjnych. Na stronie projektu dostępny
jest również kod źródłowy. Potrzebne nam będą dwa pliki
– jeden z danymi dla gry i drugi z binariami. Binaria znaj-
dujące się na stronie są przeznaczone dla kart graficznych
opartych na kościach NVIDIA. Bardziej zaawansowani
użytkownicy Linuksa mogą spróbować skompilować własną
wersję Racera.
Dla użytkowników dystrybucji Aurox polecam ściągnię-
cie i zainstalowanie pakietu RPM. Adres strony, na której
można znaleźć wspomniany plik, znajduje się na końcu
artykułu. W przypadku instalowania pakietu RPM postępu-
jemy w standardowy sposób, czyli posiadając uprawnienia
administratora wydajemy polecenie:
rpm -Uvh racer-0.5.0-
4pdc.i686.rpm.
Po tak przeprowadzonej instalacji uruchomienie gry jest
już prostą czynnością – wybieramy odpowiednią pozycję
w menu Gry menedżera okien.
Po pomyślnym uruchomieniu gry, na ekranie powinno
pojawić się menu główne. Najbardziej interesującymi opcja-
mi dla gracza są oczywiście te związane z wyborem trasy,
na której będzie rozgrywany wyścig (Select track) oraz opcja
związana z wyborem samochodu, którym będziemy się
ścigać (Select car).
Standardowo do gry dołączony jest tylko jeden samo-
chód oraz tylko jedna trasa, ale gra została napisana w ten
sposób, że bardzo łatwo jest do niej dodać nowe samocho-
dy czy trasy. Należy pobrać je ze strony http://www.racer-
xtreme.com/, a następnie rozpakować i skopiować pliki do
odpowiedniego katalogu. W przypadku tras odpowiednim
katalogiem (jeśli gra została zainstalowana z pakietu RPM)
jest /usr/games/racer/data/tracks, natomiast dla samocho-
dów jest to katalog /usr/games/racer/data/cars. Następnie
wystarczy ponownie uruchomić grę.
Prowadzenie samochodu odbywa się przy pomocy
myszki – na początku może to sprawiać niemałe trudności,
ale po przejechaniu kilku lub kilkunastu okrążeń można
dojść do wprawy. Lewym przyciskiem myszki zmieniamy
bieg na wyższy, natomiast prawym dokonujemy jego reduk-
cji. Przesuwając myszkę do przodu przyspieszamy, natomiast
przesunięcie myszki do tyłu to hamowanie. Bieg wsteczny
jest uruchamiany po zredukowaniu do biegu jałowego (N)
i ponownym naciśnięciu prawego przycisku myszy (tak jak
w przypadku prawdziwych samochodów, załączony bieg
wsteczny sygnalizuje litera R).
Grafika w grze jest dopracowana, choć zależy to bar-
dziej od autora danej trasy niż od samego autora gry. Zain-
teresowani odnajdą różne modele samochodów, które pre-
zentują się naprawdę wyśmienicie pod względem graficz-
nym – dostępna ilość samochodów może naprawdę przy-
prawić o zawrót głowy.
Ponieważ gra znajduje się w stosunkowo wczesnej
fazie rozwoju, nie jest pozbawiona błędów. Objawia się
to dziwnym zachowaniem samochodu w czasie wypadku,
który koziołkuje w powietrzu kilkanaście razy i najczęściej
tego rodzaju kraksa kończy się koniecznością rozpoczęcia
wyścigu od początku (gra po prostu się „gubi”). Dźwięki
w grze nie przedstawiają się jeszcze najlepiej, ale można
mieć nadzieję na poprawę sytuacji w przyszłości – prace
wciąż trwają.
Racer na pewno jest godny uwagi. Miejmy nadzieję, że
następne wersje będą jeszcze lepsze zarówno pod wzglę-
dem dźwiękowym, jak i dopracowaniem sposobu prowa-
dzenia samochodu. Z pewnością warto czasem usiąść i dla
rozluźnienia po ciężkim dniu pościgać się na torze wyścigo-
wym. Dostępna ilość tras i samochodów na pewno nie spo-
woduje, że gra szybko się znudzi.
Wymagania sprzętowe:
• Karta grafiki ze sprzętowym wspomaganiem 3D (naj-
lepsza w tym przypadku będzie karta oparta o układy
firmy NVIDIA);
• 64 MB RAM;
• X Window.
http://www.racer.nl/
http://www.racer-xtreme.com/
Rysunek 1.
Racer w akcji
67
www.linux.com.pl
Dr. Dobb’s Journal jest wiodącym
magazynem dla deweloperów opro-
gramowania. Od ponad 25 lat jest on
najlepszym źródłem informacji dla pro-
fesjonalnych programistów, pisanym
i redagowanym przez programistów
dla programistów. W DDJ znajdziesz
liczne algorytmy, wskazówki przy-
datne podczas pisania programów,
opracowania dotyczące podstawo-
wych zagadnień z projektowania oprogramowania oraz
wszystkie listingi omawianych programów, co zagwa-
rantuje Ci, że staniesz się jeszcze lepszym programistą.
Dr. Dobb’s Journal is the leading magazine for softwa-
re developers. For more than 25 years it has been the
foremost source of software tools for the professional
programmer. It is written and edited by programmers for
programmers. With DDJ you’ll get algorithms, coding tips,
discussions of fundamental design issues, and program
listings guaranteed to make you a better programmer.
C/C ++ Users Journal jest maga-
zynem poświęconym praktycznym
rozwiązaniom dla programistów
C/C++, który omawia zaawanso-
wane techniki programowania w
C, C++ oraz Javie. Każde wydanie
dostarcza szczegółowych informa-
cji o wymienionych językach, stoso-
wanych standardach oraz progra-
mowaniu zorientowanym obiektowo.
Zajrzyj do CUJ, aby znaleźć najlepsze oraz najnowsze
techniczne informacje o językach C i C++, które wciąż
są najlepszym wyborem podczas rozwijania współcze-
snego oprogramowania.
C/C ++ Users Journal is the magazine devoted to practical
solutions for C/C ++ programmers, providing advanced
techniques in C, C ++ and Java. Each issue provides
how-to articles with full source code, and in-depth infor-
mation about languages, standards and object-orien-
ted programming. Look to CUJ for the best and latest
in technical information on C and CC++, the language
of choice for contemporary software development.
Wybierz swoją prenumeratę:
Drodzy Prenumeratorzy!
Wspólnie z firmą INTERNEWS, dystrybutorem i importerem
czasopism obcojęzycznych, przygotowaliśmy dla Was atrak-
cyjną ofertę zakupu prenumeraty ze zniżką wyszczególnionych
w tabeli czasopism informatycznych.
Zamówienia i szczegółowe informacje:
tel. (22) 853 60 23, 853 87 77. www.linux.com.pl.
W tym numerze polecamy:
ACCESS OFFICE & VB ADVISOR
237,70
180,70
C-C++ USERS JOURNAL
199,50
152,10
COMP.SHOPPER CD
222,50
171,20
COMPUTER ARTS CD*
366,20
277,70
COMPUTER ARTS SPECIAL CD
391,80
320,00
COMPUTER GAMING WORLD CD
354,30
268,70
COMPUTER SHOPPER USA
203,20
155,60
CRE@TE ONLINE CD
351,70
266,30
DR.DOBB`S JOURNAL
199,50
152,10
DVD REVIEW
280,10
214,30
DYNAMIC GRAPHICS
118,90
90,40
HOME ENTERTAIMENT
216,90
165,80
INTELLIGENT ENTERPRISE
355,70
270,40
INTERNET MAGAZINE CD
223,70
170,90
LAPTOP
240,30
212,80
LINUX FORMAT CD*
354,30
268,70
LINUX JOURNAL
203,80
155,90
LINUX MAGAZINE
232,30
177,30
MAC FORMAT CD*
354,30
268,70
MAC USER
440,20
339,30
MACWORLD UK CD
287,60
218,70
MACWORLD USA CD
203,20
155,60
MSDN MAGAZINE
239,70
182,80
OFFICIAL PS2 MAGAZINE*
329,20
250,00
OFFICIAL UK PLAY`STATION CD*
297,30
226,00
PC ADVISOR CD
208,50
173,50
PC FORMAT CD*
388,70
318,80
PC FORMAT DVD*
432,50
354,10
PC GAMER CD*
301,80
230,50
PC MAGAZINE UK CD
183,30
140,60
PC MAGAZINE USA
520,60
397,20
PC PLUS CD
401,60
329,30
PC PRO CD
293,80
224,50
PC UTILITIES CD
287,60
218,70
PC WORLD USA
163,30
125,60
PC ZONE CD*
252,20
192,30
PERS.COMP.WOR.CD
205,40
158,30
PLAY MAG UK DVD*
234,60
179,00
PLAYSTATION WORLD DVD*
244,80
187,80
PRACTICAL INTERNET CD*
320,60
243,50
PSM2 DVD*
240,30
183,30
SOFTWARE DEWELOPMENT
199,50
152,10
SYS ADMIN
237,10
180,30
WEB PAGES CD
167,80
145,80
WHAT PC ? CD
239,10
182,50
WIRELESS BUSINESS & TECHNOLOGY
237,70
170,70
Tytuł czasopisma
obecna cena
cena
prenumeraty promocyjna
półrocznej prenumeraty
(brutto)
półrocznej
* wraz z kosztami wysyłki zwykłej (pln)
warto przeczytać
69
www.linux.com.pl
dział prowadzi: Piotr Truszkowski
piotrt@linux.com.pl
warto przeczytać
W obronie wolności
<<AUTOR |
FIT=BOTTOM>>
Autor:
Sam Williams
Tłumaczenie:
Krzysztof Masłowski
ISBN:
83-7361-247-5
Tytuł oryginału:
Free as in Freedom
Format:
B5, stron: 296
Data wydania: 11/2003
Cena książki:
34.90 zł
Richard Stallman to postać bardzo dobrze znana w świecie Wolnego Oprogramowania. Książka Sama Wil-
liamsa, zatytułowana „W obronie wolności”, wydana niedawno przez wydawnictwo Helion, opowiada nam
historię kontrowersyjnego geniusza, który zmienił spojrzenie na świat oprogramowania. Znajdziemy w niej
historię Stallmana od jego lat młodzieńczych aż do czasu teraźniejszego. Z licznych wywiadów przedsta-
wionych w tym tytule, wyłania sie obraz człowieka wyobcowanego i samotnego, dla którego pasją i domem
stał się świat uniwersyteckich komputerów i oprogramowania. Poznamy czynniki, które popchnęły bohatera
książki do walki o idee ruchu Wolnego Oprogramowania.
Richard Stallman jest osobą bardzo kontrowersyjną. Z jednej strony nie sposób nie docenić jego zasług,
z drugiej zaś, podejście do świata przeplata się z religijną, niemalże fanatyczną ideologią. Czytelnik wgłę-
biając się w kolejne rozdziały dochodzi do wniosku, że ideologia Stallmana wcale nie jest taka, jaką mu
się wydawała, staje się dziwnie logiczna i warto się z nią utożsamiać.
Polecam ten tytuł absolutnie każdemu – zarówno ludziom korzystającym z oprogramowania Open Source,
jak i tym broniących oprogramowania z niedostępnym kodem źródłowym. Nie zawiodą się także Ci, którzy chcą poznać Stallmana z innego
punktu widzenia.
Obraz całości psują drobne błędy językowe, ale nie jest to zbytnim problemem – książka została również wydana w postaci elektronicznej, którą
można pobrać ze strony wydawnictwa Helion i modyfikować zgodnie z potrzebami. Jaki będzie kolejny rozdział?
FreeBSD. Księga eksperta
Autor:
Roderick W. Smith
Tłumaczenie:
Marcin Jędrysiak
ISBN:
83-7361-158-4
Tytuł oryginału:
FreeBSD: The Complete Reference
Format:
B5, stron: 824 (oprawa twarda)
Zawiera CD-ROM
Data wydania:
12/2003
Cena książki:
89.00 zł
FreeBSD uchodzi za niemalże idealny system serwerowy. Elastyczność, swoboda działania i moc, którą
wraz z systemem otrzymuje jego przyszły administrator, mogą się jednak wyrwać spod kontroli. Jak
zacząć i jak posłużyć się tym systemem, aby osiągnąć maksimum jego bezpieczeństwa i wydajności?
Odpowiedzi na te, jak i inne pytania, przedstawia nam Roderick W. Smith, autor książki o wiele mówią-
cym tytule: „FreeBSD. Księga eksperta”. Ilość omówionych tematów przytłacza. Jest ich tak wiele, że sam
spis treści zajmuje ponad 12 stron. Zaczynając od historii systemu, poprzez jego instalację, konfigurację,
omówienie serwerów plików, drukarek, www, logowania i innych, poprzez przystosowanie FreeBSD do
pracy w charakterze stacji roboczej. Książka „FreeBSD. Księga eksperta” należy do tej grupy tytułów,
które nie starzeją się przez bardzo długi okres czasu. Dzięki dokładnym omówieniom przedstawionych
problemów, ilości poruszonych zagadnień i przystępnemu językowi autora, mogę polecić ten tytuł każ-
demu, kto ma ochotę poznać FreeBSD i szuka książki, która pomoże mu w realizacji tego celu. Gorąco
polecam.
1. Zaawansowane modele finansowe z wykorzystaniem Excela i VBA (+ CD-ROM) – M. Jackson, M. Staunton, Wyd. Helion, 2003
2. Google dla praktyków – A. Szewczyk, Wyd. Mikom, 2003
3. Delphi. Tworzenie aplikacji bazodanowych w praktyce – P. Stokłosa, Wyd. Read Me, 2003
4. BIOS. Leksykon kieszonkowy – A. Pyrchla, Wyd. Helion, 2003
5. Kurs HTML. Jak stworzyć własną witrynę WWW, Wyd. Axcel Springer, 2003
6. E-Commerce – B. Gregor, M. Stawiszyński, Wyd. Branta, 2002
7. Fotografia cyfrowa – B. Long, Wyd. Helion, 2003
8. Nauka języka XML – E.T. Ray, G. Werner, Wyd. Read Me, 2001
9. Cisco. Technologie telekomunikacyjne – B. Dunsmore, T. Skandier, Wyd. Mikom, 2003
10. Hakerzy w Linuksie. Sekrety zabezpieczeń sieci komputerowych. Wydanie drugie – B. Hatch, J. Lee, G. Kurtz,
Wyd. Translator, 2003
Bestsellery Merlina
Lista najlepiej sprzedających się książek informatycznych
w sklepie internetowym www.merlin.pl, w styczniu:
PRENUMERATA TO NAJLEPSZY WYBÓR
Zainwestuj w siebie, zainwestuj w swojego pracownika
Prosimy wypełnić czytelnie i przesłać faksem na numer: (22) 860 17 71 lub listownie na adres Software-Wydawnictwo Sp. z o.o.,
Lewartowskiego 6, 00-190 Warszawa, e-mail: pren@software.com.pl. Przyjmujemy też zamówienia telefoniczne: (22) 860 17 67
Z A M Ó W I E N I E
Imię i Nazwisko
Stanowisko
ID kontrahenta*
* jeżeli jesteś już klientem firmy Software-Wydawnictwo Sp. z o.o. – wystarczy, że podasz swój numer
ID kontrahenta; jeżeli nie posiadasz takiego numeru, podaj swe dane w tabeli Dane teleadresowe
Upoważniam firmę Software-Wydawnictwo Sp. z o.o. do wystawienia faktury VAT bez podpisu odbiorcy
Pieczęć firmy i podpis
Dane teleadresowe
Nazwa firmy
Dokładny adres
Telefon (wraz z numerem kierunkowym)
Adres e-mail
Faks (wraz z numerem kierunkowym)
Numer NIP firmy
Liczba
kolejnych
numerów
Liczba
zamawianych
prenumerat
Od numeru
pisma
lub miesiąca
Opłata w zł
Tytuł pisma
Linux+
Miesięcznik użytkowników systemów linuksowych
Linux+ Extra!
Numery specjalne z dystrybucjami Linuksa
12
8
Oferta dla prenumeratorów Linux+ lub Software 2.0: 198 zł
Oferta standardowa: 232 zł
Linux w szkole
Kwartalnik o stosowaniu Linuksa w edukacji
4
99 zł
W sumie
(liczba prenumerat * cena)
* oferta promocyjna ważna do końca maja
UWAGA! Nadesłanie zamówienia jest jednocześnie zobowiązaniem do zapłaty!
SOFTWARE-WYDAWNICTWO SP. Z O.O.
ul. Lewartowskiego 6, 00-190 Warszawa, e-mail: pren@software.com.pl
Aurox
Numery specjalne Linux+ Extra! z dystrybucją Aurox Linux
4
Oferta dla szkół: 99 zł
Oferta standardowa: 119 zł
Linux+ DVD
Miesięcznik użytkowników systemów linuksowych
12
Oferta dla studentów i osób prywatnych: 198 zł *
Oferta dla firm: 270 zł *
Zamiana prenumeraty Linux+ na Linux+ DVD: 18 zł *
Oferta dla studentów i osób prywatnych: 180 zł
Oferta dla firm: 250 zł