Rozkład materiału na ćwiczenia z Linuxa

(21 godz. - 10 ćwiczeń)


Rozkład materiału do wykładów z Linuxa

(21 godz. - 11 wykładów)








Rozkład materiału na ćwiczenia z Linuxa

(21 godz. - 10 ćwiczeń)




Ćw. 1:


Logowanie się do systemu przy pomocy Windowsowego programu telnet lub lepiej poprzez ssh na adres serwera:


hubertus.wspa.edu.pl


Dobrego, darmowego klienta ssh można ściągnąć stąd:


putty.exe


Wyjaśnienie, na czym polega różnica w bezpieczeństwie sieciowym ("sniffery"). Konta i hasla podaje prowadzacy.

Konfigurowanie programu putty (połączenie ssh, rozmiar czcionki 12pt, reakcja na alt-enter)



Inni użytkownicy na serwerze (komendy: w, who, finger, finger user@host). Uzyskiwanie pomocy na temat komend na dwa sposoby - przykład: w --help, man w.

Odtwarzanie listy poprzednio wydanych komend przy pomocy klawiszy strzałkowych.


Komunikowanie się z zalogowanymi użytkownikami: komendy write i talk. Pokazanie manów do tych komend - jak skontaktować się z użytkownikiem zalogownym na konkretnym terminalu?



Ćw. 2:


Kontakt z dowolnymi (niekoniecznie aktualnie zalogowanymi) użytkownikami - poczta elektroniczna - program Pine (ew. można pokazać programy mail i elm).


Menu Pine programu i poruszanie się po nim (znaczenie liter: m, l, i, q). Pisanie poczty do siebie nawzajem (komenda compose, można wspomnieć o pełnych adresach internetowych w formie user@host.cośtam.cośtam.cośtam. Wysyłanie maili i sprawdzanie komendą "finger user", czy już doszły. Gdzie w opcjach Pine'a ustawia się zmienną "mail-check-interval" decydującą o tym, jak często program sprawdza nową pocztę i jaka jest jej minimalna wartość (15 s.)?. Należy też w konfiguracji utworzyć folder "read-messages" aby wszystko co przyjdzie nie leżało w folderze Inbox.


Odbieranie poczty, odpowiadanie na nią i forwardowanie jej do innych użytkowników. Foldery "sent-mail" i "read-messages".


Wysyłanie plików jako attachment opcją ctrl-j i (ew.) ctrl-t - np. plików z katalogu mail.

Ćwiczenia w programie Pine.



Ćw. 3:


System plików Unixa - część 1:

Katalog domowy użytkownika /home/stxx - jak go widać w znaku zgłoszenia systemu, jeśli nie widać to do czego służy komenda pwd.


Co pokazuje komenda ls, ls -l, ls -la (man ls). Komenda dir jest tylko aliasem do ls -la robionym zwyczajowo przez administratorów.


Co oznacza np. poniższy wiersz wyświetlony przez komendę dir, co dodatkowo widzimy w porównaniu z dosowskim odpowiednikiem tej komendy (właściciele plików/katalogów i prawa do nich)?


drwx------ 2 st01 st01 4096 Feb 1 22:57 mail


Komenda chmod (man chmod!) zmieniająca prawa dostępu do plików/katalogów. Jakie prawa (permissions) mamy my (user), grupa i inni (others) do naszego katalogu domowego. Jak przyznać prawa rx wszystkim użytkownikom do naszego katalogu domowego? Sprawdzenie przy pomocy programu Midnight Commander (komenda mc), że wtedy wszyscy mogą wejść do naszego katalogu domowego i czytać jego zawartość, ale nie mogą nic zmienić ani skasować.


Przywracamy poprzednie prawa do naszego katalogu domowego. Odbieramy prawa rwx dla usera do katalogu mail na naszym koncie. Co wtedy zrobi Pine? Przywracamy stan oryginalny.

Tryb numeryczny wydawania komendy chmod (np.: chmod 700 mail).


Kto jest właścicielem innych katalogów w systemie i jakie prawa mają do nich inni użytkownicy?

Można w tym celu użyć programu Midnight Commander i jego formatu wyświetlania długiej listy plików oraz opcji: plik->chmod.


Podstawowe komendy Unixa: pwd, mkdir, cd, rmdir, rm wraz z parametremi, cat, more, less, cp, grep. Przypomnienie ich dosowskich odpowiedników.


Ćw. 4:


Jako czynność wstępną proponuję wysłać sobie nawzajem jako attachment jakiś spory, ale nie za duży plik, np. /boot/vmlinuz, zajrzeć do foldera Inbox w Pine, ale nie otwierać przesyłki!


Limity miejsca na dysku. Sprawdzanie quoty (komenda: quota), co oznaczają poszczególne rubryki wyświetlane przez komendę quota, np.:


Disk quotas for user pgiza (uid 500):

Filesystem blocks quota limit grace files quota limit grace

/dev/sda2 232157 800000 0 1221 5000 0


Co oznacza rubryka grace (w przypadku, gdy administrator wprowadził limity czasowe, soft- i hard-quota)?


Co robić w przypadku, gdy mamy przepełnione konto, gdzie mogą być nasze pliki?

a) Wydajemy komendę quota i notujemy rubrykę blocks.


