Praktyczny podręcznik do systemu Debian GNULinux


Praktyczny podręcznik do systemu Debian GNU/Linux

Paweł Tęcza

Wstęp

UWAGA: Ten artykuł napisano na podstawie wersji dokumentu "Hands-on guide to Debian Operating System", którego autorem jest Davor Ocelic. Wersja ta jest już bardzo przestarzała i dlatego zaleca się korzystanie z najnowszej wersji podręcznika, który można znaleźć na stronie http://colt.projectgamma.com/debguide/en/.

W podręczniku tym zakładam, że poradziłeś sobie z instalacją Debiana i że uruchamia się on, gdy włączasz swój komputer.

Napisałem ten podręcznik po to, żebyś z jego pomocą mógł szybko rozpocząć używanie Debiana. Odpowiada on na wiele pytań, jakie zadają początkujący użytkownicy i zawiera szereg wskazówek bardziej doświadczonych użytkowników systemu :) Wszystkie zamieszczone tutaj informacje zostały zaczerpnięte z dokumentacji do odpowiednich pakietów. Proszę pamiętać, że dokumentacja ta jest zawsze lepszym źródłem informacji. Ten podręcznik nie zastąpi jej i nie powinien być traktowany jak wyczerpujące źródło informacji na temat systemu. Dobrą dokumentację można znaleźć na stronach www.debian.org i www.linuxdoc.org, w katalogach /usr/doc i /usr/share/doc oraz na stronach podręcznika systemowego man i info.

Spis treści

1. Rzeczy, które wiedzieć musisz

2. Rzeczy, które wiedzieć powinieneś

3. Zarządzanie kontami użytkowników

4. Wprowadzenie do APT-a i dpkg

5. Podstawowe unixowe komendy

6. Używanie wirtualnyuch konsol

7. Efektywna praca na konsoli

8. Unixowe procesy

9. Nawiązywanie połączenia modemowego ze swoim ISP

10. Ustawianie systemu X Window (XFree86)

11. Dostosowywanie środowiska do własnych potrzeb

12. Zaznajamianie się z komunikatami systemowymi

13. Używanie myszki na tekstowej konsoli

14. Dostęp do danych na partycjach systemu MS Windows

15. Zakończenie

1. Rzeczy, które wiedzieć musisz

Oto subiektywna lista rzeczy, które moim zdaniem musisz wiedzieć:

Tam, gdzie jest to niezbędne przytaczam informacje domyślne bądź specyficzne tylko dla Debiana. Robię tak, gdyż ten dokument jest przewodnikiem po Debianie, choć w większości przypadków informacje te będą również prawdziwe dla pozostałych dystrybucji GNU/Linuxa i innych systemów unixowych.

Jeśli chcesz dobrze poznać Debiana, to musisz czytać, czytać i jeszcze raz czytać. Dokumentacja do programów linuxowych jest zawsze podstawowym źródłem informacji. Dokumentacji tej nie dopisały osoby niekompetentne po stworzeniu tych aplikacji. Pisali ją najczęsciej sami twórcy programów w czasie ich tworzenia. Dlatego dostarcza ona najlepszych i najbardziej wyczerpujących informacji, które powinny Ci pomóc w rozwiązaniu wszystkich problemów.

Używany przez Ciebie system Debian składa się z:

jądra (ang. kernel). Najprawdopodobniej używasz jądra Linux, choć Debian może pracować także z innymi jądrami, np. Hurd,

zestawu dodatkowych aplikacji, z których większość pochodzi z projektu GNU,

wielkiego wysiłku i energii włożonej w dystrybucję przez rozwijających Debiana (ang. developers), programistów przenoszących go na inne platformy sprzętowe (ang. porters) i opiekunów pakietów (ang. maintainers). Ludzie ci są wolontariuszami, którzy dobrowolnie poświęcaja swój wolny czas i nie liczą na żadne wynagrodzenie za wykonywaną przez siebie pracę.

Różnica pomiędzy "Wolnym Oprogramowaniem" (ang. Free Software) i "Otwartym Źródłem" (ang. Open Source) jest następująca:

Wolne Oprogramowanie (czyli takie, które daje wolność użytkownikowi, nie zaś programy działające wolno) jest inicjatywą zapoczątkowaną przez Richarda M. Stallmana i mającą na celu stworzenie kompletnego, wolnego systemu operacyjnego. W czasie, gdy ludzie z projektu GNU przepisali od nowa większość niezbędnych programów i udostępnili je na licencji GPL, fiński student Linus Torvalds ogłosił wydanie swojego jądra Linux. Połączenie Linuxa i aplikacji GNU sprawiło, że marzenie Richarda M. Stallmana (znanego również jako RMS) stało się rzeczywistością -- powstał wolny system operacyjny. Jednakże ludzie, którym przyświęcają ideały Wolnego Oprogramowania nadal pracują nad własną wersją jądra, zwaną Hurd. GNU to nie tylko licencja GPL. GNU to cała filozofia. Jeśli chciałbyś się dowiedzieć więcej na jej temat, to polecam udać się na stronę www.gnu.org.

Otwarte Źródło to termin stworzony, aby propagować korzyści, które daje używanie wolnego oprogramowania (dostępny kod źródłowy, stabilność, niezawodność, itd.). Nie kryje się za nim żadna głębsza filozofia.

Gdy mówisz "Linux", to najprawdopodobniej masz na myśli kompletny system operacyjny, a nie tylko jego jądro. Właściwie powinieneś mówić "GNU/Linux", aby pokazać w ten sposób, że dostrzegasz i doceniasz wysiłek społeczności skupionej wokół projektu GNU.

Co to jest UNIX i czym właściwie jest Linux?

UNIX oznacza pewną rodzinę zaawansowanych systemów operacyjnych do poważnych zastosowań i jest wspólną nazwą dla całej grupy rozmaitych systemów operacyjnych takich, jak Solaris, Digital Unix, SCO, BSD i ich różnych odmian (więcej informacji na ten temat znajdziesz na stronie Unix Guru Universe). Zdecydowana większość tych systemów jest własnością jakiejś wielkiej komercyjnej firmy (np. Sun czy Hewlett Packard). Tym, co łączy je wszystkie jest podstawowy, oryginalny i chroniony prawami autorskimi kod Unixa stworzony przez firmę AT&T.

Linux został napisany od zera przez fińskiego programistę Linusa Torvaldsa i był pierwszym wolnym, kompatybilnym z Unixem systemem operacyjnym. Dziś istnieją również trzy popularne odmiany Unixa BSD: NetBSD, FreeBSD i OpenBSD, które powstały, gdy firma AT&T uwolniła swój kod.

Unix nie jest systemem operacyjnym, który instalujesz na swoim komputerze i w którym nie możesz już niczego zmienić. Jest on pewną strukturą, którą możesz dostosowywać do własnych potrzeb tak, aby działała zgodnie z Twoimi wymaganiami. Ponieważ Linux jest unixopodobnym systemem operacyjnym (z wieloma przewagami nad tradycyjnymi Unixami), to powinieneś pamiętać, że nie ma takiej rzeczy, której nie dałoby się w nim zrobić. Pytanie tylko czy masz odpowiednie umiejętności, aby to zrobić.

2. Rzeczy, które wiedzieć powinieneś

