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.
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.* |
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ą
<pld-doc@pld-linux.org> lub o kontakt z jednym z
autorów dokumentacji, których listę zamieszczono w
sekcja Autorzy dokumentacji PLD w rozdział O podręczniku
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.
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.
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.
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
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
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
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
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
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.
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ć.
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.
Strona główna - http://pld-linux.org
Dokumentacja - http://pl.docs.pld-linux.org
Listy dyskusyjne - http://lists.pld-linux.org
Częściowe archiwa list dyskusyjnych - mail-archive.com, Gmane
Serwer IRC (freenode) http://irc.freenode.net
Serwer IRC (IRCnet) http://ircnet.org
Serwer PLDNet: irc.pld-linux.org
Istniejące kanały:
#pld - kanał przeznaczony dla Developerów.
#pldhelp - kanał użytkowników PLD
#pldlivecd - kanał użytkowników LiveCD
Kanały w powyższych sieciach są połączone za pomocą specjalnego bota. Przydatny w takich przypadkach może być skrypt do programu irssi znajdujący się na stronie http://vorlon.icpnet.pl/~agaran/forwardfix.pl lub w zasobach poldka (poldek -i irssi-script-forwardfix), który ma zadanie przekazywać wiadomości między sieciami.
System zgłaszania błędów - http://bugs.pld-linux.org
Rescue CD - http://rescuecd.pld-linux.org
PLD Live CD - http://livecd.pld-linux.org
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:
TASK, Gdańsk, Polska - ftp://ftp.iso.pld-linux.org
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.
FUH KERNEL, VNET.sk, Bratysława, Słowacja - ftp://ftp.pld-linux.org/ , ftp://ftp.sk.pld-linux.org/ ,
Gdańsk, Polska - ftp://ftp2.pld-linux.org/
Uniwersytet Kardynała Stefana Wyszyńskiego, Polska - ftp://ftp3.pld-linux.org/ , ftp://ftp.csi.pld-linux.org/
ATM S.A., Warszawa, Polska - ftp://ftp4.pld-linux.org/ , ftp://ftp.atm.pld-linux.org/
Uniwersytet Warszawski, Wydział Prawa i Administracji, Polska - ftp://ftp5.pld-linux.org/ , ftp://ftp.wpia.pld-linux.org/
TASK, Gdańsk, Polska - ftp://ftp6.pld-linux.org/ , ftp://ftp.task.pld-linux.org/
Politechnika Wrocławska, Polska - ftp://ftp.pwr.wroc.pl/pld/
ICM, Polska - ftp://ftp.icm.edu.pl/pub/linux/distributions/pld-linux/
Bratysława, Słowacja - ftp://spirit.bentel.sk/mirrors/PLD
Gdańsk, Polska - http://ftp2.pld-linux.org/
ATM S.A., Warszawa, Polska - http://ftp4.pld-linux.org/
TASK, Gdańsk, Polska - http://ftp.task.pld-linux.org/
Bratysława, Słowacja - http://spirit.bentel.sk/PLD/
Osoby zainteresowane udostępnianiem serwera lustrzanego przy
pomocy protokołu RSYNC proszone są o kontakt z nami w celu
uzyskania szczegółowych informacji:
<feedback@pld-linux.org>
Pomysł na nasze logo zrodził się w głowie Agnieszki Sloty. Projekt graficzny został stworzony przez Marcina Mierzejewskiego (Kevin) i Maćka Zielińskiego.
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.
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.
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.
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
Ten rozdział prezentuje instalację systemu.
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
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.
Płyta MINI-ISO
Miniaturowa wersja dystrybucji przystosowana do nagrania płyty typu MINI-CD (płyty o średnicy 8cm). Zawiera najbardziej podstawowe pakiety. Lista serwerów z których pobierzemy obraz MINI-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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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ć.
Jeżeli instalujesz system z płytek musisz zaopatrzyć się albo w miniiso, albo przynajmniej w pierwszą (base) płytkę.
W menu wyboru źródła wybieramy cdrom. Nie jest ważne czy instalujemy cały system z płytek, czy tylko miniiso.
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.
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.
Wybierając opcję "ustaw partycje ręcznie" przechodzimy do parted
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.
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.
Przechodzimy teraz do kolejnej części instalacji, czyli wyboru 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.
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.
Dotarliśmy do punktu gdzie musimy ustawić podstawowe parametry instalowanego systemu.
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.
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.
Pozostał jeszcze wybór strefy czasowej i synchronizacja (lub nie) zegara systemowego z UTC, i na tym kończymy prekonfigurację systemu.
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.
Wybieramy więc opcję "konfiguruj bootloader", która uruchamia skrypt konfigurujący.
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.
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.
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.
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.
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.
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:
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ć.
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.
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 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
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 systemu przy użyciu chroot
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.
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.
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 |
Inicjujemy obszar wymiany:
# mkswap /dev/hda1 |
# mkfs.ext2 /dev/hda2 |
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.
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 |
eth0 default via 10.0.0.254 |
nameserver 193.192.160.243 |
# service network restart |
Jeśli potrzebujemy skorzystać z proxy ustawiamy odpowiednią zmienną środowiskową np.:
# export ftp_proxy=w3cache.dialog.net.pl:8080 |
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 |
Teraz tworzymy katalog na indeksy Poldka np.:
# mkdir -p /pldroot/var/cache/poldek-cache |
cachedir = /pldroot/var/cache/poldek-cache |
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 |
# 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.
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 |
Dokonać odpowiednich koniecznych operacji konfiguracyjnych w przypadku korzystania z macierzy RAID (plik /etc/mdadm.conf) lub woluminów LVM (/etc/lvm/lvm.conf).
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 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 |
# chroot /pldroot /sbin/grub |
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.
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 |
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 |
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.
Aktualizacja systemu PLD 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.
Dla architektur: i686 oraz ppc: ftp://ftp.pld-linux.org/dists/ra/updates/2.4/
Dla architektur: i386, i586, i686: ftp://atos.wmid.amu.edu.pl/pub/pld/ra-24/
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.
W tym rozdziale znajdziesz podstawowe komendy i czynności, które powinieneś znać.
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 |
info {$hasło} |
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.
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
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/ |
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.
By wyświetlić aktualny czas i datę systemową posługujemy się komendą date:
$ date sob kwi 26 23:48:33 CEST 2003 |
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.
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 |
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.
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.
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.
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 '*'
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 |
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 |
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.
Tutaj opisano sposób badania zasobów systemu operacyjnego.
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 |
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 |
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 |
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.