b) Będąc w katalogu domowym wydajemy komendę du (od ang. Disk usage, patrz: man du), która wyświetli nam łączną ilość kB jaką zajmujemy w swoim katalogu, np. /home/st01.


c) Jeśli du wyświetla tyle, lub prawie tyle, co quota to znaczy że musimy "wyczyścić konto" ze zbędnych plików (zbyt dużo "naściągaliśmy" z sieci, mamy zbyt wiele przeczytanej poczty w katalogu ~/mail, któryś program "zrzucił" nam na dysk plik core - szczególnie gdy na serwerze chodzą X-y). Pliki kasujemy przy pomocy mc, lub komendą rm (man rm) - jakie są opcje tej komendy: rm -r, rm -rf itd.



d) Jeśli quota pokazuje wyraźnie więcej niż du na koncie, to musimy poszukać naszych plików w dwóch katalogach:


/var/spool/mail/ gdzie znajduje się nowa, nie czytana przez nas poczta w pliku o nazwie takiej, jak użytkownik, np. st01. Sprawdzamy wielkość tego pliku. Zawartość tego pliku widoczna będzie w folderze Inbox w programie Pine, a po odczytaniu zostanie umieszczona w katalogu ~/mail.


/tmp gdzie znajdują się pliki tymczasowe tworzone przez używane przez nas programy. Programy te, szczególnie pod X-ami tworzą duże pliki i nie zawsze je kasują. Zanim zrobi to demon, może upłynąć parę dni. Pliki te znajdujemy komendą:


find /tmp -user stxx


Przy okazji omówienie komendy find (man find) z opcjami katalogu startowego oraz -user, -name, itd.


Jeśli znajdziemy pliki w /tmp, które zapychają nam quotę to możemy je skasować. Czy możemy skasować nasz plik w /var/spool/mail, bo czasami konto jest tak zapełnione, że Pine nie jest w stanie przeczytać nowej (ogromnej poczty). Próbujemy - dlaczego się nie udaje? Jakie są prawa i właściciele naszego pliku. Pomimo, że są ok, to jednak właścicielem katalogu /var/spool/mail są: root mail, a prawa są rwxrwxr-x, a więc my, inni, nie mamy prawa zapisu w tym katalogu!



Ćw. 5:


a) Dowiązania symboliczne (linki) do plików i katalogów. Opcje komendy ln. Tworzenie linków w katalogu domowym wiodących do ważnych plików i katalogów systemu.

Przykłady:


ln -s /mnt/floppy ~/dyskietka

ln -s /mnt/cdrom ~/cdrom


Jak wyświetla linki komenda dir (ls -l). Jak usuwać linki?


Tworzenie linków przy pomocy programu mc - praca na dwóch panelach.


Jak znaleźć linki istniejące w ważnych katalogach systemu? (dir katalog | grep " -> ", dir katalog | grep lrw)


b) Montowanie systemów plików.


Przegląd katalogu /mnt i zawartości pliku /etc/fstab. Które urządzenia może montować użytkownik?

Jakie prawa mają inni użytkownicy do zamontowanej przez kogoś dyskietki. Sprawdzanie możliwości zapisu i odczytu z dyskietki komendą cp lub przy pomocy programu mc.