W tym rodziale poznasz podstawy Unixa, Debiana i GNU. Dowiesz się kto jest kim i zaznajomisz się z terminami, które powinieneś znać i rozumieć.

APT: podstawowym menadżerem pakietów w Debianie jest program dpkg. APT jest zaś bardzo użyteczną nakładką na niego. Najczęściej do instalowania paczek będziesz używać programu apt-get, a apt-cache do przeszukiwania listy dostępnych pakietów. Powinieneś teraz zapamiętać, że gdy przeczytasz gdzieś, iż "powinineś zainstalować pakiet o nazwie vim", to znaczy że musisz z linii komend wydać polecenie apt-get install vim. W następnym rozdziale sprawdzimy, ile zapamiętałeś z tej lekcji.

manual, strony podręcznika systemowego (ang. manpages): jest to standardowy sposób dokumentowania różnych informacji w Unixie. Na razie wystarczy, że będziesz jeszcze wiedzieć, iż strony podręcznika są podzielone na kilka kategorii. Dla przykładu, jeśli gdzieś napiszę o programie mkdir, a Ty nie będziesz wiedzieć do czego on służy, to wydaj polecenie man mkdir. Wtedy dowiesz się wszystkiego na jego temat. Jeśli nie mówię gdzieś wyraźnie, żebyś zajrzał na jakąś stronę podręcznika, to zakładam że się domyślasz, iż powinieneś to sam zrobić w pierwszej kolejności, gdy czegoś nie rozumiesz.

superużytkownik, root, administrator: tymi terminami określane jest konto nadzorcy systemu, który ma uprawnienia pozwalające mu robić to, na co tylko ma ochotę (łącznie ze skasowaniem wszystkich Twoich plików, zablokowniem Twojego konta czy podaniem Twoich prawdziwych zarobków do Izby Skarbowej :)). Mam nadzieję, że rzeczy które wcześniej wymieniłem nigdy nie będą miały miejsca i że profesjonalni administratorzy unixowi nadal będą świecić przykładem.

katalog domowy, ~: gdy zalogujesz się do systemu unixowego, to system umieści Cię w jakimś katalogu. Prawie zawsze jest nim Twój prywatny katalog, nad którym masz pełną kontrolę. Oznacza to, że możesz tam zapisywać pliki, odczytywać ich zawartość i kasować je. Nie masz jednak tych uprawnień w stosunku do pozostałych katalogów w systemie. Aby zobaczyć jaki jest Twój katalog domowy wydaj komendę pwd. Najprawdopodobniej będzie nim katalog /home/twój_login. W jakimkolwiek miejscu drzewa katalogów będziesz się znajdować, zawsze możesz wrócić do swojego katalogu domowego przy pomocy polecenia cd. Znak tyldy ('~') jest automatycznie rozwijany przez powłokę systemu (ang. shell) do nazwy Twojego katalogu domowego. Jeśli dla przykładu Twoim katalogiem domowym jest katalog /home/użytkownik i będąc w nim stworzysz podkatalog test, to po wydaniu komendy cd ~/test zostaniesz przeniesiony do katalogu /home/użytkownik/test. Rozumiesz?

katalog główny, /: w Unixie wszystkie partycje dysku są widziane jak zwykłe katalogi (mówimy, że są one "zamontowane"). Podstawowym katalogiem jest katalog główny /, który jest "korzeniem" całego drzewa katalogów (ang. root directory). Pod Windowsem masz takie partycje jak C:, D:, itd., ale pod Unixem (i Linuxem) odwołujesz się do nich jak do katalogów. Na przykład Twój dysk D: może być zamontowany jako /mnt/windisk-D, lecz nic nie stoi na przeszkodzie, żebyś nazwał go zupełnie inaczej.

katalog /etc: katalog ten zawiera głównie pliki konfiguracyjne różnych programów. Jeśli ktoś Ci mówi, żeby wyedytować plik konfiguracyjny programu syslog, to powinieneś udać się do katalogu /etc i wyedytować plik syslog.conf. Większość pakietów ma pliki konfiguracyjne o nazwie <pakiet>.conf. Zajrzyj do katalogu /etc, żeby się o tym przekonać.

plik binarny (ang. binary): jest to wspólna nazwa dla wszystkich plików zapisanych formacie binarnym, który jest zrozumiały dla komputera, ale zupełnie nieczytelny dla człowieka. Pliki te są czasami również nazywane plikami wykonywalnymi, ponieważ są to na ogół programy, które mogą być wykonywane przez maszynę (ich odpowiednikami pod systemem Windows są pliki *.exe). Pliki binarne są przechowywane w katalogach ./bin.

obraz (ang. image): termin ten nie ma nic wspólnego z obrazem na ścianie ani z malowaniem, ale odnosi się do surowych (ang. raw) danych niskiego poziomu. Możesz go sobie wyobrazić jako bardzo długi łańcuch bajtów, który jest zrozumiały jedynie dla Twojej maszyny.

X, XFree, X11: różne nazwy systemu X Window (zwróć uwagę, że pisze się "X Window System", a nie "X Windows System"!), który dostarcza graficznego interfejsu użytkownika w Unixach.

RMS: Richard Matthew Stallman, as hackerów z uczelni MIT (Massachusetts Institute of Technology), założyciel Fundacji Wolnego Oprogramowania (Free Software Foundation).

ESR: Eric S. Raymond, radykalny aktywista :), m.in. autor dokumentów "Cathedral and the Bazaar" i "Jargon" oraz programu fetchmail.

3. Zarządzanie kontami użytkowników

W tym rozdziale przeczytasz o zarządzaniu kontami użytkowników i poznasz kilka dobrych pomysłów, które mogą się przydać dla nowych instalacji.

Prawdopodobnie zalogowałeś się jako root. Aby to sprawdzić możesz wydać polecenie id. Jeśli tak jest, to za pomocą komendy adduser stwórz nowe, nieuprzywilejowane konto użytkownika i zaloguj się na nie, aby ponownie otworzyć w nim ten podręcznik. Konto root powinno być używane jedynie dla celów administracyjnych, a więc nie do codziennej pracy i po wykonaniu niezbędnych czynności jako root należy się wylogować z systemu. Jeśli wejdziesz kiedyś na kanał #debian na serwerze irc.openprojects.net i ludzie zobaczą, że jesteś zalogowany jako administrator, to wtedy:

pomyślą, że jesteś nieodpowiedzialnym użytkownikiem komputera,

ostrzegą Cię i pomyślą, że jesteś nieodpowiedzialnym użytkownikiem komputera.

Pamiętaj zatem, aby zawsze logować się jako normalny użytkownik i tylko w razie potrzeby zmieniać aktualny identyfikator użytkownika za pomocą komendy su (patrz strona podręcznika su(1)). Problemem jest tylko konieczność wpisywania przez Ciebie hasła roota za każdym razem, gdy przy pomocy tego polecenia będziesz chciał uzyskać jego uprawnienia. Aby to obejść, tzn. wyłączyć konieczność podawania hasła nadzorcy systemu, wyedytuj plik /etc/group i wstaw gdziekolwiek w nim poniższą linię:

wheel:x:28:<użytkownik1>,<użytkownik2>

Następnie w pliku /etc/pam.d/su odkomentuj linię (usuwając z jej początku znak '#') lub dopisz ją, jeśli jej tam nie ma:

