PLD Linux Distribution

Podręcznik użytkownika, administratora i twórcy


Spis treści
I. Informacje podstawowe
Wprowadzenie
Streszczenie
Konwencje użyte w tej książce
O tym podręczniku
Krótka historia PLD
Informacje o PLD
Oficjalne wersje PLD
Model rozwoju PLD Linux Distribution
Projekty związane z PLD
Zasoby sieciowe PLD
Ważne adresy
Źródła obrazów ISO
Serwery z pakietami
Historia powstania naszego logo
Wstęp
Loga duże
Ikony do umieszczania na stronach WWW
Ikony stworzone przez użytkowników
Galeria rysunków Karola Kreńskiego
II. Instalacja
Instalacja systemu
Wymagania
Przygotowanie
Instalacja
Po instalacji
Instalacja przy użyciu chroota
Wstęp
Przygotowanie
Instalacja
Konta użytkowników
Operacje końcowe
Aktualizacje
Aktualizacja z Ra do Ac
III. Podręcznik użytkownika
Podstawy
Wstęp
Włączanie i wyłączanie systemu
Podstawowe operacje na plikach i katalogach
Poruszanie się w drzewie katalogów
Data i czas
Edycja plików konfiguracyjnych
Podstawowe narzędzia kontroli sieci TCP/IP
Proxy
Zasoby systemu
Ilość miejsca na dysku
Procesy i zasoby
Jak sprawdzić kto jest zalogowany oprócz nas?
IV. Podręcznik administratora
Zarządzanie pakietami
Informacje podstawowe
Cechy pakietów w PLD
Architektury pakietów
Źródła pakietów
Budowanie pakietów
Poldek
RPM
Bezpieczeństwo
Zaawansowane operacje
Bootloader
Wstęp
LILO
GRUB
rc-boot
Kernel i urządzenia
Jądro systemu
Parametry jądra
Moduły jądra
Statyczne zarządzanie modułami
Udev - dynamiczna obsługa sprzętu
Initrd
Urządzenia
Konfiguracja systemu
Podstawowe ustawienia
Ustawienia konsoli
Internacjonalizacja
Myszka pod konsolą
Strefa czasowa
Zegar
Zmienne środowiskowe
PLDconf - Narzędzie do konfiguracji systemu
Kluczowe pliki
Pamięci masowe
Wstęp
Nazewnictwo urządzeń masowych
Podział na partycje
Systemy plików
Formatowanie
RAID programowy
LVM
Naprawa
Administracja
Ratowanie systemu
Zarządzanie podsystemami i usługami
Zmiana poziomu pracy systemu
Konta użytkowników
Grupy
Zarządzanie uprawnieniami
Bezpieczeństwo
Interfejsy sieciowe
Wstęp
Podstawowa konfiguracja sieci
Ethernet
WiFi
Neostrada+ z modemem USB firmy Sagem
Neostrada+ z modemem USB firmy Alcatel - Thompson
xDSL z interfejsem Ethernet
Zaawansowane opcje interfejsów
Zastosowania sieciowe
Routing statyczny
NAT
Podział łącza w zależności od serwisów
PPP over SSH - Tunel IPv4
VTun - Tunel IPv4
Narzędzia sieciowe
Usługi dostępne w PLD
Usługi - wstęp
ALSA - Dźwięk w Linuksie
Apache - Serwer stron internetowych
BIND - Serwer Nazw
CRON - Cykliczne wykonywanie zadań
CUPS - Popularny system druku dla Uniksa
DHCPD - Dynamic Host Configuration Protocol Daemon
Exim - Transport poczty elektronicznej (MTA)
Heimdal - Implementacja protokołu Kerberos
Jabber 2 - Serwer typu Instant Messaging
MySQL - System Zarządzania Relacyjnymi Bazami Danych (ang. RDBMS)
NFS - Network File System
PDNS (Power DNS) - Serwer Nazw
Postfix - Transport poczty elektronicznej (MTA)
PostgreSQL - Baza danych SQL
ProFTPD - serwer FTP
Samba - współpraca z Windows
Snort - Sieciowy System Wykrywania Włamań
Syslog-ng
X-Window
Wstęp
X-Server
Zaawansowane
Środowisko GNOME
Środowisko KDE
Blackbox - Szybki i lekki zarządca okien
Fluxbox - Następca BlackBoxa
Uruchamianie środowiska graficznego
Karty firmy nVidia
Karty firmy ATI
V. Tworzenie PLD - Praktyczny poradnik
Możliwa droga do zostania szeregowym developerem PLD
Co jest potrzebne
Źródła wiedzy
Przykład budowania
Pierwszy spec
W krainie CVS - czyli wielki kocioł
Wstęp
Dodawanie plików do CVS PLD
Aktualizacja plików
Zatwierdzanie zmian i Distfiles
Odnogi (Branche) i Etykiety (Tag)
Zlecenia dla builderów
Zakończenie
VI. O podręczniku
O podręczniku
Autorzy dokumentacji PLD
Licencja i prawa autorskie
Tłumaczenie Licencji GNU Wolnej Dokumentacji

Wprowadzenie

Streszczenie

Dziękujemy za zainteresowanie się PLD Linux Distribution!

W tym rozdziale przedstawione zostaną różne aspekty dotyczące projektu PLD, takie jak jego historia, cele, model rozwoju, itp.


Konwencje użyte w tej książce

Aby jak najlepiej zrozumieć i przyswoić informacje zawarte w tym podręczniku, warto zapoznać się wpierw z użytymi konwencjami.

$ komenda

W ten sposób opisywane są komendy, które wykonać możemy z uprawnieniami użytkownika.

# komenda

Tutaj natomiast przedstawiona została komenda, którą należy wykonać z poziomu użytkownika root, czyli administratora.

Zbyt długie linie zrzutów ekranowych, które nie mieszczą się w jednej linii, podzielone są przy pomocy znaku \. Czyli:

# komenda z_bardzo_\
długim_parametrem

należy zinterpretować jako:

# komenda z_bardzo_długim_parametrem

W dokumentacji dosyć często korzysta się z następującej konstrukcji:

{$zmienna}

Tak oznaczane są miejsca, w których użytkownik może lub musi samodzielnie dokonać wyboru i wstawić w miejsce ciągu znaków {$zmienna} odpowiednią wartość.

Niejdnokrotnie w nazwach plików pojawia się znak "gwiazdki", który należy odczytywać podobnie jak robi to powłoka (shell), a więc zastępuje dowolny ciąg znaków, przykładowo:

/katalog/plik.*
oznacza wszytskie pliki zaczynjące się od plik. w katalogu /katalog.


O tym podręczniku

Celem tego podręcznika jest pomoc w zainstalowaniu PLD Linux Distribution na Twojej maszynie. Nie jest to i nigdy nie będzie zamiennik dokumentacji systemowej. Jeśli będzie to Twoja pierwsza instalacja Linuksa, gorąco zachęcamy Cię do przeczytania wpierw tego podręcznika. Nawet jeśli jesteś doświadczonym użytkownikiem, warto przestudiować instrukcje dotyczące instalacji, aby upewnić się, że wszystko pójdzie gładko.

