![]()
Rozkład materiału na ćwiczenia z Linuxa
Rozkład materiału do wykładów z Linuxa
![]()
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:
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:
uruchamiamy komendę screen
wydajemy "na screenie" dowolną komendę np. Pine, mc. Jednak głównym zastosowaniem screen'a, nie licząc IRC'a, jest ściąganie dużych plików lub podkatalogów z serwerów ftp, lub całych stron www z zadaną głębokością linków programem wget w następujący sposób:
wget -r -k http://jakiś_adres_www (patrz: man wget)
odłączamy się (detach) od wirtualnego ekranu kombinacją klawiszy: ctrl-a d
wylogowujemy się
logujemy się ponownie
wydajemy komendę screen -r (od słowa resume) aby wznowić sesje screenowe. W przypadku wielu sesji musimy podać numer procesu.
Przeglądamy wyniki działania programów (oglądamy ściągnięte strony tekstową przeglądarką lynx lub links) i ewentualnie detachujemy się lub zabijamy screena kombinacją klawiszy ctrl-a K. Uwaga: jeśli po zabiciu screen'a terminal "oszaleje", wydajemy komendę: reset.
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.
tryb tekstowy (konfigurowanie programu putty)
tryb graficzny (instalacja i konfiguracja klienta FreeNX)
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
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.
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.
Pakiet Samba (emulator serwera Windows NT pod Linux)
Pakiet Samba-Client (emulator klinta sieci Windows pod Linux)
Pakiet Samba SWAT (interfejs graficzny do administrowania Sambą)
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.
Literatura:
H. Davis, RedHat Linux, Seria "Po prostu", Wyd. Helion, Warszawa.
R. Petersen, Arkana Linux, Wyd. RM, Warszawa.
![]()