Kto i w jakich okolicznościach może odmontować dyskietkę - komunikat: device busy.


c) Uzyskiwanie dostępu do serwera (w tym do swojego katalogu domowego) przy pomocy klientów ftp: przeglądarki działającej w trybie ftp i programu Windows Commander. Kopiowanie plikow pomiędzy dyskami lokalnymi a swoim katalogiem domowym na serwerze.



Ćw. 6:


Grupy prywatne użytkowników i administrowanie nimi komenda gpasswd (man gpasswd - opcje administratora i zwykłego użytkownika).


a) Komendą: gpasswd -a user group, zapisujemy wybranych użytkowników do naszej prywatnej grupy.


b) Udostępniamy (komendą chmod) pewne pliki w naszym katalogu domowym tylko dla swojej grupy (prawo wejścia i ew. czytania katalogów oraz czytania plików dla grupy)


c) Testujemy przyznane nam prawa. Ćwiczenia.


UWAGA: użytkownik nowo zapisany do grupy musi w odpowiedni sposób użyć komendy newgrp (man newgrp) lub się przelogować, aby nabyć wynikające z tego prawa! Patrz także komenda groups.



Ćw. 7:


Procesy w systemie.


a) Komenda ps (man ps) i jej opcje: x, ux, wux, auwx, axl, itd. Filtrowanie listy procesów w systemie przy użyciu komend less, grep, sort.

Co oznaczają rubryki nagłowka w przykładowym wydruku z komendy ps aux?


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

root 1 0.5 0.4 1324 532 ? S 10:06 0:05 init

root 2 0.0 0.0 0 0 ? SW 10:06 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW 10:06 0:00 [kupdate]

root 4 0.0 0.0 0 0 ? SW 10:06 0:00 [kpiod]

root 5 0.0 0.0 0 0 ? SW 10:06 0:00 [kswapd]

root 56 0.0 0.0 0 0 ? SW 10:06 0:00 [khubd]

root 287 0.0 0.4 1384 560 ? S 10:06 0:00 syslogd

root 297 0.0 0.5 1688 752 ? S 10:06 0:00 klogd

rpc 312 0.0 0.3 1468 504 ? S 10:06 0:00 portmap

root 328 0.0 0.0 0 0 ? SW 10:07 0:00 [lockd]

root 329 0.0 0.0 0 0 ? SW 10:07 0:00 [rpciod]


b) Zabijanie procesów, komendy kill, skill, killall z argumentami. Przykłady użycia tych komend przez administratora i zwykłych użytkowników.


c) Komenda top wyświetlająca na bieżąco listę procesów, sortowanie według określonych kryteriów, zabijanie procesów.


d) Uruchamianie procesów w tle:


użycie znaku & na końcu komendy

komenda jobs

znaczenie klawiszy ^Z

komendy fg i bg


Po co uruchamia się procesy w tle?



Ćw. 8:


a) Program screen pozwalający zostawiać w systemie procesy na wirtualnych ekranach i wracać do nich po ponownym zalogowaniu się (man screen).


Kolejność postępowania:


wget -r -k http://jakiś_adres_www (patrz: man wget)


Inne opcje programu (man screen).



Ćw. 9:


Udostępnianie stron WWW na koncie użytkownika.


a) Przeglądamy procesy w systemie szukając procesów demona httpd. Jeśli są to znaczy, że na naszym serwerze działa serwer stron WWW.


b) Identyfikujemy użytkownika, który jest właścicielem tych procesów - przy standardowej konfiguracji serwera Apache nazywa się on apache. Temu właśnie użytkownikowi musimy udostępnić naszą stronę by z kolei on mógł pokazać ją światu.


c) Przeglądamy plik konfiguracyjny serwera Apache: /etc/httpd/conf/httpd.conf szukając opcji UserDir - użycie komendy less oraz jej klawisza - / . Sprawdzamy czy opcja UserDir jest udostępniona, jeśli tak, to jak nazywa się podkatalog w naszym katalogu domowym, w którym demon spodziewa się znaleźć naszą stronę. Domyślnie jest to public_html. Następnie szukamy opcji DirectoryIndex - w ten sposób dowiadujemy się, jak musi się nazywać główny index naszej strony, domyślnie: index.html.