Oprócz niniejszej dokumentacji możemy szukać pomocy w wielu innych miejscach. Prężnie działają listy dyskusyjne oraz oficjalne kanały IRC (#PLD i #PLDhelp). Na często zadawane pytania (FAQ) odpowiedzi można znaleźć na głównej stronie WWW.

Jeśli uważasz, że dokumentacja jest niepełna, znalazłeś błędy, lub chciałbyś do nas dołączyć prosimy o wysłanie informacji na listę dyskusyjną lub o kontakt z jednym z autorów dokumentacji, których listę zamieszczono w sekcja Autorzy dokumentacji PLD w rozdział O podręczniku


Krótka historia PLD

Wraz ze wzrostem zainteresowania Linuksem w Polsce, rosły naciski na stworzenie polskiej dystrybucji tego systemu. Niemal wszyscy jej chcieli, a niektórzy nawet mówili, że już takową robią. Nic jednak z tego nie wynikało. Wreszcie, w lipcu 1998, zawiązał się projekt mający na celu stworzenie polskiej dystrybucji Linuxa. Projekt PLD, czyli Polish(ed) Linux Distribution, był na tyle dobrze zorganizowany, by przetrwać trudne początki. Nie obeszło się oczywiście bez burzliwych dyskusji na temat kształtu dystrybucji, doboru oprogramowania jak również wersji jądra, na której projekt ma być rozwijany. W efekcie zdecydowano się prowadzić równolegle dwa projekty. Pierwszy został nazwany PLD-devel i był forpocztą dla obecnego PLD-stable. Prace nad 1.1 PLD (devel) koordynowali przede wszystkim Wojtek Ślusarczyk, Marcin Korzonek i Arek Miśkiewicz. Miała to być pierwsza dystrybucja Linuxa zgodna z nowym, promowanym przez OpenGroup, standardem - Unix98. Równolegle druga grupa, na czele z Tomkiem Kłoczko i Arturem Frysiakiem, pracowała nad podwalinami właściwej PLD-stable.

Nieco później, przede wszystkim z braku wolnego czasu z prac nad projektem wycofali się Wojtek Ślusarczyk, Andrzej Nakonieczny oraz Marcin Korzonek. Tomasz Kłoczko postanowił kontynuować prace nad PLD, gromadząc wokół siebie coraz to większą liczbę developerów. Pojawiła się domena pld.org.pl, a wraz z nią liczne adresy "funkcjonalne", takie jak ftp.pld.org.pl, www.pld.org.pl czy cvs.pld.org.pl. Ruch na listach mailingowych stawał się coraz większy, widać było, iż projekt zyskiwał na popularności.

22 listopada 2002 roku światło dzienne ujrzała pierwsza stabilna wersja dystrybucji PLD Linux Distribution 1.0 (Ra). Jeszcze w czasie jej stabilizacji rozpoczęły się prace nad kolejną wersją.

Twórcy projektu zakładali uniwersalność PLD, która pozwalałaby na korzystanie z dystrybucji przez użytkowników z całego świata, jednak pojawiły się obawy, że nazwa Polish(ed) Linux Distribution odstraszy potencjalnych odbiorców z innych krajów. Postanowiono, że zmieniona zostanie nazwa projektu. Pozostawiono charakterystyczny skrót "PLD" w niezmienionej postaci, zmieniono zaś jego rozwinięcie - nazwa "PLD" stała się rekurencyjnym skrótem od PLD Linux Distribution.


Informacje o PLD

Podstawowe informacje

PLD-Linux jest dystrybucją rozwijaną głównie w Polsce. Jest to produkt grupy entuzjastów Linuksa chcącej stworzyć system operacyjny dopasowany do własnych potrzeb. Aktualnie rozwojem dystrybucji interesuje się około 200 osób, z pośród nich najbardziej aktywna jest grupa 50 deweloperów.

PLD jest jednym z najaktywniejszych projektów Open Source na świecie. Dzięki temu powstała jedna z największych dystrybucji Linuksa, w trakcie prac nad drugą wersją systemu (Ac) ilość dostępnych pakietów zbliżyła się do trzynastu tysięcy.


Założenia PLD

Jedną z największych bolączek administratorów jest chroniczny brak czasu, dlatego bardzo istotne jest zminimalizowanie nakładu pracy przy codziennych zajęciach administracyjnych. Mając to na uwadze, stworzono dystrybucję, która zapewnia wysokie bezpieczeństwo i łatwość administracji. PLD jest tak projektowane by w możliwie najkrótszym czasie uruchomić bezpieczny, wydajny i łatwy w zarządzaniu system produkcyjny. Założono, że administrator nie może tracić czasu na kompilację jądra, programów czy też pisania rc-skryptów.

PLD jest uniwersalną i elastyczną dystrybucją, dzięki czemu sprawdzi się w różnorodnych zastosowaniach. Przy jej tworzeniu, główny nacisk jest jednak kładziony na niezawodne działanie usług. Utarło się nawet powiedzenie, że PLD jest dystrybucją tworzoną przez administratorów dla administratorów, mamy więc do czynienia z systemem dobrze przygotowanym do pracy w roli serwera.

Nie oznacza to bynajmniej, że PLD nie nadaje się na system dla stacji roboczej, doskonale sprawdza się również w tym zastosowaniu. Zwykły użytkownik nie znajdzie tu wielu ułatwiających życie początkującym narzędzi, aby używać PLD konieczna jest solidna porcja wiedzy. Mamy nadzieję, że niniejszy podręcznik będzie pomocny w jej zdobyciu.

Poniżej przedstawiono zestawienie najciekawszych cech systemu.


System

  • w systemie dostępne są silnie zmodularyzowane jądra, dzięki czemu w ogromnej większości wypadków nie trzeba go kompilować na nowo; wystarczy wybrać właściwy kernel i załadować potrzebne moduły

  • w PLD zastosowano skrypty startowe (rc-skrypty) typu System-V, Pozwoliło to na maksymalne zautomatyzowanie procesu instalacji usług systemowych.

  • podobną koncepcją do rc-inetd kierowano się w tworzeniu pakietu rc-boot, pozwala on na łatwe zarządzania bootloaderami

  • używanie FHS 2.x jako specyfikacji struktury katalogów

  • całkowite odejście od termcap i libtermcap (w PLD nie ma pakietu z libtermcap i samego termcapa; ani jeden pakiet nie jest związany z termcapem)

  • uporządkowane rozmieszczenia plików w gałęzi /usr - żaden pakiet dystrybucyjny nie umieszcza plików w katalogach wewnątrz /usr/local


Bezpieczeństwo

  • domyślne jądro zawiera grsecurity

  • restrykcyjne uprawnienia dla użytkowników

  • przystosowanie do łatwego przejścia systemu na alternatywne metody autoryzacji (i -- w zależności od potrzeb -- szyfrowania) komunikacji po sieci, jak PAM, czy GSAPI, TSL/SSL... Jest bardzo prawdopodobne, że już w niedługiej perspektywie dużą rolę zacznie tu odgrywać SASL. W praktyce owo łatwe dostosowywanie do np. kerberyzacji systemu jest realizowane także z użyciem rc-inetd, która to platforma ułatwia znakomicie podmianę różnych serwisów na wersje skerberyzowane czy też wykorzystujące inne mechanizmy jak np. socks5 (tutaj jeszcze jest mało zrobione, ale furtka jest szeroko i jednoznacznie otwarta)

  • mechanizm sys-chroot ułatwiający zarządzanie środowiskami typu chroot oraz dobre wsparcie dla środowisk Linux VServer


Sieć

  • PLD posiada najlepszą obsługę przyszłościowego protokołu IPv6 z pośród innych dystrybucji Linuksa.

  • używanie iproute2 jako podstawowego narzędzia do operowania na interfejsach sieciowych, dzięki czemu np. skrypty startowe z PLD są prostsze i krótsze mimo większej funkcjonalności w stosunku do swoich odpowiedników z RH; inną zaletą jest wsteczna kompatybilność z opisem interfejsów sieciowych z tym, co jest stosowane w initscripts z RH; kolejną cechą skryptów startowych jest to, że -- w zależności od preferencji użytkownika -- mogą one wyświetlać wszystkie komunikaty po polsku

  • PLD zawiera rc-inetd - interfejs do zarządzania usługami typu inetd. Pozwala zarządzać takimi usługami (np.: telnetd, cvs-pserver) bez znaczenia jakiego typu demon inetd jest używany


Pakiety

  • PLD zawiera ogromne ilości gotowych, binarnych pakietów; pozwala to uniknąć instalacji oprogramowania spoza dystrybucji

  • w dystrybucji używane są pakiety typu RPM, do zarządzania nimi stworzono program o swojsko brzmiącej nazwie Poldek, można też używać klasycznego programu RPM

  • możliwość samodzielnego budowania pakietów RPM pozwoli na łatwe skompilowanie pakietu z nietypową funkcjonalnością

  • znaczna liczba programów podzielona jest na mniejsze pakiety, pozwalające instalować tylko te elementy systemu, które są akurat potrzebne

  • pakiety często są wstępnie skonfigurowane i gotowe do działania, ponadto nakładane są na nie istotne łaty

  • w PLD nie są faworyzowane żadne z usług czy programów. To czego używamy zależy tylko od nas

  • pełne przygotowanie pakietów do automatycznego uaktualnienia. Pakiety z RH kompletnie nie są na to przygotowane. Przygotowanie to wiąże się z restartowaniem serwisów przy ich uaktualnieniu, odpowiednim przygotowywaniem procedur uaktualnienia w taki sposób, by umożliwić automatyczną aktualizację nawet przy zmianie plików konfiguracyjnych

  • kompresowanie wszystkich plików dokumentacji z użyciem gzip (bzip2 nic w praktyce tu nie wnosi, a dostarcza tylko nowych kłopotów, czego doświadczają od czasu do czasu użytkownicy Mandrake)

  • separacja bibliotek statycznych w osobne podpakiety {$nazwa}-static (nie każdy tego potrzebuje), a nagłówków do {$nazwa}-devel

  • uzupełnianie opisów pakietów i dokumentacji w różnych językach. W dużej części robi się to niejako przy okazji. Użytkownik może sobie skonfigurować i zainstalować wybrane oprogramowanie ze wsparciem dla preferowanego zestawu języków, np.: angielski i niemiecki czy też angielski i polski (zasoby dla innych języków zostaną pominięte). Tak unikalną możliwość konfiguracji osiągamy dzięki konsekwentnemu oznaczaniu zasobów narodowych makrem %lang() w poszczególnych pakietach


Cechy użytkowe

  • PLD jest systemem przyjaznym dla programisty. Dostępne są narzędzia do tworzenia aplikacji w wielu językach programowania. Dotyczy wielu "standardowych" języków programowania takich jak C, C++, Perl czy Python. Dostępne są też kompilatory do nieco mniej znanych języków takich jak SML, Prolog, OCaml jak też eksperymentalne kompilatory: Cyclone, Ksi. Dodatkowo mamy wybór wielu narzędzi programistycznych i bibliotek.

  • maksymalna automatyzacja różnych powtarzalnych czynności (dotyczy to zarówno metodologii bieżącej pracy jak i zawartości pakietów)

  • dystrybucja jest przystosowana do obsługi wielu języków narodowych, a w tym języka polskiego. Jest to najlepiej przygotowana dystrybucja na potrzeby polskich użytkowników

  • brak nałożonych z góry ograniczeń co do zestawu pakietów, jakie mogą być w dystrybucji. W praktyce oznacza to, że użytkownik ma do dyspozycji wszystko, co udało się nam zebrać, Jeżeli coś zostanie opracowane i przystosowane do tego, żeby mogło współgrać z resztą pakietów, to znaczy, że komuś było potrzebne, więc może komuś przydać się w przyszłości


Oficjalne wersje PLD

W PLD oficjalnym wersjom dystrybucji nadawane numery oraz dwuliterowe oznaczenia kodowe, które pochodzą od skrótowych oznaczeń pierwiastków. Pierwszej wersji PLD nadano oznaczenie Ra (Rad), zaś kolejne odpowiadają nazwom pierwiastków poukładanych zgodnie z kolejnością określoną przez ich liczbę atomową.

Zazwyczaj jednych i drugich oznaczeń można używać zamiennie, jednak w niektórych wypadkach używa się jedynie oznaczeń cyfrowych, tak oznacza się uaktualnione wersje dystrybucji. Przykładowo nazwa Ra odnosi się zarówno do PLD 1.0 jak i jej zaktualizowanej wersji - PLD 1.1.

Tabela 1. Wersje PLD

WersjaPierwiastekData wydaniaStatus
Ra: 1.0, 1.1Rad (88)22.11.2002stabilna, zakończone wsparcie
Ac: 2.0Aktyn (89)01.04.2007stabilna
Th: 3.0Tor (90)nie ustalonowczesne stadium rozwoju

Model rozwoju PLD Linux Distribution

Rozwój PLD Linux Distribution przebiega w sposób otwarty i elastyczny. Efekt końcowy to wynik nakładu wielu osób, nie tylko developerów posiadających prawo zapisu do repozytorium CVS (o którym poniżej), ale także użytkowników zgłaszających informacje o błędach lub nadsyłających poprawki lub propozycje zmian. Z chęcią przyjmiemy nowych developerów, a osoby chcące być bardziej związane z projektem powinny zapisać się na listę dyskusyjną developerów pld-devel-pl@lists.pld-linux.org.

Informacje o PLD i sposobie jego rozwoju:

  • Repozytorium CVS

    Źródła PLD Linux Distribution trzymane są w repozytorium CVS (Concurrent Versions System, http://www.cyclic.com/CVS/index.html), wolnodostępnym systemie kontroli wersji dostarczanym wraz z naszą dystrybucją. Serwer CVS PLD Linux Distribution (http://cvs.pld-linux.org/) jest dostępny dla wszystkich w trybie tylko dla odczytu (Read Only), oraz dodatkowo w trybie do odczytu/zapisu (Read/Write) dla developerów. Repozytorium zostało podzielone na kilka modułów w celu ułatwienia pracy osobom doń commitującym (określenie commit pochodzi z podręcznika systemowego cvs).

  • Serwer DistFiles

    W zamierzchłych czasach wszystkie pliki (a więc kody źródłowe, łatki (patche), poprawki, itp) potrzebne do zbudowania pakietów trzymane były w repozytorium. Niestety CVS nie został zaprojektowany do przechowywania plików binarnych (a archiwum tar.gz takim jest) i próba zmuszenia go do przechowywania takowych dostarczała różnych problemów. A to osoba posiadające stosunkowo wolne łącze zaczęła wrzucać kilkudziesięcio megabajtowy plik, skutecznie blokując możliwość pracy innym developerom na kilka godzin. Uciążliwe były też pozostające tzw. 'locki', czyli blokady na modułach repozytorium (przede wszystkim SOURCES/). Rozwiązaniem tych problemów było wprowadzenie w maju 2003 roku serwera DistFiles, do którego przeniesiono większość plików binarnych z CVS.

  • Core Developers Group

    Gdyby PLD Linux Distribution było firmą, Core Developers Group najtrafniej można by określić jako Radę Nadzorczą. Jej celem jest podejmowanie w sposób demokratyczny krytycznych dla dystrybucji decyzji oraz rozwiązywanie konfliktów, których nie dało się zażegnać w inny sposób. W skład Grupy wchodzą developerzy aktywnie udzielający się w projekcie.

  • Lista dyskusyjna pld-devel-pl@lists.pld-linux.org

    Na liście tej prowadzone są dyskusje na temat bieżących prac nad dystrybucją, jak również ustalane są plany na przyszłość. Jeśli nie posiadasz prawa zapisu do repozytorium, a chciałbyś podzielić się efektami swych prac z innymi, lista ta jest najlepszym miejscem na poinformowanie o tym fakcie.

  • Buildery

    Mianem builderów określane są specjalnie przygotowane środowiska (często na dedykowanych maszynach), na których budowane są pakiety, które później zostaną umieszczone na serwerach FTP projektu. Każda z linii dystrybucji ma swoje oddzielne buildery, stworzone z pakietów dla niej przeznaczonych.

    Nie wszyscy developerzy mają prawo do puszczania zleceń na buildery, czyli rozkazów zbudowania poszczególnych pakietów - przywiliej ten ma ledwie garstka osób, zaznajomionych z automatyką oraz znających potrzeby danej dystrybucji. Rzadko kiedy zachodzi potrzeba bezpośredniego grzebania w strukturze danego środowiska - codzienna praca opiera się na wysyłaniu odpowiednio przygotowanych maili, podpisanych kluczem PGP osoby uprawnionej.

  • Nest

    Kolejnym istotnym elementem rozwoju projektu jest Nest. Jak samo rozwinięcie skrótu (Never Ending STory) wskazuje, prace nad tą linią nigdy się nia zakończą. Jest to niejako "materialne" odzwierciedlenie bieżących prac w CVS projektu - wszelkie zmiany w rezpozytorium powodują przebudowanie danego pakietu na builderach Nest. Oczywiście, może to doprowadzić do sytuacji, gdy środowisko to będzie niespójne, jednak w przypadku tej "linii" jest to zjawisko całkowicie normalne i akceptowalne, dlatego osoby chcące trzymać rękę na pulsie powinny się dwa razy zastanowić, gdyż przejście na Nesta może (ale nie musi) doprowadzić do sytuacji, gdy po kolejnym upgradzie pakietów system przestanie funkcjonować.


Projekty związane z PLD

  • Rescue CD

    Jest to niewielka dystrybucja startująca z płyty CD, bez konieczności instalacji na twardym dysku. Zawiera zestaw wyspecjalizowanych narzędzi pomocnych w przypadku usuwania awarii systemu. Rescue CD oparto o jądro PLD i wyposażono w zestaw najbardziej niezbędnych programów, dzięki czemu udało się uzyskać niewielkie rozmiary dystrybucji. Pozwala to załadowanie całości do pamięci operacyjnej, a następnie a wyjęcie płyty CD z czytnika. Lista dostępnych programów jest umieszczona na domowej stronie WWW projektu.

  • PLD Live CD

    Projekt mający na celu stworzenie kompletnej dystrybucji Linuksa startującej z płyty CD, zawiera znaczną ilość narzędzi i programów użytkowych. PLD Live jest przygotowane dla zwykłych użytkowników chcących bliżej poznać PLD, zawiera system X Window i liczne programy użytkowe. Z założenia w PLD Live dokonywano jak najmniej zmian w stosunku do bazowej dystrybucji - PLD, ta cecha, oraz możliwość instalacji całości na dysku twardym, daje nam gotowe, w pełni skonfigurowane PLD.

  • NEST (Never Ending STory)

    Użytkownicy mogą się zetknąć także z tworem o nazwie NEST. Jego nazwa po rozwinięciu jest dokładnym odzwierciedleniem jego funkcji. Jest roboczą, automatycznie tworzoną "dystrybucją" z najnowszych dostępnych pakietów. Pakiety te nie przeszły okresu testowania, a więc używanie takiej dystrybucji jest praktycznie niemożliwe.

  • DC (Devil's Compilation)

    Po wydaniu stabilnej wersji Ra, użytkownicy chcieli mieć dostęp do nowych wersji programów, prace nad nową wersją dystrybucji jeszcze nie ruszyły, zaś NEST nie nadawał się do użytku. Kilku deweloperów PLD postanowiło stworzyć coś co zapełni tę lukę - tak oto powstało DC. Mimo że Devil's Compilation było odrębną inicjatywą, to znalazło grono zainteresowanych z pośród użytkowników PLD. Po rozpoczęciu prac nad PLD 2.0 projekt DC przestał być potrzebny i został zaniechany.


Zasoby sieciowe PLD


Ważne adresy


Źródła obrazów ISO

Obrazy ISO są katalogowane wg. schematu {$serwer}/{$wersja}/{$arch} np.: ftp.iso.pld-linux.org/2.0/i586. Wersje systemu szerzej opisano w sekcja Oficjalne wersje PLD w rozdział Wprowadzenie, zaś architektury w sekcja Architektury pakietów w rozdział Zarządzanie pakietami.

Dla każdego z obrazów ISO dostępna jest suma MD5, umieszczona w pliku o rozszerzeniu md5. Dzięki niej będziemy mogli sprawdzić przed nagraniem czy pobrany obraz nie zawiera żadnych zmian. Do obliczenia skrótów MD5 w pod systemami uniksowymi posłużymy się programem md5sum, zaś w systemach Microsoftu użyjemy dostępnego na serwerze programu md5sum.exe.

Serwery FTP z obrazami ISO:


Serwery z pakietami

Pakiety są katalogowane wg. schematu {$serwer}/dists/{$wersja}/{$źródło}/{$arch} np.: ftp.pld-linux.org/dists/2.0/PLD/i586/. Wersje systemu szerzej opisano w sekcja Oficjalne wersje PLD w rozdział Wprowadzenie, źródła w sekcja Źródła pakietów w rozdział Zarządzanie pakietami, zaś architektury w sekcja Architektury pakietów w rozdział Zarządzanie pakietami.

PLD możemy zainstalować z sieci za pomocą protokołu FTP, HTTP lub RSYNC. Pakiety możemy pobierać z głównego serwera PLD lub z jednego z wielu lustrzanych.


FTP - serwer podstawowy


FTP - serwery lustrzane


HTTP - serwer podstawowy


HTTP - serwery lustrzane


RSYNC

Osoby zainteresowane udostępnianiem serwera lustrzanego przy pomocy protokołu RSYNC proszone są o kontakt z nami w celu uzyskania szczegółowych informacji:


Historia powstania naszego logo

Wstęp

Pomysł na nasze logo zrodził się w głowie Agnieszki Sloty. Projekt graficzny został stworzony przez Marcina Mierzejewskiego (Kevin) i Maćka Zielińskiego.


Loga duże

  • Może być używane tylko wtedy, gdy:

    • produkt z logiem jest używany zgodnie z udokumentowanymi na www.pld-linux.org zasadami (na przykład oficjalne płyty CD)

    • uzyskają aprobatę PLD Linuksa do używania loga w określonych celach

  • Część całkowitego produktu uznana jest oficjalnie za należącą do PLD (tak jak jest to opisane w punkcie pierwszym) i jeśli posiada wyraźnie zaznaczone informacje, że tylko ta cześć została zatwierdzona

  • Zastrzegamy sobie prawo do unieważnienia i modyfikacji licencji dla danego produktu

Pozwolenie na używanie oficjalnego loga zostało przyznane dla wszelkiego typu odzieży (t-shirty, czapki, itd) ale pod warunkiem, że są one wykonywane przez developerów PLD i nie są sprzedawane dla zysku.

Wyjaśnienie: Licencja "zapożyczona" z Debiana.

Rysunek 1. Logo główne

Rysunek 2. Logo główne z cieniowaniem


Ikony do umieszczania na stronach WWW

Powered by PLD Linux

To logo i jego zmodyfikowane wersje mogą być zamieszczane dla podkreślenia poparcia dla projektu, lecz nie oznacza ono, że dany produkt jest częścią projektu.

Przypomnienie: docenimy jeśli dodasz do obrazka link wskazujący na www.pld-linux.org i umieścisz go na swojej stronie.

Rysunek 3. Ikona na www 1

Rysunek 4. Ikona na www 2

Rysunek 5. Ikona na www 3

Rysunek 6. Ikona na www 4

Rysunek 7. Ikona na www 5

Rysunek 8. Ikona na www 6


Ikony stworzone przez użytkowników

To logo i jego zmodyfikowane wersje mogą być zamieszczane dla podkreślenia poparcia dla projektu, lecz nie oznacza ono, że dany produkt jest częścią projektu.

Przypomnienie: docenimy jeśli dodasz do obrazka link wskazujący na www.pld-linux.org i umieścisz go na swojej stronie.

Rysunek 9. Ikona stworzona przez "muche"

Rysunek 10. Ikona stworzona przez Łukasza "Baseciq" Mozera


Galeria rysunków Karola Kreńskiego

Pod tym adresem http://www.inf.sgsp.edu.pl/pub/MALUNKI/PLD/ Karol Kreński "Mimooh" umieścił sporą galerię obrazków związanych z PLD Linux Distribution


Instalacja systemu

Ten rozdział prezentuje instalację systemu.


Wymagania

Minimalne wymagania w przypadku architektury x86:

  • procesor minimum klasy 386

  • 16 MB pamięci RAM (ze swapem przynajmniej 32MB)

  • 50MB wolnego miejsca na dysku twardym

  • napęd CD-ROM lub stacja dyskietek 3,5 cala


Przygotowanie

Instalator

Nośniki na których umieszczany jest instalator:

  • Główna płyta CD (base iso)

    Jest to pierwsza z pełnych płyt CD, wystarcza do zainstalowania najważniejszych pakietów, aby zainstalować całość dystrybucji musisz zaopatrzyć się w pozostałe płyty. Lista serwerów z których pobierzemy obrazy ISO znajduje się w sekcja Źródła obrazów ISO w rozdział Zasoby sieciowe PLD.

  • Dyskietki

    Mamy do dyspozycji kilka dyskietek zawierających instalator lub dodatkowe moduły jądra. Oprócz nich konieczne będzie jeszcze jakieś źródło pakietów (sieć/CD-ROM/dysk twardy).

    Główne obrazy dyskietek (bootdisk_cd.img, bootdisk_net.img, bootdisk_pcmcia.img) obsługują jedynie najpowszechniej używany sprzęt, jeśli nasz nie jest obsługiwany, to instalator poprosi o jedną z dodatkowych dyskietek z modułami jądra. Z tego względu na wszelki wypadek można pobrać pliki o nazwie addons{$numer}.img

    Obraz dyskietki i resztę pakietów możemy pobrać z głównego serwera lub jednego z serwerów lustrzanych, listę adresów znajdziemy w sekcja Serwery z pakietami w rozdział Zasoby sieciowe PLD. Przykładowo użyjemy adresu: ftp.pld-linux.org/dists/{$wersja_PLD}/PLD/{$arch}/PLD/images/ ({$wersja_PLD} to interesująca nas wersja PLD zaś {$arch} oznacza architekturę procesora). Dostępne są obrazy dyskietek dla następujących architektur: i386, i586, i686 oraz athlon.


Instalacja z sieci

Jeżeli masz wystarczająco szybkie łącze możesz zainstalować system z sieci. W tym procesie mamy do wyboru instalację pakietów przy pomocy protokołów: FTP, HTTP lub NFS.

Możemy użyć MINI-ISO, pierwszej płyty instalacyjnej lub dyskietki. W przypadku dyskietki musimy użyć obrazu bootdisk_net.img lub bootdisk_pcmcia.img (urządzenia sieciowe PCMCIA).

Możemy też zainstalować rdzeń systemu z MINI-ISO lub pierwszej płyty instalacyjnej, a następnie kontynuować proces instalacji za pośrednictwem sieci z działającego już systemu.


Instalacja z płyty CD-ROM

Używamy w tym celu pierwszej z pełnych płyt CD (base) lub wszystkich dostępnych obrazów.

Jeśli BIOS naszej maszyny nie potrafi uruchamiać systemu operacyjnego z płyty CD, musimy wspomóc się dyskietką i obrazem bootdisk_cd.img. Po uruchomieniu instalatora z dyskietki jako źródło pakietów wybieramy CD-ROM.


Instalacja z dysku twardego

Istnieje możliwość instalacji z lokalnego dysku twardego, użyjemy do tego obrazu dyskietki bootdisk_cd.img. Musimy jeszcze przegrać zawartość obrazu płyty CD do katalogu na jednej z partycji dyskowych.


Dodatkowe informacje

Pobrane z internetu obrazy dyskietki nagrywamy poleceniem

# dd if=bootdisk.img of=/dev/fd0

lub przy pomocy programu rawrite.exe pod systemem Windows/DOS. Program rawrite.exe możemy pobrac przykładowo z ftp.pld-linux.org/dists/{$wersja_PLD}/PLD/{$arch}/PLD/dosutils/.

PLD jest przygotowane dla wielu architektur sprzętowych, zanim więc przystąpisz do instalacji upewnij się że wybierzesz właściwą wersję. Więcej na ten temat można znaleźć w sekcja Architektury pakietów w rozdział Zarządzanie pakietami


Instalacja

Wstęp

Jeżeli pierwszy raz instalujesz Linuksa, lub jesteś bardzo początkującym użytkownikiem warto abyś wiedział kilka rzeczy. Na początek zapoznaj się ze sposobem oznaczania dysków i partycji opisanych dokładniej w sekcja Nazewnictwo urządzeń masowych w rozdział Pamięci masowe

Kiedy już zaopatrzymy się we właściwy nośnik, uruchamiamy komputer i czekamy na pojawienie się ekranu instalatora. Zaczniemy od poznania sposobu poruszania się po instalatorze, do przesuwania/przewijania tekstu bądź opcji używasz "strzałek" na klawiaturze, wybór akceptujesz klawiszem ENTER. Klawiszem TAB poruszasz się pomiędzy opcjami instalatora.


Zaczynamy

Widząc standardowy ekran zgłoszeniowy naciskamy ENTER i czekamy aż uruchomi się instalator. Wybieramy język - w naszym przypadku polski. Przeczytawszy krótkie wprowadzenie jesteśmy w instalatorze.

Rysunek 1. Jesteśmy w instalatorze

Teraz pojawiło nam się menu, w którym mamy do wyboru sposoby instalacji. Jeżeli posiadasz większą niż podstawową wiedzę nt. linuksa możesz wybrać "Standartowe UI", gdzie większość opcji umieszczona jest na jednym przejrzystym ekranie. Także kolejne opcje pozwolą ustawić partycje, wybrać pakiety, prekonfigurować system oraz ustawić bootmanagera. Do edycji partycji mamy do wyboru program fdisk lub parted.

My wybieramy jednak opcję "Automagiczny Instalator", który sam przeprowadzi nas gładko przez proces instalacji.


Źródło

Instalacja z sieci

Doszliśmy do momentu gdzie musimy ustawić parametry źródła, skąd będzie instalował się system. Jeżeli korzystamy z bootkietek musimy dobrać odpowiednią w stosunku do źródła z którego będziemy pobierali pakiety.

Rysunek 2. Wybór źródła

Powyżej widzimy ekran wyboru źródła ,ja wybrałem instalację z sieci, jednak instalacja z płyty cd, dysku twardego czy nfs-u nie będzie znacząco się różniła.

Rysunek 3. Instalujemy z ftp

Następnie wybieram serwer ftp/http z którego chcę instalować system, oraz ścieżkę do źródeł. Jeżeli masz w pobliżu jakiś mirror pld możesz skorzystać z niego, zamiast oficjalnego serwera.

Kolejne dwa ekrany to konfiguracja karty oraz połączenia sieciowego. Wybrane parametry zależą od posiadanego sprzętu i topologii sieci, wiec nie ma co nad tym się rozwodzić.


Instalacja z cdromu

Jeżeli instalujesz system z płytek musisz zaopatrzyć się albo w miniiso, albo przynajmniej w pierwszą (base) płytkę.

Rysunek 4. Źródło - cdrom

W menu wyboru źródła wybieramy cdrom. Nie jest ważne czy instalujemy cały system z płytek, czy tylko miniiso.

Rysunek 5. Wybór urządzenia

Teraz możemy wybrać urządzenie, które służy w naszym systemie jako cdrom. System powinien znaleźć i zaznaczyć istniejący w systemie napęd, jednak jeżeli mamy więcej niż jeden to tutaj należy zaznaczyć w którym znajduje się płytka instalacyjna. Możesz także ustawić katalog w którym znajdują się pakiety, jednak jeżeli używasz oficjalnych płytek nie należy nic tutaj zmieniać.

Możesz teraz przejść do kolejnego kroku, czyli ustawień partycji.


Partycje

Nadszedł czas na konfigurowanie partycji. Możemy wybrać proponowane przez instalator ustawienia albo skorzystać z bardzo przyjemnego narzędzia o nazwie parted. Jako, że na dysku możemy mieć inny system (Windows) lepiej dla bezpieczeństwa ustawić partycje ręcznie.

Rysunek 6. Ustawianie partycji

Wybierając opcję "ustaw partycje ręcznie" przechodzimy do parted

Rysunek 7. Parted - interfejs

Interfejs jak widać jest bardzo prosty i intuicyjny. Jeżeli mamy jakieś wolne miejsce możemy utworzyć nową partycje, stworzyć macierz RAID, albo przeedytować istniejącą już partycję. UWAGA! Jeżeli posiadasz nowy sprzęt, możesz mieć problemy z instalacją systemu na raidzie. Problem ten wynika z tego, iż system, który właśnie instalujesz może nie obsługiwać Twojego raida.

Wchodząc w menu "Akcje" przechodzimy do menu edycji partycji.

Rysunek 8. Parted - tworzenie partycji

Możemy zmienić punkt montowania, system plików, rozmiar albo usunąć partycję.

Po dokonaniu edycji tablicy partycji, oraz ustawieniu punktów montowań możemy opuścić parted i przejść do dalszej części instalacji.


Wybór pakietów

Przechodzimy teraz do kolejnej części instalacji, czyli wyboru pakietów.

Rysunek 9. Wybór pakietów

Mamy do wyboru następujące gotowe zestawy pakietów. Przy każdym zestawie jest jego krótka charakterystyka, więc nie ma sensu się rozpisywać. Wybieramy taki zestaw jaki nam najbardziej pasuje, jednak nie warto przesadzać z pakietami, np stacja robocza z gnome nie będzie bardzo nadawała się na router. Po zainstalowaniu systemu będziesz zmuszony usunąć masę niepotrzebnych pakietów, przez co stracisz mnóstwo czasu.

Dalej mamy możliwość szczegółowej selekcji pakietów, jeżeli ufamy instalatorowi możemy pominąć ten krok, jeżeli natomiast znamy się trochę na linuksie wybieramy powyższą opcję i wchodzimy do menu.

Rysunek 10. Grupy pakietów

Na ekranie widzimy zaznaczone grupy pakietów, możemy zaznaczać dodatkowe, albo zrezygnować z dotychczas wybranych. Możemy także rezygnować z pojedynczych pakietów z grup wchodząc w opcję standartowe pakiety. Pod linkiem "Wybierz opcjonalne pakiety" widzimy menu dzięki któremu mamy możliwość bardziej spersonalizowanego wyboru interesujących nas pakietów.

Kolejnym krokiem jest pytanie czy chcemy zainstalować dokumentację, na które lepiej odpowiedzieć twierdząco. Mamy także możliwość wyboru wersji językowych dokumentacji. Jeżeli nie jesteśmy pewni, możemy zostawić domyślne ustawienia, czyli "ALL", jednak gdy chcemy mieć dokumentację tylko po polsku i angielsku wpisujemy "pl:pl_PL:en:en_US". Należy pamiętać, że może zdarzyć się sytuacja iż pakiet nie ma jeszcze polskiej dokumentacji, więc zawsze warto zaznaczyć język angielski.

Następne kroki to prekonfiguracja instalowanego systemu.


Prekonfiguracja systemu

Dotarliśmy do punktu gdzie musimy ustawić podstawowe parametry instalowanego systemu.

Rysunek 11. Partametry sieci

Pierwszym krokiem będzie ustawienie parametrów sieci (jeżeli mamy do niej dostęp). Jeżeli wcześniej wybraliśmy instalację przez sieć, możemy zastosować te same preferencje także w naszym systemie, jeżeli jednak instalujemy z jakiegoś nośnika (cdrom, dysk) należy ręcznie wpisać ustawienia, lub pobrać je z serwera dhcp.

Rysunek 12. Hasło administratora

Kolejny krok to ustawienie hasła użytkownika root. Ten punkt chyba nie wymaga komentarza. Należy ustawić w miarę bezpieczne hasło, bo jak wiadomo serwer jest tak bezpieczny jak jego najsłabsze ogniwo :) Możemy również zlecić wygenerowanie hasła instalatorowi.

Następną czynnością jest ustawienie kont(a) użytkowników, możemy zrobić to teraz, albo po instalacji używając polecenia useradd.

Rysunek 13. Strefa czasowa

Pozostał jeszcze wybór strefy czasowej i synchronizacja (lub nie) zegara systemowego z UTC, i na tym kończymy prekonfigurację systemu.


Bootmanager

Przyszła kolej na ustawienie bootmanagera. Jeżeli pld to nasz jedyny system na dysku możemy pominąć ten krok, w przeciwnym przypadku musimy dodać wpisy innych systemów, aby była możliwość uruchomienia ich przy starcie komputera. Oczywiście jeżeli nie chcemy teraz konfigurować bootmanagera można zawsze to zrobić po ukończeniu instalacji, edytując plik /etc/lilo.conf.

Rysunek 14. Możliwość wyboru konfiguracji bootloadera

Wybieramy więc opcję "konfiguruj bootloader", która uruchamia skrypt konfigurujący.

Rysunek 15. Bootloader - wpisy

Jak widać nie mamy jeszcze żadnych wpisów, wybieramy "Stwórz nową pozycję" aby dodać jakiś system operacyjny. Należy tutaj pamiętać iż wpisujemy istniejące systemy na lokalnych dyskach, oprócz tego, który właśnie instalujemy.

Rysunek 16. Wybór systemu

Pierwszym krokiem jest wybór systemu który chcemy ładować. Wybieramy np. DOS, następnie podajemy lokalizacje partycji na jakiej znajduje się system i przechodzimy do konfiguracji wpisu.

Rysunek 17. Konfiguracja wpisu

Jak widać na powyższym przykładzie, musimy wpisać etykietę - czyli nazwę jaka będzie nam się wyświetlała przy starcie komputera. Nazwa jest dowolna, jednak nie należy przesadzać z długością i lepiej nie używać polskich znaków. Dwa kolejne pola, czyli "system" i "katalog /" mamy już wypełnione automatycznie. Jeżeli dodajemy innego linuksa należy podać lokalizację jądra systemu (kernela) oraz initrd jeśli mamy. W systemie DOS/Windows te pola są zbędne.

Rysunek 18. Gotowy wpis

Po ustawieniu etykiety i zatwierdzeniu zmian możemy obejrzeć nasz(e) wpis(y). Jeżeli mamy więcej systemów dodajemy je po kolei, po skończeniu opuszczamy konfigurator przechodząc do kolejnej opcji.

Rysunek 19. Lokalizacja bootloadera

Ostatnią rzeczą jaką musimy zrobić aby zakończyć proces konfiguracji bootloadera to wybór urządzenia na jakim ma być on zainstalowany. Najlepszym rozwiązaniem jest instalacja go w MBR (Master Boot Record) dysku z którego jest ładowany system. Jeżeli jednak nie jesteśmy pewni co do tego (lub nie wiemy co to jest MBR) najlepiej zostawić opcję auto, dzięki której instalator sam wybierze najlepsze urządzenie.


Kończenie instalacji

Pozostała nam ostatnia rzecz, czyli instalacja pakietów. W tej części nie będziemy musieli nic robić, oprócz czekania. Więc jeżeli wybraliśmy instalację z sieci i jakiś większy zestaw pakietów możemy zaopatrzyć się w jakąś książkę i poczytać, bo proces instalacji trochę potrwa :)

Słowo komentarza na temat tego, co się dzieje na ekranie:

Rysunek 20. Instalator tworzy partycje

Tutaj widzimy jak system tworzy partycje, oraz system plików na nich. W zależności od wielkości partycji i szybkości dysku może to trochę potrwać.

Rysunek 21. Instalacja pakietów

Dalej po pobraniu indeksów system przechodzi do instalacji pakietów (więcej o tym co to są indeksy w rozdziale poświęconym poldkowi). To jest najdłuższa część instalacji.

Rysunek 22. Instalacja zakończona :)