#auth sufficient pam_wheel.so trust

Dzięki powyższym zmianom użytkownicy użytkownik1 i użytkownik2 będą mogli wydawać komendę su, aby uzyskać prawa roota i nie będą musieli wpisywać jego hasła. Zmiany zaczną obowiązywać dopiero wtedy, gdy wylogujesz się z kont tych użytkowników i zalogujesz się na nie ponownie. Inną przydatną opcją komendy su jest ta pokazana poniżej:

su -c </ścieżka/do/polecenia_które_ma_być_wykonane_przez_roota>

Jeśli większość kont na Twojej maszynie jest używana tylko przez Ciebie, to powinieneś zastanowić się czy chcesz, aby ludzie mogli się zdalnie logować na Twoje konta. W sumie potrzebują oni do tego haseł, ale ich zdobycie jest łatwiejsze niż może Ci się wydawać. Wyedytuj plik /etc/security/access.conf, przeczytaj krótką informację, którą tam zamieszczono i dodaj do tego pliku taką oto linię:

-:username1 username2:ALL EXCEPT LOCAL

Spowoduje to, że na konta użytkownik1 i użytkownik2 będzie można się logować tylko lokalnie, czyli wyłącznie z Twojego komputera.

Uwaga: Jeśli powiem Ci, żebyś wydał jakieś polecenie, a Ty otrzymasz komunikat Command not found lub Permission denied, to spróbuj wydać je ponownie jako root.

4. Wprowadzenie do APT-a i dpkg

Z tego rozdziału dowiesz się najważniejszych informacji na temat używania APT-a i dpkg. Przedstawiłem w nim również szereg pakietów, które moim zdaniem warto zainstalować.

Teraz pokażę Ci kilka przykładów ilustrujących, w jaki sposób używać APT-a, aby wydawać polecenia systemowi zarządzania pakietami Debiana. Czy muszę Ci mówić, żebyś poczytał w podręczniku systemowym na temat każdego z narzędzi? Jako przykład posłuży nam pakiet vim, zawierający profesjonalny edytor tekstowy:

apt-get install vim

Instaluje pakiet vim. Program apt-get potrafi także doinstalować inne pakiety, aby spełnione zostały zależności, czyli aby pakiet vim mógł poprawnie działać.

apt-get remove vim

Usuwa pakiet vim.

apt-cache search vim

Wyszukuje i wyświetla nazwy dostępnych pakietów, które mają jakiś związek ze słowem vim.

apt-cache show vim

Wyświetla informacje na temat pakietu vim (wersja, opiekun pakietu, zależności, opis).

dpkg -L vim

Wyświetla listę plików, które zostały zainstalowane wraz z pakietem vim.

dpkg -S /usr/bin/vim

Wyświetla nazwę pakietu, do którego należy plik /usr/bin/vim.

man vim

Wyświetla pomoc do programu vim.

Uwaga: Program dpkg wszystkie swoje informacje przechowuje w katalogu /var/lib/dpkg. Najbardziej interesujące pliki to available i status oraz te znajdujące się w podkatalogu info/. Nazwy tych plików w pełni jej opisują, wyedytuje je, aby zobaczyć co w nich się znajduje. Jeśli pakiety instalowane za pomocą programu apt-get są pobierane z Sieci, to są one zapisywane w katalogu /var/cache/apt/archives.

Poniżej zamieściłem nazwy i opisy bardziej użytecznych pakietów:

0x01 graphic

Teraz już wiesz, jakie pakiety powinieneś zainstalować. Spróbuj zatem to zrobić, używając komendy

apt-get install <nazwa_pakietu1> <nazwa_pakietu2> ...

5. Podstawowe unixowe komendy

Teraz najwyższa pora, abyś poznał najważniejsze unixowe komendy, dzięki którym będziesz wiedział kim jesteś, co robisz i dokąd zmierzasz:

0x01 graphic

6. Używanie wirtualnyuch konsol

Z tego rozdziału dowiesz się jak na jednym ekranie używać wielu wirtualnych konsol.

Przed swoimi oczami masz w tej chwili tylko jeden czarno-biały ekran z tekstową konsolą, ale nie martw się. W systemie GNU/Linux możesz jednocześnie używać wielu tzw. "wirtualnych terminali" (ang. virtual terminals). Aby się między nimi przełączać musisz nacisnąć lewy klawisz Alt, a następnie któryś z klawiszy F1-F6.

Wskazówka: Standardowo masz do dyspozycji tylko 6 wirtualnych terminali. Aby powiększyć ich liczbę musisz wyedytować (oczywiście jako root) plik /etc/initttab i dodać do niego takie oto linie:

5:23:respawn:/sbin/getty 38400 tty5

6:23:respawn:/sbin/getty 38400 tty6

Mam nadzieję, że zauważyłeś, w którym miejscu musisz powiększyć wartość pola z numerem konsoli...

Aby zmiany zaczęły obowiązywać musisz wyjść z edytora i wydać polecenie init q.

Ponieważ ostatni klawisz Fx ma numer 12, to oczywiste jest, że przy pomocy kombinacji lewego klawisza Alt i któregoś z klawiszy Fx możesz się przełączyć tylko na konsolę o numerze z przedziału 1-12. Aby dostać się na konsolę o numerze z przedziału 13-24 musisz użyć prawego klawisza Alt. Możesz również użyc kombinacji Alt i klawiszy strzałka w prawo/lewo, aby przechodzić cyklicznie od jednej konsoli do drugiej. Kombinacja Alt+PrtSc przełączy Cię na ostatnią dostępną konsolę.

Jeśli nie podoba Ci rozmiar znaków na ekranie, to wykonaj te komendy:

lilo -R 'vga=ask' ; lilo ; reboot

Po ponownym uruchomieniu systemu zostaniesz poproszony o wybranie trybu, w którym ma pracować konsola. Zwróć uwagę na dwukrotne użycie komendy lilo. Za pierwszym razem wywołujemy ją, aby dokonać zmian w pliku konfiguracyjnym /etc/lilo.conf. Drugie wywołanie służy zatwierdzeniu naszych zmian (więcej informacji na ten temat uzyskasz po wydaniu polecenia man lilo.conf).

7. Efektywna praca na konsoli

W tym podpunkcie nauczysz się efektywnie pracować na konsoli. Po jego przeczytaniu będziesz wpisywać z klawiatury tylko to, co jest niezbędne i będziesz wiedział jak znaleźć informacje na temat komend.

Użyj klawiszy strzałka w górę/dół, aby zobaczyć poprzednio wydane polecenia. Za pomocą klawiszy strzałka w prawo/lewo, Home i End możesz zmieniać pozycję kursora w linii komend.

Wydaj polecenie history, aby zobaczyć listę poprzednio wydanych komend (jest ona dostępna nawet wtedy, gdy się wylogujesz).

Użyj komendy cat /etc/syslog i naciśnij klawisz Tab. Zobaczysz, co się stanie.

Wpisz wtedy jakieś polecenie (na przykład te z poprzedniej linii) i naciśnij Enter. Teraz naciśnij klawisze Alt i . (kropka). Widzisz, co się stało? Ta kombinacja powtórzyła ostatnie słowo z poprzedniej linii.