d) Zakładamy w swoim katalogu domowym podkatalog public_html i tworzymy w nim przy pomocy prostego edytora wersję testową strony lub ściągamy jakąś stronę programem wget.


Można więc wydać komendę:


pico ~/public_html/index.html


i po wpisaniu kilku słów opuścić edytor z zapisem dokumentu.


lub


wydać w katalogu public_html komendę:


wget -r -k -nH http://jakiś_adres_www (szukamy opcji nH - no host directories - w manie do komendy wget)


e) Udostępniamy stronę demonowi apache. Można w tym celu nadać prawo wejścia do swojego katalogu domowego i do katalogu public_html oraz prawo czytania plików naszej strony wszystkim innym użytkownikom, lub tylko demonowi apache dopisując go do swojej prywatnej grupy i nadając jej wspomniane prawa. Druga metoda jest może elegantsza i bezpieczniejsza, ale wymaga zrestartowanie demona apache (parz ćw. 6 na temat nabywania praw przez nowych członków grup), a więc interwencji admnistratora lub poczekania aż zrobi to odpowiedni skrypt.


f) Sprawdzamy, czy przeglądarka widzi naszą stronę.



Ćw. 10:


a) Powłoka, jej zastosowanie i konfigurowanie.


Co to jest powłoka? Sprawdzenie, jakiej powłoki aktualnie używamy i zmiana domyślnej powłoki. Jakie powłoki zainstalowane są w systemie. Zmienne systemowe, komenda set.


komendy echo $SHELL i chsh


Powłoka BASH. Zmienne systemowe np: $HOME, $LOGNAME, $PATH, $PS1, wyświetlanie ich wartości, komenda set. Modyfikowanie zmiennych systemowych $PATH i $PS1- komenda export.


b) Elementy konfigurowania systemu

Pliki konfiguracyjne powłoki Bash: w katalogu domowym użytkownika i pliki dla całego systemu w katalogu /etc - ich omówienie. Kolejność wykonywania skryptów:

/etc/profile – systemowy skrypt logowania powłoki

/etq/bashrc – systemowy skrypt konfiguracyjny powłoki zawierający aliasy i funkcje

~/.bash_profile - krypt logowania użytkownika

~/.bashrc -- skrypt konfiguracyjny powłoki zawierający aliasy i funkcje użytkownika



c) Skrypty powłoki

Przykładowe proste skrypty bash'a. Składnia skryptów.

Budowa własnego skryptu logowanie o nazwie loginscript wywoływanego z .bash_profile według wskazówek prowadzącego.








Rozkład materiału do wykładów z Linuxa

(21 godz. - 11 wykładów)


Wykł. 1:


a) Rys historyczny systemu UNIX:


1969 - AT&T Bell LAB i MIT - Ken Thompson


1970 - Denis Ritchie i Ken Thompson - przepisanie kodu zródłowego w języku C - przenośność systemu i możliwość jego kompilacji dla różnych platform sprzętowych.


1975 - Berkeley BSD versus AT&T System V


1980 - MS XENIX


1993 - Novell UNIXWARE


1991 - Linus Torvald - Univ. of Helsinki - Jądro Linuxa - kernel 0.11


b) 4 części systemu:

jądro

powłoka

system plików

programy użytkowe


c) Unix a inne systemy - wielozadaniowość, wielodostępność.

Schemat sieci z serwerem unixowym w porównaniu z sieciami z file-serverem


d) Jak można się zalogować na serwer Unixowy.


Opis FreeNX oraz ważne linki na stronie: http://fedoranews.org/contributors/rick_stout/freenx/


Klucz ssh (oraz program kliencki): FreeNX



Wykł. 2:


a) Jak startuje system linuxowy - wiadomości wstępne.

Przegląd i krótkie omówienie kolejno uruchamianych części systemu oraz ich komunikatów.


Gdzie można znaleźć informacje o tym co działo się w systemie - "logi systemowe" - komendy:

dmesg i less /var/log/messages.


Program init i jego plik konfiguracyjny /etc/inittab - od czego zależy czy system startuje w trybie tekstowym (init 3) czy graficznym (init 5).


Praca w trybie tekstowym (shell, wydawanie komend, uzupełnianie (completions)) a praca w trybie graficznym (różne managery okien lub "desktopy")