Jeżeli nie wystąpiły żadne błędy zobaczysz taki ekran. Teraz wystarczy tylko zrestartować system, wyciągnąć płytkę/dyskietkę z napędu, bądź ustawić bootowanie z dysku na którym zainstalował się bootmanager (najczęściej /dev/hda) i mamy gotowy system :)


Po instalacji

Po instalacji system uruchamiany jest w trzecim "poziomie pracy". Jeśli dana maszyna będzie korzystała z X-Window to zapewne zechcemy aby korzystała z piątego poziomu, o zarządzaniu poziomami pracy przeczytamy w sekcja Zmiana poziomu pracy systemu w rozdział Administracja.

Instalator pozostawił w systemie pliki zawierające szczegóły instalacji, oto ich lista:

  • /var/log/installer - szczegółowy dziennik instalacji

  • /etc/installer.conf - lista ustawień instalatora

  • /etc/installer.pkgs - lista wybranych pakietów

  • /etc/installer.sysconf - wstępna konfiguracja systemu

Ostatni z wymienionych plików zawiera hasła administratora i dodanych użytkowników. Są one zapisane czytelnym tekstem, więc jeśli upewnimy się, że nie są już nam potrzebne to powinniśmy te dane usunąć. Dostęp do tych plików ma tylko administrator, jednak w sprawach bezpieczeństwa należy kierować się dalece posuniętą ostrożnością.