Naciśnij !!, aby powtórzyc ostatnią komendę.

Naciśnij !<jakiś_tekst>, aby wykonać ostatnią komendę, która rozpoczyna się od jakiś_tekst.

Naciśnij !<numer>, aby wykonać komendę o podanym numerze (użyj polecenia history, żeby przekonać się jakie numery mają poszczególne komendy).

Naciśnij !-3, aby wykonać komendę, która była wywołana przed poprzednim poleceniem.

Naciśnij Ctrl+R, żeby rozpocząć wpisywanie komendy i rób to tak długo, aż zobaczysz polecenie, o które Ci chodziło. To "przeszukiwanie wstecz" wyszukuje w buforze historii polecenia, które jest najbardziej podobne do fragmentu tekstu, który właśnie wpisujesz.

Uwaga: Historia wydawanych przez Ciebie poleceń jest zapisywana w pliku ~/.bash_history. Nowe komendy są zapisywane do niego, gdy zamykasz sesję terminalową. Jeśli chcesz z niej wyjść bez zapisywania ostatnio używanych poleceń, to musisz zamknąć powłokę wydając komendę kill -9 $$ lub kill -9 0. Nie polecam Ci jednak tego sposobu. Radzę Ci za to przeczytać wszystko na temat historii na stronie systemowej programu bash. Ponieważ strona ta jest bardzo duża, to gdy ją otworzysz wpisz /history, aby odnaleźć sekcję na temat historii.

Może Ci się przydać kilka wskazówek ułatwiających zmianę katalogów. Jeśli wydasz komendę cd -, to powrócisz do poprzedniego katalogu, w którym byłeś. Ten sam efekt możesz uzyskać za pomocą poleceń pushd i popd, które ponadto umożliwiają podanie jako argument całej listy katalogów. Aby zobaczyć jak one działają, wpisz cd /bin; pushd /etc/; popd.

Jeśli jesteś początkującym użytkownikiem systemu, to zapewne chciałbyś dowiedzieć się jakie polecenia możesz wywoływać z linii komend. W tym celu możesz użyć następującej "sztuczki": wpisz a i naciśnij klawisz Tab. Zobaczysz wtedy nazwy wszystkich poleceń rozpoczynających się od a. Te same informacje możesz uzyskać wydając komendę ls w katalogach /bin, /usr/bin i /usr/local/bin.

Gdy chcesz się dowiedzieć szczegółów na temat jakiejś komendy, to użyj programu man. Mam nadzieję, że nie będę musiał tego więcej razy przypominać. Pamiętaj, że polecenie man jest Twoim przyjacielem :)

Możesz również w inny sposób odnaleźć informacje na temat jakiejś komendy. W tym celu wydaj polecenie which <nazwa_komendy>, a następnie użyj dpkg -S /pełna/ścieżka/do/komendy, aby dowiedzieć się do jakiego pakietu należy dane polecenie. Gdy już będziesz to wiedział, to udaj się do katalogu /usr/share/doc/<nazwa_pakietu> i przeczytaj uwagi na temat tego polecenia.

I na koniec jeszcze kilka przydatnych kombinacji klawiszy. Za pomocą Shift+PageUp/PageDown możesz przewijać tekst wyświetlany na ekranie. Kombinacja Ctrl+s zatrzymuje wyświetlanie napisów na ekranie, a Ctrl+q je wznawia. Spróbuj wydać komendę find / i użyj tych dwóch ostatnich kombinacji, żeby przekonać się jak działają.

Do bezpośredniego ustawiania właściwości terminala służą komendy setterm, reset, tput i tset.

8. Unixowe procesy

Z tego podpunktu dowiesz się w jaki sposób uruchamia się programy, jak można zobaczyć listę aktualnie uruchomionych programów i jak kontrolować procesy.

Procesy, czyli uruchomione aplikacje działają w Unixie w oddzielnych obszarach pamięci. Nie ma obawy, że "zawieszą" one system. Nawet jeśli jakiś proces przestaje reagować na Twoje polecenia, to nie ma on wpływu na działanie całego systemu.

Aby zobaczyć listę aktualnie działających procesów, wydaj polecenie ps aux. Poniżej pokazano przykładowy rezultat działania tej komendy:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.1 0.8 1304 532 ? S 15:19 0:05 init

root 2 0.0 0.0 0 0 ? SW 15:19 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW 15:19 0:00 [kupdate]

root 4 0.0 0.0 0 0 ? SW 15:19 0:00 [kpiod]

root 5 0.0 0.0 0 0 ? SW 15:19 0:00 [kswapd]

daemon 82 0.0 0.7 1412 460 ? S 15:19 0:00 /sbin/portmap

root 218 0.0 2.0 2444 1276 ? S 15:19 0:00 /usr/sbin/named

root 222 0.0 0.7 1336 488 ? S 15:19 0:00 /usr/sbin/gpm -m \

/dev/psaux -t imps2

W pierwszym wierszu znajdują się nazwy poszczególnych kolumn. Kilka rzeczy wymaga wyjaśnienia:

USER: w tej kolumnie znajdują się nazwy właścicieli procesów, z których uprawnieniami są one wykonywane,

PID: unikalny identyfikator procesu (ang. Process ID),

%CPU i %MEM: mówią ile czasu procesora i ile pamięci zabiera dane zadanie,

TTY: oznacza terminal sterujący, czyli miejsce w którym uruchomiono proces. Procesy, dla których w tej kolumnie widnieje wartość ? zostały uruchomione w tle (ang. background) i są odłączone od swoich terminali sterujących.

STAT: mówi o aktualnym statusie procesu: SW -- proces jest wymieniany (ang. swapped), S -- proces jest uśpiony (ang. sleeping), R -- proces jest działający (ang. running),

Aby uzyskać informacje na temat procesów możesz również użyć programu top, który jest interaktywnym monitorem procesów (wychodzi się z niego naciskając klawisz q).

Informacje na temat zajetości pamięci operacyjnej uzyskasz przy pomocy programu free. Część z nich jest dostępna także z poziomu programu top.

Uruchamianie, zakończanie, zatrzymywanie i kontrolowanie procesów

Jak uruchomić proces?

wpisz nazwę programu z linii komend, dla przykładu ps,

wpisz nazwę programu z linii komend i na końcu umieść znak &, dla przykładu tee&. Aby przekonać się czym różnią się oba wywołania, wpisz najpierw tee i zakończ jego działanie wciskając Ctrl+C, a następnie wpisz tee&.

Uwaga: Jeśli widzisz w katalogu jakiś program, ale po wpisaniu z linii komend jego nazwy wyświetlany jest komunikat o błędzie Command not found, to znaczy, że katalog ten nie znajduje się na liście przechowywanej przez zmienną środowiskową PATH. Zmienna ta zawiera nazwy katalogów, które system przeszukuje, aby znaleźć wpisany przez Ciebie program. Dla przykładu, wpisujesz nazwę programu ls, który znajduje się w katalogu /bin. Nazwa tego katalogu jest pamiętana przez zmienną PATH i dlatego program zostaje odnaleziony. Jeśli Twoim oczom ukazuje się komunikat Command not found, to znaczy, że najprawdopodobniej katalog, w którym znajduje się wywoływany przez Ciebie program nie jest pamiętany przez zmienną PATH. Nie próbuj go dodawać do tej zmiennej! Po prostu wywołaj polecenie w postaci ./<nazwa_programu>. Zwróć uwagę na przedrostek ./, który mówi systemowi, żeby nie przeszukiwał katalogów zapisanych w zmiennej PATH, ale żeby wykonał program znajdujący się w aktualnym (bieżącym) katalogu.

