Title: Troche historii
1Troche historii
1
- Lata 50 poczatki systemów operacyjnych,
programy batch, minimalizacja przestojów miedzy
kolejnymi programami - Lata 60 pierwsze systemy operacyjne
interaktywne. Kilku uzytkowników korzystalo z
tego samego komputera równoczesnie. Podzial czasu - Wiele róznych zespolów, wiele projektów, jednym z
nich byl Multics
2Troche historii
2
- Bell Labs opuscil zespól pracujacy nad systemem
Multics i stworzyl wlasny system operacyjny,
Unix. Poczatkowo rozprowadzany za darmo, zdobyl
duza popularnosc w uniwersytetach - Lata 90 pozycja Unixa stala sie mocna, ale
zostal produktem komercyjnym i drogim. - Tani, podobny do Unixa system Minix byl ubogi,
napisany w celach dydaktycznych. 386BSD,
prekursor systemów NetBSD, FreeBSD, OpenBSD byl
niedojrzaly i potrzebowal mocnego sprzetu
3Troche historii
3
- Pazdziernik 1991 Linus Torvalds uzywal Unixa na
uniwersytecie w Helsinkach, chcial miec podobny
system w domu. Próbowal systemu Minix, ale chcial
cos lepszego. Rozpoczal pisanie wlasnego systemu
operacyjnego - Po opublikowaniu pierwszej dzialajacej wersji
system przyciagnal uwage innych programistów.
Zaczal sie dynamicznie rozwijac
4Troche historii
4
- Linux to tylko jadro systemu (zarzadzanie
pamiecia, drivery urzadzen, zarzadzanie
wielozadaniowoscia itp). Pozostale oprogramowanie
systemowe, w tym najawazniejszy kompilator C
pochodzily z Free Software Foundation's GNU
project. - Free Software Foundation's GNU project rozpoczal
sie w 1984 roku, ma za cel stworzenie kompletnego
farmowego wzorowanego na Unixie systemu
operacyjnego. Linux czasami jest nazywany
GNU/Linux.
5Troche historii
5
- Lata 92 i 93 Linux wzbogacil sie o protokól
TCP/IP i srodowisko graficzne (X Window), mogl
zastapic w stacjach roboczych Unixa. Wiele malych
firm zajelo sie rozwojem i dystrybucja Linuxa,
pojawily sie grupy uzytkowników - Poczatek 1994 rozpoczeto wydawanie Linux
Magazine - Marzec 1994 jadro 1.0
- 1997 rok Netscape udostepnilo swoje
oprogramowanie bezplatnie. Powstal model
oprogramowania typu open source
6Co to takiego
6
- Linux to wzorowany na systemie Unix
wielozadaniowy i wielodostepny system operacyjny
dla 32 i 64 bitowych procesorów, dzialajacy na
wielu platformach. Programy pisane dla UNIX
dzialaja na Linux po rekompilacji - Linux, podobnie jak Unix byl od poczatku
projektowany jako wielozadaniowy.
Wielozadaniowosc musi byc brana pod uwage w calym
systemie operacyjnym, systemy do których dodano
ja pózniej, robia to gorzej (przyklad win95
win NT)
7Co to takiego
7
- Dobra ochrona pamieci, program uzytkowy nie moze
zniszczyc innego - Linux byl pisany na Intel 386, teraz dziala na
Sun SPARC i UltraSPARC, Motorola 68000, PowerPC,
PowerPC64, ARM, Hitachi SuperH, IBM S/390, MIPS,
HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64 and
CRIS procesory 32 i 64 bitowe
8Co to takiego
8
- Skalowalnosc dziala w komputerach wbudowanych,
telefonach komórkowych, mainframe, .... - Dzieki technologii cluster np. Beowulf dziala na
superkomputerach
9Co to takiego
9
- Pierwsze aplikacje to oprogramowanie naukowe,
bazy danych, sieci komputerowe. Interfejs z linii
komend. - Pierwsze powazne zastosowania jako serwery
plików, poczty, baz danych - Srodowisko graficzne - KDE, Gnome pozwolilo na
powstanie aplikacji dla zwyklych uzytkowników, na
przyklad Open Office.
10Dystrybucje
10
- Linux i jego oprogramowanie rozwijane jest przez
wiele zespolów - Mozliwe jest samodzielne zebranie oprogramowania
i jego zainstalowanie - Wygodniej jest skorzystac z gotowego zestawu,
dystrybucji
11Dystrybucje
11
- Dystrybucja to jadro systemu, program
instalacyjny i zestaw programów uzytkowych - Istnieja setki dystrybucji, ogólnego
przeznaczenia i wyspecjalizowane. Róznia sie
programem instalacyjnym, konfiguracja jadra,
zestawem programów uzytkowych i ich wersja - Najwazniejsze dystrybucje ogólnego przeznaczenia
- Red Hat, SuSE, Debian ....
12UNICS 1969
Piata edycja 1973
Szósta edycja 1976
Siódma edycja 1978
BSD 1979
SYSV (5) 1983
Solaris/SUNOS 5.x (SUN) AIX (IBM) IRIX
(SGI) HP-UX (HP) Digital Unix (DEC) SCO UNIX (SCO)
SUNOS 4.x (SUN) NextStep (NeXT) FreeBSD (Open
Source) OpenBSD (Open Source) NetBSD (Open
Source)
Linux (Open Source) 1991
13Uzytkownicy
Shell, GUI
Programy systemowe
Aplikacje
Biblioteki systemowe
Jadro (kernel)
Sprzet (procesor, pamiec, dyski itp.)
14Budowa systemu - jadro
14
- Jadro systemu tworzy wirtualny komputer dla
procesów uzytkowych - Interfejs do sprzetu (kart sieciowych, pamieci
RAM, dysków itp) - Ladowalne moduly do obslugi urzadzen, sieci,
systemu plików itp. - Pracuje w trybie uprzywilejowanym
- Caly kod i struktury danych w jednej przestrzeni
adresowej - Interfejs do bibliotek systemowych (system
libraries)
15Budowa systemu - jadro
15
- Piec glównych podsystemów
- PSHED(process sheduler) odpowiada za dostep do
CPU - MM (memory manager) odpowiada za bezpieczne
uzycie pamieci przez wiele procesów, obsluguje
pamiec wirtualna - NET (network interface) zapewnia dostep do
urzadzen sieciowych w róznych standardach
16Budowa systemu - jadro
16
- Piec glównych podsystemów
- VFS (virtual filesystem) ukrywa dla procesów
szczególy fizycznego dostepu do urzadzen pamieci
zewnetrznej. Obsluguje wiele formatów,
kompatybilnych z innymi systemami operacyjnymi
(vfat, cdfs, ntfs itp.) - IPC (inter process communication) dostarcza
mechanizmów do komunikacji miedzy róznymi
procesami na tej samej maszynie
17Budowa systemu biblioteki systemowe
17
- Procesy uzytkowe chcac skorzystac z jadra
wywoluja funkcje bibliotek systemowych. - Biblioteki systemowe nie dzialaja w trybie
uprzywilejowanym, wykonuja te funkcje systemu,
które tego trybu nie wymagaja, na przyklad
buforowanie wejscia/wyjscia - Pelnia tez zadania, które nie maja odpowiedników
w funkcjach jadra, np. sortowanie, operacje
matematyczne - Zapewniaja zgodnosc ze standardami POSIX, UNIX
itp.
18Budowa systemu programy uzytkowe
18
- Interpretatory polecen sh, csh, tcsh, bash
- Programy obslugujace zewnetrzne polecenia
systemowe ls, ps, netstat, grep .... - Programy dzialajace w tle daemony
- Kompilatory i biblioteki
- Aplikacje uzytkowników
19System plików
19
FHS 2.3.1
20System plików - / (Root)
20
- Musi zawierac wszystko, co potrzebne do
uruchomienia systemu, jego odtworzenia lub
naprawienia - Nie powinien byc duzy
- Musi umozliwic zamontowanie pozostalych systemów
plików
21System plików - /bin
21
- Zawiera podstawowe polecenia uzywane przez
administratora i wszystkich uzytkowników - Musi zawierac polecenia niezbedne do zamontowania
filesytemów
22System plików - /boot
22
- Zawiera wszystko, co niezbedne do uruchomienia
systemu, dane potrzebne zanim jadro systemu
rozpocznie dzialanie - Jadro systemu moze byc w kartotece /boot lub w
kartotece /
23System plików - /dev
23
- Zawiera pliki specjalne lub pliki urzadzen
- Jesli w kartotece /dev mozliwe jest tworzenie
nowych plików urzadzen, musi zawierac polecenie
MAKEDEV do ich tworzenia
24System plików - /etc
24
- Zawiera pliki konfiguracyjne
- Nie moze zawierac programów binarnych
- Zawiera podkartoteki na konfiguracje aplikacji
25System plików - /home
25
- Zawiera pliki uzytkowników
- Nie musi wystepowac w systemie
26System plików - /lib
26
- Zawiera podstawowe biblioteki systemu
- Musi wystepowac w systemie
- Musi zawierac zbiory
- libc.so. podstawowa biblioteka C
- ln (linker/loader)
27System plików - /media
27
- Zawiera punkty montowania dla mediów wymiennych,
CDROM, dyskietki, tasmy itp.
28System plików - /mnt
28
- Zawiera punkty montowania dla filesystemów
montowanych tymczasowo
29System plików - /sbin
29
- Programy uzywane przez administratora systemu
- Inne lokalizacje tych programów - /usr/sbin,
/usr/local/sbin
30System plików - /tmp
30
- Kartoteka na zbiory tymczasowe
- Dostepna do zapisu dla wszystkich uzytkowników
- Podczas przeladowania systemu jej zawartosc moze
i powinna byc usunieta - Alternatywnym miejscem dla zbiorów tymczasowych
jest /var/tmp zawartosc tej kartoteki nie jest
kasowana przy przeladowaniu systemu
31System plików - /usr
31
- Kartoteka na pozostale zbiory systemu
- Nie powinna byc uzywana do zapisu przez
uzytkowników i aplikacje - Podkartoteki bin, sbin, share, lib, include,
local - Moze zawierac inne podkartoteki, np, X11R6, src
32System plików - /var
32
- Kartoteka na zmieniajace sie pliki, np. logi
systemowe, kolejki drukarek, kolejki poczty - Zawiera podkartoteki cache, lib, local, lock,
log, opt, run, spool, tmp - Moze zawierac opcjonalnie np. mail, games
33System plików - /proc
33
- Opcjonalny, lecz czesto wystepujacy w systemach
Unix - Zawiera informacje o stanie systemu procesach,
urzadzeniach, pamieci, przerwaniach itp. - Wirtualny, tworzony podczas pracy systemu.
- Poprzez modyfikacje zbiorów w tym systemie plików
mozna zmienic dzialanie systemu, np. wlaczyc
routing
34System plików - rodzaje plików
34
- Kartoteki
- Zwykle pliki
- Link symboliczny, zwykly
- Pipe
- Pliki urzadzen znakowych i blokowych
35System plików - prawa do plików
35
- Prawo do zapisu, odczytu, wykonania
- Grupy praw dla wlasciciela, grupy i pozostalych
uzytkowników - Zapisywane czesto ósemkowo, kolejne bity
oznaczaja kolejno czytanie, zapis, wykonanie.
Kolejne cyfry ósemkowe odnosza sie do
wlasciciela, grupy i pozostalych. Na przyklad754
oznacza7 czytanie, zapis i wykonanie dla
wlasciciela5 czytanie i wykonanie dla grupy4
czytanie dla pozostalych uzytkowników
36System plików - prawa do plików
36
- Sticky bit
- Dla plików dawniej nakazywal przechowywanie w
swap, obecnie w Linuxie ignorowany - Dla kartotek kasowac i zmieniac nazwe zbiorów w
nich moze tylko root lub wlasciciel. Uzywane np.
w kartotece /tmp
37System plików - prawa do plików
37
- set-UID set-GID
- uruchomienie pliku przez zwyklego uzytkownika
spowoduje nadanie procesowi praw jego wlasciciela
(grupy) - Niezbedne dla niektórych programów, np. passwd
modyfikuje shadow - Niebezpieczne, jesli uzytkownik podstawi wlasny
program (np. shell) z set-UID
38System plików - prawa do plików
38
Kolejne bity 4 set-UID 2 set-GID 1 sticky
bit 4 odczyt wlasciciel 2 zapis
wlasciciel 1 wykonywanie wlasciciel 4 odczyt
grupa 2 zapis grupa 1 wykonywanie
grupa 4 odczyt wszyscy 2 zapis
wszyscy 1 wykonywanie - wszyscy
39System plików - prawa do plików
39
Inny zapis chmod ugoa...-rwx u user
wlasciciel g- group grupa o, a other, all
pozostali r, w, x odczyt, zapis, wykonywanie
(dostep do kartoteki) dodaj - usun usun
wszystkie i pozostaw tylko te podane
40System plików montowanie i odmontowanie
40
- W dowolnym miejscu hierarchii systemu plików
dolaczyc mozemy kolejny system plików - miejsce, gdzie nowy system plików dolaczymy
nazywa sie punktem montowania. - Punkt montowania musi byc kartoteka, po
zamontowaniu jej ewentualna zawartosc zostanie
przeslonieta nowa zawartoscia. - Zamontowac mozna dyskietke, partycje dysku,
cdrom, dysk udostepniany przez siec itp
41System plików montowanie i odmontowanie
41
- Do zamontowana systemu plików sluzy komenda
mount, do odmontowania - umount - Typowe uzyciemount -t typ urzadzenie
punkt_montowaniaumount urzadzenieumount punkt
montowania - urzadzenie to plik specjalny w /dev
- punkt to kartoteka, w której chcemy zamontowac
system plików
42System plików montowanie i odmontowanie
42
- typ okresla fizyczny format zapisu na montowanym
nosniku, moze to byc fat, vfat, cdfs, ntfs, ufs,
ext2, ext3, nfs .... - Odmontowac system plików mozna podajac urzadzenie
lub punkt jego zamontowania. Nie mozna odmontowac
systemu plików, jesli jest uzywany
43System plików montowanie i odmontowanie
43
Podczas startu systemu automatycznie montowane sa
systemy wskazane w zbiorze /etc/fstab LABEL/1
/ ext3 defaults 1 1 none
/dev/pts devpts gid5,mode620 0 0 none
/proc proc defaults 0 0 none
/dev/shm tmpfs defaults 0
0 LABEL/usr1 /usr ext3 defaults 1
2 LABEL/var1 /var ext3 defaults 1
2 /dev/hda2 swap swap defaults 0
0 /dev/hda7 /home ext3 defaults 1
2
44System plików tworzenie filesystemu
44
fdisk program do podzialu dysku na
partycje fdisk urzadzenie (np. /dev/hda) p
wyswietla istniejaca tablice partycji n tworzy
nowa partycje d - kasuje partycje l wyswietla
liste znanych typów partycji m wyswietla help t
zmienia typ partycji w- zapisuje tablice
partycji na dysku q wyjscie bez zapisania zmian
45System plików tworzenie filesystemu
45
mke2fs program do tworzenia w partycji
filesystemu ext2/ext3 mkfs program do tworzenia
w partycji filesystemu. Jesli nie podamy typu,
utworzy ext2. Potrafi utworzyc filesystemy msdos,
vfat, reiserfs, jfs... Wszystkie, dla których
zainstalowano programy mkfs.typ Uzycie mke2fs
urzadzenie (np. /dev/hda0) mkfs -t typ urzadzenie
46System plików tworzenie filesystemu
46
fdformat program do formatowania dyskietki w
formacie dos fdformat -n urzadzenie urzadzenie
to /dev/fd0 (/dev/fd1) lub /dev/fd0d360 (minor
4) /dev/fd0h1200 (minor 8) . . . /dev/fd0H1440
(minor 28) n bez weryfikacji w niektórych
systemach urzadzenia inne niz fd0 trzeba utworzyc
przez MAKEDEV
47System plików uzyteczne polecenia
47
ls wyswietla zawartosc kartoteki cp kopiuje
pliki i kartoteki mv przenosi plik w inne
miejsce lub zmienia nazwe pliku more wyswietla
zawartosc pliku znakowego od wyswietla
zawartosc pliku ósemkowo, dziesietnie,
szesnastkowo lub znakowo df wyswietla zajetosc
systemu plików du wyswietla wielkosc
podkartotek mount (bez parametrów) wyswietla
zamontowane systemy plików
48System plików uzyteczne polecenia
48
touch tworzy nowy, pusty zbiór cat - wyswietla
zawartosc pliku lub plików, umozliwia laczenie
plików grep wyszukuje wzorcowy lancuch w
plikach tail wyswietla koniec pliku rm usuwa
plik lub kartoteke rmdir usuwa kartoteke mkdir
tworzy kartoteke ln tworzy symboliczny
link mkfifo tworzy pipe chmod zmienia prawa
pliku chown zmienia wlasciciela pliku
4949
ln plik nazwa_linku tworzy twardy link do
wskazanego pliku ln -s plik nazwa_linku tworzy
miekki link do wskazanego pliku Twardy link
tworzy nowy wpis w kartotece wskazujacy na zbiór,
musi wskazywac na istniejacy plik w tym samym
filesystemie, usuniecie oryginalu nie spowoduje
usuniecia linku
5050
? - zastepuja jeden i wiele znaków w
nazwie abxeo3-8 zastepuje pojedynczy znak
jednym z wymienionych w nawiasach(znak '-' podaje
przedzial znaków) ala,ola.txt iloczyn
kartezjanski lancuchów w nawiasach . .. -
biezaca kartoteka, nadrzedna kartoteka
5151
Pewne znaki maja znaczenia specjalne. Aby to
znaczenie specjalne wylaczyc, nalezy poprzedzic
go znakiem \ ujac tekst w pojedynczych
apostrofach ' ' - wylacza specjalne znaczenie
wszystkich znaków ujac tekst w podwójnych
apostrofach - wylacza specjalne znaczenie
wiekszosci znaków Uwaga, apostrofy dzialaja
inaczej!
52Postawy jezyków shell
52
- Jeden z podstawowych programów systemu Unix
- Interpreter jezyka polecen wydawanych w linii
komend lub ze zbioru - Klasyczna wersja sh, odmiany csh, tcsh, bash,
ksh - W systemach Linux uzywany jest jako podstawowy
bash - GNU Bourne-Again Shell, kompatybilny z SH - Tworzy interfejs uzytkownika do systemu Unix, do
jego jadra, dlatego nazywany czesto powloka
53Postawy jezyków shell - bash
53
- Separator (blank) jedna lub wiecej spacji lub
znaków tabulacji - Potok (pipeline) znak kieruje wyjscie z
jednego polecenia do wejscia nastepnego, na
przyklad cat moj_list grep Aniawyswietli
te linie w zbiorze moj_list w których wystepuje
wyraz Ania - Lista (lists) jeden lub wiecej potoków
oddzielonych operatorem lub ,
zakonczonych opcjonalnie przez lub nowa linie
54Postawy jezyków shell - bash
54
- Potoki oddzielone operatorem wykonywane sa
sekwencyjnie po skonczeniu jednego wykonuje sie
kolejny - Potoki oddzielone operatorem wykonywane sa
równolegle po uruchomieniu pierwszego wykonuje
sie kolejny. Beda pracowaly równoczesnie - pipeline1 pipeline2 pipeline2 wykona sie
tylko wtedy, jesli pipeline1 zakonczy dzialanie
bez bledu (status 0) - pipeline1 pipeline2 pipeline2 wykona sie
tylko wtedy, jesli pipeline1 zakonczy dzialanie
bledem (status ltgt0)
55Postawy jezyków shell bash. Polecenia zlozone
55
for name in word do list done Lista word
jest rozwijana, kazde wystapienie przypisywane
jest zmiennej name i wykonywana jest lista
list Przyklad gt for I in a do file I
done aaa ASCII text aaa.zip Zip archive data,
at least v2.0 to extract aplik directory
56Postawy jezyków shell bash. Polecenia zlozone
56
if list then list elif list then list ...
else list fi Wykonywana jest lista po if.
Jesli zakonczy sie sukcesem, wykonywana jest
lista po then, w przeciwnym wypadku wykonywane sa
kolejne elif. Jesli zadna lista po if i elif nie
zakonczy sie sukcesem, wykonywana jest lista po
else. Przyklad gt if ls grep -q zip then echo
"jest" else echo "brak" fi brak gt touch
aaa.zip gt if ls grep -q zip then echo "jest"
else echo "brak" fi jest
57Postawy jezyków shell bash. Quoting
57
Pewne znaki i wyrazy maja specjalne znaczenie dla
bash. Aby to zmienic, nalezy uzyc 'quoting' znak
\ wylacza specjalne znaczenie nastepnego znaku.
Jesli nastepnym znakiem jest nowa linia, to
sekwencja taka oznacza kontynuacje linii. Dwa
kolejne znaki \ oznaczaja pojedynczy \ Ujecie
sekwencji znaków w pare ' wylacza specjalne
znaczenie wszystkich znaków w tej
sekwencji Ujecie sekwencji znaków w pare
wylacza specjalne znaczenie wszystkich znaków w
tej sekwencji za wyjatkiem , i \. Znaki i _at_
uzyskuja nowe znaczenie
58Postawy jezyków shell bash. Parameters
58
Parameter sluzy do przechowywania wartosci. Moze
byc to nazwa, liczba albo znak specjalny. Zmienna
to parameter który jest nazwa. Tworzymy
ja nazwawartosc Jesli wartosc nie wystapi, to
tworzona jest zmienna, której wartoscia jest
zerowy lancuch Przyklad gtImieEwa gtecho
Imie Ewa
59Postawy jezyków shell bash. Parameters
59
Positional parameter okreslony jedna cyfra
rózna od 0 lub kilkoma cyframi. Ich wartosciami
sa kolejne parametry wywolania komendy. Przyklad
gtcat -gt aaa echo 123 gtchmod 777
aaa gt./aaa Nic nie rozumiem Nicnierozumiem
60Postawy jezyków shell bash. Special Parameters
60
? - status ostatnio wykonanego potoku - nasz
numer procesu 0 nazwa programu, który uruchomil
nasz proces Przyklad gtcat -gt aaa echo
0__123 gtchmod 777 aaa gt./aaa Nic nie
rozumiem ./aaa__Nicnierozumiem
61Postawy jezyków shell bash. Expansion
61
mkdir /tmp/kart1,kart2,kart3 tworzy trzy
kartoteki o nazwach kart1, kart2, kart3 w
kartotece /tmp echo uzytkownik wyswietla
domyslna kartoteke uzytkownika. Bez podania nazwy
uzytkownika wyswietla domyslna kartoteke
aktualnego uzytkownika parameter zostaje
rozwiniete jako wartosc parameter. Nawiasy sa
konieczne, jesli po nazwie sa znaki, które do
niej nie naleza, na przyklad gtImieEwa gtecho
Imie12 Ewa12
62Postawy jezyków shell bash. Expansion
62
polecenie lub (polecenie) wykonywane jest
polecenie, a to, co wyswietli, staje sie czescia
linii polecenie, w której konstrukcja zostala
uzyta. Na przyklad gttouch /tmp/a,b,c,akuku gt
ls /tmp a b c akuku gtcat -gt aaa a b c gtrm cat
aaa gtla /tmp akuku
63Postawy jezyków shell bash. Przekierowanie
wejscia i wyjscia
63
Kazdy proces w unixie, jesli tego nie zmienimy,
pobiera dane ze standardowego wejscia (stdin),
wysyla na standardowe wyjscie (stdout).
Ewentualne komunikaty o bledach kierowane sa na
standardowe wyjscie bledów (stderr). W
interaktywnym shell stdin to klawiatura, a stdout
i stderr to ekran. Te trzy strumienie w sh mozna
przekierowac gt przekierowuje stdout lt
przekierowuje stdin stdin, stdout i stderr maja
odpowiednio file descriptor 0, 1 i 2
64Postawy jezyków shell bash. Przekierowanie
wejscia
64
nltword File descriptor n bedzie pobieral dane z
pliku word. Jesli n zostanie pominiete, zostanie
przyjete 0, czyli stdin.
65Postawy jezyków shell bash. Przekierowanie
wyjscia
65
ngtword Uzycie gtgt spowoduje dopisanie wyjscia do
istniejacej zawartosci zbioru. Wyjscie do file
descriptor n zostaje przekierowane do pliku word.
Jesli n zostanie pominiete, zostanie przyjete 1,
czyli stdout. Na przyklad ps ax gtaaa
2gt/dev/null spowoduje wyswietlenie stanu
wszystkich procesów i zapisanie tego wydruku w
zbiorze aaa. Ewentualne komunikaty o bledach
zostana zniszczone.
66Postawy jezyków shell bash. Alias
66
Pozwala na zastapienie slowa ciagiem znaków.
Slowo to uzyte jako pierwsze w poleceniu zostanie
zastapione tym ciagiem znaków. Uzywane tylko w
trybie interaktywnym. alias ll'ls -l' unalias
ll alias bez parametrów wyswietla liste
zdefiniowanych aliasów.
67Postawy jezyków shell bash. Operatory
arytmetyczne i logiczne
67
i i-- i i zwiekszenie/zmniejszenie zmiennej
i po/przed operacja o 1 - znak (unary -) !
negacja logiczna i bitowa potegowanie -
dodawanie, odejmowanie ltlt gtgt przesuniecie bitowe
w lewo i prawo lt gt lt gt porównanie ! równosc
i nierównosc
68Postawy jezyków shell bash. Operatory
arytmetyczne i logiczne
68
/ - ltlt gtgt
przyporzadkowanie wartosci bitowe and, xor,
or logiczne and, or expr1?expr2expr3
obliczenie warunkowe jesli expr1 1, to
wykonywane expr2, jesli 0, to expr3 expr1 , expr2
wyrazenie przecinkowe wykonywane kolejno expr1,
expr2, ale pozostaje tylko wynik expr2
69Postawy jezyków shell bash. Zadania (jobs)
69
Wykonujac potok shell uruchamia zadanie. Moze ono
bys wykonywane w pierwszym planie (foreground)
lub w tle (background). z przeniesienie
zadania do background (jego wykonywanie zostanie
wstrzymane) jobs wyswietlenie zadan w
background fg przeniesienie zadania do
foreground bg n uruchomienie wstrzymanego
zadania w background kill n usuniecie zadania
z background
70Postawy jezyków shell bash. Historia polecen
70
Bash pamieta historie wydawanych polecen
(domyslnie 1000) w zbiorze /.bash_history !n
!-n, !! powtórz linie n, biezaca minus n,
poprzednia !lancuch powtórz linie zaczynajaca
sie od lancucha !?lancuch? - powtórz linie
zawierajaca lancuch lancuch1lancuch2 powtórz
ostatnia linie, zastap lancuch1
lancuchem2 klawisze starzalek w góre i w dól
wyswietlaja kolejne polecenia
71Postawy jezyków shell bash. Funkcje wbudowane
71
break n opusc petle for, while, until, select
(lub n poziomów) cd dir zmien
kartoteke continue n kontynuuj wykonywanie for,
while, until (n który poziom w góre) echo arg
... wyswietl argumenty oddzielone spacjami,
zakonczone nowa linia exit n zakonczenie pracy
shell z kodem n help wzór podpowiedz. history
wyswietla historie polecen pwd wyswietl
biezaca sciezke
72Postawy jezyków shell bash. Funkcje wbudowane
72
test expr lub expr - wylicza wyrazenie expr i
zwraca wartosc 0 lub 1 ! expr -
negacja wyrazenie1 -a wyrazenie2 and (-o -
or) lancuch1 lancuch2 lancuchy równe (! -
nierówne) stala1 -eq stala2 stale równe (-ge,
-gt, -le, -lt, -ne) plik1 -ef plik2 plik1
nowszy (-ot starszy) niz plik2 -c plik
istnieje plik i jest znakowy (-d kartoteka, -e
po prostu istnieje) -r plik istnieje i jest
do odczytu (-w do zapisu)
73Postawy jezyków shell bash. Przyklad
73
!/bin/sh echo "
" echo -e "Poczatek archiwizacji
date" cd /home/automaty/kopie usun stare
kopie, zostanie jeden zestaw, z ostatniego
przebiegu rm .gz NAMEfksadate dmy echo
NAME tar -cf NAME /reszta1/fkdbfsa/.dbf
/reszta1/fkdbfsa/.mem 2gt/dev/null gzip NAME
74Postawy jezyków shell bash. Przyklad
74
echo Skladowanie na tasme tar -cvf /dev/nst0
.gz 2gt/dev/null mt -f /dev/nst0 rewoffl
przeslij ftp do innego komputera ftp
alpha.huta echo -e "Koniec archiwizacji
date"
75Uruchamianie i zatrzymywanie systemu
75
- Pierwszy uruchamiany program - manager bootowania
(boot loader). - Lilo, GNU Grub uzywane w Linuxie
- Przekazuja sterowanie do jadra systemu (lub
innego systemu operacyjnego) - zbiory konfiguracyjne - /etc/lilo.conf,
/etc/grub.conf - zmiany w lilo.conf trzeba zapisac poleceniem
/sbin/lilo - Grub jest nowszy, ma wieksze mozliwosci
76Uruchamianie i zatrzymywanie systemu
76
- Pierwszym procesem uruchamianym po zaladowaniu
jadra jest init. Jest on ojcem wszystkich innych
procesów - Odczytuje plik /etc/inittab opisujacy jakie
procesy uruchomic - Linia zawierajaca initdefault podaje, w jakim
trybie uruchomic system, np - id5initdefault
77Uruchamianie i zatrzymywanie systemu
77
0 halt (zatrzymanie systemu, nie uzywac w
inittab) 1 single user tryb
jednouzytkownikowy 2 wielouzytkownikowy, bez
NFS 3 wielouzytkownikowy 4 nie uzywany 5
X11 6 reboot (przeladowanie systemu) tryby 7
9 sa poprawne, ale nie uzywane Zmiana trybu pracy
tellinit n n 0, 1, 2, 3, 5 lub 6
przelaczenie do innego trybu n s lub S do
trybu 1 n Q lub q - ponowne odczytanie inittab
78Uruchamianie i zatrzymywanie systemu
78
W linuxie skrypty startowe sa w kartotece
/etc/rc.d Pierwszym uruchamianym skryptem jest
rc.sysinit. Inicjuje on nazwe komputera,
urzadzenia, parametry jadra, ustawia czas
systemowy, montuje swap i filesystemy, laduje
moduly jadra itp. Po jego skonczeniu uruchamiane
sa skrypty w kartotece /etc/rc.d/rcn.d (n to
numer poziomu). Uruchamiane sa tylko te, których
nazwa zaczyna sie od litery S. Skrypty te to
linki do plików w kartotece /etc/rc.d/init.d
79Uruchamianie i zatrzymywanie systemu
79
Skrypty w kartotece /etc/rc.d/init.d pozwalaja na
zatrzymanie, uruchomienie, restart, sprawdzenie
stanu zainstalowanych w systemie skladników
oprogramowania ./syslog stop Shutting down
kernel logger OK Shutting down system
logger OK ./syslog start Starting
system logger OK Starting kernel
logger OK ./syslog
status syslogd (pid 571) is running... klogd (pid
575) is running..
80Uruchamianie i zatrzymywanie systemu
80
Skrypty startowe systemu czytaja konfiguracje ze
zbiorów w /etc/sysconfig. Sa tam informacje o
strefie czasowej, jezyku, ukladzie klawiatury,
wygladzie konsoli, ustawieniach sieci itp. Sa tam
równiez skrypty do konfigurowania urzadzen, na
przyklad interfejsów sieciowych
81Uruchamianie i zatrzymywanie systemu
81
Procesy uruchamiane podczas startu systemu moga
zakonczyc swoje dzialanie po wykonaniu swojego
zadania, albo pracowac przez caly czas. Procesy
które dzialaja ciagle, swiadczac pewne uslugi
nazywamy daemonami. Niektóre procesy obslugujace
uslugi internetowe, które sa potrzebne czasami
uruchamiane sa na zadanie przez superdaemon
xinetd (inetd)
82Monitorowanie stanu systemu
82
ps procesy w systemie w aktywni
uzytkownicy top najaktywniejsze procesy vmstat
pamiec wirtualna, plik wymiany, obciazenie
we/wy, procesora lsof otwarte pliki df
zamontowane filesystemy i ich zajetosc du
rozmiar podkartotek last historia logowania
uzytkowników (zbiór wtmp)
83Monitorowanie stanu systemu
83
dmesg - komunikaty jadra systemu lsmod
zaladowane moduly jadra lspci sprzet
przylaczony do szyny PCI lsusb urzadzenia
przylaczone do USB filesystem /proc informacje
o procesach, zajetych zasobach, sprzecie itp.
84Monitorowanie stanu systemu
84
find wyszukuje pliki o wskazanej nazwie,
wielkosci, czasie utworzenia, wlascicielu
(grupie), bez wlasciciela (grupy), prawach.
Umozliwia dla znalezionych plików wykonanie
dodatkowych operacji, na przyklad find . -mtime
14 -name ".gz" -exec rm -f \ wyszukaj w
biezacej kartotece pliki modyfikowane (utworzone)
dawniej niz 14 dni, z nazwa .gz i usun je.
85Funkcje sieciowe
85
- Sterowniki urzadzen sieciowych ladowane jako
moduly jadra, przez skrypt - /etc/rc.d/rc.sysinit
- Sterowniki uzytkownika zdefiniowane w
- /etc/sysconfig/modules
86Funkcje sieciowe
86
/etc/sysconfig/network uruchamiany przez
/etc/rc.d/rc.sysinit, ustawia zmienne
srodowiskowe, czytane pózniej przez skrypty
startowe /etc/rc.d/init.d/network i skrypty w
/etc/sysconfig/network-scripts NETWORKINGyes HO
STNAMEkempny GATEWAY195.164.200.62 GATEWAYDEVet
h0 FORWARD_IPV4"yes"
87Funkcje sieciowe
87
/etc/sysconfig/network-scripts skrypty startowe i
konfiguracja interfejsów sieciowych gtmore
ifcfg-eth0 Broadcom CorporationBCM4401
100Base-T DEVICEeth0 BOOTPROTOstatic BROADCAST1
95.164.200.255 HWADDR0002E33A52FC IPADDR195
.164.200.52 NETMASK255.255.255.0 NETWORK195.164.
200.0 ONBOOTyes TYPEEthernet
88Funkcje sieciowe
88
Interfejs sieciowy moze miec wiecej niz jeden
adres gtmore ifcfg-eth00 Broadcom
CorporationBCM4401 100Base-T DEVICEeth00 BOOTPR
OTOstatic BROADCAST195.164.199.255 IPADDR195.16
4.199.5 NETMASK255.255.255.0 NETWORK195.164.199.
0 ONBOOTyes TYPEEthernet
89Funkcje sieciowe
89
Ifconfig programuje interfejsy sieciowe,
wyswietla ich ustawienia i statystyki ifconfig
eth0 eth0 Link encapEthernet HWaddr
0002E33A52FC inet addr195.164.200.52
Bcast195.164.200.255
Mask255.255.255.0 UP BROADCAST RUNNING
MULTICAST MTU1500 Metric1 RX packets152
errors0 dropped0 overruns0 frame0 TX
packets132 errors0 dropped0 overruns0
carrier4 collisions0 txqueuelen1000 RX
bytes20858 (1.9 Mb) TX bytes988724 (965.5 Kb)
Interrupt3
90Funkcje sieciowe
90
Ifconfig programuje interfejsy sieciowe,
wyswietla ich ustawienia i statystyki ifconfig
eth00 195.164.199.52 netmask 255.255.255.0 Tworz
y wirtualny interfejs eth00 i przypisuje mu
adres IP 195.164.199.52 z maska 255.255.255.0
91Funkcje sieciowe
91
Sciezka default i sciezki do sieci przylaczonych
bezposrednio do interfejsów tworzone sa przy
starcie systemu lub po zaprogramowaniu nowego
interfejsu Pozostale sciezki dodac (usunac)
mozemy poleceniem route route -v -A
family add -net-host
target netmask Nm gw Gw metric
N mss M window W irtt
I reject mod dyn
reinstate dev If route -v -A family
del -net-host target gw
Gw netmask Nm metric N dev
If
92Funkcje sieciowe
92
Wyswietlenie tablicy routingu polecenie route
lub netstat -rn Kernel IP routing
table Destination Gateway Genmask Flags Metric
Ref Use Iface 195.164.199.0 255.255.255.0
U 0 0 0 eth0 195.164.200.0
255.255.255.0 U 0 0 0 eth0 169.254.0.0
255.255.0.0 U 0 0 0 eth0 127.0.0.0
255.0.0.0 U 0 0 0 lo default
195.164.200.250 0.0.0.0 UG 0 0 0 eth0
93Funkcje sieciowe
93
- Dynamiczne tworzenie tablicy routingu daemony
routed (protokól RIP) i gated (protokoly RIP,
BGP, EGP, OSPF) - Nie uruchamiac bez wyraznej potrzeby!!
- Aby Linux pracowal jako router, potrzebny wpis
- FORWARD_IPV4"yes" w /etc/sysconfig/network
. Czasami ten wpis jest ignorowany, wtedy - echo 1 gt /proc/sys/net/ipv4/ip_forward
94Funkcje sieciowe
94
gt cat /etc/host.conf order hosts,bind gt cat
/etc/resolv.conf domain stanpol.com.pl nameserver
195.164.200.3 nameserver 195.164.200.62 W
/etc/resolv.conf zdefiniowane jest nazwa domeny
DNS. Polecenie domainname wyswietla i ustawia
nazwe domeny NIS/YP !
95Funkcje sieciowe
95
gt cat /etc/hosts 127.0.0.1 localhost.localdomain
localhost gt cat /etc/services telnet
23/tcp telnet 23/udp 24 - private mail
system smtp 25/tcp mail smtp
25/udp mail time
37/tcp timserver time 37/udp
timserver
96Funkcje sieciowe
96
netstat stan polaczen sieciowych. Z opcjami alp
wyswietla, które programy sluchaja na
portach ping - diagnostyka sieci, wysyla ramki
ICMP. Opcje - -n bez DNS, -f flood, -s rozmiar
ramki, -b na adres broadcast, -R zapis
trasy traceroute, mtr - wyswietlenie trasy ramek.
Traceroute uzywa domyslnie UDP (mozna zmienic na
ICMP) nslookup, host konwersja adresów IP i
nazw z uzyciem DNS
97Funkcje sieciowe
97
ipchains filtrowanie pakietów z dokladnoscia do
interfejsu, adresów nadawcy i odbiorcy,
portów iptables firewall arpwatch sledzi
przyporzadkowanie adresów IP adresom MAC nmap
narzedzie do skanowania zasobów sieciowych i
wykrywania luk w bezpieczenstwie ettercap
sniffer, man in the middle czasami przydatny
dla administratora arp wyswietla i modyfikuje
tablice ARP
98Funkcje sieciowe
98
Serwery sieciowe dzialaja jako samodzielne
daemony, albo uruchamiane na zadanie przez daemon
xinetd sendmail poczta elektroniczna
SMTP apache serwer WWW squid serwer
w3cache vuftpd, vsftpd serwery ftp tftp
serwer tftp pop3d, imap.d serwery po3,
imap4 lpd, cups serwery drukarek samba serwer
(i klient) plików w sieciach Microsoft ntpd
serwer czasu telnetd, sshd serwery telnet, ssh
....
99Kopie bezpieczenstwa systemu
99
Dump skladuje filesystem lub jego czesc na
tasme (opcjonalnie do zbioru lub pipe) Poziomy
0-9. 0 - skladuj wszystkie pliki, nltgt0 skladuj
tylko te pliki, które zostaly utworzone lub
zmienione od ostatniego dump nizszego
poziomu Zbiór /etc/dumpdates zawiera informacje
które filesystemy, kiedy i z jakim poziomem byly
skladowane Typowe uzycie dump -0u -f /dev/st0
/usr
100Kopie bezpieczenstwa systemu
100
restore odtwarza filesystem lub pojedyncze
zbiory z kopii utworzonej przez dump z opcja -i
wchodzi w tryb interaktywny umozliwiajac
odtworzenie pojedynczych zbiorów Typowe
uzycie mke2fs /dev/sda1 mount /dev/sda1 /mnt cd
/mnt restore rf /dev/st0 Jesli byly wykonywane
czesciowe dumpy, najpierw nalezy odtworzyc dump
poziomu 0, pózniej kolejno dumpy wyzszych
poziomów
101Kopie bezpieczenstwa systemu
101
tar program do skladowania zbiorów na tasme i
odtwarzania ich. Moze tez skladowac do
pliku. Uzycie tar opcje zbiory_do
skopiowania typowe opcje c utwórz archiwum x
odtwórz zbiory z archiwum t wyswietl zbiory z
archiwum v verbose, wyswietlaj co jest
wykonywane f zbiór z archiwum (domyslnie
/dev/rmt0) C kartoteka odtwórz pliki do
wskazanej kartoteki
102Kopie bezpieczenstwa systemu
102
Typowe uzycie tar -cvf /tmp/kopia /etc w
zbiorze /tmp/kopia zostanie utworzone archiwum
wszystkich zbiorów z kartoteki (i podkartotek)
/etc tar -vxf /tmp/kopia w biezacej kartotece
odtworzy wszystkie zbiory z archiwum w
/tmp/kopia
103Kopie bezpieczenstwa systemu
103
Polecenia tar i dump moga opcjonalnie poddawac
pakowane zbiory kompresji. Jesli skladowanie
odbywa sie do zbioru, lepiej jest jednak poddac
kompresji archiwum, jednym z dostepnych
programów compress, gzip, bzip2, zip, arj
104Kopie bezpieczenstwa systemu
104
Polecenia tar i dump w przypadku skladowania na
tasme dzialaja powoli. Niewielkie ilosci danych
wygodnie jest zarchiwizowac do pliku na dysku
lokalnym i przeslac na dysk innego komputera
(samba, nfs, ftp), skladujac na tasmie jedynie
okresowe kopie. Skladowanie najlepiej uruchamiac
daemonem cron Waznym jest opracowanie i opisanie
szczególowych procedur wykonywania kopii
bezpieczenstwa. Jest to bardzo przydatne podczas
odtwarzania systemu po awarii.
105Edytory ed, vi - ed
105
- Ed edytor liniowy
- operuje zawsze na pojedynczej linii tekstu
- operuje na kopii zbioru w buforze, oryginalny
zbiór jest modyfikowany dopiero podczas zapisu
bufora - dwa tryby pracy komend i wprowadzania
- Przydatny do obróbki bardzo duzych zbiorów, do
wielokrotnej zamiany tekstu w duzej czesci zbioru
lub kiedy nie jest dostepny tryb pelnoekranowy
(niektóre awarie systemu) - uzycie ed plik
106Edytory ed, vi - ed
106
- W trybie wprowadzania wszystko, co wprowadzimy z
klawiatury jest wpisywane do pliku - wejscie w tryb wprowadzania i przed
zaadresowana linia, a za zaadresowana linia - wyjscie z trybu wprowadzania i powrót do trybu
komend linia zawierajaca tylko jedna kropke
107Edytory ed, vi - ed
107
- W trybie komend wszystko, co wprowadzimy z
klawiatury traktowane jest jako polecenia. - Adresowanie linii. biezaca linia ostatnia
linian linia n (liczona od 1)- poprzednia
linia (-n n-ta poprzednia linia) nastepna
linia (n n-ta kolejna linia)/re/ (?re?)
nastepna (poprzednia) linia zawierajaca regular
expression - Zakres linii dwa adresy linii oddzielone
znakiem ,
108Edytory ed, vi ed
108
Przykladowe komendy(.)a dodaj tekst za
zaadresowana linia(.,.)d usun linie z
zakresu(.)i - dodaj tekst przed zaadresowana
linia(.,.)s/wzor1/wzor2/ w podanym zakresie w
kazdej linii zamienia pierwsze wystapienie wzor1
na wzor2.(.,.)s/wzor1/wzor2/g jak wyzej, ale
zamienia wszystkie wystapienia w kazdej linii z
zakresu.
109Edytory ed, vi - ed
109
Podstawowe komendyq opuszczenie edytoraw
plik - zapisanie zmian, opcjonalnie do innego
pliku r plik -wczytanie zbioru i dopisanie za
biezaca linia
110Edytory ed, vi - ed
110
Przykladowa sesja gt cd /etc gt ed
inittab 1666 /\initdefault id5initdefault s/5/
3/ w 1666 q gt
111Edytory ed, vi - vi
111
- vi - edytor ekranowy (vim, vi IMproved)
- potezne mozliwosci
- rozumie skladnie wielu jezyków programowania
- mozliwosc pracy w trybie liniowym
- makropolecenia
- pracuje na kazdym terminalu ze sterowaniem
kursorem
112Edytory ed, vi - vi
112
Uruchomienie vi plik q! wyjscie z anulowaniem
zmian wq lub ZZ zapis zmian i wyjscie r zbiór
wczytanie zbioru i dopisanie za biezaca linia w
plik zapisanie zmian, opcjonalnie w innym
pliku
113Edytory ed, vi - vi
113
- tryb wprowadzania tekstu
- tryb komend
- tryb liniowy
114Edytory ed, vi - vi
114
- W trybie liniowym mozna wprowadzac polecenia
edytora ed - Wejscie w tryb liniowy poprzedzenie polecenia
znakiem - Przyklady1,45s/zmienna_c/stala_c/g w liniach 1
45 zamieni lancuch zmienna_c na stala_c1,.d
usunie linie od pierwszej do biezacej
wyswietli numer biezacej linii5 przeniesie
kursor do linii 5
115Edytory ed, vi - vi
115
Poruszanie sie po tekscie strzalki lub
klawisze k w góre h w lewo l w
prawo j w dól w niektórych wersjach vi
poruszanie sie w góre i w dól nie dziala w trybie
wprowadzania tekstu Wyszukiwanie tekstu/wzor
przeniesie kursor na poczatek wzoru. Kolejne
pojedyncze / wyszukaja jego kolejne wystapienia
116Edytory ed, vi - vi
116
Podstawowe komendy i wejdz w tryb wprowadzania
tekstu, ustaw kursor przed biezacym znakiem (a
za nim, I na poczatku linii, A na koncu
linii) esc wyjscie z trybu wprowadzania
tekstu r zastap jeden znak nowym ns zastap
n znaków nowymi, pozostan w trybie
wprowadzania nx usun znak (n znaków) pod
kursorem (X na lewo od niego) zapamietaj je w
buforze . powtórz ostatnia komende h wyswietl
help
117Edytory ed, vi - vi
117
Podstawowe komendy ndd usun n linii
(zapamietaj je w buforze) nyy skopiuj do bufora
n linii p - wstaw zawartosc bufora pod biezaca
linie (P nad nia). Jesli w buforze sa znaki
usuniete komenda x, to wstaw zawartosc bufora za
kursorem (P - przed)
118Edytory ed, vi vi
118
Makropolecenia Zapamietanie makropolecenia qrej
estr ciag komend do zapamietania q jako rejestr
moze byc uzyta dowolna litera a -z Wykonanie
makropolecenia n _at_rejestr wykonane zostana
wszystkie zapamietane poprzednio w rejestrze
polecenia. n wskazuje, ile razy makropolecenie ma
zostac wykonane
119Pakiety rpm
119
Klasyczny sposób instalacji oprogramowania w Unix
- programy w wersji zródlowej, spakowane tar gt
tar -vxf pakiet.tar gt cd pakiet gt
./configure gt make gt make install gt make
clean Podstawowa wada po zainstalowaniu trudno
zapanowac, gdzie zostaly skopiowane poszczególne
komponenty
120Pakiety rpm
120
- Pakiety rpm zawieraja archiwum plików i dane
pomocnicze uzywane do instalowania i usuwania
plików z archiwum - Po zainstalowaniu pakietu w bazie danych
pamietana jest informacja o zainstalowanych
skladnikach gdzie zostaly zainstalowane, jaka
powinna byc ich suma MD5 i atrybuty umozliwia
to dokladne odinstalowanie oprogramowania i
sprawdzenie jego zgodnosci z oryginalem
121Pakiety rpm
121
- Pakiety rpm wystepuja w dwu wariantach,
zawierajacych skompilowane, binarne programy do
zainstalowania (binary rpm) lub programy zródlowe
i zasady ich kompilacji (source rpm) - Do zarzadzania pakietami rpm sluzy program rpm
- Baza danych zainstalowanych pakietów
przechowywana jest w /var/lib/rpm
122Pakiety rpm
122
Instalowanie nowych pakietów rpm
-i--installinstall-options PACKAGE_FILE
... Uaktualnianie pakietów rpm
-U--upgradeinstall-options PACKAGE_FILE
... PACKAGE_FILE moze byc podane jako URL -
http lub ftp. Wazniejsze opcje --force
wymuszaj instalacje nawet gdy jest konflikt z
innymi pakietami --nodeps nie sprawdzaj
zaleznosci od innych pakietów
123Pakiety rpm
123
Usuwanie pakietów rpm -e--erase--nodeps
--test PACKAGE_FILE ... --test nie usuwaj
pakietu, symuluj usuwanie
124Pakiety rpm
124
Pytania o pakiety rpm -q--query
select-options query-options Wazniejsze
select-options PACKAGE_FILE zainstalowany
pakiet o tej nazwie -all wszystkie
zainstalowane pakiety -f PLIK pakiet do którego
nalezy PLIK -p PACKAGE_FILE nie zainstalowany
pakiet o tej nazwie Wazniejsze query-options -i,
--info podaj nazwe, wersje i opis pakietu -l,
--list wyswietl pliki w pakiecie
125Pakiety rpm
125
Pytania o pakiety Przyklad rpm -q -all -i
grep Name wyswietli nazwy wszystkich
zainstalowanych pakietów rpm -q ethtool
-i wyswietli informacje o zainstalowanym
pakiecie ethtool
126Pakiety rpm
126
Weryfikacja pakietów rpm -V--verify
select-options verify-options
select-options jak przy query, verify-options
umozliwia wylaczenie niektórych
sprawdzen Sprawdza rozmiar, sume MD5,
pozwolenia, typ, wlasciciela i grupe kazdego
pliku z pakietu porównujac z zapamietana w bazie
danych. Przyklad rpm -V -f /etc/inittab ..5....T
c /etc/inittab S.5....T c /etc/rc.d/rc.local
127Pakiety rpm - yum
127
yum opcje komenda pakiet... komendy install
update (upgrade) remove (erase) localinstall,
localupdate (instaluj z lokalnego rpm, ewentualne
zaleznosci z repozytorium)
128Interfejsy graficzne
128
- Protokól X opracowano w polowie lat 80,
pierwotnie dla Unix - Obecnie wersja X11R6.8.2
- Architektura klient-serwer
- Inaczej niz w Windows, klient i serwer moga
komunikowac sie przez siec - Serwer obsluguje ekran, klientem jest aplikacja,
która z niego korzysta
129Interfejsy graficzne
129
- Serwer
- Wyswietla informacje na ekranie
- Odpowiada na pytania klienta
- Wysyla komunikaty o bledach
- Wysyla komunikaty o zdarzeniach
- Obsluguje mysz, klawiature i ekran
- Tworzy i zamyka okienka, wyswietla informacje w
okienkach
130Interfejsy graficzne
130
- Klient
- Wysyla polecenia do serwera
- Odbiera informacje o zdarzeniach od serwera (np.
o kliknieciu myszka) - Odbiera informacje o bledach od serwera
131Interfejsy graficzne
131
Konfiguracja Xserwera w zbiorze /etc/xorg.conf
(dawniej - /etc/X11/XF86config) Opisuje monitor
(typ, czestotliwosci odchylania) mysz (liczba
klawiszy, rolka) klawiature (liczba i uklad
klawiszy, wersja jezykowa) karte wideo sposób
korzystania z czcionek
132Interfejsy graficzne
132
Czcionki obsluguje serwer czcionek,
xfs Konfiguracja xfs w zbiorze
/etc/X11/fs/config Komunikacja pomiedzy xfs i X
serwerem poprzez siec
133Interfejsy graficzne
133
- Serwer czcionek uruchamiany jest skryptem
/etc/rc.d/init.d/xfs - X-serwer uruchamia skrypt /usr/X11R6/bin/startx
- Startx ustawia konfiguracje (zbiory
/etc/X11/xinit/xinitrc i .xinitrc), po czym
uruchamia program binarny /usr/X11R6/bin/xinit
134Interfejsy graficzne
134
- Managery windows programy zarzadzajace oknami w
X serwerze - FVWM, AfterStep, Enlightenment, IceWM, Sawfish...
- Umozliwiaja zmiane tla, wygladu okien itp.
135Interfejsy graficzne
135
- Managery pulpitu programy zapewniajace
pelniejszy interfejs do systemu operacyjnego,
zawieraja wlasne wbudowane narzedzia i aplikacje - KDE i Gnome
136Interfejsy graficzne
136
- KDE nowoczesny manager pulpitu utworzony w QT
- Zawiera wlasny manager okien kwm
- Posiada przegladarke WWW, wbudowany help,
przegladarke PDF, HTML, klienta poczty i wiele
innych - Przetlumaczony na ponad 50 jezyków
137Interfejsy graficzne
137
- GNOME nie posiada wlasnego managera okien,
najczesciej uzywany jest Sawfish, ale dziala tez
z innymi (Icewm, enlightenment) - Zawiera wlasny manager okien kwm
- Zdobywa coraz wieksza popularnosc
- Do wspólpracy z GNOME powstaje coraz wiecej
aplikacji