b) Ogólny przegląd systemu plików Linuxa. Najważniejsze katalogi, ich zawartość i funkcje jaką pełnią w systemie.

dir /


Wykł 3:


System plików Unixa, cz. I:


a) Pojęcie katalogu domowego. Podstawowe komendy "plikowe": dir (ls z parametrami). Prawa i właściciele plików i katalogów. Zmiana praw: komenda chmod. Tryb numeryczny wydawania tej komendy. Podstawowe komendy Unixa: pwd, mkdir, cd, rmdir, rm wraz z parametremi, cat, more, less, cp, grep. Przypomnienie ich dosowskich odpowiedników.

ls

ls -l

ls -la

dir

chmod o+x ~

chmod o+r ~

chmod o-rx ~

chmod 701 ~

chmod 705 ~

chmod 007 ~

chmod 700 ~

mkdir test

echo test > test/test

dir test

rmdir test

rm -rf test

dir

cat /etc/passwd

more /etc/passwd

less /etc/passwd

cp /etc/passwd ~

cp -ax /stary-dysk /nowy-dysk


b) Przegląd katalogu głównego systemu (pojęcie root filesystem) - opis najważniejszych katalogów systemu: bin, boot, dev, etc, home, lib, mnt, proc, root, tmp, usr, var - jakie są prawa do tych katalogów dla "normalnych "użytkowników? Katalog /tmp a znaczenie prawa "t" dla użytkowników.


c) Dowiązania (tzw. linki) - tworzenie linków w katalogu domowym do ważnych części systemu.

ln -s /mnt/floppy ~/dyskietka

ln -s /mnt/cdrom ~/cdrom

ln -s /mnt/swinia ~/swinia

dir floppy

dir floppy/


Wykł. 4:


System plików Unixa, cz. II:


a) Najważniejsze katalogi zawierające pliki binarne: /bin, /usr/bin/, /usr/local/bin/, /sbin - ogólny przegląd komend zawartych w tych katalogach. Komendy set (zmienna PATH) i whereis. Ile jest komend w poszczególnych katalogach:

Posługiwanie się przetwarzaniem potokowym na przykładzie komend:


dir /usr/bin | less

ls /usr/bin | wc -l


Uzupełnianie (completions) nazw ścieżek i komend przy pomocy klawisza tabulatora.


b) Uprawnienie "s" (setuid) dla niektórych komend np: passwd, chfn. Dlaczego te komendy muszą działać na prawach root'a?

Analiza na przykładzie komend /usr/bin/passwd i pliku /etc/shadow oraz /usr/bin/chfn i pliku /etc/passwd - jakie są prawa dostępu do tych plików dla root'a i jakie dla innych użytkowników?

Odpowiednie komendy modyfikują tylko określone pola w tych plikach.

chfn

dir /etc/passwd

nano /etc/passwd

chfn

ps aux | grep chfn



Wykł. 5:


System plików Unixa, cz. III:


a) Wszystkie urządzenia i systemy plików muszą mieć swoje "punkty zaczepienia" w root filesystem. Różnice w hierarchii dysk-katalog-plik w systemach między systemami unixowymi a systemami Dos i Windows.

Jak nazywają się dyski twarde i ich partycje, dyskietki, CD-Rom'y w systemach unixowych.


b) Przykładowy plik /etc/fstab zawierający opis systemów plików istniejących w systemie:

cat /etc/fstab


Wyjaśnienie znaczenia poszczególnych kolumn w pliku, poszukiwanie informacji w manach do komend mount i fstab. Znaczenie katalogów /dev/ i /mnt.

Uwaga: w pliku fstab zamiast nazw unixowych urządzeń i partycji w nowszych systemach wysŧpują identyfikatory UUID. Odpowiadające im nazwy zamontowanych urządzeń można uzyskać komendą mount

c) Pełna składnia komendy mount:


mount [-fnrsvw] [-t vfstype] [-o options] device dir

mount -t vfat /dev/fd0 /mnt/floppy

lub

mount (bez parametrów)


dostępna dla administratora. Zwykli użytkownicy mogą jedynie montować dozwolone dla nich w /etc/fstab systemy plików wydając komendę w formie skróconej, np:


mount /mnt/cdrom

lub