Jak zakończyć ("zabić") proces?

poczekaj, aż program sam zakończy swoje działanie,

zaloguj się na inną wirtualną konsolę i wpisz ps aux, dowiedzieć się jaki identyfikator (PID) ma proces, który chcesz zakończyć. Aby zabić proces wpisz kill <PID>. Jeśli proces znajduje się w stanie uniemożliwiającym jego unicestwienie przez takie wywołanie komendy kill, to spróbuj wywołania kill -9 <PID>, które zabija proces nie zważając na stan, w którym on się znajduje. Oczywiście, aby zabić jakiś proces musisz być rootem lub jego właścicielem.

jeśli proces jest interaktywny, tzn. że po jego uruchomieniu nie oddał on znaku zachęty (ang. prompt) w linii komend, to możesz go zakończyć naciskając Ctrl+C lub Ctrl+D. Różnica pomiędzy tymi kombinacjami jest następująca: zamiarem użycia Ctrl+C jest przerwanie procesu, zaś Ctrl+D sygnalizuje "koniec danych wejściowych" (dlatego kombinacja ta czasami jest używana, aby poinformować program, że dane wejściowe już się zakończyły i powinien on przystąpić do dalszego działania).

jeśli uruchomiłeś proces na końcu wpisując znak & i jesteś wciąż w tym samym terminalu, to wpisz jobs, aby zobaczyć listę procesów działających w tle. Nastepnie wydaj komendę kill %JOB_ID, aby zabić proces. Prawda, że to miłe uczucie? :)

Gdy proces kończy swoje działanie, tzn. oddaje Ci znak zachęty w linii komend, to możesz zobaczyć jego kod wyjścia, wpisując polecenie echo $?. W większości przypadków wartość 0 oznacza sukces, a inna wartość oznacza błąd.

Jak zatrzymać/wznowić proces?

wpisz kill -STOP <PID>, żeby zatrzymać proces lub kill -CONT <PID>, aby wznowić jego działanie.

Priorytety procesów

W Linuxie (i innych Unixach) można określać priorytet działających procesów. W tym celu przypisuje się im wartość priorytetu, która może być liczbą z przedziału od -20 (najwyższy priorytet) do 20 (tak oznaczone procesy działają tylko wtedy, gdy nie ma do uruchomienia innych procesów). Wchodzący w skład jądra systemu planista procesów (ang. kernel process scheduler) jest poważnym "kawałkiem" oprogramowania, który działa tak, jak się od niego oczekuje (czego nie można powiedzieć o planistach z innych systemów nie-unixowych, a zwłaszcza o tym z systemu MS Windows).

Zwykli użytkownicy mogą jedynie używać wartości od 0 do 20 (0 jest domyślne). Aby uruchomić program, np. top, z określonym priorytetem użyj komendy nice -n 10 top. Aby zmienić priorytet już działającego programu wykorzystaj polecenie renice.

Gdy uruchamiasz jakiś proces bez znaku & na końcu jego nazwy, to proces ten zabiera Ci znak zachęty. Naciskając Ctrl+Z możesz umieścić go w tle i zatrzymać go. Aby wznowić jego działanie w tle musisz użyć polecenia bg. Aby wznowić działanie procesu na pierwszym planie (ang. foreground) wykorzystaj komendę fg. Możesz nawet umieścić jakiś proces w tle, a potem posłużyć się komendą fg, aby znów zaczął działać na pierwszym planie (oczywiście jeśli nie zamknąłeś terminala sterującego).

Wejście i wyjście procesów

Ogólnie mowiąc, każdy proces ma otwarte 3 kanały komunikacyjne (strumienie):

standardowe wejście STDIN (ang. Standard Input), które służy do pobierania danych. Ten strumień jest oznaczany numerem 0.

standardowe wyjście STDOUT (ang. Standard Output), które służy do zwracania danych. Ten strumień jest oznaczany numerem 1.

standardowe wyjście dla błędów STDERR (ang. Standard Error), które służy do wyświetlania komunikatów o błędach. Ten strumień jest oznaczany numerem 2.

W typowej sesji użytkownika (dla przykładu wydaje on polecenie ls), wszystkie te strumienie są połączone z jego terminalem. Oznacza to, że terminal jest miejscem, w którym użytkownik wpisuje dane wejściowe, a aplikacja wyświetla dla niego informacje. Strumienie te mogą być również połączone z plikiem, gniazdem (ang. socket), "rurką" (ang. pipe), a nawet z wyjściem/wyjściem innego programu!

Spójrzmy na poniższy przykład (komenda grep przeszuka wszystkie pliki i wyświetli linie plików zawiarających łańcuch /var/log/messages):

cd /etc

grep '/var/log/messages' *

Co otrzymałeś? Pewnie coś podobnego do tego (u siebie mogłeś otrzymać kilka poprawnych linii i kilka linii z komunikatami błędów):

grep: shadow: Permission denied

grep: shadow-: Permission denied

grep: skel: Is a directory

grep: sound: Is a directory

grep: ssh: Is a directory

grep: syslog-ng: Is a directory

syslog.conf:*.warn;mark.*;auth,authpriv.none /var/log/messages

syslog.conf,old: mail,news.none -/var/log/messages

syslog.conf.syslog-facility-old:*.=info;*.=notice;*.=warn %classic \

/var/log/messages

syslog.conf.syslog-facility-old:auth,authpriv.none %classic \

/var/log/messages

syslog.conf.syslog-facility-old:cron,daemon.none %classic \

/var/log/messages

syslog.conf.syslog-facility-old:mail,news.none %classic \

/var/log/messages

grep: t1lib: Is a directory

grep: terminfo: Is a directory

grep: texmf: Is a directory

Oczywiście tutaj też część danych jest dobra (syslog.conf), a część zawiera komunikaty o wystąpieniu błędu (Is a directory i Permission denied). Teraz odrobinę zmienimy nasze przykładowe polecenie:

grep '/var/log/messages' * 2> /tmp/errdata

Dysponując już pewną wiedzą na temat strumieni (standardowe wyjście ma numer 1, a standardowe wyjście dla błędów ma numer 2), powinieneś wiedzieć, co robi powyższe polecenie. Masz racje, przekierowuje ono standardowy strumień dla błędów z Twojego terminala do pliku /tmp/errdata. Otwórz ten plik w swoim ulubionym edytorze tekstu i zobacz, co on zawiera (Uwaga: Istnieje także specjalny plik /dev/null, który jest czymś w rodzaju czarnej dziury wchłanającej wszystkie dane. Przekieruj do niego dane, o których nie chcesz nic wiedzieć. Szkoda, że nie można tam wysłać swojej teściowej...). Aby dostarczyć programowi danych, które znajdują się w jakimś pliku możesz użyć strumienia STDIN w sposób pokazany poniżej:

/jakiś/program < /plik/z/danymi/dla/programu

I ostatnia już sprawa: możesz pobrać wyjście z jednego programu i skierować go na wejście drugiego. Do tego celu służy operator "rurki" ('|'). Oto kilka przykładów:

