Linux alapok

1,293 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,293
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Linux alapok

  1. 1. Linux rendszergazdai alapismeretek
  2. 2. Egy kis matek Avagy így működik a processzor... kettes számrendszerben.
  3. 3. Bináris számok átalakítása decimálissá <ul><li>Minden helyi értéket beszorzunk a kettő hatvánnyal.
  4. 4. 1. helyiérték: 2^1 = 2
  5. 5. 2. helyiérték 2^2 = 4
  6. 6. 3. helyiérték: 2^3 = 8
  7. 7. 10011100 decimálisan tehát? </li></ul>
  8. 8. Decimális számok átalakítása binárissá <ul><li>A számot elosztjuk kettővel, a maradékot felírjuk jobb oldalra. A maradékokat visszafelé olvassuk. </li></ul>172 0 86 0 43 1 21 1 10 0 5 1 2 0 1 1 <ul><li>134 binárisan felírva tehát? </li></ul>
  9. 9. Bitműveletek: AND <ul><li>Akkor és csak akkor ad igazat (1-et), ha mindkét operandusa igaz. </li></ul>0 1 0 0 0 1 0 1
  10. 10. Bitműveletek: OR <ul><li>Akkor ad igazat, ha valamelyik operandusa igaz. </li></ul>0 1 0 0 1 1 1 1
  11. 11. Bitműveletek: XOR <ul><li>Akkor ad igazat, ha vagy az egyik, vagy a másik operandus igaz. </li></ul>0 1 0 0 1 1 1 0
  12. 12. Bitműveletek: NAND <ul><li>Akkor az igazat, ha nem igaz mindkét operandus </li></ul>0 1 0 1 1 1 1 0
  13. 13. Bitműveletek: NOR <ul><li>Akkor ad igazat, ha egyik operandus sem igaz. </li></ul>0 1 0 1 0 1 0 0
  14. 14. De Morgan szabály <ul><li>!(A AND B) = !A OR !B
  15. 15. !(A OR B) = !A AND !B </li></ul>!(A AND B) !A OR !B A 0 1 B 0 1 1 1 1 0
  16. 16. Komplex bitműveletek <ul><li>Egyszerűsítsük a következő kifejezéseket!
  17. 17. (A OR B) XOR B =
  18. 18. !(A OR !B) AND (B XOR A) =
  19. 19. Utolsó matekos slide, ígérem! </li></ul>
  20. 20. A PC architektúráról <ul><li>Egy byte 8 bit. Történelmi okokból oktettnek is hívják. (Nem minden architektúrában 8 bit egy byte.)
  21. 21. Egy byte a legkisebb egység, amit tudunk kezelni.
  22. 22. Egy byte-on 2^8, azaz 256 -féle karakter reprezentálható.
  23. 23. A processzorok először 16, majd 32, végül 64 bitnyi adatot tudnak egyszerre kezelni. </li></ul>
  24. 24. A nemzetközi probléma <ul><li>A világon jóval több karakter van, mint 256.
  25. 25. Régebben: karakter táblák. (DOS 850, 852)
  26. 26. Mostanában: karakterkészletek (ISO-8859-1, ISO-8859-2, Windows-1252
  27. 27. Még újabban: Unicode (multi-byte karakter készletek) </li></ul>
  28. 28. Unicode <ul><li>Több fajta van: UTF-8, UTF-16, UTF-32
  29. 29. Több byteon tárol egy karaktert.
  30. 30. A byteok sorrendje számít! (Big Endian vs. Little Endian)
  31. 31. BOM = Byte Order Mark, az Endiant jelöli a fájlban. Notepad szereti, mi utáljuk.
  32. 32. Karakterkód megjelölés: U+10D2 </li></ul>
  33. 33. Számok reprezentációja <ul><li>Integer (fixed point): a számot tárolja teljes pontosságában.
  34. 34. Floating point: A szám első néhány számjegyét tárolja, valamint a hozzá tartozó tízhatványt.
  35. 35. Signed: Egy bitet az előjelre használunk fel. </li><ul><li>Hány nulla van? </li></ul><li>Feladat: mekkora a legnagyobb fixed point szám, amivel egy 64 bites processzor tud dolgozni? (Vigyázat, becsapós!) </li></ul>
  36. 36. Műveletek számokkal <ul><li>A processzor csak akkora számokkal tud dolgozni, amennyi bitje van!
  37. 37. Ha nagyobb számokkal akarunk dolgozni, akkor azt szoftveresen kell megoldani, de az lassú lesz!
  38. 38. Ha egy műveletnél „kifutunk” a helyiértékekből, azt túlcsordulásnak nevezzük. (A CPU regiszterekben ilyenkor az overflow bit 1 állapotba kerül.) </li></ul>
  39. 39. A PC memória kezelése <ul><li>Minden alkalmazás közvetlen CPU műveletet hajt végre, tehát az operációs rendszer nem értelmezi a programokat. Amikor a programok futnak, a CPU user módban van.
  40. 40. Minden alkalmazásnak saját virtuális memória területe van, egymás memória területére nem írhatnak.
  41. 41. Bizonyos műveletekre szükség van magasabb jogosultság szintre, ilyenkor a processzor a TRAP parancs hatására átvált kernel módba és átadja a vezérlést az operációs rendszernek. </li></ul>
  42. 42. Sortörések <ul><li>Mac: r (carriage return)
  43. 43. Linux: n (line feed)
  44. 44. Windows: rn </li></ul>
  45. 45. Hálózati alapok Avagy mitől van a zinternet
  46. 46. Az IPv4 cím <ul><li>Négy byte-on tárolható, úgy írjuk, hogy decimálisan írjuk le a négy byteot:
  47. 47. 80.77.120.5
  48. 48. Egyik szám sem lehet nagyobb, mint 255! </li></ul>
  49. 49. IP mask számítás <ul><li>Így adjuk meg: 80.77.120.0/24
  50. 50. Ez azt jelenti, hogy a megadott számú bit lesz a hálózatban fix, a többi válaszható.
  51. 51. Gyakorlat: A 80.77.122.209/29 tartományban benne vannak-e a következő címek? </li><ul><li>80.77.122.208
  52. 52. 80.77.122.214
  53. 53. 80.77.122.223 </li></ul></ul>
  54. 54. Hogy működik?
  55. 55. BGP <ul><li>Border Gateway Protocol
  56. 56. A szolgáltatók egymás között hirdetik a rajtuk keresztül látható IP tartományokat.
  57. 57. Minden szolgáltató arra törekszik, hogy a lehető legrövidebb útvonalon megszabaduljon a tőle kimenő csomagokról.
  58. 58. A csomag nem feltétlenül megy ugyanazon az útvonalon oda és vissza! </li></ul>
  59. 59. Traceroute <ul><li>A Time To Live paramétert használja, tehát beállítja, hogy hány ugrást mehet a csomag.
  60. 60. Ha elérte az adott ugrásszámot, akkor az a router TTL Exceeded csomagot küld vissza, ebből tudja a traceroute, honnan jött vissza a csomag.
  61. 61. A vissza úton lehet, hogy más útvonalon jön vissza a csomag! </li></ul>
  62. 62. A Linux Avagy amivel dolgozni fogunk
  63. 63. A Linuxról röviden <ul><li>Linus Torvalds, 1991
  64. 64. Csak a kernel!
  65. 65. Linux != Unix (vannak pontok, amiben eltér a POSIX szabványtól)
  66. 66. Egy halom más projektből kerülnek át szoftverek, javítások a Linux kernelbe vagy felhasználói programokba. </li></ul>
  67. 67. A Linux licencelése <ul><li>A Linux GPL licences, azaz nyílt forráskódú
  68. 68. Igaz, hogy csak úgy terjeszthető, hogy a hozzá fordított programok is azonos licenc alatt terjesztésre kerülnek, tehát a saját fejlesztéseket egy továbbadás során nyílt forrásúvá kell tenni.
  69. 69. Nem igaz, hogy a Linuxon üzemeltetett szoftverek forráskódját nyílt forrásúvá kell tenni. (Ez az AGPL.)
  70. 70. A fizetős Linuxoknál (SuSE, RedHat, stb) a vevő a brand használatért, a supportért és a külön fejlesztett szoftverekért fizet. </li></ul>
  71. 71. Felhasználók és csoportok <ul><li>Minden felhasználónak és csoportnak van azonosítója (UID és GID).
  72. 72. A 0-s UID és GID mindig a rendszergazdáé. (root)
  73. 73. Több felhasználónak lehet ugyanaz az UID-ja.
  74. 74. A root felhasználónak mindig mindenhez van joga. (Kivéve GRSEC, stb kernel patchek.) </li></ul>
  75. 75. Linux jogosultságok <ul><li>RWXRWXRWX = User, Group, Others
  76. 76. R = A fájl olvasható, a könyvtárlistázható.
  77. 77. W = A fájl írható, a könyvtárban hozható létre új fájl / törölhető fájl.
  78. 78. X = A fájl végrehajtható, a könyvtárba be lehet lépni.
  79. 79. SetUID = Set User Id On Execution
  80. 80. SetGID = Set Group Id On Execution
  81. 81. Sticky bit = Csak a tulajdonos és root férhet hozzá az adott könyvtárban tárolt fájlokhoz. Fájlon nem értelmezett.
  82. 82. Vannak ACL-ek, de inkább fájdalmas használni őket. </li></ul>
  83. 83. Linux jogosultságok 2 <ul><li>Bináris reprezentációban írjuk fel:
  84. 84. 1. bit = Execute
  85. 85. 2. bit = Write
  86. 86. 3. bit = Read
  87. 87. Ezeket a biteket mindhárom csoportra (User, Group, Other) felírjuk.
  88. 88. Tehát a 0740 jogosultság jelentése? </li></ul>
  89. 89. Fájlok futtatása <ul><li>./programnév , ha az adott program abban a könyvtárban van, amiben állunk.
  90. 90. programév , ha a program a PATH-ban levő könyvtárak egyikében van.
  91. 91. Nem csak bináris programot futtathatunk így, hanem scripteket is. Ez esetben a fájl elejére kell egy hashbang vagy shebang line: </li></ul>#!/bin/bash <ul><li>Vigyázat! Ha Windows alatt menjtük el, a végén lesz egy láthatatlan plusz karakter, ami miatt nem találja meg a futtatót. </li></ul>
  92. 92. Mappák <ul><li>Linuxban minden a könyvtárszerkezetben foglal helyet. Fixlemez, memória, eszközök.
  93. 93. /etc – konfigurációs állományok
  94. 94. /etc/init.d – szolgáltatások elindítása, leállítása
  95. 95. /home – felhasználói adatok
  96. 96. /dev – device node-ok, fájlrendszer, stb
  97. 97. /proc – kernel kivezetések
  98. 98. /bin – alapvető binárisok
  99. 99. /sbin – szerver binárisok
  100. 100. /usr – user programok
  101. 101. /var – variable data
  102. 102. /var/log – log könyvtár </li></ul>
  103. 103. Filerendszer <ul><li>ext3 óta naplózó fájlrendszer van, a rendszer naplót ír a fájlműveletekről, majd időnként kiírja diskre.
  104. 104. ext4, stb. unordered data mode-ot használ, tehát nem feltétlenül olyan sorrendben írja a diskre, ahogy a fájlrendszerbe írtuk! Ezért tilos ilyen módot használni, ha nincs barrier támogatás vagy battery unit. </li></ul>
  105. 105. Alapvető Linuxos parancsok Mivel dolgozunk?
  106. 106. Fontos mantra A Linuxos parancsok mindig azt csinálják, amit kérsz tőlük, nem kérdeznek vissza!
  107. 107. Könyvtár– és fájlműveletek <ul><li>man – Manual Pages, avagy a dokumentáció
  108. 108. cd – munkakönyvtár megváltoztatása
  109. 109. mkdir – könyvtár létrehozása
  110. 110. stat – fájl vagy könyvtár adatainak megtekintése
  111. 111. ls – Könyvtár listázása
  112. 112. rm – törlés </li></ul>
  113. 113. Könyvtár– és fájlműveletek <ul><li>find – Fájlok keresése
  114. 114. touch – Fájl létrehozása vagy módosítási dátum megváltoztatása
  115. 115. cat – Fájl kiolvasása
  116. 116. chmod – Jogosultságok megváltoztatása
  117. 117. chown – Tulajdonos megváltoztatása </li></ul>
  118. 118. Szövegfeldolgozás <ul><li>grep – Tartalom szűrés
  119. 119. sed – Tartalom csere
  120. 120. awk/gawk – Komplex feldolgozás
  121. 121. wc – sorok, szavak, stb megszámolása
  122. 122. head / tail – Első / utolsó N sor
  123. 123. sort – Sorba rendezés
  124. 124. uniq – Egyedi sorok kiválogatása </li></ul>
  125. 125. BASH Bourne Again Shell
  126. 126. Mi a BASH? <ul><li>Egy shell, azaz egy olyan program, ami parancssort ad.
  127. 127. Egy programnyelv, amivel egyszerű scripteket lehet írni. </li></ul>
  128. 128. Miért szeretjük? <ul><li>[TAB] billentyűvel automatikusan kiegészíti a rendelkezésre álló parancsokat, nem kell sokat gépelni.
  129. 129. Egyszerűen lehet parancsokat összekapcsolni, egymás után kötni. </li></ul>
  130. 130. Parancsok felfűzése, kimenet átirányítása <ul><li>STDOUT átirányítás: </li><ul><li>ls /home | sort >/home/userlist.txt </li></ul><li>STDERR szűrés: </li><ul><li>./someprogram 2>/dev/null </li></ul></ul>
  131. 131. Parancsfájlok írása <ul><li>Kell shebang line
  132. 132. Bármilyen parancsot írhatunk bele, amit a konzolra írnánk.
  133. 133. Bemeneti paramétereket a $1 , $2 , $* változókban találunk.
  134. 134. Saját változót úgy deklarálunk, hogy beírjuk: </li><ul><li>SAJATVALTOZO=ertek </li></ul><li>A programból exit paranccsal léphetünk ki, más programok visszatérési értékeit a $? változóban találjuk. </li></ul>
  135. 135. Mi jön ezután? <ul><li>Ezek az alapok. Ezzel el lehet indulni. De.
  136. 136. RENGETEGET kell olvasni.
  137. 137. Elméleti alapok: </li><ul><li>Andrew S. Tanenbaum – Albert S. Woodhull – Tervezés és implementáció </li></ul><li>Gyakorlati útmutatók: </li><ul><li>http://www.howtoforge.com/ </li></ul></ul>
  138. 138. Házi feladat <ul><li>Telepíts otthon Microsoft Virtual PC vagy Oracle VirtualBoxba Debian Linuxot!
  139. 139. Ezen a gépen konfigurálj fel egy Apache webszervert!
  140. 140. Az Apache konfigurációs állományban található opciók mindegyikét olvasd el a hivatalos dokumentációban! </li></ul>

×