mount /dev/cdrom

umount /mnt/cdrom


Demonstracja reakcji systemu na różne sposoby użycia komendy mount z poziomu root'a i zwykłego użytkownika.



Wykł. 6:


System plików Unixa, cz. IV:


a) Montowanie sieciowych systemów plików:


System plików nfs (man mount) umożliwiający montowanie katalogów odległych serwerów unixowych, które na to pozwalają - znaczenie pliku konfiguracyjnego /etc/exports na serwerze.

su -

showmount -e bacon.umcs.lublin.pl

ssh root@bacon.umcs.lublin.pl

nano /etc/exports

/etc/init.d/nfs restart

ctrl-d

showmount -e bacon.umcs.lublin.pl

mount -t nfs bacon.umcs.lublin.pl:/home /mnt/bacon

dir /mnt/bacon

umount /mnt/bacon


Pakiet samba-client umożliwiający montowanie zasobów udostępnionych przez serwer Samby.

ssh root@bacon.umcs.lublin.pl

mount -t cifs -o user=samba //hubertus.wspa.edu.pl/samba /mnt/

dir /mnt

umot /mnt

ctrl-d


b) Wprowadzanie i konfigurowanie limitów miejsca (quota) na konkretnym filesystemie dla użytkowników z poziomu root'a:


Montowanie systemu plików z opcją usrquota

Zakładanie pliku quota.user komendą touch i ustawianie praw do niego.

Edycja quota komendą edquota, ewentualnie wprowadzanie użytkownika wzorcowego.

Włączenie quota dla danego filesystemu komendą quotaon oraz sprawdzenie quoty komendą quotacheck.


c) Konfigurowanie programu GRUB ew. LILO uruchamiającego różne systemu operacyjne na rożnych systemach plików. Przykładowy plik konfiguracyjny /etc/lilo.conf (man lilo, man lilo.conf):


boot=/dev/hda

install=/boot/boot.b

message=/etc/lilo.msg

map=/boot/map

prompt

vga=normal

read-only


other=/dev/hda1

label=dos


image=/boot/vmlinuz-2.2.16-22

label=linux

read-only

root=/dev/hda3


Przykładowy plik /etc/grub.conf:

#boot=/dev/sda

default=0

timeout=0

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

title Fedora (2.6.35.13-92.fc14.i686.PAE)

root (hd0,0)

kernel /boot/vmlinuz-2.6.35.13-92.fc14.i686.PAE ro root=UUID=2761ab2e-3d22-4e79-a344-f0742df5eca6 LANG=pl_PL.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=pl2 rhgb quiet

initrd /boot/initramfs-2.6.35.13-92.fc14.i686.PAE.img

title Fedora (2.6.35.13-91.fc14.i686.PAE)

root (hd0,0)

kernel /boot/vmlinuz-2.6.35.13-91.fc14.i686.PAE ro root=UUID=2761ab2e-3d22-4e79-a344-f0742df5eca6 LANG=pl_PL.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=pl2 rhgb quiet

initrd /boot/initramfs-2.6.35.13-91.fc14.i686.PAE.img

title Fedora (2.6.35.12-90.fc14.i686.PAE)

root (hd0,0)

kernel /boot/vmlinuz-2.6.35.12-90.fc14.i686.PAE ro root=UUID=2761ab2e-3d22-4e79-a344-f0742df5eca6 LANG=pl_PL.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=pl2 rhgb quiet

initrd /boot/initramfs-2.6.35.12-90.fc14.i686.PAE.img


Alternatywne sposoby uruchomienia systemu: Live CD, Live USB, tzw. tryb rescue przy uruchamianiu instalacyjnego DVD danej dystrybucji.



Wykład 7:


Procesy w systemie, cz. I:


a) Komenda ps (man ps) i jej opcje: x, ux, wux, auwx, axl, itd. Filtrowanie listy procesów w systemie przy użyciu komend less, grep, sort.

Co oznaczają rubryki nagłowka w przykładowym wydruku z komendy ps aux?


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

root 1 0.5 0.4 1324 532 ? S 10:06 0:05 init

root 2 0.0 0.0 0 0 ? SW 10:06 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW 10:06 0:00 [kupdate]

root 4 0.0 0.0 0 0 ? SW 10:06 0:00 [kpiod]