ps aux | cut -d" " -f 1 # drukuje tylko pierwszą kolumnę wyniku zwróconego

# przez polecenie 'ps aux'

ls -al | less # pozwala przewijać listę katalogów i plików

ls -al | grep root # zobacz poniże

Ostatnia komenda wyśle wynik działania polecenia ls -al na wejście komendy grep (dlatego nie widzisz go na swoim ekranie). Program grep wydrukuje tylko te linie, które zawierają łańcuch root (być może nie będzie takiej linii i nie zobaczysz niczego).

9. Nawiązywanie połączenia modemowego ze swoim ISP

W tym rodziale dowiesz się jak nawiązać połączenie modemowe ze swoim dostawcą usług internetowych (ang. Internet Services Provider).

Proszę zauważyć, iż nie musisz ładować żadnych sterowników, aby Linux obsługiwał Twój szeregowy modem. Takie urządzenia są rozpoznawane przez jądro w czasie startu systemu.

Wydaj polecenie pppconfig, aby utworzyć nowe połączenie z Twoim dostawcą usług internetowych i zdefiniować jego parametry konfiguracyjne. Program ten poprowadzi Cię przez proces konfiguracji za pomocą menu, ale proszę wziąć pod uwagę moje wskazówki:

Czytaj uważnie komunikaty wyświetlane przez program.

Pozostaw bez zmian nazwę provider jako nazwę Twojego pierwszego połączenia. W ten sposób stanie się ono połączeniem domyślnym.

Wybierz Dynamic DNS, gdy zostaniesz zapytany o sposób określania serwera nazw (następny ekran),

Dowiedź się jakiej metody autentykacji używa Twój ISP. Niemal na pewno będzie to metoda PAP.

Wpisz swój identyfikator (ang. login) i hasło (ang. password).

Określ prędkość portu, do którego przyłączony jest Twój modem. Jeśli jest to zewnętrzny modem, to pozostaw bez zmian prędkość 115200. Jeśli masz modem wewnętrzny, to możesz wpisać inną wartość, np. 57600.

Wybierz wybieranie tonowe, czyli Tone dialling. Chyba wszędzie są już takie centrale? (Nie, Davor, gdzieniegdzie w Polsce można jeszcze spotkać centrale impulsowe)

Wpisz numer dostępowy.

Odpowiedz Yes, gdy program zapyta Cię czy ma automatycznie wykryć, do którego portu jest podłączony Twój modem (poniżej znajdziesz instrukcje postępowania w wypadku, gdyby nie wykrył on żadnego portu).

Teraz masz przed oczyma główny ekran programu, na którym możesz modyfikować wybrane opcje zanim ostatecznie zapiszesz konfigurację na dysku. W tym celu wybierz Advanced options. Jeśli mieszkasz w Europie, to prawdopodobnie musisz zmienić pole Modeminit z ATZ na ATx3l1m1 (lub ATxl0m0, gdy chcesz wyłączyć głośniczek modemu). Wartość x3 jest tutaj bardzo ważna! Jeśli jej nie wpiszesz, to w czasie próby połączenia otrzymasz błąd NO DIALTONE. Teraz już możesz wybrać Finish, bo Twoje połączenie jest w pełni skonfigurowane.

Wyjdz z programu pppconfig i z linii komend wydaj polecenie pon. Jeśli masz zewnętrzny modem, to powinieneś zobaczyć migające diody Twojego modemu. Oznacza to, że zestawiłeś połączenie. Aby je zakończyć wydaj polecenie poff.

Uwaga: Program pppconfig to proste narzędzie ułatwiające tworzenie plików /etc/chatscripts/provider i /etc/ppp/peers/provider. Jeśli potrafisz, to możesz te pliki również utworzyć ręcznie. Gdybyś był zainteresowany jak działa komenda pon, to zajrzyj do skryptu /usr/bin/pon.

Rozwiązywanie kłopotów

Program pppconfig nie wykrywa mojego modemu

Jeśli pppconfig nie wykrywa Twojego modemu, to:

Upewnij się, że to model obsługujący pełny zestaw komend Hayesa (komendy AT). Jeśli masz tzw. "winmodem", to możesz zapomnieć o łączeniu się z Internetem pod Linuxem.

Upewnij się, że jest on poprawnie podłączony do komputera. Spróbuj go zresetować, wyłączając i włączając ponownie.

Spróbuj ręcznie określić port, do którego jest on podłączony. Do wyboru masz urządzenia od /dev/ttyS0 do /dev/ttyS3 (odpowiadają one portom COM1-COM4). Może w końcu uda Ci się natrafić na właściwy.

Komenda ping 161.53.2.66 działa, a komenda ping www.google.com już nie

Jeśli nawiązujesz połączenie z Internetem (np. świecą się lampki w modemie, itp.) i nie możesz pingować (patrz man ping) po nazwie takich hostów, jak www.google.com, ale możesz je pingować po ich adresie IP, to znaczy że nie działa rozwiązywanie nazw hostów na ich adresy IP. W takim przypadku dowiedz się, jaki jest adres IP serwera DNS (ang. Domain Name Service) Twojego dostawcy usług internetowych i wpisz go do pliku /etc/resolv.conf. Upewnij się, że jego adres jest wpisany w poniższej postaci:

nameserver ip.twojego.serwera.dns

, gdzie ip.twojego.serwera.dns jest adresem IP określonym za pomocą cyfr, nie liter, np. 161.53.2.112.

Programy alternatywne dla pppconfig

Program pppconfig oraz skrypty pon i poff są preferowanymi narzędziami, ale nie jedynymi jakich możesz używać przy połączeniach z Twoim ISP. Jeśli chcesz, to możesz także wypróbować program wvdial (instalując go za pomocą komendy apt-get install wvdial), którego konfiguracja jest zapisana w pliku /etc/wvdial/wvdial.conf. Przewagą programu wvdial nad pppconfig jest jego zdolność automatycznego wykrycia typów autentykacji, które akceptuje Twój ISP. Jeśli u Ciebie to nie działa, to spróbuj ustawić Stupid Mode=1 w pliku /etc/wvdial/wvdial.conf.

Połączyłem się z Internetem i co dalej?

Upewnij się, że zainstalowałeś pakiet ircii, przeczytaj krótką instrukcję łączenia się z serwerem IRC i wchodzenia na kanał #debian, którą zamieściłem w tabelce z opisem najważniejszych pakietów i przywitaj się z nami :)

10. Instalacja i konfiguracja systemu X Window

X11 to przemysłowy standard służący do wyświetlania i zarządzania aplikacjami okienkowymi.

W tym podręczniku omawiam wersję 4. XFree86, która jest wolną implementacją standardu X11. Nie znajdziesz jej w Debianie Potato, który standardowo używa XFree86 w wersji 3. Aby móc korzystać z najnowszej wersji X-ów potrzebujesz co najmniej Debiana Woody. Wersja 3. XFree86 zawiera mniej sterowników do kart graficznych i wymaga od Ciebie zainstalowania specyficznego dla Twojej karty X-serwera (np. xserver-rage128, xserver-mach32, xserver-mach64, xserver-i128, xserver-3dlabs, xserver-agx, xserver-8514, xserver-s3v, itd.). W wersji 4. wystarczy zainstalować tylko pakiet xserver-xfree86, który ma modularną budowę i potrafi załadować odpowiedni sterownik w czasie swojego działania. Tym co odróżnia obie wersje jest również nazwa i format pliku konfiguracyjnego. Dla XFree86 w wersji 4. jest to plik /etc/X11/XF86Config-4, zaś dla starych X-ów -- plik /etc/X11/XF86Config.