Jeśli wybraliśmy jedną z minimalnych wersji systemu, to teraz powinna nastąpić właściwa część instalacji pakietów. W tym celu należy użyć programu Poldek, jego opis odnajdziemy w sekcja Poldek w rozdział Zarządzanie pakietami


Instalacja przy użyciu chroota

Instalacja systemu przy użyciu chroot


Wstęp

Mamy możliwość zainstalowania PLD przy pomocy innego systemu operacyjnego, sposób ten ma tę zaletę, że daje nam okazję dobrego poznania PLD już na etapie instalacji, a ponadto umożliwia wykonanie bardziej wyrafinowanych operacji, które są niedostępne z poziomu instalatora. Ta metoda instalacji pozwala zainstalować bardzo małą wersję systemu, (ok. 120MB), która wystarcza do uruchomienia systemu, skonfigurowania sieci, Poldka i pobrania kolejnych pakietów.

Do instalacji możemy użyć działającej dystrybucji, jednak najwygodniejsze będzie użycie dystrybucji typu live: RescueCD lub PLD-Live. Użycie systemu z płyty CD ma tą zaletę, że instalacja może być wykonywana na docelowej maszynie, co ułatwi nam stworzenie prawidłowego obrazu initrd. Do instalacji Th należy użyć RescueCD 2.90 lub nowszej (kiedy się pojawią), zaś do instalacji Ac - jednej ze starszych wersji np. 2.01.