root 5 0.0 0.0 0 0 ? SW 10:06 0:00 [kswapd]

root 56 0.0 0.0 0 0 ? SW 10:06 0:00 [khubd]

root 287 0.0 0.4 1384 560 ? S 10:06 0:00 syslogd

root 297 0.0 0.5 1688 752 ? S 10:06 0:00 klogd

rpc 312 0.0 0.3 1468 504 ? S 10:06 0:00 portmap

root 328 0.0 0.0 0 0 ? SW 10:07 0:00 [lockd]


ps

ps u

ps ux

ps aux

ps aux | less

ps aux | wc -l

ps aux | grep firefox

ps aux | grep st01 | grep -v grep

ps aux | grep kadu | grep st01


b) Zabijanie procesów, komendy kill, skill, killall z argumentami. Przykłady użycia tych komend przez administratora i zwykłych użytkowników.

kill -9 <PID>

kill -15 <PID>

kill -9 -1 :)

killall -9 pine mc

skill -9 -u st01

skill -9 -c pine


c) Komenda top wyświetlająca na bieżąco listę procesów, sortowanie według określonych kryteriów (klawisze M, T P), zabijanie procesów (klawisz K).



Wykł. 8:


Procesy w systemie, cz. II:


a) Uruchamianie procesów w tle:


użycie znaku & na końcu komendy

komenda jobs

znaczenie kombinacji klawiszy ^Z (ctrl-z)

komendy fg i bg

pine

ctrl-z

mc

ctrl-z

jobs

fg 1

ctrl-z

fg 2

ctrl-z

killall -9 pine mc

yes > /dev/null

ctrl-z

top

q

bg 1

top

q

fg 1

ctrl-c

alternatywnie:

yes > /dev/null &

top

q

killall -9 yes


b) Specjalne programy służące do uruchamiania i zarządzania procesami


at - uruchamianie procesów w określonym czasie, kamendy do obsługi kolejek: atq, atrm.

at now + 5 minutes

> kill -9 -1

> ctrl-d

atq


crontab - regularne uruchamianie procesów

crontab -l

crontab -e

*/5 * * * * echo Hello | mail st01

55 23 31 12 * echo Happy New Year | mail st02

Esc : wq

crontab -l

crontab -r


screen - uruchamianie procesów wraz z wirtualnym ekranem. "Gorące klawisze" sesji programu sereen. Ponowny powrót do programów pozostawionych w sesji.

screen

yes ale draka > /dev/null

ctrl-a d

wylogowanie

logowanie

screen -r <ewentualnie PID>

ctrl-a K


Wykł. 9:


a) Program RPM (RedHat Package Manager) służący do zarządzenia pakietmi w wielu dystrybucjach Linuxa.

Komenda: man rpm pokazuje główne opcje programu:


rpm -q

rpm -i

rpm -U ew. -F

rpm -e


Praktyczne zastosowania i podopcje.



b) Linux a Windows.




Badanie wymienionych pakietów przy pomocy programu RPM.



Wykł. 10:


a) Powłoka, jej zastosowanie i konfigurowanie.


Co to jest powłoka? Sprawdzenie, jakiej powłoki aktualnie używamy i zmiana domyślnej powłoki. Jakie powłoki zainstalowane są w systemie. Zmienne systemowe, komenda set.


komendy echo $SHELL i chsh


Powłoka BASH. Zmienne systemowe np: $HOME, $LOGNAME, $PATH, $PS1, wyświetlanie ich wartości, komenda set. Modyfikowanie zmiennych systemowych - komenda export.


b) Elementy konfigurowania systemu

Pliki konfiguracyjne powłoki Bash: w katalogu domowym użytkownika i pliki dla całego systemu w katalogu /etc - och omówienie.

Konfigurowanie programu init: katalog /etc/rc.d i jego zawartość.


c) Skrypty powłoki

Przykładowe proste skrypty bash'a. Składnia skryptów.

Składnia i proste przykłady użycia instrukcji for, while, if. Zastosowania.


Przykładowe skrypty





Literatura:



H. Davis, RedHat Linux, Seria "Po prostu", Wyd. Helion, Warszawa.

R. Petersen, Arkana Linux, Wyd. RM, Warszawa.