Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
IDZ DO
IDZ DO
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
TWÓJ KOSZYK
TWÓJ KOSZYK
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
KATALOG ONLINE
KATALOG ONLINE
Debian GNU/Linux
Autor: Bill McCarty
T³umaczenie: Bart³omiej Kruk
ISBN: 83-7197-630-5
Tytu³ orygina³u:
Format: B5, stron: 316
Learning Debian GNU/Linux
Niniejsza ksi¹¿ka jest skierowana do pocz¹tkuj¹cych u¿ytkowników systemu Debian
GNU Linux. Opisano w niej w bardzo prosty sposób instalacjê tego systemu. Dziêki
temu staje siê niezast¹piona dla czytelników, którzy dopiero zamierzaj¹ rozpocz¹æ
swoj¹ przygodê z Linuksem i jako pierwsz¹ dystrybucjê wybrali w³aœnie Debiana.
Ksi¹¿ka zawiera opis konfiguracji graficznego œrodowiska X Window, sposób
po³¹czenia z sieci¹ lokaln¹, z sieci¹ Internet za pomoc¹ modemu oraz podstawowe
polecenia systemu Linux. Poruszono w niej równie¿ zagadnienia administracji
systemem Debian GNU Linux oraz opisano serwer Samby, pozwalaj¹cy na wspó³pracê
Linuksa z MS Windows w sieciach lokalnych. Nie zapomniano równie¿ o osobach,
które zmuszone s¹ do korzystania z oprogramowania napisanego wy³¹cznie dla
systemów DOS lub MS Windows. Ksi¹¿ka zawiera opisy emulatorów WINE oraz
VMWare.
Informacje zawarte w tej ksi¹¿ce s¹ w du¿ej mierze uniwersalne i dotycz¹ ogólnie
systemu Linux. Nawet jeœli zainteresowa³a Ciê inna ni¿ Debian dystrybucja, to ksi¹¿ka
ta mo¿e byæ dla Ciebie skarbnic¹ wiedzy. Niektóre zagadnienia opisano stosuj¹c
analogiê do systemu Windows. Na pewno pomo¿e to u¿ytkownikom, którzy
zdecydowali siê zmieniæ system operacyjny z MS Windows na Linux.
O Autorze ..........................................................................................5
Przedmowa ........................................................................................7
Rozdział 1. Dlaczego Linux?...............................................................................13
Linux w pracy i w domu ...................................................................................................13
Czym jest Linux? ..............................................................................................................15
Powody, dla których warto wybrać system Linux ............................................................25
Zasoby linuksowe w Internecie.........................................................................................27
Rozdział 2. Przygotowanie do instalacji Linuksa..................................................29
Minimalne wymagania sprzętowe.....................................................................................29
Zbieranie informacji na temat komputera .........................................................................31
Przygotowanie dysku twardego ........................................................................................33
Rozdział 3. Instalacja Linuksa ............................................................................43
Instalacja systemu operacyjnego i aplikacji ......................................................................43
Pomoc................................................................................................................................66
Rozdział 4. Poznawanie podstawowych poleceń Linuksa .....................................69
Cykl pracy systemu ...........................................................................................................69
Praca z wierszem poleceń systemu Linux.........................................................................74
Jak system Linux organizuje dane?...................................................................................77
Praca z urządzeniami.........................................................................................................94
Użyteczne programy systemu Linux.................................................................................96
Rozdział 5. Instalacja i konfiguracja systemu X Window ...................................101
X — co to jest?................................................................................................................101
Instalacja systemu X........................................................................................................102
Konfiguracja X................................................................................................................103
Uruchamianie i zamykanie systemu X Window .............................................................112
Rozdział 6. Praca w graficznym środowisku X Window ......................................115
Klawiatura .......................................................................................................................115
Operacje wykonywane przy użyciu myszki....................................................................117
Menedżery okien .............................................................................................................119
Pulpity .............................................................................................................................120
Praca w środowisku GNOME .........................................................................................122
Aplikacje i aplety menedżera GNOME ..........................................................................129
Konfiguracja GNOME ....................................................................................................131
4
Debian GNU/Linux
Rozdział 7. Konfiguracja i administracja systemu Linux.....................................135
Administracja użytkownikami i grupami ........................................................................135
Administracja systemem plików .....................................................................................140
Uruchamianie i zatrzymywanie systemu i usług.............................................................143
Przeglądanie informacji systemowych i dzienników ......................................................144
Ustawianie czasu systemowego i strefy czasowej ..........................................................145
Rozdział 8. Praca z aplikacjami i klientami systemu Linux ................................147
Aplikacje biurowe Linuksa .............................................................................................147
Pozostałe metody pracy biurowej ...................................................................................158
Rozdział 9. Gry i Linux .....................................................................................161
Przegląd gier dla systemu Linux .....................................................................................161
Przegląd najlepszych gier................................................................................................163
Rozdział 10. Konfiguracja sieci LAN opartej na systemie Debian GNU/Linux........167
Wstęp...............................................................................................................................167
Administracja siecią ........................................................................................................168
Samba ..............................................................................................................................172
Konfiguracja i używanie klientów Samby ......................................................................183
Rozdział 11. Łączenie z siecią Internet ...............................................................187
Łączenie z Internetem .....................................................................................................187
Konfiguracja modemu.....................................................................................................188
Praca z programem wvdial ..............................................................................................189
Klient PPP .......................................................................................................................190
Przeglądarka internetowa ................................................................................................198
Klient gFTP .....................................................................................................................199
Programy minicom i seyon .............................................................................................200
Nawiązywanie połączenia PPP .......................................................................................207
Rozdział 12. Konfiguracja sieci WAN opartej na Linuksie ....................................209
Serwer FTP......................................................................................................................209
Instalacja i konfiguracja serwera WWW ........................................................................211
Praca z serwerem pocztowym .........................................................................................219
Konfiguracja serwera Secure Shell (SSH) ......................................................................220
Konfiguracja serwera Dial-in ..........................................................................................221
Rozdział 13. Podbój powłoki BASH.....................................................................223
Powłoka Linuksa .............................................................................................................223
Używanie powłoki...........................................................................................................225
Poznawanie skryptów powłoki........................................................................................239
Dodatek A
Drzewo katalogów Linuksa .............................................................249
Dodatek B
Główne pliki systemowe .................................................................251
Dodatek C
Narzędzia do zarządzania pakietami Debiana ...................................253
Dodatek D
Zarządzanie procesem uruchamiania systemu .................................275
Dodatek E
Krótki podręcznik poleceń Linuksa..................................................295
Dodatek F
Licencja publikacji otwartej............................................................305
Skorowidz ......................................................................................309
Przedmowa
Ostatnio pojawiły się dwa nowe tematy, na które wszyscy dyskutują: giełda papierów wartościowych oraz
system Linux. Jeśli chodzi o giełdę, to jestem dużym pesymistą. Kiedy moi znajomi, a także zupełnie obcy mi
ludzie ciągle przeliczają swoje ostatnie sukcesy finansowe, ja dochodzę do wniosku, że korekta na rynku
papierów wartościowych jest spóźniona (dlatego zamieniłem swoje inwestycje na obligacje).
Co do samego systemu Linux jestem większym — prawdopodobnie rozentuzjazmowanym — optymistą. Kiedy
sprzedawczyni moich nieruchomości powiedziała o nowej funkcji systemu Linux umożliwiającej odbiór TV, o
której usłyszała w CNN, stwierdziłem, że jest to zwiastun Wiosny Linuksa. Podobnie jak ona, serwisant telewizji
kablowej oraz moi koledzy z biura, słyszałeś też na pewno o Linuksie w radiu lub w jakimś programie
telewizyjnym, lub czytałeś o nim w gazecie. Zastanawiasz się pewnie, o co chodzi z tym Linuksem i czy może
go nie wypróbować. Jeśli tak, a w szczególności jeśli używasz systemu Microsoft Windows, ta książka jest
przeznaczona dla ciebie.
Nie tak dawno temu Linux był tylko zabawką dostępną dla nielicznej elity specjalistów komputerowych. Dzisiaj
jednakże Linux jest łatwiejszy w użyciu. Każdy praktycznie dzień przynosi nowe narzędzie lub nową funkcję
zaprojektowaną dla wygodniejszego używania tego systemu. Jeśli pracowałeś kiedyś z systemem Microsoft
Windows oraz MS-DOS lub jesteś ciekaw, co się naprawdę dzieje w środku systemu Windows, zainstaluj ten
system natychmiast. Tysiące ludzi, o różnych zawodach — nawet dziennikarze, którzy znani są ze swych
technicznych niezdolności — już tak zrobiło!
Ta książka ułatwi ci poruszanie się po systemie Linux, przedstawiając system od początku, opisując krok po
kroku każdą procedurę oraz pomagając rozpocząć korzystanie z programów rozrywkowych takich jak gry oraz
narzędziowych, np. do obróbki tekstu. Skupia ona uwagę na wymaganiach stawianych przez nowe aplikacje
użytkownika i aplikacje środowiska X. Poznasz podstawy sieci komputerowych, dowiesz się o serwerach i
stacjach roboczych, ale szczegóły tych tematów pozostawiam innym bardziej zaawansowanym książkom
poświęconym temu systemowi.
Do książki tej dołączono CD-ROMy, które zawierają dystrybucję Debian GNU/Linux; tak więc masz w rękach
wszystko, co potrzeba do rozpoczęcia pracy z tym systemem. Większość materiałów tej książki odnosi się do
Linuksa ogólnie, a nie tylko do konkretnej dystrybucji Debian; jeśli zatem wolisz używać innej dystrybucji, to i
tak znajdziesz w tej książce wiele pożytecznych informacji.
Organizacja książki
Rozdział 1. „Dlaczego Linux?” jest poświęcony przedstawieniu systemu Linux i odpowiada na pytanie, czy ten
system spełni twoje potrzeby i oczekiwania.
Rozdział 2. „Przygotowanie do instalacji Linuksa” pomaga zrozumieć procedury instalacyjne oraz pozwala
określić, jakie informacje należy zebrać przed przystąpieniem do instalacji systemu.
Rozdział 3. „Instalacja Linuksa” przeprowadza krok po kroku przez proces instalacyjny systemu.
Rozdział 4. „ Poznawanie podstawowych poleceń Linuksa” opisuje podstawy użytkowania interfejsu wiersza
poleceń, który jest bardziej rozbudowanym i efektywnym odpowiednikiem systemu MS-DOS.
Rozdział 5. „Instalacja i konfiguracja systemu X Window” opisuje, jak zainstalować i skonfigurować
środowisko X.
Rozdział 6. „Praca w graficznym środowisku X Window” opisuje, jak używać środowiska graficznego interfejsu
użytkownika X Window będącego częścią systemu Debian GNU/Linux. Jeśli pracowałeś kiedyś z systemem
Microsoft Windows, zauważysz zapewne podobieństwo tego systemu i środowiska X, poza tym praca z X nie
sprawi ci wielu problemów.
Rozdział 7. „Konfiguracja i administracja systemem Linux” pokazuje, jak skonfigurować ten system.
Administracja wieloużytkownikowym systemem operacyjnym, jakim jest Linux, jest poniekąd zadaniem
bardziej złożonym niż zarządzanie systemem dla jednego użytkownika; ale Linux dostarcza wielu narzędzi,
które ułatwiają to zadanie.
Rozdział 8. „Aplikacje i klienty systemu Linux” przedstawia kilka najbardziej popularnych aplikacji dostępnych
dla Linuksa, włączając w to edytory tekstów i różne zestawy pulpitu.
Rozdział 9. „Gry dla Linuksa” opisuje kilka najpopularniejszych gier dostępnych dla systemu Linux. Rozdział
ten pokazuje również, jak uruchomić w Linuksie ulubione gry z systemu Microsoft Windows.
Rozdział 10. „Konfiguracja sieci LAN opartej na systemie Linux” poświęcony jest lokalnym sieciom
komputerowym, przedstawia między innymi, jak połączyć komputer z systemem Linux z innymi komputerami
w sieci lokalnej.
Rozdział 11. „Podłączanie do sieci Internet” opisuje, jak podłączyć się do sieci Internet poprzez łącza
usługodawcy internetowego (Internet Service Provider — ISP). Po podłączeniu możesz eksplorować zasoby
sieci i korzystać z innych usług dostępnych w Internecie (np. poczty).
Rozdział 12. „Konfiguracja sieci WAN opartej na Linuksie” objaśnia, jak skonfigurować serwery, z którymi
użytkownicy z całego świata mogliby się łączyć poprzez Internet. Na przykład dowiesz się, jak zainstalować i
skonfigurować Apache, który jest najpopularniejszym serwerem WWW.
Rozdział 13. „Podbój powłoki BASH” przedstawia szczegółowo powłokę BASH, czyli interfejs wiersza
poleceń, który został krótko omówiony w rozdziale 4. Po przeczytaniu tego rozdziału zauważysz, jak potężny,
ale i łatwy w użyciu jest system Linux.
Dodatek A „Drzewo katalogów systemu Linux” opisuje strukturę głównych katalogów systemu Debian
GNU/Linux.
Dodatek B „Główne pliki systemu” opisuje główne pliki konfiguracyjne systemu Debian GNU/Linux.
Dodatek C „Narzędzia do zarządzania pakietami Debiana” przedstawia programy dostarczane wraz z systemem
Debian GNU/Linux, przeznaczone do pracy z pakietami tego systemu. Narzędzia te pozwalają instalować i
usuwać aplikacje oraz prowadzić bazę danych zainstalowanych programów. Dodatek ten zawiera również
polecenia niezbędne do instalacji aplikacji opisywanych w tej książce.
Dodatek D „Zarządzanie procesem uruchamiania systemu” objaśnia proces startowania komputera oraz opisuje,
jak skonfigurować komputer do standardowego uruchamiania systemu Linux.
Dodatek E „Krótki podręcznik poleceń Linuksa” przedstawia i opisuje najważniejsze komendy systemu. Podaje
także odpowiedniki poleceń dla systemu MS-DOS.
Dodatek F „Licencja Otwartej Publikacji (Open Publication License)” zawiera licencję, na podstawie której
dystrybuowana jest ta książka.
Przypis zawiera terminy używane w tej książce. Służy on do szybkiego wyszukiwania pojęć i wyrażeń
używanych w tej książce oraz pozwala zaoszczędzić czas na przeszukiwaniu spisu treści.
Konwencje przyjęte w tej książce
1.
O’Courier
: nazwy poleceń, opcje, zgłoszenia systemu, tekst w wierszu poleceń, tekst z maszyny.
2. O’Courier-Italic: tekst do zastąpienia w poleceniach.
3.
O’Courier-Bold
: tekst (literał) wpisywany przez użytkownika w poleceniach.
4.
O’Times-Italic
: tekst do zastąpienia w tekście głównym.
5.
O’Times-Bold
: słowa kluczowe.
Nazywanie ścieżek
Użyłem skrótowej notacji do oznaczenia ścieżek dostępu. Zamiast pisać „kliknij menu
Start
, następnie kliknij
Szukaj
, a potem wybierz
Pliki lub foldery
” piszę:
Start
->
Szukaj
->
Pliki lub foldery
. Wymieniam nazwy menu,
okien dialogowych, przycisków lub innych elementów GUI tylko wtedy, gdy kontekst mógłby być niejasny dla
czytelnika. Po prostu kieruj się nazwami elementów GUI pasującymi do opisanych w książce ścieżek.
Skróty klawiaturowe
W skrótach klawiaturowych (takich jak Ctrl+Alt+Delete) znak plus oznacza, że klawisze muszą zostać wciśnięte
razem, natomiast spacja oznacza, że klawisze powinny być naciskane sekwencyjnie, tzn. jeden po drugim. Na
przykład Ctrl+Esc znaczy, że klawisze kontrolne Ctrl i Esc powinny być naciśnięte jednocześnie, a Ctrl Esc
oznacza, że powinien być naciśnięty najpierw Ctrl, a potem Esc.
Jeżeli skrót klawiszowy zawiera dużą literę alfabetu, to nie używamy do tego klawisza Shift, chyba że jest to
wyraźnie powiedziane. Na przykład skrót Ctrl+C oznacza, że należy nacisnąć Ctrl i C (c) jednocześnie,
Ctrl+Shift+C oznacza, że trzeba wcisnąć klawisze Ctrl, Shift i C (c) jednocześnie.
Wnioski i uwagi
Przetestowałem i sprawdziłem wszystkie informacje zawarte w tej książce zgodnie z moimi umiejętnościami, ale
może zdarzyć się tak, że niektóre właściwości zostaną zmienione, zanim ta książka pojawi się w sprzedaży lub
że popełniłem gdzieś błąd. W takim przypadku proszę o kontakt pod adresem:
O’Reilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
800-998-9938 (tylko U.S. I Kanada)
707-829-0515 (Międzynarodowe i lokalne)
707-829-0104 (fax)
Aby zadać pytania dotyczące technicznej strony książki lub podać komentarz do jakiegokolwiek zagadnienia z
tej książki, wyślij e-mail pod adresem: bookquestions@oreilly.com.
Podziękowania
Mam u mojego wydawcy ogromny dług (mam nadzieję, że nie pieniężny) za jego ogromną pomoc przy
kompletowaniu tej książki. Od samego początku powstawania tej książki Marka sugestie oraz wsparcie były
niezastąpione. Dziękuję Ci, Mark.
Katie Gardner, która pomogła mi zrozumieć proces autorski firmy O’Reilly, uniknąć wielu przeszkód, a także
poprawiła wiele moich głupich błędów, nigdy jednak nie zganiła mnie za nie. Wielkie dzięki Katie.
Dziękuję również pani Margot Maley z Waterside Production, Inc., która podsunęła mi pomysł napisania tej
książki.
Chciałbym podziękować także wszystkim recenzentom, którzy pracują w O’Reilly & Associates i tym, którzy
pracują w innych firmach, a oceniali mój manuskrypt, sugerując wiele poprawek i ulepszeń. W szczególności
członkom ekipy Debiana, a zwłaszcza Joeyowi Hessowi, który mimo napiętego terminarza dostarczył wielu
cennych uwag i korekt. Doceniam ich wysiłek i dlatego chciałbym wyznać, że błędy w manuskryptach zostały
wprowadzone przeze mnie po ich wcześniejszej recenzji i że są one wynikiem mojego niedopatrzenia.
Mojej rodzinie — Jennifer, Patrickowi i Sarze — którzy bardzo mi pomogli w tym autorskim doświadczeniu.
Ich wysiłek jest podwójnie premiowany, ponieważ w czasie przygotowywania tej książki sprzedaliśmy dwa
domy i kupiliśmy nowy, a oni podjęli się wykonania większej części pracy przy naszym nowym domu XXI
wieku, tak żebym mógł skupić się tylko na pracy. Dziękuję Wam bardzo.
Chciałbym również podziękować mojemu zbawcy, Jezusowi Chrystusowi, za jego niesłuszną miłość do mnie
oraz za wsparcie dla mnie i mojej rodziny.
Rozdział 1.
Dlaczego Linux?
Rozdział ten opisuje dokładnie zastosowanie Linuksa, co pozwoli czytelnikowi stwierdzić, czy jest to
odpowiedni dla niego system operacyjny, spełniający wszystkie wymagania i oczekiwania. Ukazuje jego
najważniejsze właściwości takie jak np. stabilność i wydajność, które stanowią główne argumenty przy wyborze
systemu operacyjnego. Przedstawia także historię powstania i rozwoju Linuksa. Na końcu tego rozdziału
umieściłem adresy stron WWW, na których znajdziesz wsparcie techniczne, najświeższe wiadomości i
informacje oraz będziesz mógł porozmawiać z innymi użytkownikami tego systemu.
Linux w pracy i w domu
Być może dowiedziałeś się o Linuksie od dobrego znajomego, którego entuzjazm i szybkość odpowiedzi
przekonały cię do dalszych poszukiwań lub może dowiedziałeś się o nim z jakiegoś artykułu, czasopisma
komputerowego czy też przeczytałeś w Internecie. W każdym przypadku, uznasz z pewnością za interesujące,
czego dokonali za pomocą Linuksa inni użytkownicy, począwszy od hobbistów, a na komputerowych guru
skończywszy:
• Zirytowany powolnym transferem danych poprzez linię telefoniczną, pewien użytkownik
wydzierżawia łącze stałe, o dużej przepustowości. Po zainstalowaniu nowego modemu
w systemie Linux, użytkownik rozdziela sygnał tak, że dostęp do sieci Internet ma teraz reszta jego
rodziny. Tym sposobem wszyscy mają szybki dostęp do zasobów tej sieci.
• Student, który pisał pracę magisterską na komputerze, stwierdził, że większość jego problemów
wynikała z błędów oraz nieodpowiednich właściwości procesora tekstu, którego używał. Porzucił więc
system MS Windows oraz program Microsoft Word i zainstalował na swoim komputerze Linuksa.
W porównaniu z często wieszającym się systemem MS Windows, Linux działa stabilnie i wydajnie;
poza tym nie trzeba go wcale restartować po instalacji dodatkowych programów czy też sterowników.
• Uważany za jednego z najlepszych na świecie, doświadczony grafik komputerowy z firmy Digital
Domain, stworzył masę efektów specjalnych, między innymi do takich filmów jak
Apollo 13
,
Góra
Dantego
,
Piąty element
,
Wywiad z wampirem
oraz
Prawdziwe kłamstwa
. Jednak gdy James Cameron
zatrudnił firmę Digital Domain do współpracy nad filmem Titanic, artysta ten stanął przed zadaniem
przekraczającym jego możliwości. Aby uzyskać odpowiednią moc obliczeniową po w miarę niskich
cenach, firma Digital Domain zakupiła 160 komputerów Alpha DEC. Większość użytkowników tych
komputerów ma zainstalowany MS Windows NT lub Digital Unix jako system operacyjny. Jednakże
w Digital Domain postawiono na Linuksa; 105 ze 160 komputerów pracowało pod jego opieką. Jeśli
oglądałeś Titanica i widziałeś także zapierające dech w piersi efekty, zrozumiesz, jaką słuszną decyzję
podjęła firma Digital Domain.
• Naukowcy z laboratorium Los Alamos stworzyli Avalon, system złożony z 70 komputerów
pracujących pod kontrolą Linuksa, ponieważ potrzebowali superkomputera. Zamiast wydawać miliony
dolarów, naukowcy wydali tylko 152 tysiące — tylko na sam sprzęt, bo przecież Linux jest darmowy.
Ich system potrafi wykonać 10 bilionów operacji zmiennoprzecinkowych w jedną sekundę tyle samo,
co system Origin2000 firmy Silicon Graphics, który kosztował 1,8 miliona dolarów! Oparty na
Linuksie Avalon zajmuje obecnie trzysta piętnaste miejsce w rankingu najszybszych komputerów
świata.
Początkowo Linuksa używali głównie hakerzy, ale ze względu na coraz łatwiejszą obsługę, Linux staje się
popularny także wśród zwykłych użytkowników; obecnie prawie 7,5 miliona użytkowników ma zainstalowany
ten system. Wielu z nich to wcale nie jest hakerami czy nawet programistami, tylko przeciętnymi
użytkownikami komputerów. Linux stał się systemem operacyjnym o niezwykłych właściwościach i potencjale:
• W 1996 roku magazyn przemysłu komputerowego Infoworld nazwał Linuksa „Najlepszym systemem
operacyjnym typu desktop”, a rok później ten sam magazyn ogłosił, że społeczność Linuksa jest
„Najlepszą organizacją wsparcia technicznego”
• Artykuł z 10 sierpnia 1998 roku, który ukazał się w znanym magazynie biznesowym Forbes,
przedstawia sylwetkę superprogramisty Linusa Torvaldsa, autora jądra systemu Linux. Artykuł ten
opisuje również, jak Intel, IBM, Netscape, Oracle i inni giganci przemysłu komputerowego zauważyli
w Linuksie i oprogramowaniu Open Source kolejne źródło interesów.
• Firma zajmująca się badaniem rynku International Data Corporation podała, że w 1998 roku Linux
zajmował 17,2% rynku serwerów (skok o 212%!). W porównaniu z flagowym produktem Microsoftu
Windows NT (36%), wypadł całkiem nieźle jak na „nowicjusza”.
• Prawnicy broniący firmy Microsoft przeciwko zarzutom rządu Stanów Zjednoczonych, argumentowali
postawę firmy tym, że Linux stanowi prawdziwe zagrożenie dla dominacji firmy Microsoft na rynku
komputerowym.
Czym jest Linux?
Linux jest systemem operacyjnym; oprogramowaniem, które steruje i nadzoruje pracę komputera. Większość
sprzedawców i producentów instaluje system operacyjny na dysku twardym komputera PC przed dostawą do
klienta, więc dopóki dysk twardy się nie zepsuje, nie będziesz rozumiał funkcji i zadań, jakie on spełnia.
System operacyjny rozwiązuje kilka problemów, wynikających z różnorodności sprzętu komputerowego.
Zapewne zdajesz sobie sprawę, że żadne dwa komputery (niezależnie jakiego rodzaju) nie posiadają takich
samych urządzeń. Na przykład niektóre modele posiadają jeden dysk twardy, a inne dwa lub więcej. Są
komputery wyposażone w napęd CD-ROM, ale niektóre ich w ogóle nie posiadają. Podobnie jest z procesorami;
pewne stacje pracują na procesorach firmy Intel (np. Pentium) inne wykorzystują CPU firmy AMD (np. K6-2).
Załóżmy, że żyjemy w świecie, w którym oprogramowanie takie jak system operacyjny nie istnieje i ktoś
właśnie piszę nową aplikację — niech to będzie multimedialny edytor tekstu. Aplikacja taka musi działać z
każdym rodzajem sprzętu. W rezultacie staje się skomplikowanym i obszernym programem. Użytkownicy na
pewno jej nie polubią, ponieważ zajmuje dużo miejsca na dysku twardym, uruchamia się
w żółwim tempie oraz — ze względu na rozmiar i skomplikowanie — posiada więcej błędów niż powinna.
Systemy operacyjne rozwiązują ten problem poprzez dostarczenie jednolitego standardu, który umożliwia
wszystkim aplikacjom dostęp do urządzeń komputera. Istnienie systemu operacyjnego sprawia, że aplikacje są
bardziej kompaktowe, ponieważ współdzielą one kod, który umożliwia im dostęp do urządzeń. Mogą one
również być bardziej niezawodne, ponieważ współdzielony kod jest pisany tylko raz przez doświadczonego
programistę.
Systemy operacyjne umożliwiają wykonywanie wielu innych czynności, na przykład dostarczają systemu
plików, który pozwala na przechowywanie i odzyskiwanie danych, oraz interfejsu użytkownika, który pomaga
porozumiewać się z komputerem i kierować jego pracą. System operacyjny można porównać do
podświadomości komputera; aplikacje takie jak procesory tekstu i arkusze kalkulacyjne potrafią wykonywać
wiele użytecznych zadań, ale bez świadomości — czyli systemu operacyjnego — programy te w ogóle nie
potrafiłyby funkcjonować.
Systemy operacyjne komputerów PC
Prawdopodobnie w swoim komputerze masz zainstalowany któryś z systemów Windows. Tabela 1.1
przedstawia sprzedaż kilku popularnych systemów operacyjnych w 1997 roku oraz prognozy sprzedaży na rok
2001. Ze względu na fakt, że Linux jest systemem darmowym, jego sprzedaż jest nieporównywalna z ilością
instalacji. Co więcej, w przeciwieństwie do większości komercyjnych systemów operacyjnych Linux nie jest
sprzedawany z licencją na ilość stanowisk — więc dowolna firma może zakupić jeden dysk CD-ROM z
systemem Linux i zainstalować go na tylu stacjach roboczych, na ilu zechce.
Wymowa słowa Linux
Uczestnicy internetowych grup dyskusyjnych długo debatowali na temat poprawnej wymowy słowa Linux.
Ponieważ nazwa ta odnosi się do autora jądra systemu, który nazywa się Linus Torvalds, jego wymowa tego
słowa powinna stać się powszechnie obowiązującą. Linus jest imieniem fińskim, a wymowa tego imienia
sprawia bardzo dużo kłopotów wielu anglojęzycznym narodom. W konsekwencji powstało wiele wariacji
dźwiękowych słowa Linux. Najpopularniejszą jest wyraz wymawiany jak słowo [linuks], z akcentem na
pierwszą sylabę. Jeśli posiadasz kartę dźwiękową w komputerze, możesz posłuchać, jak Linus Torvalds
wymawia słowo Linux na stronie
http://www.ssc.com/lj/linuxsay.html
.
Tabela 1.1. Sprzedaż popularnych systemów operacyjnych
System operacyjny
1997
a
2001
(szacunkowo)
b
Windows 95/98
69,4%
65,0%
Windows NT Workstation
9,2%
26,2%
DOS wraz z Windows 3.x
7,7 %
0,3%
MacOS 4,6%
1,9%
Linux 2,4%
4,2%
DOS bez Windows
2,3%
0,3%
Unix 1,0%
0,5%
OS/2 Warp
0,8%
1,2%
Inne 2,7%
0,5%
a Sprzedaż systemów operacyjnych jako procent udziału na rynku amerykańskim.
b Włączając wersje DOS takich firm jak IBM, Digital Research (DR) i Microsoft.
Jak można wnioskować z danych w tabeli, prawdopodobnie na komputerze masz zainstalowany system
Windows 95 lub 98, które razem zdobyły 69% rynku sprzedaży systemów operacyjnych w 1997 roku. W
porównaniu do nich sprzedaż systemu Linux (2,4%) jest znikoma. Jak już wcześniej wspominałem, wcale to nie
odzwierciedla prawdy o jego popularności. Zauważ też, że spodziewane jest dwukrotne zwiększenie sprzedaży
Linuksa w 2001 roku, podczas gdy sprzedaż systemów Windows 95 i 98 nieznacznie, ale spadnie.
W dalszej części tego rozdziału dowiesz się, jak Linux jest rozpowszechniany, teraz przypomnę tylko, że jest to
darmowy system operacyjny. Jeśli posiadasz szybkie łącze internetowe, możesz pobrać, zainstalować i używać
Linuksa bez jakichkolwiek opłat (no może zapłacisz usługodawcy internetowemu za połączenie). Nikt tak
naprawdę nie wie, ile osób korzysta z Linuksa, szacuje się, że około 7 – 10 milionów komputerów działa pod
jego kontrolą.
Co więcej, wielu użytkowników pracuje z Linuksem nie na stacji roboczej, ale na serwerze, który pracuje 24
godziny na dobę i zazwyczaj jest podłączony do Internetu oraz udostępnia klientom swoje usługi. Na przykład,
najczęściej instalowanym serwerem jest serwer WWW, który udostępnia strony WWW wielu użytkownikom na
całym świecie. Rośnie również liczba użytkowników wykorzystujących Linuksa do codziennej pracy, a także do
rozrywki, są oni potocznie nazywani użytkownikami domowymi.
Książka ta jest właśnie poświęcona użytkownikom domowym. Jeśli jednak nie znasz ani Linuksa ani żadnego
systemu podobnego do Uniksa, a zamierzasz postawić serwer na jednym z tych systemów, możesz śmiało zacząć
swoją przygodę z Linuksem od tej książki. Przedstawia ona bowiem podstawy konfiguracji i użytkowania
systemu Linux. Po lekturze tej książki możesz przeczytać także: „Linux w praktyce — wydanie trzecie”
autorstwa Matta Welsha, Mattthiasa Kalle Dalheimera oraz Lara Kaufmana (Wydawnictwo O’ Reilly, 1999 r.),
która opisuje bardziej zaawansowane właściwości sieciowe (i nie tylko) Linuksa.
Odmienność systemu Linux
Linux różni się od pozostałych systemów operacyjnych na trzy sposoby:
• Jest systemem wieloplatformowym, co oznacza, że działa na wielu różnych modelach komputerów.
Tylko Unix — przodek Linuksa posiada taką właściwość. Dla porównania — Windows 95 i Windows
98 działają tylko na komputerach z procesorem Intela lub kompatybilnej architekturze (AMD, Cyrix).
Windows NT pracuje na komputerach o architekturze Intela i Alpha.
• Linux jest darmowy — w podwójnym sensie. Po pierwsze, nic nie musisz płacić, aby go otrzymać i
używać. Z drugiej strony możesz zakupić system sprzedawcy, który dostarcza go wraz z dokumentacją
oraz dodatkowymi aplikacjami lub prowadzi pomoc techniczną dla tego systemu; nawet w tym
przypadku koszty, jakie ponosisz są niewielkie, kiedy porównujesz je z kosztami innych systemów
operacyjnych. Z tego względu Linux jest darmowy, albo prawie darmowy w rozumieniu
ekonomicznym.
Po drugie i najważniejsze: sam system Linux i wiele jego aplikacji jest rozpowszechnianych wraz z
kodem źródłowym. Umożliwia to modyfikowanie i poprawianie systemu oraz aplikacji. W przypadku
innych systemów, nie możesz tak robić, ponieważ są one sprzedawane w formie binarnej. Na przykład
nie możesz wprowadzać żadnych zmian w Microsoft Windows czy Microsoft Word — tylko firma
Microsoft może tego dokonać. Z powodu takiej „wolności” Linux jest często udoskonalany i
aktualizowany, co daje mu ogromną przewagę nad innymi systemami. Linux prawdopodobnie będzie
pierwszym systemem współpracującym z zapowiadanym 64-bitowym procesorem Intela znanym pod
nazwą Merced.
• Linux posiada doskonałe właściwości i jeszcze lepszą wydajność. Wolny dostęp do kodu źródłowego
pozwala programistom z całego świata na implementację coraz to nowszych funkcji oraz na
udoskonalanie i poprawianie wydajności Linuksa. Najlepsze właściwości i funkcje są wbudowywane
w jądro systemu lub udostępniane jako łaty lub poprawki. Nawet Microsoft nie posiada tak ogromnej
liczby osób wspierających rozwój systemu jak Linux, który w większości składa się z ochotników
programistów, testerów i kontrolerów kodu.
Pochodzenie Linuksa
Linux wywodzi się z czasów, kiedy panowały systemy operacyjne dla komputerów mainframe typu Multics
(Multiplexed Information and Computing Service
). Już w 1965 roku Multics był jednym z pierwszych
wieloużytkownikowych systemów operacyjnych, a warto wspomnieć, że jest używany do dzisiaj. W tworzeniu
tego systemu brały udział takie firmy jak Bell Telephone Lab, General Electric oraz Instytut Technologii z
Massachusetts (MIT).
Dwóch inżynierów z laboratoriów firmy Bell — Ken Thompson i Dennis Richie — pracowało przy projekcie
Multics do czasu wycofania się przez Bell z przedsięwzięcia. Jedną z ich ulubionych rozrywek była
wieloużytkownikowa gra zwana Space Travel (podróż kosmiczna). Pozbawieni dostępu do komputera Multics,
nie mogli już więcej latać w przestrzeni kosmicznej. Postanowili przenieść tę grę na stary i nieużywany
komputer PDP-7. Ostatecznie, stworzyli podstawy nowego systemu operacyjnego, który nazwali UNICS,
przekształcając odrobinę nazwę Multics. Po pewnym czasie nazwa ta zmieniła się na Unix (prawdopodobnie
najpierw werbalnie, a potem przyjęto inną pisownię).
Wymyślony przez nich system operacyjny był nowoczesny pod kilkoma względami; przede wszystkim jeśli
chodzi o przenośność. Większość poprzednich systemów była tworzona z myślą o dedykowanym komputerze
(architekturze). Tak jak garnitur szyty na miarę i pasujący tylko na właściciela, tak pozostałe systemy operacyjne
„nie chciały” pracować na innych komputerach niż tylko na tych, dla których zostały napisane. W celu
stworzenia przenośnego systemu operacyjnego Ritchie i Thompson stworzyli najpierw język programowania
zwany C. Podobnie jak asembler, język C pozwala programistom na niskopoziomowy dostęp do urządzeń,
w przeciwieństwie do języków wyższych poziomów takich jak COBOL czy FORTRAN. Jednak podobnie jak
oba języki, C nie był związany z konkretną maszyną (komputerem). Tak samo jak gotowy garnitur, który można
skrócić, aby dopasować go na właściciela, pisanie w języku C pozwalało łatwo adaptować Uniksa na
komputerach innych niż PDP-7.
Kiedy ich wynalazek stał się popularny, Ritchie i Thompson wykonali kopie systemu Unix i udostępnili innym
programistom na całym świecie. Programiści z całego świata przetestowali i poprawili Uniksa. Swoje prace
odsyłali z powrotem do Ritchiego i Thompsona, którzy najlepsze poprawki i funkcje zaimplementowali w nowo
powstającej wersji systemu. W międzyczasie powstało kilka nowych odmian tego systemu. Jednym z
najlepszych był BSD (Berkeley Systems Division) Unix, napisany na Uniwersytecie Kalifornijskim w 1978
roku. Bill Joy — jeden z głównych twórców BSD Unix —został później założycielem firmy Sun Microsystems,
gdzie stworzono kolejną odmianę systemu zwaną SunOS, służącą do obsługi stacji roboczych tejże firmy. W
1984 roku AT&T, właściciel Bell Labs rozpoczął sprzedaż własnej wersji, znanej pod nazwą System V.
Darmowe oprogramowanie
To, co zaczęli dwaj pracownicy Bell Labs w czysty i niekomercyjny sposób przerodziło się w kilka poważnych
sporów zakończonych orzeczeniami sądowymi. Kiedy AT&T zauważyła komercyjny potencjał systemu Unix,
ogłosiła go swoją własnością intelektualną i rozpoczęła pobieranie wysokich opłat licencyjnych od osób
i organizacji, które chciały używać tego systemu. Z czasem pozostali, którzy zaprojektowali własne odmiany
Uniksa zaczęli również pobierać opłaty. Najbardziej pokrzywdzeni byli ci, którzy tworzyli poprawki dla Uniksa,
ponieważ nikt im nie zapłacił za ich wysiłek. Takie właśnie były początki Uniksa.
Niektórzy ludzie, w tym naukowiec z MIT Richard Stallman, bardzo mocno tęsknili za powrotem szczęśliwych
czasów współpracy wielu programistów z całego świata (ale przecież nie chodziło tylko o współpracę). Tak więc
w 1983 roku Stallman zapoczątkował projekt GNU (GNU is not Unix
), którego celem było stworzenie
darmowego systemu podobnego do Uniksa. Podobnie jak we wczesnych wersjach systemu Unix, system
operacyjny GNU był rozpowszechniany w formie kodu źródłowego po to, aby wszyscy zainteresowani
1
Multiplexed Information and Computing Service — Wieloobsługowa Usługa Przetwarzania Danych i Informacji
2
GNU is not Unix — w wolnym tłumaczeniu GNU to nie Unix
programiści mogli go dowolnie testować, modyfikować i dystrybuować. Praca w MIT nauczyła Stallmana, że
przy użyciu Internetu jako środka komunikacji, programiści z całego świata mogą poprawiać
i adaptować oprogramowanie z niespotykaną dotąd szybkością. Organizując pracę nad projektem GNU,
Stallman wraz ze znajomymi założył FSF (Free Software Foundation
), organizację, która promuje darmowe
oprogramowanie oraz stara się eliminować restrykcje nałożone na kopiowanie, rozpowszechnianie oraz
modyfikowanie oprogramowania. FSF akceptuje wolne od podatku darowizny, a także dystrybuuje kopie
programów wraz z pełną dokumentacją za niewielkimi opłatami, w celu utrzymania i wspierania projektu GNU.
Jeśli uważasz za niestosowne pobieranie małych opłat przez FSF za „darmowe” oprogramowanie, musisz
zrozumieć, że ta organizacja stosuje słowo free
w nawiązaniu do freedom (wolność). Pod pojęciem wolności
FSF rozumie trzy prawa do oprogramowania:
• Możesz kopiować programy GNU i rozdawać komukolwiek zechcesz bez pobierania za to opłaty.
• Jeśli jesteś programistą, możesz modyfikować aplikacje GNU, ponieważ masz dostęp do kodu
źródłowego.
• Możesz rozpowszechniać poprawione przez siebie wersje oprogramowania GNU. Jednakże nie możesz
pobierać za to żadnej opłaty (chociaż możesz pobierać opłatę za dostarczenie kopii udoskonalonego
programu GNU na nośniku fizycznym).
COPYLEFT
Producenci i sprzedawcy oprogramowania komercyjnego chronią swoje prawa własności do tego
oprogramowania poprzez copyright (prawo własności). Dlatego organizacja FSF również postanowiła chronić
wolność programów za pomocą copyleft. Jeśli FSF udostępni program do użytku publicznego, inni mogą go
dowolnie zmieniać i tworzyć programy, które będą komercyjne, co nie było zamierzeniem autora oryginalnej
aplikacji. Na przykład firma komputerowa może dołączyć program do stworzonego przez nią produktu i
rozprowadzać go w formie binarnej, a nie źródłowej oraz żądać opłat licencyjnych za kolejne kopie.
Aby chronić darmowe oprogramowanie, organizacja Stallmana używa takiego samego instrumentu prawnego
jak sprzedawcy i producenci programów komercyjnych — copyright — ale dodaje także specjalne warunki,
które gwarantują użytkownikom wolność kopiowania, modyfikowania i rozpowszechniania programów.
Warunki te — zwane GNU Public License — dają wszystkim prawo używania, modyfikowania i
rozpowszechniania aplikacji (lub ich części), ale tylko w przypadku, gdy warunki rozpowszechniania nie zostaną
zmienione. Dlatego ktoś, kto chciałby zamienić oprogramowanie FSF na własny produkt, nie ma prawa używać,
modyfikować i rozprowadzać tego produktu! Jak twierdzi organizacja: „Ludzie opracowujący programy
własnościowe używają praw autorskich, aby pozbawić użytkowników tych programów wolności; my używamy
prawa, aby zagwarantować im tę wolność. Dlatego zmieniliśmy nazwę copyright na copyleft”.
Jądro systemu Linux
Na początku lat dziewięćdziesiątych FSF przygotowała już wszystkie główne komponenty systemu
operacyjnego GNU z wyjątkiem jednego — jądra. W tym samym czasie Linus Torvalds, fiński student
informatyki, pracował nad jądrem dla systemów uniksowych. Linus pracował z systemem Minix; bardzo
podobnym do Uniksa i napisanym przez Andrew Tannenbauma dla celów pedagogicznych. Linus był
niezadowolony z wydajności jądra Miniksa i wierzył, że potrafi je poprawić. Wczesną wersję poprawionego
jądra udostępnił w Internecie. Wkrótce programiści z całego świata pracowali razem nad zwiększeniem
wydajności i funkcjonalności jądra, które nazwał Linux (od Linus Minix). Jak pokazuje tabela 1.2, Linux rósł w
szybkim tempie. W ciągu trzech lat od pierwszej publikacji (5 października 1991 r.), Linux był wydawany jako
oprogramowanie testowe; wersja 1.0 pojawiła się w marcu 1994 roku. Jednakże już na początku 1992 roku
Linux został zintegrowany z oprogramowaniem GNU, co dało w pełni funkcjonalny system operacyjny, którego
nazwa wzięła się od nazwy jądra.
Tabela 1.2. Historia rozwoju Linuksa
Rok Wersja
Użytkowników Rozmiar
jądra
(w bajtach)
Wydarzenie
1991
0.01
100
63 362
Linus Torvalds napisał pierwszą wersję jądra.
1992
0.99
1 000
431 591
Integracja jądra Linuksa i oprogramowania GNU, która
dała początek nowemu systemowi operacyjnemu.
1993
0.99
20 000
937 917
Usprawniony kod sprawił, że Linus wziął
odpowiedzialność za jego poprawność i zgodność
3
FSF — Fundacja Darmowego Oprogramowania
4
free — darmowy, ale też wolny
dystrybucji.
1994
1.0
100 000
1 016 601
Pierwsze oficjalne jądro.
1995
1.2
500 000
1 850 182
Linux zaadaptował procesory innych firm niż Intel.
1996
2.0
1 500 000
4 718 270
Linux pracuje na wieloprocesorowych płytach głównych,
obsługuje IP masquerading oraz Javę.
1999
2.2
7 500 000
10 600 000
Tempo przyrostu użytkowników Linuksa jest większe
niż użytkowników Windows NT.
Jednakże prace na jądrem trwają nadal. Od czasu premiery oficjalnego jądra szybkość jego rozwoju ciągle
wzrasta i Linux jest obecnie zaprojektowany tak, by współpracował z wieloma architekturami (nie tylko Intela),
wieloprocesorowymi płytami głównymi o wyszukanych właściwości sieciowych takich jak IP masquerading i
wiele innych. Wersje jądra są teraz dostępne dla takich platform jak Apple PowerPC, DEC Alpha, Motorola 68k,
Sun SPARC oraz Mips. Co więcej, Linux nie posiada wbudowanego obskurnego wariantu Uniksa: generalnie
jest kompatybilny ze standardem POSIX (Portable Operating System Interface), który formułuje podstawy
specyfikacji X/Open stworzonych przez The Open Group.
System X Window
Innym bardzo ważnym komponentem systemu Linux jest graficzny interfejs użytkownika, tak zwany system X
Window. Pierwotnie Unix nie obsługiwał myszki; był systemem tekstowym, który korzystał z raczej z
dalekopisów niż z nowoczesnych monitorów CRT. Interfejs wiersza poleceń jest do tej pory przykładem dla
innych systemów; niektórzy doświadczeni użytkownicy nadal wolą ten interfejs niż środowisko graficzne
wykorzystujące monitory CRT, myszki, tablety i inne osiągnięcia dzisiejszej techniki. Są to ci, którzy są
świadomi faktu, że czasy Uniksa i interfejsu tekstowego już minęły, a teraz sami projektują środowisko
graficzne, aby dać innym użytkownikom możliwość wyboru odpowiedniego interfejsu.
System X Windows lub po prostu X został stworzony jako część projektu Alpha, nad którym prace rozpoczęły
się w 1984 roku w Instytucie Technologii (MIT). W 1988 r. MIT zaprezentował światu system X. Następnie
przekazał dalsze prace nad tym środowiskiem Konsorcjum X, które opublikowało wersję 6. tego systemu we
wrześniu 1995 roku.
X jest graficznym interfejsem użytkownika, unikatowym pod kilkoma względami. Po pierwsze — jest w pełni
zintegrowany z sieciami komputerowymi, co ułatwia użytkownikom dostęp do aplikacji lokalnych i zdalnych.
Na przykład system X umożliwia otwarcie okna, które reprezentuje aplikację działającą na zdalnym serwerze;
serwer prowadzi skomplikowane obliczenia, komputer-klient musi jedynie wysłać swoje wejście do zdalnego
serwera i wyświetlić jego wyjście.
Po drugie, dość łatwo dostosować wygląd systemu. Aby tego dokonać, musisz uruchomić specjalną aplikację
zwaną menedżerem okien jako nakładkę na X-y. Różnorodność menedżerów okien jest zadziwiająca, niektóre
przypominają nawet wygląd i zachowanie Microsoft Windows.
Dystrybucje Linuksa
Ponieważ Linux jest rozpowszechniany za darmo, możesz go otrzymać na kilka sposobów. Niektóre osoby
i organizacje dostarczają go w pakietach, często połączonych z darmowymi lub własnościowymi aplikacjami
dodatkowymi. Zestaw pakietów, które zawierają całe oprogramowanie potrzebne do zainstalowania i
uruchomienia Linuksa, jest nazywany dystrybucją. Tabela 1.3 przedstawia kilka najpopularniejszych dystrybucji
Linuksa.
Tabela 1.3. Popularne dystrybucje systemu Linux i strony internetowe
Dystrybucja Strona
WWW
Caldera OpenLinux
http://www.caldera.com/
Debian Linux
http://www.debian.org/
Slackware Linux
http://www.cdrom.com/titles/os/slackware.html/
Red Hat Linux
http://www.redhat.com/
SuSE Linux
http://www.suse.com/
Caldera, Red Hat, Slackware oraz SuSE są pakietami stworzonymi przez firmy komercyjne, które szukają
korzyści, sprzedając produkty i usługi bezpośrednio związane z Linuksem. Ze względu na fakt, że Linux jest
rozpowszechniany na licencji GNU GPL, możesz pobrać dystrybucje z odpowiednich stron firm lub zrobić
dodatkowe kopie tych dystrybucji i udostępniać je samemu. (Zauważ, że nie możesz robić kopii dodatkowego
oprogramowania własnościowego, które jest dostarczane wraz z tymi dystrybucjami). Natomiast Debian
GNU/Linux jest produktem ochotników z całego świata, tworzonym pod skrzydłami organizacji Software In The
Public Interest, Inc. Książka ta jest sprzedawana wraz z kopią właśnie tego systemu, który możesz zainstalować i
którego możesz używać bez żadnych ograniczeń.
Właściwości i wydajność systemu Linux
Pochodzenie Linuksa oraz fakt, że jest rozpowszechniany wraz z kodem źródłowym dają mu dużą przewagę nad
innymi systemami operacyjnymi. Ale większość użytkowników wybiera system operacyjny komputera na
podstawie funkcjonalności i wydajności, a Linux spełnia oba kryteria. Tabela 1.4 porównuje pewne cechy oraz
wydajność Linuksa, Microsoft Windows NT oraz Sun Microsystems Solaris 2.6
. Każdy z tych trzech systemów
może pracować na komputerze z procesorami Intela.
Tabela 1.4. Porównanie cech i wydajności systemu Linux z innymi systemami operacyjnymi
Charakterystyka Linux
Windows
NT
Solaris
Zakres kompatybilnego sprzętu Szeroki Skromny
Wąski
Minimum sprzętowe
386 PC
486 PC
Pentium
Przeciętny koszt sprzętu ($)
200
1 300
1 600
Przeciętny czas przerwy w działaniu Bardzo krótki
Co najmniej 30 minut
tygodniowo
Bardzo krótki
Wydajność Wysoka
Porównywalna
z
Linuksem
Nieco gorsza od
Linuksa, a czasami
porównywalna
(zależy od sprzętu)
Właściwości przetwarzania
wieloprocesowego
Doskonałe Skromne
Doskonałe
IP Security (IPSec)
Tak
Planowana
Od 1999 roku
IPv6 Dostępny Demonstrowany
prywatnie
Wersja beta
Zadowolenie użytkownika (dane
według Datapro)
Największe Najniższe
Średnie
Dostępność kodu źródłowego Tak
Nie
Nie
Ilość aktualnych instalacji
Miliony
Miliony
Setki tysięcy
Jak widzisz, Linux nie wypadł źle w tym porównaniu. Umożliwia on instalację na różnych platformach
sprzętowych oraz działa adekwatnie do ceny i mocy komputera. Co więcej, typowy czas przestoju systemu jest
niższy niż w przypadku systemu Windows NT, a wydajnością przewyższa nawet system Solaris. Jego
właściwości przetwarzania wieloprocesowego są większe niż w przypadku systemu Microsoft Windows NT,
a współpraca z protokołem TCP/IP jest lepsza niż w Windows NT i systemie Solaris. Jako grupa użytkownicy
Linuksa są bardziej zadowoleni od swoich kolegów używających Windows NT czy też Solarisa. Linux to także
kod źródłowy, a ilością zainstalowanych stanowisk przewyższa zdecydowanie system Solaris i zbliża się do
Windows NT.
Ta imponująca statystyka to wcale jeszcze nie koniec zalet tego systemu. Rozważmy bowiem inne techniczne
aspekty Linuksa. Przede wszystkim — wszyscy zwracają uwagę na fakt, że jest on darmowy. Porównywalne
systemy operacyjne, a zwłaszcza serwery, mogą osiągnąć niebotyczne ceny: 100 000 $! Niskie ceny dystrybucji
Linuksa powodują, że sięgają po niego zwykli użytkownicy oraz profesjonaliści.
W tym przypadku wygrywa on z konkurencją bez większych problemów. Wiele stacji roboczych jest od czasu
do czasu wykorzystywanych jako serwery sieciowe. Ponieważ Linux został zaprojektowany również jako
sieciowy system operacyjny, jego właściwości i wydajność zdecydowanie przewyższają inne systemy
operacyjne stacji roboczych używanych jako tymczasowe serwery sieciowe. Na przykład licencja dla stacji
Micorosft Windows NT Workstation ogranicza liczbę połączeń przychodzących do 10, a jeśli stacja z tym
systemem obsługuje więcej niż 10 połączeń przychodzących jednocześnie, to mówi się o łamaniu umowy
licencyjnej! Jednakże system Linux nie podlega takim restrykcjom, komputer może przyjąć tyle połączeń naraz,
na ile mu pozwolisz (jeśli podasz za dużo, to przestanie działać).
Ponieważ Linux został zaprojektowany jako serwer sieciowy, posiada mechanizmy pozwalające na rzetelne (w
porównaniu z resztą systemów operacyjnych) przechowywanie danych. Większość użytkowników Linuksa
przechowuje dane na partycji o systemie plików ext2, która jest bardzo wydajna i bezpieczna w porównaniu na
przykład z partycjami (systemami plików) FAT, FAT32 i NTFS stworzonymi przez Microsoft. Oczywiście firma
ta twierdzi, że jej najlepszy system plików NTFS jest tak rzetelny, iż prawdopodobnie nigdy nie będziesz musiał
5
Źródło SunWorld, sierpień 1998 rok
używać specjalnych narzędzi do odzyskiwania danych — prawda jest taka, że takich narzędzi po prostu nie ma,
a w tym systemie plików dość często zdarzają się niespodziewane wypadki. Przytoczę tylko jeden z nich:
Kiedy rok temu „powiesił” mi się system Windows NT, doszedłem do wniosku, że mam uszkodzony system
plików NTFS. Wyszukałem wobec tego stronę internetową Microsoftu w celu pobrania oprogramowania
odzyskującego dane z tego typu partycji, ale niestety nic nie znalazłem. Poszedłem więc do lokalnego sklepu
z oprogramowaniem komputerowym i zakupiłem narzędzia innych producentów do odzyskiwania danych w
systemie Windows NT. Kiedy w domu otworzyłem pudełko, okazało się, że są tam tylko programy dla
systemów plików FAT i FAT32, a nie dla NTFS. Dzięki darmowemu programowi dostarczonemu wraz z
Linuksem odzyskałem 95% danych, ponieważ był to jedyny program, jaki znalazłem, który umożliwiał odczyt
danych z uszkodzonej partycji NTFS. Bez Linuksa straciłbym wszystko.
Podobnie jak inne sieciowe systemy operacyjne, Linux umożliwia zaawansowane zarządzanie dyskami (RAID
— pozwala automatycznie duplikować dane przechowywane na kilku dyskach twardych), przez co wzrasta
bezpieczeństwo danych, ponieważ jeśli jeden z dysków zostanie uszkodzony lub po prostu popsuje się, istnieje w
systemie drugi dysk będący dokładną jego kopią. Systemy Microsoft Windows 95 i 98 nie posiadają takiej
funkcji (poza kilkoma programami i sterownikami innych firm, które pozwalają dodać tę właściwość).
Jeśli jesteś doświadczonym użytkownikiem komputerów, który pamięta jeszcze system MS-DOS, kojarzysz
zapewne pojęcie zwane oknem trybu MS-DOS. Jeżeli jednak pracowałeś tylko z systemem Microsoft Windows,
możesz w pełni nie rozumieć tego zagadnienia. Okno trybu MS-DOS jest interfejsem wiersza poleceń. Wpisując
polecenia wybrane z listy rozumianych przez system, możesz bezpośrednio nakazywać systemowi
wykonywanie różnorodnych zadań.
Dla większości użytkowników interfejs wiersza poleceń nie jest tak wygodny i zrozumiały, jak interfejs
graficzny oferowany przez Microsoft Windows. A to dlatego, że musisz znać polecenia, które rozumie system
MS-DOS oraz musisz wpisywać je poprawnie, jeśli chcesz, aby system poprawnie je wykonywał.
Jednakże system MS-DOS umożliwia wykonanie niektórych zadań, pracochłonnych i zajmujących dużo czasu,
znacznie szybciej niż za pomocą myszki. Linux posiada podobny wiersz poleceń zwany powłoką. Jednakże
słowo „podobny” jest tutaj nie na miejscu, ponieważ powłoka systemu Linux jest na tyle rozbudowana oraz
posiada tyle właściwości, że wiersz poleceń MS-DOS mógłby być zaledwie małą jej cząstką (jeśliby
kiedykolwiek doszło do połączenia tych interfejsów).
W szczególności wierszowi poleceń MS-DOS brak wielu użytecznych właściwości i funkcji znajdujących się
w powłoce Linuksa. Jeżeli używałeś trybu MS-DOS i stwierdziłeś, że jest niewygodny w użyciu oraz
nieporęczny, zostaniesz prawdopodobnie mile zaskoczony, kiedy zobaczysz, jak działa powłoka Linuksa. Jest
ona bardzo prosta, a zarazem bardzo potężna i wydajna. Więcej na jej temat dowiesz się w rozdziale 4.
Jeśli jesteś programistą (nieważne, czy zaawansowanym czy też początkującym), docenisz zapewne możliwość
rozwijania przenośnego, kompatybilnego z systemem Unix oprogramowania za pomocą narzędzi oferowanych
przez Linuksa. Zawiera on bowiem kompletny zestaw narzędzi programistycznych, włączając asembler,
kompilator języka C i C++, aplikację
make
oraz oczywiście kod źródłowy wszystkich bibliotek. Wszystkie te
narzędzia są darmowymi programami dostępnymi na licencji GNU GPL.
Powody, dla których warto wybrać system Linux
Oto kilka przyczyn, dla których warto używać Linuksa. Im więcej powodów będzie odpowiadało twojej sytuacji,
tym bardziej będziesz zadowolony, że go zainstalowałeś.
• Pragniesz rzetelnej i stabilnej platformy.
Żaden inny popularny system operacyjny nie jest bardziej stabilny i wydajny niż Linux. Jeśli jesteś
zmęczony ciągłym resetowaniem komputera spowodowanym wieszaniem się systemu, wypróbuj
chociaż raz Linuksa. Na pewno się nie zawiedziesz.
• Chcesz mieć wysoko wydajny system.
Linux wyciąga ze sprzętu możliwie najwyższe osiągi, przy tym nie stawia takich wymagań, jak inne
systemy operacyjne. Przy niewielkiej ilości pamięci oraz wolniejszym CPU, Linux nie odstaje
od Microsoft Windows oraz innych systemów. Jeśli zależy ci na szybkości i wydajności przy
minimalnych nakładach sprzętowych, to pozostaje tylko Linux.
• Nie masz pieniędzy lub szukasz niedrogiego systemu.
Jeśli akurat nie masz zbyt dużo gotówki lub musisz zainstalować wiele systemów, niska cena systemu
Linux pozwoli sporo zaoszczędzić na zakup nowego sprzętu i oprogramowania. Pod tym względem
Linux jest najbardziej opłacalnym systemem operacyjnym na świecie.
• Często używasz sieci lokalnych oraz Internetu.
Jeśli korzystasz z zasobów sieci, zwłaszcza Internetu, Linux oferuje zaawansowaną obsługę protokołu
TCP/IP. Pozwala on w łatwy i szybki sposób tworzyć zapory sieciowe, które zabezpieczają dostęp do
komputera lub nawet całej sieci przed niepowołanymi osobami, oraz trasy, które umożliwiają kilku
komputerom dzielenie pojedynczego połączenia sieciowego.
• Chcesz się nauczyć Uniksa i obsługi sieci TCP/IP.
Najlepszą metodą — prawdopodobnie jedyną — nauczenia się systemu Unix i działania sieci opartych
na protokole TCP/IP jest zainstalowanie Linuksa i zdobywanie doświadczenia samemu. Nieważne, czy
chcesz posiąść takie doświadczenie z czystej tylko ciekawości czy dla kariery (administratorzy sieci są
zazwyczaj dobrze opłacani); Linux daje możliwość zdobycia doświadczenia po niskich kosztach bez
potrzeby rezygnacji z komfortu dotychczasowego życia.
• Szukasz innej wizji komputerowej przyszłości niż ta propagowana przez Microsoft.
Jeśli dość masz już narzucanych przez firmę z Redmond standardów technologii komputerowych,
Linux daje ci wszystkie narzędzia potrzebne do stworzenia nowych rozwiązań i technologii.
• Chciałbyś cieszyć się szacunkiem wśród kolegów po fachu.
Jeśli jesteś pracownikiem technicznym, np. programistą lub inżynierem, możesz zyskać większe
uznanie wśród swoich znajomych z pracy. Możesz także otrzymać gadżety promocyjne jak naklejki,
koszulki itp. (zajrzyj na stronę sklepiku Linuksa
http://www.all-linux.com/index.html/
).
• Chcesz się dobrze bawić.
Na szczęście odkryłeś już, że jednym z najlepszych powodów robienia czegokolwiek jest robienie tego
dla zabawy. Wielu użytkowników Linuksa twierdzi, że jeszcze nigdy nie bawili się tak dobrze przy
komputerze. Nie ma chyba lepszej przyczyny uruchomienia Linuksa.
Jeśli mam być całkowicie szczery, są osoby, które nie powinny używać Linuksa. Jeśli zgadzasz się z poniższymi
twierdzeniami, możesz zainstalować Linuksa, ale pod warunkiem, że znasz kogoś, kto pomoże ci opanować
system:
• Boisz się komputerów.
Jeśli taka jest prawda, powinieneś więcej czasu spędzać na pracy z Microsoft Windows 95 lub 98,
zanim w ogóle zabierzesz się za Linuksa. Po prostu daj sobie trochę więcej czasu na poznanie pewnych
programów i oswojenie się z samym komputerem.
• Nie lubisz się uczyć.
Instalacja i konfiguracja systemu Linux wymaga zdobywania wiedzy na temat nowych pomysłów
i rozwiązań. Nie są one specjalnie skomplikowane, ale jeśli nie lubisz się uczyć nowych rzeczy, po
prostu odpuść sobie. Trzymaj się tego, co już wiesz i czego się do tej pory nauczyłeś.
• Jesteś uzależniony od pewnych aplikacji systemu Windows.
Możesz uruchamiać niektóre aplikacje systemu Windows za pomocą programu WINE (ponad 100
aplikacji w czasie pisania tej książki, między innymi Saper i FreeCell). Jednakże nie dotyczy to
wszystkich aplikacji. Zanim więc uruchomisz Linuksa, zdobądź najświeższe informacje na temat
programu WINE i jego obecnych możliwości (
http://www.winehq.com/
).
Zamiast instalować Linuksa i usuwać istniejący system operacyjny, możesz go tak zainstalować i
skonfigurować, abyś miał przy starcie komputera wybór: między Linuksem i na przykład Windows 98. Nazywa
się to fachowo dual-boot. Wtedy możesz wybierać: albo uruchamiasz Linuksa, albo ulubioną aplikację
Windows.
Zasoby linuksowe w Internecie
Istnieją miejsca w sieci Internet, gdzie możesz szukać aktualnych informacji oraz pomocy. W ten sposób
rozwiążesz najszybciej każdy problem, który pojawi się podczas instalacji, konfiguracji czy też użytkowania
Linuksa.
Strony WWW
Tabel 1.5 przedstawia listę adresów WWW niektórych popularnych witryn internetowych poświęconych
Linuksowi. Najciekawszą jest najprawdopodobniej strona projektu dokumentacji Linuksa (Linux Documentation
Project). Tam znajdziesz wszystkie informacje, których będziesz szukał. Jest tam również wyszukiwarka, która
ułatwia znajdowanie potrzebnych informacji.
Tabela 1.5. Rekomendowane strony WWW poświęcone Linuksowi
Witryna WWW
Adres URL
Strona Projektu Debian
http://www.pl.debian.org/
Lista dyskusyjna HOWTO założona przez Erica S.
Raymonda
http://metalab.unc.edu/LDP/HOWTO/Reading-List-
HOWTO.html
Nowości, triki i porady na temat Linuksa (strona
założona przez Gary’ego Singletona)
http://gary.singleton.net/
Przewodnik Linuksa — autor Joshua Go
http://jgo.local.net/LinuxGuide/
Linux Documentation Project
http://metalab.unc.edu/linux/
Strona magazynu Linux Journal
http://www.linuxjournal.com/
Linux Gazette wydawana przez Linux Journal
http://www.linuxgazette.com/
Linux Resources
http://www.linuxresources.com/
Linux Web Ring
http://linuxwebring.org/
Linux Weekly News
http://lwn.net/
Centrum Linux Wydawnictwa O’Reilly & Associates
http://linux.oreilly.com/
Renaissoft’s Linux Resources
http://wwwrenaissoft/com/linux.html
Często Zadawane Pytania (FAQ) z odpowiedziami —
strona założona przez Roberta Kieslinga
http://metalab.unc.edu/LDP/FAQ/Linux-FAQ.html
Slashdot
http://slashdot.org/
Grupa Użytkowników Linuksa z British Columbia,
Victoria
http://vlug.org/vlug/
Linux Webring oferuje ciekawy, aczkolwiek nieco sposób odmienny eksploracji zasobów sieciowych
związanych z Linuksem. Strony członkowskie Webring zawierają odnośniki do kolejnych stron; podążając za
nimi zataczamy koło (ring — pierścień); ze strony głównej natomiast możemy bezpośrednio dostać się na
interesującą nas stronę.
Linux Journal jest popularnym magazynem użytkowników Linuksa. Można subskrybować to czasopismo
(zamówić do domu) lub przeglądać je online (czyli na stronach WWW).
FAQ (Frequently Asked Questions — często zadawane pytania) są to listy podsumowujące najczęściej
pojawiające się na grupach dyskusyjnych pytania wraz z odpowiedziami. FAQ należą do najbardziej
wartościowych źródeł informacji w Internecie (na każdy temat). Powinieneś często je przeglądać.
Motto serwisu Slashdot brzmi „Wiadomości dla hobbistów komputerowych. Informacje, które się liczą.”
Znajdziesz tam mnóstwo interesujących wiadomości i informacji nie tylko na temat Linuksa, ale również
o społeczności Open Source oraz o komputerach.
Grupy dyskusyjne
Grupy dyskusyjne są popularnym miejscem spotkań (wirtualnych) użytkowników Linuksa. Tutaj bowiem można
otrzymać pomoc lub samemu jej udzielić, można również wymieniać się doświadczeniami, poglądami, opiniami
i tak dalej. Tabela 1.6 podaje kilka adresów grup dyskusyjnych związanych z Linuksem. Jeśli usługodawca
internetowy pozwala na łączenie się z grupami dyskusyjnymi, możesz je przeglądać za pomocą programów
Microsoft Internet Explorer, Netscape Communicator lub innych aplikacji.
Tabela 1.6. Popularne grupy dyskusyjne związane z Linuksem
Grupa Temat
comp.os.linux.advocacy
Spory na temat wyższości systemów operacyjnych
comp.os.linux.alpha
Linux i komputery Alpha DEC
comp.os.linux.announce
Ogłoszenia ważne dla społeczności Linuksa
comp.os.linux.answers
FAQ, HOWTO, wiadomości dla hobbistów
komputerowych
comp.os.linux.development.apps
Pisanie aplikacji dla Linuksa oraz przenoszenie
aplikacji do tego systemu
comp.os.linux.development.system
Jądro, urządzenia, moduły
comp.os.linu..hardware
Kompatybilność sprzętu z systemem Linux
comp.os.linux.misc
Tematy nie poruszane na innych grupach
comp.os.linux.networking
Komunikacja oraz sieci komputerowe
comp.os.linux.powerpc
Linux i platforma PowerPC
comp.os.linux.setup
Instalacja, konfiguracja i administracja Linuksem
comp.os.linux.x
Serwery X, biblioteki, fonty, klienty itd.
Rozdział 2.
Przygotowanie do instalacji
Linuksa
Rozdział ten przedstawia zadania, które należy wykonać przed instalacją systemu Linux. Pozwala również
sprawdzić i upewnić się, czy komputer, na którym zamierzasz uruchomić Linuksa spełnia wszystkie minimalne
wymagania sprzętowe. Pokazuje, jak zapisać konfigurację sprzętową, tak abyś mógł poprawnie odpowiadać na
pytania procesu instalacyjnego oraz jak podzielić na partycje i sformatować dysk twardy, na którym
zainstalujesz Linuksa.
Minimalne wymagania sprzętowe
System Linux współpracuje z praktycznie każdym sprzętem komputerowym, ale oczywiście nie ze wszystkimi
urządzeniami. Komputer, który posiadasz musi spełniać tzw. minimalne wymagania sprzętowe, aby Linux
poprawnie na nim pracował. Kolejne podrozdziały przedstawiają te wymagania, jednakże najświeższą listę i
informacje znajdziesz na stronach projektu Debian:
http://www.debian.org/
. Dzięki tej stronie będziesz mógł
również określić, czy Linux współpracuje z całym sprzętem, który posiadasz w komputerze.
Procesor (CPU)
Linux nie działa na komputerach z procesorem Intel 286 i wcześniejszych. Jednakże w pełni współpracuje z
procesorami Intel 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III i IV. Pomimo to, niektórzy
użytkownicy komputerów z procesorem 386 twierdzą, że Linux działa powoli, zwłaszcza w środowisku X. Jeśli
więc zależy ci na wydajności, zainstaluj system Linux na komputerze z procesorem 486 lub lepszym.
Linux działa także z procesorami innych firm jak na przykład Cyrix 6x86 oraz AMD K5 i K6. Większość
użytkowników Linuksa posiada chipsety Intela; jeśli masz inny procesor, możesz mieć kłopoty.
Płyty główne
Linux współpracuje ze standardowymi magistralami ISA, EISA, PCI oraz VESA (VLB) używanymi
w większości komputerów typu PC. Ostatnio rozwiązano problem z magistralą MCA zaprojektowaną przez IBM
i używaną w komputerach serii PS/2. Sprawdź na stronie projektu Debian, czy nie ma najnowszych informacji
na temat magistrali MCA.
Na płycie głównej powinno się znajdować co najmniej 16 MB pamięci RAM, aby Linux mógł pracować
sprawnie. Niektórzy użytkownicy uruchamiali Linuksa nawet na komputerach posiadających 4 MB pamięci
RAM. Jednakże, jeśli masz komputer z mniejszą ilością pamięci niż 16 MB, to prawdopodobnie nie będziesz
usatysfakcjonowany ze sposobu jego działania. Poza tym, jeśli planujesz pracę w środowisku X, rozważ
rozbudowanie pamięci — 64 MB to wystarczająca ilość. Chociaż X działa przy 16 MB pamięci RAM, to więcej
okien możesz otworzyć oraz więcej jednoczesnych operacji możesz wykonać przy większej ilości pamięci.
Mnóstwo płyt głównych stwarza problemy podczas instalacji systemu Linux. Problem tkwi w złym BIOS-ie, ale
poprawkę można zawsze ściągnąć ze strony producenta płyty głównej. W przeciwnym przypadku (jeśli to nie
BIOS), zajrzyj na stronę Debiana po więcej informacji.
Napędy
Pewien dowcipny użytkownik komputerów powiedział kiedyś, że nie można być zbyt szczupłym, zbyt bogatym
i mieć zbyt dużo miejsca na dysku twardym. Na szczęście system Linux nie pożera dużych ilości miejsca. Do
jego instalacji potrzeba przynajmniej 250 MB wolnego miejsca na dysku (teoretycznie wystarczy tylko 100 MB,
ale instalacja tego systemu na takim małym dysku spowoduje, że będziesz miał mało miejsca na własne pliki
oraz będziesz musiał zrezygnować z kilku użytecznych aplikacji).
Bardziej realistycznie; jeśli planujesz używanie Linuksa jako stacji roboczej, zarezerwuj sobie przynajmniej
600 MB wolnego miejsca na dysku; jeśli natomiast zamierzasz postawić serwer, musisz wygospodarować
chociaż 1,6 GB.
Aby łatwo można było zainstalować system z dołączonego do książki CD-ROM-u, komputer powinien być
wyposażony w kontroler IDE lub SCSI dla napędu CD-ROM. Możliwe jest także zainstalowanie Linuksa z
napędu CD-ROM typu PCMCIA, z serwera FTP i NFS, z zasobu Samby lub dysku twardego. Po szczegóły
instalacji innej niż z dysku CD-ROM zajrzyj na stronę Projektu Debian.
Komputer powinien także być wyposażony w napęd dyskietek 3,5-calowych. Służy on do uruchamiania systemu
Linux ze specjalnej dyskietki tworzonej pod koniec instalacji.
Zbieranie informacji na temat komputera
W celu łatwego i przyjemnego wykonania instalacji systemu Linux, powinieneś zebrać nieco informacji na temat
sprzętu znajdującego się w komputerze, na którym chcesz uruchomić proces instalacyjny. Często program
instalacyjny jest w stanie określić automatycznie, jakiego rodzaju sprzęt posiadasz, ale jeśli mu się nie uda,
będziesz musiał podać brakujące informacje. W przeciwnym przypadku zostaniesz zmuszony do przerwania
procesu instalacyjnego, zdobycia odpowiednich informacji i ponownej instalacji systemu.
Potrzebne informacje
Tabela 2.1 określa potrzebne informacje konfiguracyjne. Aby uzyskać te informacje, zajrzyj do dokumentacji
dostarczonej przez producenta komputera oraz do dokumentacji każdego urządzenia, które sam instalowałeś.
Jeśli nie posiadasz takiej dokumentacji, skontaktuj się z producentem lub sprzedawcą komputera, lub zajrzyj na
jego stronę WWW; jeśli nie znasz adresu, skorzystaj z wyszukiwarki internetowej, np. Yahoo! lub AltaVista.
Tabela 2.1. Informacje konfiguracyjne potrzebne przy instalacji Linuksa
Urządzenie Potrzebne
informacje
Dysk (i) twardy
Liczba dysków, rozmiar oraz rodzaj każdego z nich. Który dysk jest pierwszy, który
drugi i tak dalej. Jakiego rodzaju kontrolera używa (IDE lub SCSI)? Dla dysków IDE —
czy BIOS jest ustawiony w trybie LBA?
Pamięć RAM
Ilość zainstalowanej pamięci
Napęd (y) CD-ROM Jakiego rodzaju adaptera używa (IDE SCSI, czy innego)? Dla każdego dysku innego niż
IDE i innego niż SCSI — producent i model tego dysku
Adapter SCSI (jeśli
jest)
Producent i model karty
Karta sieciowa
Producent i model
Mysz
Rodzaj (szeregowa, PS/2, magistralowa), protokół (Microsoft, Logitech, MouseMan itd.)
Liczba przycisków myszki. Dla myszy szeregowej, numer portu szeregowego, do
którego jest przyłączona
Karta graficzna
Producent i model karty. Ilość pamięci wideo
Aby uzyskać te informacje, będziesz prawdopodobnie musiał przestudiować ustawienia BIOS komputera lub
nawet otworzyć obudowę i zajrzeć do środka. Przeczytaj dokumentację dostarczoną wraz z komputerem, zanim
otworzysz obudowę i zaczniesz przegląd!
Zbieranie niezbędnych informacji za pomocą systemu
Windows
Jeżeli masz system Windows 95 lub Windows 98, możesz uzyskać większość niezbędnych informacji przy
użyciu okna dialogowego
Właściwości System
, które uruchamiasz z
Panelu sterowania
.
1) Kliknij
Menu Start
. Pojawi się wyskakujące menu.
2) Wybierz z tego menu
Ustawienia
i kliknij w podmenu
Panel sterowania
.
3) W oknie dialogowym
Panelu sterowania
dwa razy kliknij ikonę
System
. Ukaże się okno dialogowe
Właściwości System
; zaznacz zakładkę
Ogólne
— pojawi się okno widoczne na rysunku 2.1.
Zakładka
Ogólne
przedstawia rodzaj procesora używanego w komputerze oraz ilość zainstalowanej pamięci
RAM.
Rysunek 2.1. Zakładka Ogólne okna dialogowego właściwości systemu
4) Następnie kliknij zakładkę
Menedżer urządzeń
. Ukaże się okno przedstawione na rysunku 2.2.
Możesz kliknąć dwa razy wybraną ikonę (lub raz kliknąć znak plusa znajdujący się obok ikony), aby uzyskać
dodatkowe informacje. Na przykład poprzez podwójne kliknięcie ikony
Stacje dysków
dowiesz się, czy
posiadasz dysk IDE czy SCSI.
Jeśli posiadasz drukarkę, możesz również wydrukować wszystkie informacje o urządzeniach systemowych.
Rysunek 2.2. Zakładka Menedżera urządzeń okna dialogowego właściwości systemu
Dzięki
Menedżerowi urządzeń
możesz uzyskać następujące informacje:
• Ilość i rodzaj (IDE lub SCSI) dysków twardych.
• Producent i model napędu CD-ROM.
Uwaga
Niektóre napędy CD-ROM nie pojawiają się w oknie Menedżera urządzeń. Zazwyczaj plik
config.sys
zawiera
odpowiednie wpisy, z których możesz się dowiedzieć więcej na temat swojego CD-ROM-u.
• Rodzaj myszy podłączonej do komputera.
• Producent i typ karty graficznej.
• Producent i model urządzeń multimedialnych takich jak karty dźwiękowe itd.
• Producent i model karty sieciowej.
• Producent i model adaptera SCSI.
Przygotowanie dysku twardego
Operacja ta polega na zarezerwowaniu odpowiedniej ilości miejsca na dysku twardym. Jak to zrobić, dowiesz się
właśnie w tym podrozdziale. Najpierw poznasz budowę dysków twardych, następnie dowiesz się, jak poznać ich
strukturę, a na końcu nauczysz się, jak ją zmieniać.
Budowa dysków twardych
Zacznijmy od podstaw, które na pewno poznałeś pracując w systemie MS Windows. Większość systemów
operacyjnych, włączając MS Windows 95 i 98, zarządza dyskami twardymi poprzez podzielenie ich na partycje.
Aby można było mieć dostęp do partycji, Windows 95 i 98 przypisują do niej literę alfabetu (C:, D: i tak dalej).
Zanim będziesz mógł używać miejsca na partycji dysku twardego, musisz przeprowadzić formatowanie.
Formatowanie partycji powoduje utworzenie systemu plików, który dostarcza miejsca do przechowywania nazw
i atrybutów plików oraz danych, które te pliki zawierają. Microsoft Windows obsługuje kilka typów systemów
plików takich jak FAT oraz FAT32, który jest udoskonaleniem FAT (pozwala lepiej zagospodarować wolne
miejsce, szybciej uruchamia programy, obsługuje dyski twarde o dużej pojemności).
Partycje składają się na logiczną strukturę dysku, która jest rozumiana przez ludzi i większość programów
komputerowych. Jednakże dysk twardy posiada strukturę fizyczną, która bardziej przypomina aktualną budowę
sprzętu. Rysunek 2.3 przedstawia logiczną i fizyczną architekturę dysków.
Mechanicznie rzecz biorąc, dysk twardy składa się z talerzy przypominających stare płyty winylowe, z których
każdy związany jest z głowicą odczytu i zapisu. Głowica działa podobnie jak głowica w magnetowidzie,
dekodując dane jako serie impulsów elektromagnetycznych. W czasie ruchu obrotowego talerza głowice
zapisują dane na koncentrycznych pierścieniach zwanych ścieżkami, których numeracja zaczyna się od zera.
Przeciętny dysk twardy posiada setki tysięcy takich ścieżek.
Wszystkie ścieżki o tym samym promieniu nazywają się cylindrem. Podobnie jak w przypadku ścieżek,
numeracja cylindrów zaczyna się od zera. Liczba talerzy i cylindrów określa geometrię dysku twardego.
Większość komputerów typu PC wymaga podania geometrii dysku w BIOS-ie.
Systemy operacyjne preferują odczytywanie lub zapisywanie raczej tylko części ścieżek niż całości.
W konsekwencji ścieżki podzielone są na sektory, z których każdy zawiera ustaloną ilość bajtów; zazwyczaj
512.
Rysunek 2.3. Struktura dysku twardego
Aby odpowiednio odczytywać i zapisywać sektory, program musi znać geometrię dysku. Ponieważ czasami
niemożliwe jest określenie geometrii dysku, niektóre programy BIOS pozwalają podać adresowanie logiczne
bloku (Logical Block Adressing — LBA). LBA sekwencyjnie zlicza sektory i pozwala programom na odczyt i
zapis określonego sektora bez podawania konkretnego cylindra czy głowicy.
Przeglądanie informacji o partycjach
Pierwszym krokiem przygotowującym dysk do instalacji systemu Linux jest inspekcja znajdujących się na dysku
twardym partycji. Kiedy dowiesz się, jak jest podzielony dysk, będziesz mógł określić, jak go zreorganizować
dla potrzeb Linuksa. Aby obejrzeć istniejące na dysku partycje, użyj programu
fdisk
:
1) Kliknij
Menu Start
. Pojawi się menu.
2) Wybierz zakładkę
Programy
, ukaże się podmenu.
3) W podmenu
Programy
kliknij
Tryb MS-DOS
.
4) W oknie dialogowym programu
MS-DOS
wpisz
fdisk
i wciśnij
Enter
. Pojawi się menu programu
fdisk
, pokazane na rysunku 2.4.
Uwaga
Menu programu fdisk może nie pojawić się natychmiast. Zamiast niego system Windows może się spytać, czy
chcesz włączyć obsługę dużych dysków. Odpowiedz przecząco, wpisz
N
i wciśnij
Enter
. Aby obejrzeć
informacje o partycjach, nie musisz włączać obsługi dużych dysków twardych.
Rysunek 2.4. Ekran opcji programu fdisk
5) Wybierz
5
, a następnie naciśnij
Enter
. Przejdziesz do ekranu przypominającego rysunek 2.5, gdzie
możesz wybrać dysk twardy. Informacje o partycjach są przedstawione w bardziej przystępny sposób
niż w punkcie
4. Wyświetl informacje o partycjach
.
Na ekranie zobaczysz wszystkie dyski twarde zainstalowane w komputerze, ponumerowane kolejno od
1 wzwyż oraz ich rozmiary. Jeśli dysk zawiera wolną przestrzeń nie podzieloną na partycje, zostanie
pokazany jej rozmiar. Ekran przedstawia także ilość miejsca dysku twardego przypisanego partycjom
jako procent całości dostępnej przestrzeni na dysku.
Pod informacjami opisującymi dysk twardy znajdziesz wiadomości dotyczące rozmiaru każdej partycji
na dysku. Wyświetlana jest także związana z partycją litera dysku.
6) Po zapoznaniu się z informacjami o partycjach, naciśnij dwukrotnie
Escape
, aby wyjść
z programu
fdisk
i powrócić do trybu MS-DOS. Możesz następnie zamknąć ten tryb, klikając
krzyżyk
znajdujący się w prawym górnym rogu okna lub wpisz po prostu
exit
i naciśnij
Enter
.
Rysunek 2.5. Zmiana aktualnego dysku twardego
Jak uzyskać odpowiednią ilość wolnego miejsca?
Nie możesz zainstalować systemu Linux na partycji, która jest już wykorzystywana. Oglądając informacje na
temat partycji możesz określić, jaki przypadek najlepiej pasuje do systemu:
Dysk zawiera wolną i niesformatowaną przestrzeń odpowiednią do zainstalowania Linuksa (od 600 MB do
1,6 GB w zależności od rodzaju instalacji).
W tym przypadku — zanotuj, który dysk zawiera wolne miejsce. Następnie możesz rozpocząć instalację
systemu opisaną w rozdziale 3. Zanim to jednak zrobisz, sprawdź poniżej podane ograniczenia BIOS-ów
niektórych komputerów.
Nie masz odpowiedniej ilości wolnego miejsca na dysku twardym. Poniżej podana procedura pozwala
uzyskać niezbędną ilość wolnej przestrzeni:
¾
Jeśli masz w komputerze miejsce na dodatkowy dysk twardy, możesz go zamontować
i zainstalować na nim Linuksa. Podrozdział zatytułowany „Instalacja nowego dysku twardego”
przedstawia porady i użyteczne triki związane z dodawaniem nowego dysku do komputera.
¾
Jeśli posiadasz jedną lub więcej zbędnych partycji, możesz ją (je) usunąć, a powstałe wolne
miejsce przypisać partycjom systemu Linux. Podrozdział „Identyfikacja nieużywanej partycji”
dokładnie pokazuje, jak znaleźć taką partycję.
¾
Jeżeli posiadasz jedną lub więcej partycji, które są większe niż potrzebujesz, możesz je
zmniejszyć do odpowiednich rozmiarów, a uzyskane miejsce przeznaczyć na system Linux.
Podrozdział „Zmniejszanie rozmiarów partycji” przedstawia, jak określić, czy partycja jest większa niż
potrzeba i jak zmniejszyć jej rozmiar.
Instalacja nowego dysku twardego
Często najlepszym i najszybszym sposobem na zainstalowanie systemu Linux jest kupienie nowego dysku
twardego i zamontowanie go w komputerze. Jeśli masz tylko jeden dysk twardy, to prawdopodobnie
w komputerze masz jeszcze wystarczającą ilość miejsca i zasobów systemowych na zamontowanie kolejnego
dysku. Zanim zakupisz nowy dysk, upewnij się, czy posiadasz odpowiednie kable zasilające oraz taśmy łączące
dysk z kontrolerem. Zastanów się także, czy nie lepiej będzie przerzucić dane ze starego dysku na nowy, a stary
dysk wykorzystać dla systemu Linux.
Jeśli natomiast masz już dwa dyski w komputerze, to prawdopodobnie nie będziesz mógł tak po prostu dodać
trzeciego; system BIOS większości komputerów pozwala uruchamiać systemy operacyjne tylko z pierwszego
lub drugiego dysku. W takim przypadku najlepiej jest zakupić nowy, odpowiednio większy dysk twardy i
zamontować go zamiast dysku do tej pory używanego w komputerze.
Identyfikacja nieużywanej partycji
Taką partycję możesz rozpoznać za pomocą przypisanej litery dysku, którą odczytasz w programie
fdisk
.
Następnie przejrzyj zawartość tej partycji w programie
Eksplorator Windows
. Jeśli okaże się, że partycja nie
zawiera żadnych istotnych danych i w dodatku jest idealnych rozmiarów do instalacji systemu Linux, możesz
skasować ją, a wolne miejsce przeznaczyć dla Linuksa.
Najprostszym narzędziem do skasowania nieużywanej partycji jest program
cfdisk
wchodzący w skład programu
instalacyjnego Debiana. Zapisz nazwę, literę dysku lub system plików znajdujący się na danej partycji
i rozpocznij instalację systemu, która jest opisana w następnym rozdziale.
Zmniejszanie rozmiarów partycji
Nawet jeśli wszystkie partycje zawierają ważne dane, jedna lub więcej partycji może mieć większy rozmiar niż
potrzeba. W takim przypadku możesz zmniejszyć jej rozmiar oraz tak zreorganizować dysk, aby zawierał
zwolnioną przestrzeń w jednym miejscu.
Do określenia ilości wolnego miejsca na danej partycji możesz użyć programu
Eksplorator Windows
. Po prostu
kliknij prawym przyciskiem myszki ikonę dysku, a z menu, które się pojawi wybierz opcję
Właściwości
. Pojawi
się okno dialogowe ukazujące ilość używanego i wolnego miejsca na dysku twardym.
Jak już znajdziesz partycję lub kilka, które posiadają wystarczającą ilość wolnego miejsca do zainstalowania
systemu Linux, możesz zmniejszyć ich rozmiar przy użyciu specjalnego programu, który oddziela miejsce
używane przez dane od wolnej przestrzeni. CD-ROM dołączony do tej książki zawiera program oparty na
licencji GPL
zwany
fips
, który dzieli miejsce na partycjach typu FAT i FAT32. Zajrzyj do następnego
podrozdziału, aby zobaczyć, jak działa ten program.
Uwaga
Jeśli popełnisz błąd podczas operacji dzielenia miejsca na partycji lub program wykona jakąś niepoprawną
operację, możesz stracić wszystkie dane na tej partycji (czasami nawet na całym dysku twardym). Wobec
tego doradzam, abyś wykonał kopię bezpieczeństwa systemu i partycji, którą zamierzasz podzielić.
Wielu użytkowników systemu Linux korzysta także z narzędzia
PartitionMagic
firmy PowerQuest.
W przeciwieństwie do programu
fips
,
PartitionMagic
jest oprogramowaniem komercyjnym; jednakże obsługuje
więcej rodzajów partycji. Na przykład
PartitionMagic
może dzielić partycje NTFS, HPFS oraz
ext2
, która jest
główną partycją systemu Linux.
Używanie narzędzia fips
Program ten pozwala rozdzielić partycję FAT na dwie części: jedną partycję zawierającą dane z oryginalnej
partycji oraz drugą pustą partycję (nie zawierającą żadnych danych). Wersja 2. tego narzędzia pozwala dzielić
także partycje typu FAT32. Kiedy zakończysz pracę z
fips
, możesz użyć programu
fdisk
do usunięcia pustej
partycji i stworzyć tym samym wolną przestrzeń dla systemu Linux.
Uwaga
Program fips nie podzieli partycji, dopóki nie znajdzie na końcu dysku twardego przynajmniej 10 MB wolnego
miejsca. Co więcej, fips wymaga wpisu do tablicy partycji i odmówi działania, jeśli masz już cztery główne
partycje w systemie.
1
GPL — General Public Licese — Generalna Licencja Publiczna
Podrozdział opisuje procedurę używania programu
fips
. Zakłada przy tym, że pracujesz pod kontrolą systemu
MS Windows 9x. Jeśli natomiast pracujesz z innym systemem operacyjnym, zajrzyj do dokumentacji programu
fips
po szczegółowe instrukcje.
Uwaga
Sam autor programu
fips
przyznaje, że jest to aplikacja eksperymentalna. Wobec tego ani autor tej książki, ani
jej wydawca nie ponoszą odpowiedzialności za straty spowodowane używaniem programu
fips
. Nie
powinieneś rozpoczynać pracy z
fips
,
dopóki nie zrobisz kopii zapasowej systemu.
Poza tym system Windows może przypisać inne litery dyskom po podzieleniu partycji programem
fips
. Na
przykład dysk D: może stać się dyskiem E:.
Fips
zapewni, że dysk główny C: pozostanie niezmieniony, więc
generalnie będziesz mógł uruchomić system, jednakże możesz mieć kłopoty z uruchamianiem programów
znajdujących się na innych partycjach niż C:.
Zanim uruchomisz
fips
, sprawdź najpierw, czy dysk twardy nie zawiera żadnych błędów za pomocą programów
chkdsk
,
ScanDisk
lub jeśli masz —
Norton Disk Doctor
. Aby uruchomić
ScanDisk
, kliknij
Start
->
Programy
->
Akcesoria
->
Narzędzia systemowe
->
ScanDisk
. Jeśli program znajdzie błędy na dysku, napraw je najpierw, a
następnie przejdź do defragmentacji dysku.
Defragmentacja dysku powoduje przesunięcie danych na początek dysku, pozostawiając na końcu wolne
miejsce. Operację tę możesz wykonać za pomocą aplikacji
Defragmentator dysków
; kliknij
Start
->
Programy
->
Akcesoria
->
Narzędzia systemowe
->
Defragmentator dysków
. Jeśli posiadasz, możesz użyć do tego celu innych
programów takich jak
Norton Speedisk
,
PCTool Compress
lub dowolnego darmowego programu.
Uwaga
Program Defragmentator dysków systemu MS Windows nie zawsze wykonuje swoje zadanie, tak jak
powinien. Czasami postrzega niektóre bloki dysku jako złe lub nie do przeniesienia, co powoduje, że dysk nie
zostanie zdefragmentowany prawidłowo. Najlepiej od razu użyć innego programu, tak aby później, już po
podziale nie okazało się, że trzeba przywracać system z kopii zapasowej, której wcale nie zrobiłeś.
Następnie wyłącz pamięć wirtualną. Uruchom
Panel sterowania
klikając
Start
->
Ustawienia
->
Panel
sterowania
. Po czym kliknij dwukrotnie ikonę
System
. Pojawi się okno dialogowe
Właściwości System
, na
którym kliknij zakładkę
Wydajność
. Wygląd okna dialogowego zmieni się, a na dole z prawej strony ujrzysz
przycisk
Pamięć wirtualna
. Kliknij go, zapisz aktualne ustawienia, a następnie wybierz opcję
Pozwól mi określić
własne ustawienia pamięci wirtualnej
i zaznacz pole
Wyłącz pamięć wirtualną
. Teraz kliknij przycisk
OK
, aby
opuścić okno dialogowe
Pamięci wirtualnej
i jeszcze raz
OK
, aby zamknąć okno
Właściwości System
.
Kolejnym krokiem jest utworzenie dyskietki startowej systemu przy użyciu apletu
Dodaj/Usuń programy
znajdującego się w
Panelu sterowania
. Aby uruchomić ten aplet, kliknij dwukrotnie jego ikonę. Pojawi się okno
dialogowe z trzema zakładkami. Kliknij zakładkę
Dysk startowy
, a następni przycisk
Utwórz dysk
. Pojawi się
pasek postępu informujący o stanie wykonywanego zadania, który poprosi o włożenie płyty CD-ROM z
systemem Windows 9x. Po odczytaniu tego dysku program poprosi o włożenie sformatowanej dyskietki do
odpowiedniej stacji. Nazwij dyskietkę
FIPS
i włóż ją do stacji. Po kilku minutach zniknie pasek postępu i
pojawi się komunikat o zakończeniu tworzenia dyskietki startowej. Kliknij
OK
, aby zamknąć okno dialogowe
Dodaj/Usuń programy
.
Nie wyjmuj dyskietki ze stacji. Zamiast tego włóż dysk CD-ROM dostarczony wraz z książką i skopiuj
następujące pliki na dyskietkę:
\dosutils\fips20\restorb.exe
\dosutils\fips20\fips.exe
\dosutils\fips20\errors.txt
Jeśli używasz
OBRAZU
lub
MIRRORA
lub jeśli pliki
config.sys
i
autoexec.bat
wywołują programy, które zapisują
do dysku twardego znajdującego się w komputerze, skorzystaj z
Eksploratora Windows
i tymczasowo zmień
nazwy tych plików, odpowiednio na:
config.fip
i
autoexec.fip
. Jeżeli nie jesteś pewien, jakie programy są
wywoływane przez te pliki, po prostu uruchom je i później zmień ich nazwy.
Uruchom ponownie komputer, ale użyj utworzonej niedawno dyskietki startowej, aby wystartować system.
Kiedy pojawi się znak zachęty wiersza poleceń systemu MS-DOS, wpisz
fips
i naciśnij
Enter
. Jeżeli
posiadasz więcej niż jeden dysk twardy, program ten zapyta, na którym z nich chcesz wykonywać operację
dzielenia partycji. Wybierz odpowiedni dysk i wciśnij
Enter
.
Następnie program
fips
daje możliwość zrobienia pliku kopii na dyskietce. I należy taką kopię wykonać,
ponieważ jeśli coś pójdzie źle, to możesz uruchomić ponownie komputer z dyskietki i za pomocą programu
restorb.exe
przywrócić stan dysku twardego!
Po wykonaniu kopii bezpieczeństwa, przechodzimy do wykonania głównego zadania. Program
fips
wyświetla
wszystkie partycje znalezione na dysku twardym. Zwróć szczególną uwagę na pierwszą i ostatnią kolumnę
wyświetlaną na ekranie programu
fips
, które to kolumny przedstawiają odpowiednio numer i rozmiar każdej
partycji.
Narzędzie
fips
wykonuje także pewną analizę dysku twardego. Jeśli dysk twardy zawiera więcej niż jedną
partycję, program zapyta, którą z nich chcesz podzielić. Wpisz numer wybranej partycji i wciśnij
Enter
.
W kolejnym kroku zostaniesz poproszony o wprowadzenie numeru cylindra, od którego będzie się zaczynała
nowa partycja. Użyj lewego klawisza kursora, aby zmniejszyć numer lub prawego, aby go zwiększyć.
Zwiększając lub zmniejszając numer cylindra, powodujesz, że
fips
wyświetla rozmiar obu partycji, które
stworzy, kiedy podejmiesz ostateczną decyzję co do numeru cylindra. Naciśnij
Enter
.
Uwaga
Może okazać się, że rozmiar pustej partycji będzie mniejszy niż zakładałeś. Może to być spowodowane
obecnością ukrytego pliku (plików), którego program defragmentujący dysk nie przeniósł na początek dysku.
Aby zidentyfikować taki plik, wpisz w wierszu poleceń
dir /a:h /s
i naciśnij
Enter
. Zignoruj wszystkie pliki
o nazwach podobnych do
io.sys
lub
msdos.sys
. Spróbuj stwierdzić, jaki program utworzył pozostałe pliki ukryte.
Jeśli zidentyfikujesz taki program, może będziesz mógł utworzyć partycję o odpowiedniej wielkości,
odinstalowując ten program. Po utworzeniu pustej partycji możesz go z powrotem zainstalować.
Fips
wyświetli teraz informacje dotyczące nowej partycji. Wciśnij
Y
, aby zachować zmiany i zamknąć program
lub
C
, aby dokonać dodatkowych zmian.
Po zakończeniu pracy z programem natychmiast uruchom system Windows oraz program
ScanDisk
, aby
sprawdzić nowo utworzoną partycję. Nie zapisuj nic na dysku zanim nie uruchomisz ponownie komputera;
w przeciwnym przypadku możesz zniszczyć dane na dysku!
Następnie włącz pamięć wirtualną. W tym celu kliknij
Start
->
Ustawienia
->
Panel sterowania
. W
Panelu
dwukrotnie kliknij ikonę
System
. Pojawi się okno dialogowe
Właściwości System
. Wybierz zakładkę
Wydajność
i kliknij przycisk
Pamięć wirtualna
. Przywróć ustawienia, które wcześniej zanotowałeś, po czym wciśnij
OK
,
aby zamknąć okno dialogowe
Pamięć wirtualna
, a potem jeszcze raz
OK
, aby zamknąć okno
Właściwości
System
.
Jeśli zmieniłeś nazwy plikom
autoexec.bat
i
config.sys
, przywróć ich pierwotne brzmienie za pomocą
Eksploratora Windows
.
W końcu, uruchom ponownie komputer, tak aby aktywować zmiany dokonane na pamięci wirtualnej. Teraz
jesteś już gotowy do zainstalowania systemu Linux na nowej, pustej partycji.
Rozdział 3.
Instalacja Linuksa
W tym rozdziale poznasz krok po kroku procedurę instalacyjną systemu Linux. Większość użytkowników nie
będzie miała w jej trakcie żadnych problemów; jednakże w przypadku napotkania jakichkolwiek
niespodziewanych trudności zamieściłem także podrozdział zawierający dodatkowe informacje na temat
uzyskiwania pomocy. Po jego lekturze powinieneś zainstalować Linuksa bez większych kłopotów.
Instalacja systemu operacyjnego i aplikacji
Aby zainstalować system Linux, należy przejść przez niezbyt skomplikowaną procedurę, która składa się z
trzech faz:
• Instalacji jądra i podstawowych komponentów systemu operacyjnego.
• Konfiguracji systemu.
• Instalacji dodatkowych aplikacji.
Uwaga
Pomimo że sam proces instalacyjny jest dość starannie przygotowany i pozbawiony błędów, może się tak
zdarzyć, że podczas instalacji wystąpią nieoczekiwane kłopoty, które w najgorszym przypadku mogą
doprowadzić do utraty danych znajdujących się na dysku. Wobec tego zaleca się rozpoczęcie instalacji
dopiero po wykonaniu archiwizacji ważnych dla użytkownika danych oraz przetestowaniu kopii zapasowych.
Interfejs programu instalacyjnego
Podobnie jak większość nowoczesnych dystrybucji, Debian GNU/Linux posiada prosty graficzny program
instalacyjny, który ułatwia instalację i wstępną konfigurację systemu. Program też działa w zdecydowanie
odmienny sposób niż jakakolwiek typowa aplikacja systemu Windows. Na przykład brak obsługi myszki lub
jakiegokolwiek urządzenia wskazującego; jedynym urządzeniem wejściowym jest klawiatura. Abyś umiał
efektywnie skorzystać ze wszystkich dostępnych opcji programu instalacyjnego, następne trzy podrozdziały
opisują specjalne skróty klawiaturowe, interfejs sterujący programu oraz wyjaśniają użycie wirtualnych konsol
systemu Linux.
Interfejs sterujący użytkownika
Rysunek 3.1 przedstawia typowy ekran wyświetlany przez program instalacyjny. Ekran ten zawiera następujące
elementy sterujące:
•
Główne okno
Program instalacyjny uruchamia się w pełnym ekranie. Pierwszy wiersz od góry wyświetla nazwę
aktualnego kroku instalacyjnego. Na rysunku 3.1 widzimy „Wybór rodzaju kontrolera napędu CD-
ROM”. Nie można zminimalizować głównego okna ani też zmienić jego rozmiarów.
•
Kursor
Podobnie jak w programach systemu Windows, procedura instalacyjna posiada kursor. Natomiast
w przeciwieństwie do Windows, ruchy kursora są sterowane z klawiatury. Położenie kursora jest
nazywane
skupieniem wejścia
(
input focus
). W jednym momencie tylko jeden element sterujący posiada
skupienie wejścia, które odpowiada na polecenia z klawiatury. Program instalacyjny wyświetla
prostokątny, niebieski kursor, który zaznacza dane pole. Na rysunku 3.1 element listy zwany
posiada właśnie skupienie wejścia.
/dev/hdc
•
Lista z możliwością jej przewijania
.
Pozwala na wyświetlanie kolejnych stron oraz podstron list wyboru — zbyt długich, aby zmieściły się
na jednym ekranie. W danym momencie tylko lista aktywna jest podświetlona na niebiesko. Jeżeli lista
posiada skupienie wejścia, klawisze strzałki w górę i w dół pozwalają poruszać się po niej odpowiednio
w górę i w dół. Niektóre elementy list są powiązane z konkretną akcją, którą możesz zainicjować
wciskając
Enter
.
•
Przyciski
Wiele programów okienkowych posiada jeden lub kilka przycisków. Aby aktywować przycisk, zaznacz
go kursorem lub naciśnij klawisz
Tab
. Kiedy uaktywnisz ten element, naciśnij
Enter
, aby rozpocząć
akcję związaną z przyciskiem.
Chociaż na rysunku 3.1 nie ma okna tekstowego, mają go niektóre programy instalacyjne. Pozwala on na
wprowadzenie tekstu, który jest następnie wysyłany do programu instalacyjnego podczas naciskania klawisza
OK
. Okno tekstowe można zidentyfikować przez charakterystyczne podkreślenia, które określają jego obszar
wejściowy.
Rysunek 3.1. Typowy ekran wyświetlany przez program instalacyjny
Powszechne skróty klawiszowe
Skróty klawiszowe pozwalają kierować operacjami programu instalacyjnego. Na przykład możesz użyć klawisza
Tab
do przesunięcia skupienia wejścia z jednego elementu kontrolnego na drugi. Tabela 3.1 podsumowuje
skróty, które są rozpoznawane przez program instalacyjny.
Tabela 3.1. Skróty klawiszowe używane przez program instalacyjny
Klawisz Znaczenie
Enter Wysyła żądanie przycisku „naciśnij” do programu instalacyjnego
Tab
Przesuwa skupienie wejścia do następnego pola
Strzałka w dół
Przesuwa kursor w dół
Strzałka w górę
Przesuwa kursor w górę
Strzałka w lewo
Przesuwa kursor w lewo
Strzałka wprawo
Przesuwa kursor w prawo
Uwaga
Klawisze należy wciskać tylko wtedy, gdy okno dialogowe programu instalacyjnego jest aktywne. Naciśnięcie
klawisza w nieodpowiednim momencie może spowodować wysłanie odpowiedniego sygnału do programu
zainicjowanego przez procedurę instalacyjną, co może spowodować przerwanie pracy takiego programu oraz
brak możliwości kontynuacji instalacji systemu Linux.
Konsole wirtualne
Konsola to kombinacja klawiatury i urządzenia wyświetlającego takiego jak monitor. Jest podstawowym
interfejsem użytkownika pozwalającym na komunikację z komputerem; możesz wprowadzać znaki z klawiatury
i oglądać wpisany tekst na ekranie monitora.
Chociaż komputery domowe rzadko posiadają więcej niż jedną konsolę, to system Linux umożliwia korzystanie
z kilku konsol na takiej właśnie maszynie. Za pomocą specjalnej kombinacji klawiszy możesz zdecydować, do
której konsoli jest aktualnie podłączona klawiatura i monitor. Tabela 3.2 przedstawia wirtualne konsole używane
przez program instalacyjny. Główny ekran procesu instalacji pojawia się na konsoli 1. Reszta konsol jest często
używana do rozwiązywania problemów — zazwyczaj nie będziesz ich używał. Pomimo to uznasz może za
stosowne sprawdzenie zawartości każdej z nich.
Tabela 3.2. Wirtualne konsole używane podczas instalacji
Konsola Kombinacja
klawiszy
Zawartość
1 ALT+F1
Główne okno dialogowe instalacji
2 ALT+F2
Znak
zachęty powłoki, który pozwala na
wprowadzanie poleceń przetwarzanych przez
system Linux
3
ALT+F3
Status instalacji zawierający wiadomości
przerwania uruchamianych podczas instalacji
programów
4
ALT+F4
Dziennik instalacji zawierający informacje i
wiadomości procesu instalacyjnego
Instalacja jądra i podstawowych komponentów systemu
Jeśli masz możliwość startowania komputera z napędu CD-ROM, możesz uruchomić go z dysku CD-ROM
dołączonego do tej książki; jest to najprostsza metoda inicjalizacji systemu Linux. Odpowiednie opcje
umożliwiające uruchamianie z napędu CD-ROM znajdziesz w BIOS-ie komputera.
Uruchamianie z poziomu systemu MS-DOS lub Windows 9x
Jeśli nie możesz od razu wystartować komputera z napędu CD-ROM, spróbuj najpierw uruchomić system MS-
DOS lub Windows. Następnie przy użyciu np. Menedżera plików skopiuj podane poniżej pliki z katalogu
install
(znajdującym się na dysku CD-ROM) do dowolnego katalogu na dysku:
boot.bat
linux
loadlin.exe
root.bin
Następnie kliknij prawym przyciskiem myszki plik
boot.bat
i z menu, które się pojawi, wybierz
Utwórz skrót
.
System Windows utworzy ikonę o nazwie
Skrót do boot.bat
. Ponownie kliknij prawym przyciskiem myszki, tym
razem w ikonę i wybierz z menu
Właściwości
. Pojawi się okno dialogowe
Właściwości
. Kliknij zakładkę
Program
, a następnie wybierz opcje zaawansowane. Zaznacz opcję
Tryb MS-DOS
i kliknij
OK
. Następnie
jeszcze raz kliknij
OK
, aby zamknąć okno dialogowe
Właściwości
.
Aby uruchomić Linuksa, kliknij dwukrotnie ikonę
Skrót do boot.bat
. Pojawi się okno dialogowe z zapytaniem,
czy chcesz zamknąć wszystkie programy i kontynuować. Zamknij ważne aplikacje i kliknij
Yes
.
Uruchamianie z dyskietek startowych
Jeśli nie możesz wystartować komputera z napędu CD-ROM oraz masz problemy z uruchomieniem Linuksa z
poziomu systemu MS-DOS lub Windows, możesz jeszcze użyć dyskietek startowych. Zanim rozpoczniesz
instalację, zaopatrz się w dwie zwykłe dyskietki 1,44 MB. Jednej z nich użyjesz do stworzenia dysku
instalacyjnego systemu, a na drugiej utworzysz dysk startowy Linuksa.
Aby rozpocząć instalację systemu, musisz uruchomić komputer z dyskietki zawierającej jądro systemu Linux.
Utworzenie takiej dyskietki wymaga wykonania specjalnych operacji, nie można niestety skopiować tak po
prostu plików na dyskietkę i już.
Aby utworzyć dysk startowy, wykonaj dokładnie poniższe czynności:
1. Włóż dysk CD-ROM do napędu.
2. Uruchom okno trybu MS-DOS, klikając
Start
->
Programy
->
Tryb MS-DOS
.
3. W oknie trybu MS-DOS zmień literę dysku na literę napędu CD-ROM, na przykład
I:
(patrz rysunek
3.2).
4. Następnie wpisz
cd tools\rawrite2
, wydaj polecenie
rawrite2
i naciśnij
Enter
.
5. Podaj teraz nazwę pliku obrazu dysku źródłowego —
boot\resc1440.bin
i naciśnij
Enter
.
6. Podaj literę przypisaną do urządzenia stacji dyskietek (zazwyczaj
a:
).
7. Włóż sformatowaną dyskietkę do stacji i naciśnij
Enter
.
Cała operacja zajmuje najwyżej minutę. Zaczekaj, aż program
rawrite2
zakończy operacje,
i uruchom ponownie komputer z nowo utworzonej dyskietki.
Rysunek 3.2. Program rawrite2 tworzy dyskietkę startową
Procedura instalacyjna
Kiedy uruchomi się system Linux, powinieneś zobaczyć znak zachęty
boot:
przedstawiony na rysunku 3.3.
Naciśnij
Enter
, aby rozpocząć procedurę instalacyjną.
Rysunek 3.3. Znak zachęty boot:
Uwaga
Znak zachęty
boot:
umożliwia przekazywanie różnych opcji do jądra. Większość systemów można
uruchomić bez potrzeby podawania jakichkolwiek dodatkowych opcji. Jeśli nie możesz poprawnie uruchomić
komputera z napędu CD-ROM lub stacji dyskietek, prawdopodobnie będziesz musiał podać opcję do jądra.
Naciśnięcie klawisza
F1
spowoduje wyświetlenie stron pomocy. Jeśli informacje te nie wystarczą do
rozwiązania problemu, zajrzyj do podrozdziału „Pomoc” znajdującego się na końcu tego rozdziału.
Rysunek 3.4. Okno powitalne
Informacje na temat aktualnej wersji systemu
Na początku program instalacyjny wyświetla informacje o aktualnej wersji systemu. Informacje te zawierają
identyfikator dyskietki, która służy do uruchamiania systemu, adresy stron dystrybucji Debian oraz wyjaśnienie
celów misji projektu Debian (patrz rysunek 3.4). Użyj strzałek kursora do przejścia na następną stronę. Po
przeczytaniu wszystkich informacji zaznacz
Continue
(kontynuuj) i naciśnij
Enter
.
Główne menu
Teraz program instalacyjny wyświetla główne menu instalacji, pokazane na rysunku 3.5. Służy ono jako
przewodnik po instalacji systemu i przyjmuje zmienioną formę po zakończeniu każdego kroku instalacji
pomyślnie.
Rysunek 3.5. Główne menu programu instalacyjnego
Jedynym elementem sterującym tego menu jest lista. Pierwszych kilka jej składników to zalecane do wykonania
etapy procedury instalacyjnej. Następny krok jest zawsze oznaczony słowem
Next
.
Pozostałe składniki listy są następującymi po sobie etapami. Jeśli instalacja nie zakończy się poprawnie, możesz
ręcznie wybrać odpowiednią sekwencję instalacyjną i przywrócić porządek.
Często zdarza się tak, że wybór etapu oznaczonego jako
jest prawie zawsze poprawną operacją.
Next
Aby
kontynuować proces instalacyjny i skonfigurować klawiaturę, zaznacz
Next
i naciśnij
Enter
.
Wybór klawiatury
Program instalacyjny wyświetli ekran
Select a Keyboard
(wybierz klawiaturę), co przedstawia rysunek
3.6. Użyj strzałek w górę i w dół do wyboru odpowiedniej klawiatury. Jedyną klawiaturą spełniającą
oczekiwania polskich użytkowników jest
qwerty/pl
. Po dokonaniu wyboru naciśnij
Enter
.
Pojawi się główne menu instalacyjne, gdzie krok
Next
będzie oznaczony jako
Partition a Hard Disk
(partycjonowanie dysku twardego). Naciśnij
Enter
, aby kontynuować.
Rysunek 3.6. Ekran wyboru klawiatury
Wybór dysku twardego
Ekran
Select a Hard Drive
(wybierz dysk twardy), przedstawiony na rysunku 3.7, jest kolejnym etapem
instalacji. Zawiera on listę, która pozwala na wybór dysku twardego do podziału na partycje. Dyski są nazywane
według standardowej metody systemu Unix. Dyski typu IDE są nazywane
hdx
, gdzie
x
jest literą od
a
do
z
. Dysk
twardy
hda
jest pierwszym dyskiem IDE w systemie,
hdb
jest drugim i tak dalej. Dyski SCSI są nazywane
sdx
,
gdzie za
x
również podstawiamy litery od
a
do
z
, które odpowiadają kolejnym numerom identyfikacyjnym
dysków SCSI. Jak ostrzega komunikat na ekranie, program instalacyjny może zidentyfikować CD-ROM jako
napęd dysku twardego.
Rysunek 3.7. Ekran wyboru dysku twardego
Wybierz dysk twardy, który chcesz podzielić na partycje, i naciśnij
Enter
.
Podział dysku twardego na partycje
Program instalacyjny uruchamia
cfdisk
— aplikację systemu Linux, która służy do dzielenia dysków
twardych na partycje. Rysunek 3.8 przedstawia początkowy ekran programu
cfdisk
. Pokazuje on dostępne
partycje oraz wolne miejsce znajdujące się na dysku twardym. W naszym przykładzie
cfdisk
wskazuje tylko
wolne miejsce.
Rysunek 3.8. Początkowy ekran programu cfdisk
Aby utworzyć nową partycję z dostępnego wolnego miejsca, użyj strzałek kursora w górę i w dół do zaznaczenia
wolnego miejsca. Następnie za pomocą strzałek w lewo i w prawo wybierz menu
New
(nowa) znajdujące się na
dole ekranu. Naciśnij
Enter
, aby utworzyć nową partycję.
Jak pokazuje rysunek 3.9, program
cfdisk
zapyta, czy nowa partycja ma być partycją startową (główną) czy
też logiczną. Odpowiedz, że główną, i naciśnij
Enter
.
Uwaga
Dysk twardy może mieć maksymalnie cztery główne partycje; partycja logiczna pozwala ominąć to
ograniczenie.
Rysunek 3.9. Określanie rodzaju partycji
Następnie podaj rozmiar nowej partycji (w megabajtach). Dla zasady powinieneś zostawić około 50 – 100 MB
wolnego miejsca na dodatkową partycję zwaną
swap
. Wprowadź żądany rozmiar partycji i naciśnij
Enter
.
Jeśli partycja jest mniejsza niż ilość dostępnego wolnego miejsca, zostaniesz zapytany, czy ma zostać utworzona
na początku czy na końcu wolnego miejsca — niewielka to różnica. Wybierz
Begininig
(początek) lub
End
(koniec) i naciśnij
Enter
.
Pojawi się zaktualizowany ekran, pokazany na rysunku 3.10. Przedstawia on nowo utworzoną partycję systemu
Linux. Kolejnym krokiem jest określenie tej partycji jako startowej. W tym celu wybierz menu
Bootable
(startowa) za pomocą strzałek w lewo i prawo, a następnie naciśnij
Enter
. Ekran powinien odświeżyć swoją
zawartość i wskazać nowy status partycji. Zauważ, że nazwa partycji składa się z nazwy dysku twardego (
hda
)
oraz liczby
1
. Zanotuj tę nazwę.
Rysunek 3.10. Zaktualizowany widok ekranu programu cfdisk
Teraz musisz utworzyć partycję
swap
z pozostałej ilości wolnego miejsca. Zaznacz wolne miejsce, używając
klawiszy strzałek w górę lub w dół, oraz zaznacz menu
(nowa) za pomocą strzałek w lewo lub w prawo.
Naciśnij
.
New
Enter
Partycja
swap
musi zawierać około 50 – 100 MB. Zanotuj nazwę partycji, która prawdopodobnie przyjmie
postać:
hda2
.
Teraz podaj typ (tzn.
swap
) nowej partycji. Użyj klawiszy strzałek w lewo lub prawo do zaznaczenia menu
Type
(typ) i naciśnij
Enter
. Wprowadź liczbę (
82
) odpowiadającą temu typowi partycji i znów naciśnij
Enter
.
Na końcu należy zapisać wprowadzone zmiany do tablicy partycji dysku twardego. Przy użyciu strzałek wybierz
menu
Write
(zapisz) i naciśnij
Enter
. Program wyświetli krótki komunikat mówiący, że nieprawidłowe zmiany
mogą uszkodzić dane zawarte na dysku. Jeśli wprowadzone zmiany są zgodne
z powyższymi wskazówkami, wpisz
Yes
i naciśnij
Enter
.
Uwaga
Jeśli dane o partycji się nie zgadzają, możesz z łatwością je zmienić. Zaznacz błędną partycję i użyj elementu
Delete (usuń), aby skasować partycję. Powtórz uważnie jeszcze raz wszystkie kroki, które wykonywałeś
podczas tworzenia nowej partycji, i spróbuj następnie zapisać zmiany.
Program potwierdzi zapisanie informacji do tablicy partycji dysku. Zakończ działanie programu — wybierz
menu
Exit
(wyjście) za pomocą klawiszy kursora.
Pojawi się główne menu instalacyjne systemu, gdzie kolejny krok nazwany jest
Initialize and Active
a Swap Partition
(inicjalizacja i uaktywnienie partycji swap). Naciśnij
Enter
, aby wykonać tę operację.
Inicjalizacja i uaktywnienie partycji swap
Program instalacyjny poprosi o zidentyfikowanie partycji
swap
. Za pomocą notatek wybierz odpowiednią
partycję — prawdopodobnie tę mniejszą z dwóch ostatnio utworzonych — i naciśnij
Enter
.
Następnie zostaniesz spytany, czy program ma zbadać występowanie na partycji złych bloków. Dla tak małej
partycji jak
swap
zajmuje to tylko chwilkę, a pomaga uniknąć wielu problemów. Wybierz
Yes
(tak)
i naciśnij
Enter
.
Teraz pojawi się informacja o tym, że wszystkie dane z partycji
swap
zostaną usunięte. Upewnij się więc, że
wskazałeś odpowiednią, wybierz
Yes
i naciśnij
Enter
, aby rozpocząć proces. Na ekranie obserwuj postęp
zadania.
Kiedy operacja zakończy się pomyślnie, pojawi się okno głównego menu, gdzie jako kolejny krok wyznaczona
zostanie operacja
Initialization a Linux partition
(inicjalizacji partycji Linux). Naciśnij
Enter
,
aby rozpocząć operację
Inicjalizacja partycji Linux
Program instalacyjny poprosi o zidentyfikowanie partycji Linux. Za pomocą notatek wybierz odpowiednią
partycję — prawdopodobnie będzie to większa partycja z dwóch ostatnio utworzonych — i naciśnij
Enter
.
Następnie również zostaniesz spytany o wyszukiwanie złych bloków dysku. W przypadku większych partycji
operacja ta jest czasochłonna, ale pomaga uniknąć wielu poważnych problemów — zawłaszcza jeśli dysk twardy
nie był jeszcze używany. Wybierz
Yes
i naciśnij
Enter
.
Zostaniesz poinformowany, że wszystkie dane na tej partycji zostaną zniszczone. Upewnij się więc, że jest to
właściwa partycja, wybierz
Yes
i naciśnij
Enter
, aby rozpocząć proces inicjalizacji partycji Linux. Ekran procesu
będzie pokazywał aktualny stan postępu operacji.
Po zakończeniu program instalacyjny spyta, czy partycja Linux ma zostać zamontowana jako system plików
root
, czyli taki, na którym będą instalowane podstawowe komponenty systemu. Wybierz
Yes
i naciśnij
Enter
.
Po zamontowaniu partycji pojawi się menu główne programu instalacyjnego; kolejnym krokiem będzie operacja
zwana
Install Operating System Kernel and Modules
(zainstaluj jądro systemu operacyjnego i
moduły). Naciśnij
Enter
, aby rozpocząć proces.
Instalowanie jądra systemu i modułów
Zostaniesz poproszony o podanie medium, które zawiera dystrybucję systemu Linux. Wybierz z listy
odpowiednie i naciśnij
Enter
.
Rysunek 3.11. Określanie typu urządzenia CD-ROM
Po zakończeniu tego etapu program instalacyjny poprosi o włożenie płyty CD-ROM do napędu. Wykonaj
polecenie i naciśnij
Enter
.
Program instalacyjny poprosi także o podanie katalogu zawierającego pliki dystrybucji systemu. Pojawi się okno
tekstowe z domyślnym katalogiem
/debian
; ścieżka ta jest odpowiednia i wystarczająca dla dysku CD-ROM
dostarczonego wraz z tą książką. Podświetl
OK
za pomocą strzałek kursora i naciśnij
Enter
.
Następnie zostaniesz zapytany, w jaki sposób chcesz podać lokalizację pliku
resc1440.bin
zawierającego jądro
systemu. Wybierz element z listy i naciśnij
Enter
. Program instalacyjny zbuduje listę zawierającą nazwę
każdego katalogu, w którym znajduje się plik
resc1440.bin
. Płyta CD-ROM dołączona do tej książki zawiera
tylko jeden taki katalog, więc po prostu naciśnij
Enter
, aby wybrać podaną lokalizację.
Po skopiowaniu jądra systemu Linux oraz wszystkich potrzebnych modułów pojawi się ponownie okno
głównego menu instalacyjnego z opisem następnej operacji:
Configure Device Drivers Modules
(konfiguracja modułów sterowników urządzeń). Naciśnij
Enter
, aby kontynuować.
Konfiguracja modułów sterowników urządzeń
Kolejnym krokiem będzie wybór kategorii modułów z dostępnej listy przedstawionej na rysunku 3.12. Każda
kategoria zawiera listę modułów, czyli małych programów, które poszerzają właściwości jądra o obsługę
specjalnych urządzeń i funkcji. W tym kroku określasz, które moduły będą automatycznie wczytywane podczas
każdego startu systemu Linux.
Rysunek 3.12. Wybieranie kategorii modułów
Wybierz element listy zwany
fs
i naciśnij
Enter
. Pojawi się ekran pokazany na rysunku 3.13. Zgodnie z
komunikatem na ekranie, możesz określić moduł, który ma być wczytywany automatycznie, zaznaczając go na
liście i naciskając
Enter
. Na przykład wybierz element oznaczony jako
binfmt_aout
i naciśnij
Enter
.
Rysunek 3.13. Wybieranie modułów kategorii z fs
Pojawi się ekran potwierdzenia żądania wykonania operacji, przedstawiony na rysunku 3.14. Aby zainstalować
moduł, zaznacz
Install
(instaluj) i naciśnij
Enter
. Teraz ukaże się ekran trybu tekstowego ukazujący postęp
wykonania zadania. Po pomyślnym zainstalowaniu modułu naciśnij
Enter
, aby powrócić do ekranu modułów
fs
.
Rysunek 3.14. Instalowanie modułu
Tabela 3.3 przedstawia spis modułów, które powinieneś zainstalować. Jeśli posiadasz kartę sieciową, powinieneś
także zainstalować odpowiedni dla niej moduł sterownika; jeśli natomiast masz CD-ROM o nietypowym
interfejsie (innym niż ATAPI lub SCSI), także musisz zainstalować odpowiedni moduł. Jeżeli ich nie
zainstalujesz, możesz tego dokonać później (po instalacji). Jednakże do czasu instalacji odpowiedniego modułu
sterownika dane urządzenie nie będzie działało w systemie Linux.
Podczas instalacji niektórych modułów, takich jak moduł
lp
, program instalacyjny będzie wymagał dodatkowych
informacji i użyje do tego ekranu przedstawionego na rysunku 3.15. Większość modułów zostanie wczytana
poprawnie oraz będzie działać prawidłowo bez określania żadnych dodatkowych opcji wiersza poleceń. Dlatego
możesz pominąć większość opcji modułów. Jeżeli jednak urządzenie, dla którego moduł został zainstalowany,
nie będzie działało poprawnie, należy przypuszczać, że wymaga dodatkowych opcji. Skorzystaj z informacji
zawartych w podrozdziale „Pomoc”, aby uzyskać więcej wiadomości na temat modułów.
Tabela 3.3. Lista modułów niezbędnych do zainstalowania
Kategoria Moduł
fs binfmt_auot
fs ambfs
fs vfat
misc lp
misc serial
net bsd_comp
net dummy
net ppp
Rysunek 3.15. Wprowadzanie opcji modułów wiersza poleceń
Kiedy już zainstalujesz wszystkie potrzebne moduły, opuść ekran
Select Category
(wybierz kategorię) za
pomocą menu
Exit
(wyjście) i naciśnięcia klawisza
Enter
. Kolejną operacją będzie konfiguracja sieci —
Configure the Network
. Naciśnij
Enter
w celu kontynuowania instalacji.
Konfiguracja sieci
Pierwszy pojawiający się ekran pozwala na określenie nazwy systemu (
hostname
), co przedstawia rysunek 3.16.
Jeśli posiadasz komputer podłączony do sieci, administrator prawdopodobnie nadał już tę nazwę; w takim
przypadku wystarczy, że ją wpiszesz. W przeciwnym razie sam możesz wybrać dowolną nazwę. Po prostu wpisz
nazwę systemu w oknie tekstowym, następnie użyj strzałek kursora do zaznaczenia przycisku
OK
i naciśnij
Enter
.
Program instalacyjny zapyta, czy posiadasz komputer podłączony do sieci. Jeśli jest to prawda, zaznacz
Yes
i naciśnij
Enter
. W przeciwnym razie, nawet jeśli tymczasowo jesteś połączony z siecią, np. poprzez usługę
dialup, zaznacz
No
i naciśnij
Enter
.
Rysunek 3.16. Wprowadzanie nazwy systemu (hostname)
Jeżeli podałeś, że posiadasz komputer podłączony do sieci, program instalacyjny zaprezentuje serię ekranów,
które wymagają podania odpowiednich informacji opisujących system oraz konfigurację z siecią. Wszystkich
wymaganych informacji powinien dostarczyć administrator sieci, a są to:
• Nazwa domeny — odnosi się do systemu (na przykład debian.org).
• Adres IP — adres sieciowy komputera (na przykład 192.168.1.2).
• Maska sieciowa — maska bitowa, która wskazuje w adresie sieciowym komputera część
odpowiadającą sieci i część odpowiadającą komputerowi (na przykład 255.255.255.0).
• Adres rozgłoszeniowy (Broadcast), który określa adres sieciowy, na który wysyłane są wiadomości
(komunikaty serwera).
• Brama — adres sieciowy komputera (routera), który wyznacza trasy dla pakietów wysyłanych poza sieć
lokalną (na przykład 192.168.1.1).
• Serwery nazw — adresy sieciowe komputerów, które dostarczają usług poszukiwania nazw
komputerów (na przykład 192.168.1.1).
• Rodzaj podstawowego interfejsu sieciowego (na przykład Ethernet lub Token ring).
Pierwszy ekran pozwala na określenie nazwy domeny związanej z siecią. Nazwy domen składają się często (ale
nie zawsze) z dwóch słów oddzielonych kropką, na przykład
helion.pl
. Wprowadź nazwę domeny
związanej z siecią, kliknij przycisk
OK
i naciśnij
Enter
. Program instalacyjny poprosi o zweryfikowanie nazwy
składającej się z nazwy komputera i nazwy domeny. Jeśli jest ona poprawna, kliknij
Yes
i naciśnij
Enter
. W
przeciwnym razie wybierz
No
i naciśnij
Enter
; takie postępowanie pozwoli poprawić błędne informacje.
Drugi ekran służy do wprowadzenia adresu IP komputera, który zazwyczaj składa się z czterech liczb z zakresu
0 – 255 oddzielonych kropkami; na przykład 192.168.1.1. Wpisz adres IP swojego komputera i naciśnij
Enter
.
W kolejnym etapie musisz podać maskę sieciową, której forma zapisu przypomina formę adresu IP. Wprowadź
maskę sieciową, naciśnij przycisk
OK
i następnie
Enter
. Jeśli nie znasz maski, spróbuj wpisać wartość
255.255.255.0, która jest maską często używaną.
Na kolejnym, czwartym ekranie zostaniesz poproszony o wprowadzenie adresu ogłaszania (
broadcast
).
Domyślny wpis, który określa adres rozgłoszeniowy jako największy możliwy adres IP w danej sieci, jest
dobrym wyborem. Zaznacz adres i naciśnij
Enter
.
Następnie, program instalacyjny zapyta, czy używamy komputera-bramy, aby łączyć się z sieciami innymi niż
lokalna. Jeśli istnieje brama, zaznacz
Yes
i naciśnij
Enter
, w przeciwnym przypadku zaznacz
No
i naciśnij
Enter
.
Jeśli w sieci istnieje brama, teraz masz możliwość podania jej adresu IP. Wpisz jej adres IP, zaznacz
OK
i naciśnij
Enter
.
Następnie możesz podać adresy serwerów nazw.
Jeżeli podałeś informację, że system będzie korzystał z serwerów nazw, podaj teraz adresy IP wszystkich
serwerów. Możesz podać aż pięć adresów — w przypadku awarii jednego z nich system automatycznie
skorzysta z następnego. Wpisz adresy IP oddzielając je od siebie spacjami, zaznacz
OK
i naciśnij
Enter
, aby
kontynuować.
Po skonfigurowaniu interfejsu sieciowego pojawi się ponownie główne menu instalacji, której następnym
krokiem będzie
Install the Base System
(instalacja podstawowych komponentów systemu). Naciśnij
Enter
, aby kontynuować.
Instalacja podstawowych komponentów systemu
Ukazująca się teraz sekwencja ekranów przypomina ekrany, które pojawiały się podczas instalacji jądra systemu
operacyjnego Linux i modułów sterowników urządzeń. Program instalacyjny prosi najpierw o wskazanie
medium, które zawiera dystrybucję systemu; wybierz CD-ROM i naciśnij
Enter
.
Następnie, program wymaga wskazania urządzenia, które zawiera nośnik z dystrybucją. Zaznacz odpowiednie
urządzenie i naciśnij
Enter
. Jeśli nie potrafisz wskazać odpowiedniego urządzenia, nie poddawaj się. Program
instalacyjny pozwala na wypróbowanie wszystkich możliwych urządzeń, dopóki nie określisz prawidłowego.
Po wskazaniu urządzenia zostaniesz poproszony o włożenie płyty z dystrybucją do napędu CD-ROM. Zrób to
i naciśnij
Enter
.
Teraz wskaż katalog na dysku CD-ROM zawierający pliki dystrybucji Debian. Okno tekstowe wyświetla już
ścieżkę
/debian
, która jest prawidłowym wyborem dla płyty CD-ROM dołączonej do tej książki. Zaznacz
OK
i
naciśnij
Enter
, aby kontynuować.
W kolejnym kroku program instalacyjny prosi o wskazanie lokalizacji pliku
base2_2.tgz
, która stanowi pierwszy
komponent systemu operacyjnego. Wybierz element z określonej listy i naciśnij
Enter
.
Pogram zbuduje listę zawierającą każdy katalog, w którym znajduje się plik o nazwie
base2_2.tgz
. Płyta CD-
ROM dołączona do tej książki posiada tylko jeden taki katalog; więc możesz po prostu nacisnąć
Enter
i przejść
do ostatniego kroku.
W ostatnim etapie następuje skopiowanie plików na dysk twardy komputera. Po tej operacji ukazuje się główne
menu mówiące, że kolejnym krokiem będzie
Configure Base System
(konfiguracja podstawowych
komponentów systemu). Naciśnij
Enter
w celu uruchomienia danej procedury.
Konfiguracja podstawowych komponentów systemu Linux
Aby skonfigurować podstawowe komponenty systemu, musisz najpierw określić strefę czasową związaną
z położeniem na kuli ziemskiej. Możesz tego dokonać na dwa sposoby, np. za pomocą ekranu przedstawionego
na rysunku 3.17. Lista znajdująca się z lewej strony tego ekranu, zatytułowana
Timezones
(strefy czasowe),
pozwala na wybór strefy czasowej za pomocą zakodowanych lokalizacji. Natomiast lista z prawej strony ekranu,
zwana
Directories
(kierunki lub kraje), umożliwia określenie strefy czasowej za pomocą znanych lokalizacji
(nazw geograficznych). Użyj strzałek kursora w prawo lub w lewo, aby wybrać jedną z list, następnie za pomocą
strzałki w górę lub w dół wybierz odpowiedni element i naciśnij
Enter
. Jeśli podasz nazwę geograficzną,
program instalacyjny może wyświetlić drugi ekran umożliwiający dokładniejsze określenie położenia. Przy
użyciu strzałek w górę i w dół zaznacz odpowiednią lokalizację i naciśnij
Enter
.
Rysunek 3.17. Określanie strefy czasowej
Pokaże się ekran wyjaśniający, że zegar systemu Unix jest zazwyczaj ustawiony zgodnie z zegarem czasu
uniwersalnego (GMT), a nie zgodnie z zegarem lokalnym. Jednakże możesz wybrać dowolną metodę ustawienia
czasu. Większość użytkowników komputerów domowych woli ustawić zegar na czas lokalny, szczególnie jeśli
ich komputer zawiera kilka systemów operacyjnych. Naciśnij
Enter
, aby przejść do następnego ekranu, który
umożliwia ustawienie właściwego zegara czasu. Jeśli zamierzasz używać zegara GMT, zaznacz
Yes
i naciśnij
Enter
, w przeciwnym przypadku zaznacz
No
i naciśnij
Enter
.
Pojawi się główne menu, gdzie następną operacją do wykonania będzie
Make Linux Bootable Directly from
Hard Disk
(uruchamianie Linuksa bezpośrednio z dysku twardego).
Nie naciskaj klawisza
Enter
! Zamiast tego, użyj klawisza strzałki w górę lub w dół i zaznacz alternatywny
wybór:
Make a Boot Floppy
(utwórz dyskietkę startową). Uruchamiając Linuksa z dyskietki startowej, unikasz
kilku poważnych problemów. W celu uzyskania informacji na temat uruchamiania systemu Linux, zwłaszcza z
dysku twardego, zajrzyj do dodatku D „Zarządzanie procesem uruchamiania systemu”.
Tworzenie dyskietki startowej
Na tym etapie program instalacyjny żąda włożenia pustej dyskietki do stacji dyskietek. Wykonaj to polecenie
(dyskietka nie musi być formatowana) i naciśnij
Enter
. Program rozpocznie tworzenie dyskietki startowej.
Uwaga
Wszystkie dane znajdujące się na dyskietce zostaną skasowane!
Po utworzeniu dyskietki startowej ukaże się znów główne menu, gdzie kolejnym krokiem będzie ponowne
uruchomienie komputera. Naciśnij
Enter
. Program instalacyjny poprosi o potwierdzenie decyzji ponownego
uruchomienia komputera. Pozostaw nowo utworzoną dyskietkę startową w napędzie, zaznacz
Yes
i naciśnij
Enter
. System powinien się ponownie uruchomić. Jeśli jednak — po minucie lub dłuższym czasie — nie nastąpi
restart komputera, naciśnij przycisk
Reset
, który służy do tego celu.
Zaraz po wykonaniu testów badających stan komputera pojawi się znak zachęty
boot
. Naciśnij
Enter
, a system
Linux uruchomi się z dyskietki. System zostanie wczytany, czego dowodem są pojawiające się na ekranie
komunikaty i informacje.
Konfiguracja nowego systemu
Po ponownym uruchomieniu komputera pojawi się kilka ekranów, które służą do konfiguracji zainstalowanego
systemu. Najpierw zostaniesz poproszony o ustawienie nowego hasła administratora systemu Linux (użytkownik
root
).
Ustawianie hasła dla użytkownika root
Po ponownym uruchomieniu systemu powinieneś zobaczyć ekran przedstawiony na rysunku 3.18. Pozwala on
na ustawienie hasła dla użytkownika
root
— głównego użytkownika, który administruje systemem. Podążaj za
instrukcjami wyświetlanymi na ekranie i wprowadź hasło składające się z przynajmniej 5 znaków (maksymalnie
8). Jeśli wpiszesz hasło, które program instalacyjny uzna za mało bezpieczne, zostaniesz ostrzeżony stosownym
komunikatem i poproszony o wprowadzenie innego hasła. Jeśli jednak wolisz swoje mało bezpieczne hasło, po
prostu wpisz je jeszcze raz; system nie będzie protestował dwa razy. Ze względów bezpieczeństwa wpisywane
hasła nie są wyświetlane na ekranie. Zamiast tego zostaniesz poproszony o potwierdzenie hasła, co oznacza, że
musisz wpisać je drugi raz.
Rysunek 3.18. Ustalanie hasła dla użytkownika root
Zakładanie konta dla zwykłego użytkownika
W kolejnym kroku system zapyta, czy chcesz założyć konto użytkownika. Odpowiedz, wpisując
Y
i naciśnij
Enter
. Następnie wprowadź nazwę użytkownika składającą się z 8 znaków (lub mniej) oraz zawierającą tylko
litery i cyfry. Wielu użytkowników systemu Linux tworzy nazwę użytkownika składającą się z pierwszej litery
ich imienia i całego nazwiska. Na przykład autor książki, którą czytasz, zazwyczaj używa nazwy
bmccarty
. Po
wpisaniu nazwy użytkownika naciśnij
Enter
. Jeśli pomyliłeś się podczas wprowadzaniu nazwy, użyj klawisza
Backspace
, aby usunąć błędny wpis.
Teraz system poprosi o wprowadzenie hasła dla zwykłego użytkownika. Procedura ta jest identyczna jak w
przypadku ustalania hasła dla administratora. Następnie zostaniesz poproszony o wprowadzenie kilku
dodatkowych informacji:
• Full Name (pełna nazwa) — imię i nazwisko;
• Room Number (numer pokoju) — numer pokoju, w którym pracujesz;
• Work Phone (telefon do pracy);
• Home Phone (telefon domowy);
• Other (Inne) — inne informacje o użytkowniku.
Powinieneś wprowadzić
Full Name
. Resztę informacji możesz podać lub nie, nie mają one większego
znaczenia. Następnie zostaniesz poproszony o potwierdzenie decyzji. Wpisz
Y
i naciśnij
Enter
, aby zatwierdzić
dane, lub wpisz
N
i naciśnij
Enter
, aby zacząć od początku.
Konfiguracja haseł shadow
W tym kroku system zapyta, czy chcesz skonfigurować hasła
shadow
. Jeśli nie masz ważnych powodów, aby
postępować inaczej, skonfiguruj tę usługę, wpisując
Y
i naciskając
Enter
. Tym sposobem wszystkie
zaszyfrowane hasła są przechowywane w pliku, który oglądać może tylko użytkownik
root
. Hasła
shadow
zabezpieczają przed potencjalnym włamaniem do komputera.
Bez obsługi urządzeń PCMCIA
Jeśli nie potrzebujesz obsługi urządzeń PCMCIA, to w następnym kroku system pozwoli na usunięcie
odpowiednich modułów. Wpisz tylko
Y
i naciśnij
Enter
; w przeciwnym przypadku wpisz
N
i naciśnij
Enter
.
Usługa PPP
W tym momencie, zależnie od wcześniej wybranych opcji, system może poprosić o zezwolenie na połączenie się
za pomocą usługi PPP z Internetem w celu pobrania wymaganych pakietów. Jeśli taka wiadomość pojawi się na
ekranie komputera, wpisz
N
i naciśnij
Enter
. Pobieranie pakietów poprzez połączenie
dialup
byłoby bardzo
czasochłonną operacją; znacznie szybciej i prościej będzie użyć pakietów znajdujących się na dysku CD-ROM,
który został dołączony do tej książki.
Wybieranie pakietów
Program instalacyjny zapyta, czy chcesz użyć szybkiej metody wybierania pakietów. Odpowiedz, że tak,
wpisując
Y
i naciskając
Enter
.
Pojawi się ekran przedstawiony na rysunku 3.19. Pozwala on wybrać zestawy pakietów do instalacji. System
wiąże z każdym zestawem określony zbiór aplikacji; wybierając któryś z nich, wydajesz systemowi polecenie
zainstalowania związanych z nimi aplikacji.
Rysunek 3.19. Wybieranie zestawów do instalacji
Najodpowiedniejszym profilem dla większości użytkowników domowych jest profil
Basic
. Aby go wybrać, użyj
klawiszy strzałek kursora do zaznaczenia. Następnie zaznacz
OK
i naciśnij
Enter
.
System poinformuje, że uruchomi teraz program
dselect
, który zainstaluje wybrane aplikacje. Naciśnij
Enter
,
aby kontynuować.
Instalowanie aplikacji
Rysunek 3.20 przedstawia początkowy ekran programu
dselect
, czyli główne menu. Do zaznaczenia danego
elementu menu użyj klawiszy strzałek w górę i w dół. Następnie naciśnij
Enter
. Instrukcje, które wcześniej
pojawiły się na ekranie informowały, abyś pominął operacje ukryte pod
i
Access Update
.
Zazwyczaj będziesz mógł używać wszystkich operacji programu
dselect
. Jednakże teraz ominiesz operacje
kryjące się pod elementem 2. (
Select
— wybierz), 4. (
Config
— konfiguracja) oraz 5. (
Remove
— usuwanie).
Rysunek 3.20. Główne menu programu dselect
Dostęp do pakietów
Zaznacz element
Access
menu i naciśnij
Enter
. Program przedstawi listę metod dostępu do pakietów Debiana.
Użyj klawiszy strzałek w górę i w dół do zaznaczenia metody
apt
i naciśnij
Enter
.
Następnie zostaniesz zapytany, czy chcesz zmienić listę źródłową. Odpowiedz
Yes
, co spowoduje uruchomienie
odpowiedniego procesu. Oto przykładowy dialog, który pokazuje poprawne odpowiedzi, jakich należy udzielić,
aby zainstalować aplikacje z pakietów znajdujących się na dysku CD-ROM.
I see you already have a source list.
(Widzę, że już posiadasz listę źródłową)
source list displayed here : contents vary
(lista źródłowa wyświetlana jest w tym
miejscu: jej zawartość może być różna)
Do you wish to change it [y/N]
y
(Czy chcesz zmienić listę źródłową?)
Set up a list of distributio source locatoin
(Konfiguracja położenia listy źródłowej
dystrybucji)
Please give the base URL of the debian distribution
(Podaj podstawowy adres URL
dystrybucji Debiana)
The access schemes I know about are: http ftp file
(Znane schematy dostępu to http ftp
plik)
For example:
(Na przykład:)
file:/mnt/debian
http://ftp.pl.debian.org/debian
URL [ftp://ftp.debian.org/debian]:
file:/cdrom
Please give the distribution tag to get or a path to the package file
ending in a /. The distribution tags are typically something like: stable
unstable frozen non-US
Podaj nazwę (znacznik) dystrybucji lub ścieżkę do pliku pakietu zakończoną znakiem
/
. Znaczniki dystrybucji
to zazwyczaj: stabilna, niestabilna, zamrożona (testowa), non-US (spoza US)
Distribution [stable]
stable
Please give the components to get
The Components are typically something like: main contrib non-free
Podaj komponenty dystrybucji
Są to zazwyczaj: main, contrib, non-free
Components [main contrib. non-free]
main contrib
Would you like to add another source? [y/N]
N
(Czy chciałbyś dodać kolejne źródło
pakietów?)
Montowanie napędu CD-ROM
Wciskając
Alt+F2
, przejdź na drugą konsolę wirtualną. Zaloguj się jako użytkownik
root
i wydaj polecenie:
mkdir /cdrom
mount –t iso9660 –o ro /dev/hdx /cdrom
gdzie
hdx
jest w systemie Linux plikiem urządzenia CDROM, które zawiera płytę z dystrybucją Debian. Na
przykład
hdb
jest drugim dyskiem (napędem) podłączonym za pomocą pierwszego kontrolera (patrz rysunek
3.1).
Jeśli polecenie zostanie wykonane pomyślnie, powróć do pierwszej konsoli, wciskając
Alt+F1
. W przeciwnym
przypadku sprawdź, czy wydałeś prawidłowe polecenie.
Aktualizacja listy dostępnych pakietów
Zaznacz element
Update
w głównym menu programu
dselect
i naciśnij
Enter
. Program zaktualizuje listę
dostępnych pakietów. Kiedy zostaniesz poproszony, naciśnij
Enter
, aby powrócić do głównego ekranu.
Instalacja wybranych pakietów
Zaznacz element
Install
menu i naciśnij
Enter
, aby rozpocząć instalację wybranych pakietów.
Podczas instalacji pakiet pocztowy
exim
będzie wymagał wprowadzenia dodatkowych opcji konfiguracyjnych.
Będziesz odpowiadał na zadawane pytania — poprawne odpowiedzi przedstawia tabela 3.4.
Tabela 3.4. Informacje konfiguracyjne programu exim
Pytanie Odpowiedź
Wybierz numer od 1 do 5
2
Visible mail name of your system
Enter
Other system names appearing on incoming names
Enter
Domains for which mail is relayed
Enter
Local machines for which mail is relayed
Enter
RBL (sites from which mail will not be accepted)
Enter
Smart host handling outgoing mail
Jeśli jesteś podłączony do Internetu, ISP
(usługodawca internetowy) powinieneś
podać adres serera poczty
User account for system administration mail
Enter
Uwaga
Po zainstalowaniu wszystkich pakietów możesz jeszcze raz skonfigurować program pocztowy exim, wydając
polecenie
eximconfig
.
Kiedy wszystkie wybrane pakiety zostaną pomyślnie zainstalowane, program
dselect
wyświetli komunikat
Installation OK
(udana instalacja). Naciśnij
Enter
, aby powrócić do głównego menu.
Wyjście z programu dselect
Podświetl element
Quit
i naciśnij
Enter
, aby zakończyć pracę z programem
dselect
. Pojawi się ekran
przedstawiony na rysunku 3.21.
Rysunek 3.21. Znak zachęty logowania systemu Linux
Aby zalogować się do systemu Linux pierwszy raz, wpisz
root
lub nazwę użytkownika, któremu stworzyłeś
wcześniej konto, po czym naciśnij
Enter
. System poprosi o wprowadzenie hasła, wpisz je i naciśnij
Enter
.
Powinieneś ujrzeć znak zachęty powłoki (albo
#
albo
$
), tak jak to ilustruje rysunek 3.22. Gratulacje! Właśnie
zainstalowałeś i skonfigurowałeś Linuksa.
Jeśli nie widzisz znaku zachęty powłoki lub gdy w trakcie instalacji coś się nie powiodło, nie załamuj się.
Następny podrozdział wyjaśnia, gdzie szukać pomocy na temat systemu Linux.
Rysunek 3.22. Znak zachęty powłoki systemu Linux
Pomoc
Jeśli nie udało ci się uruchomić Linuksa lub nie skończyłeś instalacji ze względu na napotkane problemy, nie
rozpaczaj. Pomoc dla systemu Linux jest w zasięgu ręki i prawdopodobnie znajdziesz ją w jednym z tych miejsc:
• Strona WWW systemu Debian GNU/Linux.
• Linux FAQ (Frequently Asked Questions — często zadawane pytania).
• Linux HOWTO.
• Lista dyskusyjna Debiana.
• Grupy dyskusyjne USENET.
• IRC (Internet Relay Chat).
Kolejne akapity opisują pokrótce wspomniane źródła pomocy i wyjaśniają, jak uzyskać do nich dostęp oraz jak
ich używać.
Strona główna Debiana (WWW)
Na stronie WWW Debiana
http://www.debian.org/
znajduje się główne źródło informacji o systemie Debian
GNU/Linux. Znajdziesz tam dokumentację, łącza do innych stron i mnóstwo innych cennych źródeł informacji.
FAQ
„Często zadawane pytania” zawierają odpowiedzi na pytania dotyczące problemów z Debianem. FAQ
dystrybucji Debian znajduje się pod adresem
http://www.debian.org/doc/FAQ
, jak również na płycie CD-ROM
dołączonej do tej książki, w katalogu
/doc/FAQ
. Natomiast FAQ dotyczące Linuksa jako systemu operacyjnego
znajdziesz na stronie
http://metalab.unc.edu/LDP/FAQ/Linux-FAQ-1.html
.
HOWTO (Jak to zrobić?)
Zbiory te zawierają informacje na specyficzne tematy. Zazwyczaj wszystkie dokumenty znajdują się w katalogu
/usr/doc/HOWTO
zainstalowanego systemu. Możesz je również znaleźć w sieci pod adresem
http://metalab.unc.edu/linux/intro.html
. Na tym etapie znajomości systemu Linux najbardziej przydatnym
dokumentem będzie najprawdopodobniej
Installation-HOWTO
. Przedstawiają one rozwiązania dużej ilości
problemów powstających podczas pierwszej instalacji i konfiguracji systemu.
Dokumenty te są zazwyczaj dostępne w formacie tekstowym. Możesz więc użyć Notatnika z systemu MS
Windows do przeglądania ich zawartości.
Listy dystrybucyjne Debiana
Istnieje kilka grup list dystrybucyjnych na temat systemu Debian GNU/Linux. Ich wykaz możesz znaleźć na
stronie
http://www.debian.org/MailingLists/subscribe/
. Wśród nich znajdują się także:
• debian-user — główna lista dla wszystkich użytkowników systemu.
• debian-laptop — lista poruszająca problemy związane z instalacją, konfiguracją i aktualizacją systemu
Debian na komputerach przenośnych typu laptop.
• debian-boot — porusza sprawy dotyczące tylko uruchamiania systemu Debian GNU/Linux.
• debian-announce — ważne ogłoszenia dotyczące społeczności (czyli użytkowników) Debiana.
• debian-security-announce — zawiera rozwiązania problemów bezpieczeństwa systemu wraz z
poprawkami.
• debian-commercial — tutaj znajdziesz informacje na temat komercyjnych produktów Debiana.
• debian-news — generalne wiadomości o Projekcie Debian.
• debian-changes — tutaj publikowane są zmiany w poszczególnych wersjach i dystrybucjach Debian
GNU/Linux.
Grupy dyskusyjne USENET
Listę grup dyskusyjnych, które dotyczą systemu Linux, znajdziesz na stronie
http://metalab.unc.edu/linux/intro.html
. Jeśli usługodawca internetowy umożliwia dostęp do takich grup
dyskusyjnych — a zazwyczaj tak jest, możesz czytać i wysyłać pocztę do innych użytkowników systemu Linux
z całego świata. Jeśli nie możesz uzyskać dostępu do grup dyskusyjnych, skontaktuj się ze swoim ISP.
Nie wysyłaj poczty „na ślepo”, ponieważ możesz otrzymać niemiłe odpowiedzi lub w ogóle zostać wykluczony
z danej grupy dyskusyjnej. Zamiast tego najpierw poszukaj odpowiedzi na nurtujące pytania w FAQ i HOWTO.
Generalnie społeczność linuksowa jest bardzo miła i uczynna, nawet dla tych, którzy zadają głupie pytania, ale
czasem tak jest, że lepiej trochę się pomęczyć i samemu rozwiązać problem, niż od razu szukać pomocy u
innych osób.
Internet Relay Chat (IRC)
IRC pozwala wymieniać wiadomości z innymi osobami w czasie rzeczywistym. Serwer
irc.debian.org
posiada specjalny kanał całkowicie poświęcony systemowi Debian GNU/Linux. Do połączenia się z serwerem
musisz mieć zainstalowanego klienta IRC, takiego jak np. BitchX czy ircII, tkirc lub Zircon. Jeśli masz kłopoty
z zainstalowaniem lub skonfigurowaniem systemu Linux, możesz użyć klienta dla systemu Windows do
połączenia się z serwerem
irc.debian.org
. Znajdujący się tam użytkownicy na pewno pomogą rozwiązać
problemy, z którymi się borykasz.
Aby połączyć się z serwerem IRC, wpisz:
/server irc.debian.org
Aby dołączyć do kanału
#debian
, wpisz:
/join #debian
Rozdział 4.
Poznawanie podstawowych
poleceń Linuksa
Rozdział wyjaśnia, jak rozpocząć pracę z systemem Linux. Przedstawia, w jaki sposób uruchamiać go, logować
się, wydawać polecenia, kończyć pracę oraz zamykać system. Ukazuje sposób używania polecenia
man
, które
zawiera pomoc na temat stosowania innych poleceń. W rozdziale opisana jest także organizacja danych w
linuksowych systemach plików, czyli katalogów i plików oraz w jaki sposób współpracują z nim np. napędy
dyskietek. Na koniec opisano sporządzanie raportów o stanie systemu, prosty edytor tekstu zwany
ae
oraz
polonizację konsoli znakowej.
Cykl pracy systemu
W podrozdziale przedstawiamy metodę efektywnego korzystania z systemu Linux. Jeśli jesteś użytkownikiem
Microsoft Windows, to jesteś już zaznajomiony z pewnym cyklem pracy:
• Uruchomienie systemu.
• Identyfikacja użytkownika.
• Użytkowanie systemu.
• Zamknięcie systemu.
Z podobnym modelem mamy do czynienia także w przypadku Linuksa, chociaż sposób wykonywania zadań jest
zdecydowanie inny.
Uruchamianie systemu
Większość użytkowników systemu Linux uruchamia go z dysku twardego. Oczywiście, jeśli posiadasz dyskietkę
startową przygotowaną jeszcze podczas instalacji systemu, możesz jej użyć do uruchomienia Linuksa. Wpierw
jednak musisz przygotować system do uruchomienia. Jeśli jakiś system już pracuje, musisz go najpierw
zamknąć. Na przykład, jeśli pracujesz w systemie Microsoft Windows, kliknij
Start
; następnie wybierz menu
Zamknij
, a w nowo otwartym oknie dialogowym zaznacz opcję
Zamknij
. Po kilku sekundach Windows
wyświetli napis na ekranie monitora mówiący, że możesz teraz bezpiecznie wyłączyć komputer. Wyłącz
zasilanie lub, jeśli twój komputer wyłącza się automatycznie, poczekaj aż to zrobi.
Kolejnym krokiem jest ponowne uruchomienie systemu z wyznaczonego napędu. Aby wystartować system
z dysku twardego, usuń nośniki ze wszystkich stacji dysków wymiennych. Jeśli chcesz jednak uruchomić system
z dyskietki, pozostaw ją w napędzie.
Teraz jesteś już gotów do uruchomienia komputera. Włącz zasilanie i obserwuj wyniki testu pamięci oraz innych
urządzeń. Wkrótce powinieneś zobaczyć na ekranie monitora znak zachęty
boot:
. Jeśli chcesz, możesz
wyświetlić listę dostępnych konfiguracji uruchamiania systemu wciskając klawisz
Tab
. Aby uruchomić system,
wpisz nazwę żądanej konfiguracji i naciśnij
Enter
lub po prostu naciśnij
Enter
, aby uruchomić komputer z
domyślną konfiguracją startową.
Po wczytaniu konfiguracji, Linux rozpoczyna rozpoznawanie urządzeń komputera, wyświetlając rezultaty na
ekranie monitora. Informacje o stanie komputera i systemu są bardzo przydatne zwłaszcza wtedy, gdy system nie
uruchamia się poprawnie. Komunikaty na ekranie są niezwykle przydatne, ponieważ wskazują one, w którym
momencie wystąpił błąd.
Kiedy Linux skończy start systemu, na ekranie monitora pojawi się znak zachęty procedury logowania:
Debian GNU/Linux 2.2 debian1 tty1
debian1 login:
Logowanie
Zanim będziesz mógł pracować na komputerze, musisz zostać zidentyfikowany przez system. Program
instalacyjny systemu Linux stworzył specjalnego użytkownika zwanego
root
; logując się jako ten użytkownik,
uzyskujesz dostęp do całego systemu. Szczególne przywileje, których brak innym użytkownikom systemu,
pozwalają użytkownikowi
root
na wszystkie działania administracyjne.
Aby się zalogować, wpisz nazwę użytkownika
root
i naciśnij
Enter
. System zapyta o hasło, które nadałeś mu
podczas instalacji Linuksa. Wpisz je i naciśnij
Enter
. Aby uniemożliwić komukolwiek poznanie tego hasła (oraz
haseł innych użytkowników), Linux nie wyświetla podczas wpisywania hasła na ekranie żadnych znaków. Jeśli
podejrzewasz, że podałeś nieprawidłowe hasło, po prostu naciśnij
Enter
i zacznij procedurę logowania od
początku lub naciśnij klawisz
Backspace
tyle razy, ile wpisałeś znaków i ponownie wpisz hasło. Jeśli podałeś
nieprawidłowe dane (użytkownika i (lub) jego hasło), system Linux wyświetli informację „nieprawidłowe
logowanie” i poprosi, abyś spróbował ponownie.
Uwaga:
Podobnie jak systemy uniksowe, tak i Linux rozpoznaje wielkość liter (
case sensitive
). Upewnij się, że wpisujesz
nazwę użytkownika
root
, zapisując ją tak, jak zapisujemy ją w książce — całe słowo pisane jest małymi
literami. Tak samo w przypadku hasła — musi być ono identycznie wpisane, jak zostało wprowadzone w oknie
dialogowym
Root Password
podczas instalacji systemu.
Niektóre programy linuksowe wymagają naciśnięcia kombinacji klawiszy
Ctrl+Backspace
, zamiast samego
klawisza
Backspace
. Jeśli wciśniesz klawisz
Backspace
i zobaczysz
^H
na ekranie konsoli, spróbuj podanej
kombinacji.
Kiedy już poprawnie się zalogujesz, zobaczysz znak zachęty systemu:
root@debian1: /root#
Informuje on, że powłoka Linuksa
bash
jest gotowa na przyjmowanie poleceń.
Wprowadzanie poleceń
Składnikiem systemu Linux, który jest odpowiedzialny za interpretację i wykonywanie poleceń jest tak zwana
powłoka (
shell
). Linux udostępnia jednak wiele różnych powłok, a do najbardziej popularnych należy powłoka
bash
. Ten rozdział przedstawia krótko podstawy używania tej powłoki; więcej na jej temat dowiesz się
z rozdziału 13. „Podbój powłoki BASH”.
Powłoka
bash
posiada interfejs wiersza poleceń (CLI — command line interface — znany użytkownikom
systemu Windows, którzy pracowali w oknie programu MS-DOS). Wpisujemy tekstowe polecenie, a system
wyświetla tekstowe odpowiedzi na ekranie monitora. Jako pierwsze polecenie wpisz
w
i naciśnij
Enter
. Na
ekranie monitora pojawi się:
root@debian1: /root#
w
11:12am up 6 min, 1 user, load average: 0.00, 0.08, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 11:13am 0.00s 0.20s 0.11 -bash
Polecenie
w
wyświetla informacje o stanie systemu oraz listę wszystkich zalogowanych użytkowników.
W podanym przykładzie wyjście polecenia to informacje o godzinie (11:12), czasie pracy systemu (6 minut) i
zalogowanym użytkowniku, którym jest
root
. Zauważ, że odpowiedź systemu na to polecenie jest bardzo
zwięzła i zawiera wiele informacji w kilku zaledwie wierszach. Takie wyjście (odpowiedź na polecenie) jest
typowe dla systemu Linux. Na początku może się wydawać nieczytelne i tajemnicze, ale z czasem nauczysz się
doceniać wydajność i zwięzłość, z jaką Linux udziela niezbędnych informacji.
System Linux posiada, oprócz polecenia
w
, wiele innych — jest ich tak dużo, że możesz napotkać trudności w
opanowaniu wszystkich. Tak naprawdę liczba poleceń, których będziesz regularnie używał jest stosunkowo
niewielka. Te opanujesz dość szybko i będziesz się nimi posługiwał z łatwością.
Teraz wypróbuj drugie polecenie —
date
:
root@debian1: /root#
date
Tue Aug 16 22:23:46 CEST 2001
Polecenie to wyświetla aktualną datę i czas.
Uwaga:
Jeśli praca w środowisku MS-DOS sprawia ci wiele trudności, to prawdopodobnie zbyt szybko nie spodoba ci
się również praca z wierszem poleceń systemu Linux. Jednakże spróbuj poświęcić trochę czasu i cierpliwości,
aby się przyzwyczaić do takiego sposobu pracy. Wiersz poleceń systemu posiada kilka ważnych właściwości,
które ułatwiają jego używanie, a także dają przewagę nad systemem MS-DOS. Jeśli jednak po kilku dniach
pracy z wierszem poleceń systemu Linux, stwierdzisz, że kompletnie nic z tego nie rozumiesz, nie załamuj się!
Linux posiada także graficzny interfejs użytkownika jako dodatek do interfejsu wiersza poleceń. Więcej o
graficznym interfejsie użytkownika możesz przeczytać w rozdziale 6. „Praca w graficznym środowisku X
Window”.
Poprawianie źle wprowadzonych poleceń
Czasami może zdarzyć się tak, że niepoprawnie wpiszesz polecenie lub jego parametry — system wyświetla
wtedy wiadomość o błędzie. Na przykład załóżmy, że wpisałeś
dat
zamiast
date
:
root@debian1: /root#
dat
bash: dat: command not found
W takim przypadku koniecznie sprawdź pisownię danego polecenia i spróbuj ponownie. Jeśli zauważysz błąd,
zanim naciśniesz
Enter
, możesz użyć klawisza
Backspace
, aby wrócić do miejsca, w którym występuje błąd i
naprawić go.
Tak jak przeglądarka sieci Web zapamiętuje ostatnio odwiedzane strony WWW, tak powłoka
bash
systemu
Linux rejestruje ostatnio używane polecenia. Ich listę — zwaną historią — można przeglądać za pomocą
klawiszy: strzałka w górę (od ostatnio wydanego polecenia do pierwszego w historii) i strzałka w dół (od
pierwszej do ostatnio używanej komendy). Kojarzyć się to może z przyciskami
Wstecz
oraz
Dalej
, które znajdują
się na pasku narzędzi Eksploratora Windows. Tak naprawdę historia poleceń daje kilka bardzo dobrych
sposobów, które umożliwiają łatwiejsze zapamiętanie i ponowne użycie często stosowanych poleceń, tak jak to
przedstawia rozdział 13.
Klawisze strzałka w górę i strzałka w dół pozwalają poruszać się po liście ostatnio używanych poleceń. Jest
to użyteczna właściwość, kiedy chcesz coś na przykład powtórzyć. Po prostu użyj strzałki w górę w celu
znalezienia żądanego polecenia i naciśnij
Enter
, aby wykonać ją ponownie. Możesz także używać historii
w przypadku, gdy chcesz wykonać polecenie, które jest podobne (w pisowni) do jednego z ostatnio używanych.
Naciśnij klawisz strzałka w górę w celu znalezienia odpowiedniego polecenia. Następnie za pomocą klawiszy
strzałka w lewo oraz strzałka w prawo umieść kursor w miejscu, w którym chcesz wprowadzić poprawki. Na
końcu naciśnij klawisz
Enter
, aby wykonać polecenie.
Wirtualna konsola
W systemie Microsoft Windows możesz aktywować kilka okien MS-DOS jednocześnie. I chociaż powłoka
bash
nie posiada graficznego interfejsu użytkownika, możesz, dzięki wirtualnym konsolom, pracować z
kilkoma odpowiednikami powłoki. System Linux posiada sześć wirtualnych konsol, a do przełączania między
nimi służy specjalna kombinacja klawiszy
Alt+F
n
, gdzie
n
oznacza numer kolejnej (1 – 6) wirtualnej konsoli.
Na przykład, jeśli chcesz pracować na konsoli numer 2, naciśnij jednocześnie klawisz
Alt
i
F2
. Możesz oglądać
jedną wirtualną konsolę na raz, ale za to możesz się między nimi szybko przełączać.
Wirtualne konsole są przydatne wtedy, gdy rozpocząłeś czasochłonne zadanie, a chciałbyś mieć możliwość
wykonania innego, bez przerywania już rozpoczętego zadania. Okażą się również użyteczne podczas logowania.
Możesz się zalogować jako inny użytkownik na jednej wirtualnej konsoli, podczas gdy jesteś zalogowany na
kolejnej konsoli jako ktoś inny.
Wirtualne konsole posiadają wygaszacz ekranu podobny do tego, który jest używany w Microsoft Windows.
Jeśli wirtualna konsola jest nieaktywna przez pewien określony czas, Linux wygasza ekran monitora. W celu
przywrócenia ekranu bez wprowadzania zmian jego zawartości wciśnij klawisz
Shift
.
Kończenie pracy
Kiedy kończysz pracę w systemie Linux, powinieneś się wylogować za pomocą polecenia
exit
, po wpisaniu
którego należy oczywiście wcisnąć klawisz
Enter
. Podczas operacji wylogowania system zwalnia pamięć
i inne zasoby, które zostały zaalokowane podczas logowania, udostępniając zwolnione zasoby innym
użytkownikom systemu.
Po wykonaniu procedury wylogowania, system Linux natychmiast wyświetla znak zachęty ponownego
logowania. Jeśli zmieniłeś zdanie i chciałbyś jeszcze trochę popracować, zaloguj się podając nazwę użytkownika
oraz odpowiadające mu hasło.
Zamknięcie systemu
Nie powinno się wyłączać zasilania podczas pracy systemu Linux, zamiast tego należy zamknąć system
operacyjny, a dopiero potem wyłączyć zasilanie. Aby zamknąć system Linux, użyj polecenia
shutdown
, które
znajduje się w katalogu
/sbin
:
root@debian1: /root#
/sbin/shutdown –h now
Nie wpisuj znaku zachęty, który automatycznie pojawia się w wierszu poleceń. Tylko użytkownik
root
może
zainicjować polecenie
shutdown
. Jeśli chcesz ponownie uruchomić system (zrestartować), użyj alternatywnej
formy polecenia shutdown przedstawionej poniżej:
root@debian1: /root#
/sbin/shutdown –r now
Możesz również użyć metody bardziej konwencjonalnej, znanej także w systemie MS-DOS składającej się
z kombinacji trzech klawiszy:
Ctrl+Alt+Del
, których jednoczesne wciśnięcie inicjuje
shutdown
„na
zawołanie”.
Kiedy zamykasz system, Linux automatycznie wylogowuje wszystkich innych użytkowników, przerywa
wszystkie działające programy oraz zamyka wszystkie otwarte pliki. Przed zamknięciem systemu Linux
powinieneś upewnić się, czy na innych wirtualnych konsolach nie jest uruchomione żadne ważne zadanie. Jeśli
jest, powinieneś opóźnić zamknięcie systemu tak, aby zostało zakończone.
Praca z wierszem poleceń systemu Linux
Aby ułatwić używanie poleceń systemu Linux, wprowadzono wspólny i prosty sposób ich wprowadzania.
Podrozdział opisuje ten sposób oraz wyjaśnia, jak uzyskać informacje pomocnicze na temat dostępnych poleceń.
Struktura poleceń
Polecenia systemu Linux mają podobną konstrukcję:
polecenie opcja(e) argument(y)
Polecenie określa nazwę programu, który chcesz wykonać. Nazwa polecenia w systemie Linux zawsze składa
się z małych liter oraz liczb. Zapamiętaj, że Linux, w przeciwieństwie do Microsoft Windows, jest systemem
typu
case sensitive
, czyli rozpoznaje wielkość znaków; upewnij się, że każdy znak wpisywanego polecenia ma
odpowiednią wielkość (duża litera – za pomocą klawisza
Shift
lub
Caps Lock
, mała litera bez wciśniętych
klawiszy).
Większość poleceń pozwala na podanie opcji i (lub) argumentów. Jednakże nie w każdym przypadku zachodzi
potrzeba ich używania. Na przykład, wpisując polecenie
w
bez żadnych opcji i argumentów spowodujemy
wyświetlenie listy aktualnie zalogowanych użytkowników.
Opcje modyfikują sposób działania poleceń. Większość opcji składa się z pojedynczej litery poprzedzonej
myślnikiem. Częst można podać więcej niż jedną opcję; kiedy wymieniamy kilka opcji, oddzielamy je spacją lub
tabulatorem, czasami jednak tego nie robimy. Na przykład opcja
–h
polecenia
w
powoduje, że na wyjściu
pomijane są nagłówki wiersza, które wskazują czas i nazwę wyświetlanych pól:
root@debian1: /root#
w –h
Powyższy przykład użycia polecenia
w
z opcją
–h
powoduje wyświetlenie listy zalogowanych użytkowników
bez nagłówków opisujących główne pola tej listy.
Argumenty określają nazwy plików lub inne cele (wyjścia), do których przekierowywana jest akcja polecenia.
Na przykład polecenie
w
pozwala na użycie
userid
jako swojego argumentu, co powoduje, że polecenie to
wyświetli listę tylko użytkowników o danym identyfikatorze użytkownika (
userid
). Wpisanie:
root@debian1: /root#
w root
spowoduje wyświetlenie aktualnych logowań użytkownika
root
. Niektóre polecenia pozwalają na stosowanie
wielu argumentów, które są od siebie oddzielane za pomocą spacji lub tabulatora.
Szukanie pomocy
Ponieważ system Linux posiada wiele poleceń, które mają dużo opcji i argumentów, nie łatwym zadaniem (jeśli
w ogóle możliwym) jest zapamiętanie ich wszystkich. Dlatego opracowano polcenia
man
i
apropos
, które
umożliwiają dostęp do bazy pomocy opisującej każde polecenie wraz z jego opcjami i argumentami.
Polecenie man
Każde polecenie systemu Linux jest opisane przez specjalny plik zwany
manual page
(strona podręcznika). Pliki
te są przechowywane w grupie katalogów składających się na bazę danych pomocy. Aby wejść do tej bazy, użyj
polecenia
man
, która jest odpowiednikiem polecenia
help
systemu MS-DOS. Na przykład, w celu otrzymania
pomocy na temat polecenia
w
wpisz:
root@debian1: /root#
man w
Rysunek 4.1 ukazuje rezultat powyższego polecenia, które wyświetla jedną stronę pomocy. Zwróć uwagę na
dwukropek znajdujący się w lewym dolnym rogu ekranu. Aby przejść do następnej strony, naciśnij klawisz
spacji; stronę wcześniej — naciśnij klawisz
b
. Aby wyjść z programu man, naciśnij klawisz
q
.
Strony podręcznika są poukładane według określonego wzoru. Na początku strony znajduje się jej nazwa oraz
umieszczony w nawiasach rekord, z którego pochodzi strona. Z rysunku 4.1 możemy odczytać, że strona
dotyczy polecenia
w
, które zostało umieszczone w rekordzie pierwszym bazy pomocy. Poniżej znajduje się
tabela 4.1, która przedstawia rekordy bazy pomocy; większość z nich jest głównie przedmiotem zainteresowania
programistów. Jako użytkownik i administrator systemu najczęściej będziesz korzystał z rekordów 1 oraz 8.
Tabela 4.1. Rekordy bazy danych pomocy man
Rekord Opis
1
Programy wykonywalne oraz polecenia powłoki
2 Wywołania systemowe (wychodzące od jądra systemu)
3 Wywołania bibliotek (wychodzące od bibliotek systemowych)
4
Pliki specjalne (na przykład pliki urządzeń)
5
Formaty plików i związane z tym konwencje formatowania
6 Gry
7
Makropakiety i konwencje
8 Komendy
administracyjne
9 Niestandardowe
procedury
jądra
Rysunek 4.1. Typowa strona man
Drugą informacją znajdującą się na stronie podręcznika jest nazwa oraz krótki opis polecenia. Następnie
przedstawiona jest jego składnia, która zawiera dostępne do wykorzystania opcje oraz argumenty. Nawiasy
kwadratowe zawierają dodatkowe atrybuty poleceń, które albo możesz załączyć, albo pominąć. Znajdziesz także
szczegółowy opis działania polecenia wraz z dokładnym opisem wszystkich opcji.
Podczas nauki posługiwania się systemem Linux może okazać się przydatnym zarezerwowanie jednej wirtualnej
konsoli dla pomocy manualnej. Tym sposobem możesz wykonywać polecenia na jednej konsoli, a na innej
przeglądać opcje i argumenty dla tego polecenia. Jest to bardzo dobry sposób na szybkie poznanie poleceń oraz
ich opcji.
Stosowanie polecenia apropos
Polecenie
man
szuka odpowiednich stron podręcznika i wyświetla szczegółowe informacje. Polecenie
apropos
również przeszukuje bazę stron podręcznika, jednakże wyświetla podsumowane informacje o
znalezionych stronach, które zawierają sprecyzowane słowo kluczowe (przeszukiwanie jest ograniczone do
krótkiego opisu, który znajduje się zawsze na początku każdej strony podręcznika). Na przykład wpisując
polecenie
apropos
w następujący sposób:
root@debian1: /root#
apropos files
otrzymamy listę stron podręcznika
man
wraz z numerami sekcji, które zawierają słowo kluczowe
files
, tak
jak na rysunku 4.2.
Rysunek 4.2. Wyjście polecenia apropos
Polecenie
apropos
jest bardzo przydatne, kiedy nie potrafisz sobie przypomnieć nazwy polecenia. Wpisując
związane z nim słowo kluczowe, otrzymujesz listę poleceń (nazwy stron man są ściśle związane z nazwami
poleceń; chociaż nie wszystkie), na której możesz wyszukać to, czego potrzebujesz.
Jak system Linux organizuje dane?
W celu wydajnego używania systemu Linux musisz najpierw zrozumieć, jak ten system organizuje dane. Jeśli
korzystałeś wcześniej z Microsoft Windows lub innego systemu operacyjnego, to nauczenie się sposobu, w który
Linux organizuje dane będzie łatwym zadaniem, ponieważ większość systemów operacyjnych używa podobnych
metod. Wkrótce wyjaśnimy, jakie są sposoby organizowania danych w systemie Linux. Przedstawimy także
kilka ważnych poleceń służących do pracy z katalogami i plikami.
Urządzenia
Linux otrzymuje dane z, wysyła je do oraz przechowuje je w urządzeniach (
devices
). Urządzenie zazwyczaj
odpowiada jednostce sprzętowej, takiej jak na przykład klawiatura czy port szeregowy. Jednakże urządzenie nie
zawsze posiada odpowiednik sprzętowy; jądro systemu (
kernel
) tworzy kilka pseudourządzeń, które nie istnieją
fizycznie, ale za to można uzyskać do ich dostęp jakby rzeczywiście istniały. Co więcej, jednostka sprzętowa
może odpowiadać kilku urządzeniom, na przykład Linux definiuje każdą partycję dysku twardego jako osobne
urządzenie. Tabela 4.2 opisuje parę typowych urządzeń systemu Linux; nie każdy system posiada wszystkie te
urządzenia, a niektóre systemy posiadają urządzenia, których nie ma w tej tabeli.
Tabela 4.2. Typowe urządzenia systemu Linux
Urządzenie Opis
atibm
Mysz magistralowa
audio
Karta dźwiękowa
cdrom
Napęd CD-ROM
console
Aktualnie używana konsola wirtualna
fd
n
Napęd dyskietek (
n
oznacza napęd, na przykład
fd0
jest pierwszym napędem —
A: w Windows,
fd1
jest drugim, czyli odpowiada B: w systemie Windows)
ftape
Napęd taśmowy bez możliwości przewijania
hd
xn
Dysk twardy (ale nie SCSI), gdzie
x
określa napęd, a
n
określa partycję. Na
przykład:
hda1
to pierwsza partycja pierwszego dysku twardego
inportbm
Mysz magistralowa
lp
n
Port równoległy (
n
określa numer urządzenia, na przykład:
lp0
jest pierwszym
portem równoległym
lpt1
w systemie Microsoft Windows)
modem
Modem
mouse
Mysz
nftape
Napęd taśmowy obsługujący przewijanie
nrft
n
Napęd taśmowy obsługujący przewijanie (
n
określa numer urządzenia, na przykład:
nrft0
to pierwszy napęd taśmowy,
nrft1
to drugi i tak dalej)
nst
n
Napęd taśmowy SCSI bez przewijania (
n
określa numer urządzenia, na przykład:
nst0
to pierwszy napęd taśmowy SCSI,
nst1
to drugi)
null
Pseudourządzenie, które przyjmuje nieograniczone wyjście
printer
Drukarka
psaux
Pomocnicze urządzenie wskazujące takie jak trackball lub gałka w urządzeniu
Thinkpad firmy IBM
rft
n
Napęd taśmowy bez przewijania (
n
oznacza numer urządzenia, na przykład:
rft0
jest pierwszym napędem taśmowym)
scd
n
Urządzenie SCSI (
n
określa numer urządzenia, na przykład:
scd1
jest drugim
urządzeniem SCSI w systemie)
sd
xn
Dysk twardy SCSI (
x
oznacza napęd, a
n
określa partycję, na przykład:
sda1
jest
pierwszą partycją pierwszego dysku SCSI)
sr
n
SCSI CD-ROM (
n
określa napęd, na przykład:
sr0
jest pierwszym napędem SCSI
CD-ROM)
st
n
Napęd taśmowy SCSI obsługujący przewijanie (
n
określa numer urządzenia, na
przykład:
st0
jest pierwszym napędem taśmowym SCSI)
tty
n
Wirtualna konsola (
n
oznacza kolejną wirtualną konsolę, na przykład:
tty0
jest
pierwszą wirtualną konsolą)
ttyS
n
Port szeregowy (
n
określa port, na przykład:
ttyS0
oznacza pierwszy port
szeregowy)
zero
Pseudourządzenie, które dostarcza niewyczerpanych potoków zer
Systemy plików
Czy używasz systemu Microsoft Windows, czy też Linux, pierwszą rzeczą, jaką musisz zrobić, aby móc
przechowywać dane na dysku, jest utworzenie na nim partycji i sformatowanie jej. Kiedy formatujesz partycję,
system Linux zapisuje na niej specjalne dane zwane systemem plików (
filesystem
). System plików organizuje
dostępne miejsce oraz katalog, który pozwala na nadanie nazwy każdemu plikowi, który jest składnikiem
przechowywanych danych. Możesz również grupować pliki w katalogi, które spełniają podobne funkcje do
folderów tworzonych za pomocą Eksploratora Windows: katalogi przechowują informacje na temat wszystkich
plików, które się w nich znajdują.
Każdy dysk CD-ROM oraz każda dyskietka również musi posiadać system plików. System plików każdej płyty
CD-ROM jest zapisywany podczas jej tworzenia, natomiast dla dyskietki tworzony jest przy każdym jej
formatowaniu.
Microsoft Windows 95 pozwala sformatować partycję jako FAT lub FAT32. Linux obsługuje więcej typów
systemów plików; tabela 4.3 przedstawia te najbardziej popularne. Najważniejszym systemem plików jest ext2,
który jest używany dla rodzimej partycji systemu Linux, oprócz tego Linux obsługuje takie systemy plików jak:
msdos, który jest używany dla partycji typu FAT (oraz dyskietek) stworzonych przez systemy MS-DOS i
Microsoft Windows oraz iso9660, który jest stosowany w CD-ROM-ach. Obsługiwany jest także system plików
vfat, który jest używany przez partycje FAT32 stworzone przez Microsoft Windows 9x; Linux umożliwia także
czytanie danych z partycji NTFS systemu Windows NT, ale jak dotąd nie jest możliwe zapisywanie danych na
partycje w tym systemie plików.
Tabela 4.3. Systemy plików obsługiwane przez system Linux
System Plików
Opis
coherent
System plików kompatybilny z systemem używanym przez Coherent Unix
ext
Przodek systemu ext2, obsługiwany w celu zachowania kompatybilności
ext2
Standardowy system plików Linuksa
hpfs
System plików kompatybilny z systemem używanym przez OS/2 firmy
IBM
iso9660
Standardowy system plików dla CD-ROM-ów
minix
Stary system plików Linuksa, wciąż jeszcze używany na dyskietkach
msdos
System plików kompatybilny z FAT; używany przez MS-DOS oraz
Windows
nfs
System plików kompatybilny z sieciowym systemem plików (Network
File System) firmy Sun
ntfs
System plików zgodny z NTFS; używany przez Windows NT
sysv
System plików kompatybilny z systemem używanym przez V Unix firmy
AT&T
vfat
System plików zgodny z FAT32; używany przez Microsoft Windows 9.x
xenix
System plików kompatybilny z systemem używanym przez Xenix
Katalogi
Jeżeli kiedykolwiek używałeś systemu MS-DOS, to znasz już organizację plików i katalogów oraz różne
polecenia tego systemu służące do operowania na plikach i katalogach. W systemie Linux istota obsługi jest
bardzo podobna, natomiast sama implementacja oraz współpraca z plikami i katalogami została znacznie
ulepszona.
Katalogi domowe i robocze
Kiedy logujesz się do systemu Linux, przenosisz się do specjalnego katalogu nazywanego katalogiem domowym
(
home directory
). Zasadniczo, każdy użytkownik posiada oddzielny, własny katalog domowy, gdzie tworzy,
edytuje i zapisuje swoje pliki. Ułatwia to użytkownikom znajdowanie wcześniej utworzonych plików, ponieważ
są one przechowywane z dala od plików innych użytkowników.
Katalog roboczy lub (jak często też jest określany) bieżący katalog roboczy jest to katalog, w którym aktualnie
pracujesz. Podczas logowania do systemu Linux twoim katalogiem roboczym jest katalog domowy. Za pomocą
polecenia
cd
(poznasz je za moment) możesz zmienić katalog roboczy.
Drzewo katalogowe
Katalogi systemu Linux są zorganizowane hierarchicznie. System ten, w odróżnieniu od systemu MS-DOS,
tworzy osobną hierarchię dla każdej partycji, tworzy tylko jeden system plików dla każdej dostępnej partycji.
Katalogiem, który znajduje się u samego szczytu tej struktury (tzw. drzewa katalogowego) jest katalog
root
(korzeń), oznaczony jako „
/
” (forward slash), odwrotnie niż w systemie MS-DOS, gdzie katalog
root
oznaczony
jest za pomocą „
\
” (backward slash).
Rysunek 4.3 przedstawia hipotetyczne drzewo katalogowe systemu Linux. Główny katalog (
root
) zawiera sześć
podkatalogów:
bin
,
dev
,
etc
,
home
,
tmp
oraz
usr
. Katalog
home
posiada dwa podkatalogi; każdy
z nich jest katalogiem domowym użytkownika i oznaczony jest jego identyfikatorem. Użytkownik
magda
stworzył dwa podkatalogi w swoim katalogu domowym:
praca
i
dom
. Drugi użytkownik
ewa
stworzył tylko
jeden katalog:
dom
.
Rysunek 4.3. Hipotetyczne drzewo katalogowe systemu Linux
Każdy katalog (inny niż katalog główny
root
) znajduje się w katalogu znanym jako katalog nadrzędny (
parent
directory
). Na przykład katalogiem nadrzędnym dla katalogu
magda
jest
home
.
Bezwzględne oraz względne nazwy ścieżek
Zwróć uwagę, że na powyższym rysunku istnieją dwa katalogi o tej samej nazwie: dom. Jeden z nich jest
podkatalogiem znajdującym się w katalogu
magda
, drugi znajduje się w katalogu
ewa
. Aby uniknąć
zamieszania, które mogłoby powstać przy istnieniu kilku katalogów o tych samych nazwach, zastosowano
nazwy ścieżek, którymi opisuje się katalogi. Istnieją dwa rodzaje nazw ścieżek:
bezwzględne
(
absolute
) oraz
względne
(
relative
). Bezwzględna nazwa ścieżki śledzi położenie katalogu zaczynając od głównego katalogu
root
; nazwę ścieżki tworzymy z nazw katalogów oddzielonych od siebie znakami „
/
” (forward slash). Na
przykład bezwzględna ścieżka unikatowego katalogu
magda
wygląda tak:
/home/madga
. Natomiast
bezwzględna nazwa ścieżki dla podkatalogu
dom
znajdującego się w katalogu magda to
/home/magda/dom
.
Nazwa bezwzględna dla tego samego podkatalogu, ale znajdującego się w katalogu
ewa
przedstawia się
następująco:
/home/ewa/dom
.
Kiedy podkatalog znajduje głęboko w strukturze innych podkatalogów, jego bezwzględna nazwa ścieżki może
być bardzo długa i nieporęczna. W takim przypadku lepiej jest używać wzglednej nazwy ścieżki, która używa
jako punktu startowego aktualnego katalogu zamiast katalogu
root
. Na przykład przypuśćmy, że katalog
magda
jest bieżącym katalogiem roboczym; możemy się odwołać do znajdującego się w nim katalogu dom za pomocą
relatywnej nazwy ścieżki dom. Zauważ, że względne nazwy ścieżek nigdy nie zaczynają się od znaku forward
slash (
/
), podczas gdy bezwzględne nazwy muszą się tym znakiem rozpoczynać. W drugim przykładzie
załóżmy, że katalog domowy
/home
jest abieżącym katalogiem roboczym. Względna nazwa ścieżki dla
podkatalogu
dom
, który znajduje się w katalogu
magda
będzie wyglądała tak:
magda/dom
, natomiast dla tego
samego podkatalogu, ale znajdującego się w katalogu
ewa
wygląda tak:
ewa/dom
.
System Linux używa dwóch specjalnych nazw katalogów. Pierwszą nazwą jest pojedyncza kropka (
.
), która
jako nazwa katalogu jest odpowiednikiem określającym katalog roboczy. Zastosowanie dwóch kropek (
..
)
w nazwie ścieżki przenosi nas o jeden poziom do góry w aktualnej ścieżce do katalogu nadrzędnego. Na
przykład, jeśli katalogiem roboczym jest
/home/magda
, dwie kropki odwołują się do katalogu
/home
. Podobnie,
nazwa ścieżki, która przyjmie postać
../ewa/dom
odnosi się do katalogu
/home/ewa/dom
.
Praca z katalogami
Teraz, kiedy już rozumiesz podstawy organizacji danych w systemie Linux, jesteś gotowy, aby poznać kilka
nowych polecen, które wykonują różne operacje na katalogach. Możesz przeczytać ten podrozdział, ale
powinieneś raczej zalogować się do systemu i wypróbować samemu działanie opisanych poleceń. Tylko w ten
sposób rozwiniesz swoje umiejętności oraz szybciej poznasz główne polecenia powłoki.
Określanie katalogu roboczego
Aby wyświetlić aktualny katalog roboczy, wydaj polecenie
pwd
. Nie wymaga ono żadnych opcji ani
argumentów.
root@debian1: /root#
pwd
/root
Polecenie
pwd
wyświetla bezwzględną nazwę ścieżki katalogu roboczego.
Zmiana katalogu roboczego
Do zmiany katalogu roboczego służy polecenie
cd
, które jako argument przyjmuje nazwę ścieżki nowego
katalogu roboczego. Argumentem może być zarówno bezwzględna jak i relatywna nazwa ścieżki. Na przykład,
aby zmienić katalog roboczy na katalog
/bin
, wpisz następujące polecenie:
root@debian1: /root#
cd /bin
[root@debian1 /bin]#
Zauważ, jak zmienia się znak zachęty, kiedy zmieniasz katalog na
/bin
.
Możesz szybko wrócić do katalogu domowego, wydając polecenie
cd
bez żadnych argumentów:
[root@debian1 /bin]#
cd
root@debian1: /root#
Ponownie zwróć uwagę na zmianę znaku zachęty, który wskazuje nowy katalog roboczy.
Jeśli zechcesz (lub wydasz polecenie przez przypadek) zmienić katalog roboczy na katalog, który nie istnieje,
Linux wyświetli komunikat o błędzie:
root@debian1: /root#
cd /kat
bash: /kat: No such file or directory
(Nie ma takiego pliku ani katalogu)
Wyświetlanie zawartości katalogów
Do wyświetlania zawartości katalogów służy polecenie
ls
. Posiada ono wiele użytecznych opcji, które
pozwalają na manipulowanie wyjściem polecenia na różne sposoby.
Najprostsza forma polecenia
ls
nie posiada żadnych opcji ani też argumentów. Skutkiem wydania samego
polecenia
ls
jest lista zawartości katalogu roboczego zawierająca pliki i podkatalogi (wyjście działania
polecenia
ls
w twoim systemie będzie się różniło ze względu na zawartość katalogu roboczego). Spójrz na
rysunek 4.4.1.
Rysunek 4.4.1. Typowy ekran polecenia ls
Działanie polecenia ls jest w powyższym przykładzie przedstawiono w porządku alfabetycznym, w dwóch
kolumnach. Zauważ, że pliki, których nazwy zaczynają się dużą literą znajdują się na początku listy, a dopiero
po nich ułożone są pliki o nazwach pisanych małą literą.
Bardziej profesjonalna forma polecenia ls zawiera opcję
–l
, która pozwala na wyświetlenie zawartości katalogu
wraz ze szczegółowymi informacjami opisującymi pliki i katalogi, tak jak ilustruje to rysunek 4.4.2.
Pierwszy wiersz wyjścia polecenia
ls –l
pokazuje ilość miejsca na dysku używanego przez katalog roboczy
i jego zawartość, która mierzona jest w kB (kilobajtach). Każdy następny wiersz opisuje pojedynczy plik
lub katalog. Kolumny oznaczają:
Typ (Type)
Typ (rodzaj) pliku: katalog oznaczony jest literą
d
, zwykły plik oznaczony znakiem „
-
”. Jeśli system obsługuje
kolory, to Linux wyświetli listę plików w taki sposób, że wiersze, które należą do katalogów będą zaznaczone na
niebiesko, a wiersze należące do plików na biało.
Tryb dostępu (Access mode)
Tryb dostępu określa, czy użytkownik może lub nie może przeglądać, edytować, zapisywać pliki i podkatalogi
w danym katalogu.
Rysunek 4.4.2. Wyjście polecenia ls -l
Linki (Links)
Ilość plików i katalogów dowiązanych do danego pliku lub katalogu.
Właściciel ( User )
Nazwa użytkownika, który jest właścicielem danego pliku lub katalogu.
Grupa (Group)
Nazwa grupy, która jest właścicielem danego pliku lub katalogu.
Rozmiar (Size)
Rozmiar pliku lub katalogu w bajtach.
Data modyfikacji (Modification Date)
Data i czas ostatniej modyfikacji pliku lub katalogu.
Nazwa (Name)
Nazwa pliku lub katalogu.
O trybach dostępu, dowiązaniach oraz grupach dowiesz się więcej w kolejnych podrozdziałach.
Jeśli katalog zawiera bardzo dużo plików, to wyjście polecenia
ls –l
zajmie więcej niż jeden ekran. Aby
obejrzeć rezultaty działania polecenia ekran po ekranie, wpisz następujące polecenie:
ls –l | more
Polecenie używa potoku (znaczenie „
|
” jest wyjaśnione w rozdziale 13.), wysyłając wyjście polecenia
ls
do
programu
more
, który przedstawia wyniki działania polecenia
ls
po jednym ekranie. Możesz sterować
działaniem programu
more
za pomocą poniżej wymienionych klawiszy:
•
Spacja
przesuwa jedną stroną na przód.
•
B
cofa o jedną stronę
•
Q
kończy działanie programu i powraca do znaku zachęty systemu.
Jeśli chcesz wyświetlić zawartość innego katalogu niż katalog roboczy, wpisz nazwę tego katalogu jako
argument polecenia
ls
. System Linux wyświetli wtedy zawartość żądanego katalogu, ale nie zmieni katalogu
roboczego. W ten sam sposób możesz zbierać informacje na temat plików, wpisując nazwę pliku jako argument
polecenia. Co więcej, polecenie to akceptuje nieokreśloną liczbę argumentów, które oddziela się za pomocą
spacji lub tabulatora.
Kiedy nazwa pliku lub katalogu rozpoczyna się od kropki (
.
), wtedy na wyjściu programu
ls
nie zobaczymy
takich plików, ponieważ są one ukryte. Aby wyświetlić ukryte pliki lub katalogi, użyj polecenia
ls
z opcją
–a
.
Na przykład, aby wyświetlić wszystkie pliki i katalogi w katalogu bieżącym, wpisz:
root@debian1: /root#
ls –a –l
lub, jeśli wolisz, możesz połączyć obie opcje, co wygląda mniej więcej tak:
root@debian1: /root#
ls –al
W katalogu domowym użytkownika zazwyczaj znajduje się kilka plików ukrytych, które zawierają informacje o
konfiguracji różnych programów. Na przykład plik
.profile
zawiera informacje konfiguracyjne dla powłoki
systemu Linux.
Polecenie
ls
wyposażono w mnóstwo dodatkowych i użytecznych opcji, zajrzyj na strony podręcznika
systemowego (
man
), aby dowiedzieć się więcej.
Tworzenie katalogu
Katalog w systemie Linux tworzymy za pomocą polecenia
mkdir
. Argumentem polecenia jest nazwa katalogu.
System tworzy żądany katalog jako podkatalog katalogu roboczego. Na przykład stwórzmy podkatalog o nazwie
office
:
root@debian1: /root#
mkdir office
Jeśli nie chcesz, aby nowy katalog powstał w katalogu roboczym, wpisz bezwzględną lub względną nazwę
ścieżki jako argument polecenia
mkdir
. Na przykład w celu utworzenia katalogu
dokumenty
w katalogu
root
wydaj polecenie:
root@debian1: /root#
mkdir /root/dokumenty
Ten sposób działa bez względu na bieżący katalog roboczy.
Nazwę katalogu lub pliku określają ścisłe reguły. Na przykład nie może zawierać znaku „
/
” (slash). Nazwy
plików i katalogów mogą zawierać litery (małe i duże), cyfry, kropki oraz znak podkreślenia „
_
”. Można też
używać innych znaków, takich jak spacja, ale sprawia to pewne problemy, ponieważ powłoka nadaje plikom o
takich nazwach specjalne znaczenie. Jeśli już musisz użyć nazwy zawierającej znaki specjalne, zamknij całą
nazwę w pojedynczym cudzysłowie. Cudzysłów nie staje się częścią nazwy pliku, która jest przechowywana na
dysku. Ta metoda jest używana przy dostępie do systemu plików Microsoft Windows; w przeciwnym przypadku
miałbyś duże problemy podczas pracy z plikami i katalogami takimi jak
Moje Dokumenty
, których nazwy
zawierają spacje.
Większość nazw plików systemu MS-DOS zawiera kropkę, a większość plików systemu Linux wręcz
przeciwnie. W systemie MS-DOS kropki oddzielają część nazwy pliku od części zwanej rozszerzeniem pliku,
która to część służy do określania rodzaju pliku. Na przykład plik
tata.txt
będzie rozpoznawany przez system
MS-DOS jako plik tekstowy. Znaczna część programów systemu Linux automatycznie określa rodzaj pliku,
dlatego w tym systemie pliki nie potrzebują rozszerzeń.
Usuwanie katalogu
Aby usunąć katalog, użyj polecenia
rmdir
. Na przykład w celu usunięcia katalogu
niechciany
, który jest
podkatalogiem katalogu roboczego wpisz:
root@debian1: /root#
rmdir niechciany
Jeżeli katalog, który chcesz usunąć nie jest podkatalogiem katalogu roboczego, możesz go usunąć podając jego
względną lub bezwzględną nawę ścieżki.
Za pomocą polecenia
rmdir
nie można usunąć katalogów i podkatalogów zawierających pliki. Należy najpierw
usunąć te pliki, a następnie usunąć podkatalogi, na końcu zaś sam katalog. Jednakże polecenie
rm –r
usuwa
rekursywnie pliki z katalogu i potem sam katalog.
Praca z plikami
Katalogi zawierają w sobie pliki i inne podkatalogi. Pliki służą do przechowywania danych. Podrozdział
przedstawia kilka użytecznych poleceń do pracy z plikami.
Wyświetlanie zawartości plików
Pliki systemu Linux, podobnie jak systemu Microsoft Windows, mogą zawierać zwykły tekst oraz informacje
binarne. Zawartość plików binarnych ma znaczenie tylko dla biegłych programistów, ale możesz z łatwością
obejrzeć zawartość plików tekstowych. Po prostu użyj polecenia
cat
, podając nazwę pliku tekstowego jako
argument dla tego polecenia. Np.
root@debian1: /root#
cat /etc/passwd
wyświetla zawartość pliku
/etc/passwd
, w którym znajduje się baza danych użytkowników zarejestrowanych w
systemie.
Jeśli plik jest zbyt duży, aby mógł być wyświetlony na pojedynczym ekranie, będziesz mógł obejrzeć jedynie
ostatnie wiersze tego pliku. Aby temu zapobiec, zastosuj polecenie
more
:
root@debian1: /root#
more /etc/passwd
Polecenie wyświetla zawartość pliku w taki sam sposób, w jaki polecenie
man
przedstawia strony podręcznika.
Możesz użyć klawisz
Spacji
i klawisza
b
, aby przesunąć strony oraz klawisza
q
, aby zakończyć działanie
polecenia.
Usuwanie pliku
W celu usunięcia pliku, użyj polecenia
rm
, podając nazwę pliku jako argument. Np.
root@debian1: /root#
rm złyplik
usuwa plik o nazwie
złyplik
znajdujący się w katalogu roboczym. Jeśli natomiast plik znajduje się gdzie indziej,
usuwamy go podając bezwzględną lub względną nazwę ścieżki.
Uwaga
Kiedy już raz usuniesz plik w systemie Linux, jego zawartość jest stracona na zawsze. Bądź ostrożny przy
usuwaniu plików, które zawierają ważne informacje systemowe.
Opcja
–i
dla polecenia
rm
powoduje, że polecenie weryfikuje decyzje o usunięciu pliku. Jeśli nie masz
pewności co do swoich umiejętności i wiedzy, opcja ta na pewno się przyda.
Kopiowanie plików
Do kopiowania plików służy polecenie
cp
. Podajemy również nazwę pliku (lub ścieżkę), który chcemy
skopiować oraz nazwę (lub ścieżkę) miejsca docelowego, do którego chcemy plik skopiować. Np.
root@debian1: /root#
cp /etc/passwd plik
kopiuje plik
/etc/passwd
do pliku o nazwie
plik
do katalogu roboczego.
Jeżeli plik docelowy już istnieje, jego zawartość zostanie zmieniona. Należy jednak uważać, aby nie nadpisać
pliku, który zawiera ważne informacje. Zanim skopiujesz plik, użyj polecenia
ls
, aby upewnić się, że żaden plik
nie zostanie nadpisany lub wykorzystaj opcję
–i
polecenia
cp
, która zapyta, czy na pewno chcesz zamienić
istniejący plik.
Zmiana nazwy lub przeniesienie pliku
Aby zmienić nazwę pliku, użyj polecenia
mv
podając nazwę (lub ścieżkę) istniejącego pliku oraz nową nazwę
(lub ścieżkę). Np.
root@debian1: /root#
mv stary_plik nowy_plik
Powoduje zmianę nazwy
stary_plik
na
nowy_plik
. Jeżeli plik docelowy już istnieje, jego zawartość zostanie
zmieniona, należy zatem uważać, aby nie nadpisać pliku, który zawiera ważne informacje. Zanim zmienisz
nazwę pliku, użyj polecenia
ls
, aby upewnić się, że żaden plik nie zostanie nadpisany lub wykorzystaj opcję
–i
polecenia
mv
, która zapyta, czy na pewno chcesz zamienić istniejący plik.
Szukanie pliku
Jeśli znasz nazwę pliku, ale nie wiesz, w którym katalogu się znajduje, możesz posłużyć się poleceniem
find
.
Na przykład
root@debian1: /root#
find . –name 'szukany' –print
próbuje znaleźć plik o nazwie
szukany
w (lub poniżej) katalogu roboczym (
.
). Jeśli plik zostanie znaleziony,
polecenie
find
ma za zadanie podać jego bezwzględną nazwę ścieżki.
Jeśli nie znasz pełnej nazwy pliku (lub kojarzysz tylko część jego nazwy), podaj tylko jej część wraz ze znakiem
„
*
” (asterix ):
root@debian1: /root#
find / -name '*iss*' –print
W tym przykładzie szukamy pliku, który w nazwie posiada litery
iss
,
a przeszukiwanie zaczyna się od głównego
katalogu systemu (
/
).
Drukowanie pliku
Jeśli do komputera podłączona jest drukarka, możesz drukować pliki za pomocą polecenia
lpr
. Np.
root@debian1: /root#
lpr /etc/passwd
spowoduje wysłanie pliku
/etc/passwd
na drukarkę.
Jeśli plik jest dość długi, może minąć trochę czasu, zanim się wydrukuje. W tym czasie możesz wysyłać do
drukarki inne zadania (wydrukować zawartość innych plików). Polecenie
lpq
sprawdza kolejkę drukowania:
root@debian1: /root#
lpq
lp is ready and printing (drukarka jest gotowa i drukuje)
Rank Owner Job Files Total Size
Active root 155 /etc/passwd 1030 bytes
Każde aktywne oraz oczekujące zadanie drukowania posiada numer. Za pomocą polecenia
lprm
możesz
anulować drukowanie pliku podając numer zadania drukowania. Np.
root@debian1: /root#
lprm 155
powoduje przerwanie drukowania zadania numer 155. Jednakże tylko użytkownik, który zażądał drukowania
danego pliku (lub tylko użytkownik specjalny
root
) może anulować zadanie drukowania.
Praca ze skompresowanymi plikami
Kompresja danych służy do oszczędzania miejsca na dysku twardym oraz do przyśpieszenia ściągania plików
z sieci. Z reguły skompresowane pliki z danymi mają zakończenie nazwy
.gz
, jednakże system Linux nie
wymaga przestrzegania tej reguły.
Do rozwinięcia spakowanego pliku stosuje się polecenie
gunzip
. Na przykład załóżmy, że mamy plik
ogromny_plik.gz
. Wpisując polecenie:
root@debian1: /root#
gunzip ogromny_plik.gz
1
asterix — gwiazdka, odsyłacz.
rozpakowujemy plik
ogromny_plik
i usuwamy skompresowany plik
ogromny_plik.gz
.
Do kompresji plików używa się programu
gzip
. Aby skompresować plik
ogromny_plik
, wpisz polecenie:
root@debian1: /root#
gzip ogromny_plik
Tworzy ono plik
ogromny_plik.gz
oraz usuwa
ogromny_plik
.
Czasami wygodnie jest przechowywać kilka plików (lub zawartość kilku katalogów bądź też podkatalogów)
w jednym pliku. Jest to przydatne, na przykład podczas tworzeniu kopii zapasowych plików systemowych lub
przy archiwizacji danych. Polecenie
tar
systemu Linux tworzy pojedynczy plik, który zawiera dane z kilku
plików lub też katalogów. W przeciwieństwie do programu
gzip
polecenie
tar
nie narusza oryginalnych
plików.
W celu utworzenia pliku
tar
(bo tak nazywane są pliki stworzone w wyniku działania polecenia
tar
) wykonaj:
root@debian1: /root#
tar –cvf tarfile files-or-directories
W tym przykładzie
tarfile
oznacza nazwę pliku
tar
, który chcemy utworzyć, a
files-or-directories
określają
listę plików i katalogów, z których ma się składać archiwum oddzielonych od siebie spacją lub tabulatorem.
Możesz używać bezwzględnych oraz względnych nazw ścieżek w celu sprecyzowania plików i katalogów. Z
reguły nazwa pliku archiwum kończy się na
.tar
, ale system Linux nie wymaga przestrzegania tej reguły.
Kolejny przykład. Aby stworzyć plik tar o nazwie
backup.tar
, który zawiera wszystkie pliki ze wszystkich
podkatalogów katalogu
/home/magda
, wpisz:
root@debian1: /root#
tar –cvf backup.tar /home/magda
Polecenie tworzy plik
backup.tar
w bieżącym katalogu roboczym.
Zawartość każdego pliku tar można wyświetlić za pomocą tego samego polecenia w następujący sposób:
root@debian1: /root#
tar –tvf tarfile | more
Polecenie
|
more powoduje wysłanie wyjścia polecenia
tar –tvf
do polecenia
more
tak, że możesz
przewijać strony. Jeśli plik tar zawiera tylko kilka plików, możesz pominąć polecenie
| more
.
Aby rozpakować zawartość archiwum
tar
, użyj polecenia zgodnie ze wzorem:
root@debian1: /root#
tar –xvf tarfile
Polecenia rozpakowuje pliki i katalogi zawarte w pliku
tar
do katalogu roboczego. Jeśli jakiś plik
lub katalog już istnieje, zostanie on zmieniony bez jakiegokolwiek ostrzeżenia.
Polecenie
tar
posiada wiele pożytecznych opcji i argumentów, których można używać podczas tworzenia
archiwum. Aby poznać je wszystkie, zajrzyj do stron podręcznika systemowego tego polecenia.
Popularną metodą jest kompresja archiwów
tar
. Można tego dokonać w bardzo łatwy sposób, mianowicie
zamieniając opcję
–cvf
na opcję
–czvf
. Nazwy tak spakowanych archiwów są z reguły zakończone
.tgz
. W
celu zdekompresowania i rozpakowania skompresowanego archiwum tar posłuż się opcją
–xzvf
zamiast
-
xvf
.
Polecenie
tar
nie używa popularnej metody kompresji ZIP, która jest powszechną w środowisku Microsoft
Windows. Jednakże Linux może z łatwością operować i tworzyć pliki przy użyciu tej metody. W celu
utworzenia pliku
ZIP
, który będzie zawierał skompresowane pliki lub katalogi zainicjuj następujące polecenie:
root@debian1: /root#
zip –r zipfile files_to_zip
gdzie
zipfile
określa nazwę skompresowanego pliku ZIP, a
files_to_zip
oznacza pliki i katalogi, które
mają zostać skompresowane.
Aby zdekompresować istniejący plik ZIP, wydaj polecenie:
root@debian1: /root#
unzip zipfile
Dowiązania
Microsoft Windows 9x posiada funkcję zwaną skrótem, która pozwala odwołać się do pliku lub katalogu
(w przypadku tego systemu — folderu) poprzez kilka nazw. Skróty umożliwiają także na umieszczenie pliku w
innych katalogach . W systemie Linux można osiągnąć podobne rezultaty (jeśli nie identyczne) za pomocą
polecenia
ln
, które łączy wiele nazw w jeden plik lub katalog. Te nazwy są określane mianem
dowiązań
symbolicznych
.
Aby połączyć nową nazwę z istniejącym plikiem lub katalogiem, wpisz polecenie
ln
według wzoru:
root@debian1: /root#
ln –s stary nowy
gdzie
stary
oznacza istniejący plik, a
nowy
oznacza nowy plik (dowiązanie).
Na przykład załóżmy, że katalog roboczy zawiera plik
mirek
. Aby móc odwołać się do tego pliku poprzez
alternatywną nazwę
hirek
, wpisz:
root@debian1: /root#
ln –s mirek hirek
Rezultat naszych działań:
root@debian1: /root#
ls –l
lrwxrwxrwx 1 root root 7 Feb 27 13:58 hirek->mirek
-rw-r--r-- 1 root root 1030 Feb 27 12:15 mirek
Nowy plik
hirek
został określony poprzez typ
l
, co oznacza, że jest to dowiązanie, a nie zwykły plik czy
katalog. Co więcej, polecenie
ls
ukazuje nazwę pliku, do którego dowiązanie się odwołuje (mirek).
Jeśli pominiemy opcję
–s
, system utworzy tak zwane dowiązanie sztywne (lub twarde), które musi być
przechowywane w tym samym systemie plików, w którym zostało stworzone. Tym właśnie różni się on od
dowiązania symbolicznego. Ilość zliczanych odwołań do dowiązania, która jest wyświetlana przez polecenie
ls
odnosi się tylko do dowiązań sztywnych; linki symboliczne są ignorowane.
Prawa dostępu do plików i katalogów
W przeciwieństwie do Windows 98, ale podobnie jak Windows NT oraz inne odmiany Unixa, system Linux jest
wieloużytkownikowym systemem operacyjnym. Z tego względu posiada on mechanizmy, które chronią dane
przed nieautoryzowanym dostępem. Główny mechanizm ochronny ogranicza dostęp do plików i katalogów,
bazując na identyfikacji użytkownika, który domaga się dostępu do danych oraz na trybie dostępu do każdego
pliku i katalogu — tryb ten często jest nazywany prawem dostępu.
Każdy katalog i plik posiada użytkownika zwanego właścicielem, który stworzył dany plik lub katalog.
Natomiast każdy użytkownik należy do jednego lub więcej zbioru użytkowników zwanego grupą. Każdy katalog
i plik posiada związaną z nim grupę, która jest przypisywana danemu plikowi lub katalogowi podczas jego
tworzenia.
Grupy mogą być używane do umożliwienia użytkownikom innym niż root wykonywania zadań
administracyjnych. Na przykład Debian GNU/Linux posiada grupę zwaną
dialout
; tylko członkowie tej
grupy oraz
root
mogą uzyskać dostęp do urządzenia modemowego w celu zainicjowania połączenia
telefonicznego. Poprzez zezwolenie tylko członkom poszczególnych grup na dostęp do określonego programu
lub urządzenia możesz ustanowić elastyczny i bardzo efektywny system ochronny.
Aby ograniczyć dostęp do pliku lub katalogu, ustawia się prawa dostępu. Tabela 4.4 przedstawia wszystkie
możliwe prawa oraz wyjaśnia ich znaczenie. Zauważ, że prawa działają inaczej dla katalogów i dla plików. Na
przykład prawo czytania
r
oznacza możliwość wyświetlenia zawartości katalogu lub możliwość przeczytania
zawartości pliku. Plik i katalog mogą mieć ustawione więcej niż jedno prawo dostępu (maksymalnie trzy).
Obowiązują tylko prawa nadane; jakiekolwiek inne operacje są niedozwolone, np. użytkownik, który posiada
prawo
rw
do pliku może przeczytać zawartość tego pliku oraz zapisywać zmiany, ale nie może go uruchomić
(wykonywać).
Tabela 4.4. Prawa dostępu
Prawa Znaczenie
dla
katalogów Znaczenie
dla
plików
r Wyświetlanie zawartości katalogu Czytanie zawartości pliku
w
Tworzenie i usuwanie plików
Zapisywanie zmian
x Dostęp do plików i podkatalogów Wykonywanie
Tryby dostępu katalogu i pliku składają się z trzech grup uprawnień:
Owner
(właściciel)
Odnosi się do właściciela pliku.
Group
(grupa)
Dotyczy użytkowników, którzy są członkami grupy przypisanej do pliku bądź katalogu.
Other
(inni)
Odnosi się do pozostałych użytkowników.
Polecenie
ls
wyświetla tryby dostępu do plików i katalogów w drugiej kolumnie długiego formatu
wyjściowego, tak jak to pokazano na rysunku 4.5. Kolumna składa się z dziewięciu znaków: pierwsze trzy
określają prawa przysługujące właścicielowi pliku lub katalogu, kolejne trzy wyznaczają prawa dostępu dla
użytkowników należących do tej samej grupy, a ostatnie trzy dotyczą pozostałych użytkowników (patrz rysunek
4.6).
[root@debian1/root]# ls –l
total 1524
drwxr-xr-x
5 root
root
1024 Aug 23 13:48 GNUstep
-rw-r—r--
1 root
root
331 Aug 23 15:50 Xrootenv.0
tryby dostępu właściciel grupa
Rysunek 4.5. Tryby dostępu wyświetlane przez polecenie ls
uprawnienia dostępu dla grupy
rwx rw- r--
uprawnienia
uprawnienia dostępu pozostałych użytkowników
dostępu właściciela
Rysunek 4.6. Tryby dostępu określają trzy uprawnienia
Tryby dostępu są ustawiane dla katalogów lub plików za pomocą polecenia
chmod
, którego używamy według
wzoru:
chmod
nnn directory-or-file (katalog-lub-plik)
Argument nnn jest trzycyfrowym numerem, który podaje tryb dostępu dla właściciela, grupy oraz pozostałych
użytkowników. Tabela 4.5 przedstawia każdą możliwą cyfrę oraz jej odpowiednik prawa dostępu. Na przykład,
argument 751 jest odpowiednikiem dla
rwxr-x--x
, który nadaje właścicielowi wszystkie możliwe prawa
dostępu, grupie daje prawo czytania i wykonywania, a pozostałym użytkownikom tylko prawo wykonywania.
Tabela 4.5. Wartości numeryczne odpowiadające trybom dostępu
Wartość Znaczenie
0
---
1
-x
2
-w-
3
-wx
4
r-
5
r-x
6
rw-
7
rwx
Jeśli jesteś specjalnym użytkownikiem
root
, możesz zmienić prawo własności do pliku lub katalogu za pomocą
polecenia
chown
. Następujące polecenie przypisuje użytkownikowi
ewa
prawo własności do pliku
gorący_kartofel
.
root@debian1: /root#
chown ewa gorący_kartofel
Właściciel pliku lub katalogu (oraz oczywiście użytkownik
root
) może również zmienić grupę przypisaną do
tego pliku lub katalogu. Kolejny przykład przypisuje nową grupę o nazwie
nowag
do pliku
gorący_kartofel
:
root@debian1: /root#
chgrp nowag gorący_kartofel
Grupa, którą przypisujesz do pliku lub katalogu musi istnieć. Obowiązujące w systemie grupy znajdują się w
pliku
/etc/group
, do którego dostęp ma tylko administrator systemu.
Użytkownik root może przypisać dowolnego użytkownika do jednej lub więcej grup. Kiedy logujesz się do
systemu, jesteś domyślnie dopisywany do jednej z założonych grup — grupy logowania. Jeśli chcesz zmienić tę
grupę na inną, do której zostałeś przypisany, użyj polecenia
newgrp
. Na przykład, aby zmienić bieżącą grupę
na inną zwaną
druga_grupa
, zastosuj poniżej podaną składnię:
root@debian1: /root#
newgrp druga_grupa
Jeśli będziesz próbował zmienić grupę na inną, która nie istnieje lub do której nie zostałeś dopisany, powyższe
polecenie zakończy swe działanie komunikatem o błędzie. Tworząc później plik lub katalog, zostanie on
automatycznie przypisany grupie, do której należysz.
Uruchamianie programów
W systemie Linux, podobnie jak w MS-DOS i Microsoft Windows, programy są przechowywane w plikach.
Często można uruchomić program, wpisując jego nazwę w wierszu poleceń. Jednakże takie postępowanie
wynika z założenia, że plik znajduje się w zbiorze katalogów określonych ścieżką dostępu. O katalogu
należącym do tego zbioru mówi się, że znajduje się on na ścieżce. Jeśli pracowałeś kiedyś pod kontrolą systemu
MS-DOS, to zapewne pamiętasz ścieżki systemowe, które podobnie działają w systemie Linux. Więcej na temat
zasad działania i ustalania ścieżek znajdziesz w rozdziale 13.
Jeżeli plik, który chcesz uruchomić nie znajduje się w katalogu ze ścieżki, możesz go wtedy wykonać podając
bezwzględną ścieżkę dostępu do tego pliku. Linux uruchomi wtedy program pomimo tego, że nie znajduje się on
na ścieżce. Jeżeli program, który chcesz uruchomić znajduje się w katalogu roboczym wpisz
./nazwa_programu
.
Zostanie on wykonany pomimo faktu, że nie ma go na ścieżce.
Na przykład załóżmy, że program zwany
konwersja
znajduje się w katalogu
/home/magda
, który jest
aktualnym katalogiem roboczym i że akurat znajduje się on na ścieżce dostępu. Można ten program uruchomić
na kilka sposobów:
root@debian1: /
home/magda
#
konwersja
root@debian1: /
home/magda
#
./konwersja
root@debian1: /
home/magda
#
/home/magda/konwersja
Pierwszy sposób zakłada, że katalog, w którym znajduje się program jest na ścieżce dostępu. Druga metoda
opiera się na założeniu, że program znajduje się w aktualnym katalogu roboczym. Trzeci przypadek nie bierze
pod uwagę żadnych założeń o miejscu lokalizacji pliku (ponieważ miejsce to jest podane za pomocą absolutnej
ścieżki).
Praca z urządzeniami
W podrozdziale przedstawiono polecenia, które operują na urządzeniach. Dowiesz się, jak zamontować i usuwać
urządzenia oraz jak sformatować dyskietkę.
Montowanie i usuwanie napędów
Nie uzyskasz dostępu do partycji dysku twardego, CD-ROM-u lub dyskietki, zanim nie zamontujesz danej
partycji lub napędu. Montowanie napędu sprawdza status danego urządzenia oraz jego gotowość do
użytkowania. System Linux można skonfigurować tak, aby automatycznie montował urządzenie lub partycje
w czasie swojego startu, ale inne urządzenia i partycje należy montować ręcznie.
Uwaga
Jeśli system jest skonfigurowany tak, aby automatycznie montować takie urządzenie, a nośnika nie ma w
urządzeniu, wystąpi błąd. Z tego względu urządzenia, które używają wymienialne nośniki danych (należą do
nich także CD-ROM-y) nie są konfigurowane do automatycznego montowania.
Zanim wyjmiesz nośnik danych z urządzenia, musisz go najpierw odmontować. Linux odmontowuje także
wszystkie urządzenia w trakcie procedury zamykania systemu. Montowanie i odmontowanie urządzeń jest
operacją uprzywilejowaną; zazwyczaj tylko użytkownik
root
może ręcznie zamontować i odmontować
urządzenie.
Do montowania napędów lub partycji służy polecenie
mount
o następującej składni:
root@debian1: /root#
mount
opcje urządzenie katalog
gdzie:
opcje montowania napędu (zazwyczaj określają system plików).
urządzenie (napęd), które chcemy zamontować.
katalog, w którym lub do którego montujemy dany napęd.
Polecenie
mount
posiada wiele opcji, zazwyczaj jednak używamy tego polecenia bez żadnych opcji. Zajrzyj do
stron podręcznika systemowego dla tego polecenia, aby dowiedzieć się, jakich opcji ono używa i do czego służą.
Uwaga
Można używać polecenia
mount
bez żadnych opcji, ponieważ plik
/etc/fstab
określa urządzenia systemowe
oraz rodzaj znajdującego się na nich systemu plików. Jeśli masz zamiar dodać nowy napęd lub partycję do
systemu, zmień zawartość pliku lub sprecyzuj odpowiednie opcje podczas montowania urządzenia (partycji).
Musisz podać urządzenie, które chcesz zamontować oraz katalog zwany punktem montowania (
mount point
).
Aby ułatwić dostęp do różnych urządzeń i partycji, Linux traktuje zamontowane urządzenie jak katalog;
montując dane urządzenie łączysz je z katalogiem o ustalonej nazwie. Na przykład popularną operację
montowania dysku CD-ROM można wykonać, wpisują następujące polecenie:
root@debian1: /root#
mount /dev/cdrom /cdrom
Plik
/dev/cdrom
jest dowiązaniem wskazującym na aktualny plik urządzenia powiązany z urządzeniem CD-
ROM. Katalog
/cdrom
jest katalogiem stworzonym przez program instalacyjny systemu Linux używanym jako
punkt montowania urządzenia CD-ROM. Po wykonaniu polecenia możesz przeglądać pliki i katalogi znajdujące
się na płycie CD-ROM poprzez
/cdrom
tak samo, jak przeglądasz zwykłe pliki i katalogi. Aby wyświetlić
zawartość katalogu głównego płyty CD-ROM, wpisz:
root@debian1: /root#
ls /cdrom
W celu zamontowania dyskietki ze stacji dyskietek a: (litera napędu), wpisz:
root@debian1: /root#
mount /dev/fd0 /floppy
Aby odmontować urządzenie (napęd), podaj jego punkt montowania jako argument polecenia
unmount
. Dla
przykładu usuńmy dysk CD-ROM:
root@debian1: /root#
unmount /cdrom
Teraz dopiero możesz wyjąć płytę CD-ROM z napędu. Tylko użytkownik root może odmontować urządzenie.
Co więcej urządzenie może zostać odmontowane tylko wtedy, gdy nie jest używane. Jeśli na przykład
katalogiem roboczym użytkownika jest punkt montowania (katalog), to dane urządzenie nie może zostać
usunięte.
Uwaga
Jeżeli nie możesz odmontować napędu, to sprawdź każdą wirtualną konsolę, czy aby przypadkiem na którejś
z nich nie ma uruchomionej sesji wykorzystującej punkt montowania jako katalog roboczy. Jeśli tak jest, to
albo zakończ sesję na tej konsoli, albo zmień katalog roboczy na inny nie związany z danym urządzeniem.
Formatowanie dyskietek
Zanim będziesz mógł zapisywać dane na dyskietce, musisz ją najpierw sformatować. Poleceniem systemu Linux
służącym do formatowania dyskietek jest
fdformat
. Po prostu wpisz po nazwie polecenia argument
określający napęd oraz pojemność dyskietki (odpowiednie argumenty określające pojemności dyskietek są
przedstawione w tabeli 4.6). Sformatujmy dla przykładu dyskietkę o pojemności 1,44 MB w napędzie (A:) stacji
dyskietek:
root@debian1: /root#
fdformat /dev/fd0H1440
Kiedy już sformatujesz dyskietkę, możesz ją zamontować (zauważ, że formatujesz niezamontowany dysk!),
a potem zapisywać i odczytywać dane z dyskietki. Upewnij się, że odmontowałeś dyskietkę, zanim wyjmiesz ją
z napędu. Odmontowanie dyskietki zapewnia, że wszystkie dane zostały zapisane na nośniku (system Linux
najpierw wrzuca dane do pamięci RAM, a dopiero przy odmontowywaniu zapisuje na dyskietkę); w przeciwnym
przypadku dyskietka może okazać się bezużyteczna ze względu na złe dane.
Tabela 4.6. Desygnatory stacji dyskietek
Oznaczenie Znaczenie
/dev/fd0 Dyskietka
3,5
cala w stacji A: (1,44 MB)
/dev/fd0d360 Dyskietka
5,25
cala w stacji A: (360 kB)
/dev/fd0D720 Dyskietka
3,5
cala w stacji A: (720 kB)
/dev/fd0h1200
Dyskietka 5,25 cala w stacji A: (1,2 MB)
/dev/fd0H1440
Dyskietka 3,5 cala w stacji A: (1,44 MB)
/dev/fd0H2880
Dyskietka 3,5 cala w stacji A: (2,88 MB)
/dev/fd1 Dyskietka
3,5
cala w stacji B: (1,44 MB)
/dev/fd1d360
Dyskietka 5,25 cala w stacji B: (360 kB)
/dev/fd1D720 Dyskietka
3,5
cala w stacji B: (720 kB)
/dev/fd1h1200
Dyskietka 5,25 cala w stacji B: (1,2 MB)
/dev/fd1H1440
Dyskietka 3,5 cala w stacji B: (1,44 MB)
/dev/fd1H2880
Dyskietka 3,5 cala w stacji B: (2,88 MB)
Użyteczne programy systemu Linux
Podrozdział opisuje kilka programów, które mogą się przydać podczas pracy w systemie Linux. Poznasz kilka
poleceń raportujących stan systemu oraz nauczysz się obsługiwać prosty edytor tekstowy
ae
.
Oglądanie informacji systemowych
Linux ma wiele poleceń, które umożliwiają wykonanie raportu o stanie systemu. Najbardziej powszechne
programy są przedstawione w tabeli 4.7. Pozwalają one zlokalizować problemy i zidentyfikować zatory zasobów
systemowych. Chociaż każde polecenie może być użyte bez opcji i argumentów, to posiadają one kilka opcji
i argumentów, które pozwalają szybciej wykonywać żądaną operację oraz dają dokładniejsze wyniki. Zajrzyj do
odpowiednich stron podręcznika systemowego po więcej szczegółów na temat opcji tych programów.
Tabela 4.7. Pożyteczne polecenia systemu Linux
Polecenie Opis
df
Pokazuje ilość wolnego i zajętego miejsca (jako 1k-bloki) na każdym zamontowanym
systemie plików.
du
Pokazuje ilość miejsca na dysku (jako 1k-bloki) używanego przez katalog roboczy i
jego podkatalogi.
free
Statystyka wykorzystania pamięci, wraz z całkowitą ilością wolnej pamięci, pamięci
używanej, pamięci fizycznej, dzielonej, podręcznej (swap) oraz buforów pamięci
używanych przez jądro systemu (kernel).
ps
Wyświetla aktywne procesy systemu (żądania działających programów), związane z
aktualną sesją. Opcja
–a
pozwala na wyświetlenie wszystkich procesów systemu.
top
Przedstawia aktualizowane na bieżąco aktywne procesy oraz zasoby przez nie
wykorzystywane. Wpisz
q
, aby wyjść z programu.
uptime
Pokazuje obecny czas, czas trwania sesji, liczbę użytkowników zalogowanych oraz
przeciętne obciążenie systemu.
users
Wyświetla każdą sesję logowania.
w
Przedstawia podsumowanie wykorzystania systemu, obecnie zalogowanych
użytkowników oraz aktywne procesy.
who
Wyświetla nazwy zalogowanych użytkowników, nazwy terminali, z których
korzystają, czas trwania sesji poszczególnych użytkowników oraz nazwę komputera z
którego się zalogował (jeśli istnieje).
Praca z edytorem ae
Edytor
ae
jest prostym edytorem tekstowym systemu Linux, o którym można powiedzieć, że jest
odpowiednikiem dodatkowego programu Notepad systemu Microsoft Windows. Aby go uruchomić, wpisz po
prostu
ae
w wierszu poleceń powłoki lub jeśli chcesz edytować określony, plik wpisz nazwę pliku tuż za nazwą
programu (lub ścieżkę dostępu do pliku
ae
, jeśli nie znajduje się on w aktualnym katalogu roboczym). Na
przykład, aby edytować plik
moje_dane
, wpisz:
root@debian1: /root#
ae moje_dane
Rysunek 4.7 ukazuje standardowy ekran edytora
ae
. Na samej górze ekranu
ae
znajduje się wiersz stanu, który
pokazuje nazwę oraz aktualny rozmiar edytowanego pliku. Jeśli plik był modyfikowany, to na pasku stanu
pojawi się słowo
Modified
(zmodyfikowany). Poniżej wiersza stanu znajduje się lista dostępnych poleceń edycji.
Większość z nich wymaga przyciśnięcia klawisza
Ctrl
po to, aby polecenia mogły zostać odróżnione od
zwykłych znaków wstawianych do bufora pliku. Na przykład
^X
oznacza kombinację klawiszy
Ctrl+X
. Aby
zapisać aktualny stan pliku, naciśnij najpierw
Ctrl+X
, a następnie
Ctrl+S
. Wpisywane zwykłe znaki są
wstawiane w obecnej pozycji kursora. Możesz użyć klawiszy kursora (strzałek) do przemieszczania się po
ekranie edytora; a klawiszy
Delete
lub
Backspace
do usuwania niechcianych znaków. Tabela 4.8 podsumowuje
najczęściej używane polecenia edytora
ae
.
Rysunek 4.7. Edytor ae
Tabela 4.8. Podstawowe komendy edytora ae
Komenda Opis
Ctrl+X I
Wczytanie pliku do edytora
Ctrl+X Ctrl+S
Zapisanie obecnego pliku
Ctrl+X Ctrl+C
Zapisanie pliku i wyjście z edytora
Ctrl+Q
Zakończenie pracy edytora bez zapisywania zmian
Ctrl+L
Odświeżenie ekranu
Polskie znaki na konsoli
Debian GNU/Linux jest w pełni spolonizowanym systemem, ponieważ posiada przetłumaczony interfejs
(znakowy i graficzny). Nie oznacza to, że wszystkie programy dostarczone wraz z dystrybucją będą
komunikowały się z użytkownikiem w jego języku ojczystym. W poniższych podrozdziałach opisano, co należy
zrobić, aby na konsoli graficznej można było używać polskich znaków.
Ustawienia językowe i kulturowe
W systemie Linux istnieją trzy metody dostosowywania programów do reguł językowych i kulturowych. Są to
L10N
,
I18N
,
M17N
. Nas interesuje tylko druga metoda, ponieważ programy, które spełniają wymogi
muszą
być przystosowane do obsługi wielu języków lub systemów kodowania, pod warunkiem że jednocześnie mogą
być wykorzystywane tylko dwa z nich (w tym jeden to język angielski).
I18N
System Linux obsługuje bezpośrednio
metodę
I18N
poprzez mechanizmy
locale
i
gettext
.
Mechanizm locale
Zastosowanie tego mechanizmu umożliwia dostosowanie programu do reguł językowych i kulturowych danego
kraju. Za jego pomocą możemy określić format wyświetlania daty i czasu, jednostkę monetarną, a nawet sposób,
w jaki mają być sortowane wyrazy. Wyboru dokonuje się poprzez zdefiniowanie odpowiednich zmiennych
środowiskowych; zmienne te nie zostaną tu wymienione oprócz jednej:
LC_ALL
. Jest to zmienna globalna
ustalająca wszystkie zmienne mechanizmu locale. Wartość tej zmiennej dla polskich ustawień to
pl_PL
, wpisać
ją należy do plików:
/etc/profile
i (lub)
/etc/environment
. Pierwszy plik jest wczytywany podczas startu powłoki
bash
, natomiast drugi przy uruchamianiu serwera X Window.
Aby określić język polski i inne ustawienia narodowe na konsoli, należy w pliku
/etc/profile
wprowadzić
następujący tekst:
LC_ALL=pl_PL
export pl_PL
Po ustaleniu głównego języka należy skonfigurować polskie znaki i fonty, tak aby były poprawnie wyświetlane
na ekranie monitora.
Konfiguracja fontów i znaków diakrytycznych
Do ustawienia polskich znaków i fontów potrzebne są następujące pakiety:
console-tools
console-tools-libs
console-data
fonty
Pliki konfiguracyjne tych pakietów znajdują się w katalogu
/etc/console-tools
. Najważniejsze z nich to: plik
default.kmap.gz
, który zawiera definicję układu klawiatury oraz plik
config
, który jest używany do ustawiania
fontów. Pliki te są czytane podczas startu systemu przez skrypty startowe.
Pamiętasz z poprzedniego rozdziału, że układ klawiatury jest wybierany na początku instalacji systemu i jest to
qwerty/pl
. Możesz zmienić układ klawiatury, jeśli nie wybrałeś
qwerty/pl
. Aby tego dokonać, musisz zamienić
plik
/etc/console-tools/default.kmap.gz
na
/usr/share/keymaps/i386/qwerty/pl.kmap.gz
.
Kolejnym krokiem jest wybranie odpowiednich fontów. Dokonuje się tego podczas instalacji pakietu
fonty
;
jeśli tego nie zrobiłeś lub podczas instalacji tego pakietu wybrałeś fonty inne niż
iso2
, uruchom program
dpkg
:
dpkg-reconfigure fonty
i wybierz fonty
iso2
dla wszystkich sześciu konsoli.
Następnie, aby uruchomić wprowadzone zmiany, musisz ponownie uruchomić skrypty systemowe:
keymaps-
lct.sh
oraz
console-screen.sh
, wydając następujące polecenie:
/etc/init.d/keymaps-lct.sh
/etc/init.d/console-screen.sh
Ponieważ w pliku
/etc/locale
masz już zmienną określającą język i inne ustawienia narodowe, możesz również
zrestartować system, co spowoduje automatyczne uruchomienie skryptów.
Teraz za pomocą klawisza
Alt
możesz wprowadzać wszystkie polskie znaki diakrytyczne na konsoli, co więcej
możesz podawać polskie nazwy plików.
Rozdział 5.
Instalacja i konfiguracja systemu
X Window
Rozdział ten wyjaśni, jak zainstalować, skonfigurować i użytkować system X Window (często nazywanego po
prostu X). Kiedy system X jest skonfigurowany i uruchomiony, możesz ustawić kilka opcji dotyczących sposobu
jego uruchamiania. Opcje są szczegółowo opisane, a wraz z nimi przedstawiono dodatkowo kilka pomocniczych
sztuczek służących do optymalizacji pracy i wydajności środowiska X.
X — co to jest?
X jest standardowym graficznym interfejsem użytkownika dla systemu Linux. Podobnie jak inne graficzne
interfejsy, takie jak Microsoft Windows czy Mac OS, system X pozwala na interakcję z programami za pomocą
myszy, umożliwiając w ten sposób prostą komunikację z komputerem.
Pierwsza wersja systemu X Window została wydana w 1987 roku jako wspólny projekt firmy Digital Equipment
Corporation i Instytutu Technologii w Massachusetts. Później powstało Konsorcjum X, Inc., które jest
odpowiedzialne za rozwój i publikację nowych wersji tego systemu.
Pomimo swego wieku, X jest znakomitym i bardzo nowoczesnym oprogramowaniem systemowym:
wieloplatformowym, zorientowanym sieciowo graficznym interfejsem użytkownika. Można go zainstalować i
uruchomić na różnych rodzajach platform, włączając każdą odmianę systemu Unix. X-klienty są dostępne dla
użytkowników takich systemów jak Windows 3.x, 9x oraz NT. Wyszukane właściwości sieciowe systemu X
pozwalają uruchomić go na jednym komputerze, a wyjście wysłać do drugiego komputera-klienta połączonego z
pierwszym poprzez sieci (LAN, WAN). Wraz z powstaniem sieci Internet, która łączy sporą część komputerów
tej planety, system X osiągnął nowe znaczenie i potęgę.
Większość użytkowników systemu Linux pracuje z XFree86, oprogramowaniem freeware kompatybilnym z
systemem X Window. XFree86 został zaprojektowany przez firmę o tej samej nazwie, która rozpoczęła swoją
działalność w 1992 roku. W 1994 r. powstał projekt XFree86, który przyjął za cel badania i rozwój systemu tego
systemu.
Instalacja systemu X
Poprawne skonfigurowanie i uruchomienie systemu X Window było niegdyś prawdziwym wyzwaniem dla
użytkowników systemu Linux — prawie ceremonią. Obecnie dostępne są sterowniki do wielu urządzeń, a
narzędzia konfiguracyjne asystujące w procesie instalacji zostały bardzo poprawione. Ciągle jednak instalacja i
konfiguracja potrafi być zaskakująca — zwłaszcza przy słabym sprzęcie — ale nie jest już zniechęcającym
procesem, jakim była kiedyś.
Aby uruchomić środowisko X, trzeba przebrnąć przez dwa etapy. Pierwszy z nich wymaga instalacji
odpowiednich programów, które umożliwiają uruchomienie systemu X. Można je podzielić na następujące
kategorie:
• podstawowy program XFree86,
• serwery X,
• menedżery okien,
• aplikacje,
• fonty.
Etap ten jest bardzo prosty i może stać się częścią podstawowej instalacji systemu Linux, jeśli w jej trakcie
wybierzesz odpowiednie pakiety X.
W drugim etapie konfigurujesz system X, aby prawidłowo działał w systemie. Jest to kwestia wyboru serwera X
kompatybilnego z posiadaną kartą graficzną i dostrojenia go do możliwości oferowanych przez tę kartę. Jeśli
posiadasz powszechnie używaną kartę graficzną wraz z całą dokumentacją, to etap ten nie będzie zbyt trudny.
Jednak bez dokumentacji proces ten może okazać się bardzo trudny, ale nie jest niemożliwy.
Jak pokazano w dodatku C „Narzędzia do zarządzania pakietami Debiana”, system X Window składa się z wielu
pakietów.
Po zainstalowaniu żądanych pakietów możesz przystąpić do konfiguracji środowiska X Window.
Uwaga
Powinieneś zachować szczególną ostrożność podczas konfiguracji systemu X Window. Jeśli bowiem
skonfigurujesz go nieprawidłowo lub nie do końca, możesz trwale uszkodzić komputer. Zwłaszcza jeśli
skonfigurujesz monitor z częstotliwością odświeżania, która przekracza jego możliwości — może on ulec
uszkodzeniu. Starsze monitory o stałej częstotliwości odświeżania są szczególnie podatne na taki rodzaj
zniszczeń. Autor i wydawca postarali się, aby ten rozdział stał się jak najbardziej zrozumiały i przejrzysty, ale
ich wysiłek nie zapewni, że przedstawione procedury będą poprawnie działać na twoim komputerze. Wobec
powyższego autor i wydawca nie mogą wziąć odpowiedzialności za uszkodzenia powodowane złą instalacją i
konfiguracją systemu X Window.
Jeśli posiadasz kartę lub monitor nieznanego producenta (lub niespotykany model) i czujesz, że musisz
zgadywać opcje konfiguracyjne, to zacznij od niskich wartości i zwiększając je, poszukaj wartości
optymalnych. Nie pozwól, aby monitor, który wyświetla zniekształcony obraz, działał dłużej niż przez czas
potrzebny na wyciągnięcie kabla zasilającego z gniazdka!
Konfiguracja X
Kiedy zainstalujesz pakiet
xserver-common
, automatycznie uruchomi się program
xf86config
. Jednakże
możesz uruchomić ten program w dowolnym momencie. Aby tego dokonać np. teraz, zaloguj się na konto
użytkownika
root
i wydaj polecenie:
xf86config
Rysunek 5.1 przedstawia startowe okno dialogowe
xf86config
. Jak zauważyłeś, jest to program trybu
tekstowego, który nie współpracuje z myszą; zadaje pytania w stylu zwanym dalekopisem za pomocą czarno-
białego trybu wyświetlania znaków.
Uwaga
Podczas pracy z programem
xf86config
może się okazać, że klawisz
Backspace
nie działa tak jak powinien.
Jeśli się tak zdarzy, użyj kombinacji klawiszy
Ctrl+Backspace
.
Rysunek 5.1. Ekran startowy programu xf86config
Pierwszym krokiem jest określenie rodzaju używanej myszki, podłączonej do komputera (spójrz rysunek 5.2).
Wprowadź liczbę odpowiadającą typowi posiadanej myszy i wciśnij
Enter
. Dla urządzeń wskazujących
zastępujących mysz (np. w laptopach) powinieneś wybrać rodzaj PS/2.
Rysunek 5.2. Określanie typu posiadanej myszki
Jeśli wybrałeś mysz Logitech MouseMan, możesz włączyć obsługę trzeciego przycisku, udzielając twierdzącej
odpowiedzi na pytanie, czy ChordMiddle powinien zostać włączony, co przedstawia rysunek 5.3.
Rysunek 5.3. Włączanie opcji ChordMiddle
Jeśli mysz posiada tylko dwa przyciski, możesz włączyć emulację trzeciego, udzielając twierdzącej odpowiedzi
na pytanie o Emulate3Buttons; tak jak to ilustruje rysunek 5.4. Jeśli włączysz tę opcję, możesz jednocześnie
przycisnąć oba przyciski myszy, aby emulować działanie przycisku trzeciego.
Rysunek 5.4. Włączanie emulacji przycisku trzeciego myszy
Następnie, jak pokazano na rysunku 5.5, musisz podać plik urządzenia odpowiadający myszce. Program
instalacyjny powinien przypisać domyślnie do myszy systemowej plik
/dev/mouse
. Jeśli się zgadzasz, naciśnij
Enter
, aby przejść do kolejnego etapu.
Rysunek 5.5. Określanie pliku urządzenia dla myszki
Przedstawiony na rysunku 5.6 obrazek ilustruje włączanie obsługi klawiatury rozszerzonej. Jeśli posiadasz
specjalną klawiaturę, która pozwala na używanie znaków narodowych, możesz odpowiedzieć twierdząco na
kolejne pytanie, aby włączyć program
xkb
, który upraszcza zmianę mapowania klawiatury. Po dokonaniu
wyboru wciśnij
Enter
.
Rysunek 5.6 Włączanie obsługi klawiatury rozszerzonej
Jak pokazuje rysunek 5.7
xkb
, współpracuje z różnymi systemami kodowania klawiatury lub mapowania
klawiszy. Wpisz liczbę odpowiadającą podłączonej do komputera klawiaturze i naciśnij
Enter
.
Rysunek 5.7. Określanie rodzaju klawiatury
Następnie, jak pokazuje rysunek 5.8, musisz podać dwa parametry charakteryzujące monitor: częstotliwość
odświeżania (
VertRefresh
) i częstotliwość synchronizacji poziomej (
HorizSync
). Wartości te możesz znaleźć:
• w dokumentacji dostarczonej z monitorem;
• w pliku
/usr/doc/xserver-common/Monitors.gz
, który to plik może zawierać informacje o monitorze
(użyj polecenia
gunzip
do rozpakowania pliku i dowolnego edytora do jego przeczytania);
• na stronie WWW producenta monitora;
• na grupach dyskusyjnych, np.
comp.os.linux.setup
;
• w dziale technicznym producenta monitora, żądając odpowiednich informacji lub dostarczenia
dokumentacji (jeśli nie otrzymałeś takiej wraz z monitorem).
Aby określić parametry monitora, wciśnij
Enter
.
Rysunek 5.8. Przygotowanie do określenia parametrów monitora
Najpierw podajemy częstotliwość synchronizacji poziomej monitora, co przedstawia rysunek 5.9. Wpisz liczbę
odpowiadającą posiadanemu monitorowi i wciśnij
Enter
. Jeśli nie jesteś pewien, jaka to jest wartość, ale wiesz,
że monitor pozwala wyświetlać obraz z rozdzielczością np. 800
×600, podaj liczbę
2
. Jeśli chcesz podać wartość
inną niż podaje program, wpisz liczbę
11
. Zostaniesz wtedy poproszony o podanie wartości najniższych i
najwyższych (przedziału) częstotliwości synchronizacji poziomej.
Uwaga
Często podobne modele monitorów mają bardzo różne wartości częstotliwości synchronizacji poziomej.
Ważne jest, abyś prawidłowo określił ten parametr. Jeśli źle skonfigurujesz system X Window, możesz
doprowadzić do uszkodzenia monitora.
Rysunek 5.9. Określanie horyzontalnej częstotliwości synchronizacji
Kolejny rysunek przedstawia wybór częstotliwości odświeżania. Wpisz numer odpowiadający wartości monitora
i wciśnij
Enter
. Jeśli nie jesteś pewien wartości tego parametru, podaj liczbę
1
, która jest wartością
najbezpieczniejszą. Aby podać wartość, która nie znajduje się na wyświetlonej liście, podaj liczbę
5
. Zostaniesz
wtedy poproszony o podanie przedziału wartości (od najniższej do najwyższej) częstotliwości odświeżania.
Rysunek 5.10. Określanie wartości pionowej częstotliwości odświeżania
Teraz możesz określić identyfikacje i łańcuchy opisujące monitor, co pokazuje rysunek 5.11. Możesz
wprowadzać dowolny tekst, jaki tylko zechcesz. Po wprowadzeniu wszystkich wartości naciśnij
Enter
.
Rysunek 5.11. Określanie identyfikatorów i łańcuchów opisujących model monitora
Następnym krokiem jest sprecyzowanie modelu karty graficznej i jej charakterystyki. Objaśnienia programu
xf86config
, przedstawione na rysunku 5.12, wskazują, że model karty możesz wybrać z bazy danych kart
graficznych. Jednakże, nawet jeśli tak zrobisz, otrzymasz możliwość wprowadzenia wartości niestandardowych.
Jeśli nie masz powodów ku temu, nie powinieneś zmieniać wartości podanych w bazie danych kart graficznych.
Co więcej, podczas wybierania z bazy danych rekordu odpowiadającego typowi posiadanej karty graficznej
powinieneś uważać, ponieważ podobne nazwy modeli mogą mieć znacząco różną charakterystykę sprzętową (i
nie tylko sprzętową).
Rysunek 5.12. Przygotowanie do wyboru karty graficznej z bazy danych kart
Następny rysunek przedstawia ekran używany do wyboru modelu karty graficznej. Wpisz po prostu liczbę
odpowiadającą modelowi karty graficznej i wciśnij
Enter
. Jeśli podejrzewasz, że szukana karta graficzna
znajduje się na kolejnej stronie bazy, wciśnij klawisz
Enter
, aby przejść stronę dalej; jeżeli pominiesz stronę, na
której znajduje się model używanej karty, przejdź do samego końca bazy, skąd automatycznie zostaniesz
przeniesiony na początek.
Rysunek 5.13. Przeglądanie bazy danych w poszukiwaniu modelu karty graficznej
Po wybraniu modelu karty graficznej program
xf86config
potwierdza ten fakt. Tak jak pokazuje to rysunek
5.14,
xf86config
może proponować ustalenie dodatkowych wartości, np. „Do NOT Probe clocks” (nie badaj
częstotliwości zegarów).
Rysunek 5.14. Potwierdzenie wyboru modelu karty graficznej
Kolejnym krokiem jest wybór X-serwera, którego chcesz używać; ten etap przedstawia rysunek 5.15. Tabeli C.1
pomoże określić odpowiedni i prawidłowy serwer X. Wpisz liczbę powiązaną z konkretnym typem serwera i
naciśnij
Enter
. Jeśli wybrałeś
4
, zostaniesz poproszony o wybór serwera akceleratora. Jeśli natomiast nie jesteś
pewien, jaki serwer wybrać, podaj liczbę
3
— serwer XF86_SVGA; jeśli masz starszą kartę grafiki lub monitor,
to będą one wolały używać serwera X SVGA (256 kolorów).
Rysunek 5.15. Wybieranie odpowiedniego serwera X
Następnie, jak przedstawia rysunek 5.16,
xf86config
zadaje pytanie, czy powinien zastąpić pierwszy wiersz
w pliku
/etc/X11/server
w taki sposób, aby wskazywał nowy serwer X. Odpowiedz
y
i wciśnij
Enter
.
Rysunek 5.16. Zapisywanie informacji o serwerze X w pliku /etc/X11/server
Podaj ilość pamięci zainstalowanej na karcie wideo, wprowadzając odpowiednią liczbę i naciśnij
Enter
. Możesz
znaleźć ten parametr w dokumentacji dołączonej do karty. Jeśli zgubiłeś dokumentację, podaj mniejszą ilość, jak
np.
1024K
. Wybór zbyt małych wartości powoduje, że karta nie pracuje w wysokich rozdzielczościach;
jednakże podawanie zbyt dużych wartości może wywołać tymczasową dysfunkcję karty.
Rysunek 5.17. Podawanie ilości pamięci karty graficznej
Podobnie jak definiowałeś łańcuchy, które identyfikują i opisują monitor, teraz powinieneś określić łańcuchy,
które będą identyfikowały i opisywały kartę graficzną (spójrz rysunek 5.18). Wciśnij
Enter
po wprowadzeniu
każdego łańcucha znaków.
Rysunek 5.18. Wprowadzanie łańcuchów definiujących i opisujących kartę grafiki
Jeśli wybrałeś serwer akceleratora, możesz wprowadzić wartości dla RAMDAC-a, co pokazuje rysunek 5.19.
Niektóre serwery SVGA również obsługują RAMDAC. Jeśli nie używasz serwera akceleratora, możesz nacisnąć
q
, a następnie
Enter
, aby ominąć ten krok. W przeciwnym przypadku wprowadź liczbę odpowiadającą
wybranemu RAMDAC-owi używanemu przez kartę graficzną i wciśnij
Enter
. Określenie właściwego chipsetu
RAMDAC może być nieco kłopotliwe. Opis podany w liście wymienionych chipsetów RAMDAC odnosi się
tylko do nazwy dla konkretnej karty. Jeśli możesz, obejrzyj dokładnie kartę graficzną, żeby sprawdzić, czy ma
jakiś napis zgodny z napisem z listy. Jeśli nie możesz, naciśnij
q
i następnie
Enter
, pomijając tym samym
określanie chisetu RAMDAC. System X automatycznie wykryje większość kości RAMDAC, zatem pominięcie
tego kroku nie spowoduje zmniejszenia jakości wyświetlanego obrazu ani wydajności karty graficznej.
Rysunek 5.19. Określanie ustawień RAMDAC
Rysunek 5.20 przedstawia ekran, za pomocą którego możesz określić programowalny chipset taktujący używany
przez kartę grafiki. Większość kart nie ma takiego układu i wymaga wprowadzenia wiersza
Clocks
w pliku
konfiguracyjnym systemu X. Jeśli karta nie posiada takiego układu, naciśnij
q
i
Enter,
aby kontynuować, w
przeciwnym przypadku wprowadź liczbę odpowiadającą programowalnemu chipsetowi taktującemu, a następnie
wciśnij
Enter
.
Rysunek 5.20. Określanie chipsetu taktującego
Następnie program
spyta, czy chcesz zbadać kartę w celu sprawdzenia odpowiedniego
taktowania zegara
xf86config
(rysunek 5.21). Jeśli wybrałeś odpowiedni programowalny chipset taktujący, możesz ominąć
ten punkt, wpisując
n
i naciskając
Enter
. Powinieneś ominąć ten punkt także w przypadku, gdy wcześniej
zanotowałeś, że badanie karty nie jest dla niej pożądanym działaniem.
Uwaga
Możesz czasami poprawić taktowanie zegara, zwiększając ten parametr poprzez badanie karty po
zakończeniu programu
xf86config
. Wystarczy do pliku konfiguracyjnego systemu X wprowadzić wiersz
Clocks
wraz z odpowiednią wartością. Więcej informacji na ten temat znajdziesz w dokumentacji dołączonej
do systemu X.
W każdym innym przypadku powinieneś pozwolić programowi
xf86config
na zbadanie karty w celu
określenia odpowiedniego taktowania zegara: naciśnij
y
, a potem
Enter
.
Rysunek 5.21. xf86config pyta, czy automatycznie zbadać częstotliwość zegara
Uwaga
Jeśli
xf86config
wciąż bada kartę, a ekran pozostaje czarny (przez ponad 30 sekund), natychmiast przerwij
badanie i wyłącz monitor — wciśnij kombinację klawiszy
Ctrl+C
i włącz ponownie monitor. Jeśli bowiem
zdarzy się tak, że badanie zawiedzie, może to kosztować utratę monitora.
W kolejnym etapie możesz podać głębię koloru i rozdzielczość, z jaką obraz będzie wyświetlany przez system X
( patrz rysunek 5.22). Domyślne wartości programu
xf86config
powinny być odpowiednie; wpisz
5
i
naciśnij
Enter
, aby kontynuować. Jednakże możesz zmienić rozdzielczość dozwoloną dla danej głębi koloru,
wprowadzając odpowiednią liczbę kolorów i żądaną (ale dozwoloną) rozdzielczość.
Rysunek 5.22. Określanie trybów wyświetlania w systemie X
Program
xf86config
jest gotowy zapisać zmiany do pliku konfiguracyjnego (rysunek 5.23). Zazwyczaj
powinieneś pozwolić systemowi na zapisanie konfigurację do pliku
/etc/X11/XF86Config
; wpisz
y
i wciśnij
Enter
. Jeśli jednak wolisz, możesz wpisać
n
i podać inną nazwę pliku i lokalizację.
Rysunek 5.23. Zapisywanie pliku konfiguracyjnego
Kiedy już program
xf86config
zakończy konfigurację, możesz uruchomić system X Window
Uruchamianie i zamykanie systemu X Window
Po skonfigurowaniu X za pomocą
xf86config
będziesz pewnie ciekaw, jak działa. Aby uruchomić X-y,
wpisz polecenie:
startx
Obraz powinien na krótko zniknąć, a następnie ujrzysz graficzne środowisko X. W następnym rozdziale dowiesz
się, jak efektywnie korzystać ze wszystkich jego możliwości.
Uwaga
Jeśli ekran zniknął i już się nie pojawił przez następne 30 sekund, konfiguracja systemu X może być błędna —
natychmiast wyłącz monitor lub zamknij sesję X, wciskając
Ctrl+Alt+Backspace
.
Aby wyjść z systemu X Window, kliknij myszką na pulpicie, pojawi się menu, z którego wybierz element
Exit
,
Logout
lub
Quit
. X Window zamknie się, system przejdzie w tryb interfejsu tekstowego i wyświetlony zostanie
znak zachęty.
Polonizacja systemu X Window
W poprzednim rozdziale wspominałem o pliku
/etc/environment
, który jest wczytywany przy starcie X-serwera.
Plik ten określa ustawienia lokalne dla środowiska X i powinien zawierać następujący wpis:
LC_ALL=pl_PL
Aby jednak środowisko X wyświetlało poprawnie polskie znaki, należy wykonać kilka dodatkowych czynności.
Konfiguracja obsługi polskich znaków w systemie X Window
Do skonfigurowania polskiej klawiatury można użyć programu znakowego
xf86config
lub graficznego
XF86Setup
. Można też za pomocą ulubionego edytora tekstu otworzyć plik
/etc/X11/XF86Config
i ręcznie
dokonać zmian. Sekcje, na które należy zwrócić uwagę, to:
Keyboard
i
Files
.
Sekcja
Keyboard
odpowiada za układ klawiatury. Oto przykładowa zawartość tej sekcji:
Section "Keyboard"
Protocol "Standard"
Auto Repeat 500 5
AltGr ModeShift
XkbRules "xfree86"
XkbModel "pc104"
XkbLayout "pl"
EndSection
Najważniejszy jest tutaj wiersz
XkbLayout
, który definiuje układ klawiatury. Pozostałe wiersze należy ustawić
zgodnie z konfiguracją sprzętową komputera.
Ostatnim problemem jest ustawienie poprawnego wyświetlania polskich fontów. Pakiety zawierające fonty
można pobrać ze strony
http://www.biz.net.pl/
, ale powinny one wchodzić w skład każdej dystrybucji Debiana.
Są to pakiety:
• xfonts-biznet-iso-8859-2-base,
• xfonts-biznet-iso-8859-2-75dpi,
• xfonts-biznet-iso-8859-2-100dpi,
Podczas instalacji pakiety te dodają odpowiednie wpisy w pliku
/etc/X11/XF86Config
, a dokładnie w sekcji
Files
.
Po tych zabiegach polskie znaki diakrytyczne powinny być prawidłowo wyświetlane w środowisku X.
Niektóre programy, jak na przykład StarOffice, używają fontów TrueType (znane z systemu MS Windows).
Zainstaluj serwer fontów, pamiętaj jednak, że serwer
xfs
nie obsługuje tego formatu. Należy więc skorzystać z
trochę słabszego serwera zwanego
xfstt
. Instalujemy go oczywiście za pomocą programu
dselect
. Po
zainstalowaniu serwera
xfstt
czcionki powinny wyglądać o wiele ładniej; jeśli jednak jeszcze nie ma różnicy,
należy do zmiennej
ARG
w pliku startowym tego serwera
/etc/init.d/xfstt
dopisać parametry:
-multi -encoding iso8859-2, windows-1251
Może się zdarzyć tak, że niektóre programy i tak nie będą poprawnie wyświetlać polskich znaków. Należy
wtedy zajrzeć do opcji konfiguracyjnych takiego programu, poszukać opcji wyświetlania fontów i wybrać
ISO8858-2. Czasami jest jednak tak, że program nie obsługuje polskich znaków diaktrycznych i trzeba się z tym
pogodzić.
Rozdział 6.
Praca w graficznym środowisku X
Window
Używanie systemu X Windows oznacza pracę z Linuksem na kilku poziomach. Sam system X umożliwia
wyświetlanie komponentów graficznego interfejsu użytkownika — graficznego ekranu, jego obiektów — oraz
śledzenie takich operacji jak działanie klawiatury i myszy. Do zorganizowania tego wszystkiego w przyjazne
okna, menu oraz paski przewijania system X używa osobnego programu zwanego
menedżerem okien
(
window
manager
). Samodzielnie program ten nie zapewnia ścisłej integracji pomiędzy działającymi w środowisku X
aplikacjami, ten poziom zapewnia coś, co nazywa się
środowiskiem pulpitu
(
desktop environment
). I chociaż X
jest pojedynczym programem, obsługuje wiele menedżerów okien.
Aby pracować w X Window efektywnie, musisz nauczyć się posługiwać klawiaturą i myszą, po to, by łatwo i
szybko komunikować się z systemem. Niezbędne okażą się także menedżery okien i środowiska pulpitu.
Dowiesz się, dlaczego są one pomocne w pracy z X oraz zobaczysz, jak zainstalować i skonfigurować niektóre z
nich.
Klawiatura
Działanie klawiatury w systemie X Window nie różni się od tego w systemie Microsoft Windows. X wysyła
znaki wpisywane z klawiatury do aktywnego okna, o którym mówi się, że posiada tzw.
input focus
(
skupienie
wejścia
). Aktywne okno jest to zazwyczaj to okno, które ostatnio zostało kliknięte (wskazane) myszką; jednakże
w pewnych okolicznościach może to być okno znajdujące się pod kursorem myszy.
Uwaga
Rozdział ten odwołuje się do myszy jako urządzenia wskazującego. Jednakże, podobnie jak w Microsoft
Windows, system X Window działa z wieloma różnorodnymi urządzeniami wskazującymi.
X Window pozwala na wybór urządzenia, za pomocą którego będziesz wykonywał większość operacji.
Microsoft Windows natomiast został zaprojektowany do pracy przede wszystkim z myszką.
Są jednak operacje, które w systemie X najwygodniej wykonywać za pomocą klawiatury:
• przełączanie na wirtualne konsole znakowe,
• przełączanie trybów wyświetlania (video modes).
Dodatkowo możesz używać klawiatury do wyłączania systemu X Window.
Przełączanie trybów wyświetlania
Podczas konfiguracji systemu X ustalasz tryby wyświetlania X Window. Bieżący tryb wyświetlania określany
jest poprzez rozdzielczość ekranu i głębię koloru wyświetlanego obrazu, na przykład głębia koloru 16 bitów na
piksel przy rozdzielczości 1024
×768.
Poprzez wciśnięcie klawiszy
Shift+Alt
i
+
(klawisza plus na klawiaturze numerycznej) wydajesz polecenie
przełączenia w kolejny tryb wyświetlania. X traktuje tryby cyklicznie, tzn. jeśli system pracuje w ostatnim
możliwym trybie, to poprzez wciśnięcie tej sekwencji klawiszy przełącza się w pierwszy tryb.
Podobna sekwencja klawiszy:
Shift+Alt
i
–
(też z klawiatury numerycznej) powoduje przełączenie do
poprzedniego trybu wyświetlania określonego w pliku
/etc/X11/XF86Config
. Jeśli przełączysz na tryb, który nie
jest obsługiwany, prawdopodobnie ekran zniknie lub będzie migotał; za pomocą tej sekwencji możesz powrócić
do stanu poprzedniego, unikając wyłączania i włączania systemu X.
Praca na wirtualnych konsolach podczas sesji X
Nawet kiedy system X jest uruchomiony, możesz pracować w tym samym czasie na wirtualnych konsolach. Aby
przejść z trybu graficznego do wirtualnej konsoli pracującej w trybie znakowym, wciśnij klawisze
Ctrl+Alt+F
n
,
gdzie
F
n
oznacza klawisz funkcyjny (od F1 do F12), a
n
oznacza numer konsoli. Sam system X korzysta z 7.
wirtualnej konsoli, a więc dostępne są tylko konsole 1 – 6.
Aby powrócić z wirtualnej konsoli do systemu X, wciśnij
Alt+F7
. Podczas takiego przełączania pomiędzy
konsolami i systemem X żadne dane nie zostaną utracone ani też żadne programy czy procesy nie będą
przerwane. Wobec tego można bez obaw przełączać się między trybem graficznym i tekstowym.
Wyłączanie systemu X
Jak wiesz z poprzedniego rozdziału, system X można wyłączyć poprzez wciśnięcie klawiszy
Ctrl+Alt+Backspace
. System natychmiast zamyka wtedy wszystkie uruchomione programy, aktywne okna i
powraca do trybu tekstowego. Ta sekwencja wyłącza system X Window bardzo gwałtownie, jednak większość
menedżerów okien umożliwia łagodniejsze techniki zamykania X-ów. Poznasz je nieco później, ale jeszcze
w tym rozdziale.
Podczas pracy systemu X nie możesz używać sekwencji
Ctrl+Alt+Delete
do ponownego uruchomienia
systemu. Aby móc wykonać tę operację, należy najpierw zamknąć system X Window (można też przejść na
konsolę tekstową lub skorzystać z okna xterminala), a następnie użyć wymienionej sekwencji klawiszy lub na
terminalu znakowym i po zalogowaniu jako root wpisać polecenie:
shutdown –r now
które zamyka system X i uruchamia ponownie Linuksa.
Okna terminali
W systemie Windows, aby mieć możliwość wydawania poleceń MS-DOS, nie musisz uruchamiać komputera
w trybie DOS. Tak samo w X Window, nie musisz przełączać się na wirtualną konsolę, aby mieć dostęp do
wiersza poleceń. X umożliwia otwarcie okna terminala wiersza poleceń. Przypomina ono okno systemu MS-
DOS i pozwala na wprowadzanie poleceń.
Wyskakujące menu
Prawdopodobnie w systemie X najczęściej będziesz używał programu terminalu wiersza poleceń. Większość
menedżerów okien instaluje (wraz z domyślnym zbiorem powszechnych aplikacji) programy, które możesz
uruchomić za pomocą kliknięcia (prawym lub lewym przyciskiem) myszą na pulpicie. Cześć z nich umożliwia
kliknięcie na pulpicie i wybór terminalu z pojawiającego się menu. Jednakże menu to może zawierać tylko
nazwy programów, a nie na przykład ich funkcje. W takim przypadku możesz mieć pewne problemy podczas
określania odpowiednika okna terminalu wiersza poleceń. Niektóre programy zawierają w swojej nazwie
sekwencję znaków:
xt
lub
term
. Wybór zakładki z menu o tej nazwie uruchomi prawdopodobnie okno terminala.
O menedżerach okien dowiesz się więcej jeszcze w tym rozdziale.
Operacje wykonywane przy użyciu myszki
Operacje myszki są podobne do tych znanych z systemu Windows, chociaż są wykonywane inaczej.
Najpopularniejszymi zadaniami wykonywanymi za pomocą myszki są:
• kopiowanie i wklejanie tekstu,
• używanie pasków przewijania.
Kopiowanie i wklejanie tekstu
Aby skopiować i następnie wkleić tekst, na przykład z jednego pliku do drugiego, należy najpierw tekst
zaznaczyć. Wobec tego ustawiamy kursor myszy na początku tekstu i wciskamy lewy przycisk myszy, po czym
przeciągamy kursor do końca tekstu. System X automatycznie kopiuje zaznaczony tekst do bufora; nie musisz
zatem wciskać
Ctrl+C
lub wykonywać żadnych innych operacji. Jeśli będziesz jednak chciał zmienić obszar
zaznaczonego tekstu, wciśnij prawy przycisk myszy i przeciągnij go od końca zaznaczonego tekstu do góry albo
w dół (powiększysz lub pomniejszysz tym sposobem zaznaczony obszar tekstu).
Uwaga
Niektóre menedżery okien wyświetlają menu, kiedy klikasz prawym przyciskiem myszy, nawet jeśli kursor
myszy znajduje się nad tekstem. Jeśli używasz takiego menedżera, nie możesz wykonywać operacji zmiany
zaznaczonego obszaru tekstu za pomocą prawego kliknięcia. Możesz jedynie ponownie zaznaczyć tekst.
Aby wkleić skopiowany fragment tekstu, ustaw kursor w odpowiednim miejscu i naciśnij środkowy przycisk
myszy. Jeśli mysz ma tylko dwa przyciski, naciśnij oba jednocześnie. Może się okazać, że operacja ta będzie
wymagała trochę praktyki, ale jak już się przyzwyczaisz, stwierdzisz, że nie jest to wcale taki zły pomysł.
Paski przewijania
Wiele programów systemu X umożliwia korzystanie z pasków przewijania identycznych z tymi znanymi z
Windows. Jednakże sama operacja przewijania za pomocą pasków różni się całkowicie od tej
w Microsoft Windows.
Aby przewinąć stronę naprzód, kliknij lewym przyciskiem na pasku przewijania. Kliknięcie w górnej części
paska powoduje niewielkie przewinięcie w przód, czasami o jeden wiersz. Natomiast klikając w dolnej części
paska, spowodujesz przesunięcie o całą stronę.
Aby przewinąć stronę wstecz, należy kliknąć prawym przyciskiem myszki na pasku. Podobnie jak przy
przewijaniu do przodu — klikając u samej góry paska prawym przyciskiem, spowodujesz niewielkie
przesunięcie, może nawet o jeden wiersz do góry. Natomiast klikając na dole paska, przewiniesz o całą stronę
wstecz.
Uwaga
Niektóre programy systemu X definiują operacje przewijania podobnie jak w Microsoft Windows. Jeśli pasek
przewijania nie zachowuje się tak, jak opisano wyżej, spróbuj zastosować metodę wykorzystywaną w
Windows: kliknij poniżej paska lewym przyciskiem myszki, by poruszyć się do przodu, lub tym samym
przyciskiem powyżej paska, aby poruszyć się wstecz, bądź też przyciśnij lewy przycisk na pasku i nie
puszczając go poruszaj się paskiem w dowolne miejsce.
Wirtualne pulpity
Ciekawą właściwością systemu X jest to, że rozmiar pulpitu może być większy od ekranu monitora. Na
przykład, nawet jeśli monitor ma maksymalną rozdzielczość 800
×600, pulpit może mieć 1600×1200, a nawet
3200
×2400. Taki rodzaj pulpitu nazywany jest wirtualnym. Niektóre środowiska systemu X, włączając
GNOME, posiadają narzędzie znane jako
pager
, które pozwala poruszać się po tak dużym obszarze pulpitu.
Program ten przedstawia zminimalizowany widok całego pulpitu; kiedy klikniesz określony widok, ustawiasz się
w konkretnym miejscu pulpitu. Niektóre menedżery okien pozwalają przewijać pulpit, poprzez dosuwanie
kursora myszki do brzegów ekranu.
Menedżery okien
Menedżery okien tworzą ramki, ikony i menu, które są w istocie prostym w użyciu interfejsem. Menedżery
kontrolują także wygląd i zachowanie X, pozwalając skonfigurować system prawie w dowolny sposób.
Niektórzy użytkownicy systemu Linux przyzwyczajeni do Microsoft Windows korzystają z menedżera FVWM
95, którego interfejs graficzny przypomina z wyglądu i zachowania pulpit systemu Windows. Natomiast inni
użytkownicy unikają jak ognia wszystkiego, co przypomina im system Windows. Tabela 6.1 opisuje
najpopularniejsze menedżery okien dla systemu Linux. Po szczegółowe informacje na temat każdego z tych
menedżerów zajrzyj na stronę organizacji X11:
http://www.x11.org/wm/
.
Tabela 6.1. Popularne menedżery okien
Menedżer okien
Opis
AfterStep Przypomina
interfejs
użytkownika z NEXT (NEXTStep)
BlackBox Mały, prosty i wydajny menedżer. Kompatybilny z KWM
Enlightenment Jeden
z
najładniejszych, gdy rozpatrujemy wygląd menedżerów. Posiada dużo opcji
konfiguracyjnych
FVWM Najpopularniejszy
menedżer okien — mały, wydajny, z wieloma opcjami
konfiguracyjnymi. FVWM95 przypomina interfejs użytkownika systemu Microsoft
Windows 9.x. Nie jest w pełni kompatybilny ze środowiskiem GNOME
ICEWM Szybki,
mały menedżer popularny zwłaszcza wśród użytkowników systemu Debian
GNU/Linux
KWM Menedżer, który współpracuje ze środowiskiem KDE. Połączenie to gwarantuje
potężny i bardzo wydajny interfejs graficzny użytkownika. Niestety nie jest on
kompatybilny ze środowiskiem GNOME, a na dodatek zawiera kod, który nie jest
oparty na licencji GPL (General Public License), co powoduje, że nie jest włączany
jako standardowy menedżer okien
SCWM Menedżer, który posiada potężny język konfigurowania oparty na schemacie dialektu
(języka) LISP
WindowMaker Przypomina
interfejs
graficzny
menedżera NEXTStep. Kompatybilny z KWM
Obecnie najczęściej używanymi menedżerami są FVWM i Enlightenment. Poniżej znajduje się ich krótki opis.
FVWM
Jest to prawdopodobnie najpopularniejszy menedżer okien dla Linuksa. Kilka innych menedżerów pożyczyło
część jego podstawowego kodu, co spowodowało, że wiele innych menedżerów posiada podobne funkcje lub
właściwości FVWM. I chociaż brak mu wizualnej jasności i „połysku” w porównaniu z obecnymi menedżerami,
jest on potężnym i wysoce konfigurowalnym menedżerem. Jednakże FVWM nie jest kompatybilny ze
środowiskiem GNOME; a więc użytkownicy, którzy planują korzystanie z tego pulpitu, będą musieli wybrać
inny menedżer.
Enlightenment
Jest to najczęściej używany menedżer w połączeniu ze środowiskiem GNOME. Chociaż Enlightenment jest
wciąż rozwijany, wielu użytkowników instaluje go do użytku codziennego, uznając, że jest on wystarczająco
stabilny. Poza tym, że posiada mnóstwo opcji konfiguracyjnych, Enlightenment jest napisany przy użyciu
CORB-y
(
Common Object Request Broker Architecture
). Programy napisane w każdym innym języku mogą
pracować z tym menedżerem poprzez interfejs CORBA.
Pulpity
Pulpit jest to zbiór narzędzi i aplikacji pulpitu. Pulpit systemu Microsoft Windows 9x zawiera takie aplikacje,
jak Eksplorator Windows, akcesoria, np.
, gry
i
, czy narzędzia takie jak
wraz ze wszystkimi jego programami.
Notatnik
FreeCell Saper
Panel
sterowania
Możesz uruchomić system X Window bez pulpitu, ale
zainstalowanie go poprawia wydajność pracy. Dwoma najpopularniejszymi środowiskami pulpitu są KDE i
GNOME.
KDE
K Desktop Environment jest darmowym środowiskiem, które zawiera KWM (K Window Manager) jako
zintegrowany komponent. KDE to m.in. menedżer plików, pomoc systemowa, narzędzia do konfiguracji:
• gry: Kmines, Kpoker oraz Ktetris;
• aplikacje graficzne: Kfract (generator fraktali) oraz Kview (przeglądarka obrazków);
• programy do obsługi multimediów: Kmix (mikser), Kmedia (odtwarzacz multimedialny);
• aplikacje sieciowe: Kmail (czyli klient poczty), Knu (narzędzie do badania sieci) oraz Krn (klient
news).
Praktycznie co tydzień powstają nowe programy i narzędzia dla tego środowiska. W przygotowaniu jest
kompletny pakiet biurowy zwany Koffice — w dodatku w pełni
Open Source
. Więcej na temat tego pakietu i
środowiska KDE znajdziesz pod adresem
http://www.kde.org/
.
Chociaż KDE jest udostępniany za darmo, używa jednak biblioteki QT do utworzenia interfejsu kontrolnego
użytkownika. To powoduje problem, ponieważ QT jest rozpowszechniany odpłatnie, co nie podoba się wielu
twórcom oprogramowania dla Linuksa. Z tego względu najpopularniejszym środowiskiem pulpitu jest jak do tej
pory GNOME, a nie KDE.
GNOME
GNOME (freeware) jest środowiskiem pulpitu, który może być używany w połączeniu z kilkoma menedżerami
okien, włączając Enlightenment; poza tym jest oprogramowaniem w pełni
Open Source
.
Jedną z ciekawszych właściwości GNOME jest zapamiętywanie stanu sesji. Kiedy ponownie uruchamiasz pulpit
GNOME, konfiguruje się on w taki sposób, że przywraca stan sprzed wyjścia, np. wznawia działanie każdej
aplikacji, która pracowała podczas poprzedniej sesji. Potrafi nawet przywrócić aplikację do jej poprzedniego
stanu, np. przechodząc do odpowiedniej strony, która była otwarta, kiedy kończyłeś poprzednią sesję.
Dostarcza on narzędzi i programów podobnych do tych, które udostępnia KDE, włączając:
• gry: FreeCell, Gnobots, Gnometris oraz Gnome Mines;
• GNU Image Manipulation Program (GIMP) — program graficzny;
• aplikacje sieciowe takie jak: Mailman — do śledzenia poczty, Talk — program pozwalający wymieniać
wiadomości z innymi użytkownikami w czasie rzeczywistym oraz Synchronize — pozwalający na
synchronizację danych na wielu komputerach;
• programy multimedialne — Audio Mixer oraz CD Player;
• główne narzędzia: gEdit (edytor tekstowy), Netscape Navigator (linuksowa wersja popularnej
przeglądarki WWW) oraz Gnumetric — arkusz kalkulacyjny;
• narzędzia do konfiguracji środowiska GNOME i systemu Linux.
Twórcy pulpitu GNOME, podobnie jak ich koledzy od KDE, wciąż rozwijają swoje oprogramowanie. Sprawdź
na stronie
http://www.gnome.org/
, czy nie ma nowszych wersji lub nowych programów.
Praca w środowisku GNOME
W tym rozdziale dowiesz się, jak skonfigurować i użytkować pulpit GNOME wraz z menedżerem okien
Enlightenment. Jeśli wybrałeś inny menedżer lub inne środowisko pulpitu, przeczytaj dokładnie dokumentację
dołączoną do każdego z nich. Jednak i tak powinieneś przeczytać ten podrozdział, ponieważ opisane procedury
konfiguracyjne dla większości menedżerów okien i pulpitów są raczej podobne niż różne: sposób wykonania
każdego kroku konfiguracyjnego może być różny, ale funkcje oraz opcje są takie same.
Uruchamianie pulpitu GNOME i menedżera Enlightenment
Przed uruchomieniem GNOME musisz skonfigurować pliki startowe systemu X oraz pliki konfiguracyjne
odpowiadające za prawidłowe wyświetlanie polskich znaków. Ustawianie polskich znaków i czcionek dla
systemu X Window zostało opisane w rozdziale poprzednim. Teraz zajmiemy się tylko ustawieniami sesji X
dotyczącymi używanego pulpitu i menedżera okien. Zaloguj się jako użytkownik
root
i przejdź do katalogu
/etc/X11
, wykonaj kopię bezpieczeństwa pliku
Xsession
:
cp Xsession Xsession.save
Kopia tego pliku przyda się, jeśli coś się nie powiedzie i trzeba będzie przywrócić poprzednie ustawienia. Jeśli
otrzymasz komunikat, że plik nie istnieje, zignoruj go. Następnie przy użyciu dowolnego edytora tekstowego
otwórz plik
Xsession
i wpisz następujące wiersze na początku pliku:
#!/bin/bash
xterm &
gmc &
window-manager &
panel
exit 0
##
Tabela 6.2 podaje odpowiednie wartości dla zmiennej
window-manager
, która określa rodzaj używanego
menedżera okien. Pamiętaj, że musisz mieć zainstalowany odpowiedni pakiet, aby móc używać wybranego
menedżera.
Tabela 6.2. Ścieżki dostępu do programów menedżerów okien
Menedżer okien
Ścieżka
Enlightenment
/usr/bin/X11/enlightenment
FVWM
/usr/bin/X11/fvwm95
FVWM95
/usr/bin/X11/fvwm2
ICEWM
/usr/bin/X11/icewm-gnome
TWM
/usr/bin/X11/twm
Window Maker
/usr/bin/X11/WindowMaker-gnome
Aby uruchomić system X z pulpitem GNOME, wydaj polecenie:
startx
Powinieneś po kilku sekundach ujrzeć pulpit GNOME, tak jak to przedstawia rysunek 6.1. Zawartość pulpitu
może się oczywiście różnić.
Rysunek 6.1. Pulpit GNOME
Kończenie pracy
Aby się wylogować, kliknij lewym przyciskiem myszki zakładkę głównego menu, które przypomina stopę, co
pokazuje rysunek 6.2. Z menu wybierz element
Log Out
(wyloguj się). Pojawi się okno dialogowe programu
Log
Out
(przedstawione na rysunku 6.3) z potwierdzeniem wykonania żądanej operacji. Wybór przycisku
Yes
(tak)
kończy sesję GNOME.
Rysunek 6.2. Kończenie pracy w środowisku GNOME
Rysunek 6.3. Okno dialogowe programu Log out (wyloguj się)
Wyświetlane elementy
Rysunek 6.4 przedstawia elementy ekranu GNOME, których opis zamieszczono poniżej.
Rysunek 6.4. Elementy pulpitu GNOME
Ikona katalogu macierzystego
Ikona katalogu macierzystego zwykle pojawia się w lewej górnej części pulpitu i przypomina wyglądem folder.
Umożliwia ona uruchamianie w prosty i wygodny sposób Menedżera plików: dwukrotne kliknięcie ikony lewym
przyciskiem myszki uruchamia menedżer plików, który na wstępie wyświetla zawartość katalogu macierzystego
użytkownika.
Pulpit
Pulpit jest wolnym obszarem wyświetlanego ekranu, gdzie nie ma żadnych ikon ani okien. Kliknięcie na pulpicie
środkowym przyciskiem myszki spowoduje pojawienie się podręcznego menu, które umożliwia łatwe
uruchamianie aplikacji i innych narzędzi. Kliknięcie prawym przyciskiem myszki na pulpicie spowoduje
pojawienie się innego menu podręcznego, które pozwala na ustawianie właściwości okien i ikon pulpitu.
Ikona napędu
Jeśli masz prawo do montowania napędów, na pulpicie pojawi się także ikona napędu. Kiedy klikniesz ją
prawym przyciskiem myszki, pojawi się menu podręczne, które umożliwia zamontowanie urządzenia,
wysunięcie np. tacki CD-ROM-u oraz uruchomienie menedżera plików w celu obejrzenia zawartości
zamontowanego napędu.
Panel
Panelem nazywamy długi pasek znajdujący się na dolnym brzegu ekranu. Można go także przenosić w inne
miejsca, np. na górę ekranu czy też na boki. Przypomina on pasek zadań systemu Microsoft Windows używany
do uruchamiania programów, przełączania pomiędzy aktywnymi aplikacjami oraz do wykonywania jeszcze
kilku innych zadań.
Panel zawiera zwykle główne menu, pager oraz dwa przyciski ukrywania znajdujące się z obu stron panelu. Na
początku jednak panel może nie wyświetlać programu
pager
.
Może zawierać także aplety, czyli programy reprezentowane tylko przez ikony. Są to zazwyczaj małe
programiki, które wyświetlają użyteczne informacje lub wykonują niewielkie zadania, kiedy się na nich kliknie
myszką. Na przykład aplet zwany launcher uruchamia dowolny program.
Aplet daty i czasu
Aplet ten wyświetla aktualną datę i czas systemowy. Jeśli nie jest on widoczny na panelu, możesz go dodać w
taki sam sposób, w jaki dodajesz program
pager
. Z menu głównego wybierz zakładkę
Panel
->
AddAplet
(dodaj
aplet) ->
Utility
(użytki) ->
Clock
(zegar). Kiedy już raz dodałeś aplet zegara do panelu, będzie się on zawsze
pojawiał.
Główne menu
Przypomina wielką stopę. Klikając lewym przyciskiem myszki rozwiniesz menu, z którego będziesz mógł
wybrać różne programy i narzędzia. Niektóre elementy tego menu to tzw. podmenu, które zawierają grupę
programów lub grupę innych podmenu.
Pager
Pager jest programem, który umożliwia przełączanie pomiędzy aktywnymi aplikacjami oraz pozwala na
poruszanie się po wirtualnym pulpicie. Jeśli nie widzisz tego programu na panelu, możesz go uruchomić
używając głównego menu, tak jak pokazuje rysunek 6.5: wybierz zakładkę
Panel
->
Add Aplet
->
Utility
->
Gnome Pager
. Kiedy raz go uruchomisz, będzie się tam zawsze pojawiał.
Pager dzieli się na dwie części: lewa część składa się z tablicy (macierzy) prostokątów, które umożliwiają
poruszanie się po pulpicie; prawa strona składa się z tablicy ikon wraz z tekstem opisującym uruchomione
programy — ta część pozwala na przełączanie się między zadaniami. Aby przełączyć się z aktualnego programu
do innego, kliknij lewym przyciskiem myszki ikonę pagera i wybierz odpowiednie zadanie.
Rysunek 6.5. Uruchamianie pagera
Zależnie od konfiguracji środowiska X, pulpit GNOME może zostać wyświetlony na wirtualnym pulpicie, który
jest większy niż rozmiar wyświetlanego przez monitor obrazu. W takim przypadku
pager
pozwala poruszać się
po tego rodzaju pulpicie. Na przykład rysunek 6.4 pokazuje, że GNOME dostarcza wirtualnego pulpitu o
czterech ekranach. Tylko jeden z nich jest widoczny. Podświetlona ikona wskazuje ekran, na którym obecnie
pracujesz. Aby przejść do innego pulpitu, po prostu kliknij ikonę reprezentującą ekran, z którym chcesz
pracować.
Przyciski ukrywania
Panel można ukrywać i przywracać za pomocą kliknięcia lewym przyciskiem myszki. Jest to szczególnie
użyteczne podczas używania menedżera okien, który zwykle wyświetla pasek zadań lub inne informacje na dole
ekranu.
Przeglądarka pomocy
Przeglądarka pomocy GNOME działa podobnie jak przeglądarka WWW, z jednym wyjątkiem: nie możesz
oglądać w niej stron WWW, lecz jedynie informacje o interesujących cię tematach. GNOME uruchamia
przeglądarkę pomocy, gdziekolwiek wybierzesz menu
Help
dla aplikacji lub apletu. Możesz również uruchomić
ją poprzez wybór elementu
Help System
z menu głównego GNOME.
Strona początkowa tej przeglądarki zawiera odnośnik do strony przewodnika użytkownika GNOME (
GNOME
User’s Guide
). Przewodnik ten pomaga w odkrywaniu nowych funkcji i właściwości środowiska GNOME.
Menedżer plików
Przypomina z wyglądu i zachowania Eksploratora systemu Windows 9x. Aby uruchomić menedżer plików,
kliknij dwukrotnie ikonę napędu lub katalog, lub wybierz element
File Manager
(menedżer plików) z głównego
menu. Następny podrozdział szczegółowo opisuje wszystkie funkcje i operacje tego programu.
Praca z menedżerem plików
Podobnie jak Eksplorator systemu Microsoft Windows, okno menedżera plików jest podzielone na dwie części.
Jak pokazuje rysunek 6.6, lewe okno menedżera przedstawia hierarchiczne drzewo katalogów, podczas gdy
prawe wyświetla zawartość katalogu aktualnie wybranego w lewym oknie. Aby zaznaczyć katalog, po prostu go
kliknij lewym przyciskiem myszki.
Rysunek 6.6. Menedżer plików GNOME
Prawa część programu może pokazywać ikonę każdego pliku lub bardziej szczegółowe informacje na temat
każdego pliku, co przedstawia rysunek 6.7. Aby przełączyć się z trybu ikon na szczegóły, kliknij lewym
przyciskiem myszki odpowiednią zakładkę znajdującą się pasku narzędzi menedżera plików. Możesz również
wybrać tryb własny, który umożliwia dostosowanie wyświetlania zawartości katalogów według potrzeb.
Rysunek 6.7. Menedżer plików wyświetlający szczegółowe informacje o zawartości wybranego katalogu
Program ten, podobnie jak Eksplorator systemu Windows 9x, potrafi kopiować, przenosić, usuwać i zmieniać
nazwy plików. Aby wykonać jedną z powyższych operacji, należy najpierw zaznaczyć plik poprzez pojedyncze
kliknięcie lewym przyciskiem myszki w prawym oknie menedżera. Aby zaznaczyć więcej plików, przytrzymaj
klawisz
Ctrl
klikając poszczególne pliki. Możesz też kliknąć i przeciągnąć kursor myszki nad plikami, które
chcesz zaznaczyć. Także menu
Edit
umożliwia wybieranie grup plików na kilka sposobów.
Aby przenieść plik, przeciągnij go do nowej lokalizacji (np. katalogu); aby go skopiować, przytrzymaj klawisz
Shift
podczas przeciągania. Możesz również kliknąć plik prawym przyciskiem myszki — pojawi się menu
podręczne, które ułatwia wybór operacji, jaką chcesz przeprowadzić (kopiowanie, usuwanie itd.). Po kliknięciu
wybranej operacji menedżer plików wyświetli okno dialogowe, które pozwala na określenie dodatkowych opcji.
W celu zmiany nazwy pliku kliknij plik prawym przyciskiem myszki i wybierz element
Properties
(właściwości) z menu podręcznego. Wpisz następnie nową nazwę w polu
File Name
(nazwa pliku) i kliknij
OK
.
Usuwanie pliku wykonuje się w identyczny niemal sposób. Z menu podręcznego, które pojawia się po kliknięciu
pliku prawym przyciskiem, wybierz element
Delete
(usuń). Pojawi się okno dialogowe z prośbą o potwierdzenie
wykonania operacji usunięcia wybranego pliku.
Uwaga
Pamiętaj, że system Linux nie prowadzi żadnego kosza na usuwane pliki; kiedy już usuniesz plik, nie będziesz
w stanie go przywrócić (chyba że posiadasz kopię zapasową tego pliku).
Menedżer plików GNOME uruchamia także aplikacje związane z danym plikiem poprzez podwójne kliknięcie
pliku. Alternatywnie możesz kliknąć plik prawym przyciskiem myszki i wybrać
Open With
(otwórz z) z menu
podręcznego. GNOME uruchamia wtedy okno dialogowe, które pozwala na wskazanie aplikacji, za pomocą
której chcesz otworzyć ten plik.
Wiele programów jest kompatybilnych z GNOME, dlatego używają metody przeciągnij i upuść tak, jak
programy systemu Windows 9x. Na przykład możesz otworzyć dwa menedżery okien i przeciągać pliki lub
katalogi między nimi.
Menu programu posiada wiele dodatkowych funkcji, włączając możliwość konfiguracji zachowania menedżera.
Jeśli pracowałeś kiedyś z Eksploratorem systemu Windows 9x, możesz uznać, że większość tych funkcji jest
bardzo podobna. Więcej informacji na temat menedżera plików GNOME znajdziesz w przewodniku
użytkownika GNOME.
Aplikacje i aplety menedżera GNOME
Domyślna instalacja GNOME składa się z kilku apletów oraz programów. Warto zapoznać się z dwoma
najpopularniejszymi programami GNOME: terminalem wiersza poleceń i CD Playerem.
GNOME Terminal
Aplikacja terminalu wiersza poleceń GNOME, przedstawiona na rysunku 6.8, umożliwia wydawanie poleceń
powłoce i oglądanie wyników ich działania w oknie. Aby uruchomić terminal, wybierz z głównego menu
Utilities
->
GNOME Terminal
. Możesz otworzyć dowolną ilość terminali, jeśli jest to potrzebne.
Rysunek 6.8. Edycja ustawień terminalu
Menu
Settings
(ustawienia) programu
Terminala GNOME
pozwala konfigurować jego funkcje i właściwości. Na
przykład może się okazać, że po domyślnej instalacji GNOME fonty terminalu są za duże lub za małe. Jeśli tak,
kliknij
Settings
(ustawienia) ->
Preferences
(właściwości), a pojawi się okno dialogowe. Wybierz zakładkę
General
(ogólne) i kliknij przycisk
Browse
(przeglądaj), który znajduje się obok pola
Font
. Pojawi się drugie
okno dialogowe, w którym możesz wybrać odpowiednią czcionkę, jej rozmiar i styl.
Aby zamknąć terminal GNOME, wpisz
exit
w wierszu poleceń i naciśnij
Enter
lub kliknij
File
(plik) ->
Close
Terminal
(zamknij terminal).
GNOME CD Player
Rysunek 6.9 przedstawia program GNOME CD Player, który jest reprezentowany przez okno na pulpicie oraz
przez ikonę znajdującą się na panelu. Umożliwia on odtwarzanie płyt audio poprzez kartę dźwiękową. Jednakże
CD Player nie będzie działał prawidłowo, dopóki nie będziesz miał prawa czytania pliku urządzenia CD-ROM
(
/dev/cdrom
). Jeśli CD Player nie będzie chciał pracować, zaloguj się na konto użytkownika
root
i wydaj
następujące polecenie:
chmod a+r /dev/cdrom
Polecenie to zakłada, że dowiązanie symboliczne
/dev/cdrom
jest właściwym odpowiednikiem pliku urządzenia
w systemie; jeśli tak nie jest, podaj prawidłowy plik urządzenia.
Rysunek 6.9. Odtwarzacz GNOME
Przyciski operujące działaniem CD Playera przypominają przyciski wszystkich innych odtwarzaczy CD (nawet
domowych) jak na przykład tych znanych z systemu Windows 9x. Możesz odtwarzać muzykę, zatrzymywać,
przerywać, przewijać do tyłu i przodu, a nawet wysunąć szufladę.
Jeśli masz podłączony komputer do sieci Internet, CD Player może połączyć się z bazą danych informacji
pomocy znajdującą się na stronie CDDB
http://www.cddb.org/
. W bazie tej są zapisane informacje o wykonawcy
i odgrywanych utworach.
CD Player pozwala także otworzyć okno dialogowe umożliwiające ręczne wprowadzanie takich danych. Jest to
szczególnie pomocne, gdy nie posiadasz połączenia z siecią Internet lub dane w bazie CDDB są niekompletne
bądź nie ma ich wcale.
Konfiguracja GNOME
Podobnie jak większość jego aplikacji, sam GNOME posiada wiele opcji konfiguracyjnych. Możesz
skonfigurować panel, główne menu, większość funkcji oraz wygląd. Punkt ten opisuje krótko, jak to zrobić.
Panel
Do panelu możesz dodać aplet uruchamiający zdefiniowaną aplikację. Aby tego dokonać, kliknij panel prawym
przyciskiem myszki i wybierz opcję
Add New Launcher
(dodaj nowy skrót) z podręcznego menu. Pojawi się
okno dialogowe zatytułowane
Create Launcher Aplet
(tworzenie skrótu), co przedstawia rysunek 6.10.
Rysunek 6.10. Tworzenie apletu skrótu
Dla danego skrótu możesz określić nazwę, komentarz oraz polecenie, jakie będzie wykonywał GNOME podczas
uruchamiania aplikacji. Automatycznie zostanie przypisana domyślna ikona dla nowo tworzonego skrótu, ale
oczywiście możesz ją zmienić, klikając przycisk
Icon
(ikona).
Jeśli aplikacja jest już w głównym menu, możesz szybko stworzyć dla niej skrót na panelu. Po prostu kliknij
element aplikacji prawym przyciskiem myszki i z menu podręcznego
wybierz
Add This Launcher To Panel
.
Jeśli na panelu znajduje się wiele skrótów, może powstać niewielkie zamieszanie i bałagan. Aby temu zapobiec,
możesz stworzyć jedną lub więcej
szufladek
(jedną z nich przedstawia rysunek 6.11). Szufladki zachowują się
jak menu; klikasz je, a one rozwijają się, przedstawiając listę skrótów, które zawierają. Kliknięcie otwartej
szuflady zamyka ją wraz z jej zawartością.
Rysunek 6.11. Szuflada
Aby stworzyć szufladkę, kliknij panel prawym przyciskiem myszki i wybierz
Add Drawer
(dodaj szufladę). Aby
przenieść skróty do szufladki, kliknij skrót prawym przyciskiem myszy i wybierz opcję
Move Applet
(przenieś
aplet) z menu podręcznego. Przesuń kursor myszy nad szufladę i kliknij lewym przyciskiem.
Jeśli dodasz skrót lub szufladę do panelu, a w później stwierdzisz, że dany element nie jest już potrzebny,
możesz go usunąć. Po prostu kliknij niechciany aplet prawym przyciskiem i z menu podręcznego
wybierz
Remove From Panel
, co ilustruje rysunek 6.12.
Rysunek 6.12. Usuwanie elementu panelu
Główne menu
Główne menu można skonfigurować za pomocą edytora menu. Aby uruchomić ten edytor, wybierz z głównego
menu opcję
Settings
->
Menu Editor
, tak jak pokazano na rysunku 6.13.
Rysunek 6.13. Uruchamianie edytora głównego menu
Okno edytora menu, przedstawione na rysunku 6.14, posiada dwie części. Przypomina z wyglądu i
funkcjonalności menedżer plików. Lewa część edytora menu hierarchicznie wyświetla drzewo elementów menu,
podczas gdy z prawej strony ukazują się informacje i ustawienia dotyczące wybranego elementu menu. Powyżej
znajduje się pasek narzędzi, za pomocą którego możesz się poruszać w górę i w dół drzewa elementów oraz
dodać lub usunąć nowy składnik menu.
Rysunek 6.14. Edytor menu
Centrum Sterowania GNOME
Wygląd i funkcjonowanie pulpitu GNOME oraz kompatybilne aplikacje możesz skonfigurować przy użyciu
Centrum Sterowania GNOME
przedstawionego na rysunku 6.15. Centrum sterowania pełni podobne funkcje jak
Panel sterowania Microsoft Windows 9x, chociaż wygląda i działa zdecydowanie inaczej. Aby uruchomić
Centrum Sterowania GNOME, wybierz z menu głównego
Settings
->
GNOME Control Center
.
Rysunek 6.15. Centrum Sterowania GNOME
Podobnie jak Panel sterowania, który używa małych programików zwanych apletami do wykonywania swoich
funkcji, Centrum Sterowania GNOME używa do wykonywania swoich zadań małych programów zwanych
capplets. Jednakże interfejs użytkownika zastosowany w tym programie zasłania takie szczegóły, tak że nie
musisz zwracać uwagi na to, co się rzeczywiście tam dzieje. Interfejs ten jest bardzo podobny do tego, który
zastosowano w menedżerze plików czy też w edytorze menu: lewa strona okna Centrum sterowania wskazuje
hierarchiczną strukturę konfigurowalnych kategorii, a prawa strona wyświetla informacje, opcje i ustawienia,
które możesz zmieniać dla danej kategorii.
Za pomocą Centrum Sterowania GNOME możesz:
• wybrać właściwości tła,
• skonfigurować wygaszacz ekranu,
• wybrać temat pulpitu,
• ustawić domyślnego menedżera okien,
• skonfigurować domyślny edytor tekstowy,
• określić typy MIME, które kontrolują obsługę plików multimedialnych,
• skonfigurować dźwięki i dzwonek klawiatury,
• określić aplikacje, które GNOME będzie automatycznie uruchamiał przy starcie,
• określić różne dodatkowe opcje rządzące wyglądem aplikacji kompatybilnych z GNOME.
Wybierz po prostu kategorię klikając ją z lewej strony okna. Będziesz mógł wtedy przejrzeć parametry
konfiguracyjne i wybrać odpowiednie opcje dla danej kategorii. Przyciski pojawiające się w prawej części okna
Centrum sterowania różnią się w zależności od wybranej kategorii. Przycisk
Try
pozwala wypróbować
zmienione ustawienia, przycisk
OK
natychmiast wprowadza zmiany w konfiguracji GNOME, a
Cancel
odwołuje wszystkie nie zapisane dotąd zmiany.
Polski GNOME
Środowisko pulpitu GNOME jest w trakcie tłumaczenia na język polski. W zasadzie większość programów jest
już przetłumaczona, pozostały tylko nieliczne aplikacje, co widać na rysunkach zamieszczonych w tym
rozdziale.
Aby uruchomić polską wersję GNOME-a, należy w zasadzie skonfigurować środowisko X do poprawnego
wyświetlania polskich znaków diaktrycznych i fontów. Jeśli nadal GNOME nie pojawi się w wersji polskiej,
należy albo ściągnąć nowszą wersję tego pakietu, albo w
Centrum Sterowania GNOME
wybrać z lewej strony
ikonę
Wybór motywu
i tam poszukać ustawień czcionki. Należy wskazać jakąkolwiek czcionkę standardu
ISO8859-2.
Rozdział 7.
Konfiguracja i administracja
systemu Linux
Ten rozdział opisuje, jak wykonywać powszechne zadania administracyjne. Za pomocą kilku prostych poleceń i
edytora tekstowego możesz zmieniać wiele ustawień, które zostały skonfigurowane podczas instalacji systemu.
Nauczysz się, jak dodawać, usuwać i modyfikować konta użytkowników oraz jak dodawać i usuwać grupy oraz
zmieniać ich członków. Dowiesz się, jak skonfigurować partycję
swap
oraz co zrobić, aby system automatycznie
montował systemy plików. Nie poznasz jednak żadnych poleceń konfigurujących usługi sieciowe ani też nie
dowiesz się, jak zarządzać siecią — tematy te są przedstawione w rozdziałach 10., 11. i 12.
Administracja użytkownikami i grupami
Nauczysz się, jak wykonywać zadania zarządzania użytkownikami i grupami. Większość zadań
administracyjnych systemu wymaga uprawnień użytkownika
root
. Dlatego w tym podrozdziale przyjęto, że
jesteś zalogowany jako
root
.
Tworzenie konta użytkownika
Do utworzenia nowego konta użytkownika służy polecenie
adduser
, które posiada następującą składnię.
adduser
nazwa użytkownika
gdzie nazwa użytkownika określa nazwę nowego użytkownika, któremu chcesz założyć konto. W trakcie
wykonywania polecenia dodawania nowego użytkownika zostaniesz poproszony o wprowadzenie wymaganych
informacji na jego temat.
Oto typowy przykład działania polecenia
adduser
, które tworzy nowe konto użytkownika o nazwie
kubotek
.
debain1:~#
adduser kubotek
Adding user kubotek ...
Adding new group kubotek (1001).
Adding new user kubotek (1001) with new group kubotek.
Creating home directory /home/kubotek.
Copying files from /etc/skel
Changing password for kubotek
Enter the new password (minimum of 5, maximum of 8 characters) :
Please use a combination of upper and lower case letters and numbers.
Re-enter new password:
Password changed.
Changing the user information for kubotek.
Enter the new value, or press return for the default.
Full Name [ ]:
Jan Kowalski
Room Number[ ]:
Work Phone [ ]:
Home Phone[ ]:
Other [ ]:
Is the information correct? [y/n]
y
debian:~#
Zauważ, że wiersze, gdzie wpisywane było hasło, ze względów bezpieczeństwa nie są wyświetlane na konsoli
podczas ich wpisywania (przy użyciu polecenia
echo
). Zwróć również uwagę, że kilka pól informacyjnych
zostało pominiętych, na przykład
Room Number
. Możesz wprowadzić te dane, jeśli uważasz, że się przydadzą,
ale system i tak z nich nie korzysta i nawet nie wymaga ich wprowadzenia.
Uwaga
Podobne polecenie —
useradd
— również tworzy nowe konto użytkownika, ale nie pyta o hasło ani o inne
informacje, które musisz wprowadzić ręcznie.
Kiedy polecenie
adduser
zakłada konto nowego użytkownika, tworzy dla niego katalog macierzysty. W
poprzednim przykładzie polecenie stworzyło katalog
/home/kubotek
. Przenosi również pliki konfiguracyjne do
tego katalogu z katalogu
/etc/skel
. Pliki te mają zazwyczaj nazwę zaczynającą się od kropki (.), co oznacza, że są
to pliki ukryte — zwykłe polecenie
ls
ich nie wyświetli. Użyj wtedy opcji
–a
dla polecenia
ls
, aby je
zobaczyć. Są to zwykle pliki tekstowe, których zawartość można obejrzeć w dowolnym edytorze, takim jak np.
ae
. Poprzez modyfikację zawartości tych plików możesz kontrolować operacje związanych z nimi aplikacji. Na
przykład plik
.bashrc
służy do kontrolowania działania powłoki BASH, o czym możesz przeczytać w rozdziale
13. „Podbój powłoki BASH”.
Zmiana nazwy użytkownika
Nazwę związaną z kontem użytkownika (
userid
) możesz zmienić za pomocą polecenia
chfn
:
chfn –f
nazwa nazwa_konta
gdzie nazwa oznacza nową nazwę konta, a nazwa_konta określa dotychczasową nazwę konta. Jeśli nazwa
zawiera spacje lub inne znaki specjalne, powinna zostać otoczona cudzysłowem ("). Na przykład, aby zmienić
nazwę związaną z kontem
kubotek
na
Jan Kowalski
, wydaj następujące polecenie:
chfn –f "Jan Kowalski" kubotek
Zmiana hasła użytkownika
Od czasu do czasu należy zmienić swoje hasło, choćby po to, by utrudnić innym włamanie do systemu. Jako
administrator systemu musisz czasami zmienić hasło związane z konkretnym kontem użytkownika. Niektórzy
użytkownicy mają szczególny dar zapominania haseł dostępu. A jako administrator jesteś jedyną osobą, która
może im pomóc.
Do zmiany hasła konta użytkownika (i swojego) służy polecenie
passwd
. Aby zmienić swoje hasło, wydaj
polecenie:
passwd
Polecenie zmienia hasło aktualnie zalogowanego użytkownika. Nie musisz posiadać uprawnień użytkownika
root
, aby wykonać polecenie
passwd
. Dlatego każdy użytkownik systemu może sobie sam zmieniać hasło bez
pomocy administratora systemu. Użytkownik
root
może jednak zmienić hasło każdemu użytkownikowi.
Oczywiście tylko
root
może wykonać taką operację — pozostali użytkownicy mogą zmieniać tylko własne
hasła.
Polecenie
passwd
aktywuje prosty dialog, który przyjmuje mniej więcej taką postać:
$
passwd
Changing password for kubotek
Old password:
Enter the new password (minimum 5, maximum 8 characters).
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Zwróć uwagę na restrykcje, jakimi jest objęty wybór nowego hasła. Uniemożliwiają one wprowadzanie haseł,
które mogłyby zostać łatwo odgadnięte. Jeśli wprowadzisz hasło, które będzie się kłóciło z tymi zasadami,
program
passwd
odrzuci je, prosząc o ponowne wprowadzenie hasła.
Jako
root
możesz zmieniać hasła każdemu użytkownikowi systemu. Polecenie nie pyta wtedy o stare (obecne)
hasło, tylko o nowe:
debian1:~# passwd kubotek
Changing password for kubotek
Enter the new password (minimum 5, maximum 8 characters).
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Informacje na temat haseł są przechowywane w pliku
/etc/passwd
, który możesz obejrzeć za pomocą dowolnego
edytora . Każdy użytkownik może obejrzeć zawartość tego pliku, ale jedynie
root
może modyfikować ten plik.
Jeśli wybrałeś opcje
shadow passwords
(hasła przysłonięte
), hasła są szyfrowane i przechowywane w
pliku
/etc/shadow
, którego zawartość może podejrzeć jedynie administrator (
root
).
Konfigurowanie definicji grup
Pamiętasz zapewne z rozdziału 4. „Poznawanie podstawowych poleceń Linuksa”, że system używa grup do
definiowania zbioru użytkowników, którzy mają dostęp do danego pliku lub katalogu. Prawdopodobnie niezbyt
często będziesz konfigurować definicje grup, zwłaszcza jeśli używasz Linuksa jako stacji roboczej, a nie jako
serwera. Jednakże, jeśli tylko zechcesz, możesz tworzyć, usuwać i modyfikować listę członkowską każdej
grupy.
Tworzenie nowej grupy
Aby stworzyć nową grupę, użyj polecenia
groupadd
:
groupadd
grupa
gdzie grupa oznacza nazwę nowej grupy, którą chcesz dodać. Grupy są przechowywane w pliku
/etc/group
,
który może odczytać każdy użytkownik, ale zmodyfikować go może tylko
root
.
1
Shadow — cień, w tym przypadku ukrycie hasła.
Na przykład, aby dodać nową grupę o nazwie
grupka
, wydaj polecenie:
groupadd grupka
Usuwanie grupy
Do usunięcia grupy służy polecenie
groupdel
:
groupdel
grupa
gdzie grupa oznacza nazwę grupy, którą chcesz usunąć. Na przykład, aby usunąć grupę o nazwie
grupka
,
wydaj polecenie:
groupdel grupka
Dodawanie członków do grupy
Aby dodać użytkownika do grupy, użyj polecenia
adduser
z argumentami:
adduser
użytkownik
grupa
gdzie użytkownik oznacza użytkownika, którego chcesz dodać, a grupa określa grupę, której członkiem
stanie się dany użytkownik. Na przykład, aby dodać użytkownika
magda
do grupy
grupka
, wydaj następujące
polecenie:
adduser magda grupka
Usuwanie użytkownika z grupy
Niestety do usunięcia użytkownika z grupy nie istnieje żadne polecenie. Najprostszą drogą jest edycja pliku
/etc/group
. Spójrz na fragment typowego pliku
/etc/group
:
users:x:100:
nogroup:x:65534:
magda:x:1000:
kubotek:x:1002:kubotek01,kubotek02
Poszczególne wiersze opisują pojedynczą grupę i posiadają taką samą formę: wiersz składa się z serii pól
oddzielonych dwukropkami (:). Pola te oznaczają:
•
Group name
— nazwę grupy.
•
Password
— zaszyfrowane hasło związane z grupą. To pole nie jest zazwyczaj używane, wpisuje się w
nie znak x.
•
Group ID
— unikatowy numer identyfikacyjny grupy.
•
Member list
— lista użytkowników (członków) grupy, każdy użytkownik jest oddzielony od następnego
przecinkiem (,).
Aby usunąć użytkownika z grupy, należy wykonać co najmniej dwie operacje. Najpierw należy utworzyć kopię
zapasową pliku
/etc/group
:
cp /etc/group /etc/group.save
Kopia ta może okazać się przydatna, kiedy dokonasz złych poprawek i nie będziesz wiedział, jak je cofnąć.
Następnie otwórz plik
/etc/group
w dowolnym edytorze tekstu. Przejdź do wiersza, który opisuje daną grupę, i
usuń nazwę użytkownika wraz z przecinkiem. Zapisz zmiany, zamknij edytor i sprawdź, czy wprowadzone
zmiany działają.
Usuwanie konta użytkownika
Do usuwania kont użytkowników służy polecenie
userdel
:
userdel
użytkownik
gdzie użytkownik oznacza nazwę konta użytkownika, które chcesz usunąć. Jeśli chcesz usunąć użytkownika,
jego katalog domowy wraz ze znajdującymi się tak plikami i podkatalogami, użyj polecenia
userdel
z
następującymi argumentami:
userdel –r
użytkownik
Uwaga
Ponieważ usuniętych plików nie można odtworzyć, powinieneś zrobić kopię zapasową użytecznych plików,
zanim usuniesz konto użytkownikowi.
Konfigurowanie dostępu do powłok
Powłoka BASH, którą poznałeś w rozdziale 4., jest najbardziej popularną, ale nie jedyną powłoką systemu
Linux. Inne powłoki to:
•
ash
— odmiana powłoki sh, która przypomina powłokę Systemu V.
•
csh
— powłoka C — lubiana przez wielu użytkowników ze względu na interaktywny interfejs.
•
ksh
— powłoka Korna — trzecia co do ważności powłoka systemu Unix.
•
sh
— powłoka Bourne’a — prekursor powłoki BASH (znana również pod nazwą
bsh
).
•
tcsh
— rozszerzona wersja
csh
.
•
zsh
— powłoka Z — odmiana powłoki Korna.
Kiedy tworzysz nowego użytkownika, system automatycznie przypisuje powłokę (interpreter poleceń), którą
Linux uruchamia dla użytkownika, kiedy ten zaloguje się do systemu. Debian GNU/Linux przypisuje powłokę
BASH, tak jak to zostało sprecyzowane w pliku
/etc/adduser.conf
. Jednakże możesz przypisać inną powłokę,
jeśli tylko chcesz. Warunek jest taki, że powłoka musi znajdować się na liście w pliku
/etc/shells
.
Administracja systemem plików
Kiedy Linux się uruchamia, automatycznie montuje systemy plików określone w pliku
/etc/fstab
. Poprzez
modyfikację tego pliku możesz zmienić działanie systemu.
Konfiguracja napędów lokalnych
Kiedy instalujesz Linuksa, program instalacyjny konfiguruje plik
/etc/fstab
, aby wyznaczyć, które systemy
plików mają być montowane podczas startu systemu. Oto przykładowa zawartość tego pliku:
# /etc/fstab: static file system information
#
#<file system> <mount point> <type> <options> <dump> <pass>
/dev/hda2 / ext2 defaults 0 1
/dev/hda3 none swap sw 0 0
proc /proc proc defaults 0 0
Pierwsze trzy wiersze — rozpoczynające się znakiem „
#
” (
hash
) — są komentarzami, które są ignorowane przez
system; pomagają użytkownikom zidentyfikować i zrozumieć plik. Następne trzy określają system plików, który
zostanie zamontowany podczas startu systemu. Każdy z wierszy składa się z sześciu kolumn o określonym
znaczeniu:
Filesystem
— urządzenie, które zawiera system plików.
Mount point
— katalog systemowy, do którego zamontowany jest dany system plików.
Filesystem type
— określa typ systemu plików. Głównymi typami są:
•
ext2
— standardowy system plików Linuksa;
•
swap
— standardowy system plików swap Linuksa;
•
proc
— specjalny system plików prowadzony przez jądro systemu, używany przez komponenty
systemowe do otrzymywania informacji;
•
iso9660
— standardowy system plików używany na dyskach CD-ROM;
•
msdos
— system plików MS-DOS.
Sprawdź strony
man
polecenia
mount
, aby poznać inne niestandardowe systemy plików.
Mount options
— określa opcje podawane w momencie montowania systemu plików. Jeśli podano kilka
opcji, każda z nich jest oddzielona przecinkiem (,); żadnych spacji pomiędzy opcjami nie ma!
•
defaults
— określa serie opcji przeznaczonych dla większości systemów plików. Po więcej informacji
zajrzyj na strony
man
polecenia
mount
;
•
errors=remount-ro
— oznacza, że jeśli pojawią się problemy przy sprawdzaniu systemu plików, to
system ten zostanie ponownie podmontowany w trybie tylko do odczytu, tak by administrator mógł
przeanalizować problem bez ryzyka utraty danych lub kompletnego zniszczenia napędu;
•
sw
— oznacza, że system plików zostanie zamontowany jako partycja swap;
•
ro
— oznacza, że system plików zostanie zamontowany w trybie tylko do odczytu. Opcja zawsze
towarzyszy wybieranym napędom CD-ROM, ale może być też przypisywana innym urządzeniom;
•
noauto
— oznacza, że system plików nie będzie automatycznie montowany przy starcie systemu Linux.
Może zostać nadana opcja
user
, co pozwala każdemu użytkownikowi — nie tylko administratorowi —
montować dany system plików.
Dump flag
— określa, czy polecenie
dump
będzie tworzyć kopię zapasową systemu. Jeśli nie ma żadnej
wartości lub jest to 0, system plików nie będzie archiwizowany.
Pass
— oznacza porządek, w jakim systemy plików będą sprawdzane podczas startu systemu. Brak
jakiejkolwiek wartości lub wartość równa zero mówi, że system plików nie będzie sprawdzany.
Możesz zmodyfikować wiersze w pliku
/etc/fstab
oraz dodać nowe w razie potrzeby. Na przykład dodatkowy
wiersz określa system plików CD-ROM:
/dev/cdrom /cdrom iso9660 ro
Poprzez dodanie wpisu do pliku
/etc/fstab
nakazujesz systemowi, aby zamontował system plików CD-ROM
podczas startu systemu. Jeśli nie chcesz, aby ten system plików był automatycznie montowany w trakcie startu,
wprowadź następującą poprawkę:
/dev/cdrom /cdrom iso9660 ro, noauto
Za sprawą tego wiersza system podczas uruchamiania nie będzie montował automatycznie systemu plików CD-
ROM, ale użytkownik może zamontować dysk CD-ROM w każdej chwili za pomocą
mount
. Ponieważ system
zna już urządzenie, punkt montowania, typ systemu plików oraz opcje, możesz skrócić składnię polecenia
mount
do:
mount /cdrom
lub
mount /dev/cdrom
Oba polecenia są równoważne :
mount –t iso9660 –o ro /dev/cdrom /cdrom
Możesz także zamontować automatycznie dodatkową partycję dysku twardego poprzez opisanie jej w pliku
/etc/fstab
, np.
/dev/hdb1 /home ext2 defaults
Inną sztuczką jest użycie wpisu w pliku
/etc/fstab
, co umożliwi użytkownikom innym niż
root
zamontowanie
dyskietki:
/dev/fd0 /floppy auto noauto, user
Konfiguracja partycji swap
Tak jak używasz poleceń
mount
i
unmount
do precyzyjnego montowania i usuwania systemów plików, tak
możesz kontrolować operacje na partycjach
swap
poprzez użycie poleceń
swapon
i
swapoff
.
Jeśli chcesz zmodyfikować partycję
swap
, musisz ją tymczasowo wyłączyć. Aby tego dokonać, wydaj
następujące polecenie:
swapoff –a
Polecenie wyłącza wszystkie operacje na każdej partycji swap wymienionej w pliku
/etc/fstab
. Jeśli natomiast
chcesz wyłączyć konkretną partycję, użyj polecenia:
swapoff /dev/
urządzenie
gdzie urządzenie określa partycję
swap
, na przykład
hda3
.
Aby włączyć operacje
swap
w systemie, wpisz polecenie:
swapon –a
Polecenie włącza operacje buforowania na wszystkich partycjach
swap
wymienionych w pliku
/etc/fstab
. Jeśli
chcesz włączyć tylko konkretną partycję
swap
, użyj polecenia:
swapon /dev/
urządzenie
gdzie urządzenie określa partycję
swap
, na przykład
hda3
.
Uruchamianie i zatrzymywanie systemu i usług
Za pomocą poleceń systemu Linux możesz uruchamiać i zatrzymywać system, a także wszystkie usługi dostępne
w systemie takie jak np. serwer WWW Apache.
Uruchamianie i zatrzymywanie systemu
Możesz wyłączyć system poprzez wciśnięcie przycisku zasilania komputera. Jednakże przy użyciu jednego
polecenia możesz spowodować, że system sam się zrestartuje. Jeśli wydasz polecenie:
shutdown –r now
system natychmiast zakończy swoje działanie. Po zamknięciu ponownie się uruchomi. Jeśli chcesz wprowadzić
opóźnienie rozpoczęcia procesu zamknięcia, użyj następujących argumentów:
shutdown –r +
mn
gdzie mn oznacza ilość minut zanim rozpocznie się zamykanie systemu. Polecenie
shutdown
wysyła wtedy
komunikat do wszystkich użytkowników systemu, którzy są aktualnie do niego zalogowani. Po rozpoczęciu
procesu zamykania użytkownicy nie będą mogli rozpocząć nowej sesji logowania.
Jeśli chcesz zatrzymać system, co oznacza zamknięcie systemu bez ponownego uruchomienia, użyj
następującego polecenia:
shutdown –h now
Uruchamianie i zatrzymywanie usług systemu
Usługi to inaczej programy demony, które pracują nie będąc powiązane z żadną konsolą. Nasłuchują połączeń
sieciowych od klientów, którzy żądają od nich wykonywania określonych operacji lub dostarczenia żądanych
informacji. Tabela 7.1 opisuje kilka najważniejszych usług.
Tabela 7.1. Najważniejsze usługi
Usługa
Funkcje
apache
Serwer WWW
atd
Uruchamia polecenia w określonym czasie
cron
Uruchamia polecenia w określonym czasie, oferuje lepszą elastyczność niż demon
atd
exim
Agent poczty
gpm
Umożliwia wykorzystanie myszki na wirtualnych konsolach tekstowych
lpd
Demon kontrolujący drukarkę
netbase
Podstawowe usługi sieciowe (
inetd
i
portmap
)
netstd_init
Umożliwia routing sieciowy (
routed
)
netstd_misc
Pozostałe usługi sieciowe
nfs-server
Server sieciowego systemu plików (
nfsd
— Network File System Daemon)
samba
Usługi sieciowe zgodne z systemami Microsoftu (
smbd
i
nmbd
)
Jeśli usługa sieciowa wykona błędną operację, z pewnością zrestartujesz ją bez ponownego uruchamiania
systemu. Aby tego dokonać, wydaj następujące polecenie:
/etc/init.d/
usługa
start
gdzie usługa oznacza nazwę, np. jedną z tych przedstawionych w tabeli 7.1.
Jeśli chcesz zatrzymać usługę wykonaj:
/etc/init.d/
usługa
stop
Jeśli jakaś usługa działa niepoprawnie, możesz ją zatrzymać i uruchomić ponownie:
/etc/init.d/
usługa
stop
/etc/init.d/
usługa
start
Zatrzymaj się na kilka sekund przed wydaniem polecenia uruchomienia usługi tak, aby mogła się ona poprawnie
zamknąć.
Przeglądanie informacji systemowych i dzienników
Linux utrzymuje kilka dzienników systemowych, które informują o ważnych zdarzeniach. Prawdopodobnie
najważniejszym dziennikiem (żargonowo nazywanego logiem) jest plik
/var/log/messages
, który zapisuje różne
zdarzenia, włączając informacje o błędach, starcie i zamknięciu systemu. Jak większość innych plików Linuksa,
plik ten zawiera tekst ASCII, tak że możesz go obejrzeć za pomocą dowolnego edytora tekstu lub poleceń
przetwarzających tekst opisanych w rozdziale 13.
Polecenie
dmesg
ułatwia oglądanie informacji zapisanych w dziennikach dotyczących ostatnich uruchomień
systemu. Jeśli system zachowuje się dziwnie, użyj polecenia
dmesg
, aby szybko sprawdzić, czy coś poszło nie
tak w czasie startu systemu. Oczywiście musisz znaleźć jakiś sposób, aby określić, co takiego zwyczajnego lub
niezwyczajnego jest pośród tych wszystkich informacji wyświetlanych podczas startu systemu. Najlepszym
sposobem jest wydrukowanie wyjścia polecenia
dmesg
, kiedy wszystko działało poprawnie, i porównanie. Jeśli
masz podłączoną drukarkę do komputera, możesz wydrukować wyjście polecenia
dmesg
za pomocą:
dmesg | lpr
Inne dzienniki znajdujące się w katalogu
/var/log
obejmują:
•
apache
— katalog zawierający dwa pliki typu
log
wchodzące w skład pakietu serwera Apache:
access.log
oraz
error.log
.
•
exim
— katalog, który zawiera kilka plików typu
log
wchodzących w skład pakietu pocztowego
exim
.
•
nmb
i
smb
— pliki, które zawierają wpisy związane z działaniem usługi
samba
— serwera
kompatybilnego z systemami Microsoft.
•
ppp.log
— plik zawierający wpisy dotyczące działania demona
ppp
.
Ustawianie czasu systemowego i strefy czasowej
Linux posiada wiele poleceń, które pozwalają na ustawienie aktualnej daty i czasu oraz systemowej strefy
czasowej.
Ustawianie aktualnej daty i czasu
Do wyświetlenia obecnego czasu systemowego służy polecenie
date
:
debian1:~#
date
Fri Aug 31 23:17:34 CEST 2001-08-31
Aby ustawić aktualny czas systemowy, użyj polecenia
date
o następującej składni:
Date MMDDhhmm[CC]RR[.ss]
Argumenty polecania
date
oznaczają:
•
MM
— dwucyfrowy miesiąc, 01 – 12.
•
DD
— dwucyfrowy dzień niesiąca, 01 – 31.
•
hh
— dwucyfrowy zapis godziny, 00 – 23
•
mm
— dwucyfrowy zapis minuty, 00 – 59.
•
CC
— opcjonalny, dwucyfrowy zapis wieku, na przykład 19 lub 20.
•
RR
— dwucyfrowy zapis roku, na przykład 00 lub 01
•
ss
— dwucyfrowy, opcjonalny zapis sekundy, 00 – 59.
Polecenie
date
wyświetla czas, który wprowadziłeś, a następnie ustawia czas systemowy:
debian:~# date 083123262101
Fri Aug 31 22:26:00 CEST 2001
Kiedy wyłączysz komputer i włączysz ponownie (lub zrestartujesz system), data i czas systemu Linux powrócą
do ustawień przechowywanych w pamięci CMOS. Aby zapisać datę i czas systemu Linux w pamięci CMOS,
wykonaj polecenie:
hwclock –systohc
Jeśli ustawiłeś swój zegar na czas UTC, a nie na lokalny, skoryguj poprzednie polecenie w następujący sposób:
hwclock –systohc –utc
Ustawianie strefy czasowej
Do ustawiania strefy czasowej służy
tzconfig
. Polecenie inicjuje dialog, który wyświetla aktualny czas
strefowy, i pyta, czy chcesz go zmienić. Jeśli odpowiesz, że tak, program poprosi, abyś wybrał odpowiednią
opcję z listy obszarów geograficznych, a następnie z listy miast. Zależnie od wyboru, polecenie
tzconfig
ustawi i wyświetli aktualny czas strefowy. Typowy dialog polecenia
tzconfig
wygląda mniej więcej tak:
Rysunek 7.1. Typowy dialog polecenia tzconfig
Rozdział 8.
Praca z aplikacjami i klientami
systemu Linux
Rozdział ten wyjaśnia, jak wykorzystać system Linux do zadań biurowych. Opisuje popularne programy
biurowe i inne podobne aplikacje. Przedstawia również VMware — program, który pozwala uruchomić system
Linux i MS Windows jednocześnie, oraz WINE — program, który umożliwia uruchamianie niektórych aplikacji
MS Windows pod Linuksem.
Projekt Debian jest mocno zaangażowany we włączanie do swojej głównej dystrybucji tylko oprogramowania
prawdziwie Open Source. Nie wszystkie programy wymienione w tym i w następnym rozdziale spełniają
wymogi oprogramowania OpenSource. Pozytywną stroną systemu Linux jest łatwość, z jaką może zostać
rozszerzony o dodatkowe programy. Archiwa Contributed i Non-free zawierają dużo programów (niekoniecznie
darmowych); część oprogramowania rozszerzającego dystrybucję Debiana można pobrać także od innych
producentów oprogramowania, którzy ostatnio rozpoczęli prace nad aplikacjami dla systemów typu Linux.
Aplikacje biurowe Linuksa
Nie tak dawno temu praca w systemie Linux oznaczała porzucenie łatwych w użyciu aplikacji takich jak
procesory tekstu, które obsługiwały technologię
WYSIWYG
(„co widzisz, to dostaniesz”). W tamtym czasie w
Linuksie instalowano słabe, lecz w pełni funkcjonalne graficzne pakiety biurowe.
Obecnie można używać kilku pakietów biurowych, choć wiele jest jeszcze w fazie projektowania. Jeśli wierzyć
pogłoskom, nawet Microsoft rozważa próbę zaimplementowania swojego pakietu biurowego MS Office dla
systemu Linux. Tak czy inaczej użytkownicy Linuksa oczekują możliwości uruchomienia pakietu Office
(zależy, jaką nazwę da temu produktowi Microsoft) w ich ulubionym systemie; ci użytkownicy, którzy unikali
do tej pory aplikacji pochodzących z innych systemów operacyjnych, czekają na możliwość tworzenia własnych
dokumentów, arkuszy i programów graficznych pod Linuksem.
W tym podrozdziale są opisane trzy najbardziej popularne aplikacje biurowe dla systemu Linux:
• Applix Applixware,
• Corel WordPerfect dla Linuksa,
• Sun StarOffice.
W dodatku znajdziesz też krótki opis innych programów biurowych:
• Angoss SmartWare,
• Axene Xclamation,
• KOffice,
• Lotus eSuite,
• Quadratron Cliq,
• TeX.
Ostatni podrozdział poświęcony jest zupełnie innemu podejściu do aplikacji graficznych:
• Wirtualna platforma VMware, która pozwala na jednoczesne uruchomienie systemu Windows i Linux
na jednym komputerze!
• WINE, który pozwala uruchamiać programy systemu DOS i Windows pod Linuksem.
Applix Applixware
Firma Applix stworzyła pogram Applixware, pakiet biurowy dla różnych systemów operacyjnych, włączając MS
Windows, kilka odmian Uniksa, w tym Linuksa. Jest to oprogramowanie komercyjne, ale o wiele tańsze niż MS
Office. Można je zakupić poprzez Internet (
http://www.applix.com
) wraz z dokumentacją i programami
narzędziowymi, które są udostępniane za dodatkową opłatą. Jeśli chciałbyś wypróbować ten produkt, zanim go
kupisz, to możesz pobrać ze strony firmy Applix wersję demonstracyjną; co prawda zajmuje aż 38 MB i
ściągnięcie jej na lokalny dysk twardy zajmuje sporo czasu, warto to jednak zrobić, gdy masz stałe łącze z
Internetem.
Applixware zawiera osiem głównych komponentów:
• Words — procesor tekstu obsługujący technologię WYSIWYG;
• Spreadsheets — graficzny arkusz kalkulacyjny.
• Presents — graficzna aplikacja prezentacyjna;
• Graphics — aplikacja do edycji, obróbki i tworzenia grafiki;
• Mail — klient e-mail;
• HTML Author — program do tworzenia dokumentów HTML;
• Data — aplikacja umożliwiająca dostęp do danych zawartych w bazach Oracle, Informix, Sybase lub
CA-Ingres;
• Builder — program do rozwijania środowisk systemów wspomagania decyzji.
Uruchamianie Applixware
Po ściągnięciu i zainstalowaniu programu Applixware możesz go uruchomić w środowisku X za pomocą
emulatora terminala i wprowadzonego za jego pośrednictwem polecenia:
DISPLAY=localhost:0
/opt/applix/applix
Drugi wiersz tego polecenia zakłada, że zainstalowałeś program w katalogu
/opt/applix
. Jeśli nie, to podaj
właściwy katalog.
Po uruchomieniu Applixware wyświetla się okno zawierające główne menu programu przedstawione na rysunku
8.1. Bezpośrednio z tego okna, za pomocą myszki, możesz uruchomić wszystkie programy wchodzące w skład
pakietu:
Words
,
Graphics
,
Presents
,
Spreadsheets
itd. Alternatywnie możesz również kliknąć gwiazdkę
znajdującą się na pasku okna menu głównego, aby wyświetlić menu pokazane na rysunku 8.2.
Rysunek 8.1. Główne okno programu Applixware
Rysunek 8.2. Menu aplikacji Aplixware
Rysunek 8.3 ilustruje uruchomioną aplikację
Words
. Zawiera ona sprawdzanie pisowni, szablony dokumentów,
łącza do dokumentacji dodatkowej, a także umożliwia wstawianie tabel. Co więcej — pozwala na importowanie
i eksportowanie różnych formatów dokumentów, włączając dokumenty MS Word.
Rysunek 8.3. Aplikacja Words
Rysunek 8.4 przedstawia program
Presents
, dzięki któremu tworzymy prezentacje w sposób bardzo podobny do
tego, który jest stosowany do tworzenia prezentacji za pomocą programu MS PowerPoint (animacje, przejścia,
eksport HTML oraz szablony prezentacji). Narzędzia do tworzenia grafiki pozwalają rysować linie, krzywe,
kształty oraz umożliwiają wykonywanie różnych operacji takich jak np. obracanie czy wypełnianie. Presents
umożliwia import i eksport prezentacji do i z MS PowerPoint oraz wielu innych dokumentów.
Rysunek 8.4. Program Presents
Uwaga
Chociaż aplikacje dla systemu Linux takie jak Words lub Presents są w stanie importować dokumenty pakietu
MS Office, mogą one nie obsługiwać wszystkich dokumentów i typów danych. Niektóre z nich wymagają
aplikacji działających tylko pod kontrolą systemu MS Windows.
Co więcej, niektóre aplikacje systemu Linux nie umożliwiają jak dotąd korzystania ze wszystkich stylów i opcji
odpowiadających im programów pakietu MS Office. Na przykład, jeśli dokument bazuje na Microsoft Visual
Basic for Applications, to prawdopodobnie nie będzie on działał pod Linuksem.
Jeśli planujesz przenoszenie dokumentów do i z MS Office, wypadałoby, byś zapisywał je w formacie
przenośnym (takim jak RTF), a nie w domyślnym formacie. Zwiększa to prawdopodobieństwo, że dokumenty
te zostaną poprawnie zaimportowane do odpowiednich programów obu systemów (Windows i Linux).
Rysunek 8.5 ilustruje okno aplikacji
Spreadsheets
(arkusz kalkulacyjny), która posiada funkcje podobne do tych,
jakie ma program MS Excel.
Spreadsheets
tworzy zarówno standardowe arkusze kalkulacyjne, jak i
trójwymiarowe wykresy oraz współpracuje z obiektami stworzonymi przez aplikacje firmy Applixware i innych
producentów, włączając w to
Applix Data
— obiekt, który daje dostęp do relacyjnych baz danych.
Spreadsheets
posiada implementację
Extension Language Facility
(ELF), co ułatwia dodawanie własnych funkcji do setek już
wbudowanych. Arkusz kalkulacyjny firmy Applix może importować i eksportować różne typy dokumentów w
tym: Lotusa i Excela.
Rysunek 8.5. Arkusz kalkulacyjny wchodzący w skład pakietu Applixware
StarOffice
Innym popularnym pakietem biurowym jest StarOffice, produkt firmy Sun Microsystems, który jest dostępny
nieodpłatnie w Internecie (
http://www.sun.com/products/staroffice
). Pakiet zajmuje około 70 MB, dlatego jest
rozprowadzany także na dysku CD-ROM, lecz w tym przypadku należy zapłacić za nośnik i za jego przesłanie.
Uwaga
Pakiet ten jest również dostępny w polskiej wersji językowej. Można go znaleźć na wielu serwerach FTP w
Polsce. Wymaga on jednak zainstalowania fontów TrueType, najlepiej wraz z serwerem fontów
xfstt
.
StarOffice zawiera szeroką gamę aplikacji, między innymi:
• StarDesktop — menedżer plików i pulpitu.
• StarWriter — procesor tekstu.
• StarCalc — arkusz kalkulacyjny.
• StarDraw — aplikacja do tworzenia grafiki.
• StarImpress — program do tworzenia aplikacji.
• StarBase — relacyjna baza danych.
• StarSchedule — osobisty organizer śledzący kontakty, projekty, dokumenty, zadania i wydarzenia.
• StarMail — klient e-mail.
• StarDiscussion — klient grup dyskusyjnych.
• StarChart — graficzna aplikacja biznesowa.
• StarImage — edytor grafik, który zawiera wiele specjalnych efektów graficznych.
• StarMath — edytor wzorów.
Instalacja pakietu StarOffice
Aby zainstalować program StarOffice z dysku CD-ROM, zaloguj się na konto użytkownika
root
, zamontuj
płytę CD-ROM, zmień katalog roboczy na katalog, w którym zainstalowałeś pakiet StarOffice, przejdź do
podkatalogu
Office52/english/prod_lnx
i wykonaj ciąg poleceń:
su –
mount –t iso9660 /dev/cdrom /cdrom
cd /cdrom/Office52/english/prod_lnx
./setup
Program instalacyjny poprowadzi cię przez resztę procedury.
Jeśli pobrałeś wersję z Internetu, prawdopodobnie posiadasz plik tar o nazwie przypominającej
so52_01.tar
.
Zmień obecny katalog roboczy na katalog, do którego ściągnąłeś plik tar (na przykład
/home/pobrane
) i wydaj
następujące polecenia:
tar xvf so52_01.tar
cd so52_inst
./setup
Jeśli zapisałeś ściągnięty plik inaczej niż jako
so52_01.tar
, pamiętaj, aby uwzględnić to w pierwszym i drugim
wierszu polecenia, zmieniając nazwę na właściwą. Tak jak w przypadku instalacji z CD-ROM, program
instalacyjny przeprowadzi cię przez resztę procesu instalacyjnego.
Niezależnie od tego, czy instalujesz z płyty CD-ROM czy z pliku tar skopiowanego z Internetu, powinieneś
przeczytać plik
README
, który znajdziesz w katalogu
Office52
, w celu zapoznania się z instrukcjami
dotyczącymi instalacji i użytkowania pakietu StarOffice.
Uruchamianie pakietu StarOffice
Kiedy już zainstalujesz ten pakiet biurowy, uruchom X Window i za pomocą emulatora terminala wydaj
następujące polecenia:
PATH=$PATH:/opt/Office52/bin
soffice
Jeżeli zainstalowałeś program StarOffice w innym katalogu niż
/opt/Office52
, będziesz musiał odpowiednio
poprawić pierwszy wiersz.
Podczas uruchamiania pakietu automatycznie ukazuje się program
StarDesktop
, co przedstawia rysunek 8.6.
StarDesktop
przypomina Eksploratora Windows i GNOME File Managera (menedżer plików GNOME).
Umożliwia wykonywanie różnych operacji, np. otwieranie plików dokumentów lub katalogów.
Rysunek 8.6. StarDesktop
Rysunek 8.7 ilustruje
StarWriter
, procesor tekstu, który umożliwia między innymi szyfrowanie PGP wiadomości
email oraz kilka innych czynności, których nie znajdziesz w pakiecie MS Office 97. Podobnie jak aplikacja
Applixware Words
, pozwala na importowanie i eksportowanie różnych dokumentów, w tym plików MS Word
97.
Rysunek 8.7. Procesor tekstu StarWriter z pakietu StarOffice
Na kolejnym rysunku 8.8 pokazany został
StarImpress
— program do tworzenia graficznych prezentacji.
Podobnie jak program
Applixware Presents
,
StarImpress
importuje i eksportuje wiele typów plików, włączając
prezentacje MS PowerPoint 97. Tworzy animacje, wykresy, posiada szablony prezentacji, efekty 3D i wiele
innych funkcji i właściwości.
Rysunek 8.8. Program StarImpress
Następnym programem przedstawionym na rysunku 8.9 jest
StarDraw
, aplikacja służąca do tworzenia grafiki
(rysowania). Posiada ona wiele narzędzi i przyborów do rysowania wraz z efektami graficznymi, pracuje
z wieloma formatami plików, włączając nawet Windows Metafile (WMF).
Rysunek 8.9. Program do rysowania StarDraw
W dodatku StarOffice posiada także kilka mniejszych programików, ale za to bardzo użytecznych. Na przykład
rysunek 8.10 przedstawia
StarSchedule
, który pomaga śledzić zadania do wykonania.
Rysunek 8.10. Organizer StarSchedule
Corel WordPerfect dla Linuksa
Inną popularną aplikacją jest Corel WordPerfect dla Linuksa, dostępny nieodpłatnie do użytku prywatnego na
stronie WWW firmy Corel:
http://www.linux.corel.com/
. WordPerfect to nie tylko procesor tekstu, ale daleko mu
jeszcze do pełnego pakietu biurowego; nie posiada na przykład żadnego arkusza kalkulacyjnego. Jednakże wiele
ciekawych funkcji i właściwości czyni go interesującą aplikacją:
• menedżer plików,
• możliwość rysowania grafik i tworzenia wykresów,
• funkcje arkusza kalkulacyjnego w tabelach,
• tworzenie dokumentów HTML.
Dodatkowo, komercyjna wersja posiada następujące opcje:
• zaawansowane funkcje do rysowania grafiki i tworzenia wykresów,
• kontrolę wersji,
• zbiór obrazków, zdjęć, tekstur, szablonów i fontów.
Wersja darmowa zajmuje około 24 MB (około dwóch godzin kopiowania, zakładając, że posiadasz modem o
maksymalnej prędkości 28,8 kb/s).
Instalacja programu WordPerfect dla Linuksa
Aby zainstalować WordPerfect dla Linuksa, zmień aktualny katalog roboczy na katalog, który zwiera pobrany
z sieci plik, i wydaj polecenie:
DISPLAY=localhost:0
Następnie uruchom X Window i w oknie terminala wydaj polecenia:
cd /download
tar zxvf wp.tgz
./Runme
Jeśli pobrałeś plik do innego katalogu niż podany w poleceniu lub ściągnąłeś plik, który ma inną nazwę, nie
zapomnij uwzględnić tego w poleceniu!
Program instalacyjny przeprowadzi cię przez proces instalacji szybko i bezboleśnie.
Aby zainstalować program WordPerfect z płyty CD-ROM, podążaj za instrukcjami dołączonymi do dysku CD-
ROM.
Uwaga
Niektóre strony WWW, włączając stronę firmy Corel, pozwalają pobrać plik programu WordPerfect w postaci
nieskompresowanej. Jeśli polecenie tar wyświetli komunikat o błędzie oznaczający, że nie jest to wcale plik w
formacie gzip, użyj poniższego polecenia do rozpakowania archiwum:
tar xvf wp.tar
Praca z programem WordPerfect
Kiedy już zainstalujesz ten program, uruchom sesję X i w oknie terminala wydaj polecenie:
/opt/corelwp8/wp/bin/xwp
Rysunek 8.11 przedstawia ekran programu WordPerfect.
Rysunek 8.11. WordPerfect dla Linuksa
Inne aplikacje biurowe
Tabela 8.1 opisuje kilka innych aplikacji biurowych dostępnych dla systemu Linux. Pomiędzy nimi znajduje się
TeX, pakiet o niezrównanej mocy, przeznaczony do publikacji. Ze względu na wyrafinowane matematyczne
notacje i formuły TeX jest ulubionym programem naukowców i matematyków.
Tabela 8.1. Inne aplikacje biurowe dla Linuksa
Aplikacja Strona
sieci
Web
Opis
Angoss SmartWare
http://www.angoss.com/
Zawiera procesor tekstu, arkusz
kalkulacyjny i relacyjną bazę danych.
Darmowa wersja demonstracyjna
pozbawiona możliwości drukowania i
zapisywania.
Axene Office
http://www.axene.com/
Zawiera procesor tekstu, arkusz
kalkulacyjny i aplikację dla publikacji
biurowych. Licencjonowana odpłatnie
wraz z dość kosztowną dokumentacją.
KOffice
http://www.koffice.kde.org/
Pakiet biurowy GPL.
Lotus eSuite
http://www.lotus.com/home.nfs/tabs/esuite1
Aplet Java zawierający procesor tekstu,
arkusz kalkulacyjny, prezentacje
graficzne, terminarz, wykresy,
SQL/JDBC oraz CGI gateway. Licencja
odpłatna — zależy od liczby
użytkowników.
Quadratron Cliq
http://www.quad.com/
Znakowy pakiet biurowy. Licencja
odpłatna zależna od liczby
użytkowników.
TeX
http://www.ctan.org/
Aplikacja dla publikacji biurowych GPL.
Wyrafinowana i potężna, lecz raczej
niewygodna w użyciu.
Pozostałe metody pracy biurowej
Jeśli po wypróbowaniu różnych pakietów biurowych dla systemu Linux zatęsknisz za swoim pakietem
biurowym Windows, możesz sprawić, aby współpracował on z Linuksem, na dwa sposoby:
• za pomocą wirtualnej platformy VMware,
• przy użyciu programu WINE.
Kolejny podrozdział opisuje obydwie metody.
VMware
Firma VMware Inc. przedstawiła ostatnio wersję 3.0 Beta produktu o nazwie VMware Workstation dla systemu
Linux. Dostępne są także wersje dla Windows 2000, Windows XP i Windows NT oraz produkty udoskonalone:
VMware GSX serwer dla wszystkich wyżej wymienionych systemów operacyjnych. Aby pobrać najnowszą
wersję tego programu, zajrzyj na stronę
http://www.vmware.com/
.
Jak sama nazwa wskazuje, VMware dla Linuksa działa z systemem Linux, a VMware dla Windows
(XP/2000/NT) pracuje pod kontrolą systemu Windows (XP/2000/NT). Każdy produkt pozwala uruchomić tzw.
gościnny system operacyjny oprócz głównego systemu operacyjnego! Obsługiwane gościnne systemy
operacyjne to:
• FreeBSD,
• Linux,
• MS-DOS 6.x,
• Solaris 7 Intel Edition,
• Windows 2000,
• Windows 3.1,
• Windows 95,
• Windows 98,
• Windows NT.
Na przykład za pomocą VMware Workstation dla Linuksa możesz pracować z ulubionymi aplikacjami
napisanymi dla systemu Windows 9.x, włączając w to pakiety biurowe. Pierwsze doświadczenia z tym
programem pokazały, że jest to potężne i bardzo wydajne narzędzie do uruchamiania aplikacji biurowych
w systemie Linux.
Ograniczona czasowo wersja demonstracyjna jest dostępna na stronie producenta. Można także z tej strony
bezpośrednio zakupić ten produkt. Jednak zanim to zrobisz, najpierw go wypróbuj. Aby VMware poprawnie
działał, musisz posiadać kopię gościnnego systemu operacyjnego wraz ze wszystkimi aplikacjami, które
będziesz chciał uruchomić.
WINE
WINE (rekursywny akronim „WINE is not an emulator” — Wine nie jest emulatorem) jest programem, który
prezentuje inne podejście do uruchamiania starszych aplikacji. WINE jest uniksową (opartą na GPL)
implementacją interfejsu programowania aplikacji (API) Windows 3.x i Win32. Poprzez zainstalowanie tego
programu na komputerze otrzymasz możliwość uruchamiania w Linuksie aplikacji systemów MS-DOS i
Windows. Ponieważ WINE implementuje API samodzielnie, nie musisz posiadać kopii systemu Windows lub
MS-DOS na dysku twardym z systemem Linux.
WINE jest wciąż rozwijany, ponieważ nie wszystkie aplikacje systemów Windows i MS-DOS działają
poprawnie. Niektóre zawierają specjalne funkcje, które nie zostały jeszcze zaimplementowane. Na stronie HQ
Development
http://www.winehq.com/
znajduje się baza przechowująca informacje o możliwościach
uruchamiania programów dla Windows i MS-DOS, zgłaszanych przez użytkowników tego programu. Obecnie
baza zawiera ponad 2 000 programów o średniej punktacji 2,5 (od 0 — całkowicie niefunkcjonalna, do 5 —
działająca perfekcyjnie).
Pobieranie i instalacja WINE
WINE jest często uaktualnianym programem i jeszcze nie w pełni skończonym. Dlatego zamiast instalować go
z CD-ROM-u dołączonego do tej książki, powinieneś raczej ściągnąć WINE ze strony
http://packages.debian.org/wine
. W celu zainstalowania programu przeczytaj dodatek C „Narzędzia do
zarządzania pakietami Debiana”, gdzie przedstawiona została pełna instrukcja instalacji tego programu.
Uruchamianie WINE
Jeśli system Linux automatycznie montuje partycję systemu Windows (istniejącą) jako katalog
/c
, możesz od
razu uruchomić WINE. W przeciwnym przypadku musisz najpierw ustawić prostą strukturę katalogów. Aby
tego dokonać, zaloguj się na konto użytkownika root i wydaj następujące polecenia:
mkdir –p /c/windows/system
> /c/windows/win.ini
Uwaga
Jeśli system Linux automatycznie montuje partycję systemu Windows jako katalog
/c
, powyższe polecenia
zniszczą aktualną konfigurację systemu Windows! Nie wykonuj ich, ponieważ w takim przypadku nie
potrzebujesz ich do uruchomienia WINE.
Aby przygotować aplikację systemu MS-DOS lub Windows do działania w Linuksie, skopiuj dany program
wraz ze wszystkimi bibliotekami DLL i innymi plikami do katalogu
/c/windows
. Na przykład, aby przygotować
aplikację Saper do uruchomienia, skopiuj pliki
winmine.exe
oraz
winmine.ini
do katalogu
/c/windows
. Musisz
mieć uruchomioną sesję X, aby aplikacja ta mogła w ogóle działać. Wpisz polecenie
wine
, podając jako
argument pełną nazwę aplikacji. Na przykład, aby uruchomić Sapera, wydaj polecenie:
wine winmine.exe
Rysunek 8.12. Saper działający w systemie Linux
Rozdział 9.
Gry i Linux
W poprzednim rozdziale dowiedziałeś się, jak używać systemu Linux do pracy, zwłaszcza biurowej; w tym
rozdziale dowiesz się, jak uruchamiać na nim gry. Dostępnych jest wiele ekscytujących i porywających gier dla
systemu Linux, w dodatku większość z nich jest darmowa. Poza tym możesz wykorzystać program
WINE
do
uruchamiania gier komercyjnych napisanych specjalnie dla systemu Microsoft Windows.
Przegląd gier dla systemu Linux
Dystrybucje systemu Linux zawierają kilka popularnych gier. W dodatku wiele gier dla tego systemu można
znaleźć w Internecie. Tabela 9.1 przedstawia kilka najczęściej odwiedzanych stron z grami dla Linuksa, a tabela
9.2 opisuje kilka najbardziej popularnych gier (hitów) dla tego systemu. Jednakże prawie każdą grę możesz
znaleźć na stronie Debiana
http://www.debian.org/
.
Tabela 9.1. Strony z popularnymi grami Linuksa
Strona sieci Web
Adres URL
Freshmeat
http://freshmeat.net/
Linux Game Tome
http://happypenguin.org/
Linux Games Page
http://www.linuxgames.com/
Linux Quake Page
http://www.planetquake.com/linux/
Linuxquake.com
http://www.linuxquake.com/
Loki Games
http://lokigames.com/
slashdot
http://www.slashdot.org/
Tabela 9.2. Niektóre popularne gry dla Linuksa
Gra Rodzaj
Opis
BZFlag Akcji
Wieloużytkownikowa bitwa na czołgi
Civilisation: Call to Power
Strategia
Kontynuacja komercyjnej wersji Civilization
(Micropose) dla Linuksa. Umożliwia grę
sieciową
CrossFire Przygodowa
Podobieństwo gry Rouge. Umożliwia
wieloużytkownikową grę w sieci
DOOM
Akcji
Klasyczna gra akcji. Wymaga pliku doom.wad z
oryginalnej kopii gry
Freeciv Strategia
Przypomina
Cilivization.
Umożliwia grę
sieciową
Illust Logic
Puzzle
Pomalowane kawałki, z których musisz ułożyć
cały obrazek
Koules Zręcznościowa Wieloużytkownikowa gra akcji. Uruchamiana w
trybie tekstowym a także w X11
NetHack
Przygodowa
Gra zadaniowa przypominająca Rouge.
Obsługuje tryb konsoli znakowej i tryb
graficzny X11
Netrek Zręcznościowa
Symulacja bitwy w 2D o temacie Star Trek.
Wieloużytkownikowa
PySol Karciana
Dwadzieścia różnych wersji Solitaire
Quake
Akcji
Wersja komercyjnej gry Quake dla Linuksa.
Wymaga pliku PAK z oryginalnej wersji gry.
Obsługuje tryb graficzny X11 i znakowy
(konsola)
Quake II
Akcji
Najlepsza strzelanka XX wieku. Wymaga
opłaty licencyjnej. Obsługuje tryb X11 i konsolę
Snes9X Narzędzie Przenośny, darmowy emulator Super Nintendo
Entertainment Systems (SNES). Pozwala na
uruchamianie gier Nintendo64 na PC
Starcraft Linux — install
HOWTO
Dokumentacja Opisuje
procedurę instalacyjną
i uruchomieniową komercyjnej gry Starcraft,
wykorzystującej WINE
Xbomber Zręcznościowa Przypomina
starą klasyczną grę Bomberman
Xmame Zręcznościowa
Emulator popularnych gier zręcznościowych
Wymaga obrazu ROM z oryginalnej wersji gry
XPat2
Karciana
Kolejny zbiór kilku wariacji Solitaire
XshipWars
Akcji
Graficzny MUD (wieloużytkownikowy labirynt
— loch) o kosmicznym klimacie
Jak zauważyłeś, dostępnych jest wiele gier dla Linuksa, włączając w to gry akcji, zręcznościówki, gry karciane,
puzzle, gry przygodowe (
role playing
) i strategiczne. Niektóre z nich można uruchomić już na konsoli znakowej,
inne wymagają środowiska X. Wiele z nich pozwala kilku użytkownikom na grę poprzez komputery połączone
w sieć, np. Internet. Mogą to być gry darmowe, shareware lub komercyjne (licencjonowane). W dodatku
oprogramowanie takie jak
Snes9X
i
Wine
pozwala na uruchamianie gier napisanych dla innych systemów
operacyjnych.
Przegląd najlepszych gier
W tym podrozdziale zaznajomisz się z trzema najpopularniejszymi grami minionego tysiąclecia działającymi w
systemie Linux. Są to:
•
DOOM
, który działa na konsoli i w X.
•
Quake II
, który działa na konsoli i w X.
•
Starcraft
, który działa w X za pomocą programu
WINE
.
DOOM
Znana trójwymiarowa gra akcji — oryginalnie napisana dla systemu MS-DOS przez id Software
(
http://www.idsoftware.com/
). Wcielasz się w rolę kosmicznego żołnierza, który musi zdobyć opanowane przez
obcych bazy ulokowane na księżycach Marsa. Grę wyróżnia grafika trójwymiarowa czasu rzeczywistego oraz
dźwięk stereo. Rysunek 9.1 przedstawia jedną ze scen gry.
Rysunek 9.1. Typowy ekran gry DOOM
Jeśli wolisz grać z bardziej przebiegłymi przeciwnikami, wybierz grę w sieci, np. poprzez modem lub sieć opartą
na protokole IPX lub TCP/IP. Tryb sieciowy pozwala na sprawdzenie swoich umiejętności z dwoma lub
czterema graczami.
Aby uruchomić DOOM-a na konsoli, wydaj następujące polecenie:
sdoom –wrap 1 1
Jeśli wolisz grać w DOOM-a w X Window, wpisz:
xdoom –wrap 1 1
Aby wywołać główne menu gry, naciśnij klawisz
Esc
.
Możesz dowiedzieć się więcej na temat tej gry, odwiedzając stronę archiwum DOOM-a pod adresem:
http://www.idsoftware.com/archives/doomarc.html
oraz FAQ Linux DOOM, które znajduje się pod adresem:
http://jcomm.uoregon.edu/~stevev/Linux-DOOM-FAQ.html
. Możesz również wypróbować lxDOOM, klona gry
Boom dla systemu Linux, która jest rozszerzoną wersją DOOM-a.
Quake II
Podobnie jak DOOM, Quake II został również stworzony przez id Software. Jednakże Quake II jest grą bardziej
nowoczesną i wyrafinowaną niż DOOM. Na przykład tryb wieloużytkownikowy pozwala aż 32 graczom
jednocześnie wędrować po planecie zwanej Stroggos. Natomiast w trybie gracza pojedynczego walczysz z 18
przeciwnikami o sztucznej inteligencji, którzy zręcznie unikają twoich strzałów.
Aby uruchomić grę Quake II pod X Window, zmień katalog roboczy na katalog, w którym zainstalowałeś grę, i
wydaj polecenie:
./quake2 +set vid_ref softx
Natomiast w celu uruchomienia gry na wirtualnej konsoli, zainicjuj polecenie:
./quake2 +set vid_ref soft
Menu główne gry wywołujemy poprzez naciśnięcie klawisza
Esc
.
Starcraft
Starcraft jest grą strategiczną czasu rzeczywistego opracowaną przez Blizzard Entertainment, w której grasz rolę
przywódcy oddziału ludzi wygnanych w najdalszy zakątek galaktyki. Twoim zadaniem jest zgromadzenie
wystarczających sił zbrojnych, które potrafią stawić czoła dominującym dwom innym gatunkom: Protosom i
Zregom. Aby tego dokonać, musisz budować bazy, pojazdy, produkować broń i szkolić żołnierzy.
Starcraft nigdy nie został zaimplementowany w systemie Linux; jednakże grę można uruchomić w tym systemie
za pomocą programu
WINE
. Kolejny podrozdział wyjaśnia, jak zainstalować i uruchomić grę Starcraft przy
założeniu, że masz już zainstalowany program
WINE
.
Instalacja Starcrafta
Jeśli posiadasz komercyjną wersję gry, zamontuj dysk CD-ROM i poszukaj pliku install.exe. Jeżeli natomiast
chcesz wypróbować grę, pobierz plik wersji demonstracyjnej gry
scdemo.exe
(o rozmiarze 28 MB). Plik ten
możesz skopiować ze strony firmy Blizzard:
http://www.blizzard.com/
, a także z wielu innych stron
poświęconych grom komputerowym.
Zmień aktualny katalog roboczy na katalog, w którym znajduje się plik
install.exe
lub
scdemo.exe
, i użyj
programu
WINE
, aby zainstalować grę:
wine –display localhost:0 –winver win95 scdemo.exe (lub install.exe).
Kiedy zostaniesz zapytany, czy chcesz zainstalować sterowniki DirectX 5, zaznacz opcję
No, But Continue
(nie,
ale kontynuuj) i kliknij
OK
. Wybierz katalog, do którego chcesz zainstalować Starcrafta (domyślny wybór jest
również akceptowany) i kliknij
OK
. Jeśli program zapyta, czy chcesz zarejestrować swoją wersję poprzez
Internet, odpowiedz
Nie
. Po zakończeniu instalacji kliknij
Exit
, aby zakończyć program instalacyjny.
W systemie Linux gra Starcraft działa w trybie 640
×480 w 256 kolorach. Z tego powodu musisz skonfigurować
swoje środowisko X do działania w tym trybie. Oto szybki sposób na wykonanie tej czynności.
cd /etc/X11
cp XF86Config XF86Config.SAVE
cp XF86Config XF86Config.Starcraft
Zmień plik
XF86Config
.
Starcraft
przy użyciu wybranego edytora. Znajdź sekcję
Screen
(ekran) w tym pliku,
która określa serwer X (sterownik) używany do zmiany głębi kolorów i rozdzielczości ekranu. Wybierz parametr
8 opcji
Depth
(głębia koloru) i 640
×480 opcji
Modes
(tryb rozdzielczości). Usuń inne dodatkowe tryby. Kiedy
skończysz, sekcja
Screen
powinna wyglądać mniej więcej tak:
Section "Screen"
Driver "svga"
Device "Millenium"
Monitor "Viewsonic17GS"
Subsection "Display"
Depth 8
Modes "640x480"
ViewPort 0 0
Virtual 640 480
EndSubsection
EndSection.
Gramy w Starcrafta
Aby zagrać w Starcrafta, zamień plik
XF86Config
:
cp XF86Config.Starcraft XF86Config
i uruchom X Window:
startx
Uruchom emulator terminala dla systemu X11, zmień katalog roboczy na katalog, w którym zainstalowałeś grę, i
uruchom ją poleceniem:
#
cd "/c/Program Files/Starcraft Shareware (ED)"
#
wine – display localhost:0 –winver win95 –depth 8 \
>
-geom 640x480 Starcraft.exe
Jeśli zainstalowałeś grę w innym katalogu, niż podano w powyższym przykładzie (
/c/Program Files/Starcraft
Shareware (ED)
), musisz oczywiście uwzględnić ten fakt w poleceniu
cd
!
Teraz już możesz grać w Starcrafta, dopóki nie podbijesz całej galaktyki. Misja ćwiczebna pomoże ci w
dokonaniach. Oczywiście planowanie i wykonanie założonej zwycięskiej strategii wymaga wielu godzin
ćwiczeń.
Zamykanie Starcrafta
Kiedy skończysz grać, naciśnij
F10
, aby wywołać menu główne gry, opuść aktualną misję i wyjdź z gry.
Następnie z powrotem zamień oryginalny plik
XF86Config
za pomocą poleceń:
cd /etc/X11
cp XF86Config.SAVE XF86Config
Rozdział 10.
Konfiguracja sieci LAN opartej na
systemie Debian GNU/Linux
Rozdział ten wyjaśnia, jak skonfigurować sieć lokalną (LAN) i serwer Samba, który pozwala klientom
systemów UNIX i MS Windows na korzystanie z zasobów (plików i drukarek) udostępnianych przez system
Linux. Objaśnia także, jak zarządzać siecią lokalną, a także jak zainstalować i skonfigurować klienty i serwery
Samby oraz administrować nimi. Integracja systemu Linux z istniejącą siecią LAN jest nie bardziej
skomplikowana niż konfiguracja własnej sieci LAN; rozdział ten tłumaczy, jak połączyć się z istniejącą siecią
LAN. Na końcu przedstawiona jest metoda używania narzędzi do archiwizacji i odtwarzania systemu, która
pozwala klientom tworzyć i stosować kopie zapasowe przechowywane na serwerze lokalnym.
Wstęp
Jedną z największych zalet systemu Debian GNU/Linux są jego potężne i wydajne właściwości sieciowe. Dobrą
stroną jest również to, że wszystko, co dotyczy sieci systemu Linux, jest otwarte i w pełni konfigurowalne. Nic
nie jest ukryte przed użytkownikiem, żadne parametry nie są wymuszane na użytkowniku. Wyzwaniem jest za to
skonfigurowanie sieci zgodnie z własnymi oczekiwaniami i wymogami sprecyzowanymi w dokumentach RFC.
Podstawowe zasady sieciowe nie różnią się wiele między systemami MS Windows i Linux. Rozdział ten
rozpoczyna przegląd sieci od dość szczegółowego opisu sieci lokalnych (LAN). W następnych dwóch
rozdziałach zaś przedstawione zostały takie zagadnienia dotyczące sieci, jak nawiązywanie połączenia z siecią
Internet poprzez PPP (dialup) oraz konfiguracja serwisów sieci WAN (Wide Area Network — sieć rozległa).
Ruch generowany w sieci przez współczesne komputery można porównać do tradycyjnej poczty. Żeby możliwe
było wysyłanie i odbieranie listów, listonosz musi wiedzieć, gdzie list dostarczyć oraz skąd odebrać. Zatem twój
dom musi posiadać jakiś rozpoznawalny „interfejs”, który nazywamy skrzynką pocztową. Listonosz musi znać
twoje sąsiedztwo bardzo dobrze, w innych miejscowościach działać będą inni listonosze równie dobrze znający
swój teren. Poczta jest przekazywana listonoszom za pośrednictwem urzędników pocztowych, których
odpowiednikiem w sieci komputerowej jest gateway (brama przekaźnikowa). Chociaż możesz sądzić, że cały ten
system poczty to jedna wielka sieć, łatwiej będzie ci go zrozumieć, jeśli wyobrazisz go sobie jako hierarchię
składającą się z podsieci, z których największymi są województwa, te zaś podzielone są na gminy, następnie
urzędy pocztowe, określane kodami pocztowymi — wszystko to, wraz z nazwą ulicy i numerem domu, składa
się na niepowtarzalny adres odbiorcy przesyłki.
Sieci komputerowe wręcz kopiują ten model. Prześledźmy na przykład operację wysyłania wiadomości e-mail
do dowolnego współpracownika lub znajomego. Tworzymy wiadomość i naciskamy
Send
(wyślij). Komputer
przesyła wiadomość do interfejsu sieciowego. Może być nim modem, za pomocą którego łączysz się ze swoim
usługodawcą internetowym (ISP) lub może to być karta sieciowa, która łączy komputer z siecią LAN (lub
Internet). W każdym przypadku z drugiej strony interfejsu znajduje się brama (gateway). Usługa ta potrafi
odczytać adres odbiorcy i zinterpretować wiadomość. Za pomocą tych informacji brama przekazuje e-mail do
innych bram, dopóki wiadomość nie dotrze do bramy połączonej z komputerem docelowym, która dostarcza e-
mail poprzez interfejs sieciowy komputera docelowego (modem lub kartę sieciową) do skrzynki pocztowej
odbiorcy.
Na podstawie wyżej przytoczonego przykładu łatwo już określić, jakie części sieci należy skonfigurować w
systemie Linux. Musisz znać adres swojego komputera. Zazwyczaj możesz mieć dwie nazwy określające adres
maszyny: jedna to hostname (nazwa hosta), a druga to numer IP, który nadaje adres twojej maszynie.
Aby przetłumaczyć nazwę hosta na numer IP lub odwrotnie, powinieneś znać adres serwera DNS (Domain
Name Server — serwer nazw domenowych). Jest to komputer, który dopasowuje adres IP komputera do jego
nazwy (hostname). Powinieneś również znać adres bramy, przez którą będzie przekazywany ruch sieciowy. W
końcu musisz umieć podnieść interfejs sieciowy twojego systemu i podać adres do tej bramy.
Wszystko to wydaje się bardzo skomplikowane, ale nie jest to bardziej złożone niż system tradycyjnej poczty, a
funkcjonuje w bardzo podobny sposób. Na szczęście Linux posiada wiele narzędzi, które pomagają
zautomatyzować konfigurację sieci. W tym rozdziale przyjrzymy się bliżej sieciom LAN, rozpoczynając od
konfiguracji takiej sieci.
Administracja siecią
Program instalacyjny systemu Debian GNU/Linux określa konfigurację sieciową, która jest używana podczas
pierwszego uruchomienia systemu. Jeśli jednak zmieni się konfiguracja sieci, nie musisz ponownie instalować
Linuksa. Jeśli poświęcisz trochę czasu i nauczysz się, gdzie Linux przechowuje informacje o konfiguracji sieci,
to zobaczysz, że przy użyciu prostego edytora możesz zmienić ustawienia sieci bez potrzeby ponownego
instalowania całego systemu. Czy to nie genialne?
Konfiguracja urządzeń sieciowych
Jeśli zmienisz swój dotychczasowy interfejs sieciowy na inny model, będziesz musiał uruchomić program
modconf
, który umożliwia określenie sterownika dla nowego sprzętu. Aby uruchomić program modconf, zaloguj
się na konto użytkownika
root
i wydaj polecenie:
modconf
Poznałeś już ten program podczas instalacji systemu Linux, służył on wtedy do precyzowania sterowników do
urządzeń znajdujących się wewnątrz komputera. Jeśli jednak masz kłopoty z tym programem, przeczytaj
podrozdział „Konfiguracja modułów sterowników urządzeń” znajdujący się w rozdziale 3. „Instalacja Linuksa”.
Aby zmiany wprowadzone za pomocą programu modconf przyniosły pożądany efekt, należy zrestartować
system.
Podstawowe informacje o hoście
Podczas instalacji systemu Linux możesz określić nazwę hosta. Jeśli jednak zechcesz zmienić tę nazwę,
wystarczy, że za pomocą dowolnego edytora otworzysz plik
/etc/hostname
i wprowadzisz nową. Ponieważ plik
ten, jak większość plików konfiguracyjnych systemu Linux, posiada ograniczone prawa dostępu, musisz być
zalogowany na koncie użytkownika
root
, aby móc wprowadzić jakiekolwiek zmiany.
Format pliku
/etc/hostname
jest bardzo prosty. Zawiera on jeden wiersz, w którym znajduje się nazwa komputera
(systemu), np.
debian1
. Jeśli zmieniasz nazwę systemu, pamiętaj, aby podać tylko nazwę komputera, a nie
pełną nazwę zawierającą nazwę domenową, np.
debian1.home.org
.
Specyfikacja serwera nazw
W trakcie instalacji systemu Linux możesz podać jeden lub kilka serwerów nazw. System wysyła zapytanie do
serwera nazw, kiedy musi określić adres sieciowy odpowiadający danemu komputerowi. Jeśli zmieni się
konfiguracja sieci, prawdopodobnie będziesz musiał podać nowy serwer nazw (lub kilka). Usługodawca
internetowy powinien podać właściwy adres serwera nazw.
Adres sieciowy serwera nazw znajduje się w pliku
/etc/resolv.conf
, który możesz edytować przy użyciu
dowolnego edytora tekstu, np.
ae
, jeśli oczywiście jesteś zalogowany jako użytkownik
root
. Format pliku nie
jest skomplikowany, choć nie jest już tak prosty jak format pliku
/etc/hostname
. Aby wprowadzić nazwę serwera
nazw, wpisz do pliku wiersz o składni:
nameserver xxx.xxx.xxx.xxx
gdzie
xxx.xxx.xxx.xxx
oznacza adres sieciowy (numer IP) serwera nazw, na przykład 192.168.10.10.
Można użyć trzech serwerów nazw; kiedy system będzie musiał określić adres jakiegoś hosta, wtedy spróbuje
połączyć się z serwerem nazw podanym w pierwszym wierszu. Jeśli serwer będzie niedostępny, system spróbuje
skontaktować się z następnym serwerem nazw (jeśli taki podałeś). Jeżeli to nie pomoże, połączy się z serwerem
określonym w trzecim wierszu (pod warunkiem, że wprowadziłeś trzy serwery nazw, a nie na przykład jeden).
Trasowanie i bramy
Jeśli komputer jest częścią sieci lokalnej podłączonej do Internetu, to generalnie nie wysyła pakietów danych
bezpośrednio do hostów internetowych. Zamiast tego dane trafiają do wyznaczonego komputera zwanego
bramą
(
gateway
), znajdującego się w sieci lokalnej. Na żądanie systemu gateway przesyła dane do Internetu. Poza tym
prowadzi jeszcze odwrotną usługę: przesyła dane z komputerów internetowych do komputera osobistego.
Uwaga
Jeśli masz komputer podłączony do Internetu za pomocą PPP, to usługa ta ustanawia konfigurację sieciową
dynamicznie — co to oznacza w praktyce, dowiesz się już w następnym rozdziale.
Informacje dotyczące konfiguracji sieci lokalnej są zawarte w pliku
/etc/network/interfaces
, który możesz łatwo
edytować za pomocą dowolnego edytora tekstu. Oto typowy przykład zawartości tego pliku:
#1# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
#2# The loopback interface
iface lo inet loopback
#3# The first network card - this entry was created during the Debian
#4#installation
#5# (network, broadcast and gateway are optional)
iface eth0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
Wierszami, które mogą nas najbardziej interesować, są wiersze od szóstego do jedenastego. Pierwszy z nich
określa nazwę interfejsu sieciowego oraz jego parametry, pozostałe zaś posiadają następującą formę:
zmienna numer_ip
Wiersze te związują nazwę podawaną przez zmienną z adresem sieciowym oznaczonym przez numer_ip.
Zmienne, które znajdują się w tych czterech wierszach, są poleceniami konfigurującymi sieć.
Aby zmienić konfigurację sieci, musisz powiązać właściwy adres IP z odpowiednią zmienną. Możesz tego
dokonać, logując się na konto użytkownika
root
i modyfikując plik
/etc/network/interfaces
. Tabela 10.1
opisuje każdą zmienną. Administrator sieci powinien służyć informacjami o odpowiednich wartościach
(numerów IP).
Tabela 10.1. Zmienne konfiguracji sieci
Zmienna Opis
address
Określa adres sieciowy systemu
netmask
Określa adres sieciowy sieci, poprzez oznaczenie, które bity z 32-bitowego adresu
sieciowego odnoszą się do sieci, a które do hosta. Wiele lokalnych sieci to tak zwane
sieci klasy C, które wymagają maski sieciowej 255.255.255.0
network
Oznacza adres sieciowy sieci lokalnej
broadcast
Oznacza adres używany do wysyłania wiadomości do każdego systemu w sieci lokalnej.
Zazwyczaj można określić ten adres na podstawie adresu sieci lokalnej i maski podsieci.
Jest to najwyższy z możliwych numerów IP w danej sieci lokalnej
gateway
Określa adres sieciowy bramy używanej przez system
Ścieżka poszukiwań nazwy hosta
System Linux może używać trzech metod do określenia adresu IP związanego z nazwą hosta:
• wysłanie zapytania do serwera DNS (wcześniej konfigurujesz klienta DNS);
• odczyt zawartości pliku
/etc/hosts
, zwanego też plikiem hostów, o którym przeczytasz w następnym
podrozdziale.
• wysłanie zapytania do serwera NIS (Network Information System — system informacji sieciowej).
Jednakże dopóki system jest częścią wydzielonej sieci lokalnej, serwer NIS nie jest dostępny. Dlatego większość
systemów wysyła zapytanie do serwera nazw, a jeśli nie otrzyma odpowiedzi lub serwer jest niedostępny, czyta
zawartość pliku
/etc/hosts
. Alternatywnie, większość systemów może najpierw czytać zawartość pliku
/etc/hosts
,
a jeśli plik jest pusty lub jego zawartość nie wystarcza do prawidłowego określenia adresu IP, wysyła zapytanie
do serwera DNS. Ta druga możliwość jest o wiele lepsza, ponieważ czytanie zawartości pliku
/etc/hosts
zajmuje
znacznie mniej czasu niż wysyłanie zapytań do serwera nazw.
Plik
/etc/hosts.conf
określa, która z tych trzech metod jest używana przez system lub w jakiej kolejności są one
używane. Możesz edytować ten plik, ale musisz być zalogowany jako
root
. Oto typowy przykład zawartości
tego pliku:
order hosts, bind
multi on
Wiersz pierwszy (
order hosts
) określa, że system powinien najpierw czytać zawartość pliku
/etc/hosts
, a
następnie wysyłać zapytanie do serwera DNS (opcja
bind
— od Berkeley Internet Name Daemon — nazwa
wczesnej wersji serwera DNS).
Drugi wiersz (
multi
) oznacza, że system przystąpi do rozwiązywania nazw hostów zaraz po przeczytaniu pliku
/etc/hosts
. Jeżeli plik ten nie jest duży (tysiące lub setki tysięcy wpisów), powinieneś dodać opcję
multi on
w
tym pliku.
Pozostałe opcje konfiguracyjne sieci
Plik
/etc/hosts
pozwala systemowi na określenie numeru adresu sieciowego powiązanego z nazwą hosta bez
wysyłania przez system zapytań do serwera nazw (DNS). Nie tylko operacja odczytywania zawartości pliku
/etc/hosts
jest mniej czasochłonna, ale w dodatku jest on zawsze dostępny — w przeciwieństwie do serwera
DNS (który może ulec awarii).
Wpisy w tym pliku dzielą się na dwie części:
• adres IP,
• nazwa hosta lub lista nazw hostów oddzielonych spacjami.
Domyślnie plik hostów zawiera wpis wiążący nazwę localhost z adresem IP o numerze 127.0.0.1. Nie ma
potrzeby, abyś umieszczał w tym pliku jakiekolwiek inne wpisy. Jednakże większość administratorów
umieszcza w nim co najmniej jeszcze jeden wiersz, który przypisuje nazwę lokalnego systemu do adresu
sieciowego. Oto typowa zawartość pliku
/etc/hosts
:
127.0.0.1 localhost
192.168.10.10 debian1.home.org debian1
Zauważ, że drugi wiersz wskazuje pełną nazwę właściwą hosta, złożoną z nazwy hosta, nazwy domeny i
ponownie po spacji nazwy hosta.
Plik
/etc/networks
zwany także
plikiem
sieci
(
networks
) pełni funkcję podobną do pliku hostów. Plik
/etc/hosts
przypisuje nazwy hostów do odpowiednich adresów sieciowych, a plik sieci wiąże nazwy sieciowe z adresami
sieciowymi. Domyślnie plik
/etc/networks
zawiera jeden wiersz, który przypisuje adres sieciowy lokalnej sieci o
nazwie
localnet
:
localnet 192.168.10.0
Generalnie nie ma potrzeby dodawania kolejnych wierszy do tego pliku. Jednakże możesz wprowadzić wpisy,
które będą umożliwiały dostęp do często używanych sieci, nawet jeśli serwer DNS będzie niedostępny.
Samba
Dostępna od czasów Microsoft Windows 3.11 usługa współdzielenia plików i drukarek to najważniejsza
właściwość systemów Windows. Na przykład wyposażenie każdego komputera dużej firmy w drukarkę laserową
byłoby przedsięwzięciem dość drogim. Dzielenie drukarek między użytkowników komputerów pozwala
zredukować koszty — usługa ta pozwala każdemu systemowi na korzystanie z jednej drukarki.
Podobnie ma się sprawa usługi współdzielenia plików, która pozwala komputerom połączonym w sieci na
udostępnianie sobie plików nawzajem. Umożliwia także szybkie i łatwe przenoszenie tych plików pomiędzy
systemami oraz unikanie zamieszania, które ma miejsce, kiedy wszyscy użytkownicy posiadają swoje własne —
prawdopodobnie nieaktualne lub niezgodne — kopie ważnych danych, do których w przeciwnym razie nie
mieliby dostępu.
Aby usługi dzielenia plików i drukarek działały, Microsoft Windows używa właściwości (protokołu) zwanej
SMB (Server Message Block). Ta właściwość jest czasami znana jako NetBIOS lub LanManager. Dzięki
Andrew Tridgellowi i innym programistom, systemy linuksowe również współpracują z SMB za pomocą
pakietu Samba. Podobnie jak SMB, Samba umożliwia:
• Dzielenie plików i drukarek pomiędzy systemami: MS Windows, OS/2, Novell NetWare i różnymi
odmianami Uniksa.
• Ustanowienie prostego serwera nazw do identyfikacji systemów znajdujących się w sieci lokalnej.
• Archiwizację plików znajdujących się na komputerach lokalnych i przechowywanie kopii zapasowych
w systemie Linux oraz ich przywracanie.
• Administrowanie użytkownikami i ich hasłami.
Samba dowiodła swojej stabilności i wysokiej wydajności w wielu organizacjach. Według badań, których
wyniki znajdziesz na stronie
http://www.samba.org/pub/samba/survey/ssstats.html
, Bank of America używa
Samby obsługującej około 15 000 użytkowników, a firma Hewelett-Packard używa Samby skonfigurowanej na
7 000 klientów.
Instalacja serwera Samba
Jeśli nigdy jeszcze nie instalowałeś i nie konfigurowałeś serwera sieciowego, Samba może być doskonała do
ćwiczeń — jej instalacja i konfiguracja jest w gruncie rzeczy bardzo prosta.
Samba zawiera program
smbd
, który działa jako demon, kilka programów narzędziowych, strony podręcznika
man, dodatkową dokumentację oraz plik konfiguracyjny
/etc/smb.conf
. W następnym podrozdziale opiszę, jak
skonfigurować serwer Samba za pomocą tego pliku.
Uwaga
Niestabilna wersja pakietu Samba instaluje pliki konfiguracyjne w
/etc/samba
, a nie w katalogu
/etc
. Jeśli
zainstalowałeś ostatnią wersję Samby, zobacz w katalogu
/etc/samba
, czy nie znajdują się tam pliki
konfiguracyjne.
Konfiguracja Samby
Plik
/etc/smb.conf
pozwala określić różne opcje, które kontrolują operacje Samby. Skrypt instalacyjny Samba
ustanawia prosty plik
/etc/smb.conf
, który prawdopodobnie sprosta wymaganiom.
Możesz edytować plik
/etc/smb.conf
w dowolnym edytorze tekstu, aby dostosować działanie usługi do własnych
potrzeb. Jednakże Samba zawiera narzędzie zwane
swat
, które pozwala oglądać i zmieniać opcje za pomocą
przeglądarki WWW, co znacznie upraszcza jej konfigurację. Program swat weryfikuje wartości parametrów,
które wprowadzasz, i zapewnia pomoc online. Aby uruchomić narzędzie swat, wskaż przeglądarce port 901,
którego używa ta usługa. Na przykład wpisz w przeglądarce adres
http://localhost:901/
. Przeglądarka
(a raczej już sam program swat) poprosi o podanie nazwy użytkownika (
userid
) i hasła; podaj
root
jako
userid
i wpisz odpowiednie dla tego użytkownika hasło. Rysunek 10.1 przedstawia główne menu programu
swat
.
Rysunek 10.1. Główne menu programu swat
Aby rozpocząć konfigurację serwera Samba, kliknij jedno z widocznych menu:
• Globals — skonfigurowanie globalnych zmiennych (opcji) usługi Samba.
• Shares — skonfigurowanie współdzielenia plików.
• Printers — skonfigurowanie współdzielenia drukarek.
• Status — oglądanie statusu serwera Samba.
• View — oglądanie pliku
smb.conf
.
• Passwords — dodawanie i usuwanie użytkowników oraz zmianę haseł.
Główne menu pozwala także na dostęp do rozbudowanego systemu pomocy pakietu Samba.
Konfigurowanie zmiennych globalnych
Aby skonfigurować opcje ogólne, kliknij element menu
Globals
znajdujący się na pasku narzędzi programu
swat. Rysunek 10.2 przedstawia stronę
Globals Variables
(globalne zmienne), a tabela 10.2 przedstawia
najważniejsze opcje. Dostęp do dodatkowych opcji możesz uzyskać, klikając element
Advanced View
(zaawansowany widok). Aby zmienić opcję, wybierz lub wpisz odpowiednią wartość. Kiedy już zmienisz
wszystkie potrzebne opcje, kliknij
Commit Changes
(zmień), co spowoduje, że wprowadzone opcje zostaną
zapisane i wdrożone.
Rysunek 10.2. Strona globalnych zmiennych usługi Samba
Tabela 10.2. Globalne zmienne Samby
Grupa opcji
Opcja
Opis
workgroup Nazwa
grupy
wyświetlana, kiedy serwer jest zapytywany przez klienta.
netbios name
Nazwa, pod którą serwer Samba jest znany serwerowi nazw NetBIOS.
server string
Łańcuch tekstowy wyświetlany do opisania serwera Samba.
Base
interfaces
Adres lub adresy IP interfejsu sieciowego, na którym serwer Samby
powinien nasłuchiwać żądań i zapytań. Każdy adres zakończony jest
znakiem „/” i numerem określającym ilość bitów, które należą do części
sieci podanego adresu IP (zazwyczaj 24).
security Określa, jak Samba uwierzytelnia żądania dostępu do zasobów
dzielonych. Domyślna wartość
(użytkownik) jest użyteczna wtedy,
gdy serwer i jego klienty mają wiele powszechnych userid
user
. Wartość
share
może być użyteczna, kiedy istnieje kilka powszechnych userid.
Wartość
system
natomiast pozwala innym serwerom SMB wykonywać
proces uwierzytelniania na żądanie aktualnego serwera. Powinno się
używać domyślnych wartości (o szczegółach tej opcji przeczytaj w
dokumentacji).
encrypt passwords Określa, czy Samba będzie negocjowała szyfrowanie haseł, co jest
oczekiwaniem systemów Windows NT (od Service Pack 3) i Windows
98.
update encrypted
Pozwala na automatyczne aktualizowanie zaszyfrowanych haseł podczas
logowania użytkownika używającego hasła nieszyfrowanego. Opcja ta
jest używana podczas migracji do zaszyfrowanych haseł i w innym
przypadku powinna być ustawiona na
off
.
map to guest
Określa reakcję serwera Samba, kiedy użytkownik loguje się podając
nieprawidłowe hasło. Opcja
Bad User
(zły użytkownik) jest zazwyczaj
najbardziej odpowiednia.
guest account
Konto systemu Linux używane dla udostępniania usług użytkownikom
tzw. gościom.
hosts allow
Lista hostów, które mogą korzystać z serwera (mają do niego wolny
dostęp). Jeśli nie jest podana, to znaczy, że każdy host ma swobodny
dostęp do serwera Samby.
Security
hosts deny
Lista komputerów, które nie mają dostępu do serwera.
log level
Liczba całkowita określająca aktywność dziennika serwera. Niska
wartość (np. 0) mówi, że tylko najważniejsze wiadomości są zapisywane
w pliku log.
log file
Określa nazwę pliku log dla usługi Samba.
Logging
max log size
Maksymalny rozmiar pliku log w kilobajtach. Kiedy dozwolony rozmiar
pliku zostanie przekroczony, Samba utworzy nowy plik log. Wartość 0
pozwala stworzyć plik nieskończenie wielki.
read prediction
Określa, czy Samba będzie buforowała dane z plików w celu
przyśpieszenia transferu danych. Ta opcja jest zablokowana w wersji 2.0.
Tunning
Socket options
Określa opcję TCP, która może poprawić wydajność serwera. Po
szczegóły zajrzyj do dokumentacji.
printcap name
Oznacza nazwę pliku printcap (przechwytywania portu drukarki)
używanego przez serwer.
Printing
printing Określa, jak Samba interpretuje informacje o statusie drukarki.
Generalnie, opcja SYSV jest odpowiednim wyborem dla systemu Linux.
logon script
Określa ścieżkę pliku BAT, który jest pobierany z serwera i
uruchamiany, kiedy użytkownik loguje się do systemu.
Logon
domain logons
Określa, czy Samba będzie umożliwiała logowanie domenowe dla grup
użytkowników systemu Windows 9.x.
os level
Określa poziom, na którym Samba zgłasza się podczas elekcji
przeglądania. Duża wartość powoduje, że Samba będzie wybierana jako
przeglądarka główna. Wartość 65 powoduje, że klient wybierze Sambę, a
nie serwer Windows NT.
Browse
preferred master
Określa, czy serwer nazw NetBIOS jest domyślną przeglądarką główną
dla grup roboczych.
local master
Określa, czy serwer nazw NetBIOS zostanie główną lokalną
przeglądarką w podsieci.
domain master
Określa zestawienie list do przeglądania w sieciach rozległych (WAN).
wins server
Określa adres IP serwera WINS, w którym serwer nazw NetBIOS
powinien się rejestrować.
WINS
wins support
Określa, czy serwer nazw NetBIOS powinien zachowywać się jak serwer
WINS. Jest to przydatna opcja, kiedy sieć posiada kilka podsieci. Nie
podawaj tej opcji dla wielu systemów operacyjnych znajdujących się w
jednej sieci.
Locking strict
locking
Określa, czy serwer będzie automatycznie blokował dostęp do plików i
sprawdzał blokady podczas żądań dostępu do plików. Włączenie tej
opcji może zmniejszyć wydajność serwera.
Prawdopodobnie nie będziesz potrzebował zmieniać ustawień zmiennych globalnych dla serwera Samba.
Ustalenie zmiennych
workgroup
i
netbios name
wystarczy dla większości użytkowników. Jeśli system
posiada więcej niż jedną kartę sieciową, będziesz musiał zmienić także opcję
interface
.
Uwaga
Jeśli posiadasz podłączony do systemu modem lub inny interfejs, który sprawia, że jesteś widziany przez
użytkowników innych sieci, powinieneś rozważyć wprowadzenie opcji bezpieczeństwa (security), aby
zapobiec nieautoryzowanym dostępom do dzielonych plików i drukarek. Jak inni użytkownicy Samby, autor
napotkał system natychmiastowo przystępujący do osiągnięcia dostępu do jego plików. Zapewnienie dobrej
ochrony przed takimi atakami daje opcja
hosts allow
; tylko hosty uprawnione (hosts allow) będą mogły
swobodnie korzystać z zasobów, pozostałe zaś nie.
Konfiguracja parametrów współdzielenia plików
Aby zarządzać zasobami plikowymi, użyj ikony
Shares
znajdującej się na pasku narzędzi programu swat.
Rysunek 10.3 przedstawia stronę parametrów
Shares
.
Rysunek 10.3. Parametry współdzielenia plików serwera Samba
Możesz stworzyć nowy zasób dzielony poprzez wpisanie jego nazwy i kliknięcie przycisku
Create Share
(twórz
zasób). Aby usunąć dzielony zasób, wybierz jego nazwę z listy i kliknij przycisk
Delete Share
(usuń zasób). Aby
pracować z istniejącym zasobem dzielonym, wybierz jego nazwę z listy i kliknij element
Choose Share
(wybierz
zasób). Kiedy klikniesz ten element, pojawi się strona przedstawiona na rysunku 10.4. Strona pozwala oglądać i
zmieniać różne opcje współdzielonego zasobu. Tabela 10.3 opisuje dostępne opcje. Dodatkowe opcje możesz
wprowadzać po kliknięciu przycisku
Advanced View
. Tak jak w przypadku globalnych zmiennych, tak i tutaj nie
musisz zmieniać żadnych opcji. Najczęściej jednak będziesz zmieniał opcje
comment
,
path
,
read only
oraz
create mask
.
Rysunek 10.4. Parametry współdzielonych zasobów plikowych
Tabela 10.3. Opcje współdzielonych zasobów plikowych
Grupa opcji
Opcja
Opis
comment Opis
wyświetlany, kiedy klient żąda danego zasobu.
Base
path
Ścieżka (katalog lub plik), która jest współdzielonym zasobem.
guest account
Konto systemu Linux używane dla udostępniania usług
użytkownikom tzw. gościom.
read only
Oznacza, że dostęp do pliku jest ograniczony do tylko do odczytu.
create mask
Domyślny tryb przypisywany nowo utworzonym plikom w
katalogu współdzielonym.
guest ok.
Określa, czy dostęp gościnny (dostęp bez podawania hasła) jest
dozwolony.
hosts allow
Lista hostów, które mają dostęp do pliku współdzielonego. Jeśli nie
jest podana, to znaczy, że każdy host ma do niego prawa dostępu.
Security
hosts deny
Lista hostów, które nie mają dostępu do zasobu współdzielonego.
Browse browsable
Określa, czy plik współdzielony jest widoczny na liście zasobów
tworzonej przez serwer.
Locking strict
locking
Określa, czy serwer będzie automatycznie blokował dostęp do
plików i sprawdzał blokady podczas żądań dostępu do plików.
Włączenie tej opcji może zmniejszyć wydajność serwera.
available Określa, czy zasób współdzielony jest dostępny; poprzez podanie
wartości
no
(nie) możesz zablokować dostęp do pliku lub katalogu.
Miscellaneous
volume
Etykieta woluminu zwracana dla współdzielonego zasobu.
Konfigurowanie parametrów współdzielonych drukarek
Konfiguracja parametrów współdzielonych drukarek odbywa się w ten sam sposób, co konfiguracja zasobów
plików. Rozpoczynamy od kliknięcia ikony
Printers
(drukarki) na pasku narzędziowym w głównym menu
programu swat. Pojawia się strona pokazana na rysunku 10.5. Służy ona do tworzenia nowych zasobów
współdzielonych drukarek, usuwania istniejących lub ich modyfikowania.
Rysunek 10.5. Parametry współdzielonych drukarek
Jeśli wybierzesz drukarkę z listy i klikniesz
Choose Printer
(wybierz drukarkę), pojawi się strona przedstawiona
na rysunku 10.6. Tabela 10.4 opisuje dostępne opcje współdzielonych drukarek. Dodatkowe opcje możesz
konfigurować po kliknięciu przycisku
Advanced View
. Tak jak w przypadku opcji globalnych i opcji dla
współdzielonych plików, nie musisz zmieniać domyślnych ustawień. Jednak prawdopodobnie zechcesz zmienić
opcje
comment
,
path
,
read only
i
create mask
.
Rysunek 10.6. Określanie parametrów współdzielonych drukarek
Tabela 10.4. Opcje współdzielonych drukarek
Grupa opcji
Opcja
Opis
Base comment
Opis
wyświetlany, kiedy klient wywołuje zasób.
path
Określa katalog kolejki zadań drukowania, tzw. spooling.
guest account
Konto systemu Linux używane w celu udostępnienia usług użytkownikom,
tzw. gościom.
guest ok
Określa, czy dostęp gościnny (bez podawania hasła) jest dozwolony.
read only
Oznacza, że dostęp do pliku jest ograniczony (tylko do odczytu).
create mask
Domyślny tryb przypisywany nowo utworzonym plikom w katalogu
współdzielonym.
hosts allow
Lista hostów, które mają dostęp do pliku współdzielonego. Jeśli nie jest
podana, to znaczy, że każdy host ma do niego prawo dostępu.
Security
hosts deny
Lista hostów, które nie mają dostępu do zasobu współdzielonego.
print ok
Określa, czy drukowanie jest dozwolone. Jeśli ustawiona zostanie opcja
no
(nie), klienty nadal będą „widzieć” współdzielony zasób (drukarkę).
Printing
printing Określa typ używanego interfejsu drukarki, co pozwala Sambie wybrać
system drukowania kontrolujący drukarkę. Często stosowaną opcją jest
„BSD”.
printer
name
Określa nazwę drukarki odpowiadającą współdzielonemu zasobowi
drukarki. Opcja „lp” jest zazwyczaj wystarczająca.
Browse browsable
Określa, czy współdzielony zasób drukarki jest widoczny na liście
zasobów tworzonych przez serwer.
Miscellaneous available
Określa, czy zasób współdzielony jest dostępny; poprzez podanie wartości
no
(nie) możesz zablokować dostęp do zasobu drukarki.
Oglądanie statusu serwera Samba
Przycisk
Status
na pasku narzędzi programu swat wyświetla stan Samby. Rysunek 10.7 przedstawia stronę, która
pojawia się po kliknięciu przycisku
Status
. Strona ta pokazuje:
• stan demona serwera (
smbd
i
nmbd
) oraz wersję Samby;
• aktywne połączenia;
• aktywne zasoby plików i drukarek.;
• otwarte pliki.
Rysunek 10.7. Strona Status serwera Samba
Używając elementów kontrolnych znajdujących się na tej stronie, możesz odświeżyć zawartość strony, ustawić
interwał czasowy automatycznego odświeżania, zatrzymać i uruchomić ponownie każdego demona z osobna
oraz zabić aktywne połączenie.
Przeglądanie konfiguracji serwera Samba
Przycisk
View
(widok) znajdujący się w panelu narzędzi programu swat pozwala obejrzeć główny plik
konfiguracyjny serwera
/etc/smb.conf
. Rysunek 10.8 przedstawia stronę pojawiającą się po kliknięciu przycisku
View
(widok). Domyślnie strona pokazuje podstawowe opcje konfiguracyjne, jednak klikając przycisk
Full View
(pełny widok), spowodujesz wyświetlenie każdej opcji konfiguracyjnej.
Rysunek 10.8. Strona wyświetlająca zawartość pliku /etc/smb.conf
Zarządzanie użytkownikami i hasłami
Możesz stworzyć użytkownika z dostępem do zasobów Samby — ułatwia to przycisk
Password
(hasło)
znajdujący się na pasku narzędzi swat. Rysunek 10.9 przedstawia stronę
Password
(hasło).
Górna część strony zatytułowana
Server Password Management
(zarządzanie hasłami serwera) pozwala na:
• stworzenie nowego użytkownika;
• usunięcie użytkownika istniejącego;
• zmianę hasła danemu użytkownikowi;
• włączenie lub wyłączenie konta użytkownika.
Konta użytkowników utworzone za pomocą
Server Password Management
są kontami, które serwer Samby
rozpoznaje jako uprawnione do zasobów.
W dolnej części strony, zatytułowanej
Client/Server Passwor Management
(zarządzanie hasłami klienta,
serwera), możesz zmieniać hasło związane z konkretnym użytkownikiem znajdującym się w zdalnym systemie,
na którym działa Samba lub SMB. Zmiana hasła przy użyciu
Client/Server Passwor Management
jest często
bezpieczniejszą operacją niż logowanie się do zdalnego systemu i wydawanie polecenia zmiany hasła.
Rysunek 10.9. Strona Password
Rozwiązywanie problemów z Sambą
Podobnie jak każdy serwer sieciowy, Samba posiada wiele opcji i właściwości. Jeśli włączysz wszystkie
właściwości, prawdopodobnie zawiesisz serwer. Aby uniknąć problemów, powinieneś zrobić kopię
bezpieczeństwa pliku
/etc/smb.conf
. Wykonanie takiej kopii jest bardzo łatwe, wystarczy wydać następujące
polecenie po uruchomieniu serwera:
cp /etc/smb.conf /etc/smb.conf.Save
Następnie, jeśli serwer odmawia poprawnej pracy, przywróć stary plik konfiguracyjny, wydając polecenie:
cp /etc/smb.conf.Save /etc/smb.conf
Będziesz musiał także uruchomić ponownie system albo przynajmniej same demony Samby.
Z drugiej strony może okazać się, że problemy występują przed zmianą jakichkolwiek opcji konfiguracyjnych.
Albo po ich zmianie nie jesteś w stanie w prosty sposób przywrócić poprzedniego poziomu pracy. W takich
przypadkach odwołaj się do dokumentacji dołączonej do Samby. W szczególności przeczytaj plik
DIAGNOSIS.txt
, który powinien znajdować się w katalogu
/usr/doc/Samba –2.03/docs/
. Plik ten zawiera opis
krok po kroku procedury weryfikacji działania serwera Samba. Kiedy któryś z kolejnych kroków zakończy się
niepowodzeniem, możesz odwołać się do tego pliku, aby określić, co powoduje problem, i rozwiązać go. Jeśli
nawet to nie pomoże, możesz jeszcze poprosić o pomoc użytkowników grupy dyskusyjnej
comp.protocols.smb
.
Uwaga
Niektóre wersje pakietu Samba nie zawierają pliku
DIAGNOSIS.txt
. Jeśli w systemie brak tego pliku, możesz
go pobrać ze strony Samba
http://pl.samba.org/
.
Konfiguracja i używanie klientów Samby
Kiedy masz już skonfigurowany i uruchomiony serwer Samby, możesz łączyć się z nim i przeglądać jego zasoby
za pomocą systemów MS Windows, Linux i innych (praktycznie wszystkich). Punkt ten przedstawia obsługę i
konfigurację klientów Samby oraz sposób użycia serwera Samba do tworzenia kopii zapasowych ważnych
plików i katalogów stacji klienckich.
Klient MS Windows
Microsoft Windows 3.11, 9.x i NT posiadają wbudowaną obsługę protokołu SMB, więc stacje działające pod
kontrolą tych systemów operacyjnych mogą z łatwością łączyć się z zasobami serwera Samba. W systemach MS
Windows 9x i NT dostęp do zasobów Samby możesz uzyskać przy użyciu Eksploratora Windows. Zaloguj się
używając nazwy użytkownika, który posiada uprawnienia do zasobów Samby. Następnie kliknij
Otoczenie
sieciowe
, a powinieneś zobaczyć poddrzewo odpowiadające serwerowi Samba. Poprzez eksplorację tego
poddrzewa możesz obejrzeć dostępne współdzielone pliki i drukarki. Możesz z łatwością przenosić pliki do i z
udostępnianego katalogu metodą przeciągnij i upuść, zakładając oczywiście, że masz dostęp do tych zasobów.
Aby skorzystać z udostępnionej drukarki, kliknij menu
Start
->
Ustawienia
->
Drukarki
, a następnie dwa razy
kliknij
Dodaj drukarkę
. Kreator dodawania drukarki przeprowadzi cię przez procedurę instalacyjną. Wybierz
tylko opcję
Drukarka sieciowa
i wskaż odpowiednią drukarkę. Jeśli skonfigurowałeś współdzielenie drukarki
bez opcji
browseable
, nie będziesz mógł wskazać drukarki, musisz wpisać jej pełną nazwę (nazwa zasobu). Aby
tego dokonać, przed nazwą serwera Samby wstaw dwa znaki „\\”, a za nazwą jeden znak „\” i dopiero nazwę
zasobu (drukarki). Na przykład, jeśli chcesz dodać zasób drukarki o nazwie
lp
znajdujący się na serwerze Samby
o nazwie
SERVER
, wpisz:
\\SERVER\lp
.
Możesz przypisać współdzielonemu zasobowi (plikowi lub katalogowi, a nawet czasami dyskowi) literę dysku,
używając elementu
Narzędzia
->
Mapuj dysk sieciowy
z menu Eksploratora Windows. Wybierz dostępną literę
dysku i podaj nazwę zasobu, składającą się z dwóch „\\”, nazwy serwera Samba, pojedynczego znaku „\” i
nazwy właściwej zasobu. Na przykład, jeśli chcesz połączyć się z plikiem o nazwie
killer.txt
znajdującym się na
serwerze Samby o nazwie SERVER, wpisz:
\\SERVER\killer.txt
.
Jeśli masz problemy z połączeniem się z serwerem Samby, wykonaj zalecenia przedstawione w poprzednim
podpunkcie „Rozwiązywanie problemów z Sambą”.
Inne klienty
Oczywiście klient SMB dostępny jest dla systemu Linux, więcej o nim przeczytasz w następnym podrozdziale.
Klienty SMB są także dostępne dla większości popularnych systemów operacyjnych, włączając IBM OS/2 i Mac
OS. Nie powinieneś mieć z nimi żadnych problemów, aczkolwiek gdyby takie się pojawiły, zalecam ponowne
przeczytanie podpunktu o rozwiązywaniu problemów z Sambą.
Klient Linux
Pakiet Samba zawiera prostego klienta SMB, który potrafi łączyć się z serwerem Samby i innymi serwerami
SMB dostępnymi w sieci. Aby zademonstrować, że klient i serwera działają, zaloguj się na konto użytkownika
uprawnionego do zasobów Samby i wydaj polecenie:
smbclient –L localhost
Powinieneś zobaczyć listę dostępnych zasobów współdzielonych. Aby wysłać zapytanie do innego serwera
SMB, wydaj polecenie:
smbclient –L
serwer
gdzie serwer oznacza nazwę serwera SMB, z którym chcesz się połączyć. Zamiast logować się za pomocą
kolejnego polecenia, możesz określić w tym samym wierszu nazwę_użytkownika w następujący sposób:
smbclient –L
serwer
–U
nazwa_użytkownika
Aby połączyć się z wybranym zasobem poprzez SMB:
smbclient
zasób
–U
nazwa_użytkownika
gdzie zasób określa nazwę serwera SMB i żądany zasób, a nazwa_użytkownika określa konto
użytkownika uprawnionego do operowania zasobem. Nazwa hosta SMB powinna być poprzedzona dwoma
znakami „\\” i zakończona jednym znakiem „\”.
Jeśli serwer SMB zaakceptuje żądanie, wyświetli specjalny znak zachęty:
smb :
katalog
>
gdzie katalog oznacza obecny katalog roboczy na serwerze SMB.
Aby pobrać plik z serwera SMB, wydaj polecenie:
get
plik
gdzie plik oznacza nazwę pliku. Aby wczytać plik do serwera, wpisz:
put
plik
gdzie plik oznacza nazwę pliku. Aby wyświetlić zawartość aktualnego katalogu, wpisz:
dir
Aby wejść do podkatalogu znajdującego się w obecnym katalogu roboczym:
cd
katalog
gdzie katalog oznacza nazwę podkatalogu, do którego chcesz wejść. Można powrócić do katalogu
nadrzędnego, wydając polecenie:
cd ..
Aby zamknąć klienta SMB, wpisz
exit
. Listę poleceń klienta smb możesz otrzymać wydając polecenie
help
,
a pomoc dla konkretnego polecenia otrzymasz wpisując:
help
polecenie
:
Ivan Volosuk stworzył klienta SMB dla środowiska X11, którego możesz używać z większą pewnością. Klient
ten, jak i jego dokumentacja, jest dostępny pod adresem:
http://www.rt.mipt.ru/frtk/ivan/
.
Do drukowania plików w systemie Linux przy użyciu udostępnianej z sieci SMB drukarki możesz wykorzystać
skrypt
smbprint
dołączony do pakietu Samba. Prawdopodobnie trochę go zmienisz, a także poprawisz skrypty
powłoki i inne pliki konfiguracyjne. Niech to będzie zadaniem domowym; ale najpierw przeczytaj rozdział 13.
„Podbój powłoki BASH”.
Tworzenie i przywracanie kopii zapasowych
Jednym z najbardziej praktycznych zadań wykonywanych przez klienta SMB jest możliwość tworzenia kopii
zapasowych plików przechowywanych na stacjach roboczych MS Windows. Aby tego dokonać, udostępnij dysk
lub pliki, których kopię chcesz zrobić: używając Eksploratora Windows kliknij prawym przyciskiem myszy
Właściwości
->
Udostępnianie
i wybierz opcję udostępniania. Następnie połącz się z tym zasobem z systemu
Linux, używając
smbclient
. Kiedy już widzisz znak zachęty SMB, przejdź do katalogu, którego kopię chcesz
wykonać, i wydaj polecenie:
tar c backup.tar
Pliki aktualnego katalogu, jak i wszystkie jego podkatalogi zostaną zarchiwizowane i zapisane do pliku
backup.tar
na komputerze z systemem Linux. Możesz oczywiście podać inną nazwę pliku niż
backup.tar
. Kiedy
już stworzysz kopię zapasową, możesz ją zapisać na taśmie, płycie CD-ROM lub innym medium, jeśli
potrzebujesz wolnego miejsca dla systemu Linux. Jeśli nie masz takich wymagań lub nie posiadasz urządzeń do
nagrywania taśm, możesz zadowolić się kopią zapasową na komputerze z systemem Linux i drugą kopią na
komputerze z systemem Windows.
Aby przywrócić pliki z kopii zapasowej, przejdź do katalogu, w którym chcesz je przywrócić, i wydaj
następujące polecenie SMB:
tar x backup.tar
Klient SMB przywraca każdy plik z archiwum tar. Oczywiście musisz mieć dostęp do udostępnianego katalogu
na poziomie zapisu (write access), aby móc rozpakować do niego pliki.
Rozdział 11.
Łączenie z siecią Internet
Rozdział ten wyjaśnia, jak połączyć system Linux ze zdalnymi serwerami. Przedstawia program
wvdial
, który
ułatwia połączenie z siecią Internet poprzez usługę PPP. Następnie wyjaśnia podstawowe pojęcia związane z
sieciami TCP/IP, które musisz znać, aby poprawnie administrować systemem Linux podłączonym do Internetu
lub sieci lokalnej. Aby wykorzystać tę wiedzę efektywnie, rozdział objaśnia także, jak używać
pppconfig
do
konfiguracji i administracji systemu podłączonego do Internetu za pomocą modemu lub do lokalnej sieci. Po
skonfigurowaniu sieci zajmiemy się opisem kilku popularnych klientów sieciowych dostępnych dla Linuksa,
włączając przeglądarkę WWW i klienta FTP. Dodatkowo w rozdziale tym pokazano użycie programów
minicom
i
seyon
, które działają podobnie do HyperTerminala systemu MS Windows 9x. Na koniec
przedstawię, jak nawiązać połączenie PPP ręcznie za pomocą programu
minicom
.
Łączenie z Internetem
Większość usługodawców internetowych oferuje dwa podstawowe rodzaje usług: konta systemowe i konta PPP
(Point to Point Protocol). Konta systemowe były bardzo popularne przed narodzinami sieci WWW. Pozwalają
one użyć własnego komputera tak, jakby był wirtualną konsolą związaną z danym komputerem zdalnym.
Możesz wydawać polecenia, które są interpretowane przez zdalny system, oraz oglądać rezultaty wydanych
poleceń. Pomimo że kilka przeglądarek — jak na przykład Lynx — może pracować poprzez konto systemowe,
nie oferują one obsługi stron multimedialnych i graficznych, których ostatnio jest coraz więcej.
Konta PPP pozwalają na bezpośrednie połączenie z Internetem. Kiedy jesteś podłączony do największej
„pajęczyny” na świecie, możesz korzystać ze swojej ulubionej przeglądarki. Możesz nawet postawić własny
serwer WWW, umożliwiając innym oglądanie własnych dokumentów, jeśli pozwala na to ISP.
Te dwa rodzaje kont internetowych (systemowe i PPP) można porównać do dwóch typów usług pocztowych.
Wyobraź sobie, że nikt nie przychodzi do twojego domu dostarczyć ci pocztę lub ją odebrać. Zamiast tego,
zawsze gdy masz do wysłania list lub pocztówkę, musisz iść na pocztę. To przypomina konto systemowe.
Zdalny komputer, który łączy z Internetem, dostarcza swych usług cały czas, tylko gdy chcesz połączyć się z
Internetem, musisz otworzyć sesję terminala lub sesję telnet. Konto PPP jest jak dostawa poczty do domu;
Internet masz w zasięgu ręki, a twój komputer jest dosłownie umieszczony w Internecie przez maszynę Twojego
ISP.
W systemie MS Windows masz narzędzie zwane HyperTerminal, które umożliwia dostęp do kont systemowych,
oraz Dial-up Networking służący dla kont PPP. W Linuksie możesz wybierać pomiędzy programami, które
pozwalają używać kont systemowych. Najczęściej używanymi programami są
minicom
i
seyon
. Aby uzyskać
dostęp do kont PPP w systemie Linux, używa się demona PPP zwanego
pppd
. Kolejny podrozdział opisuje, jak
posłużyć się programem wvdial do uruchomienia procesu demona pppd i ustanowienia połączenia z kontem
PPP.
Konfiguracja modemu
Modem jest urządzeniem peryferyjnym dla systemu Linux, podobnie jak napęd CD-ROM, dysk twardy czy
mysz. Podłączony on jest do portu szeregowego, co oznacza, że jedno z urządzeń szeregowych z katalogu
/dev
wskazuje obecnie na modem. W katalogu znajduje się również plik
, który służy jako plik urządzenia
modemu. Początkowo plik ten
/dev/modem
jednak może niewskazywać Twojego modemu. Dla uproszczenia działania
aplikacji takich jak minicom i seyon możesz stworzyć dowiązanie symboliczne łączące urządzenie szeregowe
podłączone do modemu z plikiem
/dev/modem
.
Aby tak zrobić, zaloguj się na użytkownika
root
i wydaj polecenie:
ln –sf /dev/ttySX /dev/modem
gdzie
X
oznacza numer odpowiadający urządzeniu szeregowemu połączonemu z modemem. Tabela 11.1
przedstawia polecenia tworzące dowiązania symboliczne odpowiednie dla urządzenia szeregowego, do którego
może być podłączony modem. Aby poprawić czytelność nazw portów szeregowych, są one oznaczone dla
dwóch systemów: DOS i Linux.
Tabela 11.1. Polecenia tworzące dowiązanie symboliczne /dev/modem
Nazwa urządzenia DOS
Nazwa urządzenia Linux
Polecenie
COM1 ttyS0
ln –sf /dev/ttyS0
/dev/modem
COM2 ttyS1
ln –sf /dev/ttyS1
/dev/modem
COM3 ttyS2
ln –sf /dev/ttyS2
/dev/modem
COM4 ttyS3
ln –sf /dev/ttyS3
/dev/modem
Praca z programem wvdial
Usługodawcy internetowi używają różnych metod nawiązywania połączeń PPP. Jednym z najtrudniejszych
zadań podczas nawiązywania połączenia PPP jest określenie wszystkich wymaganych przez nich opcji
konfiguracyjnych.
Na przykład większość ISP używa jednego z trzech sposobów uwierzytelniania: PAP (Password Authentication
Protocol), CHAP (Challenge-Handshake Authentication Protocol) lub zwykłej metody użytkownik-hasło. PAP
jest obecnie najczęściej stosowanym protokołem. Jeśli spytasz obsługę techniczną ISP o używaną procedurę
logowania, prawdopodobnie nikt nie będzie wiedział, o czym mówisz, ponieważ większość użytkowników
pracujących pod kontrolą systemu MS Windows i w sieci MS Windows Dial-up stosuje procedurę logowania
niezauważalnie (tzn. automatycznie, bez powiadamiania o tym użytkownika).
Program
wvdial
, podobnie jak usługa Microsoft Dial-up Networking, ustanawia połączenie PPP. Obsługuje on
różnorodne metody uwierzytelniania, używane przez ISP na całym świecie. W większości przypadków analizuje
dane wysyłane przez ISP i odpowiada właściwymi formatami danych, wymaganymi przez ISP.
Aby bez problemów używać programu
wvdial
, należy najpierw określić poprawnie konfigurację serwera nazw;
tak jak to zostało opisane w poprzednim rozdziale, a następnie wydać polecenie:
route del default
wvdial &
Polecenie generuje wiele komunikatów, co powoduje lekki dyskomfort. Najlepiej jest przełączyć się na inną
konsolę, poprzez wciśnięcie
Alt+
n
, gdzie
n
oznacza numer konsoli wirtualnej (1 – 7). Alternatywnie, możesz
przekierować wyjście polecenia do pliku, zapisując je w trochę inny sposób:
wvdial 2 > /tmp/wvdial.messages &
Oczywiście będziesz musiał przejrzeć ten plik w razie nieprawidłowej pracy programu
wvdial
. Możesz tego
dokonać natychmiast, wpisując polecenie:
more /tmp/wvdial.messages
Kiedy połączenie zostanie nawiązane, możesz eksplorować zasoby WWW i innych usług dostępnych w sieci
Internet, opisanych w kolejnych podrozdziałach. Aby sprawdzić, czy połączenie PPP jest ustanowione, wydaj
takie polecenie:
ping www.helion.pl
Polecenie ping powinno potwierdzić, że serwer ISP otrzymał poprawne pakiety echa, które zostały wysłane z
komputera. Jeśli nie potwierdzi, sprawdź jeszcze raz konfigurację serwera DNS.
Jeśli chcesz przerwać połączenie internetowe, użyj polecenia:
killall wvdial
Klient PPP
Klient PPP systemu Linux pozwala na połączenie z Internetem poprzez serwer PPP; podobnie jak usługa
Microsoft Dial-up Networking, pozwala stacjom roboczym MS Windows na ustanowienie połączenia z
usługodawcą internetowym. W tle program
wvdial
wywołuje usługi klienta ppp potrzebne do połączenia z
serwerem PPP. Jednakże możliwe jest używanie bezpośrednio klienta ppp bez pomocy
wvdial
. Mamy wtedy
dostęp do wszystkich opcji klienta ppp, które usprawniają połączenia sieciowe, a co najważniejsze, dają dużą
wiedzę związaną z zagadnieniami sieciowymi, zwłaszcza jeśli chodzi o usługę PPP. Na przykład łatwiej
będziesz rozwiązywać problemy połączenia ppp, jeśli zrozumiesz w pełni wszystkie funkcje i opcje klienta ppp
nie uruchamianego przez aplikację
wvdial
.
Określanie opcji PPP
Klient ppp systemu Linux wymaga skonfigurowania kilku plików. Zamiast budować te pliki ręcznie od samego
początku, lepiej użyć programu
pppconfig
, który uruchamia krótki dialog, a następnie tworzy odpowiednie pliki
konfiguracyjne na podstawie odpowiedzi na pytania. Zaloguj się na konto użytkownika
root
i wydaj polecenie:
pppconfig
Rysunek 11.1 przedstawia menu główne programu
pppconfig
, które jest wyświetlane niezależnie od miejsca
uruchomienia programu. Zauważ, że
pppconfig
pozwala stworzyć połączenie — określenie, które odnosi się do
zestawu parametrów konfiguracyjnych — oraz pozwala na edycję istniejącego połączenia. Aby stworzyć nowe
połączenie, użyj klawiszy kursorów do zaznaczenia
Create
i naciśnij
Enter
.
Rysunek 11.1. Główne menu programu pppconfig
Jeśli
pppconfig
wykryje, że plik
/etc/resolv.conf
nie istnieje lub nie zawiera żadnych informacji o serwerach
DNS, zapyta (patrz rysunek 11.2), czy chcesz podać adres serwera nazw (lub kilku). Powinieneś odpowiedzieć
twierdząco, zaznaczając
Yes
i wcisnąć
Enter
; w przeciwnym razie nie będziesz w stanie nawiązać połączenia
PPP.
Rysunek 11.2. Program pppconfig żąda określenia serwera nazw
Rysunek 11.3 przedstawia ekran służący do określania adresu serwera nazw. Aby określić podstawowy serwer
DNS, wprowadź jego adres IP i naciśnij
Enter
. Adres serwera DNS powinieneś uzyskać od ISP.
Rysunek 11.3. Określanie adresu podstawowego serwera nazw
Możesz także podać adres IP drugiego (zastępczego) serwera nazw, tak jak to pokazuje rysunek 11.4. Wpisz
adres i naciśnij
Enter
.
Rysunek 11.4. Określanie zastępczego serwera nazw
Rysunek 11.5 przedstawia następny ekran konfiguracji, w którym zostaniesz poproszony o podanie nazwy, jaka
zostanie przypisana nowemu połączeniu. Jeśli masz już określone serwery nazw w pliku
/etc/resolv.conf
, ekran
ten jest wtedy następnym wyświetlanym tuż po ekranie głównym programu
pppconfig
. Wybierz nazwę dla
połączenia PPP, do którego będziesz się odwoływał podczas dzwonienia, i naciśnij
Enter
. Możesz użyć nazwy
domeny ISP.
Uwaga
Program pppconfig czasami dwuznacznie odnosi się do połączenia, usługodawcy internetowego lub
dostawcy. Termin „połączenie” jest dokładniejszym określeniem w tym kontekście, ponieważ możesz
ustanawiać połączenie z danym ISP na kilka sposobów — na przykład ISP może mieć kilka numerów dial-up.
Każdy sposób połączenia z ISP może być skonfigurowany oddzielnie (dla jednego numeru jedno połączenie
PPP o przypisanej dowolnej nazwie).
Rysunek 11.5. Określanie nazwy dla danego połączenia
Następnie
pppconfig
zapyta, jakiej metody używa usługodawca dla procedury uwierzytelniania użytkownika do
sieci (patrz rysunek 11.6). Najbardziej powszechną obecnie metodą jest PAP, jednakże niektórzy ISP nie potrafią
określić, jakiej metody używają! Będziesz musiał w takim przypadku zgadywać — proponuję zacząć od PAP.
Jeśli się nie uda nawiązać połączenia, spróbuj innych sposobów logowania. Wybierz właściwą metodę
uwierzytelniania i wciśnij
Enter
.
Następnie musisz podać hasło logowania, tak jak to ilustruje rysunek 11.7. Wpisz te dane i znów naciśnij
Enter
.
Rysunek 11.6. Określanie metody procedury logowania
Rysunek 11.7. Wprowadzanie hasła
Następnie
pppconfig
poprosi o wprowadzenie informacji na temat podstawowych właściwości połączenia.
Naciśnij
Enter
, a pojawi się ekran
Manager User Configuration
(menadżera konfiguracji użytkownika),
przedstawiony na rysunku 11.8. Wpisz nazwę logowania użytkownika nadaną przez usługodawcę
internetowego. Nazwa ta może się różnić od obecnej nazwy użytkownika, więc upewnij się, że wpisałeś
poprawną.
Rysunek 11.8. Wprowadzanie nazwy logowania
Kolejnym krokiem jest podanie pliku urządzenia, który odpowiada modemowi komputera (patrz rysunek 11.9).
Wpisz nazwę pliku, zwracając uwagę na kapitalizację znaków, i naciśnij
Enter
.
Potem program zapyta, czy chcesz ustanowić połączenie ppp za pomocą domyślnej trasy, co przedstawia
rysunek 11.10. Wybierz domyślną opcję —
Enable Default Route
(
włącz domyślną trasę
) — chyba że wiesz, jak
określić samemu trasę do serwera ISP; zaznacz
OK
i naciśnij klawisz
Enter
.
Rysunek 11.9. Określanie pliku urządzenia
Rysunek 11.10. Włączanie domyślnej trasy
Rysunek 11.11 pokazuje następny ekran
pppconfig
, który żąda informacji na temat adresu IP twojego
komputera. Większość ISP przypisuje komputerowi adres IP, który jest inny za każdym razem, kiedy łączysz się
z serwerem ISP (nazywa się to adresem dynamicznym). Niektórzy dostawcy przypisują adres statyczny IP, co
oznacza, że nie ulegnie on zmianie.
Rysunek 11.11. Określanie adresu sieciowego twojego komputera
Jeśli dostawca nie określił adresu statycznego IP dla komputera, po prostu naciśnij
Enter
. W przeciwnym
przypadku wprowadź ten adres w odpowiednim polu i przejdź dalej, naciskając
Enter
. Jeśli sieć jest podzielona
na sieć lokalną i zdalną, musisz podać oba adresy (komputera lokalnego i zdalnego), oddzielając je
dwukropkiem.
Kolejnym etapem, przedstawionym na rysunku 11.12, jest określenie prędkości modemu. Oznacza to w praktyce
prędkość połączenia modemu z systemem, a nie połączenia z systemem usługodawcy, które zazwyczaj ma
mniejszą wartość. Jeśli nie masz żadnego szczególnego powodu, by postępować inaczej, zaakceptuj wartość
domyślną 115 200 poprzez naciśnięcie klawisza
Enter
.
Rysunek 11.12. Wybór prędkości modemu
Następnie
pppconfig
pozwala określić łańcuch inicjalizujący modem, który zostanie wysłany do urządzenia,
zanim zostanie ustanowione połączenie z ISP (patrz rysunek 11.13). Naciśnij
Enter
, aby potwierdzić wybór
domyślnego łańcucha, który działa poprawnie dla większości modemów.
Rysunek 11.13. Określanie łańcucha inicjalizującego modem
Kolejnym krokiem jest podanie numeru telefonicznego usługodawcy (rysunek 11.14). Wprowadź numer bez
żadnych spacji czy też kropek. Wraz z numerem podaj wszystkie potrzebne do połączenia z usługodawcą
przyrostki i przedrostki, tak jakbyś sam dzwonił — na przykład dla połączenia z TP SA wpisz
0202122
.
Rysunek 11.14. Wprowadź numer do ISP wraz ze wszystkimi przedrostkami
Przedostatnim krokiem konfiguracyjnym jest ustalenie, czy telefon, do którego podłączony jest modem, używa
wybierania tonowego czy też impulsowego. Większość linii telefonicznych akceptuje już wybieranie tonowe,
jednak nie wszystkie. Spróbuj najpierw wybierania tonowego, jeśli nie pomoże, wybierz impulsowe, zaznacz
OK
i przejdź do ostatniego etapu, naciskając
Enter
.
Rysunek 11.15. Określanie rodzaju wybierania numeru: tonowe lub impulsowe
Ostatnim krokiem jest możliwość przejrzenia dokonanych zmian i wprowadzenia poprawek. Wciśnij
Enter
, aby
zamknąć ekran właściwośc
i
. Rysunek 11.16 przedstawia pojawiający się następny ekran. Jeśli jesteś zadowolony
z dokonanych zmian, zaznacz
Finished
i wciśnij
Enter
.
Rysunek 11.16. Przeglądanie wprowadzonych informacji konfiguracyjnych
Program
pppconfig
zapisuje konfigurację PPP według określonych przez ciebie informacji. Wciśnij
Enter
, aby
zamknąć ekran
Finshed
. Jeśli nie chcesz tworzyć innego jeszcze połączenia, zaznacz
Quit
i naciśnij
Enter,
aby
zamknąć program
pppconfig
.
Ustanawianie połączenia PPP
W końcu możesz spróbować nawiązać połączenie PPP. Kiedy zalogujesz się do systemu na konto użytkownika
root
, wydaj następujące polecenie:
pon
połączenie
gdzie połączenie oznacza nazwę połączenia nadaną wcześniej w programie konfiguracyjnym
pppconfig
.
Na innej wirtualnej konsoli możesz monitorować postępy działania powyższej operacji za pomocą polecenia
tail
:
tail –f /var/log/messages
Polecenie to wyświetla na bieżąco wiadomości wysyłane do głównego dziennika systemu. Ponieważ PPP
zapisuje informacje opisujące swoje działanie do pliku
messages
, polecenie to pozwala obejrzeć, co dzieje się
podczas ustanawiania połączenia. Jeśli chcesz zakończyć działanie programu
tail
, naciśnij
Ctrl+C
.
Więcej szczegółowych informacji możesz obejrzeć, wydając polecenie:
tail –f /var/log/ppp.log
Aby zobaczyć potwierdzenie ustanowienia połączenia PPP, wpisz:
ifconfig
Jeśli wyjście tego polecenia zawiera opis połączenia PPP, oznacza to, że połączenie zostało poprawnie
nawiązane. Aby sprawdzić działanie połączenia, wydaj polecenie
ping
, np.
ping www.helion.pl
Aby przerwać połączenie, wprowadź:
poff
Jeśli jednak nawiązanie połączenia nie udaje się, sprawdź następujące opcje konfiguracyjne, zanim poprosisz o
pomoc usługodawcę lub innych użytkowników systemu Linux:
• Czy poprawnie podałeś numer telefonu do ISP?
• Czy poprawnie wprowadziłeś nazwę użytkownika i hasło?
• Czy poprawnie określiłeś plik urządzenia modemu i prędkość modemu?
• Czy modem jest podłączony do linii telefonicznej?
• Czy zapłaciłeś wszystkie rachunki za telefon?
Przeglądarka internetowa
Kiedy już połączysz się z ISP (a za jego pomocą z Internetem), nieważne, czy za pomocą programu
wvdial
czy
samego
pppd
, możesz eksplorować zasoby sieci WWW za pomocą przeglądarek internetowych wchodzących w
skład systemu Linux. Poza przeglądarkami napisanymi wyłącznie dla systemów Linux i Unix, możesz także
używać bardzo popularnego Netscape Navigatora, który zawiera klienta poczty, klienta grup dyskusyjnych,
edytor HTML i inne programy.
Jak można zauważyć na rysunku 11.17, wersja Netscape Navigatora dla systemu Linux jest niemalże identyczna
z tą napisaną dla systemu MS Windows. Jeśli już używałeś wersji Netscape Navigatora pod systemem MS
Windows, szybko i bezproblemowo skonfigurujesz i uruchomisz tę aplikację. Ci użytkownicy, którzy jeszcze
nigdy nie używali Netscape Navigatora, powinni zastosować się do poniżej przedstawionych wskazówek, aby go
skonfigurować. Klikamy menu
Edit
(edycja) ->
Preferences
(właściwości), następnie podajemy dowolny
identyfikator wraz z całą resztą informacji wymaganych przez klienta poczty i grup dyskusyjnych oraz inne
informacje konfiguracyjne (wygląd, rozmiar bufora dysku itp.).
Rysunek 11.17. Program Netscape Navigator dla systemu Linux
Klient gFTP
Do kopiowania plików z serwerów FTP możemy używać zwykłej przeglądarki internetowej, ale żeby skopiować
dowolny plik na serwer FTP (po to, aby ktoś inny mógł go sobie pobrać), musimy skorzystać z klienta FTP.
Takim programem jest
gFTP
(na dysku CD-ROM dołączonym do tej książki); jest to świetny programik,
ponieważ jego interfejs bardzo przypomina interfejs jednego z najlepszych klientów FTP systemu MS Windows
— WS-FTP.
Rysunek 11.18 przedstawia klienta
gFTP
. Aby połączyć się ze zdalnym systemem, kliknij
Remote
->
Connect
, podaj nazwę hosta, z którym chcesz nawiązać połączenie, nazwę użytkownika i hasło, po czym
kliknij
Connect
. Aby skopiować plik na serwer FTP, zaznacz go na liście wyświetlającej pliki systemu
lokalnego, znajdującej się w lewym oknie programu, a następnie kliknij strzałkę
->
. W celu pobrania pliku z
serwera FTP zaznacz jego nazwę w prawym oknie klienta
gFTP
i kliknij na strzałkę
<-
. Kiedy już skończysz
pracę na zdalnym komputerze, kliknij
Remote
->
Disconnect
.
Rysunek 11.8. Klient gFTP
Programy minicom i seyon
Niektórzy usługodawcy internetowi umożliwiają wybór między kontem systemowym a kontem PPP. Dwoma
najpopularniejszymi programami do łączenia się z kontami systemowymi są
minicom
, tekstowy programik
działający na wirtualnej konsoli, oraz
seyon
, który pracuje w X. Chociaż
seyon
posiada bardziej nowoczesny
interfejs użytkownika, większość użytkowników woli pracować z programem
minicom
, ponieważ posiada on
więcej opcji.
Praca z programem seyon
Po skonfigurowaniu modemu możesz uruchomić program
seyon
za pomocą polecenia:
seyon
Rysunek 11.19 przedstawia główny ekran tego programu. Tuż pod nazwą
Seyon Command Center
znajduje się
pasek zawierający kilka zakładek, które opisują stan modemu:
• DTR — oznacza, że komputer jest gotowy do wysyłania i odbierania danych.
• DSR — oznacza, że modem jest gotowy do wysyłania i odbierania danych.
• RTS — określa, że komputer zażądał wysłania danych.
• CTS — oznacza, że modem jest gotów do odebrania danych.
• RNG — określa, że modem wykrył sygnał dzwonka na linii telefonicznej.
Rysunek 11.19. Główne okno programu seyon
Drugi pasek zawiera kilka programowalnych przycisków, które nie mają przypisanego domyślnego działania.
Pozostałe widoczne przyciski, na trzecim i czwartym pasku mają także określone znaczenie. Na przykład, jeśli
chcesz nawiązać połączenie, kliknij na przycisk
Dial
(dzwoń), który uruchamia okno dialogowe zwane
Dialing
Directory
— co pokazuje rysunek 11.20.
Rysunek 11.20. Okno dialogowe Dialing Directory
Jednakże wyżej wymienione okno dialogowe nie pojawi się, dopóki nie utworzysz pliku o nazwie
phonelist
w
podkatalogu
.seyon
katalogu macierzystego. Aby utworzyć ten plik, wydaj następujące polecenia:
cd
mkdir .seyon
> .seyon/phonelist
Trzecie polecenie używa pewnego triku do utworzenia pustego pliku: przekierowuje wyjście polecenia
null
do
pliku. Teraz, kiedy klikniesz
Dial
, pojawi się okno dialogowe
Dialing Directory
, jednak nie pojawią się w nim
żadne wpisy. Aby wprowadzić numer telefonu, kliknij
Edit
(edytuj), po czym w oknie dialogowym
Edit
wpisz
nazwę dla nowego wpisu wraz z numerami telefonów, oddzielonymi spacjami. Jeśli chcesz, możesz podać kilka
dodatkowych opcji, takich jak żądana prędkość połączenia, ilość bitów na każdy znak, parzystość danych i ilość
bitów stopu dla ka. Jednakże zazwyczaj takie opcje nie są wymagane. Jeśli chcesz dowiedzieć się czegoś więcej
na temat tych opcji i ich stosowania, kliknij w głównym oknie programu przycisk
Help
, a wyświetli się pomoc
programu
seyon
.
Aby nawiązać połączenie, po prostu zaznacz wpis w oknie dialogowym
Dialing Directory
, a następnie kliknij
Go
. Po nawiązaniu połączenia okno
Dialing Directory
zniknie automatycznie. Jeśli chcesz przerwać połączenie,
kliknij
Hangup
lub
Exit
, aby zakończyć działanie programu
seyon
.
Używanie programu minicom
Pomimo mniej nowoczesnego interfejsu użytkownika, program
minicom
jest bardziej popularnym programem
komunikacyjnym. Zanim jednak go uruchomisz, musisz skonfigurować (jak prawie wszystkie aplikacje w
systemie Linux) jego opcje:
minicom –s
Rysunek 11.21 przedstawia ekran konfiguracyjny programu
minicom
. Tak jak program instalacyjny systemu
Linux, program
minicom
nie obsługuje myszki. Zamiast tego poruszamy się w nim za pomocą klawisza
Tab
i
klawiszy kursorów. Na przykład możesz użyć strzałki w dół i w górę do zaznaczenia różnych elementów menu
konfiguracyjnego. Aby wybrać zaznaczony element, naciśnij
Enter
.
Rysunek 11.21. Ekran konfiguracyjny programu minicom
Zwykle jest akceptowana konfiguracja domyślna. Możesz zaznaczyć
Save setup as dfl
, nacisnąć
Enter
,
następnie zaznaczyć
Exit from Minicom
(wyjście z programu) i ponownie nacisnąć
Enter
. Teraz możesz
uruchomić program minicom:
minicom
Opcje domyślne najprawdopodobniej nie będą działać poprawnie (przynajmniej nie wszystkie). Poniższe
podrozdziały opisują ze szczegółami dostępne opcje konfiguracyjne.
Konfiguracja ścieżek dostępu oraz nazw plików
Ekran dialogowy konfiguracji ścieżek dostępu i nazw plików jest przedstawiony na rysunku 11.22. Za jego
pomocą możesz skonfigurować domyślne katalogi używane przez program do pobierania i wysyłania plików
oraz dla skryptów. Możesz również podać nazwę programu, który będzie używany do przetwarzania skryptów
oraz ścieżkę do programu
kermit
, który służy do transferu plików.
Rysunek 11.22. Konfiguracja nazw plików i ścieżek dostępu
Aby zmienić jakąkolwiek opcję, wciśnij klawisz odpowiedniej litery (opis z lewej strony każdej opcji), wpisz
określoną wartość i naciśnij
Enter
. Żadne zmiany nie zostaną zapisane, dopóki nie klikniesz elementu
Save
znajdującego się w głównym menu programu
minicom
.
Konfiguracja protokołów transferu plików
Okno dialogowe konfiguracji protokołów transferu plików jest przedstawione na rysunku 11.23. Dla każdego
obsługiwanego protokołu możesz sprecyzować ścieżkę dostępu oraz argumenty wiersza poleceń używane do
pobierania i wysyłania plików. Możesz również podać, jak ma przebiegać wysyłanie danych ASCII oraz kilka
innych opcji transferów.
Rysunek 11.23. Konfiguracja protokołów transferu plików
Kolumny w pokazanym na rysunku 11.23 ekranie mają następujące znaczenie:
• Name — określa, czy program wymaga podania nazwy pliku jako argumentu wiersza poleceń.
• U/D — oznacza, czy podany wpis odnosi się do protokołu wysyłania (U) czy pobierania (D) plików.
• FullScr — określa, czy program ma zostać uruchomiony w własnym oknie (pełny ekran).
• IO-Red — mówi, czy program otrzymuje dane wyjściowe ze standardowego wejścia i przekierowuje
swoje wyjście na standardowe wyjście (ekran).
• Multi — określa, czy za pomocą jednego polecenia można przesyłać wiele plików.
Prawdopodobnie nie będziesz zmieniać żadnych opcji transferu plików. Jednakże możesz dokonywać zmian
poprzez wciśnięcie klawisza litery znajdującej się z lewej strony każdej opcji, wpisanie odpowiedniej wartości i
wciśnięcie klawisza
Enter
. Żadne zmiany nie zostaną zapisane, dopóki nie wybierzesz
Save
z głównego menu
programu.
Konfiguracja portów szeregowych
Ekran konfiguracji portów szeregowych ilustruje rysunek 11.24. Jeśli posiadasz szybki modem, możesz
otrzymać dość wysoki transfer danych poprzez zwiększenie prędkości modemu z domyślnej, 38 400 b/s, na 57
600 b/s lub 115 200 b/s. Opcje te możesz zmienić w taki sam sposób jak opcje protokołów transferu plików i
nazw plików.
Rysunek 11.24. Konfiguracja portów szeregowych
Konfiguracja modemu i opcji dzwonienia
Ekran do konfiguracji tych opcji jest przedstawiony na rysunku 11.25. Jeśli modem, który posiadasz, używa
standardowych poleceń (kompatybilnych z poleceniami Hayesa), prawdopodobnie nie będziesz chciał nic
zmieniać. Jednakże domyślne opcje prawdopodobnie nie wykorzystają do końca wszystkich właściwości
modemu. Sprawdź w dokumentacji tego urządzenia i dopisz odpowiednie ciągi znaków sterujących, które
uaktywnią specjalne funkcje modemu.
Rysunek 11.25. Ekran konfiguracyjny modemu i opcji dzwonienia
Konfiguracja ekranu i klawiatury
Wielu użytkownikom bardziej odpowiada kolorowy ekran niż domyślny. Możesz oddzielnie ustawić kolory tła i
kolory menu, wiersza statusu oraz okna terminala. Ekran konfiguracji tych opcji przedstawia rysunek 11.26.
Rysunek 11.26. Konfiguracja opcji ekranu i klawiatury
Zachowywanie zmian
Kiedy już wprowadziłeś wszystkie zmiany w opcjach programu
minicom
, użyj elementu
Save setup ss dfl
znajdującego się w głównym menu programu, aby je zapisać. Po prostu zaznacz ten element, naciśnij
Enter
, a
następnie zaznacz
Exit from Minicom
i znów
Enter
.
Uruchamianie programu minicom
Po skonfigurowaniu programu
minicom
jesteś już gotowy do uruchomienia go. Aby tego dokonać, wydaj
polecenie:
minicom –c on
Argumenty
–c on
oznaczają, że program powinien uruchomić się z kolorowym ekranem, bez nich ekran będzie
monochromatyczny. Rysunek 11.27 ilustruje okno terminala programu
minicom
i jego wiersz statusu.
Rysunek 11.27. Główne okno programu minicom
Do wydawania poleceń służą pojedyncze klawisze liter; aby uaktywnić ten tryb, naciskamy
Ctrl+A
. Na przykład
kombinacja klawiszy
Ctrl+A
i klawisz
Z
spowoduje wyświetlenie instrukcji działania programu
minicom
, tak
jak to ilustruje rysunek 11.28.
Rysunek 11.28. Opcje programu minicom
Aby wywołać okno
Dialing Directory
, naciśnij
Ctrl+A
i literę
D
. Rysunek 11.29 pokazuje efekt tego polecenia.
Znajdujące się na dole menu pozwala zadzwonić pod wybrany numer (wyświetlony powyżej), znaleźć wpis
określony za pomocą łańcucha znaków, dodać nowy wpis lub usunąć istniejący. Możesz również ręcznie
zadzwonić pod numer, którego nie ma w tym katalogu (Dialing Directory).
Rysunek 11.29. Okno Dialing Directory programu minicom
Kiedy już opanujesz biegle podstawowe funkcje programu
minicom
, możesz zabrać się do nauki pisania
skryptów. Za ich pomocą możesz automatycznie zalogować się na swoje konto systemowe, eliminując ciągłe
wpisywanie nazwy użytkownika i hasła. Aby dowiedzieć się, jak działa język skryptowy w tym programie,
przeczytaj pliki
/usr/share/doc/minicom/doc
oraz
/usr/share/doc/minicom/demos
.
Nawiązywanie połączenia PPP
Czasami możesz napotkać problemy przy ustanawianiu połączenia PPP za pomocą programu
wvdial
. W takim
przypadku dobrze jest wiedzieć, jak nawiązać połączenie PPP ręcznie. Kiedy już ustanowisz połączenie, możesz
poszukać rozwiązania problemu z programem
wvdial
na grupach dyskusyjnych lub dystrybucyjnych.
Zanim ręcznie ustanowisz połączenie, musisz mieć:
• skonfigurowany serwer nazw (lub kilka), tak jak to opisano w rozdziale 10.;
• ustanowioną za pomocą programu pppconfig procedurę logowania PAP, opisaną już w tym rozdziale.
Jeśli nie jesteś pewien, czy wykonałeś te operacje, zrób to jeszcze raz, na wszelki wypadek.
Aby ustanowić połączenie PPP ręcznie, zaloguj się na konto użytkownika
root
, uruchom program
minicom
i
zadzwoń do ISP. Jeśli usługodawca poprosi o podanie nazwy użytkownika i hasła, wprowadź te dane.
Większość z nich używa obecnie automatycznej identyfikacji, więc zazwyczaj nie jest potrzebne wprowadzanie
tych informacji. Po skończeniu procedury logowania, na ekranie programu minicom pojawią się dziwne i
zupełnie bezsensowne znaki. Wciśnij
Ctrl+A
i klawisz
J
, aby zawiesić na jakiś czas działanie programu
minicom
i uruchomić powłokę. W wierszu poleceń wpisz:
route del default
pppd –detach defaultroute /dev/modem 38400 &
Po krótkim czasie powinno zostać ustanowione poprawne połączenie PPP. Aby sprawdzić, czy rzeczywiście
działa ono poprawnie, uruchom dowolną przeglądarkę WWW i połącz się z np. stroną
www.helion.pl
. Jeśli
jednak nadal nie działa, sprawdź konfigurację jeszcze raz, i to bardzo dokładnie.
Aby zamknąć sesję PPP, wydaj polecenie:
poff
Po krótkiej chwili modem zawiesi swoje połączenie. Aby przywrócić program minicom, wpisz:
fg
Teraz możesz zakończyć działanie programu
minicom
.
Rozdział 12.
Konfiguracja sieci WAN opartej
na Linuksie
W poprzednim rozdziale dowiedziałeś się, jak podłączyć Linuksa do lokalnej sieci oraz do sieci Internet. Po
podłączeniu mogłeś korzystać z mnóstwa usług i zasobów obu sieci, włączając transfery plików poprzez FTP,
strony WWW, e-mail oraz telnet. W tym rozdziale dowiesz się, jak zainstalować i obsługiwać serwery sieci
WAN, włączając serwer FTP, WWW (Apache), serwer poczty (SMTP/POP) oraz serwer Dial-in. Te usługi
umożliwią dostęp do serwera z każdego miejsca na świecie. Usługi te są wykorzystywane najczęściej na
komputerach, które posiadają stałe łącze z Internetem. Ale jeśli nawet łącze jest przerywalne, możesz korzystać
z tych usług, gdziekolwiek jest aktywne połączenie z siecią Internet.
Serwer FTP
Serwer FTP pozwala na przenoszenie poprzez sieć danych z jednego systemu do drugiego. Jeśli dwa komputery
są podłączone do Internetu, możesz użyć usługi FTP do przeniesienia plików z jednego komputera do drugiego,
chociaż nie są one bezpośrednio ze sobą połączone.
Serwer FTP posiada funkcję, która sprawdza autentyczność użytkownika chcącego skorzystać z zasobów
serwera. Możesz tak skonfigurować serwer FTP, aby akceptował żądania dostępu tylko od użytkowników,
którzy mają konta w systemie. Możesz tak ustawić serwer, aby akceptował wszystkich użytkowników za
pomocą opcji zwanej
anonymous FTP
(anonimowy serwer FTP). Instalacja i konfiguracja anonimowego serwera
FTP jest bardzo łatwa, jednakże hakerzy regularnie wynajdują słabe punkty takich serwerów, włamując się do
systemów i powodując różnorodne szkody. Ponieważ trudno jest zabezpieczyć system z działającym
anonimowym serwerem FTP, nie będziemy tutaj opisywać ani jego instalacji, ani metod konfiguracji.
Podczas instalacji podstawowych pakietów systemu Debian GNU/Linux zainstalowany zostaje również
standardowy serwer FTP.
Testowanie serwera FTP
W celu sprawdzenia działania serwera FTP uruchom klienta FTP, wydając następujące polecenie:
ftp localhost
Serwer FTP poprosi o podanie
nazwy_użytkownika
i hasła dla danego użytkownika. Jeśli je poprawnie
wprowadzisz, zobaczysz znak zachęty
ftp
oznaczający, że serwer FTP jest gotów przetwarzać polecenia ftp.
Wpisz
quit
i wciśnij
Enter
, żeby zakończyć sesję ftp lub jeżeli chcesz przenieść kilka plików, możesz użyć
poleceń podsystemu ftp opisanych w tabeli 12.1.
Tabela 12.1. Najważniejsze polecenia programu FTP
Polecenie Opis
!
command
Przywołuje powłokę lokalnego systemu. Możesz używać tego polecenia na przykład do
otrzymania listy plików aktualnego katalogu lokalnego:
!ls
— dla systemów typu UNIX,
!dir
— dla systemów Microsoft.
ascii
Określa, że pliki będą przenoszone w trybie ASCII (znakowym).
binary
Określa, że pliki będą kopiowane w trybie binarym, co daje brak translacji.
cd
directory
Zmienia aktualny katalog na serwerze ftp.
delete
file
Usuwa określony plik na zdalnym koncie.
dir
Wyświetla zawartość aktualnego katalogu systemu zdalnego.
get
file
Pobiera określony plik z systemu zdalnego.
help
Wyświetla wszystkie możliwe polecenia ftp.
lcd
directory
Powoduje zmianę na podany katalog w systemie lokalnym.
mkdir
directory
Tworzy określony katalog na serwerze FTP.
put
file
Przechowuje (wkłada) określony plik lokalny na serwer.
pwd
Wyświetla aktualny katalog roboczy zdalnego systemu.
quit
Kończy pracę klienta FTP.
rmdir
directory
Usuwa określony katalog na serwerze FTP.
Jeśli serwer nie odpowiada prawidłowo, sprawdź, czy masz wpis w pliku
/etc/inetd.conf
. Jeżeli nie jesteś w
stanie rozwiązać problemu, zrestartuj system; jeśli i to nie pomoże, wyślij wiadomość do grupy
comp.os.linux.setup
.
Kiedy serwer FTP już działa, spróbuj skontaktować się z nim ze zdalnego systemu. Jeśli posiadasz Microsoft
Windows, możesz połączyć się z serwerem przy użyciu wbudowanego w MS Windows klienta FTP, niemalże
identycznego z klientem FTP Linuksa. Otwórz okno MS-DOS i wpisz polecenie:
ftp
serwer
gdzie serwer oznacza nazwę komputera lub jego adres IP. Kiedy mamy już znak zachęty
ftp
, powinno się
natychmiast wydać polecenie
binary
. Polecenie oznacza, że pliki będą przenoszone dokładnie „słowo w
słowo”; bez tego pliki wykonywalne, dokumenty i inne dane binarne zostaną uszkodzone w trakcie transferu.
Większość użytkowników preferuje używanie graficznych klientów FTP. Wiele z tych klientów, jak np. WS-
FTP, jest dostępnych za darmo i umożliwia łatwy dostęp do zasobów FTP nawet początkującym użytkownikom
systemów Windows. FTP dostarcza bardzo szybkiej i wydajnej metody dzielenia plików z klientami Windows
bez potrzeby instalacji i konfiguracji Samby.
Instalacja i konfiguracja serwera WWW
Zainstalowanie i skonfigurowanie serwera WWW —
Apache
, jest zadaniem o wiele trudniejszym niż instalacja
serwera FTP. Kiedy już serwer WWW jest uruchomiony, inni użytkownicy Internetu mogą przeglądać
dokumenty, które udostępniasz.
Konfiguracja
Konfiguracja serwera WWW może być i łatwa i trudna. Tak jak inne serwery WWW, Apache posiada mnóstwo
opcji. Na szczęście, Debian GNU/Linux automatycznie konfiguruje ten serwer podczas procesu instalacji.
Czasami jednak opcje konfiguracyjne wybrane przez skrypty instalacyjne mogą okazać się niewystarczające. W
takim przypadku będziesz musiał zmodyfikować pliki konfiguracyjne.
Pliki konfiguracyjne Apache znajdują się w katalogu
/etc/apache
. Ze względów historycznych posiada on trzy
pliki konfiguracyjne:
•
access.conf
— określa, który host i którzy użytkownicy są uprawnieni do jakich dokumentów i usług.
•
httpd.conf
— określa opcje, które zarządzają działaniem demona
httpd
.
•
srm.conf
— określa, jak są zorganizowane i sformatowane dokumenty na serwerze.
Obecnie możesz umieszczać polecenia konfiguracyjne w każdym z tych trzech plików. Jednakże każdy z tych
plików musi istnieć, nawet pusty, w przeciwnym przypadku demon
httpd
nie uruchomi się. W dystrybucji pliki
konfiguracyjne Apache zawierają opcje domyślne. Zanim uruchomisz serwer WWW, powinieneś przyjrzeć się
uważnie opcji
ServerName
z pliku
httpd.conf
. Trzy poniższe podrozdziały opisują większość opcji każdego z
trzech plików konfiguracyjnych. Przeczytaj je uważnie i zobacz, które z nich mogą się przydać. Bardziej
szczegółowy opis tych opcji znajdziesz na stronach Apache w dokumentacji online. Także na stronie głównej
tego serwera
http://www.apache.org/
znajduje się mały przewodnik po konfiguracji. Aby zmienić dowolną
opcję, po prostu otwórz dany plik w ulubionym edytorze tekstowym i wprowadź odpowiednie zmiany.
Uwaga
Niektóre podsekcje wymagają pewnej znajomości HTML-a i serwerów WWW. Jeśli pewne opcje będą dla
ciebie niezrozumiałe, nie przejmuj się; serwer będzie udostępniał zwykłe pliki HTML również wtedy, gdy
ustawisz tylko opcję
ServerName
.
Plik access.conf
Plik
access.conf
określa domyślny zbiór uprawnień, które kontrolują dostęp do dokumentów i usług. Zmieniając
te uprawnienia, zmieniamy domyślne ustawienia dla dokumentów i usług. Zwykle określa się dość restrykcyjne
uprawnienia domyślne, które należy tak zmienić, aby umożliwić szerszy zakres wykorzystania usług serwera
WWW.
Plik zawiera komentarze, które zaczynają się znakiem „
#
”, oraz dyrektywy. Te pierwsze istnieją dla informacji
administratora serwera i są ignorowane przez serwer.
Domyślnie ustawione są następujące uprawnienia:
<Directory />
Options None
AllowOverride None
</Directory>
Frazy
<Directory>
i
</Directory>
zawierają listę opcji, które odnoszą się do katalogu
/
, określonego w
pierwszym wierszu
<Directory />
. Opcje te to:
•
Options None
— co oznacza, że dla określonego katalogu lub jego podkatalogów nie zostanie
włączona żadna specjalna funkcja serwera.
•
AllowOverride None
— oznacza, że specyfikacje dostępu nie mogą zostać nadpisane przez plik
.htaccess
.
Tabela 12.2 przedstawia specjalne opcje serwera Apache.
Tabela 12.2. Specjalne opcje serwera Apache
Opcje Opis
ExecCGI
Oznacza, że w danym katalogu możliwe jest wykonywanie skryptów
CGI
.
FollowSymLinks
Serwer będzie podążał w danym katalogu za dowiązaniami symbolicznymi.
Includes
W tym katalogu dozwolone są wszystkie operacje
includes
po stronie serwera.
IncludesNOEXEC
W tym katalogu dozwolone są operacje
includes
po stronie serwera z wyjątkiem
#exec
i
#include
.
Indexes
Jeśli katalog nie zawiera strony do indeksowania (np.
index.html
), serwer przygotuje
sformatowany indeks.
MultiViews
W danym katalogu dozwolone są
z negocjowaną zawartością
MultiViews
. Pozwalają
one na przeglądanie strony w konkretnym języku (do wyboru strony w kilku językach).
SymLinksOwnerMa
tch
Serwer będzie podążał za dowiązaniem symbolicznym, którego plikiem lub katalogiem
docelowym jest plik lub katalog mający tego samego właściciela (owner) co
dowiązanie.
Kiedy opcja
AllowOverride None
zostanie zniesiona, będziesz mógł nadpisać określone opcje poprzez
umieszczenie pliku
.htaccess
w danym katalogu lub jego podkatalogach. Plik
.htaccess
może zawierać
specyfikacje tego samego rodzaju co plik
access.conf
; serwer w tym przypadku zaaprobuje opcje umieszczone w
pliku
.htaccess
, nadpisując opcje z pliku
access.conf
.
Po restrykcyjnych uprawnieniach domyślnych czas wprowadzić w życie nowe zasady:
<Directory /home/httpd/html>
Options Indexes Includes FollowSymlinks
AllowOverride None
Order allow, deny
Allow from all
</Directory>
Powyżej przedstawione opcje odnoszą się do katalogu
/home/httpd/html
i wszystkich jego podkatalogów. W
powyższym przykładzie są podane opcje
Indexes
,
Includes
i
FollowSymLinks
. W katalogu tym użycie
pliku
.htaccess
jest zabronione dzięki opcji
AllowOverride None
. W przeciwieństwie do przykładu
pierwszego, gdzie opcje odnosiły się do katalogu root, określiliśmy hosty mające dostęp do dokumentów i usług.
Dyrektywa
order allow, deny
oznacza kolejność rozpatrywania dyrektyw
allow
i
deny
. Dyrektywa
allow from all
, w której nie pojawia się żadna instrukcja
deny
, pozwala każdemu komputerowi na dostęp
do dokumentów i usług katalogu
/home/httpd/html
i jego podkatalogów.
Inna specyfikacja umożliwia wykonywanie skryptów
CGI
w katalogu
/home/httpd/cgi-bin
i wszystkich jego
podkatalogach:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directroy>
Ostatnią specyfikacją dla domyślnej konfiguracji jest zezwolenie lokalnym użytkownikom na dostęp do
dokumentów HTML znajdujących się w katalogu
/usr/doc
i jego podkatalogach.
<Directory /usr/doc>
order deny, allow
deny from all
allow from localhost
Options Indexes FollowSymLinks
</Directory>
Plik srm.conf
Plik ten określa organizację i format dokumentów udostępnianych przez serwer WWW. Tak jak w przypadku
pliku
access.conf
, nie musisz w
srm.conf
wprowadzać żadnych zmian — chociaż możesz.
Dyrektywa
DocumentRoot
określa katalog, który zawiera pliki HTML. Kiedy klient wchodzi do katalogu
głównego, serwer wywołuje pliki z katalogu oznaczonego jako
DocumentRoot
:
DocumentRoot /home/httpd/html
Instrukcja
UserDir
określa nazwę podkatalogu, który serwer przypisuje użytkownikowi jako jego katalog
roboczy, kiedy wysyła żądanie
~user
.
UserDir public_html
Oznacza to, że odnośnik
~user
zostanie przetłumaczony na odnośnik do katalogu
/home/user/public_html
.
Dyrektywa
DirectoryIndexes
określa nazwę pliku (lub nazwy plików) używanego do indeksowania
katalogu:
DirectoryIndex index.html index.shtml index.cgi
FancyIndexing
określa, czy ikony są używane do tworzenia fantazyjnych indeksów katalogu:
FancyIndexing on
Instrukcje
AddIcon
i
AddIconByType
związują ikony z plikami poszczególnych typów:
AddIconByType (TXT, /icons/text.gif) text/*
AddIcon /icons/binary.gif .bin .exe
Domyślna konfiguracja zawiera wiele takich dyrektyw. Jeśli chcesz dodać obsługę nowego rodzaju pliku,
możesz dodać polecenie łączące ikonę z tym nowym typem pliku.
DefaultIcon
określa ikonę używaną dla typów plików nie związanych z żadną ikoną:
DefaultIcon /icons/unknown.gif
Dyrektywa
ReadmeName
określa nazwę pliku używanego przez serwer do tworzenia wpisów
README
:
ReadmeName README
Serwer będzie najpierw szukał pliku
README.html
, a następnie
README
.
Podobną dyrektywą jest
HeaderName
, określająca nazwę pliku, który serwer przypisze do wygenerowanego
indeksu:
HeaderName HEADER
Instrukcja
IndexIgnore
pozwala podać kilka nazw plików, które nie powinny być włączane do
generowanego indeksu. Te pliki są często określane za pomocą znaków specjalnych:
IndexIgnore .??* *~ *# HEADER READEME RCS
Dyrektywa
AccessFileName
określa nazwę pliku, który, jeśli jest obecny, nadpisuje specyfikacje kontroli
dostępu do katalogu:
AccessFileName .htaccess
TypesConfig
identyfikuje plik
mime.types
, który opisuje pliki multimedialne:
TypesConfig /etc/mime.types
DefaultType
określa domyślny typ MIME dla dokumentów:
DefaultType text/plain
Dyrektywa
AddEncoding
instruuje kompatybilne przeglądarki, jak rozpakować informacje po pobraniu:
AddEncoding x-compress Z
AddEncoding x-gzip gz
Instrukcja
Redirect
(przekierowanie) pozwala dostarczyć adresu przekierowania dla dokumentów, które
zostały przeniesione. Domyślna konfiguracja zawiera opcję
no Redirect
; instrukcja ta ma następującą
składnię:
Redirect old-URL new-URL.
Dyrektywa
Alias
pozwala na odwołanie się do katalogu za pomocą aliasu. Na przykład poniżej jest
przedstawiony sposób na prostsze odwoływanie się do katalogu
/home/httpd/icons
:
Alias /icons/ /home/httpd/icons
ScriptAlias
pozwala użytkownikom odwoływać się do katalogu ze skryptami
CGI
:
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
Poniżej przedstawiona konfiguracja pozwala obejść problem występujący w kilku przeglądarkach. Pierwsze
dwie dyrektywy blokują opcję
keepalive
dla przeglądarek, które jej nie obsługują:
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
Następne instrukcje wymuszają użycie odpowiedzi HTTP wersji 1.0 dla przeglądarek, które nie obsługują wersji
1.1 HTTP:
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
Plik httpd.conf
Plik ten określa opcje związane z demonem
httpd
. Powinieneś podać opcję
ServerName
, zanim uruchomisz
serwer WWW.
ServerType
(typ serwera) określa, czy serwer jest uruchamiany poprzez
inetd
czy jako demon
httpd
(standalone):
ServerType standalone
Instrukcja
port
oznacza port, na którym serwer będzie oczekiwał żądań klientów:
Port 80
Dyrektywa
HostnameLookups
określa, czy klienci są logowani za pomocą adresów IP (off) czy tylko za
pomocą nazwy hosta (on):
HostnameLookups off
Opcje
User
(użytkownik) i
Group
(grupa) określają nazwę użytkownika i grupę, pod którą uruchomiony jest
demon
httpd
. Demon początkowo uruchamiany jest z
UID
root, a następnie przełącza się na
nobody
(standardowy użytkownik, który posiada wiele zakazów). Użytkownik lub proces pracujący jako
nobody
mają
taki sam dostęp do danych jak wszyscy użytkownicy, generalnie oznacza to, że użytkownik ani proces nie może
modyfikować plików. Grupa
nobody
podlega podobnym restrykcjom:
User nobody
Group nobody
Instrukcja
ServerAdmin
określa adres administratora serwera WWW:
ServerAdmin root@localhost
Dyrektywa
SerwerRoot
określa katalog, w którym znajdują się wszystkie pliki związane z Apache (pliki log,
konfiguracyjne, moduły serwera oraz dodatkowe programy):
ServerRoot /etc/httpd
BindAddress
pozwala na tworzenie wirtualnych hostów. Określa adres IP, na którym serwer powinien
słuchać. Jest to zazwyczaj opcja zablokowana:
#BindAddress *
Dyrektywa
ErrorLog
określa położenie pliku
error.log:
ErrorLog logs/error.log
Dyrektywa
LogLevel
określa poziom aktywności dziennika serwera. Możliwe wartości to:
debug
,
info
,
notice
,
warn
,
error
,
crit
,
alert
i
emerg
:
Loglevel warn
LogFormat
określa natomiast format nazw, które mogą być używane przy dyrektywie
CustomLog
:
LogFormat "%h %l %u %t \ "%r\" %>s %b \ "%{Referer}i\" \ "%{User-Agent}i\""
combined LogFormat "%h %l %u %t \ "%r\ " %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log common
Przeczytaj dokumentację Apache, aby dowiedzieć się więcej na temat formatów plików log error i poziomów
aktywności.
Dyrektywa
PidFile
określa plik, do którego serwer powinien zapisywać ID swojego procesu:
PidFile /var/run/httpd.pid
Instrukcja
ScoreBoardFile
określa nazwę pliku używanego do przechowywania danych o wewnętrznych
procesach serwera:
ScoreBoardFile /var/run/httpd.scoreboard
Dyrektywa
LockFile
określa plik stosowany do włączenia usługi zwanej
locking
. Będziesz musiał zmienić tę
opcję tylko, jeśli katalog używany przez serwer do logowania zamontujesz jako zasób
NFS
:
#LockFile /var/lock/httpd.lock
Instrukcja
ServerName
określa nazwę systemu, na którym uruchomiony jest serwer. Zależnie od konfiguracji
sieci ta opcja może być zmieniona lub nie:
ServerName host.domain.com
UseCannonicalName
określa, czy serwer zwróci kanoniczny
URL
stworzony z instrukcji
ServerName
i
Port
(on) czy też złożony z nazwy hosta i portu podanego przez klienta (off).
UseCannonicalName on
CacheNegotiateDocs
nakazuje przeglądarce nie buforować dokumentów; jest zazwyczaj zablokowana za
pomocą znaku „
#
”:
#CacheNegotiateDocs
Timeout
określa maksymalną liczbę sekund oczekiwania serwera na pewne odpowiedzi, takie jak następny
pakiet w kolejce pakietów TCP.
Timeout 300
Keepalive
oznacza, że połączenia są trwałe, tzn. że klient może podawać wiele żądań na jedno połączenie:
Keepalive on
MaxKeepAliveRequests
określa maksymalną ilość żądań dla jednego połączenia:
MaxKeepAliveRequests 100
Wartość 0 oznacza nielimitowaną ilość żądań.
KeepAliveTimeout
określa maksymalną ilość sekund, podczas których serwer będzie oczekiwał na następne
żądanie.
KeepAliveTimeout 15
MinSpareServers
i
MaxSpareServers
odpowiednio oznaczają minimalną i maksymalną liczbę wolnych
procesów serwera (tworzonych przez serwer). Procesy te mogą się przydać podczas przeciążenia serwera, kiedy
można na nich utrzymywać dodatkowe żądania przychodzące:
MinSpareServers 8
MaxSpareServers 20
StartServer
określa początkową ilość procesów serwera:
StartServer 10
Dyrektywa
MaxClients
określa maksymalną ilość jednoczesnych procesów serwera. Kiedy podana ilość
zostanie osiągnięta przez serwer, dodatkowe żądania są blokowane (
locked out
):
MaxClients 150
Domyślne wartości dla ostatnich trzech opcji są wyższe niż te wymagane dla większości stacji roboczych.
System będzie działał wydajniej (i być może stabilniej), jeśli zmienisz wartości dla tych dyrektyw:
MinSpareServers 3
MaxSpareServers 6
StartServers 3
MaxClients 20
Instrukcja
MaxRequestsPerChild
określa ilość żądań, jaką może utrzymać proces
child
, zanim one
wygasną. To zapewnia, że procesy są co jakiś czas odtwarzane, i minimalizuje problem błędów w
oprogramowaniu:
MaxRequestsPerChild 100
ProxyRequests
określają, czy serwer proxy jest włączony; zwykle jest wyłączony.
#ProxyRequests on
Kiedy aktywna jest opcja serwera
, poniższa dyrektywa określa różne opcje buforowania (zazwyczaj są one
zablokowane):
proxy
#CacheRoot /var/cache/httpd
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com
Instrukcja
Listen
pozwala na przypisanie wirtualnego serwera Apache do konkretnego adresu lub portu (poza
domyślnym). Jest to opcja zazwyczaj wyłączona:
#Listen 3000
#Listen 12.34.56.78:80
Frazy
<VirtualHost>
i
</VirtualHost>
zawierają szereg opcji dotyczących ustawiania wirtualnych
hostów, użytecznych, kiedy system obsługuje wiele wirtualnych serwisów www. Opcje mogą zawierać każdą
opcję opisywaną w poniższej podsekcji. Frazy i dyrektywy są zazwyczaj zablokowane:
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>
Uruchamianie i używanie serwera
Skrypt instalacyjny automatycznie uruchomi serwer WWW tuż po instalacji. Jeśli masz w systemie
zainstalowaną przeglądarkę Lynx, możesz jej użyć do przetestowania serwera WWW. Wydaj polecenie:
lynx http://localhost
Powinieneś zobaczyć ekran przypominający rysunek 12.1.
Rysunek 12.1. Strona startowa serwera WWW Apache oglądana w przeglądarce Lynx
Jeśli wolisz, możesz obejrzeć stronę startową za pomocą Netscape Navigatora, który wyświetla znajdującą się na
stronie grafikę. Rezultat powinien przypominać rysunek 12.2.
Rysunek 12.2. Strona startowa serwera WWW Apache oglądana w przeglądarce Netscape Navigator
Kiedy już możesz korzystać lokalnie z serwera, spróbuj jeszcze dostać się ze zdalnego systemu. Adres
,
który musisz podać, zawiera pełną nazwę hosta (to znaczy nazwę hosta i domenę), na przykład:
.
URL
http://www.debian.org
Praca z serwerem pocztowym
Proces instalacyjny sytemu Debian GNU/Linux dołącza do podstawowego pakietu agenta przekazywania poczty
zwanego
exim
. Dlatego bez problemu powinieneś wysyłać e-maile do innych użytkowników pracujących w
innych systemach, a także otrzymywać od nich wiadomości e-mail. Po prostu skonfiguruj klienta poczty tak, aby
traktował system jako serwer poczty. Na przykład, jeśli używasz przeglądarki Netscape Navigator,
wybierz
menu
Edit
(edycja) ->
Preferences
(ustawienia) ->
Mail Servers
(serwery pocztowe
)
. Zapisz ustawienia
istniejącego serwera poczty na wypadek, gdyby coś nie poszło jak należy. Następnie zmień opcje
incoming
i
outgoing
serwera poczty tak, aby wskazywały na twój komputer.
Uwaga
Jeśli chcesz wciąż otrzymywać pocztę na inny serwer poczty niż własny system, ale również chcesz ją
odczytywać lokalnie, wypróbuj program
fetchmail
— pakiet, który potrafi pobierać wiadomości e-mail z
serwerów (np. POP, IMAP lub inny dowolny protokół zdalnej poczty) i przekazać je do lokalnego klienta
poczty.
Konfiguracja serwera Secure Shell (SSH)
Serwer
ssh
pozwala na połączenie systemu z innym poprzez protokół TCP/IP. Pojawi się znak zachęty powłoki
drugiego systemu, gdzie możesz już wydawać polecenia i oglądać ich działanie na ekranie (lokalnie). Możesz
nie być zaznajomiony z tą technologią, ale jeśli znasz trochę program
Telnet
systemu MS Windows, szybko
zrozumiesz, o co chodzi. Serwer
ssh
działa inaczej niż serwer
Telnet
, ponieważ połączenie pomiędzy serwerem
ssh
a jego klientami jest szyfrowane, w ten sposób nikt nie odkryje tak łatwo prywatnych informacji korzystając
z nazwy użytkownika i hasła.
Klient i serwer
nie mogą być rozpowszechniane na CD, ponieważ zawierają zaawansowane technologie
kryptograficzne, a prawo Stanów Zjednoczonych obecnie zabrania dystrybucji takiego oprogramowania
ssh
. Skrypt
instalacyjny automatycznie uruchomi demona
ssh
.
Używanie klienta ssh
Aby sprawdzić, czy serwer
ssh
poprawnie działa, możesz się z nim połączyć poprzez klienta uruchomionego
lokalnie. Wydaj następujące polecenie:
ssh localhost
Program kliencki spróbuje zalogować użytkownika do lokalnego systemu przy użyciu nazwy użytkownika
wykonującego to polecenie, a także poprosi o podanie hasła. Jeśli podasz odpowiednie hasło, ujrzysz znak
zachęty powłoki oznaczający, że klient i serwer funkcjonują prawidłowo. Wpisz
exit
i naciśnij
Enter
, aby
zakończyć pracę klienta
ssh
.
Używanie serwera Secure Shell ze zdalnego systemu
Aby zalogować się ze zdalnego komputera do własnego systemu za pomocą serwera
ssh
, należy najpierw
zainstalować klienta
ssh
na zdalnym hoście. Doskonałym klientem dla systemu MS Windows 9x jest
ttssh
dostępny na stronie Roberta O’Callahana znajdującej się pod adresem:
http://www.zip.com.au/~roca/ttssh.html
.
Pobierz kopię i zainstaluj na komputerze z Windows 9x, podając nazwę lub adres IP serwera
ssh
, a także nazwę
użytkownika i hasło dostępu. Program
ttsh
zaloguje cię do systemu po prawidłowym podaniu wszystkich opcji.
Konfiguracja serwera Dial-in
Serwer Dial-in pozwala na łączenie się z systemem za pomocą modemu i linii telefonicznej, zalogowanie się i
wykonywanie poleceń na serwerze. Używanie serwera Dial-in wraz z serwerem
Telnet
lub
Secure Shell
jest
znakomitym rozwiązaniem, zakładając, że masz połączenie z Internetem przez modem. Pakiet
mgetty
udostępnia
prosty w użyciu i konfiguracji serwer Dial-in.
Konfiguracja
Aby skonfigurować
mgetty
tak, by odbierał przychodzące połączenia telefoniczne, użyj edytora tekstowego i
znajdź w pliku
/etc/inittab
następujące wiersze:
#Example how to put a getty on a modem line
#
#T3:23:respawn:/sbin/mgetty –x0 –s 57600 ttyS3
Zmodyfikuj ostatni wiersz, usuwając znak
#
(hash) i zmieniając
ttyS3
na
modem
:
T3:23:respawn:/sbin/mgetty –x0 –s 57600 modem
Zauważ, że poprawiony wiersz przywołuje
mgetty
, a nie
getty
. Ostatni argument określa, że modem jest
skonfigurowany jako
/dev/modem
. Jeśli jest jednak inaczej (np.
/dev/ttyS1
), musisz wprowadzić zmianę do
poprawionego już wiersza.
Aby zobaczyć rezultaty zmian konfiguracyjnych, musisz uruchomić ponownie system lub spowodować, aby
proces
init
przeczytał ponownie plik
/etc/inittab
. Jeśli wybierasz drugą metodę, wydaj następujące polecenie:
/sbin/telinit q
Program
mgetty
powinien zacząć teraz monitorowanie modemu w oczekiwaniu na połączenie przychodzące.
Używanie serwera Dial-in
Aby używać serwera Dial-in, uruchom program taki jak Microsoft Windows
Hyperterminal
i wykonaj telefon
pod numer, do którego podłączony jest serwer Dial-in. System Linux powinien odpowiedzieć na zgłoszenie i
przedstawić znak zachęty procesu logowania. Podaj
nazwę użytkownika
wraz z hasłem, a otrzymasz znak
zachęty powłoki systemu, gdzie możesz wprowadzać polecenia i oglądać rezultaty ich działania.
Uwaga
Jeśli masz tylko jedną linię telefoniczną (lokalnie), nie będziesz w stanie połączyć się z systemem Linux.
Będziesz musiał spróbować się połączyć z innego miejsca!
Rozdział 13.
Podbój powłoki BASH
Rozdział ten opisuje potęgę powłoki BASH zdecydowanie bardziej szczegółowo, niż to miało miejsce w
rozdziale 4. Przedstawione zostaną zmienne, skrypty i aliasy powłoki przygotowujące do zaawansowanej pracy
w systemie Linux.
Powłoka Linuksa
Poznałeś już wcześniej interpreter poleceń systemu Linux, czyli tzw. powłokę. Podobnie jak okno wiersza
poleceń trybu MS-DOS, powłoka pozwala wydawać polecenia, które są przez nią interpretowane i wykonywane.
Poprzez powłokę właśnie kontrolujesz system Linux i zarządzasz nim.
Różnorodność powłok
Powłoka systemu MS-DOS była przez cały czas w miarę niezmienna, na przykład między 3. wersją MS-DOS a
wersją 7. różnic (zmian) było niewiele. Inaczej jest w przypadku powłoki systemu Unix, która przeszła wiele
zmian oraz miała trochę inną drogę ewolucji niż konkurentka z MS-DOS. Obecnie możemy znaleźć wiele wersji
i odmian powłoki systemu Unix. Odmiany powłoki mają ze sobą dużo wspólnego, ale każda z nich ma na pewno
innego autora i historię powstania oraz sposób, w jaki współpracuje z nią użytkownik.
Linux posiada większość najpopularniejszych powłok systemu Unix; są one przedstawione w tabeli 13.1.
Najczęściej używaną z nich wszystkich jest właśnie powłoka BASH (Bourne Again Shell) opracowana na
podstawie oryginalnej powłoki Unix Bourne. Jest ona w dużym stopniu kompatybilna ze standardem POSIX,
który określa składnię i działanie standardowych powłok Uniksa i który został szeroko rozpowszechniony. Ze
względu na popularność tego standardu oraz na oczywiste korzyści płynące z pracy z powłokami, które są
zgodne z wieloma platformami komputerowymi, rozdział ten skupia się głównie na powłoce BASH. Większość
dystrybucji systemu Linux jest tak skonfigurowana, aby automatycznie uruchamiać tę powłokę zaraz po
zalogowaniu. Po więcej informacji na temat innych powłok systemu Linux zajrzyj na odpowiednie strony
podręcznika systemowego man.
Tabela 13.1. Powszechnie używane powłoki systemu Linux
Nazwa powłoki Nazwa
programu
Opis
Powłoka ASH
/bin/ash
/bin/bsh
Przypomina powłokę używaną przez System V firmy AT&T.
Powłoka BASH
/bin/bash
/bin/bash2
Standardowa powłoka Linuksa, powstała na bazie oryginalnej
powłoki Uniksa — Bourne. Według stron man dotyczących
tej powłoki BASH jest kompatybilna ze standardem POSIX.
Powłoka C
/bin/csh
/bin/tcsh
Druga pod względem popularności powłoka Uniksa.
Zaprojektowana do interaktywnego użytkowania, posiada
wiele funkcji i właściwości. Jej składnia przypomina język
programowania C.
Powłoka Korna
/bin/ksh
Połączenie powłoki C (część funkcji) i oryginalnej powłoki
Bourne’a. Trzecia w rankingu.
Powłoka Z
/bin/zsh
Powłoka oparta na powłoce Korna, posiada wiele
wbudowanych właściwości.
Dlaczego warto uczyć się poleceń powłoki?
Jeśli jesteś przyzwyczajony do używania graficznego interfejsu użytkownika, możesz zadawać sobie pytanie,
czy warto jest się uczyć powłoki Linuksa. Wielu bowiem początkujących użytkowników tego systemu twierdzi,
że praca z powłoką jest kłopotliwa, część z nich instaluje graficzny interfejs użytkownika i unika powłoki jak
ognia.
Prawdą jest, że interfejs tekstowy jest starszą formą interakcji użytkownika z komputerem, ale tak się składa, że
obecnie interfejs graficzny jest bardziej prymitywny niż znakowy. A to dlatego, że nie został jeszcze w pełni
rozwinięty. Jest on co prawda łatwiejszy w użyciu, częściej stosowany, ale nie jest tak wyrafinowany i wydajny
jak powłoka. Używanie graficznego interfejsu użytkownika przypomina czasami język migowy Indian
amerykańskich. Jeśli wiadomość, którą chcesz komuś przekazać, jest krótka i prosta jak np. „przybywam w
pokoju”, możesz ją wypowiedzieć przy użyciu kilku gestów. Natomiast jeśli chciałbyś komuś wytłumaczyć
różnice pomiędzy interfejsem graficznym a znakowym, mógłbyś mieć wiele problemów.
Każdy narodowy język migowy, używany głównie przez ludzi niesłyszących, jest bogatszy niż indiański język
migowy. Niestety programiści jeszcze nie potrafią stworzyć interfejsu graficznego o tak złożonej strukturze.
Projektant takiego interfejsu musi przewidywać wszystkie sposoby, jakimi użytkownik będzie komunikował się
z systemem, i dostarczyć odpowiednich metod (tylko za pomocą wskazywania i klikania myszką!), aby program
mógł prawidłowo reagować na żądania użytkownika. W związku z tym użytkownik jest właściwie zmuszany do
wykonywania ściśle określonych operacji i dlatego nie może zaadaptować programu interfejsu graficznego do
wykonywania nieprzewidzianych zadań i odpowiadania na nieokreślone okoliczności. Ze względu na dużą
odpowiedzialność za utrzymanie systemu i bezpieczeństwo danych, gdzie wciąż trzeba zmagać się z
nieprzewidywalnymi zdarzeniami i problemami, większość administratorów wykonuje swoje zadania przy
użyciu powłoki, a nie interfejsu graficznego.
Powłoka jest odzwierciedleniem filozofii systemu Unix, który dostarcza wielu małych i prostych narzędzi
(programów), z których każde wykonujące jedno zadanie. Kiedy zachodzi potrzeba wykonania złożonej
operacji, narzędzia współpracują ze sobą, wykonując działania jedno po drugim. Wiele narzędzi systemu Unix
manipuluje tekstem, a od czasu, kiedy Unix przechowuje dane w formie tekstu, a nie w formie binarnej,
narzędzia te idealnie zaczęły się nadawać do sterowania pracą samego systemu. Taką właściwość daje powłoka
— łączenie narzędzi do wspólnego wykonywania zadań systemowych, co stanowi o sile i wydajności wszystkich
systemów uniksowych. Dodatkowo powłoka jest rozszerzalna — możesz tworzyć skrypty powłoki, które
pozwalają przechowywać szereg poleceń do późniejszego wykonania, oszczędza to czas, który zmarnowałbyś
wpisując te polecenia za każdym razem, gdy zamierzasz wykonać konkretne zadanie.
Odwrotną filozofię można zaobserwować w systemie Microsoft Windows, który obsługuje monolityczne
programy, zawierające menu, podmenu i okna dialogowe. Takie programy nie mają jak ze sobą współpracować,
więc raczej niemożliwe jest wykonywanie złożonych zadań. Są łatwe w użyciu, ale tylko wtedy, gdy musisz
wykonać jedno zadanie, do którego zostały zaprojektowane, natomiast kiedy spróbujesz wykonać operację inną
drogą niż zaprogramowana, napotkasz same trudności.
Oczywiście nie wszyscy zgadzają się z tą opinią. Grupy dyskusyjne są przepełnione wiadomościami mówiącymi
o zaletach środowiska graficznego. Niektórzy z użytkowników takich grup postrzegają systemy Unix jako
zabytkowe zabawki. Nawet jeśli mają rację, to jedynie ucząc się poleceń i funkcji powłoki, przekonasz się sam,
do czego tak naprawdę przydatny jest obecnie taki system.
Zdanie autora jest jednoznaczne — kiedy wykonujesz proste, pojedyncze zadanie, możesz używać interfejsu
graficznego, który umili ci pracę, ale podczas wykonywania skomplikowanego zadania administracyjnego,
wymagającego od użytkownika wyobraźni i myślenia, stanowczo zalecam używanie powłoki (przekonaj się
sam!). Rozwiązania stworzone za pomocą funkcji i poleceń powłoki mogą być zapisane do pliku i wykorzystane
ponownie w przyszłości, niekoniecznie do wykonania tego samego zadania. Co ważniejsze, podczas
rozwiązywania powiązanych problemów, skrypty powłoki mogą zostać użyte do przypomnienia dawno
zapomnianych szczegółów.
Używanie powłoki
Powłoka systemu Linux została już przedstawiona w rozdziale 4. Jednakże wiele bardzo ważnych szczegółów
zostało w nim pominiętych ze względu na jej funkcje; rozdział umożliwiał szybkie uruchomienie systemu i
zapoznanie z podstawowymi operacjami. Rozszerzymy jednak zagadnienia dotyczące powłoki i opiszemy je w
szczegółowy sposób.
Wprowadzanie poleceń
Wpisując nazwy programów lub skryptów w wierszu poleceń, masz dostęp do miniedytora, który przypomina
program DOSKEY znany z systemu MS-DOS. Tabela 13.2 podsumowuje niektóre użyteczne skróty klawiszowe
interpretowane przez powłokę jako polecenia. Skróty te umożliwiają dostęp do ostatnio wydawanych poleceń
zapisanych w historii. Aby ponownie wydać polecenie, możesz kilkakrotnie nacisnąć klawisz kursora w górę i
po znalezieniu żądanego nacisnąć
Enter
.
Tabela 13.2. Użyteczne skróty klawiatury
Klawisz Funkcja
Up
Przesuwa się o jedno polecenie wstecz na liście historii.
Down
Przesuwa się o jedno polecenie do przodu na liście historii.
Left
Przesuwa kursor o jeden znak do tyłu.
Right
Przesuwa kursor o jeden znak do przodu.
Esc f
Przesuwa kursor o jedno słowo do przodu.
Esc b
Przesuwa kursor o jedno słowo do tyłu.
Ctrl+A
Przenosi kursor na początek wiersza.
Ctrl+E
Przenosi kursor na koniec wiersza.
Ctrl+D
Kasuje znak nad kursorem.
Backspace
Kasuje pierwszy znak przed kursorem.
Esc d
Kasuje cały wyraz.
Ctrl+U
Kasuje od początku wiersza.
Esc k
Usuwa od końca wiersza.
Ctrl+Y
Odzyskuje ostatnio usunięty element (znak, wyraz).
Esc .
Wstawia ostatni wyraz poprzedniego polecenia.
Ctrl+L
Czyści ekran, ustawiając aktualny wiersz na samej górze ekranu.
Tab
Dopełnia słowa lub wyrazy, interpretując je jako nazwę pliku, nazwę użytkownika, nazwę
zmiennej, nazwę hosta lub polecenia zależnie od kontekstu.
Esc ?
Wyświetla listę możliwych dopełnień.
Jednym z bardziej użytecznych poleceń klawiatury jest
Tab
, który również może być stosowany do wydawania
poleceń. Jeśli na przykład wpiszesz pewną część nazwy pliku i wciśniesz klawisz
Tab
, powłoka postara się
zlokalizować plik, którego nazwa pokrywa się z wprowadzonymi znakami. Jeśli dokładnie jeden plik zostanie
znaleziony i w dodatku dokładnie jego się spodziewałeś, powłoka dopełni nazwę, a ty naciśnij
Enter
, aby
wykonać polecenie. Ta właściwość zwana jest dopełnieniem nazw plików lub dopełnieniem poleceń i znacznie
ułatwia używanie powłoki.
Oprócz powyższych skrótów klawiaturowych powłoka interpretuje jeszcze kilka innych sekwencji klawiszy,
które kontrolują operacje wykonywanych aktualnie programów. Tabela 13.3 opisuje sekwencje. Na przykład
jednoczesne wciśnięcie klawiszy
Ctrl+C
powoduje przerwanie działania programu i jego zakończenie.
Polecenie to jest pomocne, gdy samo wykonywanie programu zajmuje dużo czasu, a istnieją inne sposoby na
jego szybsze wykonanie.
Tabela 13.3. Klawisze kontrolne
Sekwencja klawiszy
Funkcja
Ctrl+C
Wysyła do aktualnie wykonywanego polecenia sygnał przerwania, co generalnie
powoduje zakończenie działania programu.
Ctrl+D
Wysyła do aktualnie wykonywanego polecenia sygnał końca pliku. Blokuje wejście
konsoli.
Ctrl+Z
Zatrzymuje wykonywanie aktualnie aktywnego zadania.
Istnieje kilka innych specjalnych klawiszy kontrolujących działanie powłoki (patrz tabela 13.4). Znaki
#
i
;
są
często używanymi znakami w skryptach powłoki, o których przeczytasz jeszcze w tym rozdziale. Znak
&
jest
głównie używany do uruchamiania poleceń w tle.
Tabela 13.4. Inne specjalne znaki powłoki
Znak Funkcja
#
Zaznacza polecenie jako komentarz, przez co interpreter powłoki ją ignoruje.
;
Oddziela polecenia i pozwala wpisywać kilka w jednym wierszu.
&
Znak umieszczony na końcu polecenia powoduje uruchomienie go w tle, tak że po naciśnięciu
klawisza
Enter
pojawia się natychmiast znak zachęty powłoki.
Polecenia i argumenty
Jak już zapewne wiesz, generalna składnia polecenia powłoki wygląda następująco:
polecenie opcje argumenty
W powyższym przykładzie polecenie określa operację, którą ma wykonać powłoka; opcje i argumenty
wpływają na przebieg działania i zakres operacji. Czasami polecenie oznacza plik programu do
uruchomienia. — wtedy polecenie nazywane jest poleceniem zewnętrznym. Linux przechowuje te pliki w
katalogach
/bin, /usr/bin
lub
/usr/local/bin
. Polecenia administracyjne są zazwyczaj przechowywane w katalogu
/sbin
lub
/usr/sbin
. Kiedy polecenie określa plik programu, powłoka przekazuje wszystkie podane argumenty i
opcje do programu, który sprawdza je i interpretuje, następnie wprowadza wraz z poleceniem.
Jednakże niektóre polecenia nie są plikami programów, są za to wbudowane w strukturę powłoki i przez nią
tylko interpretowane. Sposób, w jaki powłoki obsługują wbudowane polecenia, jest jedną z cech, które różnią
powłoki od siebie. Jeszcze w tym rozdziale znajdziesz kilka poleceń wbudowanych w powłokę BASH.
Uogólnianie nazewnictwa plików (Filename globbing)
Zanim powłoka przekaże argumenty i opcje do zewnętrznego programu lub zinterpretuje wbudowane polecenie,
sprawdza wiersz poleceń, poszukując znaków specjalnych i wykonuje operację zwaną uogólnianiem
nazewnictwa plików (
filename globbing
). Jest to operacja przypominająca przetwarzanie symboli
wieloznacznych (
wildcards
) w systemie MS-DOS, ale o wiele bardziej złożona. Tabela 13.5 opisuje znaki
specjalne używane przy rozwijaniu nazewnictwa plików, zwane także metaznakami plikowymi.
Meta znak
Znaczenie
*
Dopasowuje łańcuch dowolnych znaków (nawet brak znaku jest dopuszczalny).
?
Dopasowuje dokładnie jeden znak.
[abc ...]
Dopasowuje każdy podany znak.
[a-z]
Dopasowuje każdy znak z podanego zakresu.
[!abc ...]
Dopasowuje każdy znak inny niż podane.
[!a-z]
Dopasowuje każdy znak nie podany w zakresie.
~
Oznacza katalog macierzysty aktualnego użytkownika.
~userid
Określa katalog macierzysty podanego użytkownika.
~+
Obecny katalog roboczy.
~-
Poprzedni katalog roboczy.
W operacji uogólniania nazewnictwa plików (zwanej też rozwijaniem nazewnictwa), podobnie jak przy
przetwarzaniu symboli wieloznacznych (
wildcards
) w systemie MS-DOS, powłoka przystępuje do zamiany
metaznaków pojawiających się jako argumenty polecenia w taki sposób, że argumenty te określają teraz nazwy
plików. Rozwijanie nazewnictwa plików ułatwia określanie nazw plików oraz grup plików.
Na przykład załóżmy, że aktualny katalog roboczy zawiera cztery pliki o nazwach:
plik1
,
plik2
,
plik3
i
plik04
.
Chcemy poznać rozmiar każdego z nich. Pomoże nam w tym następujące polecenie:
ls –l plik1 plik2 plik3 plik04
Jednakże poniższe polecenie wyświetli nam te same informacje, a w dodatku jest krótsze:
ls –l plik*
Jak pokazuje tabela 13.5, metaznak
*
odpowiada wszystkim znakom i łańcuchom znaków. Kolejny przykład:
ls –l plik?
Metaznak
?
odpowiada tylko pojedynczemu znakowi (a nie łańcuchowi znaków). Wobec tego nie zobaczysz
informacji na temat
plik04
.
Podobnie polecenie:
ls –l plik[2-3]
wyświetli tylko informacje o plikach:
plik2
i
plik3
, ponieważ tylko ich nazwy mieszczą się w zakresie
określonych znaków
[2-3]
.
Następną ważną cechą jest możliwość podania kilku metaznaków dla jednego argumentu. Rozważmy taki
przykład:
ls –l plik??
Polecenie to wyświetli informacje dotyczące
plik04
, ponieważ każdy metaznak odpowiada dokładnie jednemu
brakującemu znakowi występującemu w nazwie pliku.
Większość poleceń pozwala podać kilka argumentów. Jeśli żaden plik nie pasuje do podanego argumentu,
polecenie ignoruje taki argument. Oto kolejne polecenie wyświetlające wszystkie cztery pliki:
ls –l file0* file[1-3]
Uwaga
Przypuśćmy, że polecenie posiada kilka argumentów, z których każdy zawiera kilka metaznaków. Jeśli żaden
z argumentów nie będzie pasował do żadnego pliku, powłoka przekaże argumenty z niezmienionymi
metaznakami do programu. Program spodziewający się ważnej nazwy pliku zwróci komunikat o
niespodziewanym błędzie.
Inny metaznak pozwala w prosty sposób odwołać się do katalogu macierzystego. Na przykład wydając
następujące polecenie:
ls ~
spowodujesz wyświetlenie zawartości plików we własnym katalogu macierzystym.
Metaznaki nie istnieją po to, by zaoszczędzić czasu na wpisywaniu nazw plików. Pozwalają natomiast pisać
skrypty, które selektywnie przetwarzają pliki poprzez ich nazwy. Jeszcze w tym rozdziale zobaczysz, jak to
działa.
Aliasy
Aliasy powłoki ułatwiają używanie poleceń poprzez umożliwianie tworzenia skróconych nazw dla poleceń wraz
z ich argumentami. Aby utworzyć alias dla dowolnego polecenia, skorzystaj z podanego przykładu:
alias
nazwa
='
polecenie
'
gdzie polecenie oznacza polecenie, dla którego chcesz utworzyć alias, a nazwa określa nazwę aliasu.
Przypuśćmy, że zamiast linuksowego polecenia
ls
wpisujesz wciąż z przyzwyczajenia polecenie
dir
znane z
systemu MS-DOS. Możesz utworzyć alias dla polecenia
ls
o nazwie
dir
w następujący sposób:
alias dir='ls –l'
Teraz gdy utworzyłeś już alias dla polecenia
ls –l
, nawet gdy się pomylisz i wpiszesz polecenie
dir
, to i tak
zostanie wyświetlona zawartość aktualnego katalogu roboczego, a nie komunikat
command not found
(nie
znaleziono polecenia). Również dla innych poleceń możesz tworzyć aliasy.
Domyślna konfiguracja systemu Linux posiada zapewne kilka już zdefiniowanych aliasów. Aby je zobaczyć,
wydaj polecenie:
alias
Jeśli jesteś zalogowany na koncie użytkownika
root
, zobaczysz prawdopodobnie coś takiego:
alias cp='cp –i'
alias dir='ls –l'
alias ls='ls --color'
alias mv='mv –i'
alias rm='rm –i'
Zauważ, że niektóre polecenia posiadają aliasy samych siebie. Na przykład
rm –i
posiada alias
rm
. Efekt jest
taki, że polecenie
rm
używa opcji
–i
niezależnie od tego, czy wpiszesz ją w wierszu poleceń czy też nie; a
określa on, czy powłoka ma prosić o potwierdzenie wykonania polecenia
rm
(usunięcia plików). Zapobiega to
przypadkowemu usunięciu plików, które mogłoby się okazać fatalne w skutkach, zwłaszcza jeśli jesteś
zalogowany jako
root
i usunąłeś właśnie ważne pliki systemowe. Jeśli nie chcesz być pytany o potwierdzenie
usuwania plików, wydaj polecenie:
rm –f
pliki
gdzie pliki to nazwy plików do usunięcia. Opcja
–f
posiada odwrotne do opcji
–i
znaczenie: wymusza
usuwanie bez potwierdzania. Ponieważ polecenie posiada alias, tak naprawdę wygląda następująco:
rm –i –f
pliki
Opcja
–f
jest tutaj nadrzędna, tzn. tylko ona jest brana pod uwagę, gdyż występuje dalej w wierszu polecenia.
Jeśli chcesz usunąć alias, wydaj polecenie
unalias
:
unalias
alias
gdzie zmienna alias określa alias, który chcesz usunąć. Takie skróty poleceń są ważne tylko podczas trwania
bieżącej sesji, więc tak naprawdę nie musisz ich wcale usuwać. Jeżeli jednak chciałbyś zachować jakiś alias po
to, by móc go używać następnym razem, musisz skorzystać ze skryptów, które są opisane w następnym
podrozdziale.
Skrypty powłoki
Skrypt jest prostym plikiem zawierającym polecenia systemu. Przechowywanie poleceń w plikach ułatwia ich
ponowne uruchamianie. Jako przykład rozważ skrypt o nazwie
usuwacz
, który zawiera następujące wiersze:
echo –n Deleting the temporary files....
rm –f *.tmp
echo Done
Polecenie
echo
powoduje wyświetlenie dowolnego tekstu na ekranie konsoli. Opcja
–n
pierwszego polecenia
echo
pomija znak śladu nowego wiersza zapisywanego zazwyczaj przez to polecenie, tak że oba polecenia
echo
mogą wyświetlać swój tekst w osobnych wierszach. Drugi wiersz powoduje usunięcie z aktualnego
katalogu roboczego wszystkich plików tymczasowych zakończonych rozszerzeniem
.tmp
.
Możesz wykonać ten skrypt wydając polecenie:
sh usuwacz
Uwaga
Jeśli wydasz polecenie
sh
bez nazwy skryptu jako argumentu, zostanie uruchomiona nowa powłoka. Aby z
niej wyjść i powrócić do poprzedniej sesji, wpisz polecenie
exit
.
Jeśli plik
usuwacz
znajduje się w katalogu nie będącym na ścieżce $PATH, musisz podać bezwzględną nazwę
ścieżki, na przykład:
sh /home/jasio/usuwacz
Aby ułatwić wykonywanie skryptu, trzeba ustawić prawo wykonywania (
x
) dla użytkownika. Aby nadać
wszystkim użytkownikom takie prawo dostępu, wprowadź polecenie:
chmod a+x usuwacz
Teraz możesz wydać polecenie:
/home/jasio/usuwacz
Jeśli plik ten znajduje się w obecnym katalogu roboczym, możesz wpisać tylko:
./usuwacz
Zastanawiasz się zapewne, dlaczego nie możesz wydać takiego polecenia:
usuwacz
Wprawdzie jest to najprostsza forma uruchamiania poleceń, ale działa tylko w przypadku, gdy plik znajduje się
w katalogu wpisanym do ścieżki systemowej. O ścieżkach systemowych przeczytasz jeszcze w tym rozdziale.
System Linux zawiera kilka standardowych skryptów, które są uruchamiane o określonym czasie. Tabela 13.6
przedstawia skrypty i opisuje moment ich wykonywania. Możesz spowodować, aby działały inaczej. Na
przykład, jeśli chcesz ustanowić globalne aliasy, które będą uruchamiane niezależnie od tego, kiedy i gdzie
będziesz się logował, użyj dowolnego edytora tekstowego i wprowadź odpowiednie wiersze do pliku
.profile
,
który znajduje się w katalogu macierzystym. Przypomnij sobie, że, jeśli nazwy plików rozpoczynają się od
kropki, oznacza to, że polecenie
ls
nie wyświetli ich, dopóki nie podasz opcji
–a
.
Tabela 13.6. Standardowe skrypty Linuksa
Skrypt Funkcja
/etc/profile
Wykonywany w czasie logowania się użytkownika.
~/.profile
Wykonywany w czasie logowania się użytkownika.
~/.bashrc
Wykonywany podczas uruchamiania powłoki BASH.
~/.bash_logout
Wykonywany w czasie operacji wylogowania.
Uwaga
Jeśli chcesz zmodyfikować jeden ze standardowych skryptów Linuksa, który powinien znajdować się w
katalogu roboczym, ale niestety go nie ma, po prostu go tam utwórz. Następnym razem, gdy się zalogujesz,
wylogujesz lub uruchomisz powłokę BASH, zostanie on uruchomiony.
Przekierowanie i przekazywanie wejścia-wyjścia
Powłoka obsługuje trzy strumienie danych:
•
stdin
— standardowe wejście,
•
stdout
— standardowe wyjście,
•
stderr
— standardowy potok błędów.
Domyślnie, większość programów czyta dane wejściowe z
stdin
, a zapisuje wyjście do
stdout
. Ponieważ oba
strumienie są zwykle związane z konsolą, programy zachowują się dokładnie tak, jak im każesz; czytają dane
wejściowe z klawiatury i zapisują wyjście na ekranie konsoli. Kiedy program wyświetla komunikat o błędzie,
zapisuje go do strumienia
stderr
, który również jest związany domyślnie z konsolą. Oddzielny strumień dla
informacji wyjściowych i wiadomości o błędach ma bardzo ważne znaczenie, o czym się przekonasz.
Chociaż powłoka domyślnie wiąże trzy standardowe strumienie danych z konsolą, możesz przekierowywać
wejścia i wyjścia w taki sposób, że na przykład skierujesz wejście strumienia danych lub wyjście do pliku.
Tabela 13.7 podsumowuje najważniejsze tak zwane zwrotnice.
Tabela 13.7. Zwrotnice wejścia-wyjścia
Zwrotnica Funkcja
>
plik
Wysyła standardowe wyjście do określonego pliku.
2>
plik
Wysyła standardowy strumień błędów do określonego pliku.
>>
plik
Wysyła standardowe wyjście do określonego pliku, dodając wyjście do pliku, jeśli ten już istnieje.
2>>
plik
Wysyła standardowe strumień błędów do określonego pliku, dodając wyjście do pliku, jeśli ten
już istnieje.
&>
plik
Wysyła standardowe wyjście i strumień błędów do określonego pliku.
<
plik
Wysyła plik do standardowego wejścia programu.
<<
tekst
Czyta standardowe wejście aż znajdzie wiersz odpowiadający znakom tekst, przy którym
ogłaszany jest koniec pliku.
kmd1
|
kmd2
Bierze standardowe wejście kmd2 (np. polecenie 2) ze standardowego wyjścia kmd1
(pierwszego polecenia). Znak
|
jest również zwany przekierowaniem potoku lub po prostu
przekaźnikiem.
Na przykładzie polecenia
wc
sprawdzimy, jak działają
zwrotnice
(
pipes
). Polecenie przyjmuje jako argument
nazwę pliku (lub kilku) i wyświetla odpowiednio: całkowitą liczbę wierszy, słów i znaków obecnych w pliku.
Zobaczmy:
wc /etc/passwd
powinieneś otrzymać:
16 20 570 /etc/passwd
co oznacza, że plik
/etc/passwd
zawiera 16 wierszy, 20 słów i 570 znaków. Wyjście polecenia pojawia się na
konsoli. Ale biorąc pod uwagę to samo polecenie, które zawiera zwrotnicę:
wc /etc/passwd > total
na konsoli nie pojawiły się żadne informacje, ponieważ wszystkie dane zostały skierowane i zapisane w pliku
total
stworzonym przez polecenie (lub nadpisane, jeśli plik już istniał). Wydaj teraz dwa polecenia:
wc /etc/passwd > total
cat total
a zobaczysz wyjście polecenia
wc
na konsoli.
Być może rozumiesz już przyczynę, dlaczego warto mieć oddzielny strumień wyjścia
stdout
i
stderr
. Jeśli
powłoka posiada jeden strumień wyjścia, wiadomości o błędach oraz wyjście poleceń mogą się mieszać.
Dlatego, jeśli przekierujesz wyjście programu do pliku, każda informacja o błędzie zostanie też tam wysłana, co
spowoduje, że łatwo będzie przeoczyć błąd wykonywanego programu. Zamiast tego, mając dwa oddzielne
strumienie wyjścia, możesz przekierować tylko jedno z nich — np.
stdout
do pliku. Kiedy tak zrobisz,
informacje o błędach wysyłane do
stderr
pojawiają się na konsoli. Oczywiście, jeśli wolisz, możesz skierować
stdout
i
stderr
do tego samego pliku lub do dwóch różnych plików. Tak to już jest w systemie Unix, jak chcesz,
tak masz.
Prostą metodą uniknięcia drażliwych wiadomości jest skierowanie ich do pliku pustego
/dev/null
. Jeśli skierujesz
tam strumień
stderr
polecenia, nie zobaczysz żadnych informacji o jej błędach.
Tak jak można przekierować standardowe wyjście i strumień błędów polecenia do pliku, tak można również
skierować wejście polecenia do pliku, powodując, że polecenie będzie czytało np. argumenty z pliku, a nie z
konsoli. Weźmy polecenie
wc
bez żadnych argumentów; polecenie zacznie czytać dane ze standardowego
wejścia
stdin
. Wpiszmy więc kilka słów, a następnie naciśnijmy kombinację klawiszy
Ctrl+D
(jako znak
końca), a program
wc
wyświetli nam, ile wprowadziliśmy wierszy, słów i znaków. Możesz spowodować, żeby
wc
czytał z pliku zamiast z konsoli, wydając takie polecenie:
wc </etc/passwd
Oczywiście nie jest to typowe wywołanie polecenia
wc
, ponieważ standardowo czyta ono dane z pliku, który jest
podawany jako argument. Natomiast jeśli nie podasz żadnego argumentu dla tego polecenia, wtedy czyta ono z
standardowego wejścia.
Uwaga
Niektóre programy są tak napisane, że ignorują zwrotnice. Na przykład polecenie passwd oczekuje
wprowadzenia hasła tylko z konsoli (teoretycznie z klawiatury), a nie np. z pliku. Istnieją oczywiście sposoby,
aby zmusić taki program do czytania z pliku, ale aby tego dokonać trzeba poznać bardziej skomplikowane
techniki niż zwrotnice.
Wiele jest takich programów, które, jeśli im nie podasz argumentów, czytają ze standardowego wejścia
stdin
, a
zapisują do standardowego wyjścia
stdout
. Takie programy nazywamy filtrami. Mogą być one łączone ze sobą w
celu wykonywania powiązanych zadań. Narzędziem do łączenia filtrów jest właśnie poznany wcześniej potok,
który łączy wyjście jednego programu z wejściem drugiego. Dla przykładu rozważmy polecenie:
ls –l ~ | wc –l
Polecenie to składa się z dwóch poleceń, połączonych za pomocą potoku (
|
). Pierwsze polecenie wyświetla
wszystkie pliki z katalogu domowego aktualnego użytkownika, po jednym pliku w wierszu. Drugie polecenie
uruchamia program
wc
z opcją
–l
, która powoduje, że polecenie to wyświetla tylko liczbę wierszy i nie
przelicza słów i znaków. Potok wysyła wyjście polecenia
ls
do polecenia
wc
, które liczy i wyświetla liczbę
wierszy na wyjściu, co jest równe liczbę plików w danym katalogu.
Jest to bardzo prosty przykład doskonale oddający potęgę i wyrafinowanie powłoki Uniksa. Sam system nie
zawiera bowiem polecenia liczącego pliki w katalogu i nawet jej nie potrzebuje. Prawdopodobnie nigdy taki
program nie powstanie, ponieważ mało doświadczony użytkownik potrafi już napisać skrypt składający się z
poleceń systemu Unix.
Zmienne powłoki
Jeśli uczysz się programować, wiesz zatem, że programowanie przypomina algebrę. Język programowania i
algebra pozwalają bowiem odwołać się do wartości poprzez nazwę; posiadają również wyszukane mechanizmy
do manipulacji nazwanymi zmiennymi.
Powłoka jest językiem programowania posiadającym własne prawa. Pozwala odwoływać się do zmiennych
zwanych zmiennymi powłoki lub zmiennymi środowiskowymi. Aby przypisać wartość zmiennej powłoki, użyj
polecenia, które ma następującą składnię:
variable
=
value
Na przykład:
DifficultyLevel=1
przypisuje wartość równą 1 do zmiennej środowiskowej zwanej
DifficultyLevel
. W przeciwieństwie do
zmiennych algebraicznych, zmienne powłoki mogą posiadać wartości nienumeryczne. Na przykład:
Difficulty=medium
Zmienne środowiskowe są często używane w systemie Unix, ponieważ umożliwiają w prosty sposób
przeniesienie wartości z jednego polecenia do drugiego. Programy mogą otrzymywać wartości zmiennych i
używać ich do modyfikacji własnych operacji; w podobny sposób korzystają z podawanych przez użytkownika
argumentów.
Aby obejrzeć listę zmiennych środowiskowych, użyj polecenia
set
. Ponieważ może się zdarzyć, że będzie ich
dużo, możesz użyć potoku i polecenia
more
do oglądania wyjścia polecenia
set
ekran po ekranie:
set | more
Wciśnij
Spację
, aby zobaczyć następną stronę lub
Enter
, aby obejrzeć następny wiersz. Wśród tych zmiennych,
które zostaną wyświetlone na ekranie znajdziesz pewnie też te, które są przedstawione w tabeli 13.8. Wartości
tych zmiennych są generalnie ustawiane przez standardowe skrypty startowe powłoki, o których była wcześniej
już mowa.
Tabela 13.8. Ważne zmienne środowiskowe
Zmienna Funkcja
DISPLAY Używany serwer X, na przykład: localhost:0.
HOME
Ścieżka bezwzględna katalogu domowego użytkownika.
HOSTNAME
Internetowa nazwa komputera.
LOGNAME
Nazwa logowania użytkownika.
Ścieżka bezwzględna katalogu poczty użytkownika.
PATH
Ścieżka przeszukiwań (zobacz w następnej sekcji).
SHELL
Ścieżka absolutna aktualnie używanej powłoki.
TERM Rodzaj
terminalu.
USER Aktualna
nazwa
użytkownika, może się różnić od nazwy logowania, jeśli użytkownik
wydał polecenie
su
.
Wartość zmiennej środowiskowej możesz wstawić do polecenia, poprzedzając ją znakiem dolara (
$
). Aby nie
zmieszała się ona z otaczającym tekstem (argumentami, opcjami itp.), zamknij ją w nawiasach klamrowych
(
{}
). Jest to dobry zwyczaj, aczkolwiek nie wymagany. Na przykład zmieńmy aktualny katalog roboczy na
katalog domowy za pomocą zmiennej
HOME
:
cd ${HOME}
Oczywiście wydanie polecenia
cd
bez żadnych argumentów da nam ten sam efekt. Jednakże załóżmy, że
chciałbyś zmienić aktualny katalog roboczy na podkatalog
/praca
znajdujący się w katalogu domowym.
Poniższe polecenie, pokazuje jak tego dokonać:
cd ${HOME}/praca
Najłatwiejszym sposobem na wyświetlenie wartości zmiennej środowiskowej jest podanie zmiennej jako
argumentu polecenia
echo
. Na przykład sprawdźmy, jaka jest wartość zmiennej
HOME
:
echo ${HOME}
Aby wartość zmiennej środowiskowej była dostępna nie tylko dla powłoki, ale także dla programów
wywoływanych poprzez powłokę, należy tę wartość wyeksportować. Aby tego dokonać, użyj polecenia
export
:
export
zmienna
gdzie zmienna oznacza nazwę zmiennej, którą chcesz eksportować. Podczas eksportowania zmiennej możesz
również nadać jej nową wartość:
export
zmienna
=
wartość
Wartość zmiennej możesz usunąć, podając zmiennej pustą wartość (wartość zerową)
zmienna
=
Jednakże zmienna środowiskowa mająca nawet wartość zerową nadal pozostaje zmienną powłoki i pojawia się
na wyjściu polecenia
set
. Aby ją stamtąd usunąć, wydaj polecenie:
unset
zmienna
Teraz jej nie zobaczysz po wykonaniu polecenia
set
.
Ścieżki przeszukiwań
Specjalna zmienna powłoki
PATH
zawiera informacje na temat ścieżek zwanych ścieżkami przeszukiwań.
Gdziekolwiek nie wydasz polecenia zewnętrznego, powłoka sprawdza tę zmienną, czy aby nie zawiera ścieżki
umożliwiającej uruchomienie żądanego programu. Skrypty startowe ustanawiają początkową wartość zmiennej
środowiskowej
PATH
, którą następnie można dowolnie modyfikować. Do oddzielenia ścieżek użyj dwukropka
(
:
).
Na przykład załóżmy, że zmienna
PATH
przyjmuje następującą wartość:
/usr/bin:/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin
Możesz zmodyfikować zmienną
PATH
, dodając nowy katalog przeszukiwań np.
/home/magda
w następujący
sposób:
PATH=${PATH}:/home/magda
Powłoka będzie szukała programów zewnętrznych także w katalogu
/home/magda
. Jednakże będzie to ostatni
katalog, do którego zajrzy. Jeśli chciałbyś, aby powłoka najpierw sprawdzała katalog
/home/magda
, wydaj
polecenie:
PATH=/home/magda:${PATH}
Programem pomocnym przy manipulowaniu zmienną
PATH
jest
which
. Sprawdza on ścieżkę dla określonego
pliku (który jest argumentem tego polecenia) i wyświetla nazwę pasującej ścieżki, jeśli taka istnieje. Na przykład
poszukajmy, gdzie znajduje się plik programu
wc
:
which wc
Na ekranie pojawić się powinna się ścieżka
/usr/bin/wc
lub inna zależna od wersji dystrybucji systemu Linux.
Łańcuchy notacji
Czasami powłoka może źle zinterpretować wydane polecenie, odwołując się do zmiennej, której wcale nie
zamierzałeś przywoływać, czy źle rozwijając nazwę pliku. Oczywiście nie jest to wina powłoki, tylko
prawdopodobnie błędnego wpisu. Dlatego tylko od ciebie zależy, czy powłoka będzie prawidłowo reagować na
polecenia.
Znaki notacji przedstawione w tabel 13.9 pomagają kontrolować działanie powłoki. Na przykład, jeśli zamkniesz
argument danego polecenia w pojedynczy cudzysłów, możesz zapobiec wykonywaniu na nim operacji
uogólnienia nazwy lub zamiany go na wartość zmiennej środowiskowej.
Tabela 13.9. Znaki notacji pomocne przy kontroli działań powłoki
Znak
Funkcja
'
Znaki objęte parą pojedynczych cudzysłowów są interpretowane literalnie — to znaczy ich znaczenie
metaznakowe (jeśli istnieje) jest ignorowane. Podobnie — powłoka nie zamienia odnośników do
zmiennych środowiskowych na ich wartości.
"
Znaki objęte zwykłym cudzysłowem są również interpretowane literalnie, to znaczy, że ich znaczenie
metaznakowe (jeśli posiadają takowe) jest ignorowane. Jeśli chodzi o wartości zmiennych
środowiskowych, to są one wstawiane w miejsce ich wywołań.
`
Tekst objęty parą przeciwnych cudzysłowów jest interpretowany jak polecenie, które powłoka
wykonuje zanim przetworzy resztę wiersza polecenia. Wyjście polecenia zamienia oryginalny tekst
objęty tym cudzysłowem.
\
Znak ten jest interpretowany literalnie — to znaczy, że jego metaznaczenie jest ignorowane. Znak tzw.
backslash (odwrotny slash) oznacza kontynuację poprzedniego wiersza. Kiedy wiersz polecenia
kończy się tym znakiem, obecny wiersz i następny są uważane za całość (jeden wiersz).
Sprawdźmy, jak to się wszystko odbywa w praktyce. Jako przykład wykorzystamy polecenie
echo
do
wyświetlenia napisu
$PATH
. Jeśli wydasz polecenie:
echo $PATH
program
echo
wyświetli wszystkie wartość zmiennej
PATH
. Jednakże zamykając argument polecenia
echo
w
pojedynczy cudzysłów, otrzymasz żądany rezultat:
echo '$PATH'
Cudzysłów przeciwny działa nieco inaczej, pozwala on wykonać polecenie i wykorzystać jego wyjście innemu
poleceniu. Na przykład polecenie:
echo Mój katalog domowy zawiera 'ls ~ | wc –l' plików
wyświetla wiadomość, która podaje liczbę plików znajdujących się w katalogu domowym aktualnie
zalogowanego użytkownika. Polecenie to działa następująco — najpierw wykonywane jest polecenie:
ls ~ | wc –l
a ponieważ polecenie to jest zawarte w przeciwnym cudzysłowu, jego wynik nie jest wyświetlany na ekranie, ale
zastępuje oryginalny tekst objęty cudzysłowem.
następnie jest wykonywane polecenie:
echo Mój katalog domowy zawiera 48 plików
po zakończeniu wyjście polecenia przyjmuje postać:
Mój katalog domowy zawiera 48 plików.
Potęga powłoki Linuksa
Mam nadzieję, że zaczynasz powoli doceniać siłę powłoki systemu Linux; dołączając aliasy poleceń do pliku
.
bashrc
możesz rozszerzyć zakres poleceń powłoki. Przy użyciu dopełniania nazw plików i listy historii możesz
zredukować ilość niepotrzebnych znaków wprowadzanych z klawiatury do minimum. Kiedy już dowiesz się, jak
poprawnie używać wszystkich tych właściwości, okaże się, że powłoka jest silnym, szybkim i bardzo łatwym w
użyciu interfejsem użytkownika, który nie jest tak monotonny i ograniczony jak interfejs graficzny oparty na
klikaniu.
Co więcej, powłoka posiada dodatkowe funkcje, które jeszcze bardziej rozszerzają obszar jej zastosowań. Jak
zobaczysz w następnym podrozdziale, powłoka systemu Linux zawiera wydajny język programowania, który
umożliwia przetwarzanie argumentów, tworzenie pętli i stawiania warunków logicznych.
Poznawanie skryptów powłoki
Podrozdział wyjaśnia, jak działają bardziej zaawansowane skrypty powłoki. Informacje są przedstawione po to,
abyś szybko i wydajnie mógł pisać własne skrypty. Rozpoczynamy od przetwarzania argumentów skryptów, a
następnie przejdziemy do operacji warunkowych i logicznych.
Przetwarzanie argumentów
Z łatwością można napisać program, który będzie przetwarzał argumenty, ponieważ istnieje zestaw specjalnych
zmiennych powłoki, który zawiera wartości dla argumentów określanych podczas inicjalizacji skryptu. Tabela
13.10 przedstawia te zmienne.
Oto prosty program, który wyświetla wartość swojego drugiego argumentu:
echo Mój drugi argument ma wartość $2
Załóżmy, że zapiszesz ten skrypt do pliku o nazwie
drugi
; zmień tryb dostępu tak, aby mógł być wykonywany
i wydaj polecenie:
./drugi a b c
Na wyjściu pojawi się wynik tej operacji:
Mój drugi argument ma wartość b
Tabela 13.10. Specjalne zmienne powłoki
Zmienna Znaczenie
$#
Liczba argumentów
$0
Nazwa polecenia
$1, $2,...,$9
Indywidualne argumenty polecenia
$*
Cała lista argumentów, traktowana jako pojedyncze słowo
$@
Cała lista argumentów, traktowana jako seria słów
$?
Status wyjścia poprzedniego polecenia. Wartość 0 oznacza pomyślne zakończenie
(wyjście)
$$
Id (identyfikator) aktywnego procesu
Zwróć uwagę na fakt, że powłoka pozwala odwołać się bezpośrednio tylko do dziewięciu argumentów. Niemniej
jednak istnieje możliwość przywołania większej liczby argumentów. Służy do tego polecenie
shift
, które
odrzuca wartość pierwszego argumentu i przesuwa pozostałe wartości o jedną pozycję w dół (lub do góry). Tym
sposobem po wykonaniu polecenia
shift
zmienna powłoki
$9
zawiera wartość dziesiątego argumentu. Aby
przywołać jedenasty lub każdy następny argument, należy wykonać polecenie
shift
odpowiednią ilość razy.
Kody wyjścia
Zmienna powłoki
$?
utrzymuje numeryczny status wyjścia dla każdego ostatnio wykonanego polecenia. Zasada
jest taka, że wartość zerowa tej zmiennej oznacza pomyślne zakończenie programu, tymczasem każda inna
wartość oznacza nieprawidłowe wykonanie polecenia.
Kod błędu możesz ustawić w skrypcie, za pomocą polecenia
exit
, które kończy pracę skryptu podając
określony status wyjścia. Składnia
exit
jest następująca:
exit
status
gdzie status jest nieujemną liczbą całkowitą, która określa status wyjścia.
Logika warunkowa
Skrypty powłoki mogą używać logiki warunkowej, która pozwala im podejmować różne działania w zależności
od wartości argumentów, zmiennych środowiskowych lub ich warunków. Na przykład polecenie
test
pozwala
określić warunek, który może być albo prawdziwy, albo fałszywy. Wszystkie polecenia warunkowe (włączając
if
,
case
,
while
oraz
until
) używają polecenia
test
do szacowania warunków.
Polecenie test
Tabela 13.11 przedstawia opis niektórych powszechnie stosowanych form argumentów używanych do polecenia
test
. Polecenie sprawdza argumenty i ustawia kod wyjściowy na zero, co oznacza, że dany warunek był
prawdziwy lub podaje wartość większą od zera, która mówi, że warunek był nieprawdziwy.
Tabela 13.11. Powszechnie używane formy argumentów polecenia test
Forma Funkcja
-d
plik
Określony plik istnieje i jest katalogiem
-e
plik
Określony plik istnieje
-r
plik
Określony plik istnieje i jest do odczytu
-s
plik
Określony plik istnieje i ma niezerowy rozmiar
-w
plik
Określony plik istnieje i jest do zapisu
-x
plik
Określony plik istnieje i jest wykonywalny
-L
plik
Określony plik istnieje i jest dowiązaniem symbolicznym
f1
-nt
f2
Plik f1 jest nowszy niż plik f2
f1
-ot
f2
Plik f1 jest starszy niż plik f2
-n
s1
Łańcuch s1 ma niezerową długość
-z
s1
Łańcuch s1 ma zerową długość
s1
=
s2
Łańcuch s1 jest taki sam jak s2
s1
=!
s2
Łańcuch s1 nie jest taki sam jak s2
n1
-eq
n2
Liczba całkowita n1 jest równa liczbie n2
n1
-ge
n2
Liczba całkowita n1 jest większa bądź równa liczbie n2
n1
-gt
n2
Liczba całkowita n1 jest większa niż liczba n2
n1
-le
n2
Liczba całkowita n1 jest mniejsza bądź równa liczbie całkowitej n2
n1
-lt
n2
Liczba całkowita n1 jest mniejsza niz liczba n2
n1
-ne
n2
Liczba n1 nie jest równa liczbie n2
!
Operator przeczenia (
not
— nie), który odwraca wartość danego warunku
-a
Operator łączności (
and
— i), który łączy dwa warunki. Oba warunki muszą być
prawdziwe, aby całkowity rezultat dał prawdziwy wynik
-o
Operator alternatywy, który łączy dwa warunki. Jeśli jeden z dwóch warunków jest
prawdziwy, wynik jest rownież prawdziwy
\( ... \)
Wyrażenia w poleceniu test można grupować zamykając je w
\(
i
\)
Dla przykładu rozważmy taki skrypt:
test –d $1
echo $?
Skrypt ten sprawdza, czy pierwszy argument określa katalog i wyświetla status wyjścia, wartość zero lub inną w
zależności od wyniku testu.
Załóżmy, że powyższe polecenia są przechowywane w pliku
tester
, który posiada atrybut do odczytu oraz do
wykonania. Wykonanie tego skryptu może dawać następujące wyniki:
$ ./tester /
0
$ ./tester /missing
1
Oznaczają one odpowiednio:
0
— katalog
/
istnieje, a wartość
1
— katalog
/missing
nie istnieje.
Polecenie if
Samo polecenie test nie jest zbyt przydatne, chyba że zostanie użyte w połączeniu z innymi instrukcjami
warunkowymi — na przykład z poleceniem
if
. Składnia polecenia
if
jest następująca:
if
polecenie
then
polecenia
else
plecenia
fi
Zazwyczaj poleceniem, które występuje bezpośrednio po poleceniu
if
jest
test
. Jednakże, nie jest to
warunkiem koniecznym. Polecenie
if
jedynie wykonuje określoną warunki i sprawdza status wyjścia. Jeśli jest
on równy 0, wykonywany jest pierwszy zestaw poleceń, jeśli nie wykonywany jest drugi zestaw. Skrócona
forma polecenia
if
nie robi nic, jeśli określony warunek jest nieprawdziwy.
if
polecenie
then
polecenie
fi
Kiedy wpisujesz polecenie
if
, zajmuje ono kilka wierszy, a jednak jest uważane za pojedyncze polecenie. Do
wprowadzania takich poleceń, powłoka dostarcza specjalnego znaku zachęty (zwanego czasami drugim znakiem
zachęty) po wprowadzeniu każdego wiersza. Często skrypty są tworzone za pomocą edytorów tekstowych,
wtedy nie są widoczne dodatkowe znaki zachęty powłoki.
Dla przykładu spróbujmy usunąć
plik1
, jeśli jest on starszy niż
plik2
. Poniższe plecenie powinno poprawnie
rozwiązywać to zadanie:
if test plik1 –ot plik2
then
rm plik1
fi
Polecenie możesz dołączyć do skryptu, który akceptuje argumenty określające nazwy plików:
if test $1 –ot $2
then
rm $1
echo Usunięto stary plik
fi
Możesz zapisać polecenie do pliku o dowolnej nazwie np.
usuwacz
i wykonać go:
./usuwacz plik1 plik2
A skrypt usunie
plik1
, jeśli jest on starszy od
pliku2
.
Polecenie case
Polecenie
case
dostarcza bardziej wyrafinowanej metody przetwarzania warunkowego:
case
in
wartość
wzorzec1
)
polecenia
;;
wzorzec2
)
polecenia
;;
...
esac
Polecenie przestępuje do przystępuje do wyszukiwania określonych wartości odpowiadających podanym
wzorom (wzorzec1, wzorzec2). Jeśli istnieje odpowiednik pierwszego wzoru, polecenie związane z nim zostanie
wykonane. Wzory budowane są przy użyciu znaków i metaznaków, takich jak te używane do określania
argumentów poleceń. Przyjrzyjmy się poleceniu
case
, którego zadaniem jest zinterpretowanie wartości
pierwszego argumentu skryptu:
case $1 in
-r) echo
Wymuś usuwanie bez potwierdzania
;;
-i) echo
Potwierdź przed usunięciem
;;
*) echo
Nieznany argument
;; esac
Polecenie wyświetla wiadomość zależnie od wartości pierwszego argumentu skryptu. Dobrym ćwiczeniem jest
dołączenie do tego przykładu końcowego wzoru, który odpowiadałby każdej wartości argumentu skryptu.
Polecenie while
Pozwala ono na wykonywanie serii poleceń iteracyjnie, to znaczy wielokrotnie, dopóki sprawdzane warunki
będą prawdziwe:
while
polecenie
do
polecenia
done
Oto skrypt, który używa polecenia
while
do wyświetlania własnych argumentów w kolejnych wierszach:
echo $1
while shift 2>/dev/null
do
echo $1
done
Część polecenia
while
obejmująca pętlę do może także zawierać polecenia
if
,
case
— a nawet kolejne
polecenie
while
. Jednakże w tym ostatnim przypadku, skrypt taki robi się szybko nieczytelny. Powinieneś
stosować polecenia warunkowe razem tylko dla osiągnięcia jasnych wyników. Możesz dołączać komentarze
wszędzie tam, gdzie wstawiasz zawikłane konstrukcje warunkowe.
Polecenie until
Polecenie działa na niemalże identycznej zasadzie jak
while
, z jednym tylko wyjątkiem — pozwala
mianowicie wykonywać serie poleceń iteracyjnie, dopóki sprawdzane warunki są fałszywe.
until
polecenie
do
polecenia
done
Spójrz na skrypt, który używa polecenia
until
do wyświetlania własnych argumentów w kolejnych wierszach,
aż nie pojawi się argument o wartości czarny:
until test $1 = "czarny"
do
echo $1
shift
done
Jeśli zapiszemy ten skrypt do pliku o nazwie
kolorki
w katalogu roboczym, to polecenie:
./kolorki zielony niebieski żółty czarny czerwony
wyświetli nam taki oto wynik:
zielony
niebieski
żółty
Polecenie for
Polecenie iteruje (powtarza, zapętla) elementy określonej listy:
for
zmienna
in
lista
do
polecenia
done
Za pomocą poleceń możesz odwołać się do aktualnego elementu listy poprzez zmienną powłoki
$
zmienna.
Lista zazwyczaj przyjmuje formę serii argumentów, które mogą zawierać metaznaki. Rozważmy na przykład
taką instrukcję:
for i in 2 4 6 8
do
echo $i
done
Wyświetla ona wartości
2 4 6 8
w kolejnych wierszach.
Specjalna forma tego polecenia iteruje argumenty dowolnego skryptu:
for
zmienna
do
polecenia
done
Na przykład następny skrypt wyświetla własne argumenty w kolejnych wierszach:
for i
do
echo $i
done
Polecenia break oraz continue
Są to proste polecenia i nie przyjmują żadnych argumentów. Kiedy powłoka dostrzeże polecenie
break
,
natychmiast wychodzi z pętli (
while
,
until
,
for
). Kiedy natomiast powłoka napotka polecenie
continue
,
natychmiast przerywa aktualną iterację pętli. Jeśli warunki pętli na to pozwalają, wykonane mogą zostać inne
powtórzenia pętli; w przeciwnym razie następuje wyjście z pętli.
Peryskop: użyteczny skrypt sieciowy
Załóżmy, że posiadasz darmowe konto e-mail, na przykład w Yahoo. Jesteś akurat w podróży i posiadasz
jedynie zdalny dostęp do sieci Internet. Jednakże nie jesteś w stanie wykonywać żadnych operacji na plikach
znajdujących się na komputerze domowym, ani też odebrać poczty, która tam przyszła. To typowe okoliczności,
zwłaszcza jeśli jesteś w podróży (wymaga tego na przykład twoja praca).
Jeśli posiadasz w domu komputer działający pod kontrolą systemu Microsoft Windows, no to nie masz za dużo
szczęścia. Jeśli nie zakupisz odpowiedniego oprogramowania, bardzo ciężko ci będzie uzyskać dostęp do
znajdujących się tam plików i poczty. Jednakże jeśli to Linux jest systemem operacyjnym tego komputera, to nie
będzie żadnych problemów.
W celu przedstawienia możliwości powłoki w podrozdziale tym opisano bardziej złożony skrypt zwany
peryskopem
. Jest to program, który w określonym czasie każdego dnia ustanawia połączenie z Internetem. Takie
połączenie za pomocą sesji PPP może być utrzymywane przez godzinę lub więcej, zależy, ile czasu potrzebujesz
na połączenie się z Internetem z miejsca, w którym się znajdujesz, i wykonanie wszystkich żądanych operacji.
Kiedy już się połączysz, możesz pobrać pocztę lub przejrzeć ją zdalnie i wykonać inne zadania. Po upływie
ustalonego czasu, program peryskop przerywa połączenie PPP, które zostanie nawiązane ponownie następnego
dnia o tej samej porze.
Przykład 13.1 przedstawia zawartość pliku peryskop, który, jak widzisz, jest zdecydowanie dłuższy i bardziej
złożony niż jakikolwiek skrypt opisywany w tym rozdziale. W związku z tym wyjaśnimy działanie skryptu
wiersz po wierszu. Jak zobaczysz, skrypt ten ma bardzo prostą i przejrzystą budowę.
Przykład 13.1. Peryskop
PATH=${PATH}:/usr/local/bin
route del default
wvdial &
sleep 1m
ifconfig | mail
userid@mail.com
sleep 1h
killall wdial
sleep 2s
killall –9 wvdial
killall pppd
sleep 2s
killall –9 pppd
echo "/root/peryskop" | at 10:00
Pierwszy wiersz określa ścieżkę poszukiwań dla skryptu, która ustawia katalog
/usr/local/bin
zawierający
polecenie zewnętrzne powłoki
wvdial
. Niektóre skrypty startowe systemu Linux mogą nie zawierać tej ścieżki,
więc bezpośrednie umieszczenie jej w tym programie zapobiegnie powstawaniu błędów na samym jego starcie.
PATH=${PATH}:/usr/local/bin
Następny wiersz jest prawdopodobnie najbardziej skomplikowany:
route del default
Polecenie
route
jest zazwyczaj stosowane przez administratora systemu. Prawdopodobnie nie używałeś nigdy
tego polecenia, ponieważ program konfigurujący sieć robił to za ciebie. Efektem tego polecenie jest usunięcie
domyślnej trasy sieciowej, jeśli taka istnieje. Domyślna trasa jest to taka droga wysyłanych pakietów TCP/IP,
która nie zawiera informacji o trasie do określonych miejsc przeznaczenia tych pakietów. Należy ją usunąć z
tego względu, że program
wvdial
, którego skrypt używa do nawiązania sesji PPP, jej nie zmieni, ani też nie
usunie.
wvdial &
Powyższy wiersz uruchamia program
wvdial
w tle (co określa znak
&
), tak że skrypt może dalej działać (tzn.
wykonywać inne działania). Następny wiersz zatrzymuje działanie skryptu na jedną minutę po to, aby
wvdial
nawiązał połączenie PPP.
sleep 1m
Kolejny wiersz uruchamia polecenie
ifconfig
i wysyła wiadomość e-mail do określonego użytkownika
zawierającą wyjście tego programu (należy przy tym zastąpić userid@mail.com własnym adresem e-mail).
ifconfig |
userid@mail.com
Polecenie
ifconfig
produkuje wyjście, które wygląda mniej więcej tak:
ppp0 Link encap:Point-Point Protocol
inet addr: 10.144.153.105 P-t-P: 10.144.153.52 Mask: 255.255.255.0
UP POINTOPOINT RUNNING MTU: 552 METRIC: 1
RX packets: 0 errors: 0 dropped: 0 overruns: 0
TX packets: 0 errors: 0 dropped: 0 overruns: 0
Zobaczysz pewnie inne sekcje opisujące interfejs Ethernet (
eth0
) oraz urządzenie zwrotne
lo
. Zmienna
inet
addr
o wartości 10.144.153.105 oznacza adres IP twojego komputera. Wysyłając e-mail zawierający wyjście
polecenia
ifconfig
otrzymujesz informacje o adresie IP komputera domowego, który jest zmieniany za
każdym razem, kiedy łączysz się z Internetem przy użyciu usługi PPP.
Kolejny wiersz powoduje zatrzymanie działanie skryptu na jedną godzinę.
sleep 1h
Oczywiście nie musi to być jedna godzina, możesz ustawić dowolny czas.
Kiedy już zostanie przekroczony czas pauzy programu, zaczyna on zamykać wszystkie uruchomione zadania
programu
wvdial
:
killall wvdial
Uwaga
Dodatek E „Krótki podręcznik poleceń Linuksa” dokładnie opisuje polecenie killall i inne nieznane polecenia
zawarte w tym skrypcie.
Następnie skrypt zatrzymuje się na dwie sekundy po to, aby program
wvdial
zakończył poprawnie wszystkie
operacje.
sleep 2s
W niektórych przypadkach, program może zignorować żądanie przerwania działania. Poniższy wiersz zapewnia
jednak natychmiastowe zamknięcie programu
wvdial
, wysyłając specjalny sygnał, który kończy aktywny
proces bezwarunkowo.
killall –9 wvdial
Wiadomo, że w tle program
wvdial
uruchamia także program
pppd
, który nawiązuje i zarządza połączeniem
PPP. Kolejne polecenie
killall
zostaje wydana w celu przerwania połączenia i zamknięcia programu
pppd
,
jeśli program
wvdial
tego nie zrobił:
killall pppd
Na końcu, skrypt korzysta z polecenia
at
, aby wyznaczyć następną datę swojego uruchomienia (domyślnie jest
jutro):
echo "/root/peryskop" | at 10:00
Polecenie
at
odczytuje ze standardowego wejścia polecenie
echo
(a dokładnie jej wyjście:
/root/peryskop
) i
wykonuje je w określonym czasie (10:00).
Aby wypróbować skrypt, musisz zainstalować program
wvdial
; jego instalację i konfigurację przedstawiono w
rozdziale 11. „Podłączanie do sieci Internet”. Umieść skrypt w katalogu
/root
pod nazwą
peryskop
. Jeśli chcesz
wprowadzić jakieś zmiany (np. czasu rozpoczęcia lub trwania połączenia), otwórz skrypt w dowolnym edytorze
i dokonaj odpowiednich poprawek. Aby uruchomić program, zaloguj się na użytkownika
root
i wydaj polecenie:
(echo "/root/peryskop" | at 10:00) &
Kiedy wybije godzina 10:00 (lub ta którą ustawiłeś), system Linux powinien rozpocząć nawiązywanie
połączenia z ISP i utrzymywać je przez określony czas.
Używanie peryskopu
Kiedy nadejdzie określony czas, uruchom komputer i połącz się ze swoim kontem poczty. Powinieneś znaleźć
wiadomość zawierającą wyjście programu
ifconfig
wraz z adresem IP komputera domowego. Teraz możesz
użyć programu
telnet
lub
ssh
— wybór zależy od tego, który serwer masz uruchomiony na komputerze
domowym — aby połączyć się ze swoim komputerem i pracować przez wyznaczony czas. Pod koniec
wyznaczonego czasu system Linux rozpocznie rozłączanie i ustali datę i czas kolejnego połączenia.
Co dalej?
Jak łatwo zauważyć,
peryskop
nie jest bardzo skomplikowanym skryptem przez co nie odzwierciedla pełnych
możliwości systemu Linux. Na przykład załóżmy, że chciałbyś ustanowić połączenie o różnych porach dnia lub
różnych dniach tygodnia albo chciałbyś ustalić pewien harmonogram połączeń za każdym razem, kiedy się
logujesz.
Linux jest w stanie sprostać takim wymaganiom na różne sposoby. Na przykład program
cron
, który jest trochę
bardziej zaawansowany niż
at
, umożliwia bardzo elastyczne określanie czasu uruchomienia programów.
Pozwala on między innymi ustanowić połączenie o określonej porze w każdy trzeci piątek miesiąca.
Więcej na temat Linuksa dowiesz się po przeczytaniu dodatku E „Krótki podręcznik poleceń Linuksa”, w
którym opisano wiele pożytecznych poleceń systemu Linux, które możesz użyć w skryptach. Najlepszą metodą
poznania tych poleceń jest dokładne przeczytanie tego rozdziału. Należy także przynajmniej zajrzeć do ich stron
podręczników, na pewno znajdziesz tam wiele interesujących informacji.
Jeśli złapałeś linuksowego bakcyla, co zdarzyło się wielu użytkownikom komputerów, polecam ci inne książki o
tym systemie:
• „Debian Linux. Księga Eksperta” wydana przez Wydawnictwo Helion, 2001.
• „Linux. Praktyczne rozwiązania” wydana przez Wydawnictwo Helion, 2000.
• „Linux dla stacji roboczych” wydana przez Wydawnictwo Helion, 1999.
• „Linux” wydana przez Wydawnictwo Helion, 1998.
Mnóstwo informacji na temat Linuksa znajdziesz na stronach WWW opisanych w rozdziale 1. „Dlaczego
Linux?” oraz w czasopismach Linux Journal i Linux Magazine.
Jednakże, nie czytaj tylko o Linuksie, pracuj z nim. Pisz, testuj i debuguj własne skrypty. Dziel się napisanymi
skryptami z innymi użytkownikami tego systemu oraz studiuj skrypty innych. Ponadto czytaj wiadomości grup
dyskusyjnych i komunikuj się z innymi ludźmi; dziel się tym, czego się dowiedziałeś i pytaj o to, co chcesz
wiedzieć. Takie postępowanie stało się fundamentem kultury ludzi związanych z systemem Linux, o czym
zapewne przekonasz się już sam.
Dodatek A
Drzewo katalogów Linuksa
Rysunek A.1. Drzewo katalogów Debian GNU/Linux
Rysunek A.1 przedstawia typową strukturę drzewa katalogów systemu Linux. Pokazane są tylko główne
katalogi systemu.
Dodatek B
Główne pliki systemowe
Tabela B.1 opisuje główne pliki systemu Linux. Możesz jej używać, aby na przykład szybciej
zlokalizować pliki konfiguracyjne systemu.
Tabela B.1. Główne pliki systemowe
Plik Opis
/boot/vmlinuz*
Jądro systemu
/etc/smb.conf
Plik konfiguracyjny demona smb (Samba)
/etc/smbpasswd
Informacje o kontach dla użytkowników Samby
/etc/apache/access.conf
Plik konfiguracyjny serwera WWW
/etc/apache.srm.conf
Plik konfiguracyjny serwera WWW
/etc/conf.modules
Aliasy i opcje dla modułów ładowanych dynamicznie do jądra
systemu
/etc/fstab
Zamontowane lub dostępne do zamontowania systemy plików
/etc/group
Informacje o grupach
/etc/hosts
Przypisuje numery IP komputerom
/etc/hosts.allow
Komputery mogące korzystać z usług sieci Internet
/etc/hosts.deny
Komputery, które mają zablokowany dostęp do usług sieci Internet
/etc/inetd.conf
Plik konfiguracyjny demona
inetd
, który kontroluje dostęp do usług
internetowych
/etc/inittab
Plik konfiguracyjny demona
init
, który kontroluje wykonywanie
procesów
/etc/issue
Plik zawierający informacje o wersji i dystrybucji jądra systemu
Linux
/etc/lilo.conf
Plik konfiguracyjny
lilo
(Linux Loader)
/etc/login.defs
Opcje dla polecenia
useradd
i z nim powiązanych
/etc/minicom.users
Użytkownicy, którzy mogą korzystać z programu minicom
/etc/mtab
Zamontowane systemy plików
/etc/passwd
Informacje o kontach użytkowników
/etc/printcap
Opcje i właściwości drukarki
/etc/profile
Domyślne środowisko dla użytkowników powłoki BASH
/etc/rc*.d
Skrypty startowe i zamknięcia systemu
/etc/rc.boot
Skrypty uruchomieniowe systemu
/etc/shadow
Zaszyfrowane hasła użytkowników systemu
/etc/skel/*
Pliki kopiowane do katalogu użytkownika w czasie zakładania konta
/etc/terminfo
Właściwości i opcje terminali
/etc/X11/XF86Config
Plik konfiguracyjny środowiska X
/var/log/apache/access.log
Plik dziennika dostępu do serwera WWW
/val/log/apache/error.log
Plik dziennika błędów serwera WWW
/var/log/messages
Plik zawierający informacje o stanie i błędach systemu
/var/spool/cron
Katalog dla plików konfiguracyjnych programów
at
i
cron
Dodatek C
Narzędzia do zarządzania
pakietami Debiana
Dodatek ten przedstawia narzędzia do zarządzania pakietami Debiana. Załóżmy na przykład, że po
zainstalowaniu systemu Linux zauważyłeś brak kilku aplikacji, o których po prostu zapomniałeś; możesz
odnaleźć odpowiednie pakiety i przy użyciu niżej opisywanych narzędzi szybko je doinstalować. Tak samo, jeśli
pojawi się nowsza wersja programu, użyj narzędzi do obsługi pakietów, które pomogą ci zaktualizować pakiety
szybko i „bezboleśnie”, chroniąc jednocześnie pliki konfiguracyjne danej aplikacji. Kolejnym zadaniem narzędzi
do zarządzania pakietami jest zbieranie informacji o stanie systemu, co pozwala na określenie, czy zostały
usunięte z systemu jakiekolwiek ważne pliki.
Pakiety
Pakiet Debiana (lub po prostu
pakiet
albo
deb
) jest plikiem zawierającym komponenty niezbędne do instalacji
aplikacji lub części oprogramowania (np. biblioteki). Pakiety są generalnie pokazywane według reguły, która
pozwala określić nazwę pakietu, wersje programu oraz numer wydania pakietu. Rysunek C.1 przedstawia, jak są
zorganizowane poszczególne komponenty nazwy pakietu.
Rysunek C.1. Struktura nazewnictwa pakietów systemu Debian GNU/Linux
Ważną cechą każdego pakietu jest to, że zawierają one metainformacje, tzn. informacje na temat zawartości
danego pakietu. Na przykład każdy pakiet zawiera listę innych pakietów potrzebnych do prawidłowego działania
aplikacji. Również każdy pakiet zawiera informacje o innych pakietach, które będą powodowały konflikty w
działaniu tej aplikacji.
Metainformacje doskonale upraszczają administrację pakietami, która w przeciwnym przypadku byłaby nie lada
trudnym zadaniem. Poza tym każdy pakiet zawiera sumę kontrolną, która chroni użytkowników przed
sfałszowanymi lub zawirusowanymi pakietami.
Pakiety Debiana posiadają kilka ważnych właściwości dających przewagę nad innymi schematami zarządzania
pakietami. Aby się dowiedzieć więcej na temat różnic pomiędzy metodami zarządzania pakietami, przeczytaj
analizę porównawczą napisaną przez J. Hessa, którą znajdziesz się pod adresem
http://kitenet.net/~joey/pkg-
comp/
.
Narzędzia do administracji pakietami Debiana
Debian GNU/Linux dostarcza trzech głównych programów do zarządzania pakietami:
•
dpkg
— oryginalny program do administracji pakietami, który używa trybu wiersza poleceń. Nowsze
pakiety zawierające programy do administracji pakietami, które są łatwiejsze w użyciu dla przeciętnego
użytkownika, przywołują polecenie
dpkg
na zawołanie. Jednakże
dpkg
umożliwia dostęp do pewnych
funkcji — w szczególności do funkcji zapytania, która nie jest dostępna przy używaniu nowszych
narzędzi zorientowanych na łatwość obsługi.
•
dselect
— graficzna nakładka dla programu
dpkg
, która pozwala użytkownikowi przeglądać listę
dostępnych pakietów oraz wybór pakietów do instalacji lub ich usuwanie.
•
apt-get
— narzędzie wiersza poleceń, które pozwala użytkownikom na wybór źródła uzyskiwania
pakietów. Źródłem w tym przypadku mogą być pliki na zamontowanym systemie plików, na dysku
CD-ROM, serwerze ftp i tak dalej. Jeśli użytkownik zażąda zainstalowania wybranego pakietu,
program
apt-get
lokalizuje go na liście swoich źródeł, w razie konieczności ściąga plik z sieci (np. z
serwera ftp) i instaluje go.
Dodatek nie opisuje wszystkich możliwych właściwości i opcji każdego narzędzia. Zamiast tego, materiał jest
zorganizowany wokół powszechnych zadań administracyjnych w taki sposób, aby ukazać zazwyczaj jedną, z
wielu możliwych, metodę wykonania danego zadania. W miarę poznawania systemu odkryjesz na pewno wiele
innych sposobów przeprowadzania zadań administracyjnych.
Uwaga:
Od czasu, kiedy administracja pakietami wymaga manipulacji na plikach o nadanych prawach dostępu,
większość operacji może być dokonywana tylko przez użytkownika
root
.
Używanie dpkg
Możesz sądzić, że
dpkg
został zastąpiony przez nowsze programy do administracji pakietami takie jak
dselect
i
apt-get
w celu ułatwienia pracy z pakietami. Jednakże program ten nadal pozostaje najlepszym sposobem
wykonywania pewnych zadań administracyjnych na pakietach Debiana.
Instalowanie pakietu
Jeśli posiadasz plik
.deb
zawierający pakiet, który chcesz zainstalować, to najprostszą metodą na jego
zainstalowanie jest zainicjowanie polecenia
dpkg
:
dpkg --install
packagefile
gdzie packagefile oznacza nazwę pliku pakietu, który zazwyczaj posiada zakończenie (odpowiednik
rozszerzenia w systemie MS-DOS)
.deb
. Jeśli wszystkie wymagane pakiety zostały już zainstalowane oraz jeśli
dany pakiet nie powoduje żadnych konfliktów z pakietem już zainstalowanym, program
dpkg
rozpakuje pliki
pakietu, przeniesie je do odpowiedniego katalogu i uruchomi skrypty niezbędne do prawidłowego
skonfigurowania tego pakietu.
Natomiast jeżeli w systemie nie ma wszystkich wymaganych pakietów bądź też konkretny pakiet powoduje
konflikty z zainstalowanym już w systemie pakietem, program
dpkg
przerwie pracę wyświetlając przedtem
informacje o błędzie. Jeśli problemem będzie brak jakiegokolwiek z wymaganych pakietów, możesz go
rozwiązać pobierając brakujący pakiet na przykład z Internetu i instalując go, a następnie instalując żądany
pakiet. Jeśli jednak pakiety powodują konflikty między sobą, musisz zdecydować, którego z tych pakietów
chcesz używać, bądź który z nich jest ci bardziej potrzebny. Przed podjęciem decyzji o usunięciu
zainstalowanego pakietu przeczytaj najpierw poniższy punkt.
Usuwanie pakietu
Aby usunąć zainstalowany pakiet, użyj następującej składni polecenia
dpkg
:
dpkg --remove pakiet
Polecenie nie usuwa plików konfiguracyjnych pakietów, które mogą się przydać do ponownej instalacji danego
pakietu. Jeśli jednak zechcesz usunąć również pliki konfiguracyjne pakietu, wpisz:
dpkg --purge pakiet
Przeszukiwanie bazy pakietów.
Narzędzia Debiana służące do zarządzania pakietami utrzymują bazę zawierającą informację na temat
zainstalowanych pakietów. Polecenia
dpkg
można zatem używać również do przeszukiwania tej bazy.
Wyświetlanie (drukowanie) informacji o pakiecie
Aby wyświetlić (wydrukować) opis danego pakietu, użyj składni:
dpkg --print-avail
pakiet
gdzie pakiet oznacza nazwę pakietu. Na przykład, aby wyświetlić informacje na temat pakietu
gnome-guile
,
wykonaj poniższe polecenie:
dpkg --print-avail gnome-guile
Wyświetlanie pakietów posortowanych według nazwy
Aby wyświetlić dostępne pakiety według ich nazwy, zainicjuj polecenie
dpkg
:
dpkg -l
wzorzec
gdzie wzorzec jest pojedynczym łańcuchem zapytania oznaczającym wzór, według którego będzie
wyświetlana lista pakietów. Wynikiem powyższej operacji będzie wyświetlenie tylko tych nazw pakietów, które
odpowiadają podanemu wzorowi. Wzór może zawierać znaki specjalne, takie jak np. „
*
”, który zastępuje każdy
łańcuch znaków. Na przykład wzór
'apache*'
odpowiada wszystkim pakietom, których nazwa zaczyna się
od
apache
.
Lista wyświetlanych pakietów przedstawiona jest według następujących informacji:
Status wyboru
(
) — oznacza status pakietu ustanowiony za pomocą programu
.
Obecnie mamy do wyboru cztery stany:
Selection status
dselect
•
Nieznany
(
Unknown
) — oznacza, że status wyboru pakietu jest nieokreślony.
•
Instaluj
(
Install
) — określa, że pakiet jest zaznaczony do zainstalowania.
•
Usuń
(
Remove
) — mówi, że plik jest oznaczony do usunięcia.
•
Wyczyść
(
Purge
) — oznacza, że cały pakiet wraz z jego plikami konfiguracyjnymi jest przeznaczony do
usunięcia.
Status
— określa stan instalacji pakietu, który może być jednym ze stanów:
•
Nie zainstalowany
(
Not installed
) — oznacza, że pakiet nie został zainstalowany.
•
Zainstalowany
(
Installed
) — mówi, że pakiet został pomyślnie zainstalowany.
•
Pliki konfiguracyjne
(
Config-files
) — oznacza, że tylko pliki konfiguracyjne danego pakietu zostały
zainstalowane.
•
Rozpakowany
(
Unpacked
)
— określa, że pakiet został rozpakowane w celu przygotowania do instalacji.
•
Błąd konfiguracji
(
Failed-config
) — oznacza, że pakiet został zainstalowany, ale nie powiodła się jego
konfiguracja — prawdopodobnie błąd skryptu.
•
Zainstalowany połowicznie
(
Half-installed
) — mówi, że próba zainstalowania pakietu nie powiodła się.
Błąd
(
Error
) — oznacza status błędu dla danego pakietu, który to status może być jednym z błędów:
•
Żaden
(
None
) — mówi, że z pakietem nie jest powiązany żaden błąd.
•
Wstrzymany
(
Hold
) — oznacza, że pakiet został wstrzymany i może zostać później ponownie
zainstalowany lub po prostu usunięty.
•
Wymagana ponowna instalacja
(
Reinstallation required
) — oznacza, że pakiet musi zostać ponownie
zainstalowany.
Nazwa
(
Name
) — podaje nazwę pakietu.
Wersja
(
Version
) — wyświetla numer wersji pakietu.
Opis
(
Description
) — podaje krótki opis pakietu. Opisy są dostępne tylko dla zainstalowanych pakietów.
Jeżeli polecenie przedstawi zbyt długą listę, przekieruj rezultaty do polecenia
more
, które pozwala na
przewijanie wyników ekran po ekranie:
dpkg –l
wzorzec
| more
Natomiast gdybyś chciał obejrzeć tylko zainstalowane pakiety, wpisz polecenie
dpkg
według poniższej składni:
dpkg –
wzorzec
| grep '^i' | more
Na przykład, aby wyświetlić wszystkie zainstalowane pakiety, których nazwa zaczyna się od
gnome
, zainicjuj
poniższe polecenie :
dpkg –l 'gnome*' | grep '^i' | more
Wzór
*
odpowiada każdej nazwie, tak że program wyświetli informacje na temat każdego zainstalowanego
pakietu:
dpkg – '*' | grep '^i' | more
Raport o stanie pakietu
Aby sporządzić raport o statusie pakietu, wykonaj poniższe polecenie:
dpkg --status
pakiet
gdzie pakiet oznacza nazwę pakietu. Na przykład w celu wyświetlenia raportu o stanie pakietu
gnome-guile
wpisz polecenie:
dpkg --status gnome-guile
Drukowanie listy plików zawartych w pakiecie
Aby wyświetlić listę plików zawartych w danym pakiecie, wykonaj polecenie:
dpkg –-listfiles
pakiet
gdzie pakiet oznacza oczywiście nazwę pakietu. Na przykład, aby wyświetlić listę plików zawartych w
pakiecie
gnome-guile
wpisz:
dpkg --listsfiles gnome-guile
Praca z programem dselect
Narzędzie
dselect
dostarcza łatwej w użyciu, graficznej nakładki znakowej dla programu
dpkg
. Aby uruchomić
ten program, wpisz:
dselect
Rysunek C.2 przedstawia ekran pojawiający się w wyniku zainicjowania polecenia, który przedstawia menu
zawierające sześć pozycji:
•
Dostęp
(
) — w tym menu możesz wybrać metodę dostępu do plików pakietów Debiana.
Access
•
Aktualizacja
(
Update
) — to menu pozwala aktualizować listę dostępnych do zainstalowania pakietów.
•
Wybór
(
Select
) — tutaj możesz wybrać pakiety do instalacji lub usunięcia.
•
Instalacja
(
Install
) — inicjuje instalacje wybranych uprzednio pakietów.
•
Konfiguracja
(
Config
) — to menu uruchamia konfigurację pakietów.
•
Usuwanie
(
Remove
) — inicjuje operację usuwania pakietów zaznaczonych do usunięcia.
•
Koniec
(
Quit
) — kończy pracę programu
dselect
.
Wszystkie sześć pozycji menu programu są zazwyczaj używane w takim samym porządku, w jakim są
przedstawione.
Rysunek C.2. Ekran główny programu dselect
Wybór metody dostępu do pakietów
Aby wybrać najlepszą (optymalną) metodę dostępu do pakietów Debiana, zaznacz za pomocą kursorów strzałek
menu
Dostęp( Access)
i naciśnij klawisz
Enter
. Pojawi się okno pokazane na rysunku
C.3.
Najwygodniejszą metodą dostępu, która jest przy okazji rekomendowaną metodą, jest
apt
. Inne możliwości to:
•
cdrom
— pozwala zainstalować pakiety z dysku CD-ROM. Nie jest to zalecana metoda — zamiast niej
zaleca się metodę
muliti_cd
(prawdopodobnie ze względu na fakt, że system Debian jest wydawany
zazwyczaj na kilku płytach).
•
multi_cd
— pozwala instalować pakiety z kilku dysków CD-ROM stanowiących jedną dystrybucję
systemu.
•
nfs
— umożliwia instalację pakietów znajdujących się na serwerze NFS. Metoda ta jest również
odradzana; zastąpić ją ma
multi_nfs
.
Rysunek C.3. Wybór metody dostępu
•
multi_nfs
— zezwala na instalację pakietów znajdujących się na serwerze NFS, który ma dostęp do
kilku woluminów pakietów jednej dystrybucji.
•
harddisk
— umożliwia instalację pakietów znajdujących się na partycji dysku twardego, która nie jest
aktualnie zamontowana. Odradzam ten sposób, wygodniejszą i dużo szybszą jest metoda
apt
lub
multi_mount
.
•
mounted
— pozwala na instalację pakietów z zamontowanej aktualnie partycji, jednakże nie jest to
metoda polecana przez twórców systemu, zamiast niej zalecane jest użycie metody
apt
lub
multi_mount
.
•
mulit_mount
— umożliwia instalację pakietów z kilku woluminów pakietów, z których jeden jest
aktualnie zamontowany.
•
floppy
— pozwala na instalację pakietów z dyskietek.
•
ftp
— umożliwia instalację pakietów znajdujących się na określonym serwerze ftp.
Aby wybrać metodę dostępu, użyj klawiszy strzałek do zaznaczenia odpowiedniej metody i naciśnij
Enter
.
Jeśli wybrałeś metodę
apt
, zostaniesz zapytany, czy chcesz zmienić plik
sources.list
. Jeżeli już wcześniej
skonfigurowałeś ten plik, odpowiedz
No
(
nie
). W przeciwnym razie możesz odpowiedzieć
tak
, co zainicjuje
program, który zbuduje prostą konfigurację. Poniżej znajduje się przykładowy podprogram dialogowy, który
nawet pokazuje odpowiedzi, jakich powinieneś udzielić, aby zainstalować pakiety z dysku CD-ROM, który
został dołączony do tej książki.
I see you already have a source list.
Source list displayed here: contents vary
Do you wish to change it [y/N]
y
Set up a list of distribution source locations
Please give the base URL of the debian distribution.
The access schemes I know about are: http ftp file
For example:
file:/mnt/debian
ftp://ftp.debian.org/debian
http://ftp.pl.debian.org/debian
URL [http://ftp.pl.debian.org/debian]
file:/cdrom
Please give the distribution tag to get or a path to the
package file ending in a /. The distribution
tags are typically something like: stable unstable frozen non-US
Distribution [stable]
stable
Please give the components to get.
The components are typically something like: main contrib non-free
Components [main contrib. non-free]
main contrib
Would you like to add another source? [y/N]
N
W przykładzie tym założono, że dysk CD-ROM został zamontowany jako
/cdrom
. Jeśli jest jednak inaczej,
będziesz musiał podać ścieżkę (najlepiej bezwzględną) dostępu do dysku CD-ROM.
Po tym, jak program
dselect
zapisze wybór metody dostępu, pojawi się ponownie ekran główny tego programu.
Aktualizacja informacji o dostępnych pakietach
Po wybraniu metody dostępu powinieneś poinstruować program
dselect
, jak ma zaktualizować informacje o
dostępnych pakietach. Aby tego dokonać, użyj klawiszy kursorów i podświetl menu
Aktualizuj
, a następnie
wciśnij
Enter
. Po niedługim czasie program wróci do głównego menu.
Wybieranie pakietów do instalacji lub usunięcia
Kiedy już zaktualizujesz informacje o dostępnych pakietach, możesz wybrać pakiety do zainstalowania bądź
usunięcia z systemu. Przejdź za pomocą klawiszy kursorów do menu
Wybór (Select)
i naciśnij klawisz
Enter
.
Pojawi się ekran przedstawiony na rysunku C.4.
Rysunek C.4. Ekran wprowadzający menu Wybór (Select)
Ekran, który się pojawia po wejściu w menu
Wybór (Select)
pokazuje ogólne informacje dotyczące wybierania
pakietów. Po przeczytaniu wszystkich informacji naciśnij klawisz spacji, aby przejść do następnego kroku, czyli
wyboru pakietów. Pojawi się wtedy ekran przedstawiony na rysunku C.5.
Rysunek C.5. Wybór pakietów
Rysunek to ekran wybierania pakietów podzielony na dwa mniejsze ekrany. Na górnym ekranie za pomocą
strzałek zaznaczamy pakiet, który chcemy zainstalować. Dolny ekran służy do wyświetlania informacji na temat
podświetlonego pakietu. Aby wybrać pakiet do zainstalowania, naciśnij klawisz
+
, a w celu usunięcia
zainstalowanego pakietu wciśnij
–
.
Możesz przeszukiwać bazę danych pakietów, wciskając klawisz
/
(slash) i wpisując łańcuch znaków (wzoru),
którego poszukujesz. W celu znalezienia kolejnych przykładów dla tego samego łańcucha wciśnij klawisz
\
(backslash). Na przykład, aby znaleźć pierwszy pakiet zawierający łańcuch
gnome
w nazwie lub opisie pakietu,
wpisz
/gnome
i wciśnij
Enter
.
Jeśli do zainstalowania wybrałeś pakiet, który wymaga innych niezainstalowanych pakietów, wyświetli się
komunikat o konflikcie zależności. Ten sam komunikat pojawi się także w przypadku, gdy wybierzesz pakiet do
usunięcia, który jest wymagany przez inny zainstalowany pakiet lub jeśli wybierzesz pakiet, który jest w
konflikcie z zainstalowanym pakietem. Kiedy program
dselect
wykryje konflikt zależności, wyświetli ekran
pokazany na rysunku C.6.
Rysunek C.6. Ekran pomocy dla zależności między pakietami
Ten sam ekran pojawi się, kiedy wybierzesz do zainstalowania pakiet, który wymaga zainstalowania wraz z nim
pakietów sugerowanych lub rekomendowanych. Pakiet rekomendowany jest to pakiet wymagany i niezbędny do
zainstalowania z pakietem głównym (np. niektóre biblioteki), natomiast pakiet sugerowany jest to pakiet, który
jest w jakiś sposób powiązany z pakietem głównym; zazwyczaj są to pakiety zawierające uzupełnienia lub
rozszerzenia funkcjonalności innych pakietów.
Po wciśnięciu klawisza
Enter
pojawi się ekran (pokazany na rysunku C.7), w którym możesz rozwiązać
problem zależności pakietów. Pozwala on szybko dodać lub usunąć pakiety do pakietów, które wchodzą w
konflikt zależności. Zazwyczaj są wyświetlane domyślne pakiety do wyboru dla rekomendowanych i
sugerowanych pakietów.
Rysunek C.7. Ekran rozwiązywania konfliktów zależności
Przy użyciu klawiszy kursorów zaznacz pakiet, który powoduje konflikt, co spowoduje wyświetlenie informacji
o zależnościach zawiązanych z tym pakietem. Wciskając
+
lub
–
wybierasz pakiety do zainstalowania lub
usunięcia, tak jak to widać na ekranie menu
Wybór (Select)
. Kiedy już skończysz, naciśnij klawisz spacji, aby
powrócić do ekranu wyboru pakietów.
Wyjście z ekranu wyboru pakietów
Wybór pakietów można zakończyć w dowolnej chwili na kilka różnych sposobów. Naciskając klawisz
Enter
,
spowodujesz powrót do głównego menu programu
dselect
, w którym możesz zainicjować instalację lub
usuwanie pakietów. Naciśnięcie klawisza
x
anuluje dokonane wybory i powracasz do głównego menu. Ta
funkcja jest użyteczna wtedy, gdy zrezygnujesz z instalacji wybranego pakietu, na przykład z powodu
występujących konfliktów zależności.
Instalowanie pakietów
Aby rozpocząć instalację wybranych uprzednio pakietów, zaznacz menu
Instalacja
(
Install
) i naciśnij
Enter
. W
zależności od tego, czy pakiety są ściągane z sieci (np. z serwera ftp) czy bezpośrednio instalowane (np. z dysku
CD-ROM), na ekranie pojawią się odpowiednie informacje.
Jeżeli używasz metody
apt
dostępu do pakietów, wybór menu
Instalacja
(
Install
) spowoduje uruchomienie
instalacji lub usunięcie oraz konfigurację pakietów. W tym przypadku możesz zakończyć pracę programu
dselect
zaraz po ukończeniu instalacji pakietów.
Przy użyciu każdej innej metody dostępu do pakietów program
dselect
może nie zainstalować wszystkich
wybranych pakietów podczas jednego procesu instalacyjnego. Po zakończeniu operacji instalowania pakietów
powinieneś raz jeszcze wybrać menu
Instalacja
(
Install
) , aby sprawdzić, czy zostaną zainstalowane dodatkowe
pakiety. Jeśli tak zrobisz a żadne pakiety nie będą instalowane, możesz przejść do następnego kroku:
konfiguracji lub usuwania pakietów.
Po zakończeniu procesu instalacji pakietów program
dselect
prosi o naciśnięcie klawisza
Enter
w celu
powrócenia do głównego menu.
Konfiguracja pakietów
Aby rozpocząć konfigurowanie zainstalowanych pakietów, zaznacz menu
Konfiguracja
(
Config
) za pomocą
klawiszy kursorów i naciśnij
Enter
. Pakiety, które wymagają konfiguracji będą zadawały pytania dotyczące ich
opcji konfiguracyjnych. Po zakończeniu procesu konfiguracyjnego
dselect
poprosi o naciśnięcie klawisza
Enter
w celu powrócenia do głównego menu.
Usuwanie pakietów
W celu usunięcia zbędnych pakietów zaznacz menu
Usuwanie
(
Remove
) za pomocą strzałek i naciśnij
Enter
.
Kiedy zakończy się proces usuwania pakietów, program
dselect
poprosi o naciśnięcie klawisza
Enter
, aby
przejść do głównego menu.
Zakończenie pracy z programem dselect
Aby zakończyć pracę programu
dselect
, zaznacz menu
Koniec
(
Quit
) i naciśnij
Enter
.
Używanie polecenia apt-get
Program
dselect
jest bardzo pożyteczny, ponieważ pozwala na przeglądanie listy dostępnych pakietów,
oglądanie ich opisów i powiązań (z innymi pakietami) oraz umożliwia wybranie żądanych pakietów do
instalacji. Jednakże jeśli znasz nazwę pakietu, który chcesz zainstalować,
apt-get
jest często najprostszym
sposobem jego instalacji. Zanim jednak będziesz mógł używać tego programu, musisz najpierw skonfigurować
plik
sources.list
. Plik ten jest również używany po wybraniu metody
apt
(metody dostępu do pakietów) w
programie
dselect
. Nawet jeśli nie zamierzasz używać
apt-get
, to informacje zawarte w tym podrozdziale na
pewno się przydadzą.
Konfiguracja pliku sources.list
Plik
sources.list
znajduje się w katalogu
/etc/apt
. Podobnie jak można podejrzeć zawartość większości innych
plików konfiguracyjnych, można zobaczyć zawartość tego pliku za pomocą zwykłego edytora tekstu np.
ae
.
Plik ten zawiera kilka wierszy, a w każdym z nich znajduje się źródło
dystrybucji. Wiersze są przeglądane
seryjnie, co zazwyczaj pozwala umieszczać wiersze, które wskazują na lokalne źródła — takie jak CD-ROM,
przed wierszami, które wskazują na zdalne zasoby. Takie układanie źródeł pozwala na skrócenie czasu ściągania
pakietów.
Każdy wiersz przyjmuje następującą formę:
deb
uri dystrybucja składniki
Skrót uri oznacza uniwersalny identyfikator źródła (Universal Resource Identifier — URI), określający
komputer, na którym są przechowywane pakiety, dokładną lokalizację pakietów oraz protokół używany przez
komputer źródłowy. Forma zapisu uri jest następująca:
protocol
://
host
/
ścieżka
Rozpoznawane są cztery protokoły — czasami zwane
typami uri
:
•
cdrom
— oznacza lokalny napęd CD-ROM.
•
file
(
plik
) — określa katalog lokalnego systemu plików, w którym znajdują się pakiety.
•
http
— oznacza serwer WWW.
•
ftp
— oznacza serwer FTP.
Część host uniwersalnego identyfikatora źródła oraz znaki „
://
” są używane tylko dla protokołów ftp i http.
Dlatego część
daje nazwę komputera, który zawiera pakiety.
host
Część ścieżka jest używana zawsze (niezależnie od protokołu) wraz ze znakiem „
/
” (slash). Określa bowiem
ścieżkę bezwzględną do katalogu, który zawiera pakiety.
Poniżej podaję parę przykładów URI:
cdrom:/cdrom
cdrom:/mnt/cdrom
file:/mnt
file:/debian
http://www.pl.debian.org/debian
http://non-us.debian.org/debian-non-us
ftp://ftp.pl.debian.org/debian
ftp://non-us.debian.org/debian-non-us
Część
określa wersję dystrybucji zawierającej pakiety
dystrybucja
. Typowe wartości tej części to:
•
stable
(
stabilna
) — aktualna wersja stabilna, to znaczy taka, która jest powszechnie uważana za wersję
zawierającą niewielką ilość błędów.
•
unstable
(
niestabilna
) — aktualna wersja niestabilna. Zawiera czasami dość poważne błędy i nie
powinna być instalowana przez użytkowników wymagających wysokiego poziomu stabilności i
wydajności.
1
Chodzi o zasób — czyli o miejsce, w którym znajduje się pakiet (wraz z dokładną ścieżką).
Część składniki określa część dostępnej dystrybucji. Najczęściej spotykanymi typami są:
•
main
— grupa pakietów głównych.
•
contrib
— pakiety, które nie są integralną częścią dystrybucji, ale są bardzo użyteczne.
•
non-free
— pakiety, które zawierają oprogramowanie rozprowadzane pod zbyt rygorystycznymi
warunkami użytkowania, aby mogłyby być częścią dystrybucji.
Zwykły plik
sources.list
może zawierać następujące wpisy:
d
eb file:/cdrom stable main contrib
deb http://www.pl.debian.org/debian stable main contrib. non-free
stable non-US
http://non-us.debian.org/debian-non-US
Taka konfiguracja pozwala na szybki dostęp do pakietów dystrybucyjnych znajdujących się na lokalnym dysku
CD-ROM. Umożliwia także wygodny dostęp poprzez sieć do innych pakietów i aktualnych wersji pakietów
przechowywanych na serwerach WWW i FTP.
Praca z programem apt-get
Po skonfigurowaniu
pliku sources.list
możesz używać programu
apt-get
do aktualizowania informacji o
dostępnych pakietach oraz do instalowania pakietów lub ich nowszych wersji.
Aktualizacja informacji o dostępnych pakietach
Aby zaktualizować informacje o dostępnych pakietach, wydaj następujące polecenie:
apt-get update
Instalowanie pakietu
W celu zainstalowania danego pakietu wpisz:
apt-get install
pakiet
gdzie pakiet oznacza nazwę pakietu do zainstalowania.
Aktualizacja zainstalowanych pakietów
Aby automatycznie zaktualizować wszystkie zainstalowane już pakiety do nowszych wersji, zainicjuj polecenie:
apt-get upgrade
Zawartość pakietów i polecenia instalacyjne
Podrozdział ten podaje szczegółowe informacje na temat instalacji i konfiguracji wszystkich pakietów
wymienionych w tej książce.
Rozdział 5. Instalacja i konfiguracja systemu X Window
Tabela C.1 przedstawia serwery X zawarte w dystrybucji Debian GNU/Linux oraz identyfikuje obsługiwane
karty i chipsety.
Tabela C.1. Obsługa kart i chipsetów w X-serwerach
Pakiet Obsługiwane karty i chipsety
xserver-8514
Karta IBM 8514/A I inne karty kompatybilne
xserver-AGX
Wszystkie karty AGX
xserver-I128
Karty #9 Imagine 128 (włączając Series II)
xserver-Mach32
Karty ATI używające chipsetu Mach32
xserver-Mach64
Karty ATI używające chipsetu Mach64
xserver-Mach8
Karty ATI używające chipsetu Mach8
xserver-P9000
Karta Diamond Viper i inne karty z chipsetem P9000 (wyłączając karty
używające chipsetu 9100)
xserver-S3
Karty #9: większość kart Diamond, niektóre karty Orchid i inne
xserver-S3V
Karty używające chipsetu S3 Virge włączając odmiany DX, GX i VX
xserver-W32
Karty ET4000/W32, wyłączając standardowe karty ET4000
Tabela C.2 przedstawia inne pakiety związane ze środowiskiem X, które możesz zainstalować z dołączonego
dysku CD-ROM.
Tabela C.2. Rekomendowane pakiety związane ze środowiskiem X
Pakiet Opis
xbase-clients
Podstawowe klienty systemu X
xcontrib
Klienty XFree nie stanowiące integralnej części dystrybucji
xfonts-100dpi
Fonty 100dpi dla X serwerów
xfonts-75dpi
Fonty 75dpi dla X serwerów
xfonts-base
Standardowe fonty dla serwerów X
xfonts-scalable
Skalowalne fonty dla X serwerów
xfree86-common
Podstawowe komponenty systemu X Window
xlib6g
Biblioteki dzielone dla klientów X
xpm4g
Biblioteki Pixmap środowiska X
xserver-common
Komponenty używane przez wszystkie X serwery
xterm
Emulator terminala dla X
Rozdział 6. Praca w graficznym środowisku X Window
Tabela C.3 ukazuje pakiety, które powinieneś zainstalować, aby uruchomić środowisko GNOME.
Tabela C.3. Pakiety powiązane z GNOME
Pakiet Opis
gmc
Menedżer plików GNOME
task-gnome-apps
Aplikacje i narzędzia środowiska GNOME
task-gnome-desk
Pulpit (desktop) GNOME
task-gnome-game
Gry dla GNOME
task-gnome-wm
Menedżer okien GNOME
wmaker-gnome
Program Window Maker skompilowany dla środowiska GNOME
wmaker-userguide-ps
Przewodnik użytkownika programu Window Maker
Rozdział 8. Używanie aplikacji i klientów systemu Linux
Sztywne stosowanie wyłączności do oprogramowania open-source przez dystrybucję Debian powoduje, że wiele
programów takich jak np. WordPerfect lub Applixware nie jest dostępnych w postaci pakietów. Niemniej jednak
dość często dostępne jest to oprogramowanie w postaci archiwum plików binarnych; po skopiowaniu należy
przeczytać instrukcje (zazwyczaj znajdującą się w pliku README) instalacji programu.
Instalacja Star Office’a
Aby używać Star Office’a, zainstaluj pakiet staroffice3 i dostosuj się do dołączonych do niego instrukcji.
Będziesz również musiał skopiować pliki StarOffice’a ze strony firmy Sun:
http://www.sun.com/products/staroffice/
.
Instalacja Applixware
W celu zainstalowania programu Applixware pobierz pliki ze strony Applix:
http://www.applix.com/
.
Instalacja programu WordPerfect dla Linuksa
Do zainstalowania programu WordPerfect potrzebne są pliki tego programu, które znajdziesz na stronie WWW
producenta, firmy Corel:
http://www.corel.com/
.
Instalacja pakietów Mesa i WINE
Tabela C.4 pokazuje pakiety służące do eksperymentowania z WINE. Pakiety Mesa i WINE są nadal rozwijane,
więc co jakiś czas pojawiają się nowsze ich wersje. Najlepiej będzie, jeśli skopiujesz najnowsze wersje tych
pakietów ze strony
http://www.winehq.com
. Jednakże twórcy WINE nie udostępniają jak na razie pakietów dla
Debiana.
Tabela C.4. Pakiety związane z WINE
Pakiet Opis
mesa3g
Graficzne biblioteki Mesa
wine
Program WINE
wine_doc
Dokumentacja do programu WINE
Rozdział 9. Gry dla Linuksa
Gry DOOM i Quake II wymagają różnych operacji podczas procesu instalacji. Poniższy podrozdział
przeprowadzi cię przez instalację każdej z nich.
Instalacja gry DOOM
Grę DOOM dla Linuksa oraz wymagany plik
IWAD
możesz pobrać ze strony id Software:
http://www.idsoftware.com.archives/
. Możesz ściągnąć wersję SVGA (linuxsdoom) lub wersję X11
(linuxsdoom) tej gry. Wersja X11 wymaga kilku bibliotek, które już nie stanowią części dystrybucji systemu
Debian GNU/Linux; co powoduje, że gry nie można uruchomić bez wykonania dodatkowych czynności.
Jednakże producent tej gry udostępnił jej kod źródłowy, a przynajmniej jeden z twórców Debiana skompilował
wersję X11 gry DOOM, która jest kompatybilna z obecnymi bibliotekami systemowymi. Poszukaj w archiwum
list dyskusyjnych Debiana:
http://www.debian.org/
.
Aby zainstalować pliki gry DOOM, przejdź do katalogu, do którego je skopiowałeś i wykonaj poniższe
polecenia:
tar zxvf linuxsdoom.tar.gz
gunzip doom-1.8.wad.gz
Jeśli wolisz, możesz pobrać i zainstalować pakiet DOSEMU, który pozwala na uruchomienie wersji MS-DOS
gry DOOM.
Instalacja pakietu quake2
W celu zainstalowania gry Quake II dla systemu Linux będziesz potrzebował pakietu quake2 oraz plików gry.
Pliki gry można zdobyć na kilka sposobów. Najprostszym jest zakupienie oryginalnej wersji gry na dysku CD-
ROM. Jednakże jeśli chcesz tylko wypróbować tę grę, możesz pobrać wersję demonstracyjną dostępną dla
systemu Windows 9x.
Aby zainstalować pakiet quake2, wpisz:
apt-get quake2
Jeśli karta graficzna posiada akcelerację Voodoo i chciałbyś, żeby Quake II ją wykorzystywał, będziesz musiał
wykonać parę dodatkowych czynności (przeczytaj
/usr/doc/quake2/README
, aby się dowiedzieć więcej).
Zajrzyj również do Linux Quake HOWTO (
http://www.linuxquake.com/howto/Quake-HOWTO.html
).
Instalacja plików gry z dysku Quake II CD-ROM
Jeśli posiadasz CD-ROM z Quake II, zamontuj go i skopiuj pliki z katalogu
Install/Data
(i wszystkich jego podkatalogów) do aktualnego katalogu roboczego. Aby skopiować wszystkie podkatalogi,
użyj argumentu
–r
dla polecenia
cp
:
mount –t iso9660 /dev/cdrom /cdrom
cp –r /cdrom/Install/Data/* .
Po skopiowaniu wszystkich plików należy usunąć kilka niepotrzebnych:
rm –f /usr/local/quake2/*.dll
rm –f /usr/local/quake2/quake2.exe
rm –f /usr/local/quake2/baseq2/gamex386.dll
Instalacja plików gry z wersji demonstracyjnej
Jeśli pobrałeś wersję samorozpakowywującą pliku (
q2-314-demo-x86.exe
lub podobnie nazwany plik) przenieś
ten plik do aktualnego katalogu roboczego i użyj programu unzip do rozpakowania go:
unzip q2-314-demo-x86.exe
Jeśli plik, który pobrałeś ma inną nazwę, podaj ją za poleceniem
unzip
. Jeśli w systemie nie ma pakietu unzip,
musisz go wpierw zainstalować, zanim zaczniesz rozpakowywać plik wersji demonstracyjnej.
Następnie przestaw niektóre pliki, a inne usuń zgodnie z poniższym schematem:
rm –rf Splash Setup.exe
mv Install/Data/baseq2
mv Install/Data/Docs docs
rm –rf Install
rm –f baseq2/gamex86.dll
Rozdział 10. Konfiguracja sieci LAN opartej na systemie
Linux
Poniżej opisane pakiety pozwolą na bezproblemową konfigurację sieci lokalnej.
Instalacja pakietu lynx
Podczas instalacji programu
lynx
skrypt konfiguracyjny pyta, jakiego domyślnego adresu URL ma używać
przy każdym uruchamianiu tego programu. Jeśli masz jakąś ulubioną stronę WWW, która jest cały czas dostępna
— nawet wtedy, gdy nie dzwonisz do swojego ISP — możesz podać jej adres. W przeciwnym przypadku
możesz podać na przykład adres głównej strony pomocy dla przeglądarki
lynx
:
file:///usr/doc/lynx/lynx_help/lynx_help_main.html
.
Instalacja pakietu samba
Do zainstalowania usługi samba potrzebne są pakiety przedstawione w tabeli C.5.
Tabela C.5. Pakiety związane z usługą Samba
Pakiet Opis
samba
Serwer sieciowy Samba kompatybilny z Microsoft
samba-doc
Dokumentacja do usługi Samba
smbclient
Klient Samba
swat
Narzędzie do konfiguracji Samba z poziomu przeglądarki internetowej
Skrypt konfiguracyjny programu
samba
zapyta, czy chcesz, żeby uruchomić Sambę jako demona, czy jako część
demona
inetd
. Jeśli nie zamierzasz często korzystać z usługi
samba
, to zalecane jest uruchamianie jej poprzez
inetd
, w przeciwnym przypadku uruchamiaj sambę jako demona.
Skrypt zapyta również, czy chcesz używać zaszyfrowanych haseł. Powinieneś odpowiedzieć tak, jeśli Samba ma
zostać skonfigurowana do współpracy z systemem Windows 98 oraz Windows NT. Aby ustawić zakodowane
hasło dla przykładowego użytkownika, użyj polecenia
smbpasswd
w następujący sposób:
debian:/etc/samba# smbpasswd
debian:/etc/samba smbpasswd magda
New SMB password:
Retype new SMB password
Password changed for user magda
Aby uruchomić program swat, musisz dodać wiersz do pliku
/etc/services
:
swat 901/tcp
Umieść nowy wpis w odpowiednim wierszu, tak aby numer związanej usługi (901) był we właściwym porządku
numerycznym.
Do pliku
/etc/inetd.conf
należy także dodać nowy wpis:
swat stream tcp nowait.400 root /usr/sbin/swat swat
Jeśli w pliku tym znajduje się wpis dotyczący usługi
samba
, powyższy wiersz dobrze jest wstawić w pobliżu
(pod lub nad) wpisu o usłudze
smbd
.
Uwaga
W chwili obecnej swat jest rozpowszechniany w wersji niestabilnej, chociaż autor tego programu używał go
bardzo często i bez większych problemów. Pomimo to zechcesz na pewno zaktualizować go do wersji
stabilnej — w takim przypadku poszukaj nowszego pakietu na stonie
http://www.debian.org/
.
Rozdział 11. Podłączanie do sieci Internet
Podczas gdy większość poniżej przedstawionych pakietów jest dostępnych jako pakiety Debiana, Netscape
Navigator nie jest (przynajmniej na razie). Więcej informacji znajdziesz w odpowiednim podpunkcie.
Instalacja pakietu wvdial
W celu zainstalowania pakietu wvdial wykonaj poniższe polecenie:
apt-get install wvdial
Skrypt instalacyjny spyta o:
• numer telefonu usługodawcy internetowego,
• nazwę logowania,
• hasło dostępu.
Następnie skrypt instalacyjny przeskanuje wszystkie porty szeregowe systemu, aby zlokalizować modem i
ustawić odpowiednią konfigurację. Zazwyczaj skanowanie portów szeregowych systemu kończy się pomyślnie,
jednakże niektóre komputery się zawieszają, zmuszając do restartowania systemu i ręcznej konfiguracji
modemu.
Poniżej znajduje się typowy plik
wvdial.conf
założony przez skrypt konfiguracyjny:
[Dialer Defaults]
Phone = 0,202122
Username = ppp
Password = ppp
New PPPD = yes
Modem = /dev/ttyS1
Baud = 57600
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
Instalacja Netscape Navigatora
Rozpowszechnianie Netscape Navigatora jest ograniczone licznymi restrykcjami, co oznacza, że nie jest
dołączony do dystrybucji Debian GNU/Linux. Jednakże możesz zainstalować Navigatora, pobierając pakiety:
netscape-base-4
,
netscape-base-45
,
netscape-java-45
,
navigator-base-45
,
navigator-nethelp-45
oraz
navigator-
smotif45
, które są dostępne pod adresem:
http://www.debian.org/
.
Instalacja pakietu seyon
Aby zainstalować ten pakiet:
apt-get install seyon
Skrypt konfiguracyjny zapyta między innymi:
Do you have a color X11 system? (Y/n)
y
Where is your modem located?
(0) /dev/ttyS0 (equivalent to DOS COM1)
(1) /dev/ttyS1 (equivalent to DOS COM2)
(2) /dev/ttyS2 (equivalent to DOS COM3)
(3) /dev/ttyS3 (equivalent to DOS COM4)
Enter (0/1/2/3) ->
1
Modem configured for: /dev/ttyS1
***Important*** (UWAGA)
Users must be added to the 'dialout' group to allow access to the modem
device
. (Aby użytkownicy mogli mieć dostęp do modemu, muszą zostać przypisani do grupy 'dialout')
Aby dodać użytkownika
ewa
, na przykład do grupy
dialout
, wydaj polecenie:
addgroup ewa dialout
Instalacja pakietu minicom
apt-get install minicom
— polecenie to spowoduje zainstalowanie programu
minicom
.
Skrypt konfiguracyjny programu minicom zapyta, czy chcesz używać metaklawisza (Alt) do wprowadzania
poleceń. Jeśli odpowiesz twierdząco, uniemożliwi to używanie
minicomu
w systemie X, a więc powinieneś
odpowiedzieć nie. Po zainstalowaniu programu należy ustawić wszystkie opcje, wydając polecenie:
minicom –s
Aby wydać polecenie, musisz być użytkownikiem root. Tak jak w przypadku programu
seyon
, zwykli
użytkownicy nie będą mogli korzystać z programu
minicom
, dopóki nie staną się członkami grupy
dialout
.
Rozdział 12. Konfiguracja sieci WAN opartej na Linuksie
Prawo Stanów Zjednoczonych zabrania eksportowania oprogramowania do silnej kryptografii. W konsekwencji
pakiet
nie mógł zostać włączony do dystrybucji dołączonej do tej książki.
secure shell
Instalacja serwera Apache
apt-get install apache
— polecenie zainstaluje serwer WWW zwany APACHE.
Skrypt konfiguracyjny zapyta o:
• Adres e-mail administratora serwera (
ServerAdmin
).
Podaj swój (jeśli to ty jesteś administratorem) adres.
• Absolutną ścieżkę do katalogu, który będzie głównym (root) katalogiem serwera WWW
(
DocumentRoot
).
Podaj
/var/www
lub inną ścieżkę (jeśli chcesz coś zmienić).
• Port, na którym będzie nasłuchiwał Apache.
Podaj port 80 lub inny port, jeśli chcesz. Jeśli jednak podasz inny port niż 80, użytkownicy będą musieli go
wpisywać wraz z adresem URL dla każdej strony, którą będą chcieli obejrzeć.
• Czy chcesz ręcznie wybrać moduły do załadowania?
Zazwyczaj odpowiedź brzmi nie.
• Czy zapisać zmiany do plików konfiguracyjnych?
Odpowiedz Tak.
• Czy uruchomić ponownie serwer WWW (Apache)?
Tak.
Instalacja pakietu ssh (klient) i sshd (serwer)
Ze względu na zakaz eksportu takiego rodzaju oprogramowania, pakiety te nie są dołączone do CD-ROM-u,
który otrzymałeś z tą książką. Aby zainstalować klienta i serwer Secure Shell, wydaj następujące polecenie:
apt-get install ssh
Plik
sources.list
musi wskazywać na źródło pakietów non-US.
Dodatek D
Zarządzanie procesem
uruchamiania systemu
W niniejszym dodatku dowiesz się, jak uruchamiać system Linux, a w szczególności dowiesz się, jak
skonfigurować komputer do uruchamiania jednego z kilku zainstalowanych na nim systemów operacyjnych.
Podrozdział przedstawia programy
lilo
i
loadlin
— najpopularniejsze narzędzia do uruchamiania systemu Linux,
opisując i właściwości i opcje w najdrobniejszych szczegółach.
Uruchamianie Linuksa
Kiedy uruchamiasz komputer, powodujesz, że przywołuje on mały programik zwany
boot loader
(lub
boot
manager
). Zadaniem tego programu jest zlokalizowanie i wczytanie do pamięci operacyjnej komputera
podstawowych komponentów systemu (np. jądra i sterowników urządzeń) i przekazanie systemowi kontroli nad
komputerem. W ten sposób wczytany system lokalizuje pozostałe części systemu i uruchamia je.
Najprostszym sposobem na uruchomienie systemu Linux jest użycie dyskietki startowej (
boot floopy
). Nie
naruszasz informacji startowych zapisanych na dysku twardym, zapewniając sobie możliwość uruchomienia np.
Microsoft Windows lub innego systemu operacyjnego. Co więcej, niektóre systemy operacyjne i programy
antywirusowe uniemożliwiają modyfikację sektora startowego (
boot sector
) komputera. Tak więc uruchamiając
system z dyskietki startowej unikasz kilku potencjalnych problemów.
Jednakże wielu użytkowników uważa uruchamianie komputera z dyskietki startowej za zbyt wolne i
niewygodne. Najczęściej spotykanym rozwiązaniem jest użycie programu
lilo
, który jest zamiennikiem
boot
loadera
znajdującego się na dysku twardym każdego komputera oraz program
loadlin
, który umożliwia najpierw
uruchomienie systemu DOS, a następnie z poziomu tego systemu możesz uruchomić system Linux.
Ten dodatek nie opisuje całego zakresu zagadnień związanych z uruchamianiem systemu Linux. Większość
informacji tutaj zawartych jest wzięta z kilku dokumentów HOWTO dla systemu Linux, które zawierają
użyteczne informacje na temat startu Linuksa. Są to:
• BootPrompt-HOWTO,
• Cd-Writing-HOWTO,
• CDROM-HOWTO,
• Ethernet-HOWTO,
• Ftape-HOWTO,
• Hardware-HOWTO,
• Multi-Disk-HOWTO,
• PCI-HOWTO,
• PCMCIA-HOWTO.
Dyski startowe
Nawet jeśli nie chcesz uruchamiać Linuksa z dyskietki startowej, utwórz ją i zachowaj, ponieważ może okazać
się potrzebna. Na przykład, jeśli system nie będzie się chciał normalnie uruchomić (albo w ogóle), dyskietka
może okazać się jedynym ratunkiem, dzięki niej będziesz mógł wystartować system, znaleźć błąd i w miarę
swoich umiejętności go naprawić, w przeciwnym przypadku czeka cię ponownie proces instalacyjny, a co gorsza
możesz utracić wszystkie swoje dane.
Tworzenie dyskietki startowej
Program instalacyjny Debian GNU/Linux posiada opcję umożliwiającą stworzenie dyskietki startowej w trakcie
instalacji systemu. Powinieneś skorzystać z tej metody za każdym razem, kiedy instalujesz Linuksa, po to by
mieć aktualny dysk startowy.
Jednakże możesz też utworzyć dysk startowy po zainstalowaniu systemu (w każdej chwili). Aby tego dokonać,
włóż czystą dyskietkę do stacji dyskietek. Zaloguj się jako użytkownik root i wydaj następujące polecenie:
mkboot
jądro
Zamiast argumentu jądro podstaw nazwę pliku zawierającego jądro systemu, które chcesz umieścić na
dyskietce; zazwyczaj nosi ono nazwę
vmlinuz
(taką nazwę nadaje program instalacyjny).
Używanie dyskietki startowej
Włóż swoją uprzednio utworzoną dyskietkę do stacji dyskietek. Jeśli masz już uruchomiony jakikolwiek system
operacyjny, zamknij go i zrestartuj. Po ponownym uruchomieniu komputera, system Linux powinien
wystartować z dyskietki.
Uwaga
Jeśli w stacji znajduje się dyskietka, a system nadal startuje z dysku twardego, musisz zmienić konfigurację
CMOS. Aby tego dokonać, wejdź do BIOS-u komputera (sposób dostania się do niego zależy od producenta
np. klawisz
Del
służy do wejścia do programu BIOS firmy AWARD). Odpowiednia opcja konfiguracyjna
zazwyczaj nazywa się Boot Sequence, Boot Order lub podobnie. Wartość, jaką należy ustawić to A:, A: C: lub
podobną. Zajrzyj do dokumentacji komputera (płyty głównej), aby otrzymać dokładniejsze wskazówki.
Linux Loader (LILO)
Większość pecetów można uruchomić z dyskietki lub dysku twardego, a także z napędu CD-ROM. Pierwszy
sektor dysku twardego, bądź dyskietki zwany jest boot sektorem (
boot sector
). Zawiera on
master boot record
, w
którym jest zapisany
boot loader
— uruchamiający system z dysku twardego lub dyskietki.
Boot loader
może
znajdować się w:
• Boot sektorze dyskietki.
• Master boot recordzie (MBR) dysku twardego lub dysku CD-ROM, jeśli komputer ma możliwość
startowania z napędu CD-ROM.
• Boot sektorze partycji systemowej Linuksa utworzonej na głównym dysku twardym (primary master).
• Boot sektorze partycji rozszerzonej głównego dysku twardego.
Linux Loader lub w skrócie
lilo
jest prostym
boot loaderem
, który potrafi uruchamiać system Linux, Windows
3.x i 9.x oraz inne popularne systemy operacyjne (np. DOS). Większość użytkowników instaluje
lilo
w
MBR-rze
głównego dysku twardego (pierwszego). W ten sposób, kiedy komputer się uruchamia, startuje też program
lilo
.
Program instalacyjny dystrybucji Debian GNU/Linux automatycznie instaluje
lilo
jako część podstawowego
systemu. Dlatego nie musisz go instalować, wystarczy poprawna konfiguracja.
Jednakże, zanim zaczniesz konfigurować
lilo
, powinieneś najpierw zrobić świeżą dyskietkę startową dla
każdego systemu, jaki masz zainstalowany na komputerze. Przetestuj dyskietki! Jeśli posiadasz dyskietkę
rozruchową dla każdego systemu zainstalowanego na komputerze, będziesz w stanie wystartować każdy system,
nawet jeśli uszkodzisz
MBR
w wyniku operacji na
lilo
.
Możesz zmienić konfigurację pliku
/etc/lilo.conf
za pomocą ulubionego edytora tekstu. Przewodnik
użytkownika
lilo
(LILO User’s Guide; katalog
/usr/doc/lilo
) opisuje format dyrektyw konfiguracyjnych tego
programu. Oto przykładowy plik konfiguracyjny
lilo.conf
:
boot=/dev/hda2
root=/dev/hda2
install=/boot/boot.b
map=/boot/map
vga=normal
delay=10
image=/vmlinuz
label=Linux1
read-only
Tabela D.1 opisuje każde polecenie konfiguracyjne przedstawione w powyższym przykładzie.
Tabela D.1. Powszechnie stosowane dyrektywy konfiguracyjne w pliku lilo.conf
Polecenie Opis
boot=
Określa urządzenie lub partycję, na których ma znaleźć się boot loader lilo
root=
Określa partycję, która zostanie zamontowana jako partycja root (główna)
systemu po załadowaniu jądra Linuksa
install=
Określa plik, który jest używany do stworzenia
boot sektora
. Zazwyczaj ten plik
znajduje się w katalogu
/boot
map=
Określa plik, który wskazuję lokalizację jądra systemu. Plik ten również znajduje
się w katalogu
/boot
(choć nie zawsze)
vga=
Określa tryb wideo ustanawiany podczas ładowania jądra do pamięci. Możliwe
wartości to:
normal
,
extended
i
ask
lub liczba dziesiętna oznaczająca dany tryb
wideo
delay=
Określa opóźnienie (w dziesiątych częściach sekundy) zanim automatycznie
załaduje się domyślne jądro, które jest pierwszym określonym jądrem w pliku
konfiguracyjnym
image=
Określa plik, który zawiera obraz jądra systemu Linux
label=
Oznacza nazwę, pod którą znany jest obraz jądra
read-only
Jeśli obecna jest ta opcja, oznacza, że główny system plików (
root
) zostanie
zamontowany tylko do odczytu
Po dokonaniu zmian w pliku konfiguracyjnym
lilo.conf
należy uruchomić program
lilo
:
/sbin/lilo
Polecenie sprawi, że
lilo
aktualizuje MBR lub
boot sektor
zgodnie z informacjami zapisanymi w pliku
konfiguracyjnym
lilo.conf
. Następnie możesz uruchomić system ponownie, aby sprawdzić, czy poprawnie
skonfigurowałeś
lilo
.
Do uruchomienia systemu
lilo
używa BIOS-u komputera, który może nie być w stanie wczytać jądra systemu
Linux (lub innego programu) przechowywanego powyżej 1023 cylindra dysku twardego.
Jeśli instalujesz system Linux na zamontowanym i używanym dysku twardym, możesz nie być w stanie
umieścić jądra systemu w odpowiednim miejscu. W takim przypadku nie możesz użyć programu
lilo
do
uruchamiania systemu operacyjnego.
Loadlin Loader
Inną metodą uruchamiania systemu Linux jest użycie
loadlin
, programu MS-DOS, który umożliwia
wczytywanie jądra Linuksa. Program ten korzysta przy tym z trybu MS-DOS i nie polega na BIOS-ie
komputera, dlatego
loadlin
potrafi wczytać do pamięci jądro znajdujące się powyżej 1023 cylindra dysku.
Potrafi wczytać jądro z każdego systemu plików lub z każdej lokalizacji dostępnej dla systemu MS-DOS.
Z drugiej strony,
loadlin
nie może zostać uruchomiony w oknie MS-DOS systemu MS Windows 3.x lub 9.x.
Należy uruchomić ponownie system w trybie MS-DOS w celu prawidłowego działania programu
loadlin
.
Poprzez wprowadzenie odpowiednich wpisów do pliku
config.sys
, możesz stworzyć wygodne menu, które
pozwala na wybór systemu do uruchomienia np. MS-DOS, Windows lub Linuksa.
Instalacja loadlin
Program
loadlin
musi mieć dostęp do pliku zawierającego jądro Linuksa, które chcesz wczytać do pamięci.
Najprostszą możliwością jest przeniesienie tego pliku do systemu Windows. Upewnij się, że system plików
Windows odpowiadający napędowi C: jest zamontowany. Zakładając, że napęd C: systemu Windows jest
zamontowany w katalogu
/mnt/c
i że chcesz przenieść jądro systemu do katalogu na tej partycji, wykonaj podane
polecenia:
mkdir /mnt/c/linux
cp /boot/vmlinuz /mnt/c/linux/vmlinuz
Program
loadlin
musi znać identyfikator głównej partycji systemu Linux. Aby poznać identyfikator, użyj
polecenia:
mount
które wyświetli aktualnie zamontowane systemy plików:
/dev/hda2 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /boot type ext2 (ro)
none on /dev/pts type devpts (rw, mode=0622)
/dev/hdc no /cdrom type iso9660 (ro)
Główna partycja systemu Linux to partycja zamontowana jako
/
. W naszym przypadku jest to
/dev/hda2
. I ten
identyfikator należy zapamiętać, następnie uruchomić ponownie komputer w systemie MS Windows i
skopiować plik
loadlin
z katalogu
/dosutils
np. z dysku CD-ROM dystrybucji Debian GNU/Linux do
odpowiedniego katalogu na dysku twardym (najlepiej do tego, gdzie znajduje się jądro, czyli
c:\linux
— ale
niekoniecznie!).
Używanie programu loadlin
Aby wypróbować
loadlin
, uruchom komputer w trybie MS-DOS, kliknij na
Start
->
Zamknij
; w oknie, które
się pojawi wybierz opcję
Uruchom ponownie
w trybie MS-DOS
i kliknij
OK
. Kiedy pojawi się znak zachęty
systemu DOS, przejdź do katalogu, w którym znajduje się program
loadlin
i wydaj następujące polecenie:
loadlin c:\linux\vmlinuz root=/dev/hd
xn
ro
gdzie
/dev/hd
xn oznacza główną partycję (
root
) systemu Linux. System Linux powinien się uruchomić bez
problemu; jeśli nie, sprawdź, czy nie zrobiłeś żadnego błędu.
Konfiguracja loadlin
Jeśli powyżej przedstawione polecenie zadziała, możesz teraz skonfigurować MS Windows do współpracy z
programem
loadlin
w bardziej profesjonalny sposób. MS Windows umożliwia stworzenie prostego menu
startowego. Możesz użyć edytora tekstu
Notatnik
(
Start
->
Akcesoria
) do tego celu. Otwórz w nim plik
config.sys
(znajdujący się zazwyczaj w
C:\
) i wpisz:
[menu]
menuitem=Linux, Boot Linux
menuitem=Win95, Boot Windows 95
menudefault=Linux, 15
[linux]
shell=c:\linux\loadlin.exe @c:\linux\bootopts.txt
[win95]
Jeśli używasz Windows 3.x lub Windows 98 zamiast Win 95, zmień nazwę tej sekcji na odpowiedni skrót
(win3.x lub win98).
Uwaga
Plik
config.sys
znajduje się w głównym katalogu systemu Windows
C:\
. Jeśli jednak go tam nie ma, utwórz go
za pomocą Notatnika.
Teraz zapisz zmiany w pliku
config.sys
, zamknij go i otwórz
autoexec.bat
(też znajdujący się w
C:\
). Wpisz do
niego:
goto %config%
:win95
Uwaga
Plik
autoexec.bat
powinien znajdować się w głównym katalogu systemu Windows
C:\
. Jeśli jednak go tam nie
ma, utwórz go za pomocą Notatnika.
Po zapisaniu zmian w pliku
autoexec.bat
utwórz nowy plik o nazwie
bootopts.txt
w katalogu c:\linux. Plik ten
powinien zawierać następujący wpis:
C:\linux\vmlinuz root=/dev/hd
xn
ro
Pamiętaj, aby wpisać odpowiednią partycje systemu Linux. Możesz dodać również kilka innych opcji, jeśli
chcesz. Następny podrozdział przedstawia kilka najbardziej użytecznych.
Uruchom ponownie system, a zobaczysz małe wygodne menu, dzięki któremu wybierzesz system do
uruchomienia.
Uwaga
Inną wygodną metodą używania programu
loadlin
w MS Windows 95 (ale nie w MS Windows 98), jest
stworzenie skrótu, który przełącza system Win 95 w tryb MS-DOS i uruchamia program
loadlin
. Skrót możesz
utworzyć wykonując podane kroki: kliknij prawym przyciskiem myszy na pulpicie i wybierz
Nowy
->
Skrót
.
Otworzy się mały programik dialogowy, który pozwala na określenie zawartości plików
autoexec.bat
i
config.sys
.
Pierwszy z nich powinien być pusty, drugi musi zawierać:
shell=c:\linux\loadlin.exe @c:\linux\bootopts.txt
Parametry startowe
Podczas uruchamiania systemu Linux przy użyciu programu
loadlin
możesz podać kilka parametrów
kontrolujących start. Takie parametry są czasami potrzebne do zapanowania nad nietypowymi urządzeniami,
dużą ilością pamięci (więcej niż 128 MB) i tak dalej. Podobnie jak w przypadku
lilo
, kiedy to również mogłeś
padać kilka parametrów do kontroli nad procesem startu systemu Linux; parametry te można było dodać za
pomocą programu
linuxconf
lub poprzez edycją pliku
lilo.conf
. Możesz je również podać, wpisując je w
odpowiedzi na znak zachęty programu
lilo
.
Parametry startowe są określone jako dwuczęściowa dyrektywa zawierająca:
• nazwę parametru,
• dodatkową listę opcji składającą się z oddzielonych od siebie wartości lub listy opcji, które poprzedza
znak równości „
=
”.
Przedstawiona dyrektywa określa identyfikator głównej partycji systemu Linux:
root=/dev/hda1
Możesz podać wiele instrukcji, oddzielając je spacją. Na przykład określ partycję root systemu i spowoduj, że
zostanie ona zamontowana początkowo tylko do odczytu (read-only) po to, by przeprowadzić szybkie
sprawdzenie systemu plików:
root=/dev/hda1 ro
Większość poleceń jest interpretowanych przez jądro systemu, chociaż sam program
lilo
również potrafi je
interpretować. Jeśli podasz instrukcję, której ani jądro, ani lilo nie rozumie (zakładając, że używasz
lilo
),
instrukcje zawierającą znak równości, zostanie ona przekazywana do procesu
init
jako zmienna środowiskowa.
Poznałeś już, co to jest zmienna środowiskowa w rozdziale 13. Przypomnę: jest to dyrektywa nie pochodząca od
jądra, nie zawierająca znaku równości i przekazywana do procesu
init
. Przykładem użycia takiej instrukcji jest
podanie dyrektywy
single
, która powoduje, że
init
uruchamia system w trybie pojedynczego użytkownika:
root=/dev/hda1 ro single
Instrukcja jest użyteczna szczególnie podczas uruchamiania Linuksa przy użyciu
lilo
. Wprowadza się ją w
odpowiedzi na znak zachęty polecenia.
Podstawowe argumenty startowe
Tabela D.2 opisuje kilka użytecznych i powszechnych opcji startowych. Argumenty odnoszą się do systemu jako
całości; w poszczególnych podrozdziałach dowiesz się o innych opcjach związanych z określonymi
urządzeniami lub funkcjami. Tabela opisuje także argument
reserve
, który jest używany w celu uniknięcia
konfliktów z pamięcią systemową.
Tabela D.2. Wybrane argumenty startowe
Argument Opis
init=
Określa nazwę programu który ma być uruchamiany zamiast
init
mem=
Określa ilość dostępnej pamięci fizycznej dla systemu Linux; pozwala poinstruować
system, aby unikał wysokich obszarów pamięci używanych przez niektóre systemy do
przechowywania BIOS-u lub buforowania. Ilość pamięci możesz określić za pomocą
liczby szesnastkowej poprzedzonej literami k lub M oznaczających odpowiednie kilo i
megabajty
reserve=
Określa porty wejścia-wyjścia, które nie będą badane. Numer portu I/O jest określony
za pomocą liczby szesnastkowej, a zakres jest podawany za pomocą liczby dziesiętnej.
Na przykład
reserve=0x320,32
oznacza, że porty z zakresu 320 – 33f nie będą
badane
ro
Początkowo montuje system plików root w trybie tylko do odczytu, tak żeby wydajniej
wykonane zostało jego sprawdzenie
root=
Identyfikuje system plików root:
•
/dev/fd
n — dyskietka n (n = 0 lub 1)
•
/dev/hd
xn — partycja n (n= 0 lub 1) dysku x (do a do d)
•
/dev/sd
xn — partycja n dysku SCSI x (a do e)
rw
Początkowo montuje system plików root w trybie zapisu i odczytu i nie sprawdza tego
systemu plików
vga=
Określa domyślny tryb wyświetlania ustawiany przed uruchomieniem. Podanie
vga=ask
spowoduje, że
lilo
wyświetli listę możliwych trybów. Możesz wtedy
wybrać żądany tryb wpisując go na miejsce
ask
.
Uwaga
Ten argument jest interpretowany przez lilo, więc nie jest uwzględniany podczas
zastosowania innego loadera.
Argumenty startowe związane z dyskiem RAM
Tabela D.3 opisuje kilka argumentów startowych używanych do manipulacji dyskami RAM. Możesz nie
potrzebować używać tych argumentów, ale ich znajomość może pomóc w zrozumieniu specyfikacji startowych
pisanych przez innych, włączając te pochodzące od Debian GNU/Linuksa.
Tabela D.3. Wybrane argumenty dysków RAM
Argument
Opis i opcje
load_ramdisk=
Określa, czy ramdysk ma być używany (1) czy nie (0)
prompt_ramdisk=
Przypomnienie o włożeniu dyskietki zawierającej ramdysk
ramdisk_size=
Określa wielkość RAM zarezerwowanej dla ramdysku. Domyślną wartością
są 4 MB
ramdisk_start=
Określa offset (w blokach dysku od uruchomienia nośnika startowego) danych
ramdysku; umożliwia jądru systemu i danym ramdysku zajmować tę samą
dyskietkę
Argumenty startowe adapterów SCSI
Tabela D.4 opisuje najczęściej używane argumenty startowe związane z adapterami SCSI. Tabela D.5 natomiast
opisuje dodatkowe opcje startowe.
Tabela D.4
Argument
Opis i opcje
advansys=
Adapter SCSI firmy Advansys:
iobase, [iobase, [iobase, [iobase]]]
aha152=
Adaptec aha151x, ada152x, aic6260, aic6360 i SB16-SCSI:
iobase [, irq[, scsi_id[, reconnect[, parity]]]]
aha1542=
Adapter SCSI Adaptec aha 154x:
iobase[, buson, busoff[, dmaspeed]]
aic7xxx=
Adaptec SCSI aha274x, aha284x, aic7xxx:
extended, no_reset
AM53C974
Adapter AMD oparty na AM53C974:
Scsi_id, dev_id, dmaspeed, offset
Sprawdź w
linux/drivers/scsi/READEME.AM53C974
buslogic
Kontroler SCSI firmy BusLogic. Dostępnych jest wiele opcji — przeczytaj
BootPrompt-HOWTO
eata=
EATA SCSI adapter:
iobase, [iobase, [iobase, [iobase]]]
fdomain=
Kontroler SCSI Future Fomain:
iobase, irq[,scsi_id]
in2000=
Adapter SCSI Always:
Sterownik tego adaptera akceptuje opcje w odmiennym formacie niż
pozostałe sterowniki. Przeczytaj BootPrompt-HOWTO.
max-scsi-luns=
Określa maksymalną liczbą logicznych jednostek SCSI do badania;
pozwala zapobiec badaniu urządzeń, które mogą zablokować szynę SCSI.
ncr5380=
Adapter NCR oparty na chipsecie 5830:
iobase, irq, dma
membase, irq, dma
ncr53c400=
Adapter oparty na 53c400 :
iobase, irq,
membase, irq
ncr53c406a=
Adapter oparty na chipsecie SCSI serii 53c406a:
iobase, irq, pio
membase, irq, pio
ppa=
Adapter równoległego portu SCSI firmy IOMEGA dla napędów ZIP:
iobase, speed_high, speed_low, nybble
pas16=
Adapter SCSI Pro Audio Spectrum:
iobase, irq
st0x=
Adapter SCSI Seagate ST-0x:
membase, irq
t128=
Adapter SCSI Trantor T128:
membase, irq
tmc8xx=
Adapter Future Domain TMC-8xx i TMC-950 SCSI:
membase, irq
u14-34f=
Adapter Ultrastor SCSI:
iobase, [iobase, [iobase, [iobase]]]
wd7000=
Adapter Western Digital WD7000 SCSI:
irq, dma, iobase
Z tabeli możesz dowiedzieć się, że Adapter aha154x SCSI firmy Adaptec używa następujących argumentów
startowych:
iobase[,buson,busoff[,dmaspeed]]
Tabela D.5 ułatwi zrozumienie opcji
iobase
i innych. Opcja ta pozwala sprecyzować port wejścia-wyjścia
związany z adapterem SCSI. Nie wpisuj nawiasów kwadratowych z argumentami startowymi; one po prostu
oznaczają, która opcja musi być obecna. Na przykład możesz podać argument dla adaptera aha154x wpisując
tylko opcję
iobase
, pozostałe opcje możesz pominąć. Jednakże, jak sugerują nawiasy kwadratowe możesz
dołączyć jeszcze opcję
buson
oraz jeśli już ją podajesz, to musisz także wprowadzić
busoff
. Podobnie, aby
wprowadzić opcję
dmaspeed
, należy podać każdą poprzednią opcję. Oto przykład argumentu startowego dla
tego adaptera:
aha1542=0x300, 11, 4
Tabela D.5. Wybrane opcje dla argumentów startowych
Opcja
Opis i pozostałe opcje
busoff
Interwał (liczba mikrosekund), podczas których urządzenie zwolni
magistralę ISA, określony jako dziesiętna liczba całkowita, np. 4
buson
Interwał (liczba mikrosekund), podczas których urządzenie przejmie
magistralę ISA, określony dziesiętną liczbą całkowitą, np. 11
ctl
Port I/O używany do kontroli; podany jako liczba szesnastkowa, np. 0x300
cyl, head,
sect
Parametry geometrii urządzenia określone przez trzy cyfry określające
odpowiednio ilość cylindrów, głowic i sektorów
dev_id
Urządzenie SCSI, z którym komunikuje się adapter SCSI, określony przez
liczbę dziesiętną, np. 2
dma
Kanał DMA (bezpośredniego dostępu do pamięci) używany przez
urządzenie SCSI — opisany liczbą dziesiętna, np. 3
dmaspeed
Szybkość (w MB/s), z którą przepływają dane kanałem DMA, podawana
jako liczba dziesiętna, np. 5
extended
Określa, czy rozszerzona translacja dla dużych dysków jest włączona (1) czy
nie (0)
magic_number
Podaje wartość 79, która powoduje, że sterownik przystępuje do pracy,
nawet jeśli wersja producenta jest nieznana; inne wartości są ignorowane
no_reset
Określa, czy sterownik powinien resetować szynę SCSI, kiedy konfiguruje
adapter podczas startu (1) czy nie (0).
iobase
Port wejścia-wyjścia określony liczbą szesnastkową, np. 0x300
irq
Numer przerwania sprzętowego, określonego jako liczba dziesiętna, np. 5
is_pas_card
Oznacza użycie karty Pro Audio Spectrum (PAS); w innym przypadku nie
należy podawać tej opcji
membase
Początkowy adres rejonu pamięci używanego do mapowania pamięci I/O,
opisany liczbą szesnastkową, np. 0x2000
parity
Określa, czy adapter SCSI używa parzystości (1) czy też nie (0)
pio
Określa, czy używane są wielobitowe instrukcje ins1 i outs1 (1) czy też
jednobitowe inb outb (0)
reconnect
Określa, czy adapter SCSI może się rozłączać i włączać ponownie (1) czy
też ma utrzymywać połączenie do czasu zakończenia operacji (0)
scsi_id
Liczba dziesiętna np. 7 oznaczająca identyfikator (ID) adaptera SCSI
Aby określić odpowiednią wartość dla opcji przedstawionych w tabeli D.5, musisz posiadać wiedzę o sprzęcie.
Procedury opisywane w rozdziale 2. „Przygotowanie do instalacji Linuksa” okażą się niezwykle pomocne.
Argumenty startowe dysków IDE i CD-ROM
Tabela D.6 przedstawia większość powszechnie używanych argumentów związanych z dyskami IDE i CD-
ROM. Aby określić odpowiednie opcje, skorzystaj z tabeli.
Tabela D.6. Wybrane argumenty startowe dysków IDE i CD-ROM
Argument Opis i pozostałe opcje
ide0=
Dysk twardy IDE lub CD-ROM:
•
Ali14xx
, wspierany i badany interfejs
ali4xx
•
Cmd640_vlb
, wspierany i badany chipset
cmd640
(wymagany dla
kontrolerów używających interfejsu VLB)
•
Dtc2278
, wspierany, badany interfejs
dtc2278
•
Ht6560b
, wspierany, badany interfejs
ht6560b
•
Gd6580
, wspierany, badany interfejs
gd6580
•
Umc8672
, wspierany, badany interfejs
umc8672
hdx=
Dysk twardy IDE lub CD-ROM (x oznacza fizyczne urządzenie i jest literą z zakresu
od a do h):
•
Autotune
— oznacza, że sterownik powinien przystąpić do strojenia
interfejsu, na najlepszy tryb i szybkość przesyłu
•
Cdrom
— określa, że napędem jest CD-ROM
•
Cyl
,
head
,
sect
— precyzuje geometrię dysku
•
None
— oznacza, że nie ma napędu — nie przeprowadzać badania
•
Noprobe
— określa, że sterownik nie powinien być badany w poszukiwaniu
urządzenia
•
Nowerr
— oznacza, że bit
WRERR_STAT
powinien zostać zignorowany dla
tego dysku
idex=
Dysk twardy IDE lub CD-ROM (X określa fizyczne urządzenie i jest cyfrą do 0 do 3):
•
Autotune
— oznacza, że sterownik powinien dostroić interfejs do
najszybszego możliwego trybu i szybkości
•
Iobase
— określa port wejścia-wyjścia używany przez urządzenie
•
Iobase
,
ct1
— określa port wejścia-wyjścia i port kontrolny używany przez
urządzenie
•
Iobase
,
ct1
,
irq
— określa port wejścia-wyjścia, port kontrolny i przerwanie
używane przez urządzenie
•
Noautotune
— określa, że sterownik powinien nie przystępować do strojenia
interfejsu
•
Noprobe
— oznacza, że sterownik nie powinien badać interfejsu w
poszukiwaniu urządzenia
•
Serialize
— określa, że operacje wejścia-wyjścia nie powinny się pokrywać
Argumenty startowe dysków CD-ROM (nie IDE)
Tabela D.7 przedstawia większość powszechnie używanych argumentów dla dysków CD-ROM typu nie IDE.
Spójrz do tabel D.5, aby określić właściwą format dla opisanych opcji.
Tabela D.7. Wybrane argumenty dla dysków CD-ROM (nie IDE)
Argument
Opis i opcje
aztcd=
CD-ROM firmy Aztech:
iobase[, magic_number]
cdu31a=
CD-ROM firmy Sony CDU-31A lub CDU-33A:
iobase,[irq[,is_pas_card]
sonycd535=
CD-ROM firmy Sony CDU-535:
iobase[,irq]
gscd=
CD-ROM firmy GoldStar:
iobase
isp16=
CD-ROM firmy ISP16:
[port[,irq[,dma]]] [[,] drive_type]
mcd=
CD-ROM firmy Mitsumi:
iobase, [irq[wait_value]]
optcd=
CD-ROM firmy Optical Storage:
iobase
cm206=
CD-ROM firmy Philips CD206:
[iobase] [,irq]
sjcd=
CD-ROM firmy Sanyo:
iobase[, irq[, dma_channel]]
sbpcd=
CD-ROM firmy SoundBlaster Pro:
iobase, type
Argumenty startowe stacji dyskietek
Kilka systemów wymaga specjalnych argumentów startowych, aby móc używać napędu dyskietek. Tabela D.8
opisuje powszechnie używane argumenty związane z napędem dyskietek. Plik
READEME.fd
z katalogu
linux/drivers/block
opisuje dodatkowe argumenty. Stacje dyskietek, które nie zachowują się normalnie mogą się
popsuć, jeśli podasz opcję
daring
, której należy używać z wielką rozwagą.
Argumenty i opcje
Opis
floppy=asus_pci
Oznacza, że tylko jednostki 0 i 1 są dopuszczane w celu
obejścia problemu z BIOS-em niektórych płyt głównych
firmy ASUS
floppy-daring
Określa, że kontroler stacji dyskietek działa poprawnie,
pozwalając na wydajniejsze operacje
floppy=0, daring
Oznacza, że kontroler stacji dyskietek nie działa za dobrze
(domyślny)
floppy=thinkpad
Oznacza, że system to IBM Thinkpad
floppy=no_unexpected_interrupts
or floppy=L40SX
Oznacza, że powinna być wyświetlona wiadomość, kiedy
niespodziewane przerwanie zostanie otrzymane
Argumenty startowe dla myszy
Dwa argumenty umożliwiają wsparcie myszy magistralowej. Pierwszy wspiera mysz typu Microsoft:
msmouse=
irq
Drugi argument wspiera każdą nie microsoftową mysz magistralową:
bmouse=
irq
Każdy argument akceptuje pojedynczą opcję określającą IRQ związane z myszą.
Argumenty startowe portu równoległego drukarki
Linuksowy sterownik drukarki obsługuje wszystkie dostępne porty równoległe. Jeśli chcesz podłączyć inne
urządzenie niż drukarkę do portu równoległego, musisz poinstruować sterownik drukarki, żeby zarezerwował
odpowiednie porty. Wobec tego podaj argument
lp boot
, który jako opcję przyjmuje listę portów i przerwań
IRQ dla drukarek. Na przykład argument startowy z kolejnego przykładu określa dwie drukarki:
lp=0x3bc, 0, 0x378, 7
Pierwsza drukarka pracuje na porcie
0x3bc
, a druga na
0x378
. Pierwsza używa specjalnego trybu
IRQ-less zwanego inaczej głosowaniem, dlatego IRQ jest ustawione na 0. Druga drukarka używa IRQ 7.
Aby zablokować wszystkie drukarki, wpisz
lp=0
.
Używanie ładowalnych sterowników Ethernetu
Wczesne wersje Linuksa używały tak zwanego monolitycznego jądra. W tym samym czasie, dystrybucje
systemu zawierały zazwyczaj kilka jąder, które oferowały wsparcie dla wielu różnych urządzeń potrzebnych do
uruchomienia i instalacji systemu Linux. Urządzenia nie potrzebne do uruchomienia i instalacji Linuksa — były
urządzeniami drugiej klasy. Aby uzyskać dostęp do specjalnego urządzenia, użytkownicy musieli skonfigurować
i skompilować jądro tak, żeby zawierało wsparcie dla tego urządzenia. Kiedy użytkownik dodawał urządzenie
do systemu, trzeba było często kompilować nowe jądro, co było bardzo niewygodne.
Ostatnie wersje Linuksa posiadają jądro modularne, które na żądanie pozwala dynamicznie uruchomić
sterowniki różnych urządzeń. Teraz jest łatwiej skonfigurować jądro wspierające karty sieciowe i inne
urządzenia specjalne. Debian GNU/Linux jest generalnie zdolny do skonfigurowania pierwszej karty sieciowej
automatycznie, poprzez zbadanie jej w trakcie instalowania systemu Linux.
Jednakże, automatyczne badanie urządzeń nie zawsze przynosi pozytywne rezultaty. Co więcej, jeśli masz
więcej niż jedną kartę sieciową program instalacyjny skonfiguruje tylko pierwszą. Aby zainstalować kolejne
karty, musisz wiedzieć więcej o ładowalnych modułach Linuksa.
Dynamiczne ładowanie modułu sterownika
W celu uruchomienia sterownika modularnego wydaj następujące polecenie:
insmod
sterownik
gdzie sterownik oznacza moduł do wczytania. Tabela D.9 przedstawia listę sterowników
Ethernetu oraz wspierane przez nie karty sieciowe. Na przykład:
insmod ne2k-pci
wczytuje moduł sterownika dla karty NE2000 (PCI).
Tabela D.9. Moduły sterowników Ethernetu i wspierane karty sieciowe
Sterownik Karta
3c501
3Com 3c501
3c503
3Com EtherLink II
3c505
3Com EtherLink Plus
3c507
3Com EtherLink 16
3c509
3Com EtherLink III
3c515
3Com EtherLink XL
8390
National Semiconductor NS8390
A2065
Commodore/Ameristar A2065
Ac3200
Ansel Communications AC3200 (EISA)
Apricot
Apricot 82596
Arcnet
ARCnet COM9026 I COM20020
Ariadne
Village Tronic Ariadne
At1700
Allied Telesis AT1700
Atari_bionet
Atari BIOSNET-100
Atari_pamsnet
Atari PAMsNet
Atarilance
Atari VME Lance
Cops
LocalTalk PC
De4x5
EtherWORKS DE425, DE434, DE435, DE450, DE500, DC21040,
DC21041, DC21142, DC21143
De600
D-Link DE-600
De620
D-Link DE-620
Depca
DEPCA/EtherWORKS DEPCA, DE100, DE101, DE200, DE201,
DE202, DE210, DE422
Dgrs
Digi RightSwitch SE-X
E2100
Cabletron E2100
Eepro
Intel EtherExpress Pro/10
Eepro100
Intel EtherExpress Pro/100
Eexpress
Intel EtherExpress
Epic100
SMC 83c170 EPIC/100
Eth16i
ICL EtherTeam 16i, EtherTeam 32 (EISA)
Ewrk3
EtherWORKS DE203, DE204, DE205
hp-plus
HP PCLAN/Plus
Hp
HP LAN
Hp100
HP J2585A, J2585B, J2970, J2973, J2573Compex
ReadyLink ENET100-VGA4Compex FreedomLine 100/VG
Hydra
Hydra Amiganet
Ibmtr
IBM token ring
Lance
Allied Telesis AT1500HP J2405ANE 2100, 2500
Ne
NE1000, NE2000 (nie PCI)
Ne2k-pci
NE2000 (PCI)
Ni52
Rascal-Interlan NI5210
Ni65
Rascal-Interlan NI5210
Pcnet
Karty AMD oparte na Pcnet32 i PcnetPCI
Rt18139
Karty oparte na chipsetach Ethernet RTL8219 I RTL8139 PCI takie jak:
ALFA GFC2206
Allied Telesyn AT2550
Genius GF100TXR (RTL 8139)
NDC Communications NE100TX-E
SiS 900 (PCI)
SMC 1211TX (PCI)
Smc-ultra
SMC Ultra, UltraEZ, Ultra32
Smc9194
SMC 9000
Tlan
Różne karty Olicom i Compaq
Tulip
Karty oparte na chipsetach DEC 21040/21041/21140/21142/21143, takie
jak:
Accton EtherDuo PCI, EN1207
Adaptec ANA6901/C, ANA6911/TX
C-NET CNE-935
Cogent EM100, EM110, EM400, EM960, EM964
Quartet
Dnanpex EN-9400P3
D-Link DFE500-Tx, DE-530CT, DFE-540TX
Linksys EtherPCI
Kingston EtherX KNT40T, EtherX KNE100TX
Netgear FX310 TX 10/100
SMC EtherPower, 8432BT, EtherPower10/100
Surecom EP-320X
Tulip (cont.)
Thomas Conrad TC 5048
Znyx ZX312 EtherAction, ZX314, ZX315
EtherArray, ZX342, ZX344, ZX345, ZX346, ZX348, ZX351
Wavelan
AT&T/NCR GIS WaveLAN
Wd
WD8003, WD8013
Yellowfin
Packet Engines G-NIC
Kiedy sterownik zostanie wczytany, zazwyczaj bada system w poszukiwaniu wspieranego urządzenia. Jeśli
jednak automatyczne badanie zawiedzie, większość sterowników pozwala na podanie portu wejścia-wyjścia i
przerwania IRQ:
insmod ne2k=pci io=0x280 irq=11
Niektóre karty obsługują dodatkowe opcje, są one szczegółowo opisane w pliku
/usr/src/linux/Documentation/networking/net-modules.txt
.
Wczytywanie modułów sterowników podczas uruchamiania
systemu
Jądro systemu Linux automatycznie wczytuje moduły określone w pliku konfiguracyjnym modułów,
/etc/modules.conf
. Kiedy już więc określisz odpowiedni moduł wraz z opcjami wymaganymi przez kartę
sieciową, możesz wpisać wiersz lub dwa do pliku konfiguracyjnego; w ten sposób karta będzie uruchamiana
automatycznie przy każdym starcie systemu Linux.
Dyrektywa
alias
łączy logiczną nazwę modułu z aktualnym modułem. Logiczne nazwy modułów określają
rodzaj urządzenia np. eth0 (oznaczający pierwszą kartę sieciową) lub eth1 (oznaczający drugą). Załóżmy, że
masz w systemie dwie karty sieciowe: NE2000 (nie PCI) i SMC EtherPower (chpiset DEC firmy TULIP).
Możesz użyć następujących instrukcji, aby automatycznie wczytać oba moduły w czasie startu systemu:
alias eth0 ne
alias eth1 tulip
Jeśli sterownik wymaga opcji, możesz je podać przy użyciu dyrektywy options, która ma następującą składnię:
Option
sterownik argument
=
wartość
[,
wartość
,...]
argument
=
wartość
[,
wartość
,...]...
Na przykład możesz sprecyzować port wejścia-wyjścia i przerwanie IRQ dla karty NE2000 w taki sposób:
options ne io=0x280 irq=12
Większość modułów ISA akceptuje parametr
io=340
i
irq=12
dla polecenia
insmod
. Powinieneś podać te
parametry, aby uniknąć badania karty. W przeciwieństwie do urządzeń PCI, niektórych urządzeń ISA nie można
bezpiecznie przetestować.
Zarządzanie modułami sterowników
Polecenie
lsmod
bez argumentów wyświetla listę załadowanych modułów. Aby odłączyć moduł sterownika,
użyj nazwy sterownika jako argumentu polecenia
rmmod
. Na przykład, aby usunąć sterownik karty ne
(NE2000), wydaj polecenie:
rmmod ne
Poprzez podanie opcji
–a
możesz spowodować, że program
rmmod
odłączy wszystkie nieużywane moduły, to
znaczy każdy moduł nie związany z pracującym urządzeniem.
rmmod –a
Nie możesz usunąć modułu, który jest w użyciu; dlatego musisz najpierw zamknąć urządzenie, zanim usuniesz
moduł. Aby wyłączyć kartę sieciową, wydaj następujące polecenie:
ifconfig eth
n
down
gdzie
eth
n oznacza logiczne urządzenie (np.
eth0
,
eth1
).
Dodatek E
Krótki podręcznik poleceń
Linuksa
Lista obejmuje niektóre z bardziej użytecznych i popularnych poleceń Linuksa. Aby dowiedzieć się więcej na
temat każdej z nich, jego opcji i argumentów przeczytaj strony podręcznika
man
danego polecenia.
adduser
userid
Tworzy nowego użytkownika (userid) i pyta o niezbędne informacje (wymaga przywilejów administratora
systemu).
apropos
słowo_Kluczowe
Przeszukuje strony
man
w celu znalezienia sprecyzowanego słowa kluczowego i wyświetla krótki opis
znalezionych odpowiedników zaczynając od początkowych stron.
at
czas
at –f
plik czas
Wykonuje polecenia wprowadzane poprzez
stdin
(lub przy użyciu drugiej formatu, poprzez sprecyzowany plik)
w określonym czasie. Czas może zostać podany w różnych formatach np. w godzinach i minutach (hh:mm) lub
w godzinach, minutach, dniach, miesiącach i latach (hh:mm mm/dd/yy).
atq
Wyświetla opisy zadań wykonywanych przez polecenie
at
.
atrm
zadanie
Kasuje wykonywanie zadania zaplanowanego poprzez polecenie
at
. Aby zobaczyć zaplanowane zadania
polecenia
at
, użyj polecenia
atq
.
bg
bg
zadania
Umieszcza aktualne zadanie (lub, tak jak w drugim formacie, konkretne zadanie) w tle, tak że natychmiast
pojawia się znak zachęty systemu. Użyj polecenia
jobs
, aby zobaczyć identyfikatory zadań przeprowadzanych
w tle.
cal
miesiąc rok
Wyświetla kalendarz dla określonego miesiąca konkretnego roku.
cat
plik
Wyświetla zawartość danego pliku.
cd
cd
katalog
Zmienia aktualny katalog roboczy na katalog domowy użytkownika lub na inny podany katalog.
chgrp
grupa plik
chgrp –R
grupa plik
Zmienia grupę określonego pliku na grupę sprecyzowaną w wierszu polecenia. Drugi format działa rekursywnie
zmieniając grupę podkatalogom i plikom znajdującym się w danym katalogu. Grupa musi być wpisana w pliku
/etc/groups
.
chmod
tryb plik
chmod –R
tryb plik
Zmienia tryb dostępu do określonego pliku na tryb na podany wierszu polecenia. Alternatywny format działa
rekursywnie zmieniając tryb dostępu podkatalogom i plikom znajdującym się w danym katalogu.
chown
userid plik
chown –R
userid plik
Zmienia właściciela pliku na określonego użytkownika. Drugi format tego polecenia działa rekursywnie
zmieniając właściciela podkatalogom i plikom znajdującym się w danym katalogu.
clear
Czyści ekran terminala.
cmp
plik1 plik2
Porównuje dwa pliki, tworząc raport o ich różnicach. Podobne do polecenia
diff
, z tym że różni się formatem
wyjścia.
cp
plik1 plik2
cp
plik katalog
cp –R
plik katalog
Kopiuje plik do innego pliku lub katalogu; trzeci format powoduje skopiowanie wszystkich podkatalogów wraz
z plikami do innego katalogu.
date
date
data
Wyświetla aktualną datę i czas lub zmienia datę systemową i czas na określoną wartość, która przyjmuje format:
MMddhhmmyy
(miesiąc, dzień, godzina, minuta, rok) lub
MMddhhmmyyyy
(różni się tylko czterema cyframi
dla określania roku).
df
Wyświetla ilość wolnego miejsca na każdej zamontowanej partycji (systemie plików).
diff
plik1 plik2
Porównuje dwa pliki wyświetlając różnice między nimi. Podobne do polecenia
cmp
; różnią się tylko formatem
wyjścia.
dmesg
Wyświetla informacje z ostatniego uruchomienia systemu.
du
du
katalog
Wyświetla ilość miejsca zajmowanego przez katalog roboczy lub inny określony (wariant drugi) katalog i jego
podkatalogi.
echo
ciąg_znaków
echo –n
ciąg_znaków
Wyświetla określony tekst (ciąg_znaków) na standardowym wyjściu. Opcja
–n
powoduje opuszczenie
dołączanych znaków nowego wiersza.
fdformat
urządzenie
Formatuje dyskietkę włożoną do określonego napędu (stacji dyskietek). Polecenie wykonuje tylko formatowanie
niskiego poziomu, nie tworzy systemu plików! Aby utworzyć system plików, użyj polecenia
mkfs
po
sformatowaniu nośnika.
fg
fg
zadania
Przywraca aktualne zadanie (bądź konkretne, określone) do normalnej pracy (czyli nie w tle).
file
plik
Określa typ i wyświetla opis każdego podanego pliku.
find
ścieżka
–name
wzorzec
Szuka w podanej ścieżce plików o nazwach pasujących do podanego wzoru zazwyczaj znajdującego się w
pojedynczym cudzysłowie (wzorzec) i wyświetla ich nazwy. Polecenie posiada wiele opcji i argumentów,
których opis znajdziesz w dokumentacji programu lub na stronach
man
.
finger
userid
Wyświetla informacje na temat określonego użytkownika.
free
Wyświetla ilość używanej i wolnej pamięci systemowej.
ftp
nazwa_hosta
Otwiera połączenie FTP z określonym komputerem, pozwalając na transfer plików pomiędzy systemami.
Program FTP posiada wiele poleceń wewnętrznych służących głównie do transferu plików. Zajrzyj do
dokumentacji tego programu, aby dowiedzieć się więcej.
grep
wzorzec plik
grep –i
wzorzec plik
grep –n
wzorzec plik
grep –v
wzorzec plik
Przeszukuje określone pliki w celu znalezienia tekstu pasującego do podanego wzoru (zazwyczaj objętego
pojedynczym cudzysłowem — 'wzorzec') i wyświetla wyniki (wiersz pliku). Opcja
–i
określa, że wzór ma
być dopasowywany bez względu na wielkość liter. Opcja
–n
oznacza, że każdy wiersz wyjściowy jest
poprzedzany nazwą pliku i numerem wiersza. Opcja
–v
odwraca dopasowywanie, powodując, że są wyświetlane
wiersze, w których nie znaleziono określonego wzoru.
gzip
plik
gunzip
plik
Kompresuje (lub rozpakowywuje) określone pliki. Skompresowany plik ma taką samą nazwę jak plik
oryginalny, z tym że zakończony jest
.gz
.
head
plik
Wyświetla kilka pierszwych wierszy każdego podanego pliku.
hostname
hostname
nazwa
Wyświetla, bądź ustawia nazwę komputera.
info
Uruchamia system pomocy GNU Texinfo
init
poziom_pracy
Zmienia poziom pracy systemu na określoną wartość (wymaga uprawnień administratora —
root
).
insmod
moduł
Ładuje dynamicznie określony moduł (wymaga uprawnień użytkownika
root
).
jobs
Wyświetla wszystkie zadania wykonywane w tle.
ispell
plik
Sprawdza pisownię zawartości określonego pliku.
kill
id_procesu
kill –
sygnał id_procesu
kill –l
Zabija określone procesy; wysyła określonemu procesowi dany sygnał (podany jako nazwa lub numer) lub
drukuję listę dostępnych sygnałów.
killall
program
killall –
sygnał program
Zabija wszystkie procesy, które odnoszą się do konkretnych programów lub wysyła podany sygnał do
wszystkich procesów, które są żądaniami określonego programu.
ln
stary nowy
ln –s
stary nowy
Tworzy sztywne (lub symboliczne) dowiązanie; wiąże nową nazwę z istniejącym plikiem lub katalogiem.
locate
wzorzec
Lokalizuje pliki za pomocą nazw zawierających określony wzór. Używa bazy danych, którą zarządza polecenie
updatedb
.
lpq
Wyświetla zadania umieszczone w kolejce drukowania.
lpr
pliki
Drukuje określone pliki.
lprm
zadanie
Przerywa drukowanie określonego zadania do drukowania. Użyj programu
lpq
do określenia zawartości kolejki
drukowania.
ls
ls
pliki
ls –a
pliki
ls –l
pliki
ls –lR
pliki
Pierwszy i drugi tryb wyświetla pliki (ale nie ukryte) w aktualnym katalogu lub określone pliki i katalogi. Opcja
–a
powoduje wyświetlenie wszystkich plików włączając pliki ukryte; opcja
–l
powoduje wyświetlenie
informacji opisowych takich jak rozmiar pliku oraz czas i datę ostatniej modyfikacji. Opcja
–R
wyświetla
rekursywnie wszystkie podkatalogi określonego katalogu.
Uruchamia prostego klienta poczty, który umożliwia wysyłanie i odbieranie wiadomości pocztowych.
man
nazwa
man
sekcja nazwa
Wyświetla określoną stronę
man
dotyczącą danego polecenia.
mkdir
katalog
mkdir –p
katalog
Tworzy określone katalogi. Opcja
–p
powoduje stworzenie każdego nadrzędnego katalogu potrzebnego do
utworzenia właściwego (określonego w wierszu polecenia).
mkfs –
typ urządzenie
Tworzy system plików określonego rodzaju (np.
msdos
lub
ext2
) na określonym urządzeniu (wymaga uprawnień
root
).
mkswap
urządzenie
Tworzy partycję swap dla systemu Linux na partycji dysku twardego (wymaga uprawnień użytkownika
root
).
more
plik
Pozwala użytkownikowi przeczytać dokładnie plik, który jest za duży, aby można go było wyświetlić na jednym
ekranie wyjściowym. Polecenie
more
dostarcza wielu poleceń wewnętrznych, które pozwalają użytkownikowi
poruszać się po stronach (ekranach). Na przykład, klawisz
Spacji
przewija jedną stronę do przodu, klawisz
b
przewija do tyłu, a klawisz
q
powoduje zakończenie programu
more
.
mount
mount
urządzenie katalog
mount –o
opcje
–t
typ
urządzenie katalog
Pierwszy wariant tego polecenia wyświetla wszystkie zamontowane urządzenia, drugi montuje określone
urządzenie w podanym katalogu (tzw. punkcie montowania — zazwyczaj w podkatalogu
/mnt/podkatalog
).
Polecenie
mount
sprawdza plik
/etc/fstab
, aby określić standardowe opcje związane z danym urządzeniem.
Wykonanie polecenia
mount
wymaga uprawnień administratorskich. Opcja
–o
pozwala na podanie różnych
opcji, na przykład
ro
— dla dostępu do urządzenia w trybie tylko do odczytu (
read-only
). Opcja
–t
pozwala
sprecyzować typ systemu plików (np.
ext2
,
msdos
lub
iso9660
, który jest używany dla dysków CD-ROM).
mv paths
punkt_docelowy
Przenosi określone pliki lub katalogi do podanego celu (pliku lub katalogu).
passwd
passwd
użytkownik
Zmienia hasło aktualnie zalogowanego użytkownika lub określonego użytkownika, co wymaga uprawnień
użytkownika
root
. Program zapyta o nowe hasło i o potwierdzenie nowego hasła.
ping
host
Wysyła żądanie echa poprzez TCP/IP do określonego komputera. Odpowiedź (
echo
) oznacza, że komputer
funkcjonuje.
pr
pliki
Formatuje określone pliki do drukowania, poprzez np. wstawianie stron przerw. Polecenie posiada wiele opcji i
argumentów.
ps
ps –aux
Wyświetla procesy uruchomione przez aktualnie zalogowanego użytkownika. Drugi wariant pozwala na
wyświetlenie wszystkich procesów danego użytkownika wraz z opisami.
pwd
Pokazuje ścieżkę bezwzględną aktualnego katalogu roboczego.
reboot
Ponownie uruchamia system (wymaga uprawnień administratora systemu).
reset
Czyści ekran terminala i resetuje jego status.
rm
pliki
rm –i
pliki
rm –f
pliki
rm –if
pliki
rm –rf
pliki
Usuwa określone pliki lub (kiedy używa opcji
–r
) rekursywnie usuwa wszystkie podkatalogi określonego
katalogu. Opcja
–i
powoduje, że polecenie pyta o zgodę na usunięcie określonego pliku, katalogu bądź
podkatalogów. Opcja
–f
wyłącza potwierdzanie usuwania. Ponieważ usunięte pliki nie mogą być (generalnie)
odzyskane, opcja
–f
powinna być używana z wielką ostrożnością, zwłaszcza jeśli jest używana przez
użytkownika root!
rmdir
katalogi
rmdir –p
katalogi
Usuwa określone puste katalogi lub kiedy podana zostanie opcja
–p
, usuwa puste katalogi wraz z określoną
ścieżką.
shutdown
minuty
shutdown –r
minuty
Zamyka system po określonym czasie (wymaga uprawnień użytkownika
root
). Opcja
–r
powoduje ponowne
uruchomienie systemu (
reboot
) po jego uprzednim zamknięciu.
sleep
czas
Powoduje wstrzymanie interpretera poleceń na określoną ilość sekund.
sort
pliki
Sortuje określone pliki. Plecenie posiada wiele użytecznych argumentów, sprawdź w dokumentacji.
split
plik
Rozdziela plik na kilka mniejszych plików. Polecenie posiada wiele opcji i argumentów o których możesz
przeczytać w dokumentacji.
su
su
użytkownik
su –
su –
użytkownik
Zmienia aktualnego użytkownika na root lub na określonego użytkownika (druga opcja wymaga uprawnień
administratora).
swapon
urządzenie
Włącza użycie określonego urządzenia dla operacji
swap
(wymaga uprawnień użytkownika
root
).
swapoff
urządzenie
Wyłącza użycie określonego urządzenia dla operacji
swap
(wymaga uprawnień użytkownika
root
).
sync
Kończy wszystkie oczekujące operacje wejścia-wyjścia. Wszystkie dane zmagazynowane w buforach zostają
wysłane do ich miejsc przeznaczenia (wymaga uprawnień użytkownika
root
).
tail
plik
tail –n
plik
tail –f
plik
Wyświetla kilka ostatnich linii określonego pliku. Opcja
–n
określa ilość końcowych wierszy do wyświetlenia.
Opcja
–f
powoduje, że polecenie wyświetla dodatkowe wiersze, które są dopisywane do pliku (w czasie
rzeczywistym).
talk
użytkownik
Uruchamia program, który pozwala na komunikację (dialogową) z określonym użytkownikiem.
tar cvf
plik_tar pliki
tar zcvf
plik_tar pliki
Tworzy archiwum tar o określonej nazwie, zawierające podane pliki i ich podkatalogi. Opcja z powoduje, że
archiwum zostanie skompresowane.
tar xvf
plik_tar
tar zxvf
plik_tar
Rozpakowuje zawartość określonego archiwum
tar
. Opcja
z
oznacza, że archiwum zostało skompresowane.
telnet
host
Otwiera zdalną sesję logowania na określonym komputerze.
top
Wyświetla procesy systemowe, które są aktualizowane w równych odstępach czasu, do czasu aż użytkownik nie
wciśnie kalwisza
q
, który kończy pracę programu.
traceroute
host
Określenia drogę, jaką przebywają pakiet do określonego komputera.
umount
urządzenie
Odmontowuje określony system plików (wymaga uprawnień użytkownika
root
).
uptime
Wyświetla czas pracy systemu (jak długo już działa bez przerwy).
w
Wyświetla aktualnie zalogowanych użytkowników systemu.
wall
Wysyła wiadomość do każdego użytkownika oprócz tego, który wyłączył otrzymywanie wiadomości. Wciśnij
Ctrl+D
, aby zakończyć wiadomość.
wc
plik
Wyświetla ilość znaków, słów oraz wierszy dla określonego pliku.
Tabela E.1 identyfikuje polecenia systemu Linux, które działają podobnie do poleceń systemu MS-DOS.
Operacje wykonywane przez polecenia Linuksa nie są tożsame z poleceniami systemu MS-DOS. Zajrzyj do
spisu tej książki lub do dokumentacji systemu Linux, aby dowiedzieć się więcej na temat poleceń tego systemu.
Tabela E.1. Polecenia MS-DOS i ich odpowiedniki w systemie Linux
MS-DOS Linux
ATTRIB
chmod
CD
cd
CHKDSK
df, du
DELTREE
rm –R
DIR
ls –l
DOSKEY Wbudowany,
nie
ma
potrzeby
oddzielnie uruchamiać
EDIT
ae, vi
itd.
EXTRACT
tar
FC
cmp, diff
FDISK
fdisk
FIND
grep
FORMAT
fdformat
MORE
more
MOVE
mv
SORT
sort
START
at, bg
XCOPY, XCOPY32
cp