background image
background image
background image
background image
background image

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+

background image

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

background image

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: AdmloggerFwanalog
FwreportLoganalisysLogwatchSwatch
FirewalllogdFwlogwatchGlogwatch
LogtoolMultitailWebalizer.

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

background image

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 BubbleLBreakout2Tux 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

background image
background image
background image

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: cvs2htmlcvsadmincvsgraph
cvsspamlincvstkcvs;

•  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.

background image

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

background image

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 
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

background image

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

background image

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 
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

background image

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 
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: 
MPlayerMono, 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

background image

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

background image

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.

background image

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 
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

background image

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 

background image

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

background image

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&section
=jabbersupport

Digikam – zdjęcia, zdjęcia

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 
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
Libgphoto2Libexif, natomiast wtyczki 
wymagają biblioteki Imlib.

http:/digikam.sourceforge.net/
http://kde-apps.org/content/
show.php?content=9957

Przykładowe okno Digikam w akcji

background image

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 

W3C;

•  nowe wersje dotychczasowych aplikacji i wiele nowych 

(JuK,  Kopete,  KWallet,  Kontact,  KGPG,  KIG,  KSVG
KMagKMouseToolKMouthKGoldRunner);

•  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

background image

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 

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

background image

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

background image

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

background image

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]+[]. 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.

background image

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. LxDoomPrBoom 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.deblxdoom_1.4.4-7_i386.deblxdoom-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

background image

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

background image

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

.

background image

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.

background image

        

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

background image

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

background image

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

background image

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

background image

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! 

background image

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

background image

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

background image

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

background image

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ę)

background image

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ć

background image

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

background image

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.xcfanim_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

background image
background image

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"

background image

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ą

background image

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.

background image

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/

background image

marzec 2004

46

dla początkujących

                  

Analiza logów systemowych

Piotr Machej

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:

background image

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): debuginfonoticewarningerrcritalert 
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 CronAnacron 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.1messages.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

background image

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

background image

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

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;

• 

print

 – 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

;

background image

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. Vimmcedit 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ą

background image

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

background image

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

background image

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:

background image

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  
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.

background image

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"

background image

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

background image

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/

background image

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:

background image

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

background image

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 
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-

background image

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.

background image

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

background image

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

background image

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

background image

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/

background image

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

background image

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)

background image
background image

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:

background image
background image

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ł

background image
background image
background image