Osoby ciekawe jak wygląda przebieg instalacji "na żywo", mogą obejrzeć nagranie przykładowej instalacji.

Uwaga! W niniejszym rozdziale nie zawarto wielu zbyt szczegółowych opisów, dlatego w przypadku drukowania na papierze może być konieczne dodrukowanie innych rozdziałów dokumentacji.


Przygotowanie

Uruchomienie

W przypadku instalacji z działającego systemu musimy podłączyć dysk twardy do komputera i uruchomić go. W przypadku płyty CD typu live - w BIOS-ie maszyny docelowej włączamy opcję startu systemu z płyty, a następnie umieszczamy nośnik w napędzie i czekamy na start systemu.

Współczesne dystrybucje typu live same wykrywają sprzęt i ładują odpowiednie moduły kernela, jeśli jednak to się nie powiedzie to musimy wtedy wykonać tę operację samodzielnie, więcej na ten temat w sekcja Statyczne zarządzanie modułami w rozdział Kernel i urządzenia. Interesują nas jedynie moduły kontrolera ATA/SATA/SCSI oraz interfejsu sieciowego.


Partycje/woluminy

System możemy zainstalować na klasycznych partycjach dyskowych, woluminach LVM lub programowych macierzach, instalacja z chroot-a daje w tej kwestii dużą swobodę. Opis tworzenia woluminów LVM przedstawiliśmy w sekcja LVM w rozdział Pamięci masowe zaś macierzy w sekcja RAID programowy w rozdział Pamięci masowe. Dla ułatwienia jednak dalsze przykłady będą dotyczyły zwykłych partycji.

Potrzebujemy co najmniej dwóch partycji: jednej na główny system plików i drugiej na obszar wymiany. Obszar wymiany, nie jest wymagany do instalacji, jednak dla porządku utworzymy go już na tym etapie. Przykłady będą dotyczyły dysku /dev/hda. Nazewnictwo urządzeń masowych wyczerpująco przedstawiono w sekcja Nazewnictwo urządzeń masowych w rozdział Pamięci masowe.

Na uprzywilejowanej pozycją będą tym razem użytkownicy kompletnych systemów, które umożliwiają użycie programu GParted lub QTParted, w przeciwnym wypadku użyjemy programu fdisk lub cfdisk np.:

# cfdisk /dev/hda
Podział dysku na partycje szerzej opisano w sekcja Podział na partycje w rozdział Pamięci masowe. Zakładamy, że na pierwszej partycji dysku IDE umieścimy obszar wymiany, zaś na drugiej główny system plików.


Systemy plików

Inicjujemy obszar wymiany:

# mkswap /dev/hda1
Tworzymy system plików (np. ext2):
# mkfs.ext2 /dev/hda2
Powyższe operacje omówiliśmy dokładnie w sekcja Systemy plików w rozdział Pamięci masowe.

Zapamiętujemy układ partycji i systemów plików, gdyż będzie on nam potrzebny do prawidłowego skonfigurowania pliku /etc/fstab. Teraz przyszedł czas na utworzenie punktu montowania i podmontowania partycji np.:

# mkdir /pldroot
# mount /dev/hda2 /pldroot

Jeśli system ma używać większej ilości partycji (np. dla /boot) to montujemy je wszystkie.


Konfiguracja sieci

Założyliśmy, że będziemy instalować pakiety z sieci, dlatego musimy skonfigurować połączenie. W opisach przyjęliśmy, że maszyna jest podłączona do sieci Ethernet.

W przypadku RescueCD system domyślnie próbuje pobrać konfigurację z DHCP, dlatego od razu po uruchomieniu powinniśmy mieć działającą sieć. Jeśli w sieci nie ma takiego serwera to musimy statycznie przydzielić parametry połączenia. Zakładając, że chcemy ustawić adres 192.168.0.2 z maską /24 parametry pliku konfiguracji interfejsu (np.: /etc/sysconfig/interfaces/ifcfg-eth0) powinny mieć następujące wartości:

DEVICE=eth0
IPADDR=192.168.0.2/24
ONBOOT=yes
BOOTPROTO=none
W pliku /etc/sysconfig/static-routes dodajemy trasę routingu do bramy (np.: 10.0.0.254):
eth0 default via 10.0.0.254
W pliku /etc/resolv.conf podajemy przynajmniej jeden adres serwera DNS:
nameserver 193.192.160.243
Na koniec przeładowujemy podsystem sieci:
# service network restart
Konfigurację sieci szerzej opisano w sekcja Wstęp w rozdział Interfejsy sieciowe.


Proxy

Jeśli potrzebujemy skorzystać z proxy ustawiamy odpowiednią zmienną środowiskową np.:

# export ftp_proxy=w3cache.dialog.net.pl:8080
Szczegóły konfiguracji proxy odnajdziemy w sekcja Proxy w rozdział Podstawy.


Konfiguracja Poldka

Zaczynamy od ustawienia najlepiej dopasowanej architektury instalowanych pakietów, za pomocą opcji _pld_arch w pliku /etc/poldek/pld-source.conf. Więcej o architekturach pakietów w sekcja Architektury pakietów w rozdział Zarządzanie pakietami. Dobrym pomysłem jest ustawienie opcji, umożliwiającej precyzyjne wybieranie alternatywnych pakietów (dla nieco bardziej zaawansowanych):

