Troche historii - PowerPoint PPT Presentation

About This Presentation
Title:

Troche historii

Description:

Troch historii Lata 50 pocz tki system w operacyjnych, programy batch, minimalizacja przestoj w mi dzy kolejnymi programami Lata 60 pierwsze systemy ... – PowerPoint PPT presentation

Number of Views:265
Avg rating:3.0/5.0
Slides: 138
Provided by: stanpolCo
Category:

less

Transcript and Presenter's Notes

Title: Troche historii


1
Troche 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

2
Troche 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

3
Troche 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

4
Troche 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.

5
Troche 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

6
Co 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)

7
Co 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

8
Co to takiego
8
  • Skalowalnosc dziala w komputerach wbudowanych,
    telefonach komórkowych, mainframe, ....
  • Dzieki technologii cluster np. Beowulf dziala na
    superkomputerach

9
Co 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.

10
Dystrybucje
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

11
Dystrybucje
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 ....

12
UNICS 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
13
Uzytkownicy
Shell, GUI
Programy systemowe
Aplikacje
Biblioteki systemowe
Jadro (kernel)
Sprzet (procesor, pamiec, dyski itp.)
14
Budowa 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)

15
Budowa 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

16
Budowa 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

17
Budowa 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.

18
Budowa 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

19
System plików
19
FHS 2.3.1
20
System 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

21
System plików - /bin
21
  • Zawiera podstawowe polecenia uzywane przez
    administratora i wszystkich uzytkowników
  • Musi zawierac polecenia niezbedne do zamontowania
    filesytemów

22
System 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 /

23
System 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

24
System plików - /etc
24
  • Zawiera pliki konfiguracyjne
  • Nie moze zawierac programów binarnych
  • Zawiera podkartoteki na konfiguracje aplikacji

25
System plików - /home
25
  • Zawiera pliki uzytkowników
  • Nie musi wystepowac w systemie

26
System plików - /lib
26
  • Zawiera podstawowe biblioteki systemu
  • Musi wystepowac w systemie
  • Musi zawierac zbiory
  • libc.so. podstawowa biblioteka C
  • ln (linker/loader)

27
System plików - /media
27
  • Zawiera punkty montowania dla mediów wymiennych,
    CDROM, dyskietki, tasmy itp.

28
System plików - /mnt
28
  • Zawiera punkty montowania dla filesystemów
    montowanych tymczasowo

29
System plików - /sbin
29
  • Programy uzywane przez administratora systemu
  • Inne lokalizacje tych programów - /usr/sbin,
    /usr/local/sbin

30
System 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

31
System 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

32
System 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

33
System 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

34
System plików - rodzaje plików
34
  • Kartoteki
  • Zwykle pliki
  • Link symboliczny, zwykly
  • Pipe
  • Pliki urzadzen znakowych i blokowych

35
System 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

36
System 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

37
System 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

38
System 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
39
System 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
40
System 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

41
System 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

42
System 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

43
System 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
44
System 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
45
System 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
46
System 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
47
System 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
48
System 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
49
49
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
50
50
? - 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
51
51
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!
52
Postawy 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

53
Postawy 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

54
Postawy 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)

55
Postawy 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
56
Postawy 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
57
Postawy 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
58
Postawy 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
59
Postawy 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
60
Postawy 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
61
Postawy 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
62
Postawy 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
63
Postawy 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
64
Postawy 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.
65
Postawy 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.
66
Postawy 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.
67
Postawy 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
68
Postawy 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
69
Postawy 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
70
Postawy 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
71
Postawy 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
72
Postawy 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)
73
Postawy 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
74
Postawy 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"
75
Uruchamianie 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

76
Uruchamianie 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

77
Uruchamianie 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
78
Uruchamianie 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
79
Uruchamianie 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..
80
Uruchamianie 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
81
Uruchamianie 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)
82
Monitorowanie 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)
83
Monitorowanie 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.
84
Monitorowanie 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.
85
Funkcje sieciowe
85
  • Sterowniki urzadzen sieciowych ladowane jako
    moduly jadra, przez skrypt
  • /etc/rc.d/rc.sysinit
  • Sterowniki uzytkownika zdefiniowane w
  • /etc/sysconfig/modules

86
Funkcje 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"
87
Funkcje 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
88
Funkcje 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
89
Funkcje 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
90
Funkcje 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
91
Funkcje 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
92
Funkcje 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
93
Funkcje 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

94
Funkcje 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 !
95
Funkcje 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
96
Funkcje 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
97
Funkcje 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
98
Funkcje 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
....
99
Kopie 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
100
Kopie 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
101
Kopie 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
102
Kopie 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
103
Kopie 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
104
Kopie 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.
105
Edytory 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

106
Edytory 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

107
Edytory 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 ,

108
Edytory 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.
109
Edytory ed, vi - ed
109
Podstawowe komendyq opuszczenie edytoraw
plik - zapisanie zmian, opcjonalnie do innego
pliku r plik -wczytanie zbioru i dopisanie za
biezaca linia
110
Edytory ed, vi - ed
110
Przykladowa sesja gt cd /etc gt ed
inittab 1666 /\initdefault id5initdefault s/5/
3/ w 1666 q gt
111
Edytory 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

112
Edytory 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
113
Edytory ed, vi - vi
113
  • tryb wprowadzania tekstu
  • tryb komend
  • tryb liniowy

114
Edytory 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

115
Edytory 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
116
Edytory 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

117
Edytory 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)
118
Edytory 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
119
Pakiety 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
120
Pakiety 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


121
Pakiety 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

122
Pakiety 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
123
Pakiety rpm
123

Usuwanie pakietów rpm -e--erase--nodeps
--test PACKAGE_FILE ... --test nie usuwaj
pakietu, symuluj usuwanie
124
Pakiety 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
125
Pakiety 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
126
Pakiety 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
127
Pakiety rpm - yum
127

yum opcje komenda pakiet... komendy install
update (upgrade) remove (erase) localinstall,
localupdate (instaluj z lokalnego rpm, ewentualne
zaleznosci z repozytorium)
128
Interfejsy 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

129
Interfejsy 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

130
Interfejsy graficzne
130
  • Klient
  • Wysyla polecenia do serwera
  • Odbiera informacje o zdarzeniach od serwera (np.
    o kliknieciu myszka)
  • Odbiera informacje o bledach od serwera

131
Interfejsy 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
132
Interfejsy graficzne
132

Czcionki obsluguje serwer czcionek,
xfs Konfiguracja xfs w zbiorze
/etc/X11/fs/config Komunikacja pomiedzy xfs i X
serwerem poprzez siec
133
Interfejsy 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

134
Interfejsy graficzne
134
  • Managery windows programy zarzadzajace oknami w
    X serwerze
  • FVWM, AfterStep, Enlightenment, IceWM, Sawfish...
  • Umozliwiaja zmiane tla, wygladu okien itp.

135
Interfejsy graficzne
135
  • Managery pulpitu programy zapewniajace
    pelniejszy interfejs do systemu operacyjnego,
    zawieraja wlasne wbudowane narzedzia i aplikacje
  • KDE i Gnome

136
Interfejsy 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

137
Interfejsy 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
Write a Comment
User Comments (0)
About PowerShow.com