Aby zainstalować X-y pod Debianem wystarczy wydać następujące polecenie:

apt-get install xfree86-common xserver-common xfonts-base xserver-xfree86 \

xf86setup icewm icewm-themes

Program apt-get sprawdzi od jakich pakietów zależą powyższe paczki (takie jak czcionki, podstawowe aplikacje, itp.), następnie wyświetli pełną listę pakietów do instalacji i będzie czekać na Twoją akceptację. Po instalacji paczek APT poprosi Cię o konfigurację X-ów. Spróbuj udzielić poprawnych odpowiedzi na zadawane Ci pytania i gdy proces konfiguracji zakończy się, wpisz polecenie startx.

Jeśli Twoim oczom ukaże się kolorowy interfejs użytkownika, to znaczy, że pierwszy raz uruchomiłeś X-y!

W przypadku problemów wyedytuj plik /etc/X11/XF86Config-4 lub /etc/X11/XF86Config, w zależności od wersji XFree86 jakiej używasz. Odnajdź w nim linię Option "UseFBDev" "true" i zamień true na false. Jeśli to nie pomoże, to ustaw odpowiednią wartość pola Driver= (niektóre nazwy sterowników to ati, nv, cirrus i mga). Gdyby i to nie skutkowało, to popróbuj z wartościami pól HorizSync i VertRefresh, uważając żeby nie były one zbyt duże, bo możesz w ten sposób uszkodzić swój monitor! Bezpiecznymi ustawieniami są:

HorizSync 30-80

VertRefresh 40-90

Załóżmy, że udało Ci się w końcu uruchomić X-y:

Masz teraz działający system X Window. Zadaniem X-serwera jest komunikacja z Twoim sprzętem i wyświetlanie grafiki. Jednakże nie robi on nic więcej poza tymi rzeczami. To, w jaki sposób wygląda Twój interfejs zależy wyłącznie od używanego przez Ciebie menadżera okien (ang. window manager). Jeśli mnie posłuchałeś, to Twoim menadżerem jest w tej chwili icewm, ale nic nie stoi na przeszkodzie, abyś używał takiego menadżera, jaki Ci się podoba. Wybróbuj jeszcze następujące menadżery: wmaker, blackbox, afterstep i enlightenment. Pamiętaj, że gdy instalujesz nowy menadżer okien, to staje się on domyślny. Możesz również zainstalować twm, żeby zobaczyć jak wyglądał pierwszy menadżer okien.

Jeśli nie chcesz przy każdym uruchomieniu systemu logować się na konsoli i następnie z niej uruchamiać startx, to możesz zainstalować pakiet wdm. Od tej pory, po uruchomieniu komputera będzie on wyświetlać graficzne okienko służące do logowania. Umożliwia ono również wybór menadżera okien jakiego chcemy używać po zalogowaniu się do systemu.

A zakończyć działanie X Window możesz wybrać Logout z menu Twojego menadżera okien lub nacisnąć klawisze Ctrl+Alt+Backspace.

Dodatkowymi programami, które mogą Ci się przydać pod X-ami są:

0x01 graphic

11. Dostosowywanie środowiska do własnych potrzeb

Powiedzmy, że wiesz już, co robi komenda ls -al, ale nie chce Ci się jej wpisywać. Zamiast tego wolałbyś dla przykładu nacisnąć klawisz L. W tym celu wystarczy wyedytować plik ~/.bash_profile i umieścić w nim taką oto linię:

alias L='ls -al'

Teraz wydaj polecenie source ~/.bash_profile, które ponownie wczyta ustawienia zapisane w tym pliku i naciśnij L. Działa tak, jak chciałeś? To fajnie.

Pewnie już zauważyłeś, że format plików .bash_profile i .bashrc jest bardzo prosty. Możesz w nich umieścić takie polecenia, jakie chcesz wydawać z linii komend. Dla przykładu, wpisz polecenie echo KRÓTKI KOMUNIKAT i zobacz, co ono robi. Wtedy wyedytuj plik .bash_profile (oczywiście w Twoim katalogu domowym) i dopisz tę komendę na koniec pliku. Wyloguj się z systemu i zaloguj ponownie. System powinien przywitać Cię napisem KRÓTKI KOMUNIKAT.

12. Zaznajamianie się z komunikatami systemowymi

W systemach unixowych programy, aplikacje i demony wysyłają w standardowej formie komunikaty do demona logującego (ang. system logger), informując go w ten sposób o swoim stanie. Istnieje kilka implementacji tego demona, z których najpopularniejsze to wywodzący się z systemu BSD sysklogd (domyślny w Debianie), syslog-ng i msyslog.

Każdy komunikat zawiera Źródło (ang. Facility), które wskazuje pochodzenie komunikatu i Priorytet (ang. Severity), określający poziom ważności. Takie informacje jak data, czas i inne są automatycznie generowane przez demona i nie powinny być umieszczane w komunikacie.

Wszystkie logi w Debianie są domyślnie zapisywane w katalogu /var/log/, ale jeśli chcesz, to możesz oczywiście to zmienić. Demon (czyli proces, który działa w tle przez długi okres czasu, najczęściej jako usługa odbierająca żądania użytkowników) logujący rozdziela komunikaty pomiędzy plikami, rurkami, odległymi miejscami przeznaczenia i użytkownikami, korzystając ze schematu zapisanego w pliku /etc/syslog.conf (używany przez tradycjny sysklogd z systemu BSD). Ten plik ma bardzo prostą składnię, otwórz go i zobacz jak wygląda.

Aby gromadzić i studiować w celach edukacyjnych wszystkie komunikaty systemowe, dodaj na końcu pliku /etc/syslog.conf poniższą linię:

*.* TAB /var/log/allmessages

(Umieściłem powyżej symbol TAB, żeby podkreślić, że w tamtym miejscu koniecznie musi być wciśnięty klawisz Tab. Jeśli wpiszesz tam spacje, to logowanie nie będzie działać.)

Aby stworzyć pusty plik możesz użyć polecenia:

touch /var/log/allmessages

Aby zrestartować demon logujący wydaj komendę

/etc/init.d/sysklogd reload

Teraz przejdź na nieużywaną wirtualną konsolę i wpisz (na stronie podręcznika tail(1) dowiesz się, co robi polecenie):

tail -f /var/log/allmessages

Teraz musisz coś zrobić w swoim systemie (np. wyloguj się i ponownie zaloguj, użyj komendy su, itp.) i obserwuj nadchodzące komunikaty. To doskonały sposób, żeby nauczyć się czegoś o systemie i dowiedzieć o jego działaniu. Dzięki tej metodzie możesz wykrywać dowolne nieprawidłowści i błędy w działaniu systemu, które inaczej nie zostałyby zauważone.