choose equivalents manually = yes
w pliku /etc/poldek/poldek.conf.

Teraz tworzymy katalog na indeksy Poldka np.:

# mkdir -p /pldroot/var/cache/poldek-cache
Następnie w konfiguracji Poldka musimy wskazać ten katalog, odszukujemy w pliku /etc/poldek/poldek.conf opcję cachedir, w której definiujemy ścieżkę do katalogu:
cachedir = /pldroot/var/cache/poldek-cache


Instalacja

Instalacja pakietów

Zanim zaczniemy instalować pakiety musimy mieć świadomość, że zachodzi między nimi wiele zależności. Zostaną zainstalowane wszystkie wymagane dodatkowo pakiety, jednak nie mamy wpływu na kolejność instalacji. Zdarza się, że pakiet wymaga pliku lub programu, którego jeszcze nie ma w instalowanym systemie, przez co nie mogą być wykonane pewne operacje poinstalacyjne. Pojawią się nam wtedy na ekranie komunikaty błędów, nie należy się tym martwić, gdyż naprawimy ten problem reinstalując pakiet. Musimy jedynie wywołać instalację z opcją --reinstall

Instalację rozpoczynamy od inicjacji bazy danych pakietów:

# rpm --root /pldroot --initdb

W tej części instalacji zainstalujemy kolejno pakiety: setup, FHS, dev, pwdutils, chkconfig, dhcpcd, poldek, vim (lub inny edytor), geninitrd, modutils, cpio, bootloader lilo lub grub. Możemy dodatkowo zainstalować wiele innych pakietów, jednak możemy spokojnie to wykonać z działającego już systemu.

Mamy możliwość użycia trybu interaktywnego Poldka:

# poldek --root /pldroot

poldek> install setup FHS dev pwdutils chkconfig dhcpcd poldek vim geninitrd \
modutils cpio lilo mount login mingetty
lub wsadowego
# poldek --root /pldroot -i setup FHS dev pwdutils chkconfig \ 
dhcpcd poldek vim geninitrd modutils cpio lilo mount login mingetty

Jeśli zdecydowaliśmy sie macierze dyskowe, to powinniśmy zainstalować dodatkowo pakiety: mdadm i mdadm-initrd (jeśli jest na głównym systemie plików). Jeśli używamy woluminów logicznych (LVM) to potrzebujemy pakiety odpowiednio lvm2 i lvm2-initrd.


Przygotowanie do instalacji kernela

Przed instalacją jądra musimy wykonać operacje konieczne do prawidłowego wygenerowania initrd:

  • Montujemy pseudo-system plików /proc:

    # mount /proc /pldroot/proc -o bind

  • Konfigurujemy plik /etc/fstab, tak by wpisy odpowiadały wybranemu przez nas układowi partycji i systemów plików. Dla przykładów z początku rozdziału wpisy będą wyglądały następująco.:

    /dev/hda1 swap swap defaults 0 0
    /dev/hda2 /    ext2 defaults 0 0
    Więcej w sekcja Kluczowe pliki w rozdział Konfiguracja systemu.

  • Dokonać odpowiednich koniecznych operacji konfiguracyjnych w przypadku korzystania z macierzy RAID (plik /etc/mdadm.conf) lub woluminów LVM (/etc/lvm/lvm.conf).


Instalacja kernela

Musimy wybrać, który kernel zainstalujemy, na początek powinniśmy się zainteresować pakietami: kernel, kernel-grsecurity i ew. ich odmiany z SMP. W wyborze może pomóc nam opis kerneli w sekcja Jądro systemu w rozdział Kernel i urządzenia. Kiedy już wybraliśmy, instalujemy wybrany pakiet:

# poldek --root /pldroot -i kernel
Jeśli nie pominęliśmy żadnego kroku, to powinien nam się wygenerować prawidłowy obraz initrd, w przeciwnym wypadku musimy to wykonać samodzielnie wg. opisu zamieszczonego w sekcja Initrd w rozdział Kernel i urządzenia.


Bootloader

Jeśli wybraliśmy LILO jako bootloader to powinniśmy odpowiednio zmodyfikować plik konfiguracji (/etc/lilo.conf), w przypadku użytej w przykładach konfiguracji będzie wyglądał następująco:

boot=/dev/hda
read-only
lba32
prompt
timeout=100

image=/boot/vmlinuz
	label=pld
	root=/dev/hda2
	initrd=/boot/initrd

Kiedy konfiguracja jest skończona wydajemy polecenie:

# chroot /pldroot /sbin/lilo

W przypadku GRUB-a plik konfiguracji (/boot/grub/menu.lst) powinien tak wyglądać:

timeout 10

title  pld
root (hd0,1)
kernel /boot/vmlinuz boot=/dev/hda
initrd /boot/initrd
Teraz instalujemy bootloader:
# chroot /pldroot /sbin/grub
Kiedy zgłosi się nam powłoka GRUB-a kolejno wydamy następujące polecenia:
grub> root (hd0,1)
grub> setup (hd0)
grub> quit

Konfigurację bootloadera wyczerpująco przedstawiono w sekcja Wstęp w rozdział Bootloader. Jeśli gałąź /boot ma być na macierzy to powinniśmy umieścić bootloader na wszystkich wchodzących w skład tej macierzy dyskach, szczegóły tej operacji przedstawiliśmy w sekcja RAID programowy w rozdział Pamięci masowe.


UDEV

Jeśli chcemy używać systemu urządzeń udev, to jest doskonała okazja żeby go zainstalować. Podstawowe pakiety wymagają urządzeń z pakietu dev, dlatego możemy go zainstalować dopiero teraz:

# poldek --root /pldroot -i udev
# poldek --root /pldroot -e dev
Urządzenia, dev oraz udev zostały opisane w sekcja Urządzenia w rozdział Kernel i urządzenia.


Konta użytkowników

Aby móc się zalogować do nowego systemu musimy nadać hasło dla root-a:

# chroot /pldroot /usr/bin/passwd

Nic nie stoi na przeszkodzie, żeby utworzyć konta użytkowników i skonfigurować uprawnienia. W tym celu posłużymy się narzędziami z pakietu shadow lub pwdutils, zanim to jednak zrobimy musimy ustalić z jakiej powłoki będą korzystać użytkownicy. Domyślnie oba pakiety ustawiają użytkownikom powłokę /bin/bash, dlatego przy tworzeniu kont musimy ustawić ją na /bin/sh, lub zainstalować Basha.

Zakładając, że mamy zainstalowanego Basha dodajemy konto użytkownika następująco:

# chroot /pldroot /usr/sbin/useradd -m jkowalski
# chroot /pldroot /usr/bin/passwd jkowalski
Szczegółowy opis narzędzi z pakietu pwdutils znajdziemy w sekcja Konta użytkowników w rozdział Administracja.


Operacje końcowe

Przed restartem musimy odmontować systemy plików:

# umount /pldroot/proc
# umount /pldroot

Na koniec wpisujemy polecenie reboot, wyjmujemy płytę z napędu i czekamy aż uruchomi się nowy system.


Aktualizacje

Aktualizacja systemu PLD z RA do AC


Aktualizacja z Ra do Ac

Gdy mamy zainstalowane już na dysku PLD 1.x, aby przejść do 2.0 (AC) nie musimy od nowa instalować całego systemu. Możemy posłużyć się skryptem ra2ac. Pakiety z tego skryptu standardowo pobierane są z ftp. Czynnością którą musimy wykonać zanim posłużymy się skryptem to aktualizacja kernela do wersji 2.4.x. Gotowe pakiety możemy pobrać z dwóch źródeł w zależności od architektury.

Cała aktualizacja systemu sprowadzi się do uruchomienia skryptu i ręcznej rekonfiguracji nowych wersji usług.

Należy pamiętać, że AC jest na kernelu 2.6, lub 2.4 do wyboru, w tych kernelach nie ma ipchains-ów, zamiast tego jest narzędzie nazywające się iptables. Pomimo iż służy do tego samego, regułki mają inną składnie. W kernelach 2.4 i 2.6 niektóre moduły urządzeń inaczej się nazywają, więc na to też należy być przygotowanym.

Skrypt jest przeznaczony dla ludzi, którzy wiedzą co robią i mają ogólne pojęcie o linuksie, jeżeli jesteś początkującym użytkownikiem PLD, to lepszą decyzją będzie od nowa zainstalowanie systemu.

Pierwszym krokiem powinno być zrobienie kopii zapasowej plików konfiguracyjnych - najlepiej przekopiować gdzieś cały katalog /etc, jeżeli masz np. postgresa, to ważne jest abyś zrzucił gdzieś bazy. O innych ważnych usługach i zmianach w konfiguracjach powinniśmy poczytać wcześniej. Wiele nowszych pakietów, stare pliki konfiguracyjne przekopiuje do plików z rozszerzeniem *.old

Zainstalowanego na komputerze kde lub gnome najlepiej jest usunąć (łącznie z katalogami i plikami zaczynającymi się od .kde i .gnome w katalogach domowych użytkowników) - gdyż zmiany są bardzo duże i praca ze starymi ustawieniami powoduje często wadliwą prace. Generalnie ważne jest aby aktualizować jak najmniejszą liczbę pakietów, wtedy wszystko powinno pójść w miarę gładko. Resztę pakietów można później ręcznie doinstalować po aktualizacji.

Teraz pobieramy z cvsu skrypt ra2ac poleceniem:

# cvs -d :pserver:cvs@cvs.pld-linux.org:/cvsroot get raac-converter
cvs server: Updating raac-converter
U raac-converter/ChangeLog
U raac-converter/TODO
U raac-converter/ra2ac

Lub korzystamy z adresu www

Następnie uruchamiamy ra2ac:

# sh raac-converter/ra2ac

Czekamy aż skończy się instalowanie pakietów, na przewijające się niespełnione zależności i błędy nie zważamy :)

I na samym końcu najbardziej nieprzyjemna część aktualizacji - konfiguracja. Należy teraz większość usług jeszcze raz przekonfigurować, część usług będzie potrzebowała tylko przekopiowania konfigu z Ra, jednak inne (np. exim, postfix) wymagają od administratora edycji nowych plików konfiguracyjnych. Ważne jest żeby poczytać w dokumentacji o zmianach w plikach konfiguracyjnych między wersjami które mieliśmy w RA, a wersjami występującymi teraz po skończeniu działania skryptu.

III. Podręcznik użytkownika


Podstawy

W tym rozdziale znajdziesz podstawowe komendy i czynności, które powinieneś znać.


Wstęp

Dokument, który aktualnie czytasz zawiera minimalny zestaw instrukcji i porad koniecnych do instalacji i zarządzania dystrybucją PLD Linux. Większość opisywanych mechanizmów i narzędzi ma o wiele większe możliwości, aby je poznać powinniśmy używać podręczników systemowych info i man (przestarzały). Aby z nich korzystać musisz je zainstalować (o ile nie są już zainstalowane) poleceniami:

poldek -U man
poldek -U info
W skrócie z podręcznika korzystamy następująco:
info {$hasło}
{$hasło} może być nazwą programu, biblioteki, pliku konfiguracyjnego. Dodatkową dokumentację odnajdziemy w katalogu /usr/share/doc, tam też możemy odnaleźć przykładowe pliki konfiguracji, historię zmian programu, licencje i wiele innych informacji.

Jeśli szukasz prostego narzędzia o konkretnych możliwościach możemy przejrzeć dokumentację systemową zestawu coreutils:

info coreutils

Możesz również szukać pomocy na listach dyskusyjnych, IRC-u, czy forum. Listę tych jak i wielu innych użytecznych adresów odnajdziesz w sekcja Ważne adresy w rozdział Zasoby sieciowe PLD.


Włączanie i wyłączanie systemu

Tradycyjną metodą wyłączania komputera jest komenda shutdown, np.:

# shutdown -h now

Lub poweroff dająca ten sam efekt.

Użycie komendy halt jest też właściwe.

# halt

Aby zresetować system wpisujemy reboot albo korzystamy z kombinacji klawiszy CTRL+ALT+DEL.

W trakcie pracy możemy dowolnie przełączać się pomiędzy trybami pracy. Służy do tego polecenie init {$nr} ({$nr} to liczba oznaczająca tryb pracy) np.

# init 5

Zmianę poziomu pracy szerzej opisano tutaj: sekcja Zmiana poziomu pracy systemu w rozdział Administracja


Podstawowe operacje na plikach i katalogach

Zawartość plików wyświetlamy poleceniem cat.

$ cat archiwum

Jeśli chcemy przyjrzeć się plikowi, który nie mieści się na ekranie po wykonania cat możemy uzyskać poleceniem less. Możemy wtedy przeglądać plik używając "strzałek", a kiedy skończymy - naciskamy q.

$ less plik

Komendą touch możemy modyfikować znaczniki czasu pliku, częściej jednak używa się jej do tworzenia pustych plików.

$ touch pusty_plik

Polecenie mkdir tworzy katalog.

$ mkdir archiwum

Za pomocą polecenia rmdir usuwamy puste katalogi.

$ rmdir archiwum

Plik możemy przenieść, albo zmienić jego nazwę, za pomocą polecenia mv.

$ mv listing listing.old
$ mv /home/listing.old /usr/src/

W podobny sposób operujemy na katalogach.

$ mv archiwum smietnik
$ mvdir smietnik /usr/src/smietnik/

Do kopiowania służy polecenie cp.

$ cp listing podkatalog/

Kasujemy poleceniem rm.

$ rm plik        	// Kasuje plik.
$ rm *           	// Kasuje wszystkie pliki w danym katalogu.
$ rm * -i        	// Kasuje wszystkie pliki w danym katalogu z potwierdzeniem.
$ rm * -f        	// Kasuje wszystkie pliki w danym katalogu bez pytania.
$ rm -r          	// Kasuje wszystkie pliki, także te w podkatalogach
$ rm -rf /home/  	// Kasuje wszystkie pliki i katalogi w katalogu /home/

Poruszanie się w drzewie katalogów

Do poruszania się w drzewie katalogów w trybie tekstowym można używać programu Midnight Commander uruchamianego poleceniem mc, jednak nie każdy go instaluje, więc warto zapoznać się z kilkoma poleceniami przedstawionymi w tym rozdziale.

Do poruszania się w drzewie katalogów używamy polecenia cd ścieżka np.:

$ cd /home/users/zenek/

Ten sam efekt uzyskamy poleceniem

$ cd users/zenek/

wykonanym w katalogu /home

Kilka innych przykładów przedstawiamy poniżej.

W systemach uniksowych wyróżniamy kilka rodzajów specjalnych katalogów. Najważniejszym w całym drzewie jest katalog główny -korzeń (ang. root) oznaczany przez ukośnik: "/"

$ cd /

Często po lewej stronie ścieżki podaje się korzeń aby wskazać położenie katalogu lub pliku bez względu na miejsce z którego wydajemy polecenie np.:

$cd /etc/sysconfig

Polecenie ls powoduje wyświetlenie zawartości katalogu. Należy po nim podać nazwę katalogu, który chcemy zobaczyć, w przeciwnym wypadku wyświetlona zostanie zawartość katalogu bieżącego.

$ls /
bin   dev  home    lib    mnt  proc  sbin     srv  tmp  var
boot  etc  initrd  media  opt  root  selinux  sys  usr
$cd /home
$ls
services  users

Parametr -a powoduje, że funkcja pokazuje również pliki ukryte (zaczynające się od kropki). -R powoduje wylistowanie również podfolderów.

Polecenie pwd powoduje wyświetlenie ścieżki bieżącego katalogu.

$cd users/bart
$pwd
/home/users/bart/

Ważnym katalogiem jest katalog domowy użytkownika - oznaczany znakiem tyldy (~). Każdy użytkownik może używać w ścieżce tego znaku i zawsze będzie oznaczał jego własny katalog domowy np.:

$ ls ~/dokumenty

Kolejnym takim katalogiem jest katalog nadrzędny oznaczany za pomocą dwóch kropek. Będąc w katalogu: /home/users/zenek możemy przejść o jeden poziom do góry używając polecenia

cd ..

Dzięki temu znajdziemy się w katalogu /home/users.


Data i czas

By wyświetlić aktualny czas i datę systemową posługujemy się komendą date:

$ date sob kwi 26 23:48:33 CEST 2003
Oprócz możliwości wyświetlania daty i czasu w niemal dowolnym formacie, pozwoli nam na ustawianie czasu systemowego. Szczegółowy opis programu znajdziemy w podręczniku man.

Czas działania komputera sprawdzamy komendą uptime.

$ uptime
5:27pm  up  6:51,  4 users,  load average: 0.32, 0.08, 0.02

W sytuacji gdy chcemy z zmierzyć czas potrzeby na wykonanie operacji/czynności/procesu to posługujemy się komendą time.

$ time find /home/users/rennis/ HELLO
real	0m13.297s
user	0m0.060s
sys	0m0.230s

Przykład ten poszukuje pliku HELLO w moim katalogu domowym, co zajmuje systemowi ~13s.


Edycja plików konfiguracyjnych

W systemach z rodziny UNIXa konfiguracja systemu jest przechowywana w plikach tekstowych. Zaletą tego rozwiązania jest możliwość konfigurowania systemu przy pomocy bardzo prostych narzędzi, wadą zaś to że można łatwo popełnić błąd. Dlatego jeśli chcemy tylko przeglądać plik powinniśmy użyć programu less np.:

# less /etc/poldek/poldek.conf

Jeśli jesteśmy pewni że chcemy dokonać zmian, powinniśmy wcześniej wykonać kopię zapasową pliku (pliki kopii zapasowej kończy się tyldą).

# cp /etc/poldek/poldek.conf /etc/poldek/poldek.conf~

Teraz możemy zacząć modyfikować plik, domyślnie instalowanym edytorem plików jest vim, dlatego dobrze jest umieć się nim posługiwać choćby w podstawowym zakresie. Bardzo użyteczną cechą Vima jest kolorowanie składni podstawowych plików konfiguracji (o ile nasz terminal jest kolorowy), dzięki czemu łatwo możemy zauważyć ewentualne błędy.

Aby otworzyć nim plik do edycji wydajemy polecenie

# vim /etc/poldek/poldek.conf
Po otworzeniu pliku jesteśmy w trybie wydawania poleceń, aby przejść do trybu edycji naciskamy klawisz i. Teraz możemy wprowadzać zmiany. Po wykonaniu zmian naciskamy klawisz Esc aby powrócić do trybu wydawania poleceń. Teraz należy opuścić program jednym z poniższych poleceń: :q - wyjście z programu jeśli nie dokonaliśmy żadnych zmian; :wq - wyjście z zapisaniem zmian do pliku; :q! - wyjście z programu bez zapisywania dokonanych zmian.

Początkującym można zaproponować edytor mcedit będący częścią programu mc (Midnight Commander), inne nieco mniej popularne edytory to: emacs, pico, joe

Należy pamiętać o tym, że prawo zapisu plików w katalogu konfiguracji systemu (/etc) ma tylko superużytkownik (root) i z takimi uprawnieniami należy uruchamiać edytor. Pliki konfiguracyjne w linuksie muszą kończyć się znakiem nowej linii, dlatego przed zapisem należy pamiętać o sprawdzeniu czy jest wstawiony. Po raz kolejny swoją przewagę nad innymi edytorami pokazuje Vim, który automatycznie wstawia znak nowej linii.


Podstawowe narzędzia kontroli sieci TCP/IP

Aby używać przedstawionych tu programów, należy mieć uprawnienia superużytkownika lub być zapisanym do odpowiedniej grupy. Listę grup i odpowiadających im uprawnień zamieszczono w sekcja Zarządzanie uprawnieniami w rozdział Administracja. Bardziej zaawansowane narzędzia sieciowe opisano w sekcja Narzędzia sieciowe w rozdział Zastosowania sieciowe.


Ping

Najczęściej używanym narzędziem diagnostycznym jest program ping - pozwala on zbadać istnienie połączenia między dwoma komputerami, drogę pomiędzy nimi, czas potrzebny na przejście pakietu oraz sprawdza czy drugi komputer pracuje w danym momencie w sieci. Przy okazji ping dokonuje tłumaczenia adresu domenowego na numer IP. Program ten jest przydatny do określania stanu sieci i określonych hostów, śledzenia i usuwania problemów sprzętowych, testowania, mierzenia i zarządzania siecią, oraz do badania sieci. Polecenie ping {$nazwa/$numer_IP} wysyła specjalne pakiety ICMP do wskazanego komputera i czeka na odpowiedź. Możemy podawać jako cel adres domenowy lub numer IP. Przy okazji program ten dokonuje tłumaczenia adresu domenowego na numer IP.

$ ping pld-linux.org

PING pld-linux.org (81.0.225.27) 56(84) bytes of data.
64 bytes from 81.0.225.27: icmp_seq=1 ttl=44 time=135 ms
64 bytes from 81.0.225.27: icmp_seq=2 ttl=44 time=99.8 ms
64 bytes from 81.0.225.27: icmp_seq=3 ttl=44 time=149 ms

--- pld-linux.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 99.840/128.084/149.144/20.761 ms

pracę programu przerywamy skrótem ctrl+c

Na powyższym wydruku przedstawiono 3 odpowiedzi na wysłane pakiety. Jeden wiersz oznacza odpowiedź na jeden pakiet, dla każdego z nich podawane są parametry trasy pomiędzy komputerami. Najistotniejszym parametrem jest czas odpowiedzi (time). W przypadku problemów z siecią część pakietów może zostać zagubiona, będzie wskazywane przez specjalny licznik (icmp_seq) oraz przez końcowe statystyki. Brak jakiejkolwiek odpowiedzi można interpretować jako brak połączenia sieciowego z interesującym nas komputerem, blokadę tego typu pakietów na komputerze zdalnym lub zwyczajne wyłączenie maszyny. Na końcu wyświetlane są dodatkowo szczegółowe statystyki. Przy prawidłowym połączeniu czas odpowiedzi dla sieci lokalnej zazwyczaj nie przekracza 1 ms zaś w internecie może sięgnąć nawet kilkuset ms.