Gdy uruchamiany jest Twój system, to na ekranie monitora wypisywanych jest wiele bardzo interesujących informacji. Możesz je obejrzeć także później, gdyż są one zapisywane w pliku /var/log/dmesg. Jeśli użyjesz komendy dmesg, to zobaczysz nie tylko informacje wyświetlane w czasie startu systemu, ale również nowe komunikaty.

Wskazówka: Dobrze jest zapisywać wszystkie logi demona ppp do pliku /var/log/ppp.log (do ich oglądania służy komenda plog). Aby to zrobić, należy do pliku /etc/syslog.conf dopisać linię

local2.* TAB /var/log/ppp.log

i zrestartować demona sysklogd.

13. Używanie myszki na konsoli tekstowej

Myszka może być także bardzo użyteczna na konsoli tekstowej. Dla przykładu kopiujesz wybrany fragment tekstu i wklejasz go naciskając 2. lub 3. przycisk "gryzonia". Aby móc korzystać z myszki na konsoli, zainstaluj pakiet gpm. Automatycznie poprosi Cię on o skonfigurowanie. Gdybyś w przyszłości chciał z niego zrezygnować lub gdyby nie działał on tak, jak powinien, to zawsze możesz ponownie uruchomić narzędzie do jego konfiguracji, zwane gpmconfig.

Poniżej pokazałem jakich odpowiedzi udzieliłem po uruchomieniu programu gpmconfig w moim systemie:

Where is your mouse? /dev/psaux # to jest port PS2, jeśli używasz myszki

What type is your mouse? imps2 # większość myszek PS2 dobrze działa z

responsiveness? # zostaw _puste_

repeat protocol? # wpisz 'none'

additional arguments? # zostaw _puste_

Teraz przetestuj konfigurację i ciesz się z myszki na konsoli.

14. Dostęp do danych na partycjach systemu MS Windows

Z tego rozdziału dowiesz się w jaki sposób uzyskać dostęp do danych umieszczonych na partycjach systemu MS Windows zainstalowanego na tym samym komputarze .

To jest bardzo proste! Wydaj polecenie fdisk -l, aby zobaczyć listę wszystkich partycji na dysku Twojego komputera. Zignoruj wszystkie partycje z wyjątkiem partycji typu FAT16 (używane przez MS DOS i Windows 3.x), FAT32 (używane przez Windows 95/98/Me) i NTFS (wykorzystywane przez Windows NT i Windows 2000). Przyjrzyj się poniższemu przykładowi:

Disk /dev/hda: 255 heads, 63 sectors, 1027 cylinders

Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System

/dev/hda1 1 1 8001 83 Linux

/dev/hda2 * 2 123 979965 6 FAT16

/dev/hda3 124 840 5759302+ 5 Extended

/dev/hda5 124 366 1951866 6 NTFS

/dev/hda6 * 367 670 2441848+ 83 Linux

/dev/hda7 671 792 979933+ 83 Linux

/dev/hda8 793 808 128488+ 82 Linux swap

/dev/hda9 809 824 128488+ 82 Linux swap

/dev/hda10 825 840 128488+ 82 Linux swap

Disk /dev/hdc: 64 heads, 63 sectors, 827 cylinders

Units = cylinders of 4032 * 512 bytes

Device Boot Start End Blocks Id System

/dev/hdc1 * 1 24 48352+ 82 Linux swap

/dev/hdc2 25 827 1618848 5 Extended

/dev/hdc5 25 827 1618816+ 83 Linux

Widać, że program fdisk wyświetlił informacje o dwóch twardych dyskach, które są widziane przez system jako urządzenia /dev/hda i /dev/hdc. Partycje z systemem Windows, których szukaliśmy są widziane jako /dev/hda2 i /dev/hda5 (pierwsza jest typu FAT16, a druga NTFS). Teraz tworzymy katalogi /mnt/hda2 i /mnt/hda5 (pamiętasz komendę mkdir?), a następnie edytujemy plik /etc/fstab i dopisujemy do niego linie:

/dev/hda2 /mnt/hda2 vfat defaults,ro 0 0

/dev/hda5 /mnt/hda5 ntfs defaults,ro 0 0

Jako root wydaj polecenie mount /mnt/hda2 i już możesz korzystać z danych na partycji /dev/hda2, odwołując się do katalogu /mnt/hda2! Uwagi: Powyższe linie dodane do pliku /etc/fstab spowodują, że system będzie automatycznie montował partycje Windowsa przy każdym uruchamianiu. Jeśli chcesz je montować ręcznie, to zamień wpis defaults,ro na noauto. Gdybyś chciał nie tylko odczytywać dane na tych partycjach, ale również zapisywać na nich, to musisz zmienić ro na rw (z wyjątkiem partycji NTFS, z której Linux potrafi tylko czytać). Oczywiście, aby móc montować partycje Windowsa, jądro musi być skompilowane z włączonymi odpowiednimi modułami. Jeśli jądro Linux Twojego systemu zostało w taki sposób skompilowne, to automatycznie załaduje odpowiedni moduł. Przekonaj się o tym, wydając polecenie lsmod po zamontowaniu którejś z partycji Windowsa. Powinieneś zobaczyć vfat lub ntfs na liście modułów.

15. Zakończenie

I to już koniec. Mam nadzieję, że ten podręcznik będzie pomocny dla Ciebie. Komentarze, pytania i poprawki (w formie czystego tekstu) są zawsze mile widziane. Proszę je wysyłać do mnie.

Poniżej zamieściłem listę rzeczy, które chciałbym dopisać do tego podręcznika w przyszłości (zapraszam do współpracy wolontariuszy):

przykładowy plik konfiguracyjny XFree86 dla rodzielczości 640x480 i 8-bitowej głębi koloru dla starej karty VGA,

firewall -- domyślny plik konfiguracyjny firewalla (ipchains lub iptables),

ISDN, modemy kablowe, pppoe i stałe łącze z Internetem,

kompilacja jądra,

sterowniki urządzeń,

opis /etc/init.d (update-rc.d i poziomy uruchomienia systemu (ang. runlevels)),

LILO.

Copyleft Pafcio. All rights reversed.

Ostatnia modyfikacja: Sb 03.01.2004 17:48:12

Ten artykuł został opublikowany pod adresem

http://www.debianusers.pl/article.php?aid=37.



Wyszukiwarka

Podobne podstrony:
wprowadzenie do systemu win i podst sieci
Karta postaci do systemu Glebia Przestrzeni
Praktyczne podejście do problemu Home Automation
Niektóre prawne aspekty włamań do systemu komputerowego
Diagnostyka prenatalna rozdział z podręcznika do pediatrii
Praktyczny komentarz do Nowego Testamentu Ewangelia Marka
podrecznik do bankowosci
Systemy Komputerow- pamięć podręczna, TZN, Systemy Operacyjne i Sieci
Praktyczny komentarz do Nowego Testamentu Ewangelia wg św Mateusza
Praktyczny komentarz do Nowego Testamentu List do Hebrajczyków
learn japanese podręcznik do nauki japońskiego LWCF4O7DVEVO74LYGGEQ5QH5XKGSLOHUANPWPRQ
JAK ZAINSTALOWAĆ WINDOWS XP, Do Systemu, Instrukcje instalacji
Praktyczny komentarz do Nowego Testamentu List do Galatów
Lab 01 Wprowadzenie do systemu UNIX

więcej podobnych podstron