Komenda może dać również efekt podobny do poniższego:

[root@g82 ~]# ping google.pl
PING google.pl (216.239.57.99) 56(84) bytes of data.
From 192.168.6.1 icmp_seq=1 Packet filtered
From 192.168.6.1 icmp_seq=2 Packet filtered

--- google.pl ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time
1000ms

Może to oznaczać, że w naszej sieci zabronione jest wysyłanie pingów poza LAN.


Traceroute

Nieco bardziej zaawansowanym programem jest traceroute. Pokazuje on trasę jaką przechodzą pakiety między naszym komputerem, a sprawdzanym przez nas hostem. Wskazuje on czasy przesłania pakietów pomiędzy sąsiadującymi ze sobą routerami (tzw. czasy przeskoków), znajdującymi się na trasie połączenia dwóch maszyn. Pozwala śledzić trasę pakietów oraz wykrywać różnego rodzaje problemy w sieciach np.: błądzenie pakietów w sieci, "wąskie gardła" sieci, oraz awarie połączeń.

$ traceroute pld-linux.org

traceroute to pld-linux.org (81.0.225.27), 30 hops max, 38 byte packets
 1  192.168.1.1 (192.168.1.1)  0.295 ms  0.608 ms  0.484 ms
 2  217.153.188.173 (217.153.188.173)  1.012 ms  0.648 ms  0.495 ms
 3  217.8.190.153 (217.8.190.153)  30.894 ms  28.983 ms  29.719 ms

Jak widać, polecenie to wypisuje linie zawierające TTL, adres bramki oraz czas przebycia każdej z próbek z różnych gatewayów. Jeśli nie było odpowiedzi w ciągu trzech sekund to dla próbki drukowane jest '*'


MTR

Godnym uwagi programem jest MTR, jest narzędziem łączącym funkcje opisanych wcześniej programów. Program ten śledzi trasę połączenia między dwoma punktami podobnie jak traceroute i odświeża wyniki w regularnych odstępach czasu.

$ mtr pld-linux.org

Proxy

Zdarza się, że chcemy lub musimy korzystać z serwera pośredniczącego (proxy), w tym celu trzeba wskazać programowi jego adres i port. Konfiguracja proxy w GNU/Linuksie zależy od programu klienckiego i może być wykonana na jeden z trzech sposobów, oto ich lista:

  • zmienne środowiskowe - z nich korzystają głównie programy działające w trybie znakowym np.: lynx, wget, poldek. Definiujemy je następująco: {$protokół}_proxy np. serwer proxy dla FTP wskazujemy za pomocą zmiennej ftp_proxy zaś dla HTTP za pomocą http_proxy np.:

    export ftp_proxy=w3cache.dialog.net.pl:8080
    Są programy, które akceptują nazwy tych zmiennych napisanych wyłącznie wielkimi literami, tak więc dla wygody i pewności możemy zdefiniować obie wersje. Więcej o zmiennych środowiskowych znajdziemy w sekcja Zmienne środowiskowe w rozdział Konfiguracja systemu.

  • opcje programu - wiele bardziej rozbudowanych aplikacji używa własnej konfiguracji proxy. Są to przeważnie programy dla środowiska X-Window np.: gFTP, Firefox, Opera.

  • konfiguracja środowiska - programy ściśle związane ze środowiskami graficznymi Gnome lub KDE używają ustawień tychże środowisk. Do tego typu programów należą np.: Epiphany, Konqueror.


Zasoby systemu

Tutaj opisano sposób badania zasobów systemu operacyjnego.


Ilość miejsca na dysku

Wiele poleceń zwracających wielkości zajmowanej pamięci obsługuje parametr -h przedstawiający wielkości w jednostkach bardziej wygodnych dla człowieka.

Komenda df służy do pokazania ilości miejsca na zamontowanych partycjach.

$ df -h
System plików        rozm. użyte dost. %uż. zamont. na
/dev/hdc1              36G  5.6G   29G  16% /

Natomiast komendą du można sprawdzać objętość plików oraz całych katalogów. Uruchomienie du -h wyświetli listę plików, katalogów i ich objętości (z bieżącego katalogu)

$ du -h
4.1kB	./archiv/httpd
4.1kB	./archiv/mysql
4.1kB	./archiv/exim
17kB	./archiv
4.1kB	./httpd
4.1kB	./mysql
111kB	./exim
107kB	./ircd
4.1kB	./mail
2.1MB	.

Za pomocą opcji -s uzyskamy sumę objętości wszystkich plików

$ du -sh /bin
3,4M    /bin

Procesy i zasoby

Listę wszystkich uruchomionych procesów oraz dotyczące ich dane otrzymamy dzięki poleceniu ps


$ ps aux

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root      1350  0.0  0.1  1788  868 ?        Ss   May27   0:00 syslog-ng
zenek     2252  0.0  1.2 11316 6668 ?        Ss   May27   0:01 xfce4-session
root      2301  0.0  0.3  2748 1556 tty2     Ss   May27   0:00 -bash

Oraz w formie drzewa procesów rodziców i procesów potomnych


$ ps xf

 PID TTY      STAT   TIME COMMAND
2459 ?        S      0:32 xmms
2460 ?        S      0:00  \_ xmms
2461 ?        S      0:00      \_ xmms
2465 ?        S      0:00      \_ xmms
2816 ?        S      0:00      \_ xmms

W przypadku potrzeby ciągłego śledzenia zmian w systemie możemy użyć programu top. Program ten pokazuje najbardziej zasobożerne procesy. Dodatkowo na bieżąco wyświetla całkowite zużycie procesora (CPU), pamięci operacyjnej(Mem) oraz zajętość przestrzeni wymiany (Swap).


$ top

top - 01:38:54 up  3:28,  4 users,  load average: 0.10, 0.08, 0.08
Tasks:  63 total,   2 running,  61 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.3% us,  1.3% sy,  0.0% ni, 96.1% id,  0.0% wa,  0.3% hi,  0.0% si
Mem:    516244k total,   440344k used,    75900k free,    11840k buffers
Swap:  1076312k total,        0k used,  1076312k free,   328012k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                        
2240 root      15   0 62644  24m  45m S  1.6  4.9   7:37.40 X                                                              
2892 zenek     16   0  1880  928 1672 R  0.6  0.2   0:00.05 top                                                            
2695 zenek     16   0  6532 3824 5056 R  0.3  0.7   0:01.63 xterm                                                          
   1 root      16   0  1532  584 1372 S  0.0  0.1   0:00.82 init                                                           

Informacje o samej pamięci i przestrzeni wymiany uzyskamy dzięki komendzie free


$ free
             total       used       free     shared    buffers     cached
Mem:        516244     445536      70708          0      11880     332728
-/+ buffers/cache:     100928     415316
Swap:      1076312          0    1076312

Całkowita ilość zużytej pamięci (razem z buforami dyskowymi) mieści się w pierwszym wierszu w kolumnie USED. Zaś ilość pamięci zużytej jedynie przez programy mieści się w drugim wierszu w tej samej kolumnie.

Do śledzenia zmian zużycia zasobów systemu w funkcji czasu warto polecić program vmstat z liczbą sekund w parametrze. Podany czas jest odstępem pomiędzy pomiarami, program pokazuje zmiany w wykorzystaniu pamięci, obszaru wymiany, czasu procesora, przerwań czy wielkości transferu do i z urządzeń masowych:

# vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0      0 276896    980  89812    0    0   377     6  482   818  6  2 90  1
 0  0      0 276780    980  89816    0    0     0     0  456   770  0  0 100  0
 0  0      0 276772    980  89816    0    0     0    28  461   846  0  0 100  0
Szczegółowy opis oznaczeń kolumn odnajdziemy w podręczniku systemowym man/info.

Do procesów których jesteśmy właścicielami możemy wysyłać sygnały (root może wysłać sygnał do każdego procesu). Aby zakończyć jakiś proces należy do procesu wysłać sygnał TERM. Dokonuje się tego poleceniem kill lub killall. Pierwsze zabija proces o podanym numerze PID (unikalnym identyfikatorze procesu) np.:


$ kill 2901

Drugie z poleceń zabija wszystkie procesy, które mają podaną nazwę np.:


$ killall xmms

Sygnał TERM może być nieskuteczny w niektórych wypadkach, wtedy należy użyć bardziej brutalnej metody - sygnału KILL. Możemy go wysłać programem kill lub killall z odpowiednim parametrem: "-9" lub "-KILL":

kill -9 2901

W systemach uniksowych można ustawiać priorytety uruchamianym programom bądź też modyfikować bieżący priorytet działającego procesu. Priorytet jest nazywany jest "liczbą nice". Mówi ona jak mili jesteśmy dla systemu i innych użytkowników. Priorytet możemy ustawiać od -20 do +19, przy czym domyślna wartość zazwyczaj wynosi 0. Ujemne wartości oznaczają wyższy priorytet, zaś dodatnie niższy. Ujemną wartość może nadać tylko superużytkownik.

Aby uruchomić proces z priorytetem innym niż domyślny należy użyć programu nice np.:

$ nice -n +5 mc

Działającym procesom można zmieniać priorytet. Aby to zrobić używamy polecenia renice:

$ renice +5 mc

Jak sprawdzić kto jest zalogowany oprócz nas?

Pierwszą komendą jest who. Podaje ona nam nazwę użytkownika, terminal na którym jest zalogowany oraz czas rozpoczęcia pracy.

$ who
gozda    tty1         Apr 18 10:52
gozda    pts/1        Apr 18 16:21
gozda    pts/4        Apr 18 11:06
gozda    pts/6        Apr 18 14:46
gozda    pts/8        Apr 18 16:25
gozda    pts/9        Apr 18 18:25
gozda    pts/10       Apr 18 18:29

Kolejna komenda w pokazuje nam kto jest zalogowany i co robi na poszczególnych sesjach.

$ w
6:56pm  up  8:05, 7 users,  load average: 1.94, 1.75, 1.61
USER     TTY      FROM  LOGIN@   IDLE   JCPU   PCPU  WHAT
gozda    tty1     -     10:52am  8:03m 16.67s  0.02s  sh /usr/X11R6/bin/startx
gozda    pts/1    -     4:21pm  6:45   5.37s  5.32s  irssi
gozda    pts/4    -     11:06am 37:46   3.22s  3.17s  ekg
gozda    pts/6    -     2:46pm 10:17  12.66s  1.08s  mp3blaster
gozda    pts/9    -     6:25pm  0.00s  0.12s  0.03s  w
gozda    pts/10   -     6:29pm 22:07   3:58   0.02s  ./mozilla-bin

Komenda users. Pokazuje ona pseudonimy użytkowników zalogowanych w systemie.

$ users
gozda gozda gozda gozda gozda gozda gozda

Poleceniem whoami dowiadujemy się, jak nazywa się użytkownik, na którym pracujemy.