TSRB_TEST Documentation Release 1.0

Marko Stojanovic´

Oct 19, 2020

Contents

1 Datotecniˇ sustavi 3 1.1 Pojmovi ...... 3 1.2 Što je datotecniˇ sustav ...... 4 1.3 EXT4...... 4 1.3.1 Razvoj EXT4 datotecnogˇ sustava ...... 5 1.3.2 Struktura EXT4 datotecnogˇ sustava ...... 5 1.3.3 Grupe blokova ...... 6 1.3.4 Superblock ...... 8 1.3.5 Deskriptori grupe ...... 8 1.3.6 Rezervirani blokovi GD tablice ...... 11 1.3.7 Indeks cvorˇ ...... 13 1.3.8 Fizickeˇ i simbolickeˇ poveznice ...... 16 1.3.9 Simbolickeˇ poveznice ...... 21 1.3.10 Sadržaj direktorija ...... 26 1.3.11 Linearni nacinˇ zapisa u direktorij ...... 28 1.3.12 Indeksirani nacinˇ zapisa u direktorij ...... 31 1.3.13 Fleksibilne grupe blokova ...... 38 1.3.14 Primjer stvaranja datotecnogˇ sustava na datoteci ...... 40 1.3.15 Prilog - Detaljna Inode struktura (EXT4) ...... 40 1.3.16 Literatura: ...... 47 1.4 NTFS...... 47

2 Predmeti 49 2.1 Operacijski sustavi...... 49 2.1.1 UPUTE ZA OSNOVNO POSTAVLJANJE RACUNALAˇ ...... 49 2.2 Prakticneˇ osnove racunalstvaˇ ...... 72 2.2.1 Laboratorijske vježbe...... 72 2.2.1.1 LV02...... 72 2.2.1.2 LV03...... 74 2.2.1.3 LV04...... 75 2.2.1.4 LV05...... 76 2.2.1.5 LV06...... 77 2.2.1.6 LV07...... 79 2.2.1.7 LV08...... 81 2.2.1.8 LV09...... 84 2.2.1.9 LV10...... 85

i 2.2.1.10 LV11...... 87 2.2.1.11 LV12...... 89 2.2.1.12 LV13...... 89 2.2.2 Upute za vježbe...... 91 2.2.2.1 Upute za kucno´ korištenje laboratorijskih vježbi...... 91 2.2.2.2 Razne greške i rješenja za Virtualbox...... 103 2.2.2.3 Upute za instalaciju VirtualBox Guest Tools paketa...... 112 2.2.2.4 Upute za tipove virtualnih mreža u VirtualBox sustavu...... 118 2.2.2.5 04 - Osnove korištenja Partition Wizard aplikacije...... 129 2.2.2.6 05 - Osnove korištenja aplikacije...... 129 2.2.2.7 06 - Osnove korištenja MBRWizard aplikacije...... 133 2.2.2.8 07 - Osnovno korištenje GNU/Linux operacijskog sustava (TinyCore distribucija). 141 2.2.2.9 08 - Osnove korištenja HxD aplikacije...... 152 2.2.2.10 09 - Osnove korištenja GNU/Linux Fdisk aplikacije...... 158 2.2.2.11 11 - Instalacija 10 operacijskog sustava...... 167 2.2.2.12 12 - Konfiguracija TinyCore Linux / Windows 10 dual boot sustava...... 178 2.2.2.13 12 - Spremanje/Vracanje´ pricuvneˇ kopije Windows 10 sustava – Symantec Ghost. 186 2.2.2.14 14 - Upravljanje korisnickimˇ racunimaˇ u Windows 10 operacijskom sustavu.... 197 2.2.2.15 Prilog 1 – Raspored znakova na tipkovnici...... 211 2.3 Klijentski otvoreni operacijski sustavi...... 212 2.3.1 Skripta...... 212 2.3.2 Laboratorijske vježbe...... 212 2.3.2.1 LV01...... 212 2.3.2.2 LV02...... 214 2.3.2.3 LV03...... 215 2.3.2.4 LV04...... 218 2.3.2.5 LV05...... 222 2.3.2.6 LV06...... 223 2.3.2.7 LV07...... 226 2.3.2.8 LV08...... 232 2.3.2.9 LV09...... 236 2.3.2.10 LV10...... 240 2.3.2.11 LV11...... 243

3 Indices and tables 251

ii TSRB_TEST Documentation, Release 1.0

Sadržaj:

Contents 1 TSRB_TEST Documentation, Release 1.0

2 Contents CHAPTER 1

Datotecniˇ sustavi

Sadržaj:

1.1 Pojmovi

Disk/drive - Uredaj¯ za pohranu podataka. Disk uglavnom podrazumijeva rotirajuce´ diskove, dok se Drive termi- nologija u zadnje vrijeme povezuje sa solid state uredajima¯ (npr. Solid State Drive). Sektor (eng. Sector) - Najmanja definirana jedinica zapisa na tvrde diskove, najcešˇ ce´ je velicineˇ 512B (no,moguce´ su i druge velicine).ˇ Na modernim diskovima, cešˇ ce´ se koristi terminologija “logickiˇ blok” (implementacijom LBA adresiranja). Kada se govori o SSD uredajima,¯ uglavnom se primjenjuje pojam logickogˇ bloka, koji je u pravilu velicineˇ 4KiB. Particija (eng. Partition) - Definirano podrucjeˇ na tvrdom disku omedeno¯ pocetnomˇ i završnom adresom. Termi- nologija se može koristiti i u opcenitom´ podrucjuˇ memorije. Na particiju se obicnoˇ stavlja datotecniˇ sustav (iako to nije uvijek slucaj,ˇ npr. kod korištenja nekih sustava baza podataka koji implementiraju svoj sustav pohrane podataka), te na njega operacijski sustav ili opcenite´ datoteke. Volumen (eng. Volume) - Jednaka definicija kao i za particiju, no kada se pricaˇ o volumenu, podrazumijeva se da je na particiju postavljen datotecniˇ sustav. Datotecniˇ sustav (eng. Filesystem) - Skup metoda i struktura podataka sa zadatkom organizacije datoteka na disku ili particiji. Blok (eng. Block) - Sa stajališta EXTx datotecnihˇ sustava, blok je jedna logickaˇ cjelina koja se sastoji od jednog ili više sektora (ili logickihˇ blokova),u svrhu optimalnije organizacije podataka na datotecnomˇ sustavu. Klaster (eng. Cluster) - Jednaka definicija kao za blokove, no terminologija se uglavnom koristi u Microsoft da- totecnimˇ sustavima. Super Blok (eng. SuperBlock) - Osnovna struktura na EXTx datotecnimˇ sustavima. U sebi sadrži osnovne informa- cije o konfiguraciji datotecnogˇ sustava, te je kriticnaˇ za ispravno podizanje. Inode (eng. Index NODE) - Struktura podataka koja sadrži metapodatke o nekom objektu na datotecnomˇ sustavu (datoteka). Metapodaci su uglavnom sigurnosne dozvole (eng. permissions), vremena korištenja objekta (access, modify, created), te pokazivaciˇ prema samom sadržaju objekta.

3 TSRB_TEST Documentation, Release 1.0

Linearni zapis (eng. Linear record) - Tip organizacije strukture podataka. Podaci se zapisuju u neku memoriju linearnom metodom, jedan iza drugog. Stablasta struktura (eng. Tree structure) - Tip organizacije strukture podataka. Podaci se zapisuju u neku memoriju stablastom strukturom, pocevšiˇ od korijena, prema razgranatom strukturom. Binarno stablo (eng. Binary tree) - Poseban tip strukture stabla. Svaki cvor/roditeljˇ u stablu može sadržavati najviše dvoje djece. B-tree struktura - Poseban tip strukture stabla. U usporedbi sa binarnim stablom, cvoroviˇ u stablu mogu sadržavati i više od dvoje djece. Hash tablica - Tip zapisa podataka. Tablica nekih podataka u kojoj se svaki podatak povezuje sa nekom hash vrijed- nošcu´ (hash funkcija se cestoˇ izracunavaˇ ili direktno iz vrijednosti samog podataka, odnosno vrijednosti povezane uz taj podatak). Hash-tree struktura - Poseban tip strukture stabla. Radi se o kombinaciji B-Tree strukture i Hash tablice.

1.2 Što je datotecniˇ sustav

Termin datotecnogˇ sustava podrazumijeva neki skup metoda i struktura podataka sa zadatkom organizacije, manipu- lacije,navigacije te pristupa datoteka na nekom disku ili particiji. Uglavnom se sustav definira i proucavaˇ kroz više aspekata pristupa : • Pohrana podataka ( eng. Data Storage) • Upravljanje nazivima objekata (eng. Namespace) • Sigurnosni model (eng. Security Model) • API funkcije Dio koji se ticeˇ same pohrane podataka je uglavnom vezan uz samu organizaciju objekata na datotecnomˇ sustavu kao što je : organizacijska struktura direktorija, podrška za velike datoteke, podrška za Dnevnickiˇ sustav ( eng. Journaling), mehanizmi rješavanje problema fragmentacije. . . Svaki datotecniˇ sustav ujedno mora imati riješenu organizaciju upravljanja nazivima objekata, kao što je recimo uku- pan broj znakova u imenu. Sigurnosni model uglavnom podrazumijeva metode upravljanja sigurnosnim dozvolama za korisnike prilikom pristupa datotekama i ostalim objektima. Još jedan primjer bi bio podrška enkripcije objekata na datotecnomˇ sustavu API (eng. Application Programming Interface) funkcije su specificneˇ za svaku vrstu datotecnogˇ sustava, a njihova svrha je stvoriti odredeni¯ softverski okvir (eng. framework) za korištenje sistemskih poziva operacijskog sustava kako bi se standardizirao pristup nekom objektu datotecnogˇ sustava sa aplikacijske razine. Bez ovog podsustava , svaka aplikacija na operacijskom sustavu bi trebala imati dodatne integrirane metode i funkcije za korištenje nekog datotecnogˇ sustava. https://opensource.com/article/17/5/introduction-ext4-filesystem https://opensource.com/life/16/10/introduction-linux-filesystems

1.3 EXT4

Contents:

4 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

1.3.1 Razvoj EXT4 datotecnogˇ sustava

Originalna, prva verzija EXT datotecnogˇ sustava je stvorena prema tadašnjem MINIX datotecnomˇ sustavu (koji se koristio na istoimenom MINIX operacijskom sustavu, autor je Andrew S. Tanenbaum, ujedno poznat kao autor mnogih kvalitetnih knjiga iz podrucjaˇ racunalnihˇ znanosti). Nakon prepoznavanja odredenih¯ nedostataka, stvoren je EXT2 datotecniˇ sustav, koji je i danas popularan na mnogim racunalima.ˇ Ubrzo je stvoren EXT3 datotecniˇ sustav, koji zadržava kompatibilnost sa EXT2, no omogucava´ i slijedece´ nove znaca-ˇ jke : Dnevnik zapisa (eng. Journal), Mogucnost´ proširenja velicineˇ datotecnogˇ sustava (cakˇ i u “online” modu) , Hash-tree indeksiranje za velike direktorije. Zadnja iteracija EXT datotecnihˇ sustava je EXT4.

Sam povijesni razvoj opcenitih´ datotecnihˇ sustava moguce´ je pogledati u video zapisu na slijedecoj´ poveznici: https://www.youtube.com/watch?v=SMcVdZk7wV8

EXT4 datotecniˇ je zadržao razinu kompatibilnosti sa prethodnim EXT3 datotecnimˇ sustavom, no dodane su mnoge nove mogucnosti´ koje podižu razinu performansi i stabilnosti samo sustava.

1.3.2 Struktura EXT4 datotecnogˇ sustava

Prilikom stvaranja datotecnogˇ sustava na particiji, sektori (osnovni i najmanji dijelovi moguci´ za zapis na disk) se grupiraju u logickeˇ cjeline koje se zovu blokovi (eng. blocks). U terminologiji Microsoft datotecnihˇ sustava, sektori se isto grupiraju u blokove,no oni se zovu klasteri (eng. clusters). Ti blokovi se naknadno grupiraju u grupe blokova. Osnovna, pojednostavljena struktura EXTx datotecnihˇ sustava, prikazana je na slijedecem´ crtežu:

Velicinaˇ blokova se prikazuje u bajtovima, te ona može biti: • Za Ext2 sustave: 1KB, 2KB, 4KB i 8KB • Za Ext3: Isto kao i Ext2 • Za Ext4: Od 1KB do 64KB Velicinaˇ blokova direktno utjeceˇ na : • Maksimalnu velicinuˇ datotecnogˇ sustava • Maksimalnu velicinuˇ datoteke • Performanse Što se ticeˇ performansi, dobro je problematiku objasniti na slijedecem´ primjeru. Datoteka velicineˇ 1MB (1048576 bajtova) nalazi se na dva datotecnaˇ sustava, jedan sa velicinomˇ blokova 4KB i drugi sa velicinomˇ od 64KB. U prvom primjeru, datoteka ce´ biti podijeljena na 256 dijelova ( 1048576/4096), te ce´ za ucitavanjeˇ datoteke biti potrebno minimalno 256 I/O operacija (cestoˇ se gleda kroz IOPS vrijednosti, odnosno Input/Output Operations Per Second).

1.3. EXT4 5 TSRB_TEST Documentation, Release 1.0

U drugom primjeru datotecnogˇ sustava, datoteka ce´ biti podijeljena na 16 blokova (1048576/65536), te ce´ za ucitavanjeˇ datoteke biti potrebno minimalno 16 I/O operacija, što je u teoriji skok u performansama cakˇ 16 puta za ovaj proces. Naravno, na datotecnimˇ sustavima se nalaze datoteke razlicitihˇ velicina,ˇ no primjer jasno pokazuje odnos performansi na velicinuˇ blokova, te je potrebno razmisliti o njoj ako ce´ se na sustavu pretežno nalaziti datoteke vece,´ odnosno manje velicine.ˇ Drugi problem o kojem je potrebno voditi racunaˇ je iskoristivost prostora na disku. U teoretskom primjeru, možemo zamisliti datotecniˇ sustav podijeljen na blokove velicineˇ 64KB, na kojem se pretežno nalaze datoteke velicineˇ 20KB. S obzirom da je sa stajališta datotecnogˇ sustava blok od 64KB najmanja moguca´ jedinica za I/O operacije, za svaku datoteku od 20KB imamo 44KB praznog prostora koji nije moguce´ iskoristiti za bilo što drugo, odnosno cijeli blok mora biti rezerviran za tu datoteku. Takav problem naziva se unutarnja fragmentacija (eng. internal fragmentation). NAPOMENA: Iako se ne radi u temi teksta, dobro je osnovno objasniti i drugi koncept fragmentacije, vanjska frag- mentacija (eng. external fragmentation). Sa razine datotecnogˇ sustava, radi se o konceptu gdje postoje slobodni blokovi za zapisivanje, no nije ih moguce´ iskoristiti na nacinˇ da datoteka bude sekvencijalno zapisana na njih. Naime, slobodni blokovi nisu u nizu, vec´ su na razlicitimˇ dijelovima, te se na taj nacinˇ i zapisuju podaci datoteke. Na kraju procesa, datoteka je fragmentirana, te citanjeˇ sadržaja te datoteke je usporeno na klasicnimˇ tvrdim diskovima (s obzirom da brzina I/O operacija ovisi i o položaju glave na plociˇ tvrdog diska). Na SSDovima, problem performansi je drasticnoˇ smanjen zbog tehnologije rada takvih tipova memorije. Isto tako, defragmentacija je postupak u kojem operacijski sustav preslaguje blokove na datotecnomˇ sustavu, kako bi slobodni blokovi uvijek bili u nizu, te sama fragmentacija smanjena na minimum. Naravno, raznim algoritmima se pokušava zaobici´ cijeli problem vanjske fragmentacije (cestoˇ se govori opcenitim´ nazivom „fragmentacija“), no ta tema je vrlo kompleksna te nece´ biti taknuta u ovom tekstu.

http://lsi.vc.ehu.es/pablogn/docencia/manuales/UCLACS111/scribe/12/fragmentation.png

1.3.3 Grupe blokova

Nakon što je particija podijeljena na blokove, oni se grupiraju u grupe blokova (eng. Block Groups), što je i prikazano u gornjem crtežu. Sve grupe blokova su jednake velicine.ˇ Svaka grupa blokova ima svoju definiranu strukturu za up- ravljanje datotekama, što je odmak od npr. NTFS datotecnimˇ sustavima u kojima postoji jedna MFT (eng. Master File Table) tablica za cijelu particiju. Iako se ne može direktno usporedivati,¯ sam koncept grupe blokova bi podrazumijevao da svaka grupa ima svoju MFT tablicu (i ostale kriticneˇ strukture). Implementacijom grupe blokova, cilj je bio postici´ : • Zadržati lokalnost/blizinu izmedu¯ pokazivacaˇ datoteke i njenog stvarnog sadržaja

6 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

• Povecati´ pouzdanost datotecnogˇ sustava spremanjem kopija kriticnihˇ podataka u ostale grupe blokova (Su- perBlock, Group Descriptors) • Osnovna struktura grupe blokova EXTx (u ovom primjeru EXT4) je prikazana na slijedecem´ crtežu :

* - Prvih 1024B svake particije je rezervirano za Boot Code, taj prostor se ne koristi od strane datotecnogˇ sustava. Ovisno o veliciniˇ blokova na particiji, Boot Sector (cestoˇ spominjan termin,iako se realno radi o 2 sektora, no termi- nologija je ostala zbog povijesnih razloga) ce´ se nalaziti u zasebnom bloku, ili u istom bloku sa SuperBlock strukturom. U drugom slucaju,ˇ SuperBlock pocinjeˇ odmah nakon tih 1024B. U prikazanom primjeru, može se uocitiˇ kako datotecniˇ sustav sa velicinomˇ bloka od 1024B, pocinjeˇ gledati od prvog bloka (blokovi se pocinjuˇ brojati od nule), a to je ujedno i pozicija SuperBlock strukture. Iako su trenutno najcešˇ ce´ velicineˇ blokova 4096B (u uvjetima standardne velicineˇ particija, te korištenja standardnih postavki prilikom stvaranja datotecnogˇ sustava),

Svaka grupa blokova se sastoji od slijedecih´ dijelova: • SuperBlock* • Group Descriptors* • Reserved GDT (eng. Group Descriptors Table) Blocks** • Data Blocks Bitmap • Inodes Bitmap • Inodes Table • Data Block *SuperBlock i Group Descriptors strukture su se zbog važnosti, za uspješnu inicijalizaciju datotecnogˇ sustava, u prvoj reviziji EXT2 datotecnogˇ sustava kopirale na pocetakˇ svake grupe blokova. U drugoj reviziji je implementirana opcija Sparse SuperBlock znacajkaˇ (sparse_super) u kojoj se kopije (uz original na nultom bloku) spremaju samo na prvom bloku, te lokacijama blokovima višekratnika brojeva 3,5 i 7. Primjer stvaranja datotecnogˇ sustava sa i bez Sparse Superblock znacajkeˇ je vidljiv na slijedecoj´ slici (može se uocitiˇ velika razlika u broju kopija):

1.3. EXT4 7 TSRB_TEST Documentation, Release 1.0

**Reserved GDT (eng. Group Descriptors Table) Blocks struktura je dio EXT4 verzije datotecnogˇ sustava, te nije standardni dio ranijih verzija.

1.3.4 Superblock

U SuperBlock podrucjuˇ nalaze se informacije o konfiguraciji datotecnogˇ sustava. Nalazi se uvijek na 1024B od pocetkaˇ particije, te je rezervirana velicinaˇ od 1024B za to podrucje.ˇ U tom podrucjuˇ su definirane informacije kriticneˇ za ispravno ucitavanjeˇ datotecnogˇ sustava prilikom podizanja operacijskog sustava. Neke od tih informacija su : • Velicinaˇ blokova (s_log_block_size, __le32 – Little Endian nacinˇ zapisa, 32 bita) • Broj blokova po grupi (s_blocks_per_group, __le32) • Ukupan broj inodeova (s_inodes_count, __le32) • Broj slobodnih inodeova (s_free_inodes_count, __le32) • Ukupan broj blokova (s_blocks_count_lo, __le32) • Broj slobodnih blokova (s_free_blocks_count_lo, __le32) • Oznaka volumena* (s_volume_name[16], char – Maksimalno 16 znakova u imenu) • Lokacija direktorija zadnjeg ucitavanjaˇ volumena (s_last_mounted[64], char) • UUID volumena (s_uuid[16], char) • Podržane znacajkeˇ datotecnogˇ sustava (s_feature_compat, s_feature_incompat, s_feature_ro_compat) • Itd. . . Kompletan opis cijele SuperBlock strukture je opisana na slijedecoj´ poveznici : https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#The_Super_Block S obzirom na važnost SuperBlock strukture, stvaraju se kopije na više mjesta na datotecnomˇ sustavu (prethodno opisana metoda), no prilikom podizanja operacijskog sustava, citaˇ se iskljucivoˇ ona verzija na nultom bloku. Iako je rezervirano 1024B za zapise unutar strukture, sama kolicinaˇ zapisa ovisi o verziji (i dodatno reviziji) datotecnogˇ sustava (EXT2, EXT3,EXT4) na toj particiji.

1.3.5 Deskriptori grupe

Navedena struktura, za razliku od SuperBlock dijela sadrži informacije o konfiguracijama pojedinih grupa. Jednako kao i u slucajuˇ SuperBlock strukture, Group Descriptors se kopira u svaku grupu blokova (eng. Block Groups), osim ako nije ukljucenaˇ znacajkaˇ “sparse_super”. U tom slucajuˇ vrijede pravila kao i za SuperBlock. Na pocetkuˇ grupe blokova koje nemaju kopiju SuperBlock i Group Descriptors struktura, nalazi se slijedeca´ struktura po redoslijedu ( uglavnom Data Block Bitmap, iako to nije uvijek slucaj,ˇ jer je lokacija konfigurabilna i adresa se nalazi u Group Descriptors strukturi).

8 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Group Descriptors sadrži parametre svih grupa blokova, a to su : • Lokacija Data Block Bitmap strukture • Lokacija Inode Block Bitmap strukture • Lokacija Inode Table strukture • Broj slobodnih blokova • Broj slobodnih inodeova • Broj alociranih inodeova za direktorije unutar grupe blokova • Još neke dodatne informacije ili rezerviran prostor za buducu´ nadogradnju Velicinaˇ jedne Group Descriptor stavke unutar tablice je 32B, odnosno 64B ako je aktivirana 64bitna podrška na EXT4 datotecnomˇ sustavu. Prakticanˇ primjer U svrhu prikaza informacija Group Descriptors strukture, stvorena je prazna datoteka od 100MB te je na nju postavljen EXT4 datotecniˇ sustav (mkfs.ext4 alat, velicinaˇ bloka je 4k). Prvo ce´ biti predstavljene informacije o datotecnomˇ sustavu pomocu´ alata fsstat (dio grupe alata unutar sleuthkit paketa, instalirati sa naredbom “apt-get install sleuthkit”). Informacije koje nemaju nikakvu vrijednost vezane uz ovaj primjer su izrezane iz izlaznog rezultata (/cut linije). Nakon fsstat izlaza, bit ce´ prikazan ispis kompletne Group Descriptors strukture u originalnom obliku koji je zapisan na disk. Bojama su oznaceneˇ poveznice izmedu¯ izlazne informacije fsstat aplikacije i originalnog zapisa na disku ( u heksadecimalnom obliku, little endian nacinˇ zapisa). Na kraju ce´ biti pojedinacnoˇ izvucenaˇ sva polja jedne stavke Group Descriptor strukture. NAPOMENA: S obzirom da je velicinaˇ datoteke 100MB, a velicinaˇ jednog bloka 4KB, dovoljna je jedna grupa blokova za alokaciju svih blokova na ovom datotecnomˇ sustavu. Samim time, Group Descriptor struktura ima samo jednu stavku (s obzirom da se nalazi samo jedna grupa blokova). Velicinaˇ te stavke je 32B, no rezerviran je cijeli blok za strukturu (4096B), te ce´ ostatak te strukture biti izrezan (/cut linija), jer je ispunjen nulama. FSSTAT IZLAZNE INFORMACIJE (i prikaz korištenja aplikacije u prvoj liniji) ids@ids2 ~/LINUX_PRIMJERI $ fsstat disk_image_100M FILE SYSTEM INFORMATION

File System Type: Ext4 Volume Name: Volume ID: d0342eb32c739ab934523487c8ced4b **/cut ** Source OS: Linux Dynamic Structure Compat Features: Journal, Ext Attributes, Resize Inode, Dir Index InCompat Features: Filetype, Extents, Flexible Block Groups, Read Only Compat Features: Sparse Super, Large File, Huge File, Extra Inode Size Journal ID: 00 Journal Inode: 8 METADATA INFORMATION

1.3. EXT4 9 TSRB_TEST Documentation, Release 1.0

Inode Range: 1 - 25601 Root Directory: 2 Free Inodes: 25589 Inode Size: 128 CONTENT INFORMATION

Block Groups Per Flex Group: 16 Block Range: 0 - 25599 Block Size: 4096 Free Blocks: 23760 BLOCK GROUP INFORMATION

Number of Block Groups: 1 Inodes per group: 25600 Blocks per group: 32768 Group: 0: Block Group Flags: [INODE_ZEROED] Inode Range: 1 - 25600 Block Range: 0 - 25599 Layout: Super Block: 0 - 0 Group Descriptor Table: 1 - 1 Group Descriptor Growth Blocks: 2 - 7 Data bitmap: 8 - 8 Inode bitmap: 24 - 24 Inode Table: 40 - 839 Uninit Data Bitmaps: 8 - 23 Uninit Inode Bitmaps: 24 - 39 Uninit Inode Table: 40 - 12839 Data Blocks: 12840 - 25599 Free Inodes: 25589 (99%) Free Blocks: 23760 (92%) Total Directories: 2 Stored Checksum: 0x8E0F Prikaz fizickogˇ zapisa group descriptor strukture (samo prvih 32B, zatim 64B kao dokaz da je ostatak strukture prazan, te je ostatak izrezan iz prikaza)

10 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Izlazni rezultat je podijeljen na 3 stupca : adrese (offset, heksadecimalni oblik), originalni zapis (heksadecimalni oblik, little endian nacinˇ zapisa, 16B u jednoj liniji), te zapis u ASCII obliku. ids@ids2 ~/LINUX_PRIMJERI $ dd if=disk_image_100M bs=4096 skip=1 count=1 | xxd 0000000:0800 0000 1800 0000 2800 0000 d05c f563 ...... (. . . ..c 0000010:0200 0400 0000 0000 0000 0000 f563 0f8e ...... c.. 0000020:0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000030:0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000040:0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000050:0000 0000 0000 0000 0000 0000 0000 0000 ...... Od cijelog bloka velicineˇ 4kB, prikazano je samo prvih 96B, s obzirom da je nakon 32. bajta blok ispunjen nulama. Temeljem izlaznih podataka, može se zakljucitiˇ kako se na datotecnomˇ sustavu nalazi samo jedna grupa blokova. Koristeci´ službenu referencu za išcitavanjeˇ znacenjaˇ sadržaja Group Descriptors strukture ( poveznica na kraju poglavlja), ispod teksta je prikazan zapis u originalnom obliku (little endian ili LE, heksadecimalni zapis), zatim transformacija sadržaja u standardan oblik za citanjeˇ s lijeva nadesno (big endian ili BE, i dalje heksadecimalan zapis). Trecu´ stavku ciniˇ sadržaj izmijenjen iz heksadecimalnog u decimalni tip, te na kraju slijedi opis, odnosno znacenjeˇ samog sadržaja , te njegova velicina.ˇ 08000000 - 00000008 - 8 - Data Blocks Bitmap Location 18000000 - 00000018 - 24 - Inode Blocks Bitmap Location 28000000 - 00000028 - 40 - Inode Table Bitmap Location D05C - 5CD0 - 23760 - Free Blocks Count F563 - 63F5 - 25589 - Free Inodes Count 0200 - 0002 - 2 - Number of directories 0F8E - 8E0F - 36367 - Group Descriptor Checksum U samom izlaznom rezultatu fsstat naredbe može se primijetiti kako je aktivirana znacajkaˇ Flexible Block Groups, te polja Uninit Data Bitmaps, Uninit Inode Bitmaps, Uninit Inode Table. Ti termini biti ce´ ukratko objašnjeni kasnije u posebnom poglavlju. Detaljnije informacije je moguce´ naci´ na poveznici na kraju poglavlja. https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Block_Group_Descriptors

1.3.6 Rezervirani blokovi GD tablice

Prilikom novog stvaranja datotecnogˇ sustava, nakon Group Descriptors tablice rezervira se i odredeni¯ broj blokova za buduce´ proširenje velicineˇ tog datotecnogˇ sustava. Ti blokovi se nalaze izmedu¯ Group Descriptors tablice i Data Block Bitmap bloka. U standardnoj postavci, moguce´ je proširiti datotecniˇ sustav sa faktorom do otprilike 1024 puta od originalne velicine.ˇ Podržava li sustav proširenje pokazuje je li aktivirana znaca-ˇ jka Resize Inode. Radi se o specijalnom tipu Inodea u kojem su zapisane lokacije blokova za proširenje ( https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Special_inodes). Primjer: U slijedecem´ primjeru ponovno je prikazan izlazni rezultat naredbe fsstat za sliku EXT4 datotecnogˇ sustava, te su oznaceniˇ bitni dijelovi. ids@ids2 ~/LINUX_PRIMJERI $ fsstat disk_image_100M FILE SYSTEM INFORMATION

1.3. EXT4 11 TSRB_TEST Documentation, Release 1.0

File System Type: Ext4 Volume Name: Volume ID: d0342eb32c739ab934523487c8ced4b **/cut ** Source OS: Linux Dynamic Structure Compat Features: Journal, Ext Attributes, Resize Inode, Dir Index InCompat Features: Filetype, Extents, Flexible Block Groups, Read Only Compat Features: Sparse Super, Large File, Huge File, Extra Inode Size Group: 0: Block Group Flags: [INODE_ZEROED] Inode Range: 1 - 25600 Block Range: 0 - 25599 Layout: Super Block: 0 - 0 Group Descriptor Table: 1 - 1 Group Descriptor Growth Blocks: 2 - 7 **/cut** Moguce´ je uocitiˇ kako je aktivna znacajkaˇ “Resize Inode”, te je rezervirano dodatnih 6 blokova za buduce´ proširenje datotecnogˇ sustava i to odmah u nastavku nakon Group Descriptor tablice (iako je na prvi pogled samo 6 rezerviranih blokova daleko od faktora povecanja´ 1024x, kasnije u tekstu ce´ biti objašnjena procedura i krajnji rezultat). Nadalje, upotrebom debugfs aplikacije moguce´ je uocitiˇ detalje specijalnog Inodea sa brojem 7 (proucitiˇ specijalne Inodeove). ids@ids2 ~/LINUX_PRIMJERI $ debugfs disk_image_100M debugfs 1.42.12 (29-Aug-2014) debugfs: stat <7> Inode: 7 Type: regular Mode: 0600 Flags: 0x0 Generation: 0 Version: 0x00000000 User: 0 Group: 0 Size: 4299210752 File ACL: 0 Directory ACL: 0 Links: 1 Blockcount: 56 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x591d7d95 – Thu May 18 12:55:17 2017 atime: 0x591d7d95 – Thu May 18 12:55:17 2017 mtime: 0x591d7d95 – Thu May 18 12:55:17 2017 BLOCKS: (DIND):840, (IND):2, (IND):3, (IND):4, (IND):5, (IND):6, (IND):7 TOTAL: 7 (END)

12 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Detalji statistike Inodea pod brojem 7 prikazuju koje sve blokove zauzima , te se oni podudaraju sa brojem blokova koji su rezervirani za daljnje proširenje datotecnogˇ sustava, vidljivo u prošlom izlaznom rezultatu fsstat naredbe.

Izracunˇ trenutne velicineˇ datotecnogˇ sustava , i maksimalne velicineˇ moguce´ je dobiti korištenjem varijabli Group Descriptor size, Block Size te Group Descriptor Blocks i Reserved Group Descriptors Blocks. I dalje ce´ se koristiti slika od 100MB sa EXT4 datotecnomˇ sustavom kao primjer. S obzirom da nije aktivna znaca-ˇ jka 64bit, velicinaˇ jedne Group Descriptor stavke je 32 bajta. Velicinaˇ jednog bloka je 4096B (moguce´ provjeriti u prethodnom prakticnomˇ primjeru za Group Descriptors poglavlje). Group_Des_Size = 32B Block_Size = 4096B Group_Des_Bl_Size = 1 Res_Group_Des_Bl_Size = 6 Number_Blocks_Per_Block_Group = Broj blokova po jednoj grupi blokova = 8* Block_Size = 32768 Objašnjenje: Block Bitmap blok je binarna tablica statusa alokacije svih blokova unutar jedne grupe blokova. Velicinaˇ same grupe blokova zapravo ovisi o veliciniˇ jednog bloka. S obzirom da Bitmap tablica jedne grupe blokova uvijek zauzima jedan blok, broj blokova koji je moguce´ adresirati je 8*Block_Size (množi se sa 8 s obzirom da se radi o binarnoj tablici, odnosno neki blok na datotecnomˇ sustavu ima samo dva stanja – alociran/slobodan). U ovom slucaju,ˇ velicinaˇ bloka je 4096B, te je moguce´ alocirati 32768 blokova unutar jedne grupe blokova. Iz toga je moguce´ izracunatiˇ samu velicinuˇ jedne grupe blokova: Block_Group_Size = Velicinaˇ jedne grupe blokova = 32768 * 4096B = 134217728B = 128MB (broj blokova unutar grupe se množi sa velicinomˇ jednog bloka) Za Group Descriptors tablicu rezerviran je jedan blok ( 4096B). Bez obzira što se u tablici nalazi trenutno samo jedna grupa blokova ( jer 128B zadovoljava ukupnu velicinuˇ od 100MB datotecnogˇ sustava), prije izracunaˇ ukupnog povecanja´ datotecnogˇ sustava (aktiviranjem rezerviranih GDT blokova), dobro je izracunatiˇ faktor povecanja´ kada bi se samo originalni blok koristio za sve nove Group Descriptore ( odnosno dodavanjem novih grupa blokova). Moguce´ proširenje originalne velicineˇ od 100MB korištenjem originalnog Group Descriptors bloka (1 blok). Group_Descriptors_per_Block = Block_Size / Group_Des_Size = 4096 / 32 = 128 Original_Total_Group_Descriptors = Group_Des_Bl_Size * Group_Descriptors_per_Block = 1* 128 = 128 Max_Original_Size = Original_Total_Group_Descriptors * Block_Group_Size = 128 * 128 = 16384MB = 16GB Increment_Factor_1 = Max_Original_Size / Original_Size = 16384 / 100 = 163x Max_Total_Group_Descriptors = (Group_Des_Bl_Size + Res_Group_Des_Bl_Size) * Group_Descriptors_per_Block = (6+1)*128 = 896 Max_FileSystem_Size = Max_Total_Group_Descriptors * Block_Group_Size = 896 * 128 = 114688MB = 112GB Increment_Factor_2 = Max_FileSystem_Size / Original_Size = 114688 / 100 = 1146x Iz gornjeg izracunaˇ je vidljivo kako je stvarno moguce´ originalnu velicinuˇ stvorenog datotecnogˇ sustava povecati´ za otprilike 1024 puta. Ovdje je potrebno napomenuti ogranicenjeˇ gdje zbroj originalnih GDT blokova i rezerviranih GDT blokova ne može biti veci´ od 1024 blokova.

1.3.7 Indeks cvorˇ

Svakoj datoteci/direktoriju na datotecnomˇ sustavu je dodijeljen Inode (eng. Index NODE). Inode predstavlja strukturu na disku koja upucuje´ na sam sadržaj neke datoteke (odnosno upucuje´ na podatkovne blokove te datoteke). U samom

1.3. EXT4 13 TSRB_TEST Documentation, Release 1.0

Inodeu se nalaze odredeni¯ metapodaci o datoteci na koju upucuje´ (vrijeme stvaranja, modificiranja, velicina,ˇ lokacija na datotecnomˇ sustavu. . . ). Uprocesu stvaranja datotecnogˇ sustava (podjela particije na blokove, stvaranje osnovnih struktura. . . ), stvara se i tablica Inodeova, gdje njihov broj ovisi o zadanom omjeru broj_bajtova/Inode. Drugim rijecima,ˇ za svaki broj ba- jtova na datotecnomˇ sustavu bit ce´ stvoren jedan Inode. Sam omjer može se vidjeti u konfiguracijskoj datoteci alata mke2fs (/etc/mke2fs.conf): [defaults] ... blocksize = 4096 inode_size = 256 inode_ratio = 16384 [fs_types] ext3 = { features = has_journal } ext4 = { features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize auto_64-bit_support = 1 inode_size = 256 } ... big = { inode_ratio = 32768 } huge = { inode_ratio = 65536 } news = { inode_ratio = 4096 } Iz navedenog primjera mogu se primijetiti predložene vrijednosti omjera ovisno o situacijskom korištenju datotecnogˇ sustava. Ako je datotecniˇ sustav predodreden¯ za pohranu velikog broja datoteka male velicine,ˇ ili se planira stvarati puno simbolickihˇ poveznica (ovo ne vrijedi za fizickeˇ poveznice, kasnije objašnjeni pojmovi u dokumentu), potrebno je osigurati dovoljan broj Inodeova kako ne bi došlo do iscrpljenja istih. S druge strane, ako se na datotecnomˇ sus- tavu planiraju pohranjivati velike datoteke, potrebno je prilagoditi omjer (npr. na svakih 1MB ili 4MB jedan Inode), kako ne bi došlo do iscrpljenja podatkovnih blokova. Preporucenaˇ vrijednost omjera prilikom stvaranja novog EXT4 datotecnogˇ sustava je konzervativnih 16KB po jednom Inodeu. Pritom treba imati na umu kako to ne znaciˇ da Inode može adresirati samo 16KB neke datoteke, vec´ se radi iskljucivoˇ o mehanizmu raspodjele Inode/Byte prilikom stvaranja sustava.

14 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Bitno je napomenuti kako nije moguce´ stvoriti dodatne slobodne Inodeove ( recimo, u zamjenu za podatkovne blokove) nakon stvaranja EXT2/3/4 datotecnihˇ sustava. U slucajuˇ iscrpljenosti Inodeova, potrebno je ili prošir- iti sam datotecniˇ sustav, ili premjestiti datoteke na neki novi sustav prilagoden¯ za takav tip/velicinuˇ datoteka. Prilikom proširivanja postojeceg´ datotecnogˇ sustava, omjer broja Inodeova i bajtova se ne mijenja. Struktura Inodea je detaljno opisana u prilogu na kraju dokumenta. Prakticanˇ primjer : Iscrpljenje podatkovnih blokova/Inode struktura Bez obzira koliko se slobodnih blokova dodijeljenih za podatke/sadržaj (eng. Data Blocks) datoteka nalazi u sustavu, broj slobodnih Inodeova je bitna stavka za provjeru slobodnog prostora. Drugim rijecima,ˇ onog trenutka kada se iscrpi broj slobodnih Inodeova, više ne postoji mogucnost´ stvaranja novih datoteka na datotecnomˇ sustavu, odnosno sma- tra se da ne postoji više slobodnog prostora (iako postoje slobodni podatkovni blokovi). Koncept ce´ biti prikazan u slijedecem´ primjeru, gdje ce´ se datoteka od 100MB sa EXT4 datotecnimˇ sustavom postaviti u direktorij /mnt/100M. Nakon toga ce´ se provjeriti broj slobodnih podatkovnih blokova i broj slobodnih Inodeova. U prvom testiranju, da- totecniˇ sustav ce´ se popuniti jednom velikom datotekom od 89MB (4096B*23000), kako bi se prikazala iskorištenost podatkovnih blokova u odnosu na Inodeove. U drugom testiranju (nakon što je datoteka obrisana), stvoriti ce´ se visok broj simbolickihˇ linkova (s obzirom na malu velicinuˇ istih) kako bi se prikazala iskorištenog Inodeova u odnosu na podatkovne blokove. Dobro je imati na umu fragilnost ravnoteže izmedu¯ iskorištenosti podatkovnih blokova naspram broja Inodeova. Situacije u kojima postoji rizik od iscrpljenosti Inodeova su najcešˇ ce´ : • Stvaranje velikog broja direktorija • Stvaranje velikog broja datoteka malih velicinaˇ • Stvaranje velikog broja simbolickihˇ linkova ids@ids2 ~/LINUX_PRIMJERI $ sudo chown ids /mnt/100M ids@ids2 ~/LINUX_PRIMJERI $ mkdir /mnt/100M mkdir /mnt/100M ids@ids2 ~/LINUX_PRIMJERI $ mount disk_image_100M /mnt/100M/ mount: only root can do that ids@ids2 ~/LINUX_PRIMJERI $ sudo !! sudo mount disk_image_100M /mnt/100M/ ids@ids2 ~/LINUX_PRIMJERI $ cd /mnt/100M/ ids@ids2 /mnt/100M $ ls lost+found ids@ids2 /mnt/100M $ df /mnt/100M/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 95088 48 87872 1% /mnt/100M ids@ids2 /mnt/100M $ df -i /mnt/100M/ Filesystem Inodes IUsed IFree IUse% Mounted on /dev/loop0 25600 11 25589 1% /mnt/100M Može se uocitiˇ kako je na datotecnomˇ sustavu trenutno iskorišteno 48 podatkovnih blokova (1%) te 11 Inodeova (1%). Slijedeci´ korak ce´ biti stvaranje jedne velike datoteke nešto manje od ukupne velicineˇ datotecnogˇ sustava.

1.3. EXT4 15 TSRB_TEST Documentation, Release 1.0 ids@ids2 /mnt/100M $ dd if=/dev/zero of=/mnt/100M/95MBfile bs=4096 count=23000 dd: failed to open ‘/mnt/100M/95MBfile’: Permission denied ids@ids2 /mnt/100M $ sudo !! sudo dd if=/dev/zero of=/mnt/100M/95MBfile bs=4096 count=23000 23000+0 records in 23000+0 records out 94208000 bytes (94 MB) copied, 0.352804 s, 267 MB/s ids@ids2 /mnt/100M $ df /mnt/100M/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 95088 92060 0 100% /mnt/100M ids@ids2 /mnt/100M $ df -i /mnt/100M/ Filesystem Inodes IUsed IFree IUse% Mounted on /dev/loop0 25600 12 25588 1% /mnt/100M ids@ids2 /mnt/100M $ sudo rm 95Mbfile Iz gornjeg primjera je vidljivo kako su iscrpljeni svi podatkovni blokovi (100% zauzece)´ dok je iskorišten samo jedan dodatan Inode za datoteku. Datoteka je na kraju obrisana. U slijedecem´ primjeru ce´ se stvoriti velik broj simbolickihˇ linkova koji upucuju´ na direktorij “lost+found”. ids@ids2 for i in {1..25595};do ln -s lost+found/ mirko$i;echo $i;done 1 2 . . 25589 ln: failed to create symbolic link ‘mirko25590’: No space left on device 25590 ids@ids2 /mnt/100M $ df /mnt/100M/;df -i /mnt/100M/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 95088 772 87148 1% /mnt/100M Filesystem Inodes IUsed IFree IUse% Mounted on /dev/loop0 25600 25600 0 100% /mnt/100M U ovom primjeru moguce´ je uocitiˇ kako je broj podatkovnih blokova neznatno porastao no, s druge strane, iscrpili su se svi Inodeovi, te više nije moguce´ stvarati nove datoteke na datotecnomˇ sustavu.

1.3.8 Fizickeˇ i simbolickeˇ poveznice

Nakon što je obradeno¯ prethodno podrucje,ˇ potrebno je pojasniti dva bitna koncepta implementirana u EXT datotecneˇ sustave, a to su : • Fizickeˇ poveznice ( eng. hard links)

16 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

• Simbolickeˇ poveznice (eng. soft links) Koncepti ce´ biti pojašnjeni kroz slijedeci´ primjer, a to je ispis sadržaja korijenskog direktorija:

Izmedu¯ ostalih opcija naredbe “ls” za ispis sadržaja direktorija, korištena je i opcija -i (prikaz i broja indeksa svake datoteke, odnosno Inode vezan uz samu datoteku). Kao što je vec´ receno,ˇ na EXT datotecnimˇ sustavima sve je prikazano kao datoteka (cakˇ i direktoriji i uredaji)¯ i svaka datoteka ima dodijeljen svoj broj indeksa (eng. Inode). Naime, prilikom stvaranja datoteke, slobodan nedodijeljen Inode se povezuje sa tom datotekom (koju još u ovom trenutku zapravo definira iskljucivoˇ sadržaj, recimo tekst neke tekstualne datoteke, bez imena). U samom Inodeu se nalaze metapodaci o toj novostvorenoj datoteci (vlasnik datoteke, velicina,ˇ vremena pristupa/izmjene/stvaranja. . . ). Ono što se ne nalazi u nijednom od navedenih pojmova (datoteka, Inode) je bitna stavka za korisnike sustava, a to je ime datoteke. Ime datoteke se stvara kao stavka u nekom direktoriju. Ta stavka se u osnovi sastoji od dvije stvari : ime datoteke i Inode. Tek je završetkom tog procesa stvorena poveznica (eng. link) izmedu¯ samog sirovog sadržaja datoteke, dodijeljenog joj indeks broja, te mogucnoš´ cu´ pristupa toj datoteci preko imena koje se nalazi u odredenom¯ direktoriju. Vracaju´ ci´ se na gornji primjer na slici, svijetloplavom bojom je oznacenaˇ jedna stavka direktorija. Ime te stavke je jedna tockaˇ “.” , što je zapravo specijalno ime direktorija koje upucuje´ na samog sebe. Drugim rijecima,ˇ s obzirom da je naredba za ispis sadržaja direktorija pokrenuta iz korijenskog direktorija (koji je na vrhu same hijerarhije direktorija, odnosno ne postoji prethodni direktorij iznad njega), stavka sa imenom tockaˇ “.” zapravo upucuje´ na isti taj korijenski direktorij. Slijedeca´ stavka u direktoriju ima ime od dvije tockeˇ “..”, što je još jedno specijalno ime direktorija koje upucuje´ na prethodni direktorij u hijerarhiji. Kako je vec´ recenoˇ da ne postoji prethodni direktorij iznad korijenskog direktorija, stavka sa imenom dvije tockeˇ “..” ce´ ponovno upucivati´ na isti taj korijenski direktorij. Prilikom stvaranja svakog novog direktorija na datotecnomˇ sustavu automatski ce´ se stvoriti i navedene dvije stavke. Za pojašnjenje, prikazano je kretanje kroz direktorije koristeci´ pune putanje direktorija (ovaj proces se popularno naziva kretanje kroz strukturu direktorija korištenjem pune/apsolutne putanje), i zatim koristeci´ navedene dvije stavke u direktoriju (ovaj proces se popularno naziva kretanje kroz strukturu direktorija korištenjem relativnih putanji).

1.3. EXT4 17 TSRB_TEST Documentation, Release 1.0

Prva tri primjera sa slike prikazuju premještanje radnog direktorija korištenjem pune,odnosno apsolutne putanje, te je moguce´ primijetiti kako je u jednom koraku prodeno¯ više direktorija u strukturi. Slijedeci´ primjer u radnom direktoriju putanje /etc/init.d prikazuje kako se korištenjem naredbe za izmjenu direktorija (naredba cd) i argumentom sa imenom tockaˇ “.”, nije promijenila lokacija direktorija. Nakon toga, višekratnom uporabom naredbe za izmjenu direktorija i argumentom sa imenom dvije tockeˇ “..”, u svakom koraku se radni direktorij promijenio za jedan korak iznad u hijerarhiji, sve do korijenskog direktorija “/”. Zadnja tri primjera pokazuju kako upotreba argumenata “.” ili “..” ne mijenja samu lokaciju radnog direktorija, odnosno jednaka je kao i u primjeru kada se koristi apsolutna putanja sa navedenim argumentom imena korijenskog direktorija “/”.

Vracaju´ ci´ se na primjer stavke korijenskog direktorija sa imenom tockaˇ “.” oznaceneˇ u svijetloplavom pravokutniku, brojka 2 u prvom stupcu (stupac je oznacenˇ crvenom bojom za sve stavke u direktoriju) oznacavaˇ broj indeksa ( eng. Inode) dodijeljen toj datoteci (podsjetnik: sve je datoteka). Time je stvorena poveznica izmedu¯ sadržaja datoteke i Inodea sa metapodacima o toj datoteci. Takva poveznica službeno se naziva cvrstaˇ poveznica (eng. Hard Link), prvi dio teme ovoga poglavlja. Cvrstaˇ poveznica je veza izmedu¯ sirovog sadržaja datoteke (podsjetnik : bez imena datoteke,samo sadržaj ) i dodijeljenog Inodea toj datoteci.

Dodatni termin usko vezan uz cvrsteˇ poveznice je njihov broj (eng. Hard Link Count). Naime, moguce´ je stvarati nove datoteke na razlicitimˇ direktorijima i sa razlicitimˇ imenima, koje ce´ upucivati´ na isti Inode, a time i isti sadržaj. Svaka stvorena datoteka na datotecnomˇ sustavu ima obvezno minimalno jednu cvrstuˇ poveznicu. Broj cvrstihˇ poveznica je u gornjem primjeru oznacenˇ zelenom bojom, no prije pojašnjenja tog primjera, bolje je koncept objasniti prvo na jednostavnijem.

Kao što je vidljivo na slici, stvorena je nova prazna datoteka imena “svjetske_tajne.txt”. Sam sadržaj datoteke (u ovom slucajuˇ ga nema) se nalazi u nekom podatkovnom bloku na datotecnomˇ sustavu, dodijeljen joj je 929568. Inode iz Inode tablice ( time je stvorena cvrstaˇ poveznica), te je na kraju procesa i stvorena stavka direktorija s imenom “svjetske_tajne.txt” koja upucuje´ na taj Inode. Vidljivo je i kako je trenutan broj cvrstihˇ poveznica prema toj datoteci samo jedan. Pomocu´ naredbe za stvaranje poveznica izmedu¯ datoteka “ln” (standardne vrijednosti podrazumijevaju stvaranje fiz- ickihˇ poveznica, no moguce´ je stvaranje i simbolickih)ˇ stvorit ce´ se dvije poveznice na postojecu´ datoteku “sv- jetske_tajne.txt”. Prikazom sadržaja direktorija (opcija za prikaz Inode brojeva ukljucena)ˇ moguce´ je uocitiˇ kako obje novostvorene datoteke upucuju´ na jednak Inode pod brojem 929568. Dodatno, može se primijetiti kako je broj cvrstihˇ poveznica prema toj datoteci povecan´ sa 1 na 3, što odgovara broju novostvorenih datoteka.

18 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Trenutno su datoteke bez sadržaja te im je ukupna velicinaˇ ukupno 0 bajta. Razlog tomu je što ime datoteke nije vezano uz velicinuˇ te datoteke vec´ ulazi u prostor direktorija u kojem se nalazi (primijetiti rezerviranih 4KB za trenutno radni direktorij, tema ce´ biti obradena¯ kasnije u tekstu), dok su metapodaci definirani u prostoru koji zauzima Inode povezan sa tom datotekom. Nakon upisa nekog tekstualnog sadržaja u datoteku „sve_o_svijetu.txt“ moguce´ je primijetiti kako se velicinaˇ mijenja za sve 3 datoteke, zajedno sa drugim metapodacima (npr. uocitiˇ vrijeme izmjene). Postupak upisa sadržaja je u donjem primjeru još jednom ponovljen, no ovaj puta za drugu datoteku, te se isto može uocitiˇ utjecaj na sve datoteke. Drugim rijecima,ˇ stvaranje cvrstihˇ poveznica na neku datoteku stvara nove datoteke koje upucuju´ na isti sadržaj.

No, što se dogada¯ kad bi se izbrisala originalna datoteka prema kojoj su stvorene dvije cvrsteˇ poveznice?

Nakon brisanja originalne datoteke, dvije cvrsteˇ poveznice i dalje ostaju, jedino se broj cvrstihˇ poveznica smanjio za 1. Sadržaj datoteke je i dalje vidljiv. Prije brisanja i ostalih poveznica prema sadržaju datoteke, potrebno je pogledati informacije iz samog Inodea vezanog uz datoteke, pod brojem 929568. U tu svrhu ce´ se koristiti aplikacija „istat“ (dio „sleuthkit“ paketa , paketa alata otvorenog koda za digitalnu forenziku sustava za pohranjivanje podataka).

1.3. EXT4 19 TSRB_TEST Documentation, Release 1.0

Izmedu¯ ostalih informacija , moguce´ je uocitiˇ da je Inode alociran (dodijeljen datoteci), te je broj poveznica ukupno 2, što odgovara stvarnom stanju.

Nakon brisanja i ostalih cvrstihˇ poveznica prema Inodeu, uocavaˇ se kako on više nije alociran, te je broj poveznica smanjen na nulu. Dodatno, pojavljuje se nova stavka u odnosu na prošli pregled, a to je datum i vrijeme brisanja datoteke (stavka Deleted). Uocitiˇ kako vrijeme brisanja nije zapisano u istoj preciznosti kao i ostale stavke (najveca´ preciznost je u sekundama, dok ostale imaju preciznost u nanosekundama). Cestoˇ pitanje koje postavlja jest, koja je tocnoˇ svrha cvrstihˇ poveznica na Linux kompatibilnim datotecnimˇ sustavima? Prije samog odgovora sa primjerima, bitno je reci´ kako je u arhitekturi EXT datotecnihˇ sustava ugraden¯ koncept cvrstihˇ poveznica, odnosno svaka datoteka ima minimalno jednu cvrstuˇ poveznicu. Drugim rijecima,ˇ implementacija vec´ postoji i dio je funkcionalnosti datotecnihˇ sustava, bez obzira koristili ju korisnici u druge svrhe. Korisnik ima kolekciju filmova pohranjenu na lokalnom disku, te želi sortirati te filmove po direktorijima sa odgo- varajucim´ žanrom. Neki filmovi ne spadaju u samo jedan žanr, nego u 3 ili više njih. Kako korisnik ne bi kopirao

20 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

isti film u više direktorija, te samim time zauzimao dodatni prostor, u svaki direktorij koji odgovara žanru može se stvoriti cvrstaˇ poveznica sa istim imenom datoteke kao i originalna. Time je ispunjen uvjet u kojem se filmovi nalaze u odgovarajucim´ direktorijima, bez potrošnje dodatnog prostora na disku. Nedostatak cvrstihˇ poveznica jest što su vezane iskljucivoˇ za datotecniˇ sustav na kojem se nalaze, odnosno, cvrsteˇ poveznice se ne mogu povezivati sa datotekama na drugom datotecnomˇ sustavu ( drugoj particiji). U primjeru je stvorena prazna datoteka od 100MB i na nju je postavljen EXT4 datotecniˇ sustav, te je montiran (eng. mount) unutar direktorija /mnt/NETSHARED. Ispod na slici mogu se uocitiˇ (oznacenoˇ žutom bojom) dva razlicitaˇ montirana datotecnaˇ sustava, jedan je vec´ naveden, dok je drugi montiran unutar korijenskog direktorija.

Pokušaj stvaranja cvrsteˇ poveznice unutar /mnt/NETSHARED direktorija koja upucuje´ na datoteku koja se nalazi na razlicitomˇ datotecnomˇ sustavu, rezultirati ce´ porukom o grešci, što je vidljivo na slici ispod. Ono što je moguce´ odmah uocitiˇ jest da se ne radi o nedostatku privilegija korisnika u procesu, vec´ o nemogucnosti´ stvaranja poveznica izmedu¯ dva uredaja¯ (eng. cross-device link).

Razlog tog nedostatka leži u samom postupku stvaranja cvrstihˇ poveznica. Naime, kao što je vec´ navedeno, svaka datoteka na datotecnomˇ sustavu sastoji se od 3 povezane komponente : sirovi sadržaj (npr. tekst datoteke), stavka u direktoriju i indeks broj (eng. Inode). S obzirom da je Inode vezan uz datotecanˇ sustav, svaki datotecanˇ sustav ce´ imati zasebnu bazu Inodeova. Drugim rijecimaˇ Inode sa brojem npr. 378 na jednom datotecnomˇ sustavu ce´ upucivati´ na razlicituˇ datoteku od Inodea sa istim brojem na nekom drugom datotecnomˇ sustavu.

1.3.9 Simbolickeˇ poveznice

Simbolickeˇ poveznice isto upucuju´ na originalnu datoteku, no mehanizam je drugacijiˇ od cvrstihˇ poveznica. Za razliku od cvrstihˇ poveznica koje dijele isti Inode sa originalnom datotekom, simbolickeˇ poveznice su nove datoteke sa drugim dodijeljenim Inodeom (kao i kod svakog stvaranja datoteke). Osnovne razlike u odnosu na cvrsteˇ poveznice su : • Simbolickaˇ poveznica i originalna datoteka ne dijele isti Inode broj • Simbolickeˇ poveznice mogu upucivati´ na datoteke koje se nalaze na razlicitomˇ datotecnomˇ sustavu (na drugoj particiji) • Nakon brisanja originalne datoteke na koju upucuje´ simbolickaˇ poveznica, ona više nije dostupna • Dodavanje simbolickihˇ poveznica ne mijenja brojacˇ cvrstihˇ poveznica • Mogu upucivati´ na direktorije Razlika može biti prikazana i na nacinˇ kao u donjoj slici:

1.3. EXT4 21 TSRB_TEST Documentation, Release 1.0

Drugim rijecima,ˇ simbolickeˇ poveznice najviše podsjecaju´ na termin poveznica u svakodnevnom korištenju (eng. shortcut) jer samo ukazuju na lokaciju željene datoteke. U primjeru na slici ispod stvorena je simbolickaˇ poveznica (može se koristiti vec´ spomenuta aplikacija za stvaranje poveznica “ln” uz upotrebu opcije “-s”). Simbolickaˇ poveznica je poseban tip datoteke te je tako i oznacenaˇ u ispisu sadržaja direktorija (primijetiti slovo “L” unutar žutog okvira, eng. Link). Nadalje, može se primijetiti kako simbolickaˇ poveznica pod imenom “SIMBOLICKI”ˇ i Inode brojem 929994 upucuje´ na datoteku “hostname” (unutar /etc direktorija) sa drugacijimˇ Inode brojem 785066. U ovom slucajuˇ , velicinaˇ datoteke SIMBOLICKIˇ je 13 bajta (putanja /etc/hostname zauzima ukupno 13 znakova).

No, što se nalazi unutar simbolickeˇ poveznice, koji je sadržaj te datoteke? Standardnim nacinomˇ (npr. aplikacijom “cat”) ce´ se uvijek prikazati sadržaj datoteke na koju poveznica upucuje,´ što je i dokazano u slijedecem´ primjeru. Za prikaz stvarnog sadržaja simbolickeˇ poveznice, može se koristiti aplikacija “readlink”.

Detaljniji pregled karakteristika simbolickeˇ poveznice prikazati ce´ jednu zanimljivost, nije dodijeljen nijedan po- datkovni blok za zapis sadržaja te datoteke. Gdje je onda zapisana putanja odredišne datoteke? Prema dosadašnjem pravilu, (https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Symbolic_Links) ako je putanja unutar duljine od 60 bajta, vrijednost ce´ biti zapisana u samom Inodeu. U suprotnom, alocirati ce´ se zaseban podatkovni blok za zapis sadržaja.

Prakticanˇ primjer: Kako locirati i ispisati sadržaj nekog Inode broja? Za primjer ce´ se koristiti simbolickaˇ poveznica iz prošlog primjera sa Inode brojem 929994.

22 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

S obzirom da je struktura datotecnogˇ sustava raspodijeljena po grupama, potrebno je saznati grupu u kojoj se nalazi Inode. Aplikacija “istat” prikazuje i grupu blokova u kojoj se nalazi Inode, a ona je pod brojem 113. Detaljnu strukturu datotecnogˇ sustava je moguce´ išcitatiˇ pomocu´ vec´ spomenute aplikacije “fsstat”. Izlazni rezultat bit ce´ spremljen u datoteku “fsstat_sda2”(sda2 je uredaj¯ na kojem se nalazi datotecniˇ sustav). Zatim ce´ se upotrebom uzorka za pretraživanje (pomocu´ “grep” aplikacije i korištenjem opcije -n za prikaz linije u datoteci) prikazati linija u datoteci na kojoj se nalazi traženi filter. Slijedeci´ korak je ispis sadržaja datoteke na ekran, pocevšiˇ od nadene¯ linije, sve do završetka informacija koje se ticuˇ detalja grupe blokova 113.

Može se primijetiti kako se Inode broj 929994 stvarno nalazi unutar ranga 923889-932064 koji pripada grupi 113. Tablica svih Inodeova tog ranga je velicineˇ 511 blokova (blok je standardne velicineˇ od 4096 bajtova) i nalazi se u rangu blokova 3670559-3671069. Ta dva ranga predstavljaju pocetniˇ uvjet za pronalazak lokacije željenog Inodea. Prvo je potrebno saznati koji je Inode po redu unutar ranga, što se može saznati tako da se oduzme traženi Inode sa pocetnimˇ Inodeom u rangu ( 929994 - 923889 ). Dobiva se rezultat 6105, to je redno mjesto u rangu. Da bi se saznala tocnaˇ lokacija, odnosno blok u kojem se nalazi, potrebno je znati velicinuˇ jednog Inodea, te velicinuˇ bloka u datotecnomˇ sustavu. U ovom primjeru, s obzirom da se radi u EXT4 datotecnomˇ sustavu, standardna velicinaˇ jednog Inodea je 256B, dok je velicinaˇ jednog bloka 4096B. Znaciˇ da se u Inode tablici, unutar jednog bloka nalazi tocnoˇ 16 Inodeova. Redni broj 6105 se dijeli sa 16, kako bi se dobio broj blokova koji se preskacu,ˇ a to je 381 preskoceniˇ blok (381,5625) . Ostatak je 9 (0,5625*16), što znaciˇ da se unutar 382. bloka na 10. mjestu nalazi traženi Inode. Potrebno je nadodati broj 381 pocetnomˇ bloku Inode tablice ( 3670559 + 381), te se dobiva blok 3670940 u kojem se nalazi traženi Inode. Taj blok se može spremiti u zasebnu datoteku uz pomoc´ aplikacije blkcat.

Uz pomoc´ nekog hex editora potrebno je išcitatiˇ sadržaj spremljene datoteke (radi lakšeg snalaženja, postaviti pregled od 16 bajta u jednoj liniji). S obzirom da je traženi Inode 10. po redu u navedenom bloku, a velicinaˇ Inodea je 256 bajta, traženi odmak (eng. offset) u datoteci je 2304 bajta (odnosno adresa 0x900 u heksadecimalnom obliku). Izmedu¯ ostalih detalja, jasno se može uocitiˇ upisana putanja odredišne datoteke na koju upucuje´ ova simbolickaˇ poveznica.

1.3. EXT4 23 TSRB_TEST Documentation, Release 1.0

S druge strane, ako je poveznica veca´ od 60 bajta, traženi sadržaj se sprema u zaseban podatkovni blok, što ce´ biti prikazano za poveznicu SIMBOLICKI_DUGIˇ iz gornjeg primjera, velicineˇ 80 bajta. Iz detaljnijeg prikaza informacija Inodea 929995, može se uocitiˇ kako je alociran podatkovni blok 3679773 za zapis sadržaja datoteke. Korištenjem aplikacija dd (s obzirom da se blokovi pocinjuˇ brojati od nule, ne smanjuje se vrijednost za preskakanje blokova za 1) i xxd (za prikaz izlaznog rezultata u hexa obliku, umjesto u standardnom ASCII) može se uocitiˇ putanja datoteke na koju upucuje´ simbolickaˇ poveznica ( putanja je izmišljena u svrhu prikaza velicineˇ simbolickeˇ poveznice iznad 60 bajta).

24 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Što se dogada¯ ako se obriše originalna datoteka, a simbolickaˇ poveznica ostane? Cijeli proces je prikazan u slijedecem´ primjeru (stvaranje datoteke i poveznice, unos i prikaz sadržaja, te brisanje originalne datoteke i pokušaj prikazivanja sadržaja preko poveznice), no u osnovi simbolickaˇ poveznica ukazuje na nepostojecu´ datoteku

Za vježbu: Saznati na koju datoteku upucuje´ simbolickaˇ poveznica /sbin/mkfs.ext4 , te dokazati to prikazom sadržaja u samom In- odeu poveznice, ili alociranom podatkovnom bloku. Prikazuje li se apsolutna ili relativna putanja odredišne datoteke? Zašto? Opisati proces izracuna.ˇ Za vježbu2:

Proucitiˇ radnje na gornjoj slici, te na temelju upisanih naredbi i izlaznih rezultata odgovoriti: • Koje izmjene i karakteristike ima kopirana simbolickaˇ poveznica (Inode, Velicinaˇ datoteke, Prava pris- tupa)? Što se može zakljuciti?ˇ • Koje izmjene i karakteristike ima premještena simbolickaˇ poveznica (Inode, Velicinaˇ datoteke, Prava pris- tupa)? Što se može zakljuciti?ˇ • Upucuje´ li premještena simbolickaˇ poveznica na ispravnu putanju odredišne datoteke? Zašto? Pitanja: Nakon obradenog¯ podrucjaˇ cvrstihˇ poveznica, proucitiˇ ponovno sliku sa pocetkaˇ poglavlja te odgovoriti :

1.3. EXT4 25 TSRB_TEST Documentation, Release 1.0

1. Zašto direktorij /usr ima ukupno 10 cvrstihˇ poveznica? 2. Koliko cvrstihˇ poveznica ima /etc direktorij? 3. Koji je Inode broj korijenskog direktorija? 4. Koji direktoriji imaju dodijeljen Inode pod brojem 1? Zašto? 5. Nabrojati par primjera prednosti cvrstihˇ poveznica. 6. Koji je nedostatak cvrstihˇ poveznica? Detaljno objasniti razlog nedostatka. 7. Zašto premještanje datoteke sa velicinomˇ od 10GB u neki drugi direktorij (na istom datotecnomˇ sustavu) traje jako kratko? 8. Koje su osnovne razlike izmedu¯ simbolickihˇ i cvrstihˇ poveznica? 9. Koja se vrsta poveznica u praksi cešˇ ce´ koristi? 10. Gdje je zapisan podatak simbolickeˇ poveznice velicineˇ manje 60B, a gdje od vece´ ? 11. Što se dogada¯ sa simbolickomˇ poveznicom ako se obriše odredišna datoteka? http://blog.adityapatawari.com/2013/03/all-about-inodes-hard-links-and-soft.html https://opensource.com/article/17/5/introduction-ext4-filesystem http://www.grymoire.com/Unix/Inodes.html

1.3.10 Sadržaj direktorija

Direktorij u EXT datotecnimˇ sustavima je zapravo datoteka u koju su zapisane stavke , odnosno objekti unutar direk- torija. Svaka stavka sadrži slijedece´ informacije: • Inode broj na koji upucuje´ stavka direktorija • Ukupna duljina stavke • Duljina imena stavke • Tip datoteke (pod uvjetom da je aktivna “filetype” znacajkaˇ u datotecnomˇ sustavu) • Ime datoteke Zapisi u direktorij izvršeni su na jedan od dva nacinaˇ : • Linearni nacinˇ zapisa • Indeksirani nacinˇ zapisa (eng. Hash tree , mora biti aktivna “dir_index” znacajkaˇ u datotecnomˇ sustavu) Prije detaljnog objašnjenja strukture zapisa direktorija, dobro je proucitiˇ izlazni rezultat prikaza sadržaja nekog direk- torija (slika ispod).

26 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Kako i gdje su zapravo organizirani prikazani podaci? Iz navedenog primjera može se vidjeti kako svaka stavka sadrži slijedece´ informacije: • Inode broj • Vrsta datoteke (npr. direktorij, simbolickaˇ poveznica, regularna datoteka. . . ) • Prava pristupa (Vlasnik, Grupa, Ostali) • Broj cvrstihˇ poveznica • Vlasnik datoteke • Grupa koje je vlasnik clanˇ • Velicinaˇ datoteke • Datum zadnje izmjene • Vrijeme zadnje izmjene • Ime datoteke (te dodatno putanja odredišne datoteke za simbolickeˇ poveznice) Sve informacije su zapisane u dvije lokacije: Inode strukturu (oznacenoˇ zelenom bojom) i stavku direktorija (oz- nacenoˇ žutom bojom). Dakle, sama stavka nekog direktorija se sastoji od poveznice izmedu¯ Inode broja i imena datoteke. Jedino mjesto gdje se spominje ime datoteke (izmedu¯ spomenute veze Inode broja, sadržaja datoteke i stavke direktorija) jest u samoj stavci unutar direktorija. Napomena: Ovisno o podržava li datotecniˇ sustav znacajkuˇ “filetype” u samu stavku direktorija se ujedno sprema i tip datoteke. U suprotnom, spremaju se samo ime datoteke i Inode broj. Je li znacajkaˇ aktivna na datotecnomˇ sustavu može se vidjeti postupkom prikazanom na slijedecem´ primjeru:

1.3. EXT4 27 TSRB_TEST Documentation, Release 1.0

Ovisno o podršci za prikaz tipa datoteke, mijenja se i izgled same strukture stavke direktorija. Prepoznaju se dva tipa: ext4dir_entry i ext4_dir_entry_2 (sa podrškom za prikaz tipa datoteke). Strukture su opisane u datoteci ext4.h (eng. Header file). Mogu se uocitiˇ dvije strukture (ext4_dir_entry i ext4_dir_entry_2). S obzirom da je maksimalna velicinaˇ imena datoteke ukupno 255 znakova, a u prvoj verziji struk- ture je bilo dodijeljeno 2 bajta za ime (_le16, 16 bita), u drugoj verziji je velicinaˇ varijable smanjena na 1 bajt (dovoljno sa maksimalnu velicinuˇ imena). Stvorena je dodatna mogucnost´ nove varijable velicineˇ 1 bajt koja služi za spremanje tipa datoteke u stavku direktorija.

Poveznica : https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/fs/ext4/ext4.h?h=v4.13.4# n1908

1.3.11 Linearni nacinˇ zapisa u direktorij

S obzirom da je direktorij datoteka kao i svaka druga na datotecnomˇ sustavu, dodijeljuje mu se Inode te potrebni po- datkovni blokovi za zapis sadržaja. Iako se radi o datoteci, jednostavno nije moguce´ pokušati na standardan nacinˇ (npr. upotrebom cat aplikacije) vidjeti neki tekstualni neformatirani sadržaj direktorija. Razlog tomu je korištenje razlicitihˇ funkcija za citanje.ˇ Naime, aplikacije kao cat za pristup datotekama koriste read() funkciju (ili neku varijaciju tipa safe_read() ), dok se za prikaz sadržaja direktorija koristi readdir() (koju koristi aplikacija ls, standardni dio cureutils paketa). Za vježbu: https://github.com/coreutils/coreutils/blob/master/src/ls.c

28 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

https://github.com/coreutils/coreutils/blob/master/src/cat.c Proucitiˇ izvorni kod aplikacija ls i cat sa navedenih poveznica, te potražiti na koji nacinˇ pristupaju datotekama, odnosno direktorijima. Koje funkcije se koriste u procesu? Jedini drugi nacinˇ je direktan pristup podatkovnom bloku, te interpretirati zapisani sadržaj. Za primjer ce´ se koristiti LINEAR_DIRECTORY direktorij sa sadržajem prikazanim na slici ispod.

Može se išcitatiˇ kako je direktoriju dodijeljen Inode 929997, te pomocu´ istat aplikacije prikazuju se detalji Inode strukture. Direktoriju je dodijeljen jedan podatkovni blok pod brojem 3679779.

Upotrebom blkcat aplikacije, navedeni blok se sprema u zasebnu datoteku, te se sadržaj prikazuje nekim hex editorom (u ovom slucajuˇ ghex). S obzirom da je ostatak podatkovnog bloka prazan, nije prikazan na slici.

1.3. EXT4 29 TSRB_TEST Documentation, Release 1.0

S obzirom da datotecniˇ sustav ima aktiviranu podršku “filetype” za spremanje tipa datoteke u strukturu stavke direk- torija, ona ce´ biti slijedece´ strukture: Potrebno je samo pratiti dokumentaciju te išcitavatiˇ sadržaj prema njoj. CD300E00->0x 000E30CD = 929997 0C00->0x 000C = 12 01->0x 01 = 1 02-> 0x 02 = Directory 2E->0x 2E = . 000000->Ostatak do kraja stavke Zakljucak,ˇ radi se o prvoj stavci direktorija, koji upucuje´ na samog sebe. Direktoriji “.” i “..” su uvijek prve dvije stavke u svakom direktoriju. Primjer datoteke disk_image_100M E1300E00->0x000E30E1 = 930017 1800->0x 0018 = 24 0F->0x 0F = 15 01->0x 01 = Regular File 0x 6469736B5F696D6167655F3130304D = disk_image_100M 00->Ostatak do kraja stavke Prikazani primjeri dokazuju uspješnu vezu izmedu¯ podataka zapisanih u sam podatkovni blok nekog direktorija i izlaznog rezultata neke aplikacije za prikaz sadržaja direktorija. Prikaz Inode strukture linearnog direktorija

30 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Za vježbu: Na gore prikazani nacinˇ pronaci´ i zapisati informacije za slijedece´ stavke: Direktorij “..” Datoteka “fsstat_sda2” Direktorij “SIMLINKOVI”

1.3.12 Indeksirani nacinˇ zapisa u direktorij

Linearni nacinˇ zapisa predstavlja odredene¯ probleme u performansama kada se radi o velikoj koliciniˇ datoteka unutar nekog direktorija. Svaka operacija nad stavkama unutar direktorija (stvaranje, brisanje,otvaranje) podrazumijeva lin- earno pretraživanje ciljane stavke. Drugim rijecima,ˇ za pregled sadržaja datoteke Datoteka09.txt, potrebno je prilikom pretraživanja prvo proci´ kroz datoteke Datoteka01.txt-Datoteka08.txt linearnim redoslijedom. Povecanjem´ broja da- toteka unutar direktorija, cijena izvodenja¯ operacija je sve veca.´ Matematickiˇ gledano, cijena pretraživanja za X stavaka u direktoriju ce´ uvijek biti ista, bez obzira na kojoj poziciji se ta stavka nalazi. Drugim rijecima,ˇ za 10 stavaka u direktoriju, ocekujeˇ se izvršavanje 10 koraka u pretraživanju (jer ta stavka stvarno može biti na zadnjem mjestu).

1.3. EXT4 31 TSRB_TEST Documentation, Release 1.0

Kao što je vec´ prikazano u prethodnom poglavlju, struktura linearnih zapisa izgleda kao prema slijedecem´ crtežu.

IZVOR: http://www.geeksforgeeks.org/wp-content/uploads/gq/2016/10/Linear-Search.png http://www.geeksforgeeks.org/linear-search-vs-binary-search/ Kako bi se došlo do stavke J, potrebno je proci´ sve stavke od A-J linearnim putem. Ovdje se postavlja pitanje brisanja postojecih´ ili dodavanja novih stavaka u linearni zapis. Što napraviti u slucajuˇ brisanja stavke D, ostaviti prazninu ili presložiti cijeli zapis? Što napraviti ako se želi dodati ponovno obrisana stavka, treba li ponovno presložiti zapis kako bi stavka sjela u redoslijed, ili ju dodati na kraj zapisa? Postoje razliciteˇ optimizacije i implementacije rješenja koje se bave ovim pitanjima. No, bez obzira na optimizacije, i dalje se radi o rješenju koje je neucinkovitoˇ za veliki broj zapisa. Jedno od predloženih rješenja je uvadanje¯ tzv. binarnog pretraživanja. Osnova binarnog pretraživanja je korištenje iskljucivoˇ dvije odluke - lijevo/desno, odnosno vece/manje.´ Algoritam je u tom smislu jednostavan, i kao što ce´ se pokazati u ovom primjeru ucinkovitijiˇ od klasicnogˇ linearnog algoritma. U nekom polju od A-X, sa ciljem pretraživanja stavke J, prvi korak je skok na polovicu tog polja. Sa te pozicije, gleda se je li stavka J veca´ ili manja u vrijednosti od te tockeˇ ( u ovom slucajuˇ slovo L), te se radi odluka krece´ li pretraživanje dalje ulijevo ili desno. S obzirom da je J manje od L, skok ide ulijevo, i to ponovno na polovicu ovog puta manjeg raspona polja ( A-L ) na slovo F. Ponavljaju se identicneˇ radnje kako bi se došlo do slova J. Primjecuje´ se osjetno smanjenje potrebnih koraka do dostizanja cilja u odnosu na linearno pretraživanje.

32 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Prije nastavka, treba imati na umu da linearno pretraživanje ima svoju primjenu, i to na : 1. Poljima gdje stavke nisu sortirane (umjesto ABCDE ->ACDEB) 2. Mali broj stavaka u polju (ne postoji jasna granica, te ovisi o samim implementacijama zapisa) 3. Stavke u strukturi su povezane (eng. linked list), te nije moguce´ nasumicnoˇ pretraživanje (C je vezan uz B koji je vezan za A) Itd. . . Drugim rijecima,ˇ postoje razne situacije u kojima se koristi linearno pretraživanje, odnosno u kojima prednost imaju neki drugi oblici ili tipovi algoritama. Za svaku implementaciju je potrebno testiranje kako bi se odabralo optimalno rješenje. Algoritam za binarno pretraživanje je samo nacinˇ pretraživanja podataka koji su i dalje zapravo linearno zapisani. Da bi se stvorila optimalna struktura zapisa, potrebno promijeniti sam nacinˇ zapisa objekata (recimo datoteka u direktoriju) u ukupnoj strukturi. Tako je u odnosu na linearan zapis, stvorena struktura stabla (eng. tree structure, stablo je postavljeno naopako, korijen je na vrhu), u prvom primjeru konkretnije binarna struktura stabla. U prikazu strukture stabla, crvenom bojom je jasno oznacenˇ put pretraživanja do stavke J. Prije objašnjenja specificnostiˇ binarne strukture stabla, dobro je objasniti par osnovnih pojmova (nisu svi pojmovi spomenuti) koji definiraju svaku opcenitu´ strukturu stabla : • Cvorˇ - Dio stabla koji ima minimalno jednu vezu prema roditelju i/ili djetetu • Korijenski cvorˇ (eng. root) - Vrh stabla, ima vezu iskljucivoˇ prema djeci • Unutarnji cvorˇ (eng. internal node) - Dio stabla koji je povezan sa roditeljem i minimalno jednim djetetom • List cvorˇ (eng. leaf node, external node) - Krajnji cvorˇ u strukturi, nema djece, iskljucivoˇ veza prema roditelju • Roditelj - Hijerarhijski iznad djeteta, Korijenski cvorˇ je jedini iskljucivoˇ roditelj ( nije ujedno i dijete) • Dijete - Hijerarhijski ispod roditelja, List cvorˇ je jedino iskljucivoˇ dijete ( nije ujedno i roditelj) • Razina - Ovisno o pocetnomˇ broju, vertikalna udaljenost nekog cvoraˇ od korijenskog cvora.ˇ Korijenski cvorˇ može pocetiˇ kao razina 0 ili razina 1, te je prvo dijete u razini 1 , odnosno 2. • Visina stabla - Ukupni broj razina nekog stabla • Dubina stabla - Udaljenost nekog cvoraˇ od korijenskog cvora.ˇ Stablo koje se sastoji samo od korijenskog cvoraˇ ima dubinu 0. Stablo sa jednim cvoromˇ djetetom ima dubinu 1. • Kljucˇ - Vrijednost koja se može dodijeliti nekom cvoruˇ , koristi se kao argument prilikom pretraživanja strukture stabla

1.3. EXT4 33 TSRB_TEST Documentation, Release 1.0

Nakon definiranih pojmova, mogu se navesti odredene¯ specificnostiˇ binarnog stabla u odnosu na neko opcenito:´ • Sadrži korijenski cvor,ˇ u razini 0 može biti samo jedan korijenski cvorˇ • Svaki unutarnji cvorˇ može imati najviše dvoje djece (uredeno¯ stablo) Iako strukture stabla nisu tema ovog dokumenta, a samo podrucjeˇ je iznimno kompleksno, pokušava se obraditi mini- mum potrebnog sadržaja kako bi se moglo nastaviti sa obradom teme. Nešto kompleksniji tip strukture stabla od binarnog je B-tree stablo (slovo B u imenu ne oznacavaˇ binarno, odnosno samo znacenjeˇ tog slova nije jasno definirano). Za pocetak,ˇ u odnosu na binarno stablo, B-tree dozvoljava da cvorˇ sadrži više od dvoje djece, te se automatski balansira struktura. Pojam balansiranja podrazumijeva da, prilikom unosa novih stavki (ili brisanja postojecih),´ stablo pokušava zadržati minimalnu ukupnu visinu. Nebalansirano i balansirano stablo B-tree struktura zapisa (odnosno njegove varijacije, kao B+ Tree ili HashTree) je implementirana u mnoge popularne baze podataka ili datotecneˇ sustave kao što su : HFS+ (Apple), NTFS (Microsoft), Ext4 (Linux), Btrfs ( Linux). S obzirom da cvoroviˇ unutar stabla B-tree strukture smiju sadržavati više od dvoje djece, smanjuje se ukupna visina stabla ( u odnosu na binarnu strukturu), te se štedi potreban prostor u zamjenu za nešto kompleksniji algoritam. S obzirom da u jedan cvorˇ može stati više od dvoje djece, koristi se jedan ili više od jednog kljucaˇ koji je dodijeljen tom cvoruˇ za odluke. Prilikom definiranja strukture, mora se definirati minimalan i maksimalan broj kljucevaˇ u jednom cvoru.ˇ Primjer B-tree stabla cijiˇ cvoroviˇ imaju više od jednog djeteta prikazan je na slijedecoj´ slici. Koristi se isti rang slova koji je korišten u strukturi binarnog stabla. Prvenstveno je moguce´ primijetiti kako je drvo razgranatije, ali je smanjen za jednu cijelu razinu stabla. Dodatno je moguce´ primijetiti kako se u jednom cvoruˇ nalazi najviše 4 djeteta ( broj Djece se izracunavaˇ tako da se broju Kljucevaˇ nekog cvoraˇ X doda broj 1, odnosno D(x)=K(x)+1 ), a minimalno jedan kljuc,odnosnoˇ dva djeteta. Cvoroviˇ u binarnim stablima imaju najviše dvoje djece, odnosno jedan kljucˇ po cvoru.ˇ Nakon obrade dvije opcenite´ strukture stabala (binarno stablo i kompleksnija b-tree struktura stabla), potrebno je vratiti se na samu implementaciju indeksiranog nacinaˇ zapisa u direktorije na EXT4 datotecnomˇ sustavu. Službeni naziv implementacije je Htree (skraceno´ od Hash Tree). Na razvoju koda primjene za EXT2 datotecnogˇ sustava je originalno radio autor Daniel Phillips (2001. – izvor: https://www.kernel.org/doc/ols/2002/ols2002-pages-425-438. pdf). Prijenos koda (eng. port) za EXT3 sustav je razvijen od strane Christopher Lia i Andrew Mortona (2002.). Za oba EXT2 (iako osnovni EXT2 kod nece´ koristiti tu funkcionalnost) i EXT3 sustava je potrebno ukljucitiˇ korištenje indeksiranja direktorija prilikom stvaranja datotecnogˇ sustava, dok je na EXT4 ta opcija standardno ukljucena.ˇ Struktura Htree je vrlo slicnaˇ B-tree stablu, osim što se umjesto originalnih imena datoteka koriste njihove hash vrijednosti za pronalazak njihove lokacije u stablu. U slijedecim´ primjerima biti ce´ prikazane situacije u kojima bi se za navedene datoteke koristio linearni nacinˇ zapisa, b-tree struktura, te na kraju i htree stablo. U linearnom nacinuˇ zapisa nekog direktorija, samom direktoriju je dodijeljen jedan podatkovni blok (uobicajenaˇ velicinaˇ je 4KB), te se datoteke dodaju jedna iza druge (sam fizickiˇ zapis u blok je vec´ objašnjen u prošlom poglavlju). Ispod je prikazan pojednostavljeni nacinˇ linearnog zapisa u podatkovni blok. U slucajuˇ da datotecniˇ sustav ne po- država indeksirani nacinˇ zapisa, nakon što se prvi podatkovni blok popuni zapisima, direktoriju se dodijeljuje novi podatkovni blok, te se zapisi nastavljaju linearno. Ako datotecniˇ sustav podržava indeksirani nacinˇ zapisa, nakon što se podatkovni blok direktorija popuni (linearnim zapisima), aktivira se znacajkaˇ indeksiranja, te se automatski stvara struktura stabla. Prilikom stvaranja te struk- ture, dodijeljuju se dodatni podatkovni blokovi koji ce´ imati funkciju cvorovaˇ u strukturi. Ovisno o broju novih datoteka (odnosno zauzecu´ prostora prema veliciniˇ imena, jer prostor direktorija zauzimaju stavke imena), dodijeljuju se potrebni podatkovni blokovi za strukturu stabla. U donjem primjeru su alocirana dodatna tri bloka za strukturu stabla. Prvi blok (oznacenˇ sa imenom Root) je prenamijenjen iz bloka za linearni zapis datoteka u Korijenski indeks (eng. root index). U njemu su, prema pravilima B-tree strukture, zapisani kljuceviˇ koji su povezani na krajnje/list cvorove.ˇ U svakom list cvoruˇ zapisane su datoteke linearnim nacinomˇ zapisa. U osnovnoj B-tree verziji struktura bi izgledala otprilike ovako :

34 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Htree stablo u odnosu na prethodni primjer izgleda vrlo slicno,ˇ osim što se oznakama cvorovaˇ dodijeljuju hash kljucevi.ˇ Za svako ime datoteke se stvara hash kljuc.ˇ Ako je vrijednost tog kljucaˇ unutar raspona hash vrijednosti cvorova,ˇ datoteka ce´ se zapisati u taj cvor.ˇ Dakle, datoteke se više ne rasporeduju¯ prema imenu, vec´ prema hash vrijednosti. Prema gornjim podacima, stvara se struktura hash stabla, odnosno Htree struktura. Koraci prilikom pretraživanja neke datoteke su slijedeci´ : 1. Procitajˇ sadržaj prvog bloka datoteke direktorija (eng. Index Root) 2. Izracunajˇ hash vrijednost datoteke (Datoteka11.txt -> 0x9f2ceffc. . . ) 3. Odluciˇ koji list cvorˇ pretraživati (Hash vrijednost ranga odabranog list cvoraˇ u sebi sadrži i hash vrijednost odredišne datoteke) 4. Ako nadeni¯ cvorˇ nije list cvor,ˇ pretraživanje se nastavlja u nižoj razini strukture stabla 5. Nakon što je odredišni list cvorˇ naden¯ (u kojem se nalazi tražena datoteka), pretraga u tom bloku se nastavlja linearno DODATAK: Upotreba hash vrijednosti objekata za izgradnju strukture podataka neizbježno za sobom povlaciˇ popu- laran problem hash kolizije. Radi se o dogadaju¯ kada dva objekta u nekom istom podrucju/tabliciˇ imaju identicnuˇ hash vrijednost. Postoje razlicitiˇ mehanizmi koji se brinu za rješavanja takvih problema. Tako i u Htree strukturi, ako slucajnoˇ datoteka nije nadena¯ u krajnjem list cvoru,ˇ postoji mogucnost´ da se ta datoteka nalazi u slijedecem´ list cvoru.ˇ S obzirom na kompleksnost, ovo podrucjeˇ nece´ biti obradeno¯ u dokumentu. Prilikom stvaranja novog praznog direktorija, iako EXT4 datotecniˇ sustav podržava indeksiranje, ta opcija još nece´ biti ukljucena.ˇ Direktoriju ce´ se prvo dodijeliti jedan podatkovni blok (4096B), te ce´ svi zapisi biti rasporedeni¯ lin- earnom metodom. U donjem primjeru je prikazan sirov sadržaj nekog direktorija u kojem se nalazi deset datoteka (Datoteka1.txt - Datoteka10.txt). Na slici nije prikazan cijeli blok iz razloga što je ostatak prostora prazan. Metoda linearnog pristupa i zapisa se koristi sve dok se ne popuni cijeli blok zapisima. Crvenim okvirom su oznaceniˇ zapisi za direktorije “.” i “..”. Nakon njih krecu´ zapisi za datoteke. Prije Indeksiranja Nakon što se zapisima popuni dodijeljeni blok, ako datotecniˇ sustav podržava mehanizam indeksiranja, odnosno Htree strukturu, direktoriju se dodijeljuje minimalan potreban broj blokova za Htree stablo. Prvi blok (koji je bio popunjen linearnim zapisima) mijenja funkciju i strukturu, te postaje DX_ROOT (Index Root). Prvo se može primijetiti prom- jena u odnosu na gornju sliku. Radi kompatibilnosti , zapisi oznacenihˇ direktorija i dalje ostaju, no duljina zapisa direktorija “..” je promijenjena u 4084 bajta (vidljivo u oznacenomˇ okviru, vrijednost 0x0FF4, odnosno sve do kraja bloka (prvi zapis je duljine 12 bajta, ukupno 4096 bajta). Razlog tomu je za slucajˇ ako bi se podigao EXT2/EXT3 (bez podrške pregleda/upravljanja Htree strukture) datotecniˇ sustav na particiji sa navedenim direktorijem, kako se ne bi izmijenila Htree struktura sa pokušajem linearnog zapisa. U tom slucajuˇ ce´ se nakon ispisa “.” i “..” stavki preskocitiˇ cijeli blok, te ce´ se slijedeci´ blok normalno pretraživati linearnim algoritmom. Nakon dvije stavke navedenih direktorija, slijedi struktura koja opisuje detalje stvorene Htree strukture : • 4 rezervirana bajta za eventualne kasnije nadogradnje • Verziju Hash funkcije ( 1 bajt, u ovom slucajuˇ Half MD4 tip Hash funkcije) • Duljina polja za informacije o stablu (1 bajt, u ovom slucajuˇ duljina informacije je 8 bajta) • Dubina stabla (1 bajt, u ovom slucajuˇ dubina je nula, odnosno, sve datoteke zapisane su u cvorovimaˇ odmah ispod Root cvora,ˇ dakle radi se o list cvorovima)ˇ • Nekorištena zastavica (1 bajt, za eventualne kasnije nadogradnje) • Maksimalan broj cvorovaˇ (2 bajta, u ovom slucajuˇ maksimalno 508 cvorova)ˇ • Stvaran broj cvorovaˇ (2 bajta, u ovom slucajuˇ 4 cvora)ˇ

1.3. EXT4 35 TSRB_TEST Documentation, Release 1.0

• Broj podatkovnog bloka unutar direktorija sa izracunatomˇ hash vrijednosti = 0 (4 bajta, u ovom slucajuˇ dodijel- jen je prvi blok) • Nastavak svih daljnjih cvorovaˇ koji postoje u stablu (svaki cvorˇ ima svoju strukturu od 8 bajta) NAPOMENA : Podatkovni blok unutar nekog direktorija je zapravo relativna adresa u odnosu na pocetakˇ samog direktorija. Dakle prvi podatkovni blok direktorija ce´ imati adresu 0, no njegova apsolutna adresa ovisi o da- totecnomˇ sustavu. Struktura informacije svakog cvoraˇ je ukupne duljine 8 bajta koja se sastoji od 4 bajta za izracunatuˇ hash vrijednost cvora,ˇ te dodijeljenom bloku unutar direktorija. Na slici ispod su prikazana 3 dodatna cvoraˇ : • 0x47c60174 hash vrijednost cvora,ˇ 4. Blok unutar direktorija (pocinjeˇ se brojati od nule) • 0x7a4e6c3e hash vrijednost cvora,ˇ 2. Blok unutar direktorija • 0xb5cb4252 hash vrijednost cvora,ˇ 3. Blok unutar direktorija Nakon Indeksiranja Na temelju gornjih informacija, može se zakljucitiˇ kako direktorij iz primjera zauzima ukupno 5 blokova (nulti blok za Root Index blok, prvi blok za cvorˇ sa hash vrijednošcu´ 0, te dodatna tri bloka). S obzirom da je navedena dubina ovog stabla 0, znaciˇ da su svi cvoroviˇ zapravo i list cvoroviˇ povezani na Root Index blok, i u njima su rasporedene¯ sve datoteke. Na slijedecoj´ slici se može vidjeti ukupna velicinaˇ tog direktorija (5 blokova po 4096 bajta).

Detalji inodea dodijeljenog tom direktoriju otkrivaju dodatne informacije. Vidljivo je koji su podatkovni blokovi dodijeljeni (imati na umu da se ovdje radi o apsolutnim adresama tih blokova, za razliku od relativnih u odnosu na direktorij), te da je aktivna zastavica opcije “Hash Indexed Directory”.

Prikaz Inode strukture indeksiranog direktorija Na slijedece´ dvije slike može se primijetiti razlika izmedu¯ standardnog linearnog direktorija i direktorija sa podrškom za indeksiranje, odnosno onog sa Htree strukturom. Na odmaku (eng. offset) adrese 0x20 (na slikama 0xD20 i 0xF20) nalazi se struktura u koju se zapisuju razliciteˇ zastavice za neki Inode.

36 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Mogu se primijetiti na oba primjera jedna ista aktivna zastavica, te na drugom primjeru i jedna dodatna zastavica. Prema dokumentaciji EXT4 , konkretno detalji strukture jednog Inodea zastavice imaju slijedecu´ funkciju: Drugim rijecima,ˇ prvi direktorij je zaista standardan linearan direktorij, dok drugi direktorij koristi Htree strukturu. Za vježbu: 1. Stvoriti direktorij proizvoljnog imena 2. U tom direktoriju stvoriti deset datoteka proizvoljnog imena (no prve tri datoteke neka se zovu : Primjer1.txt, Primjer2.doc, Primjer3.png) 3. Pronaci´ fizickiˇ podatkovni blok stvorenog direktorija, te ga spremiti u datoteku. Ispisati i opisati detalje Prim- jer3.png datoteke (prema strukturi stavaka direktorija). Od ukupnog broja stavaka u direktoriju, koja je tocnoˇ stavka po redu navedena datoteka? 4. Zapisati duljinu zapisa stavke Primjer2.doc datoteke. 5. Obrisati Primjer3.png datoteku. Ponovno zapisati duljinu zapisa stavke Primjer2.doc datoteke. Što se dogodilo sa duljinom? Probaj zakljucitiˇ zašto. 6. Stvoriti novu datoteku imena Novi_Primjer.mp3. Gdje je zapisana stavka novostvorene datoteke? Je li još uvijek zapisana Primjer3.png stavka datoteke? Zakljuciˇ u kojoj bi se situaciji zapis prepisao. 7. Koliko je još bajtova u podatkovnom bloku direktorija neiskorišteno ( Pomoc´ : Koja je duljina posljednje stavke direktorija? ) 8. Saznati Inode broj direktorija, te zapisati vrijednost zastavice EXT4_INDEX_FL (hashed indexes directory). Pomoc´ : Detalje je moguce´ saznati “istat” naredbom 9. Stvoriti potreban broj novih datoteka proizvoljnog imena kako bi se prepunio podatkovni blok i pojavila potreba za dodjelom novog. 10. Pomocu´ “istat” naredbe , saznati koji su novi podatkovni blokovi dodijeljeni direktoriju. Ponovno zapisati vrijednost zastavice EXT4_INDEX_FL (hashed indexes directory).

1.3. EXT4 37 TSRB_TEST Documentation, Release 1.0

11. Prema strukturi Htree stabla, iscrtati stablo cvorovaˇ kao prema primjeru u poglavlju (bez datoteka, samo dodi- jeljeni blokovi). https://www.kernel.org/doc/ols/2002/ols2002-pages-425-438.pdf https://www.netbsd.org/gallery/presentations/hrishikesh/2017_AsiaBSDCon/abc2017ext4_final_paper.pdf

1.3.13 Fleksibilne grupe blokova

Radi se o još jednoj znacajkiˇ implementiranoj od cetvrteˇ verzije EXT datotecnojˇ sustava. Za pocetak,ˇ potrebno je vratiti se na osnovnu organizaciju tvrdog diska (ovdje se prvenstveno misli na standardne rotirajuce´ diskove, a ne SSD) i EXT4 datotecnogˇ sustava na njemu. Minimalna velicinaˇ zapisa na tvrdi disk je velicineˇ sektora (tehnickiˇ tocnijiˇ termin je logickiˇ blok, no nece´ se koristiti kako ne bi došlo da zamjene sa minimalnim zapisom na EXT4 datotecnomˇ sustavu), a najcešˇ ce´ se radi o 512B. To je prva organizacija zapisa na medij. Sektori se adresiraju LBA (eng. Logical Block Addressing, otuda naziv logickiˇ blok) mehanizmom, te je prva adresa 0. Prije stvaranja datotecnogˇ sustava, potrebno je prvo podijeliti tvrdi disk na jednu ili više particija, ovisno o svrsi korištenja. Datotecniˇ sustav se instalira ne jednu od tih particija. Prilikom stvaranja datotecnogˇ sustava, particija (koja se sastoji od odredenog¯ broja sektora) se prvo podijeli na više blokova jednakih velicina.ˇ Uobicajenaˇ velicinaˇ jednog bloka na EXT4 datotecnomˇ sustavu je 4KiB, no moguce´ je odabrati i neku drugu velicinuˇ bloka. Ti se blokovi zatim grupiraju u grupe blokova. Kao što je vec´ prethodno objašnjeno, sa 4KiB velicinomˇ blokova, u jednoj grupi blokova se nalazi ukupno 32768 blokova. Svaka grupa blokova ima svoju strukturu (group descriptors, inode table, inode bitmap, block bitmap. . . ). Na slici ispod je prikazana korelacija izmedu¯ sektora (plava), blokova (ljubicasta)ˇ i grupe blokova (narancasta).ˇ

U EXT4 verziji datotacnogˇ sustava implementirana je dodatna razina apstrakcije, gdje se grupe blokova dodatno ujedinjuju u posebne strukture pod imenom fleksibilne grupe blokova. Prilikom ujedinjavanja, sve strukture svake grupe blokova se isto ujedinjavaju i postavljaju na pocetakˇ prve grupe blokova. Kao rezultat toga, u jednoj fleksibilnoj grupi blokova, samo prva grupa blokova ce´ sadržavati opisnu strukturu za sve ostale grupe, dok ce´ ostatak fleksibilne grupe biti ispunjen podatkovnim blokovima. Na slici ispod su prikazani pojedinacniˇ blokovi (ljubicasta),ˇ grupe blokova sa posebno oznacenimˇ dijelom za strukturu (narancastaˇ sa žutom), te u donjem redu fleksibilna grupa blokova sa posebno oznacenimˇ dijelom za strukturu (zelena sa žutom).

NAPOMENA: Iako se u fleksibilnoj grupi blokova struktura svake grupe premješta na pocetakˇ fleksibilne grupe, to pravilo ne vrijedi za kopije SuperBloka i Group Descriptors tablice. One ostaju na pocetkuˇ namijenjene grupe. Na slijedecoj´ slici je detaljnije prikazana struktura svake grupe blokova, pod uvjetom da nije ukljucenaˇ sparse su- perblock opcija (SuperBlock i GDT strukture se ne spremaju u svaku grupu blokova).

38 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

Izvor slika : https://www.dfrws.org/sites/default/files/session-files/pres_afeic_-_advanced_forensic_ext4_inode_ carving.pdf Prema gornjoj strukturi, na slijedecoj´ slici je prikazan primjer osam grupa blokova, bez ukljuceneˇ opcije fleksibilne grupe blokova.

Te zatim isti primjer, no ovaj put je ukljucenaˇ opcija fleksibilne grupe blokova:

Moguce´ je primijetiti kako se SuperBlock i GDT strukture i dalje nalaze na pocetkuˇ svake grupe blokova, no Inode i Block Bitmap, te Inode tablica su premještene na pocetakˇ prve grupe blokova. Time se oslobada¯ prostor u ostalim grupama za podatkovne blokove, što povecava´ kontinuitet alociranih blokova za datoteke. Odredeni¯ problem u kontinuitetu predstavljaju SuperBlock i GDT strukture, no sparse superblock u odredenoj¯ mjeri rješava tu situaciju.

http://wiki.lustre.org/images/e/e0/Dilger_Workshop_LUG_09.pdf http://www.nongnu.org/ext2-doc/ext2.html http://www.read.cs.ucla.edu/111/2006fall/notes/lec14 http://www.slashroot.in/understanding-file-system-superblock-linux https://unix.stackexchange.com/questions/4402/what-is-a-superblock-inode-dentry-and-a-file https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout http://www.thegeekstuff.com/2011/05/ext2-ext3-ext4 https://www.tecmint.com/linux-file-system-explained/ http://www.linfo.org/filesystem.html https://www.ibm.com/developerworks/library/l-anatomy-ext4/ https://digital-forensics.sans.org/blog/2010/12/20/digital-forensics-understanding-ext4-part-1-extents https://selvamvasu.wordpress.com/2014/08/01/inode-vs-ext4/ https://events.linuxfoundation.org/slides/2010/linuxcon_japan/linuxcon_jp2010_fujita.pdf https://www.dfrws.org/sites/default/files/session-files/paper-an_analysis_of_ext4_for_digital_forensics.pdf

1.3. EXT4 39 TSRB_TEST Documentation, Release 1.0

1.3.14 Primjer stvaranja datotecnogˇ sustava na datoteci

Alati : dd, mkfs, tune2fs, debugfs, fsstat

1.3.15 Prilog - Detaljna Inode struktura (EXT4)

0000100: ed41 0000 0010 0000 b073 5359 ed16 1c59 .A...... sSY.. . Y 0000110: ed16 1c59 0000 0000 0000 1700 0800 0000 . . . Y...... 0000120: 0000 0800 2400 0000 0af3 0100 0400 0000 . . . .$...... 0000130: 0000 0000 0000 0000 0100 0000 1124 0000 ...... $.. 0000140: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000150: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000160: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000170: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000180: 1c00 0000 7cbc 2caa 7cbc 2caa 8c8d dac1 . . . .|.,.|.,. . . .. 0000190: 5c25 1459 0000 0000 0000 0000 0000 0000 \%.Y...... 00001a0: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 00001b0: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 00001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 00001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ......

40 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

00001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ...... Za primjer prvog opisa preuzeta je Inode stavka root direktorija ( / ) na aktivnom Linux sustavu, koji se nalazi na EXT4 datotecnomˇ sustavu. S obzirom da je aktivirana znacajkaˇ “Extra Inode Size” (nova znacajkaˇ podržana od EXT4 verzije datotecnogˇ sustava), Inode stavke mogu preci´ standardnu velicinuˇ od 128B (velicinaˇ Inodeova u EXT2 i EXT3 verzijama). Sama velicinaˇ jednog Inodea je zapisana u SuperBlock strukturi (prikazano u slijedecem´ prim- jeru), no potrebno je razlikovati rezerviranu velicinuˇ za kompletnu Inode stavku, te potrebnu velicinuˇ za zapis samih (meta)podataka. Prema slijedecem´ primjeru, velicinaˇ Inode strukture je 256B, a ukupna potrebna velicinaˇ za podatke je 128B (originalna velicina)ˇ + 28B (dodatna potrebna velicina),ˇ odnosno 156B. Iz tog razloga, preuzeta je ukupna velicinaˇ Inode stavke iz tablice od 256 bajta. ids@ids2 ~/LINUX_PRIMJERI $ sudo tune2fs -l /dev/sda2 /cut Inode size: 256 Required extra isize: 28 /cut Size, Little-Endian HEX, Big-Endian HEX, DEC/BIN/STRING Sigurnosne postavke, tip datoteke 2B - ED41 – 41ED - 100000111101101 ids@ids2 / $ ls -alh total 104K drwxr-xr-x 23 root root 4.0K May 17 11:25 . Prema tablici sa zastavicama i ispisu samih detalja korijenskog direktorija, moguce´ je vidjeti kako se informacije poklapaju ( Tip datoteke je Direktorij, Vlasnik ima RWX prava, Grupa ima RX prava, Ostali imaju RX prava, ostale zastavice nisu aktivirane) Donjih 16 bita korisnickogˇ ID broja (UID) vlasnika 2B - 0000 - 0000 - Donjih 32 bita broja velicineˇ datoteke u bajtima 4B - 0010 0000 - 0000 1000 Zadnje vrijeme pristupa u sekundama od referentnog vremena (vrijeme epohe Linuxa, 00:00:00 UTC 1.1.1970) 4B - B073 5359 - 5953 73B0 Zadnje vrijeme izmjene Inode stavke u sekundama od referentnog vremena 4B - ED16 1C59 - 591C 16ED Zadnje vrijeme izmjene sadržaja datoteke u sekundama od referentnog vremena 4B - ED16 1C59 - 591C 16ED Vrijeme postavljanja statusa “deleted” u sekundama od referentnog vremena 4B - 0000 0000 - 0000 0000 S obzirom da je ovdje vrijednost 0, radi se o Inodeu koji se koristi (aktivan je), odnosno datoteka na koju upucuje´ se ne smatra obrisanom Donjih 16 bita ID broja grupe (GID) 2B - 0000 - 0000

1.3. EXT4 41 TSRB_TEST Documentation, Release 1.0

Broj cvrstihˇ linkova (eng. Hard Link Count) 2B - 1700 - 0017 Vrijednost je 23, te je iz primjera vidljivo kako je stvarno stvoreno 23 cvrsteˇ poveznice (eng. hard links). ids@ids2 / $ ls -alh total 104K drwxr-xr-x 23 root root 4.0K May 17 11:25 . Donjih 32 bita broja blokova 4B - 0800 0000 - 0000 0008 Zastavice Inode stavke Inode flags. Any of: 4B - 0000 0800 - 0008 0000 Polje se poklapa sa zastavicom koja govori da Inode koristi “Extents” nacinˇ adresiranja podatkovnih blokova ( nešto kasnije o razlici izmedu¯ direktnog/indirektnog adresiranja blokova i “Extents” nacina)ˇ Podaci ovisni o operacijskom sustavu (GNU Linux, GNU Hurd, MASIX) S obzirom da se proucavaˇ datotecniˇ sustav na Linux distribuciji, gleda se Linux polje Verzija Inode stavke 4B - 2400 0000 - 0000 0024 Verzija Inode stavke (osim u slucajuˇ kad je aktivirana zastavica EA_INODE u Superblock strukturi, provjeriti službenu dokumentaciju u toj situaciji). Verzija se inkrementira za jedan prilikom svake izmjene Inode stavke. Primjer: ids@ids2 / $ ls -alh total 104K drwxr-xr-x 23 root root 4.0K May 17 11:25 . Iz primjera je vidljivo kako direktorij ima 23 cvrsteˇ poveznice (eng. hard links), te s obzirom da se pocinjeˇ sa verzijom 1, krajnja verzija je 24. PROUCITIˇ ZAŠTO BROJ ODGOVARA, A ZAPISAN JE U HEX OBLIKU ???? Mapa blokova ili Extent tree (pogledati Contents of inode.i_block) 60B - 0AF3 0100 0400 0000 0000 0000 0000 0000 0100 0000 1124 0000 0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Verzija datoteke (koristi se za NFS datotecniˇ sustav) 4B - 0000 0000 - 0000 0000 Donjih 32 bita za prošireni blok atributa (npr. ACL, access control list) 4B - 0000 0000 - 0000 0000 Gornjih 32 bita za velicinuˇ direktorija/datoteke 4B - 0000 0000 - 0000 0000 Adresa fragmenta (zastarjelo) 4B - 0000 0000 - 0000 0000 Podaci ovisni o operacijskom sustavu (GNU Linux, GNU Hurd, MASIX)

42 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

S obzirom da se proucavaˇ datotecniˇ sustav na Linux distribuciji, gleda se Linux polje 12B - 0000 0000 0000 0000 0000 0000 - 0000 0000 0000 0000 0000 0000 12B se dijele na 6 polja od po 2 bajta. 2B - Gornjih 16 bita broja blokova - 0000 2B - Gornjih 16 bita za prošireni blok atributa (npr. ACL, access control list) - 0000 2B - Gornjih 16 bita korisnickogˇ ID broja vlasnika - 0000 2B - Gornjih 16 bita ID broja grupe - 0000 2B - Donjih 16 bita Inode provjere sume - 0000 2B - Trenutno se ne koristi - 0000 Dodatna potrebna velicinaˇ Inode stavke 2B - 1C00 - 001C Potrebna dodatna velicinaˇ Inode stavke u odnosu na originalnu od 128B. 0x1C u HEX obliku je pretvoreno u DEC oblik vrijednosti 28. Znaciˇ ukupna velicinaˇ spomenutog Inodea je 128+28 = 156B. Gornjih 16 bita Inode provjere sume 2B - 0000 - 0000 Dodatni bitovi za preciznije vrijeme izmjene Inode stavke 4B - 7CBC 2CAA - AA2C BC7C Dodatni bitovi za preciznije vrijeme izmjene sadržaja datoteke 4B - 7CBC 2CAA - AA2C BC7C Dodatni bitovi za preciznije vrijeme pristupa 4B - 8C8D DAC1 - C1DA 8D8C Vrijeme stvaranja datoteke u sekundama od referentnog vremena 4B - 5C25 1459 - 5914 255C Dodatni bitovi za preciznije vrijeme stvaranja datoteke 4B - 0000 0000 - 0000 0000 Gornjih 32 bita za verziju 4B - 0000 0000 - 0000 0000 ID Projekta 4B - 0000 0000 - 0000 0000 IZRACUNIˇ Napomena: Gornji + Donji brojevi se ne zbrajaju, vec´ samo spajaju Korisnickiˇ ID broja vlasnika ( Gornji + Donji) 0000 + 0000 = 0x00000000 = 0 UID Vlasnika datoteke je 0. Prema primjeru, vlasnik direktorija je Root korisnik koji pripada Root grupi (za slijedeci´ primjer izracunˇ GID broja). ids@ids2 / $ ls -alh

1.3. EXT4 43 TSRB_TEST Documentation, Release 1.0

total 104K drwxr-xr-x 23 root root 4.0K May 17 11:25 . Provjeru UID i GID brojeva za korisnike i njihovih primarnih grupa moguce´ uvidjeti iz /etc/passwd datoteke. ids@ids2 / $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash Prva nula predstavlja UID korisnika , dok druga predstavlja GID ( referenca : https://linux.die.net/man/5/passwd) Iz primjera je vidljivo kako root korisnik ima UID i GID vrijednost 0 (što je uglavnom slucajˇ kod svih root korisnika) ID broja primarne grupe korisnika ( vlasnika direktorija) 0000 + 0000 = 0x00000000 = 0 GID Vlasnika datoteke je 0. Detaljno obrazloženje je napisano u prošlom primjeru, ovaj izracunˇ je samo potvrda. Broj blokova 0000 + 0000 0008 = 0x000000000008 = 8 Vrijednost proširenog bloka atributa (npr. ACL, access control list) 0000 + 0000 0000 = 0x000000000000 = 0 Vrijednost Inode provjere sume 0000 + 0000 = 0x00000000 = 0 Velicinaˇ datoteke u bajtima 0000 0000 + 0000 1000 = 0x0000000000001000 = 4096 Velicinaˇ datoteke je 4096B. S obzirom da je tip datoteke direktorij, to je standardna velicinaˇ za ovaj primjer. Zadnje vrijeme pristupa u sekundama od referentnog vremena 5953 73B0 = 1498641328s = 17345,386 dana Referentno vrijeme je 1.1.1970. te se tom datum trebaju zbrojiti svi dani/sati/minute i sekunde kako bi se dobilo precizno vrijeme pristupa. Zadnje vrijeme izmjene Inode stavke u sekundama od referentnog vremena 591C 16ED = 1495013101s Zadnje vrijeme izmjene sadržaja datoteke u sekundama od referentnog vremena 591C 16ED = 1495013101s Vrijeme stvaranja datoteke u sekundama od referentnog vremena 5914 255C = 1494492508s NAPOMENA : Prilikom izracunaˇ vremena, potrebno je imati na umu kako se radi o 32 bitnom broju koji može imati pozitivan/negativan predznak. Zbog podrške za predznak 2^32 ,broj 4294967296 se dijeli na pola te zapravo podržava maksimalno 2147483648 sekundi od referentnog vremena (1.1.1970.), te je granica 2038. godina kada ce´ se broj preliti u novo brojanje. Više o Unix vremenu na slijedecoj´ poveznici : https://en.wikipedia.org/wiki/Unix_time A o zanimljivom clankuˇ vezanom uz materiju na slijedecoj´ poveznici : https://www.wired.com/2001/09/ unix-tick-tocks-to-a-billion/ EXTENT TREE

44 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

60B - 0AF3 0100 0400 0000 0000 0000 0000 0000 0100 0000 1124 0000 0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Extent strukture velike su po 12 bajta, no prvih 12 bajta zauzima zaglavlje extent struktura, što znaciˇ da preostaje 4 extent struktura ( 12B*5 = 60B, ukupna velicinaˇ polja). EXTENT HEADER Carobniˇ broj 0xF30A 2B - 0AF3 - F30A Broj extent stavaka nakon zaglavlja 2B - 0100 - 0001 = 1 Ukupni broj extent stavaka koje mogu slijediti nakon zaglavlja 2B - 0400 - 0004 = 4 Dubina extent stabla 2B - 0000 - 0000 = 0 Generation ID ( ne koristi se u Ext4 sustavima) 4B - 0000 0000 - 00000000 = 0 PRVO EXTENT POLJE Broj logickogˇ bloka 4B - 0000 0000 - 00000000 Broj blokova u extentu 2B - 0100 - 0001 Gornjih 16 bitova fizickeˇ adrese bloka 2B - 0000 - 0000 Donjih 32 bita fizickeˇ adrese bloka 4B - 1124 0000 - 00002411 KRAJNJA FIZICKAˇ ADRESA BLOKA 0000 + 00002411 = 0x000000002411 = 9233 Prema izracunu,ˇ potrebno kako bi se došlo do sadržaja root direktorija, potrebno je ucitatiˇ fizickiˇ blok 9233 na da- totecnomˇ sustavu. ids@ids2 / $ sudo dd if=/dev/sda2 bs=4096 count=1 skip=9233 | xxd 0000000: 0200 0000 0c00 0102 2e00 0000 0200 0000 ...... 0000010: 0c00 0202 2e2e 0000 0b00 0000 1400 0a02 ...... 0000020: 6c6f 7374 2b66 6f75 6e64 0000 01fe 0300 lost+found...... 0000030: 0c00 0302 6269 6e00 01fd 0500 0c00 0402 . . . .bin...... 0000040: 626f 6f74 01fc 0700 0c00 0302 6465 7600 boot...... dev. 0000050: 01fa 0b00 0c00 0302 6574 6300 01f9 0d00 ...... etc. . . .. 0000060: 0c00 0402 686f 6d65 01f8 0f00 0c00 0302 . . . .home...... 0000070: 6c69 6200 01ff 0100 1000 0502 6c69 6236 lib...... lib6

1.3. EXT4 45 TSRB_TEST Documentation, Release 1.0

0000080: 3400 0000 01f7 1100 1000 0502 6d65 6469 4...... medi 0000090: 6100 0000 01f6 1300 0c00 0302 6d6e 7400 a...... mnt. 00000a0: 02fe 0300 0c00 0302 6f70 7400 02fd 0500 ...... opt. . . .. 00000b0: 0c00 0402 7072 6f63 02ff 0100 0c00 0402 . . . .proc...... 00000c0: 726f 6f74 02fc 0700 0c00 0302 7275 6e00 root...... run. 00000d0: 02fa 0b00 0c00 0402 7362 696e 02f9 0d00 ...... sbin. . . . 00000e0: 0c00 0302 7372 7600 02f8 0f00 0c00 0302 . . . .srv...... 00000f0: 7379 7300 02f7 1100 0c00 0302 746d 7000 sys...... tmp. 0000100: 02f6 1300 0c00 0302 7573 7200 03fc 0700 ...... usr. . . .. 0000110: 0c00 0302 7661 7200 0c00 0000 1400 0a07 . . . .var...... 0000120: 696e 6974 7264 2e69 6d67 0000 0d00 0000 initrd.img...... 0000130: 1000 0707 766d 6c69 6e75 7a00 82fb 1100 . . . .vmlinuz. . . .. 0000140: c40e 0702 2e63 6f6e 6669 6700 7d2d 0000 . . . ..config.}-.. 0000150: b40e 1201 2e69 736d 6f75 6e74 2d74 6573 . . . ..ismount-tes 0000160: 742d 6669 6c65 0000 0000 0000 0000 0000 t-file...... 0000170: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000180: 0000 0000 0000 0000 0000 0000 0000 0000 ...... 0000190: 0000 0000 0000 0000 0000 0000 0000 0000 ...... Slijedi ispis sadržaja korijenskog direktorija: ids@ids2 / $ ls -alhi total 104K 2 drwxr-xr-x 23 root root 4.0K Jun 30 11:43 . 2 drwxr-xr-x 23 root root 4.0K Jun 30 11:43 .. 261633 drwxr-xr-x 2 root root 4.0K May 11 11:16 bin 392449 drwxr-xr-x 3 root root 4.0K May 11 11:23 boot 1178498 drwx—— 3 root mdm 4.0K May 11 11:06 .config 3 drwxr-xr-x 14 root root 3.3K Jun 12 13:43 dev 784897 drwxr-xr-x 140 root root 12K May 17 11:34 etc 915713 drwxr-xr-x 3 root root 4.0K May 11 10:55 home 12 lrwxrwxrwx 1 root root 31 May 11 10:48 initrd.img -> /boot/initrd.img-3.16.0-4-amd64 1046529 drwxr-xr-x 22 root root 4.0K May 11 10:55 lib 130817 drwxr-xr-x 2 root root 4.0K May 11 11:14 lib64 11 drwx—— 2 root root 16K May 11 10:48 lost+found 1177345 drwxr-xr-x 2 root root 4.0K Jan 16 17:35 media 1308161 drwxr-xr-x 4 root root 4.0K Jun 12 13:43 mnt 261634 drwxr-xr-x 4 root root 4.0K Jan 16 18:05 opt

46 Chapter 1. Datotecniˇ sustavi TSRB_TEST Documentation, Release 1.0

1 dr-xr-xr-x 164 root root 0 May 12 12:22 proc 130818 drwx—— 6 root root 4.0K Jun 12 13:55 root 7458 drwxr-xr-x 29 root root 960 May 13 07:35 run 784898 drwxr-xr-x 2 root root 12K May 11 11:29 sbin 915714 drwxr-xr-x 2 root root 4.0K Jan 16 17:35 srv 1 dr-xr-xr-x 13 root root 0 May 18 12:15 sys 1177346 drwxrwxrwt 11 root root 4.0K Jul 4 11:19 tmp 1308162 drwxr-xr-x 10 root root 4.0K Jan 16 17:34 usr 523267 drwxr-xr-x 11 root root 4.0K Jan 16 18:19 var 13 lrwxrwxrwx 1 root root 27 May 11 10:48 vmlinuz -> boot/vmlinuz-3.16.0-4-amd64 Prvo što je moguce´ uocitiˇ je razlika u redoslijedu imena direktorija/datoteka izmedu¯ dva rezultata. Naredba ls ce´ sa standardnim postavkama sortirati imena po abecednom redoslijedu, dok se u samom fizickomˇ bloku imena upisuju onim redoslijedom kako su stvorene datoteke/direktoriji na datotecnomˇ sustavu.

1.3.16 Literatura: https://digital-forensics.sans.org/blog/2010/12/20/digital-forensics-understanding-ext4-part-1-extents# https://digital-forensics.sans.org/blog/2011/03/14/digital-forensics-understanding-ext4-part-2-timestamps https://digital-forensics.sans.org/blog/2011/03/28/digital-forensics-understanding-ext4-part-3-extent-trees https://digital-forensics.sans.org/blog/2011/04/08/understanding-ext4-part-4-demolition-derby https://digital-forensics.sans.org/blog/2011/08/22/understanding-ext4-part5-large-extents https://digital-forensics.sans.org/blog/2017/06/07/understanding-ext4-part-6-directories http://www.academia.edu/6303025/Digital_Forensic_Understanding_Ext4_On_the_basis_of_kevin_D_Fairbanks_ research_paper_Analysis_of_ext4_for_digital_forensic_Submitted_to_Respected_Sir_Zafar_Qasim_Advance_ Operating_System_M.E_CS_Fall_2013_By http://www.marshall.edu/forensics/files/RusbarskyKelsey_Research-Paper-Summer-2012.pdf http://www.deer-run.com/~hal/CEIC-EXT4-Bit-By-Bit.pdf http://dfrws.org/sites/default/files/session-files/pres-an_analysis_of_ext4_for_digital_forensics.pdf

1.4 NTFS

Contents:

1.4. NTFS 47 TSRB_TEST Documentation, Release 1.0

48 Chapter 1. Datotecniˇ sustavi CHAPTER 2

Predmeti

Sadržaj:

2.1 Operacijski sustavi

Contents:

2.1.1 UPUTE ZA OSNOVNO POSTAVLJANJE RACUNALAˇ

Provjeriti nalazi li se na USB pogonu potrebni direktorij sa pricuvnomˇ kopijom MBR-a za navedeni razred (u primjeru je prikazan sadržaj direktorija za 3H razred)

49 TSRB_TEST Documentation, Release 1.0

Pokrenuti batch skriptu koja pocinjeˇ sa slovom H i nastavlja sa brojem (u primjeru je H21). Racunaloˇ ce´ se automatski ponovno pokrenuti.

50 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon što se racunaloˇ ponovno pokrenulo, odabrati Hirens BootCD (unutar Other OS and Tools izbornika), te zatim odabrati Mini WindowsXP opciju. Pricekatiˇ da se ucitaˇ operacijski sustav.

Pokrenuti Network Setup aplikaciju sa radne površine, te pricekatiˇ da se instaliraju upravljackiˇ programi i pokrenu svi servisi. Na gornjem dijelu prozora se uvjeriti da je odabrana RealTek mrežna kartica, te kliknuti na Renew tipku. Proces ce´ potrajati neko vrijeme. Na donjoj lijevoj strani prozora ce´ biti prikazana poruka Ready. Klikom na tipku Info, provjeriti je li dodijeljena adresa (ili 192.168.70.xx ili 192.168.80.xx, ovisno o laboratoriju u kojem se nalazite). U slucajuˇ da nije, ponovno kliknuti na tipku Renew i provjeriti na Info sve dok ne dobijete IP adresu.

2.1. Operacijski sustavi 51 TSRB_TEST Documentation, Release 1.0

Pokrenuti komandnu liniju (ikona se nalazi na Taskbaru), te upisati tekst sa slike TEKST : net use z: \\192.168.70.252\Nastava\OS_IMAGES

52 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Pokrenuti Windows Explorer aplikaciju (ikona se nalazi na Taskbaru), te uocitiˇ da se pojavio mrežni disk sa oznakom slova Z: koji upucuje´ na mrežno dijeljeni direktorij

2.1. Operacijski sustavi 53 TSRB_TEST Documentation, Release 1.0

ZA SLIJEDECI´ KORAK POZVATI NASTAVNIKA DA PROVJERI PRIJE IZVRŠENJA OPERACIJE Prvo je potrebno formatirati v4x particiju sa slijedecim´ specifikacijama: • NTFS tip datotecnogˇ sustava • Volume label je v4x (x zamijeniti sa razredom, odnosno za trece´ razrede prilagoditi i broj) • Ukljucitiˇ opciju Quick Format U korijenskom direktoriju Z: particije kopirati direktorij Win7_W98_Image, te ga zalijepiti u korijenski direktorij prethodno formatirane v4x particije.

54 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2.1. Operacijski sustavi 55 TSRB_TEST Documentation, Release 1.0

Unutar kopiranog direktorija na v4x particiji pokrenuti GHOST32.EXE aplikaciju.

Nakon što se pokrenula Symantec Ghost aplikacija, sa tipkom enter zatvoriti pocetniˇ ekran.

56 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Zatim u izborniku odabrati opcije Local->Partition->From Image

2.1. Operacijski sustavi 57 TSRB_TEST Documentation, Release 1.0

Odabrati w98COMPLETE.GHO datoteku te potvrditi odabir sa enter tipkom

58 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U slijedecem´ prozoru ce´ se prikazati osnovne informacije particije koja se nalazi u pricuvnojˇ kopiji (FAT32 datotecniˇ sustav, ukupna velicinaˇ 258MB, zauzece´ particije 15MB, oznaka particije H18). Potvrditi sa tipkom enter.

Zatim je potrebno odabrati tvrdi disk particije na koju želimo zapisati navedenu pricuvnuˇ kopiju. Odabrati onaj tvrdi disk sa pocetnimˇ slovima u imenu ST (oznacavaˇ Seagate disk). Na slijedecoj´ slici je prikazan samo primjer izgleda prozora. Potvrditi sa tipkom enter.

2.1. Operacijski sustavi 59 TSRB_TEST Documentation, Release 1.0

Iz ponudenog¯ popisa particija, odabrati onu koja odgovara ukupnoj veliciniˇ particije iz pricuvneˇ kopije, a to je 258MB (najcešˇ ce´ prva na popisu). Potvrditi sa tipkom enter. ZA SLIJEDECI´ KORAK POZVATI NASTAVNIKA DA PROVJERI PRIJE IZVRŠENJA OPERACIJE Prije potvrde vracanja´ pricuvneˇ kopije, provjeriti sa nastavnikom jesu li prethodni koraci tocnoˇ odradeni.¯

Nakon završetka vracanja´ pricuvneˇ kopije, odabrati opciju Continue. Za vracanje´ pricuvneˇ kopije win7COMPLETE.GHO ponoviti postupak Local->Partition->From Image, te Seagate tvrdi disk, no za ciljnu particiju odabrati onu velicineˇ 20GB (najcešˇ ce´ druga na popisu) ZA SLIJEDECI´ KORAK POZVATI NASTAVNIKA DA PROVJERI PRIJE IZVRŠENJA OPERACIJE Prije potvrde vracanja´ pricuvneˇ kopije, provjeriti sa nastavnikom jesu li prethodni koraci tocnoˇ odradeni.¯ Nakon završetka vracanja´ pricuvneˇ kopije, odabrati opciju Continue i zatim Exit kako bi izašli iz aplikacije. Ponovno pokrenuti racunalo,ˇ bez prikljucenogˇ USB pogona. Odabrati Windows7 operacijski sustav u boot izborniku i pricekatiˇ ucitavanjeˇ operacijskog sustava. Prijaviti se kao korisnik strippy sa lozinkom tsrb1234. U traci za pretraživanje Start izbornika upisati Powershell, te u popisu desnim klikom miša odabrati Windows Power- shell, te odabrati opciju “Run as administrator”.

60 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Unutar PowerShell prozora naredbom Get-ExecutionPolicy provjeriti postavljenu sigurnosnu razinu, te sa Set- ExecutionPolicy Unrestricted smanjiti razinu i omoguciti´ izvršavanje skripti koje nisu potpisane digitalnim certi- fikatom. Sa slovom A odabrati Yes to All opciju i potvrditi tipkom enter. Premjestiti se u direktorij radne površine naredbom cd $env:userprofile\Desktop, te pokrenuti skriptu .\RunThis- First.ps1 (znakovi .oznacavajuˇ samo da se skripta nalazi u trenutnom direktoriju).

2.1. Operacijski sustavi 61 TSRB_TEST Documentation, Release 1.0

Pratiti upute u skripti, ime racunalaˇ treba biti mjesto radne stranice, ID laboratorija za prostoriju u kojoj se nalazite, te korisnickoˇ ime odgovara mjestu radne stanice. Racunaloˇ ce´ se automatski ponovno pokrenuti sa novim postavkama. ZAPISATI UNESENU LOZINKU. Preporuka je da lozinka bude jednaka korisnickomˇ imenu, ucenikˇ je sam odgov- oran za tocnostˇ i kasnije korištenje te lozinke.

62 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Prijaviti se kao korisnik strippy Na particiji v4x stvoriti novi direktorij Transfer.

Prema slici prekopirati navedene direktorije i datoteke sa radne površine u Transfer direktorij.

2.1. Operacijski sustavi 63 TSRB_TEST Documentation, Release 1.0

Odjaviti se i prijaviti kao novostvoreni korisnik. Sve navedene direktorije i datoteke iz Transfer direktorija prekopirati na radnu površinu. Otvoriti HOME direktorij, i uocitiˇ datoteku home.bat. Pokretanjem navedene skripte, racunaloˇ se vraca´ na HOME particiju. Ne pokretati skriptu u ovom trenutku.

Na radnoj površini uocitiˇ skriptu SPP i DOU VJEŽBE.bat. Pokretanjem navedene skripte, stvaraju se mrežni diskovi sa vezom prema mrežno dijeljenim direktorijima sa popisom laboratorijskih vježbi. Skripta je dana kao primjer, te je poželjno prilagoditi potrebama razreda.

64 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U datoteci Popis Instaliranih Aplikacija.txt nalazi se popis pocetnoˇ instaliranih aplikacija. U traci za pretraživanje Start izbornika upisati cmd, te u popisu desnim klikom miša odabrati cmd aplikaciju, te odabrati opciju “Run as administrator”.

2.1. Operacijski sustavi 65 TSRB_TEST Documentation, Release 1.0

U slucajuˇ da se otvori prozor sa iznimno malom velicinomˇ fonta, kliknuti na gornju lijevu ikonu u prozoru, odabrati opciju Properties, te izmijeniti velicinuˇ fonta na nacinˇ prikazan na slici.

66 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U novootvorenom prozoru komandne linije, upisati bcdedit te uocitiˇ description polje za Windows Legacy OS Loader. To polje je potrebno prilagoditi. Koraci izmijene su prikazani na slijedecoj´ slici.

2.1. Operacijski sustavi 67 TSRB_TEST Documentation, Release 1.0

Nakon uspješne izmjene, još jednom provjeriti postavke.

68 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U korijenskom direktoriju v4x particije stvoriti direktorij VIRTUALBOX.

Pokrenuti Virtualbox aplikaciju i odabrati opciju Mogucnosti´ .

2.1. Operacijski sustavi 69 TSRB_TEST Documentation, Release 1.0

Promijeniti zadani direktorij u kojem ce´ se spremiti svi novi virtualni strojevi, te odabrati novostvoreni direktorij.

70 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Promijeniti jezik aplikacije u engleski.

2.1. Operacijski sustavi 71 TSRB_TEST Documentation, Release 1.0

Ugasiti VirtualBox aplikaciju i cekatiˇ daljnje upute.

2.2 Prakticneˇ osnove racunalstvaˇ

Contents:

2.2.1 Laboratorijske vježbe

Contents:

2.2.1.1 LV02

Upoznavanje sa tehnickimˇ podsustavima osobnog racunalaˇ

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Išcitajteˇ i zapišite osnovne informacije o racunalnomˇ sustavu pomocu´ Control Panela - System (Upravljackaˇ plocaˇ - sustav) : • Tip i verzija operacijskog sustava • Model procesora • Kolicinaˇ radne memorije • Ime racunalaˇ

72 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2. Išcitajteˇ osnovne informacije o diskovnom podsustavu racunalaˇ pomocu´ ugradenog¯ alata Disk Management: • Broj vidljivih particija (Volume stupac) • Imena particija i pridružena slova • Velicinaˇ particija • Datotecniˇ sustav 3. Instalirajte i pokrenite programski paket Speccy. 4. Proanalizirajte i zapišite koje mogucnosti´ nudi. 5. Pomocu´ programa Speccy išcitajteˇ sljedece´ informacije: a. Koje sabirnickeˇ utore sadrži maticnaˇ plocaˇ (PCI Data kategorija)? b. Koje podatke možete išcitatiˇ o maticnojˇ ploci?,ˇ c. Zapišite oznaku i verziju BIOS-a d. Išcitajteˇ i zapišite model glavnog cipsetaˇ (Northbridge) i perifernog cipsetaˇ (Southbridge). e. Kolika je prirucnaˇ (cache) L1,L2 i L3 memorija procesora? f. Koliko jezgri sadrži procesor? g. Pronadite¯ i ukratko objasnite zašto ima 8 dretvi, a samo 4 jezgre na procesoru? h. Zašto se frekvencije rada jezgri konstantno mijenjaju, i nisu iste na svim jezgrama ? i. Išcitajteˇ i zapišite napon napajanja procesora. j. Išcitajteˇ i zapišite osnovnu brzinu glavne sabirnice. k. Kolike su temperature u sustavu? l. Koja je razlika izmedu¯ sistemske i temperature procesora? m. Koji periferni uredaji¯ su instalirani u sustavu? n. U popisu procesa ( kategorija, pronadite¯ proces Speccy aplikacije i ispišite pod kojim je korisnikom pokrenuta i koliko zauzima mjesta u radnoj memoriji? o. Išcitajteˇ i zapišite ukupni broj utora za radnu memoriju, i zauzeti broj utora. p. Išcitajteˇ i zapišite tipove i velicinuˇ memorijskih modula u sustavu. q. Na kojoj frekvenciji radi glavna (radna) memorija? r. Koje su karakteristike monitora? s. Išcitajteˇ i zapišite osnovne informacije u tvrdom disku ( velicinaˇ kucišta,´ ukupni kapacitet, brzina okretaja, podržana brzina i verzija SATA sucelja,temperatura)ˇ t. Išcitajteˇ i zapišite osnovne mrežne postavke ( adresa racunala,ˇ maska podmreže, adresa izlaza na internet - gateway, adrese DNS poslužitelja ) u. Na koju mrežnu karticu u racunaluˇ je spojena racunalnaˇ mreža laboratorija? 6. Deinstalirajte dijagnostickiˇ program Speccy. 7. Napišite izvješce´ o vježbi (elaborat) koji ce´ sadržavati: a. Postupke i opis dobivenih rezultata na laboratorijskoj vježbi. b. Sve tražene informacije o vašem racunalnomˇ sustavu (doma).

2.2. Prakticneˇ osnove racunalstvaˇ 73 TSRB_TEST Documentation, Release 1.0

2.2.1.2 LV03

Stvaranje Multiboot USB pogona

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Spojiti USB pogon sa racunalomˇ (Prvi USB port sa desne strane). Provjeriti tip datotecnogˇ sustava na prijenos- nom mediju. U slucajuˇ da nije FAT32, stvoriti datotecniˇ sustav (Format, FAT32). 2. Pokrenuti YUMI multiusb creator: a) Odabrati željenu oznaku particije za USB pogon. b) Iz ponudenog¯ popisa , odabrati Linux Mint 32bit. c) Kliknuti na Browse opciju te pronaci´ željenu Linux Mint 32bit *.ISO datoteku d) Kliknuti na Create tipku

Pojaviti ce´ se prozor sa informacijom instalacije Syslinux bootloadera na MBR USB pogona. Potvrditi klikom na tipku YES.

3. Isti postupak ponoviti za Hirens BootCD, Partition Wizard,te TinyCore. 4. Kopirati YUMI.PNG sliku u Multiboot (Replace). 5. Kopirati SRW98BIG.IMG u Multiboot direktorij.

74 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

6. Rucnoˇ dodati slijedeci´ kod u datoteku SYSTEM.CFG koja se nalazi na putanji “\multiboot\menu\system.cfg”. Tekst dodati nakon linije sa sadržajem “MENU SEPARATOR”. Obavezno ostaviti praznu liniju prije ubacivanja koda:

label unetbootindefault

menu label DOS- MS WINDOWS 98

MENU INDENT1

kernel memdisk

append initrd=/multiboot/srw98big.img

7. Ponovno pokrenuti racunaloˇ sa USB pogonom u racunaluˇ , te provjeriti ispravnost instalacije.

2.2.1.3 LV04

Upoznavanje sa diskovnim podsustavom racunalaˇ u laboratoriju

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. 2. U slucajuˇ potrebe za pristup nastavnim sadržajima, potrebno je aktivirati mrežni upravljackiˇ program, postaviti automatsko dohvacanje´ IP adresa, te pristupiti mrežnom dijeljenom direktoriju. 3. Pokrenuti HBCD menu i odabrati izbornik Programs, te zatim Partition/Boot/MBR. Unutar izbornika odabrati aplikaciju Disk Genius. Proucitiˇ sadržaj osnovna tri dijela ekrana (grafickiˇ prikaz gore, tekstualni prikaz lijevo, detaljni tekstualni prikaz dolje). 4. Koliko je uredaja¯ za pohranu podataka prikazano u aplikaciji? Zakljucitiˇ i zapisati o kojim se uredajima¯ radi. 5. Odabrati uredaj¯ USB pogona s popisa na lijevoj strani. Uocitiˇ razliku izmedu¯ prijavljene velicineˇ USB pogona (iza naziva modela) i stavke Capacity (donji dio ekrana) medu¯ detaljnim informacijama.

Important: Za domacu´ zadacu´ objasniti razlog razlike velicinaˇ te pronaci´ formulu za izracun.ˇ

6. Koji je ukupan broj sektora uredaja¯ (stavka Total sectors) ? 7. Uz pomoc´ ukupnog broja sektora i velicineˇ jednog sektora izracunatiˇ ukupan kapacitet u gigabajtima. 8. Kliknuti na particiju koja se nalazi na USB pogonu. Što se promijenilo u grafickomˇ prikazu uredaja?¯ Što oznacavaˇ zeleni okvir oko uredaja?¯ 9. Odabrati tvrdi disk sa popisa na lijevoj strani. Koja je prijavljena velicinaˇ uredaja?¯ 10. Koliko je particija prikazano na tvrdom disku? Zašto (sjetiti se dokumentacije strukture tvrdog diska tog racu-ˇ nala)? 11. Koji se tip particijske tablice koristi na tom tvrdom disku (stavka Partition table style) ? Za domacu´ zadacu´ potražiti i zapisati još barem 2 druga tipa struktura particijskih tablica.

2.2. Prakticneˇ osnove racunalstvaˇ 75 TSRB_TEST Documentation, Release 1.0

12. Odabrati H1 particiju na tvrdom disku te zapisati slijedece´ podatke o njoj : • Pocetniˇ sektor ( stavka Starting sector) • Ukupan broj sektora particije ( stavka Total sectors) • Tip datotecnogˇ sustava (stavka File system) • ID datotecnogˇ sustava (ID stupac) • Velicinuˇ particije (stavka Capacity) 13. Uz pomoc´ podataka pocetnogˇ sektora i ukupnog broja sektora particije izracunatiˇ završni sektor H1 (odnosno HOME) particije. Na što je bitno obratiti pozornost prilikom izracuna?ˇ 14. Ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Nakon ucitanogˇ operacijskog sustava na particiji HOME, pokrenuti skriptu A1. 15. Pokrenuti Disk Genius aplikaciju. Koliko je sada prikazano particija u particijskoj tablici na tvrdom disku? Zašto? Zapisati pocetneˇ i završne sektore za H3 i A1 particiju, te usporediti podatke sa dokumentacijom. 16. Zašto nisu prikazane sve particije na tvrdom disku odjednom? Koliko je moguce´ prikazati particija odjednom (pritom se uvijek misli na primarne particije)? Što se dogada¯ sa onim particijama na tvrdom disku koje nisu prikazane? 17. Pokrenuti Partition Wizard (Home Edition) aplikaciju (nalazi se u istom izborniku kao i DG aplikacija). Kako se prikazuje nealociran prostor na tvrdom disku u Disk Genius aplikaciji, a što piše u Partition Wizard aplikaciji? Koja je razlika izmedu¯ nealociranog (eng. unallocated) prostora i slobodnog (eng. free)? 18. Unutar aplikacije odabrati izbornik Disk te zatim opciju Partition recovery. U otvorenom prozoru odabrati opciju Full disk , te zatim Quick scan. Namjena ove opcije je pretraživanje izbrisanih particija na tvrdom disku.

Note: Uocitiˇ prilikom pretraživanja, kako nadene¯ particije imaju “Lost/Deleted” status. Po definiciji, bilo koja particija koja se ne nalazi u particijskoj tablici ( MBR sektor) se može smatrati izbrisanom. Pretraživanje traje izmedu¯ 5-10 minuta, za to vrijeme prodiskutirati o vezi izmedu¯ “izbrisanih” particija i doku- mentacije tvrdog diska racunalaˇ u laboratoriju.

19. Koje su sve particije nadene¯ nakon pretraživanja? Koje particije iz dokumentacije nisu pronadene?¯ Koji bi bili moguci´ razlozi za to? 20. NE vracati´ izbrisane particije, samo izaci´ iz izbornika (opcija Cancel), te izaci´ iz Partition Wizard aplikacije. 21. Ponovno pokrenuti racunaloˇ bez USB pogona, te se vratiti na HOME particiju (odabrati H3, te pokrenuti home skriptu).

2.2.1.4 LV05

Rad u Total Commander aplikaciji

Cilj vježbe: Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina.

76 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2. Pokrenuti HBCD menu i odabrati izbornik Programs, te zatim Browsers/File managers. Unutar izbornika odabrati aplikaciju Total Commander. 3. Postaviti RAMDRIVE ( B: ) aktivnu particiju na lijevom prozoru, a MULTIBOOT ( D: ) na desnom prozoru. 4. U korijenskom direktoriju D: particije stvoriti novi direktorij s imenom LV_POR. 5. Unutar LV_POR direktorija stvoriti novu datoteku s imenom razreda (bez tockeˇ iza rednog broja) i trenutne godine, a kao ekstenziju upisati tekstualni tip datoteke (npr 3C2016.txt). Spremiti praznu datoteku I izaci´ iz urediva¯ caˇ teksta. Koja je velicinaˇ datoteke? Zašto? 6. U datoteku upisati posebno u svaki red ime i prezime ucenikaˇ na radnom mjestu. Spremiti promjene i izaci´ iz datoteke. Koja je sad velicinaˇ datoteke? O cemuˇ tocnoˇ ovisi velicinaˇ datoteke? 7. Iz Total Commander aplikacije odabrati opciju pregleda sadržaja datoteke. Mogu li se vršiti izmjene nad da- totekom? Zašto? 8. Iz Total Commander aplikacije odabrati opciju za izmjenu sadržaja datoteke. Iza imena svakog ucenikaˇ dodati razred. Spremiti promjene i izaci´ iz datoteke. 9. U korijenskom direktoriju B: particije stvoriti novi direktorij pod imenom POR_PRIMJER. 10. Preimenovati POR_PRIMJER direktorij u POR_TEST. Postaviti direktorij kao radni direktorij. 11. Sa putanje X:\i386 kopirati datoteke explorer.exe, I_view32.exei direktorij INF, u odredišni direktorij POR_TEST. Dodatno u isti direktorij kopirati datoteku s imenom razreda. Potvrditi da je postupak premješ- tanja uspješno izvršen. 12. Unutar direktorija B:\INF, odabrati sve datoteke I komprimirati ih koristeci´ 7zip ugraden¯ u kontekstualni izbornik. Komprimiranu datoteku nazvati Backup_Inf. 13. Premjestiti Backup_Inf datoteku u korijenski direktorij B: particije. Obrisati sve datoteke iz B:\INF direktorija. 14. Pokrenuti komandnu liniju, te postaviti direktorij B:\POR_TEST kao radni direktorij. Raspakirati sadržaj Backup_Inf.7z datoteke u B:\POR_TEST\INF direktorij. 15. Iz Total Commander aplikacije odabrati direktorij INF , te datoteke Backup_Inf.7z i explorer.exe. Nad odabranim objektima postaviti skriveni (eng. Hidden) atribut. 16. Iz komandne linije ispisati sadržaj B:\POR_TEST direktorija. Koje su sve datoteke vidljive? Zašto? 17. Iz komandne linije iskljucitiˇ skrivene atribute svim objektima unutar B:\POR_TEST direktorija, koristeci´ “wild- card” znakove. 18. Što se dogodilo sa skrivenim atributom INF direktorija? Koje opcije je potrebno koristiti u attrib naredbi kako bi se obuhvatili I direktoriji? Skinuti skriveni atribut navedenom direktoriju Iz naredbene linije. 19. Postaviti atribut samo za citanjeˇ nad datotekom s imenom razreda. Pokušati izmijeniti sadržaj datoteke. Je li izmjena uspješno spremljena? Je li se dogodilo što drukcijeˇ u odnosu na spremanje datoteke sa pocetkaˇ ove vježbe? Može li se izmijeniti ime datoteke? Zašto? 20. U komandnoj liniji upisati naredbu za prikaz sadržaja direktorija B:\POR_TEST. Ponoviti postupak, no filtrirati izlazni rezultat upotrebom „wildcard“ znakova kako bi se prikazale samo datoteke sa “exe” ekstenzijom. 21. U komandnoj liniji ispisati sadržaj direktorija B:\POR_TEST\INF, no prikazati samo datoteke koje pocinjuˇ sa slovom “p”. 22. Ponovno pokrenuti racunaloˇ bez USB pogona, te se uvjeriti u podizanje sustava na HOME particiji.

2.2.1.5 LV06

2.2. Prakticneˇ osnove racunalstvaˇ 77 TSRB_TEST Documentation, Release 1.0

Rad u MBRWizard aplikaciji

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. 2. Pokrenuti Windows Explorer aplikaciju, odabrati USB pogon, te u njemu odabrati direktorij sa imenom razreda (2x,3x ili 4x) 3. Desnom tipkom miša odabrati MBRWiz.exe aplikaciju, te odabrati opciju Command Prompt Here. Što se dogodilo? Koji je trenutno radni direktorij u komandnoj liniji? 4. Pokrenuti mbrwiz.exe aplikaciju sa opcijom /? (pozivanje izbornika pomoci).´ Ponovno pokrenuti aplikaciju , no bez upisivanja “.exe” ekstenzije. Je li se što promijenilo? Zakljuciˇ zašto. Proucitiˇ sve opcije, a zapisati i opisati slijedece´ opcije : /List, /Disk, /Save, /Restore, /Show, /Confirm, /Shutdown, /Active, /WriteIni. Cemuˇ služi znak “#” , a cemuˇ “X” u popisu opcija? 5. Pomocu´ MBRWizard aplikacije ispisati sadržaj particijskih tablica svih uredaja¯ za pohranu. Po cemuˇ se može prepoznati da je jedan od prikazanih uredaja¯ USB pogon? Koliko particija se nalazi trenutno na tvrdom disku? Prema dokumentaciji tvrdog diska, o kojoj se particiji radi? 6. Zapisati osnovne informacije particijske tablice USB pogona (Pocetniˇ sektor, izracunatiˇ završni sektor, Boot status, tip datotecnogˇ sustava). 7. Spremiti sadržaj Master Boot Record sektora USB pogona u datoteku imena sa inicijalima ucenikaˇ vlasnika USB pogona i dodatka teksta “_USB.mbr”.

Note: Primjer : PP\_USB.mbr za ime Pero Peric´

8. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr. 9. Koje velicineˇ su spremljene datoteke? Zašto? 10. Pregledati sadržaj datoteka koristeci´ opciju /Show, te usporediti sa informacijama iz 6. zadatka. Što se može zakljuciti,ˇ odgovara li sadržaj spremljenih datoteka stvarnom stanju na uredajima?¯

Note: Primjer: mbrwiz /Show=file /Filename=h1.mbr

11. Izvaditi USB pogon, ponovno pokrenuti racunaloˇ i sa HOME particije zapocetiˇ postupak prebacivanja na A1 particiju pokretanjem a1.bat datoteke. Odmah nakon toga prikljucitiˇ USB pogon u racunaloˇ kako bi se pojavio MultiBoot izbornik. Odabrati “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. 12. Ponoviti postupak iz 5. zadatka. Koliko se sad particija nalazi u particijskoj tablici na tvrdom disku? Zašto? 13. Spremiti pricuvnuˇ kopiju A1 particije pod imenom a1.mbr u direktorij MBRWIZD na USB pogonu, koristeci´ apsolutnu putanju u /Filename opciji.

Note: Primjer: mbrwiz.exe /Disk=1 /Save=MBR /filename=C:\\IME\_RAZREDA\\MBRWiz3\\a1. mbr C: zamijeniti sa slovom USB pogona, a IME_RAZREDA sa oznakom tvojeg razreda

78 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

14. Zamijeniti sadržaj MBRa na tvrdom disku koristeci´ h1.mbr datoteku. Ponovno pokrenuti racunaloˇ bez USB pogona. Na kojoj se particiji nalazite? Zašto? 15. Ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. 16. Stvoriti datoteku sa imenom a1.bat i spremiti ju u postojeci´ direktorij MBRWiz3 na USB pogonu. 17. Upisati slijedeci´ tekst u datoteku iz 17. zadatka:

@echo off cls echo Skripta za prebacivanje na A1 particiju (H3 i A1) mbrwiz/disk=1/restore=MBR/filename=a1.mbr/confirm/shutdown=4

Spremiti datoteku. 18. Koja je funkcija /confirm i /shutdown=4 opcija? Pokrenuti datoteku a1.bat (operacijski sustav automatski prepoznaje datoteke sa *.bat ekstenzijom kao izvršne datoteke, isto kao i *.exe ili *.com) i izvaditi USB pogon iz racunala.ˇ 19. Na kojoj se particiji nalazite? Objasniti a1.bat datoteku. 20. Kopirati a1.bat datoteku u korijenski direktorij particije USB pogona i pokrenuti je. Koji je rezultat te radnje? Zašto? Što bi se moglo izmijeniti u datoteci kako bi postala funkcionalna? 21. Stvoriti datoteku sa imenom h1.bat i spremiti ju u direktorij MBRWiz3 na USB pogonu. 22. Upisati slijedeci´ tekst u datoteku iz 21. zadatka: mbrwiz /disk=1 /restore=MBR /filename=h1.mbr /confirm /shutdown=4 Spremiti datoteku. 23. Pokrenuti datoteku h1.bat i izvaditi USB pogon iz racunala.ˇ 24. Uvjeriti se da se racunaloˇ nalazi na HOME particiji, te složiti radno mjesto.

2.2.1.6 LV07

Osnove rada u TinyCore GNU/Linux distribuciji

Nove aplikacije i naredbe korištene u vježbi : pwd, ls, touch, mkdir, cp, mv, rmdir, rm, cd, file, dd, fdisk Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Linux Distributions”, te zatim “TinyCore” stavku. 2. Upisati pwd (eng. Print Working Directory) naredbu za ispis putanje radnog direktorija. Koja je putanja prikazana? Koji znak odjeljuje direktorije? Koji znak se koristi u Microsoft Windows sustavima? 3. Upisati naredbu “cd..” (eng. Change Directory, upisati bez navodnika i tocnoˇ onako kako je napisano) za prijelaz u viši direktorij u strukturi. Probati napisati “CD ..” (izmedu¯ naredbe i argumenta je razmak). Koje su poruke ispisane na ekranu nakon obje naredbe? Ponovno upisati naredbu, no ovog puta “cd ..” . Zašto su u prva dva slucajaˇ ispisane poruke o grešci?

2.2. Prakticneˇ osnove racunalstvaˇ 79 TSRB_TEST Documentation, Release 1.0

Note: U Linux distribucijama bitno je paziti na mala/velika slova prilikom poziva naredbi ili datoteka, te je bitno koristiti ispravnu sintaksu. Opcenita´ sintaksa: naredba opcija argument Primjer: dir /a c:\Windows

4. Upisati naredbu pwd. Što se promijenilo u odnosu na 2. Zadatak. 5. Ponovno upisati naredbu za prijelaz u viši direktorij i zatim za ispis radnog direktorija. Može li se prijeci´ u viši direktorij? Kako se zove direktorij iznad kojeg nema drugog direktorija, vec´ se svi iz njega granaju? 6. Upisati naredbu za izmjenu direktorija, no bez ikakvih argumenata. Je li se radni direktorij promijenio? 7. Upisati naredbu za prijelaz u korijenski (odgovor na pitanje iz 5. zadatka) direktorij koristeci´ putanju direktorija. Vratiti se u home direktorij korisnika koristeci´ punu putanju direktorija. 8. Ispisati sadržaj radnog direktorija naredbom ls (eng. List Directory Contents). Što se ispisalo? 9. Naredbom touch stvoriti praznu datoteku imena “Batman.btm”. 10. Naredbom mkdir stvoriti direktorij imena “SuperHeroji”. Ponovno ispisati sadržaj radnog direktorija. Što se promijenilo? Može li se u ispisu uocitiˇ razlika izmedu¯ datoteke i direktorija? 11. Naredbom cp kopirati datoteku Batman.btm u direktorij SuperHeroji. Provjeri uspješnost radnje. 12. Naredbom mv preimenovati datoteku Batman.btm u Hulk.avg. Istu naredbu upotrijebiti za prebacivanje u di- rektorij SuperHeroji. Zašto se može koristiti ista naredba za dvije razliciteˇ radnje? Koja je razlika izmedu¯ preimenovanja datoteke i micanja? Što se dogodilo sa originalnom Batman.btm datotekom? 13. Naredbom rm obrisati datoteku Hulk.avg. Potvrditi sa slovom “y”. 14. Naredbom rmdir pokušati obrisati direktorij SuperHeroji. Koja je poruka prikazana? Upisati istu naredbu bez ikakvih argumenata. Može li naredba obrisati direktorij koji nije prazan? 15. Naredbom rm pokušati obrisati direktorij SuperHeroji. Koja je poruka prikazana? Upisati istu naredbu bez ikakvih argumenata i proucitiˇ opcije. Saznati što znaciˇ termin “recursive”. Upotrijebiti opciju -r te ponovno pokušati obrisati direktorij. Na svako pitanje odgovoriti potvrdno. Koji su koraci naredbe prilikom brisanja direktorija? 16. Stvoriti direktorij Backup_MBR. Pokušati uci´ u direktorij upisivanjem “cd backup_mbr”. Što se dogodilo? Zašto? 17. Upisati “cd Ba”, te zatim stisnuti tipku TAB. Što se dogodilo?

Note: Tipka TAB služi za automatsko dovršavanje poznatih naredbi (one koje su definirane u putanjama sustava) ili postojecih´ datoteka/direktorija u radnom direktoriju. Ako postoji više objekata koji odgovaraju upisanom uvjetu (iz vježbe npr. Backup i Batman), dvostruskim pritiskom na tipku TAB ce´ se prikazati svi objekti koji odgovaraju uvjetu.

18. Unutar direktorija stvoriti praznu datoteku home.mbr. 19. Naredbom file pokušati saznati informacije o sadržaju datoteke home.mbr. Koji je rezultat? 20. Upisati naredbu “tce-load” , te proucitiˇ opciju “-wi”. 21. Naredbom “tce-load -wi parted” instalirati aplikaciju Parted (PARTition EDitor). 22. Pokrenuti parted aplikaciju i proucitiˇ izgled ekrana. Primijetiti promjenu u terminal promptu. Sad je aktivna ljuska od aplikacije. Pozvati pomoc´ od aplikacije prema uputama , te proucitiˇ opcije naredbe “print”.

80 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

23. Upisati naredbu “print devices”. Iz prikazanog, koji uredaj¯ je USB pogon, a koji je tvrdi disk? Prema cemuˇ je izveden zakljucak?ˇ Izaci´ iz aplikacije i primijetiti promjenu u izgledu prompta. 24. Pozvati aplikaciju “fdisk” bez argumenata te proucitiˇ opcije. Posebno obratiti pažnju na opciju “-l”. Svojim rijecimaˇ opisati svrhu opcije. 25. Upisati “fdisk -l” naredbu. Primijetiti u ispisu /dev/sda i /dev/sdb uredaje.¯ Što predstavljaju oznake sda1, odnosno sdb1? Objasniti zašto.

Note: Na Unix/Linux distribucijama, sve je prikazano kao datoteka. Cakˇ i svi uredaji.¯ Tom logikom su i tvrdi diskovi prikazani kao uredaji.¯ Svi uredaji¯ se nalaze u direktoriju /dev (eng. DEVices). /dev/sda je prvi tvrdi disk u racunaluˇ (od prvog do zadnjeg sektora, prvi sektor je MBR) /dev/sda1 je prva particija na prvom tvrdom disku (ogranicenaˇ je velicinomˇ particije, odnosno prvi sektor datoteke je boot sektor particije) Drugim rijecima,ˇ cijela sda1 datoteka je samo dio sda datoteke.

26. Stvoriti dvije prazne datoteke : HOMEbootsectfromSDX.bst i HOMEbootsectfromSDX1.bst (slovo X zamijen- iti sa slovom uredaja¯ koji predstavlja tvrdi disk na sustavu). 27. Koji je pocetniˇ sektor particije HOME? 28. Naredbom dd spremiti prvi sektor particije sda1 u datoteku HOMEbootsectfromSDX1.bst 29. Naredbom dd spremiti 64. sektor tvrdog diska sda u datoteku HOMEbootsectfromSDX.bst (s obzirom da se sektori pocinjuˇ brojati od nule, potrebno je preskocitiˇ prva 63 sektora). 30. Naredbom diff (eng. Difference) usporediti dvije datoteke. U slucajuˇ da su datoteke iste, aplikacija nece´ dati nikakav poseban rezultat. Što se dogodilo? Koji se zakljucakˇ može izvesti iz izvršenih radnji? 31. Spremiti prvi sektor tvrdog diska u datoteku home.mbr. 32. Ponovno naredbom file pokušati saznati informacije datoteke home.mbr. Ima li kakvih promjena u odnosu na 19. zadatak? Primijetiti string “MS-MBR Windows 7” (MicroSoft-MasterBootRecord , installed by Windows 7 version). Može li se išcitatiˇ struktura particijske tablice? Koliko se particija nalazi u njoj, zapisati pocetneˇ i završne sektore. O kojoj se particiji radi? 33. Naredbom file saznati informacije datoteke HOMEbootsectfromSDX.bst. Koji je tip sektora? Koji je naziv (eng. Label) particije? Radi li se o HOME particiji? DODATNI ZADACI 34. TODO DODATI JOS ZADATAKA ZA RESTORANJE HOMEA PREKO dd-a, provjere u fdisku i vracanje na home.

2.2.1.7 LV08

Rad u HxD aplikaciji

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina.

2.2. Prakticneˇ osnove racunalstvaˇ 81 TSRB_TEST Documentation, Release 1.0

2. Pomocu´ aplikacije MBRWizard spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr unutar MBRWIZ3 direktorija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa HOME particijom u tablici). 3. Izvaditi USB pogon, ponovno pokrenuti racunaloˇ i sa HOME particije zapocetiˇ postupak prebacivanja na A1 particiju. Odmah nakon toga prikljucitiˇ USB pogon u racunaloˇ kako bi se pojavio MultiBoot izbornik. Odabrati „Hiren’s Boot CD“ stavku i zatim „Mini Windows XP“ opciju. 4. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena a1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa H3 i A1 particijama u tablici). 5. Pokrenuti HBCD menu i odabrati izbornik Programs, te zatim Editors/Viewers. Unutar izbornika odabrati aplikaciju HxD. Povecati´ prozor do velicineˇ ekrana 6. U izborniku Extras odabrati opciju Open disk. Koji su svi uredaji¯ prikazani? Koja je razlika izmedu¯ kategorija „Logical disks“ i „Physical disks“? Kako su povezane te dvije kategorije? 7. Unutar kategorije „Physical disks“, može li se uocitiˇ jasna razlika izmedu¯ tvrdog diska u racunaluˇ i USB pogona? 8. Iskljucitiˇ opciju „Open as read only“, te iz popisa odabrati prvi fizickiˇ tvrdi disk u racunaluˇ (Physical disks, Hard disk 1). Otvoren je prozor sa sirovim sadržajem sektora na tvrdom disku, pocevšiˇ od prvog sektora. Koliko je bajtova zapisano u svakoj liniji (uocitiˇ da su adrese linija i bajtova u linijama zapisane u heksadecimalnom obliku). Iz izbornika „View“ odabrati opciju „Bytes per row“ te upisati prikaz od 16 bajtova po liniji. Uocitiˇ kako je automatski prikazan i broj sektora sa desne strane. 9. Što se nalazi na prvom sektoru svakog tvrdog diska? Zapisati pocetnuˇ i završnu adresu MBR podrucjaˇ tvrdog diska. Prema strukturi MBR podrucjaˇ (Master Boot Code, Partition table, Magic number 55AA) zapisati pocetnuˇ i završnu adresu svakog dijela MBR podrucja.ˇ 10. Unutar Master Boot Record podrucjaˇ pronaci´ podrucjeˇ particijske tablice, te išcitatiˇ broj particija unutar tablice. Koliki je ukupni broj primarnih particija podržanih u particijskoj tablici. Na kojoj adresi pocinjeˇ podrucjeˇ particijske tablice, a na kojoj završava? Za svaku particiju u bilježnici zapisati originalan zapis od 16B, te iz zapisa izvuci´ osnovne informacije (BootFlag, Partition type ID, Pocetniˇ LBA sektor particije, Broj sektora koje particija zauzima na disku, izracunatiˇ završni sektor particije). Primjer postupka je opisan u uputama za odradu laboratorijskih vježbi, poglavlje 6, naslov „Proucavanjeˇ prvog sektora tvrdog diska“. 11. Obrisati Master Boot Code podrucjeˇ (prvih 446B Master Boot Record podrucja),ˇ zapiši promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. 12. Prikljucitiˇ USB pogon u racunalo,ˇ ponovno ga pokrenuti, te vratiti sadržaj datoteke a1.mbr na MBR tvrdog diska (NE ZABORAVITI /DISK opciju!!). Pokrenuti HxD te se uvjeriti kako je vracen´ MBC dio u prvi sektor tvrdog diska. 13. Zamijeniti vrijednost BootFlag zastavice iz 0x80 u 0x00 na prvoj particiji, zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. 14. U HxD aplikaciji zamijeniti vrijednost BootFlag zastavice iz 0x00 u 0x80 na drugoj particiji, zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. 15. Prikljucitiˇ USB pogon u racunalo,ˇ ponovno ga pokrenuti, te u aplikaciji HxD vratiti originalne vrijednosti Boot- Flag zastavice (0x80 na prvu particiju, 0x00 na drugu). 16. U HxD aplikaciji ostaviti vrijednost BootFlag zastavice na prvoj particiji, no isprazniti ostatak sadržaja parti- cijske tablice (vrijednost 55 AA ostaviti, jer nije dio particijske tablice!). Zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. 17. Prikljucitiˇ USB pogon u racunalo,ˇ ponovno ga pokrenuti, te vratiti sadržaj datoteke a1.mbr na MBR tvrdog diska (NE ZABORAVITI /DISK opciju!!). Pokrenuti HxD te se uvjeriti kako je vracen´ originalni sadržaj u prvi sektor tvrdog diska.

82 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

18. Zamijeniti vrijednost Partition Type ID polja iz 0x0C u 0x00 na prvoj particiji, zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. 19. Vratiti vrijednost iz prošlog zadatka, no ovaj put zamijeniti vrijednost istog polja na drugoj particiji iz 0x07 u 0x00, zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Koja je razlika u poruci u odnosu na prošli zadatak? Vratiti originalnu vrijednost i zapisati promjene na tvrdi disk. 20. Obrisati sadržaj polja pocetneˇ LBA adrese ( velicinaˇ polja je 4 bajta) prve particije u tablici (H3 particija), zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Probati pokrenuti Windows 98, i Windows 7 operacijske sustave. Zapiši eventualne poruke o grešci. Vratiti originalnu vrijednost i zapisati promjene na tvrdi disk. 21. Obrisati sadržaj polja broja sektora particije ( velicinaˇ polja je 4 bajta) prve particije u tablici (H3 particija), zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Probati pokrenuti Windows 98, i Windows 7 operacijske sustave. Zapiši eventualne poruke o grešci. Vratiti originalnu vrijednost i zapisati promjene na tvrdi disk. 22. Ponoviti postupak iz 20. zadatka, no ovaj put na drugoj particiji u tablici (A1 particija). 23. Ponoviti postupak iz 21. zadatka, no ovaj put na drugoj particiji u tablici (A1 particija). 24. Zamijeniti vrijednost zadnja dva bajta u prvom sektoru (magicniˇ broj) iz 0x55AA u 0x0000 , zapisati promjene na tvrdi disk, te ponovno pokrenuti racunaloˇ bez USB pogona u njemu. Što se dogodilo? Zapiši eventualne poruke o grešci. Vratiti originalnu vrijednost i zapisati promjene na tvrdi disk. 25. U aplikaciji HxD oznacitiˇ kompletan sadržaj prvog sektora tvrdog diska,kopirati ga, te zalijepiti na 40. sektor. 26. Rucnoˇ obrisati kompletan prvi sektor ( oznacitiˇ željeni sadržaj, te koristiti opciju Fill Selection u Edit izborniku, te odabrati vec´ preporucenuˇ vrijednost 00). Ponovno pokrenuti racunaloˇ bez prikljucenogˇ USB pogona. Što se dogodilo? 27. Vratiti sadržaj iz 40. sektora u 1. sektor tvrdog diska, zapisati promjene i ponovno pokrenuti racunaloˇ bez prikljucenogˇ USB pogona. Što se dogodilo? Odabrati podizanje Windows 7 operacijskog sustava i utvrditi ispravnost. 28. U izborniku „Extras“ odabrati opciju „Open disk“, te odabrati fizickiˇ USB pogon (Physical disks, Removable disk 1). Iskljucitiˇ opciju „Open as Readonly“. 29. Nalazi li se na prvom sektoru ispravno MBR podrucjeˇ (mora sadržavati Master Boot Code, Particijsku tablicu i na kraju 55AA)? Ako je odgovor pozitivan, oznacitiˇ kompletan sadržaj prvog sektora, kopirati ga, te zalijepiti na prvi slijedeci´ prazan sektor na uredaju.¯

Note: Neki USB pogoni nemaju MBR podrucje,ˇ vec´ se na prvom sektoru nalazi Boot Sector, odnosno prvi sektor particije. Sa takvom strukturom, USB pogon nece´ biti prepoznat (od strane BIOS sustava) kao USB tvrdi disk, vec´ kao USB Floppy. Razlog tomu je što se na disketama mogla nalaziti iskljucivoˇ jedna particija, te je ona zauzimala kompletno podrucjeˇ medija. Pocetakˇ particije je bio na prvom sektoru. U tom slucajuˇ , potrebno je aplikacijom Rufus stvoriti MBR strukturu na USB pogonu (upute su na mrežno dijeljenom disku), te ponoviti postupak Yumi Multiboot instalacije.

30. OVAJ ZADATAK ODRADITI SAMO NA JEDNOM USB POGONU, samo zbog demonstracije. ZA ODRADU OVOG ZADATKA OBVEZNO JE IMATI DRUGI ISPRAVAN USB POGON. Rucnoˇ obrisati kom- pletan prvi sektor USB pogona, te ponovno pokrenuti racunaloˇ sa USB pogonom u njemu. Što se dogodilo? Pokrece´ li se MultiBoot izbornik? Zakljuciˇ zašto. Ponovno pokrenuti racunaloˇ sa drugim USB pogonom. Uci-ˇ tati Mini Windows XP sustav, te zatim ubaciti drugi USB pogon u racunalo.ˇ Pokrenuti HxD aplikaciju, te vratiti kopiju MBR podrucjaˇ na ispražnjen sektor “neispravnog” USB pogona. Provjeriti ispravnost radnje.

2.2. Prakticneˇ osnove racunalstvaˇ 83 TSRB_TEST Documentation, Release 1.0

Note: Ponekad se dogada¯ situacija da se, prilikom vracanja´ razlicitihˇ MBR podrucjaˇ pomocu´ aplikacije MBRWizard, upiše neispravna vrijednost “/Disk” opcije, te se kopija spremi na USB pogon, umjesto prvi sektor tvrdog diska. U tom slucajuˇ je dobro imati pricuvnuˇ kopiju MBR podrucjaˇ USB pogona, kako bi se uredaju¯ brzo vratila funkcionalnost. U suprotnom je potrebno ponovno stvoriti particiju na uredaju,¯ te ponoviti postupak instalacije YUMI Multiboot sustava.

31. Ponovno pokrenuti racunaloˇ sa prikljucenimˇ USB pogonom, te vratiti sadržaj datoteke h1.mbr na Master Boot Record tvrdog diska (MBRWizard aplikacija), ponovno pokrenuti racunaloˇ bez USB pogona. 32. Uvjeriti se u uspješnost podizanja Windows 98 operacijskog sustava na HOME particiji.

2.2.1.8 LV09

Rad u GNU/Linux Fdisk aplikaciji

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. 2. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa HOME particijom u tablici). 3. Pomocu´ aplikacije MBRWIZ3 ispisati popis particijskih tablica, te zapisati osnovne informacije HOME parti- cije (BootFlag, Partition type ID, Pocetniˇ LBA sektor particije, Broj sektora koje particija zauzima na disku, izracunatiˇ završni sektor particije) 4. Izvaditi USB pogon, ponovno pokrenuti racunaloˇ i sa HOME particije zapocetiˇ postupak prebacivanja na A1 particiju. Odmah nakon toga prikljucitiˇ USB pogon u racunaloˇ kako bi se pojavio MultiBoot izbornik. Odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. 5. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena a1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa H3 i A1 particijama u tablici). 6. Pomocu´ aplikacije MBRWIZ ispisati popis particijskih tablica, te zapisati osnovne informacije H3 i A1 parti- cija (BootFlag, Partition type ID, Pocetniˇ LBA sektor particije, Broj sektora koje particija zauzima na disku, izracunatiˇ završni sektor particije) 7. Ponovno pokrenuti racunaloˇ sa prikljucenimˇ USB pogonom. U “Multiboot” izborniku odabrati Linux distribu- tions, te zatim “Linux Mint” operacijski sustav 8. Pokrenuti aplikaciju Terminal (gnome-terminal). Pokrenuti novi terminal , ovaj put kao root korisnik (ALT+F2, upisati “gksu gnome-terminal”, bez navodnika). Koja je razlika izmedu¯ dva Terminal prozora? 9. Upisati u oba prozora naredbu “whoami” i uocitiˇ razliku (za pomoc´ oko aplikacije upisati “man whoami”). Zatvoriti prozor Terminala koji je pokrenut pod pravima “root” korisnika (upisati “exit”). U buducnosti´ ne koristiti Terminale ucitaneˇ sa pravima root korisnika, vec´ koristiti “sudo” aplikaciju prilikom potrebe posti- zanja prava root korisnika. 10. U terminalu proucitiˇ manual naredbe fdisk(man fdisk). Detaljno proucitiˇ DEVICES, DISK LABELS i OP- TIONS poglavlja.

84 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

11. Ispisati popis i sadržaj particijskih tablica uredaja¯ za pohranu pomocu´ fdisk naredbe. Što se dogodilo? 12. Ponoviti prošli zadatak, no ovaj puta s pravima root korisnika (naredba sudo). Koje uredaje¯ je aplikacija pre- poznala? 13. Prepoznati “device id” unutarnjeg hard diska te pokrenuti fdisk aplikaciju (s pravima root korisnika, koristiti sudo), a kao parametar navesti “device id”. Obavezno unijeti opciju za kompatibilnost sa DOS tipom operaci- jskog sustava ( -c= ).

Note: Primijetiti kako se izgled naredbenog terminala promijenio, te je sad aktivan prompt of fdisk aplikacije. U aplikaciji su dozvoljena iskljucivoˇ slova za odabir opcija (navedeno u slijedecem´ zadatku). Bitno je paziti na okolinu u kojoj se korisnik nalazi, te koristiti one mogucnosti´ koje su mu dopuštene u toj okolini. Na primjer, nije moguce´ unutar fdisk aplikacije upisati “sudo reboot”, te ocekivatiˇ ponovno pokretanje racunala.ˇ Fdisk aplikacija ce´ prepoznati iskljucivoˇ prvo slovo “s”, te aktivirati opciju koju podržava. U tom konkretnom slucaju,ˇ aktivirati ce´ se opcija “Create a new empty Sun disklabel” na MBR podrucjuˇ tvrdog diska, odnosno postici´ ce´ se neželjen efekt radnje. Bitno je paziti što se radi, te imati kontrolu nad situacijom.

14. Pozvati pomoc´ unutar aplikacije i detaljni proucitiˇ slijedece´ opcije : a, d, n, p, q, t, w. 15. Ispisati sadržaj particijske tablice hard diska. 16. Obrisati sve unose iz particijske tablice, te kreirati nove prema specifikacijama HOME particije. PROVJERITI adrese i usporediti ih sa dokumentacijom! 17. Potvrditi (zapisati) unesene promjene. Ponovno pokrenuti racunaloˇ ( sudo reboot), te izvaditi USB pogon iz racunala.ˇ Uvjeriti se kako je ucitanaˇ HOME particija. 18. Ponovno pokrenuti racunaloˇ sa prikljucenimˇ USB pogonom. U “Multiboot” izborniku odabrati Linux distribu- tions, te zatim “Linux Mint” operacijski sustav 19. U GNU/Linux fdisk aplikaciji obrisati sve unose iz particijske tablice, te kreirati nove prema specifikacijama A1 particije. PROVJERITI adrese i usporediti ih sa dokumentacijom! 20. Potvrditi (zapisati) unesene promjene. Ponovno pokrenuti racunaloˇ ( sudo reboot), te izvaditi USB pogon iz racunala.ˇ Uvjeriti se kako je ucitanaˇ A1 particija. 21. Vratiti racunaloˇ na HOME particiju.

Important: ZA DOMACU´ ZADACU´ DETALJNO PROUCITIˇ I OBJASNITI “DOS COMPATIBILITY” OPCIJU U ELABORATU. OBVEZNO NAVESTI IZVORE INFORMACIJA ( linkovi sa interneta, clanciˇ iz casopisa,ˇ knjige. . . )

2.2.1.9 LV10

Instalacija TinyCore operacijskog sustava

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina.

2.2. Prakticneˇ osnove racunalstvaˇ 85 TSRB_TEST Documentation, Release 1.0

2. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa HOME particijom u tablici). 3. Odabrati radni direktorij MBRFILE na particiji USB pogona. Pomocu´ aplikacije MBRWIZD pregledati sadržaj particijske tablice kja se nalazi u datoteci H132HBKP.mbr (/Show opcija). Zapisati osnovne informacije svih particija u tablici ( BootFlag, Partition type ID, Start Sector, izracunatiˇ završni sektor).

Note: Ime datoteke H132HBKP.mbr oznacavaˇ da se u datoteci nalazi sadržaj 3 particije (H13 + 2H + BKP)

4. Pomocu´ aplikacije MBRWIZ vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovno pokrenuti racunalo.ˇ U Multiboot izborniku odabrati “System Tools”, te zatim “Partition wizard” opciju. 5. Provjeriti informacije o particijima na tvrdom disku ( Partition Properties, Partition Info) i usporediti sa dokumentacijom iz 3. zadatka. Sadržaj se mora poklapati. 6. Ponovno stvoriti FAT32 datotecniˇ sustav (opcija Format) na H13 particiji. Kao oznaku particije (Partition label) upisati “H13” (bez navodnika). Na ostale dvije alocirane particije 2H i BKP, obje velicineˇ 20GB, treba postaviti NTFS datotecniˇ sustav. Ne zaboraviti Apply opciju kao potvrdu. 7. Provjeriti je li H13 particija aktivna ( postavljena BootFlag zastavica) i nalazi li se kod 0x0C kao oznaka da- totecnogˇ sustava na particiji. 8. Izaci´ iz Partition Wizard aplikacije (racunaloˇ ce´ se ponovno pokrenuti), odabrati “Linux Distributions”, te zatim “TinyCore” stavku. 9. Instalirati “tc-install” skriptu pomocu´ tce-load aplikacije 10. Potražiti lokaciju skripte naredbom “find / -name “tc-install.sh” (objašnjenje : aplikacija find, pretraživanje pocinjeˇ od korijenskog direktorija /, opcija pretraživanja po imenu -name, unos željenog imena kao argument stavljen pod navodnike). Koji rezultat se pojavio na ekranu? Može li se uocitiˇ lokacija datoteke? 11. Ponovno upisati liniju iz prošlog zadatka, no na kraju dodati “2>/dev/null” (ne upisivati navodnike). Je li došlo do promjene u rezultatu? Prikazuju li se poruke o grešci? Mogu li se sad išcitatiˇ lokacije datoteke “tc-install.sh”?

Note: Podrucjeˇ iz ovog zadatka ce´ biti obradeno¯ u kasnijim vježbama, no u osnovi svaka naredba koja se pokrene rezultate prikazuje na standardnom izlazu (eng. standard output, termin koji uglavnom podrazumijeva ekran zaslona). S druge strane, standardan ulaz (eng. standard input) je uglavnom tipkovnica. Logika se može povezati sa pro- gramskim jezikom C, u kojem se prije programa mora ucitatiˇ biblioteka stdio.h (#include stdio.h, odnosno STanDard Input/Output), kako bi se rezultati tog programa prikazivali na ekranu, te kako bi korisnik mogao komunicirati sa programom preko tipkovnice. No, rezultate bilo koje naredbe/aplikacije je moguce´ preusmjeriti i na neku drugu lokaciju, kao što je datoteka. U tu svrhu se koriste znakovi > (uvijek prepiši postojeci´ sadržaj datoteke sa novim ) ili >> (ostavi postojeci´ sadržaj u datoteci , te samo dodaj svježi sadržaj) Drugo podrucjeˇ koje je potrebno objasniti su dva tipa standardnog izlaza : standard output i standard error. Kao što se može išcitatiˇ iz samih imena, aplikacija odjeljuje izlazne rezultate prema standardnim porukama i porukama o grešci. Svaka poruka o grešci (npr. File not found, No permissions, Bad command. . . ) je zapravo standard error tip poruke. Pri preusmjeravanju rezultata , razlikuju se u identifikaciji brojevima, odnosno 1 oznacavaˇ standard output, a 2 standard error, što je moguce´ bolje shvatiti u slijedecim´ primjerima > izlaz.txt preusmjerava standardni izlaz u datoteku izlaz.txt 1> izlaz.txt preusmjerava standardni izlaz u datoteku izlaz.txt 2> izlaz.txt preusmjerava standardne greške u datoteku izlaz.txt

86 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

&> izlaz.txt preusmjerava standardni izlaz i standardne greške u datoteku izlaz.txt Za kraj , /dev/null je posebna vrsta datoteke u Linux sustavima koji prihvaca´ bilo kakav podatak, te ga odbaci. Može ju se smatrati kao “crna rupa” za podatke. Svaki podatak koji se preusmjerava u tu datoteku nestaje. Stoga, primjer iz zadatka “find / -name “tc-install.sh” 2>/dev/null” preusmjerava poruke o grešci u /dev/null datoteku koja odbacuje iste, te se na standardan izlaz prikazuju samo standardne uspješne poruke.

12. Postaviti /usr/local/bin kao radni direktorij (ne prepisivati sve, navikavati se na korištenje TAB tipke za auto- complete) 13. Ispisati sadržaj direktorija i pronaci´ tc-install.sh datoteku. 14. Upisati u naredbenu liniju samo tc-install.sh (ekstenzija sh oznacavaˇ kako se radi o izvršnoj skripti ljuske, odnosno SHell skripti, kao što je npr. BATch skripta u MS DOS/Windows operacijskim sustavima) 15. Ponoviti prethodni zadatak, no prije imena upisati naredbu sudo za pokretanje skripte sa root ovlastima. 16. Odabrati opciju skidanja potrebnih paketa sa interneta (opcija n) 17. Odabrati opciju instalacije 32bitne verzije operacijskog sustava (opcija 32) 18. Odabrati opciju Frugal (opcija f) za instalaciju na particiju tvrdog diska. Ostale dvije opcije se koriste za insta- laciju na USB pogon te se cijeli uredaj¯ ponovno particionira u samo jednu particiju (NE KORISTITI NIJEDNU OD TIH OPCIJA!!!) 19. Odabrati opciju za instalaciju na particiju (redni broj 2) 20. Procitatiˇ popis ponudenih¯ particija, no ne nastaviti sa odabirom, vec´ nasilno izaci´ iz skripte koristeci´ kombinaciju tipki CTRL+c 21. Pozvati aplikaciju “fdisk” sa opcijom “-l” za prikaz svih prepoznatih uredaja¯ za pohranu i particija na njima. Prema prikazanim informacijama odlucitiˇ koju oznaku ima particija od 258MB na koju ce´ se instalirati TinyCore distribucija. Provjeriti ispravnost odluke sa nastavnikom i kolegama. 22. Ponoviti radnje od 15.-19. Zadatka. U popisu particija upisati redni broj oznake koja odgovara željenoj particiji. 23. Dopustiti instalaciju bootloader programa za podizanje operacijskog sustava (opcija y). Bootloader ce´ se instali- rati u dva dijela, u Master Boot Code podrucje,ˇ te na samu particiju. 24. Kao lokaciju za dodatne pakete navesti putanju /tmp/tce 25. S obzirom da je proces postavljanja struktura datotecnihˇ sustava vec´ odraden¯ u Partition Wizard aplikaciji, odabrati redni broj opcije sa NONE nazivom. 26. Postaviti boot flag na SDA1 particiju (opcija y). 27. Prepisati žuto oznacenˇ tekst, kao dodatne opcije bootloadera. 28. Potvrditi instalaciju (opcija y) 29. Ponovno pokrenuti racunaloˇ bez USB pogona u njemu, te se uvjeriti u uspješnost instalacije operacijskog sus- tava. 30. Vratiti racunaloˇ na HOME particiju, te složiti radno mjesto.

2.2.1.10 LV11

2.2. Prakticneˇ osnove racunalstvaˇ 87 TSRB_TEST Documentation, Release 1.0

Instalacija Windows 10 operacijskog sustava

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. 2. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa HOME particijom u tablici). 3. Pomocu´ aplikacije MBRWIZ vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovno pokrenuti racunaloˇ bez USB pogona. Uvjeriti se u uspješnost pokretanja TinyCore distribucije instalirane u prethodnoj laboratorijskoj vježbi. 4. Staviti instalacijski DVD Windows 10 operacijskog sustava u DVD uredaj,te¯ ponovno pokrenuti racunalo.ˇ Pri- tiskom na bilo koju tipku potvrditi pocetakˇ instalacijskog postupka. 5. Instalaciju Windows 10 sustava izvršiti sa slijedecim´ parametrima i koracima : a. Engleski jezik, hrvatski oblik prikaza valute i vremena, standardni tip tipkovnice b. Odabrati Install now opciju c. Povrditi EULA licencne uvjete d. Odabrati CUSTOM tip instalacije (svježa instalacija Windows sustava) e. NE PROCI´ OVAJ KORAK DOK NASTAVNIK NIJE DOZVOLIO !!!!! RUCNOˇ ODABRATI 2H PARTICIJU ( 20GB ) ZA LOKACIJU INSTALACIJE !!!! f. Pricekatiˇ postupak stvaranja strukture direktorija i prebacivanja datoteka na datotecniˇ sustav 2H particije, te završetak instalacije g. Prilikom informacije “To skip disk checking, press any key within 5 second(s)”, ne dirati tipkovnicu, dopustiti da se izvrši proces provjere integriteta datotecnogˇ sustava h. Odabrati Customize opciju i. Onemoguciti´ svih 5 ponudenih¯ opcija i odabrati tipku Next j. Onemoguciti´ sve 3 opcije i odabrati tipku Next k. Ponovno onemoguciti´ sve 3 opcije i odabrati tipku Next l. Odabrati opciju “Join a local Active Directory domain” m. Korisnickoˇ ime : WSxy (trece´ radno mjesto racunalaˇ ce´ imati WS03) n. Upisati lozinku koja je jednaka korisnickomˇ imenu (paziti na mala/velika slova) o. Ne ukljucivatiˇ Cortana podsustav (Not now opcija) p. Pricekatiˇ neko vrijeme za dovršavanje instalacije q. Dopustiti otkrivenost racunalaˇ na mreži 6. Iskljucitiˇ automatsko obnavljanje zakrpa sustava (u Group Policy prozoru) 7. Prema dostupnim uputama izvršiti potrebne korake za postizanje DUAL BOOT sustava izmedu¯ TinyCore sustava na H13 particiji i Windows 10 sustava na 2H particiji

88 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

8. U korijenskom direktoriju BKP particije stvoriti direktorij imena IMAGE. Prekopirati cijeli sadržaj direktorija GHOST na USB pogonu u novostvoreni direktorij. 9. Ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. Pokrenuti aplikaciju Windows Explorer. U direktoriju IMAGE pokrenuti GHOST32.exe aplikaciju i prema uputama spremiti pricuvneˇ kopije H13 (ime H13.gho) i WIN10 (ime WIN10.gho) particija. 10. Vratiti se na HOME particiju.

2.2.1.11 LV12

Konfiguracija Windows 10 operacijskog sustava

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati „Mini Windows XP“ opciju. Nakon ucitavanjaˇ „Mini Windows XP“ sustava, pojaviti ce´ se radna površina. 2. Spremiti sadržaj Master Boot Record sektora tvrdog diska u datoteku imena h1.mbr unutar MBRWIZ3 direk- torija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da je spremljen ispravan MBR (sa HOME particijom u tablici). 3. Pomocu´ aplikacije MBRWIZ vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovno pokrenuti racunaloˇ bez USB pogona. Prijaviti se u Windows 10 operacijski sustav. 4. Uz pomoc´ BCD editora , rucnoˇ dodati stavku za TinyCore Linux distribuciju sa nazivom “TinyCore Linux”. Ponovno pokrenuti racunaloˇ i provjeriti uspješnost podizanja TinyCore Linux distribucije, te se zatim vratiti u Windows 10 operacijski sustav 5. Instalirati EasyBCD aplikaciju sa lokacije \IP_ADRESA\2h\por\appl\ 6. Pokrenuti EasyBCD aplikaciju i proucitiˇ sucelje.ˇ 7. Kopirati Hiren’s BootCD iso datoteku u korijenski direktorij BKP particije. 8. Prema dostupnim uputama dodati novu stavku u Boot izbornik Windows 10 operacijskog sustava s imenom “Hiren’s BootCD”. Ponovno pokrenuti racunaloˇ i provjeriti uspješnost podizanja Hiren’s BootCD distribucije. 9. Na radnoj površini stvoriti direktorij MBRWiz3 i u njega kopirati MBRWizard3 aplikaciju i h1.mbr datoteku.

2.2.1.12 LV13

Instalacija upravljackihˇ programa u Windows 10 operacijskom sustavu

Sve postupke, korištene naredbe i dobivene rezultate po tockamaˇ zadataka zapisivati u bilježnicu. Odgovoriti u bil- ježnicu na postavljena pitanja vezana uz ovu vježbu. Zadaci: 1. Iz HOME particije ponovno pokrenuti racunaloˇ sa prikljucenimˇ USB pogonom (prema prethodnim uputama). U Multiboot izborniku odabrati “System Tools”, te zatim “Windows 98” operacijski sustav. Volkov Commander aplikaciju pokrenuti sa “vc” naredbom.

2.2. Prakticneˇ osnove racunalstvaˇ 89 TSRB_TEST Documentation, Release 1.0

2. Pomocu´ aplikacije MBRWIZD vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovno pokrenuti racunaloˇ bez USB pogona. Odabrati Windows 7 operacijski sustav. 3. Pokrenuti “Device manager” konzolu (upisati ime u Start->Search bar) i uocitiˇ uredaje¯ sa žutim upitnikom. Što znaciˇ taj znak? DODATAK: Druga tri nacinaˇ za pristup “Device manager” konzoli su: a) Desni klik na Computer->Properties->Device manager b) Start->u Search bar upisati “devmgmt.msc” ( msc ekstenzija oznacavaˇ Microsoft Management Console Snap-in Control datoteku) c) Desni klik na Computer->Manage->Device manager 4. Spojiti mrežni kabel u racunaluˇ na donju mrežnu karticu te odabrati “WORK NETWORK” opciju prilikom upita. 5. Instalirati WINCDEmu aplikaciju (Setup datoteka nalazi se mrežno dijeljenom direktoriju, APPL poddirektorij) 6. Zapisati putanju mrežno dijeljenog direktorija na kojem se nalaze instalacijske datoteke upravljackihˇ programa (\IP_ADRESA\2h\por\appl\driveri) 7. Stvoriti novi direktorij imena DRIVERI u korijenskom direktoriju BKP particije 8. Kopirati sa mrežnog dijeljenog diska u direktorij DRIVERI datoteke : “Parallel_drivers.iso”, “Serial_drivers.iso” i “VGA_drivers.iso”. 9.U Device manager konzoli, odabrati “Properties” na “Ethernet controller” uredaju,¯ te u slijedecem´ prozoru odabrati karticu Details. U istoj kartici, u izborniku “Property” odabrati opciju “Hardware IDs”. Zapisati najdulju liniju i uocitiˇ stavke PCI,VEN,DEV, SUBSYS i REV (primjer PCI\VEN_10EC&DEV_8168&SUBSYS_76731462&REV_06). Što bi za taj uredaj¯ predstavljale stavke PCI, VEN i DEV ? 10. Raspakirati sadržaj komprimirane datoteke PCI-Z (datoteka se nalazi mrežno dijeljenom direktoriju, APPL poddirektorij) na radnu površinu (u direktorij PCI-Z). Pokrenuti izvršnu datoteku u tom direktoriju. Procitatiˇ informacije o svrsi aplikacije (Help->About PCI-Z). 11. U popisu prikazanih uredaja¯ uocitiˇ stavke sa narancastimˇ trokutom i usporediti sa popisom iz 3. zadatka. Podu- daraju li se stavke? 12. U stavci “Ethernet controller” (u PCI-Z aplikaciji) uocitiˇ stupce Vendor i Device te PCI Device. Što oz- nacavajuˇ polja VEN (VEN_10EC) i DEV (DEV_8168) u stupcu PCI Device za taj uredaj.¯ Koja tvrtka je proizvela ovaj uredaj?¯ 13.U Device manager konzoli, odabrati “Properties” na “Ethernet controller” uredaju,¯ te zatim odabrati opciju “Update driver software”. U slijedecem´ prozoru odabrati opciju rucnogˇ lociranja i instalacije upravljackogˇ programa. U lokaciju upisati punu putanju lokacije upravljackihˇ programa maticneˇ ploce,ˇ mrežni uredaj¯ i up- isati potrebnog proizvoda¯ caˇ iz popisa. Ostaviti ukljucenuˇ opciju “Include subfolders” (prilikom pretraživanja upravljackihˇ programa uredaja,¯ instalacija ce´ gledati i u svim poddirektorijima unutar zadanog) i potvrditi pre- tragu/instalaciju upravljackihˇ programa odabirom opcije “Next”. Uvjeriti se da je instalacija uspješno izvršena. 14.U citatiˇ “Serial_drivers.iso” datoteku (desni klik i Select Drive & Mount opcija) kao virtualni CD 15.U Device manager konzoli, odabrati “Properties” na prvom “PCI Serial Port” uredaju,¯ te zatim odabrati opciju “Update driver software”. U slijedecem´ prozoru odabrati opciju rucnogˇ lociranja i instalacije upravl- jackogˇ programa. Odabrati direktorij na ucitanomˇ virtualnom CD uredaju¯ koji odgovara tipu i verziji operaci- jskog sustava (Microsoft Windows 7, 64 bitni). Ostaviti ukljucenuˇ opciju “Include subfolders” i potvrditi pre- tragu/instalaciju upravljackihˇ programa odabirom opcije “Next”. Uvjeriti se da je instalacija uspješno izvršena. 16. Ponoviti postupak za drugi “PCI Serial Port” nepoznati uredaj.¯

90 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

17.U Device manager konzoli, odabrati “Properties” na “SM Bus Controller” uredaju,¯ te u slijedecem´ prozoru odabrati karticu Details. U istoj kartici, u izborniku “Property” odabrati opciju “Hardware IDs”. Zapisati stavke VEN i DEV. Pomocu´ aplikacije PCI-Z prepoznati radi li se o Chipset SMBus kontroleru ( System Management Bus), proizvoda¯ cˇ Intel (uocitiˇ znakovitost VEN polja). 18. Na mrežno dijeljenom disku pronaci´ direktorij sa upravljackimˇ programima maticneˇ ploce,ˇ tip “chipset”, proizvoda¯ cˇ Intel. U poddirektorijima rucnoˇ potražiti u svakoj “MSIinst.xml” (otvoriti u Notepad aplikaciji, pronaci´ kategoriju) liniju koja sadrži i odgovara VEN&DEV poljima iz prošlog zadatka. Iz tog direktorija pokrenuti instalacijsku datoteku “infinst_autol.exe” i potvrdno odgovoriti na sva pitanja. Na kraju instalacije dozvoliti ponovno pokretanje racunalaˇ i provjeriti ispravnost instalacije. 19. Desnim klikom na virtualni CD uredaj¯ odabrati opciju “Mount another disc image” i odabrati “Parallel_drivers.iso”. Pomocu´ aplikacije PCI-Z doznati proizvoda¯ caˇ i model kontrolera za paralelne portove, te na virtualnom CD uredaju¯ odabrati prikladan direktorij (Proizvoda¯ c,ˇ model, verzija i tip operacijskog sustava) i pokrenuti “MOSCHIP_Setup.exe” instalacijsku datoteku. Nakon završene instalacije provjeriti promjenu u Device manager konzoli. Ako nema promjena, odabrati opciju “Scan for hardware changes” u “Action” izborniku. Ima li promjena? 20. Pomocu´ aplikacije PCI-Z uocitiˇ zadnji uredaj¯ koji nema instaliran upravljackiˇ program, te saznati proizvoda¯ caˇ i model (Intel Management Engine Interface Controller). U Device manager konzoli, odabrati “Properties” na “PCI Simple Communications Controller” uredaju,¯ te zatim odabrati opciju “Update driver software”. U slijedecem´ prozoru odabrati opciju rucnogˇ lociranja i instalacije upravljackogˇ programa. U lokaciju upisati punu putanju lokacije upravljackihˇ programa maticneˇ ploce,ˇ “OtherDriver” i odabrati “Intel ME Driver” direktorij. Ostaviti ukljucenuˇ opciju “Include subfolders” i potvrditi pretragu/instalaciju upravljackihˇ programa odabirom opcije “Next”. Uvjeriti se da je instalacija uspješno izvršena. 21. Desnim klikom na virtualni CD uredaj¯ odabrati opciju “Mount another disc image” i odabrati “VGA_drivers.iso”. Pokrenuti “Launch.exe” datoteku, te odabrati Ati Easy Install opciju ( Windows 7 op- eracijski sustav). Odabrati Custom instalaciju ( dozvoliti stvaranje direktorija), te od svih odabranih opcija za instalaciju iskljucitiˇ “Catalyst Control Center 2”, ostale opcije ostaviti. Na kraju instalacije dozvoliti ponovno pokretanje racunalaˇ i provjeriti ispravnost instalacije. Je li rezolucija monitora promijenjena? 22. Ponovno pokrenuti racunaloˇ i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati “Mini Windows XP” opciju. Nakon ucitavanjaˇ “Mini Windows XP” sustava, pojaviti ce´ se radna površina. Pokrenuti aplikaciju Windows Explorer. U direktoriju IMAGE pokrenuti GHOST32.exe aplikaciju i prema uputama spremiti pricuvneˇ kopije H13 (ime H13appl.gho) i WIN7 (ime WIN7appl.gho) particija. 23. Vratiti se na HOME particiju uz pomoc´ skripte iz prošle laboratorijske vježbe (potrebno je pokrenuti skriptu iz Windows98 operacijskog sustava na H13 particiji).

2.2.2 Upute za vježbe

Contents:

2.2.2.1 Upute za kucno´ korištenje laboratorijskih vježbi

Potrebni programski alati i ostalo: VirtualBox (https://www.virtualbox.org/wiki/Downloads) Virtual Machine USB Boot (https://github.com/DavidBrenner3/VMUB/releases) Ispravan i konfiguriran Multiboot USB pogon prema uputama (tema Stvaranje Multiboot USB pogona) Potrebno je sa službene stranice skinuti posljednju verziju aplikacije VirtualBox, te ju instalirati na racunalo.ˇ Mogu se potvrditi preporuceneˇ opcije za vrijeme instalacije. Zatim je potrebno skinuti posljednju verziju VMUSB aplikacije sa

2.2. Prakticneˇ osnove racunalstvaˇ 91 TSRB_TEST Documentation, Release 1.0 navedene poveznice. Poželjno je skinuti x64 verziju (ako je kucni´ operacijski sustav 64bit), no ovisno o želji korisnika, može se skinuti Portable ili Setup verzija aplikacije. Portable verziju nije potrebno instalirati na racunalo,ˇ vec´ se može samo pokrenuti. Preporuka je skinuti Setup verziju, te ju instalirati. Nakon što je VirtualBox aplikacije uspješno instalirana, provjeriti ispravnost pokretanja aplikacije (aplikacija ce´ možda tražiti administratorske ovlasti, dozvoliti zahtjev). Prije korištenja USB pogona za podizanje sustava, treba stvoriti novi virtualni stroj. 1. Unutar VirtualBox aplikacije, odabrati opciju NEW :

2. Upisati ime novog virtualnog stroja, te pod tip i verziju operacijskog sustava ostaviti predloženu vrijednost (kao prema slici). Postaviti minimalno 512MB radne memorije, dok je preporucenoˇ staviti barem 2048MB. Imati na umu ukupnu i raspoloživu kolicinuˇ radne memorije. Odabrati opciju stvaranja novog virtualnog tvrdog diska, te kliknuti Create.

3. U slijedecem´ prozoru upisati ime virtualnog tvrdog diska, gdje je poželjno oznacitiˇ prvim rednim brojem na kraju (kao na slici), s obzirom da ce´ se kasnije stvarati dodatni diskovi. Odabrati velicinuˇ virtualnog diska od 30GB, te ostaviti preporuceneˇ opcije od VDI tip diska i Dynamically allocated. Na kraju kliknuti na tipku Create.

92 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

4. Virtualni stroj ce´ u ovom trenutku biti stvoren. Poželjno je dodati još jedan virtualni tvrdi disk te je za to potrebno odabrati postavke stvorenog stroja. Desnim klikom miša na ime stroja, i odabrati Settings:

5. Odabrati kategoriju Storage, odabrati opciju „Adds hard disk“, te zatim „Create“ (Create disk image) :

2.2. Prakticneˇ osnove racunalstvaˇ 93 TSRB_TEST Documentation, Release 1.0

6. Odabrati VDI tip diska i kliknuti na Next tipku.

7. Procitatiˇ razlike izmedu¯ dinamickeˇ i fiksne alokacije virtualnog tvrdog diska, te odabrati opciju Dynamically allocated . Dinamickaˇ alokacija je uglavnom dovoljna i predstavlja optimalan omjer zauzetosti prostora i per- formansi. Kliknuti na Next tipku.

94 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

8. Upisati ime i velicinuˇ diska kao prema slici, te kliknuti na tipku Create.

9. U popisu, pod grupom Not Attached, odabrati novostvoreni disk LAB_VDI_2.vdi, te kliknuti na tipku Choose.

2.2. Prakticneˇ osnove racunalstvaˇ 95 TSRB_TEST Documentation, Release 1.0

10. U otvorenom prozoru posložiti poredak diskova na slijedeci´ nacin:ˇ • SATA0 port mora biti prazan • SATA1 - LAB_VDI_1.vdi • SATA2 - LAB_VDI_2.vdi • SATA3 - Optickiˇ disk (Empty)

96 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

11. Ugasiti VirtualBox aplikaciju. Pripremljeni USB pogon povezati na racunalo,ˇ te pokrenuti Virtual Machine USB Boot aplikaciju. Kliknuti na tipku Options, te zatim na karticu VirtualBox. Kao prema slici dodati VM u putanji i kliknuti na OK.

12. Odabrati opciju Add te izvršiti konfiguraciju sa odabranim imenom stvorenog virtualnog stroja odabirom USB pogona. Potvrditi sa OK.

2.2. Prakticneˇ osnove racunalstvaˇ 97 TSRB_TEST Documentation, Release 1.0

13. U glavnom prozoru kliknuti na Start. Nakon pokretanja virtualnog stroja trebao bi se pojaviti MultiBoot izbornik.

Nakon što se Multiboot izbornik pojavio, odabrati podizbornik “System Tools” i zatim “Partition Wizard”. Pricekatiˇ pokretanje Partition Wizard aplikacije. U aplikaciji se prikazuju 3 tvrda diska sa standardnim (Basic) particijskim tablicama, od koji je jedan USB pogon, dok su ostala dva prethodno stvorena prilikom konfiguracije virtualnog stroja (ako su prethodno pracene´ upute, diskovi bi se trebali razlikovati u velicini).ˇ Za pocetakˇ potrebno je stvoriti nove particije za daljnje korištenje sa slijedecom´ namjenom : • Disk1 za operacijske sustave (Dual boot)

98 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

• Disk2 za podatke korisnika Na prvi disk desnom tipkom miša kliknuti na nealocirani prostor te odabrati opciju Create. Na slijedecoj´ slici prikazane su sve mogucnosti´ odabira opcije Create, no zbog jednostavnosti korištenja, poželjno je odabrati jednu metodu i koristiti samo nju.

U slijedecem´ koraku odabrati tip particije kao primarnu, FAT32 datotecniˇ sustav, oznaku particije, te velicinuˇ od 259MB. Sve ostale opcije ostaviti kao zadane i potvrditi na OK tipku.

Isti proces ucinitiˇ za drugu particiju na tom disku (WIN7 oznaka), i trecu´ (jedinu na disku) particiju sa slijedecim´ napomenama: • Odabrati NTFS datotecneˇ sustave • Koristiti zadane vrijednosti velicineˇ particije (ne mijenjati vrijednosti) • Trecoj´ particiji kao oznaku upisati prezime ucenikaˇ i pripadajuci´ razred (bez tockeˇ iza broja razreda) Primjer postavki prikazan je u slijedece´ dvije slike:

2.2. Prakticneˇ osnove racunalstvaˇ 99 TSRB_TEST Documentation, Release 1.0

Nakon izvršenog procesa trebala bi se pokazati slijedeca´ struktura particija na diskovima

Iako su se odabrale postavke, proces stvaranja particija još nije zapoceoˇ vec´ se samo postavio kao zadatak cijeˇ je izvršavanje potrebno potvrditi sa opcijom Apply. Još jednom provjeriti postavke i usporediti sa prethodnom dokumentacijom prije potvrde izvršavanja zadataka!

100 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon što su stvorene particije i postavljeni datotecniˇ sustavi na njih, kako bi se operacijski sustav nakon instalacije mogao podici,´ bitno je oznacitiˇ jednu particiju kao aktivnu (dodatni termini su Bootable, Active Bootflag partition). Radi se o izmjeni jednog bajta podataka u stavci particijske tablice, koji oznacavaˇ status zastavice. Poznat je pod terminom Bootflag (Bootable Flag). Potrebno je kliknuti desnom tipkom miša na WIN98 particiju, odabrati izbornik Modify, te Set Active opciju.

Dodatno na istoj particiji, potrebno je izmijeniti tip FAT32 particije, koji mijenja metodu na koji nacinˇ ce´ operacijski sustav adresirati tu particiju (CHS ili LBA metoda, proucitiˇ detaljnije na Internetu). Ukratko, CHS metoda se prva koristila u starijim operacijskim sustavima kako bi se adresirala neka particija, no ima ogranicenjeˇ gdje se particijama iznad 8-og gigabajta na disku nece´ moci´ pristupiti. U tu svrhu je osmišljen LBA nacinˇ adresiranja, no bitno je koristiti i operacijski sustav koji podržava tu metodu (MS- DOS do verzije 6.22 i osnovna verzija Windows95 nemaju podršku za LBA). S obzirom da se u ovim primjerima

2.2. Prakticneˇ osnove racunalstvaˇ 101 TSRB_TEST Documentation, Release 1.0

koriste operacijski sustavi sa podrškom za LBA, dobro je prilagoditi postavke u informacijama o particiji. Potrebno je kliknuti desnom tipkom miša na WIN98 particiju, odabrati izbornik Modify, te Change Partition Type ID opciju. U otvorenom prozoru iz padajuceg´ izbornika odabrati opciju prikazanu na slici:

Još jednom potvrditi izvršavanje zadataka sa Apply opcijom. U slucajuˇ potrebe generiranja novog cistogˇ datotecnogˇ sustava na definiranoj particiji, koristi se opcija Format. Potrebno je kliknuti desnom tipkom miša na ciljanu particiju, odabrati opciju Format, te u prozoru upisati novu oznaku particije, datotecniˇ sustav te velicinuˇ klastera (koju je uglavnom dovoljno ostaviti kao zadanu vrijednost).

Do osnovnih informacija o particiji može se doci´ desnim klikom na željenu particiju, opcija Properties, te na kraju kartica Partition Info. Na slici je je prikazan primjer informacija o stvorenoj WIN7 particiji:

102 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Može se primijetiti Partition Type ID sa vrijednošcu´ 0x07 (primijetiti nacinˇ heksadecimalnog zapisa, cestoˇ se ispred vrijednosti dodaje 0x), što oznacavaˇ kako bi se trebao nalaziti NTFS datotecniˇ sustav na njoj. Dodatno se mogu primijetiti pocetniˇ sektor particije (Start LBA sektor, objašnjen kasnije u dokumentu), te njen završni sektor na tvrdom disku. Za vježbu provjeriti osnovne informacije WIN98 particije, te uocitiˇ vezu izmedu¯ završnog sektora WIN98 particije i pocetnogˇ sektora WIN7 particije. Koji zakljucakˇ se može dovesti? Kad je završen rad sa aplikacijom Partition Wizard, može se iz izbornika General odabrati opcija Exit, ili jednostavno kliknuti na X ikonu u gornjem desnom dijelu ekrana. Aplikacija ce´ se ugasiti i racunaloˇ ponovno pokrenuti.

2.2.2.2 Razne greške i rješenja za Virtualbox

U ovom dokumentu bit ce´ navedene razne moguce´ greške prilikom rada sa Virtualbox aplikacijom, te ponudena¯ rješenja. Prije kontaktiranja nastavnika za pomoc,´ svakako je potrebno proci´ kroz ovaj popis te pokušati samostalno riješiti problem. U slucajuˇ da se Vaš problem ne nalazi na popisu, kontaktirati nastavnika sa detaljnim opisom problema i priloženom informativnom slikom (dakle, jasan prikaz problema, i prikazani detalji greške). Prije samog popisa grešaka, uvjerite se da Virtualbox sustav (za laboratorijske vježbe) koristite na ispravan nacinˇ i to: A) Ako se želi koristiti Multiboot USB, obvezno pokrenuti virtualni stroj sa Virtual Machine USB Boot aplikacijom. Virtualbox aplikacija mora biti ugašena prije toga.

B) Ako se virtualni stroj želi pokrenuti bez Multiboot USB, nego podici´ sustav sa virtualnog diska, mora se maknuti VMUBDrive000.vmdk sa popisa u Storage kategoriji (Settings od virtualnog stroja). Popis grešaka: Error1

2.2. Prakticneˇ osnove racunalstvaˇ 103 TSRB_TEST Documentation, Release 1.0

Na poveznici1 se nalazi rješenje Errori 2,3 i 4

104 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2.2. Prakticneˇ osnove racunalstvaˇ 105 TSRB_TEST Documentation, Release 1.0

Potrebno je zamijeniti Filesystem ID na particiji USB sticka iz 0B u 0C, javiti se nastavniku. Error 5

Virtualni stroj koji je prethodno uvezen (imported) je samo izbrisan iz inventara Virtualboxa. Ili otici´ na Machine-

106 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

>Add te odabrati *.vbox datoteku (iz tog direktorija) ili obrisati cijeli direktorij tog virtualnog stroja i ponovno proci´ proces uvoženja (import). Error6

Vrlo vjerojatno virtualni stroj nije pokrenut preko VMUB (za USB multiboot), nego iz Virtualboxa. Pokrenuti stroj preko VMUB prema uputama. Errori 7 i 8

2.2. Prakticneˇ osnove racunalstvaˇ 107 TSRB_TEST Documentation, Release 1.0

U BIOS/UEFI nije aktivirana opcija za nativnu podršku virtualizacije (uvjet za 64bitne virtualne strojeve te Virtualbox od 6.1 verzije), AMD-V za AMD procesore, VT-x za Intel procesore. Ako je moguce,´ u BIOS/UEFI aktivirati te opcije. Ako iz nekog razloga to nije moguce´ napraviti, instalirati stariju verziju Virtualboxa (recimo 6.0.x) i koristiti 32bitne virtualne strojeve. Errori 9, 10 i 11

108 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Jedan modul se nije uspio ucitati.ˇ Pratiti poruku te u komandnoj liniji upisati “sc.exe query vboxdrv”. Ako je STATE: 3 STOP_PENDING, pokušati rucnoˇ instalirati modul: • C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\ (Ili gdje je vec´ instaliran Virtual- box, no svakako je poželjno instalirati ga na defaultnu aplikaciju za pocetak)ˇ • Desni klik na VBoxDrv.inf i odabrati Install • U komandnoj liniji upisati “sc start vboxdrv” • U slucajuˇ greške “An instance of the service is already running”, ponovno pokrenuti racunaloˇ i otvoriti ko- mandnu liniju te upisati “sc.exe query vboxdrv”. Odgovor bi trebao biti “STATE: 4 RUNNING”. Error 12

Ovaj error je dosta opcenit´ i razlicitiˇ su razlozi, no uglavnom je vezano za to da neke aplikacije pokušavaju pristupiti modulima od Virtualboxa ( npr. Antivirusi). Na slijedecim´ linkovima se nalaze savjeti za pristup dijagnostici , te moguca´ rješenja. https://forums.virtualbox.org/viewtopic.php?f=25&t=82106 https://windowsreport.com/virtualbox-error-supr3hardenedwinrespawn/

2.2. Prakticneˇ osnove racunalstvaˇ 109 TSRB_TEST Documentation, Release 1.0

Error 13

Opis problema i rješenja se nalaze na slijedecem´ linku. https://github.com/DavidBrenner3/VMUB/issues/6 Error 14

SATA0 port virtualnog stroja mora biti prazan prije pokretanja preko VMUB aplikacije. Virtualbox- >Settings->Storage, te razmjestiti uredaje¯ tako da SATA0 bude prazan. Error 15

110 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Vrlo vjerojatno datoteka nije ispravno preuzeta. Pokušati ponovno preuzeti datoteku i uvesti (import) ju. Error 16

2.2. Prakticneˇ osnove racunalstvaˇ 111 TSRB_TEST Documentation, Release 1.0

Virtualni stroj se pokrece´ iz Virtualboxa, dok je prethodno vec´ bio pokretan preko VMUB aplikacije (sa prikljucenimˇ USBom). Pokrenuti virtualni stroj preko VMUB sa prikljucenimˇ USBom.

2.2.2.3 Upute za instalaciju VirtualBox Guest Tools paketa

U ovom dokumentu bit ce´ navedeni koraci za instalaciju Virtualbox Guest Additions paketa. Radi se o paketu up- ravljackihˇ programa i sistemskih aplikacija koje optimiziraju virtualni operacijski sustav u svrhu vecih´ performansi i boljeg korisnickogˇ iskustva. Neke od dodatnih znacajkiˇ su: • automatska promjena velicineˇ prozora aplikacije (i prilagodba rezolucije) • dijeljeni meduspremnik¯ izmedu¯ domacina´ i gosta (prijenos teksta i datoteka) • „drag’n’drop“ opcija Za instalaciju Guest Additions paketa, potrebno je pokrenuti virtualni stroj i pricekatiˇ da se ucitaˇ operacijski sustav. Zatim u izborniku Devices odabrati opciju „Insert Guest Additions CD image“.

112 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Ako je ukljucenaˇ autoplay opcija, trebao bi se pojaviti skocniˇ prozor u kutu ekrana. Potrebno je kliknuti na njega i zatim odabrati opciju „Run VBoxWindowsAdditions.exe“

U slucajuˇ da je ukljucenaˇ sigurnosna opcija „User Account Control“, potrebno je dozvoliti izvršavanje instalacije navedenog paketa.

2.2. Prakticneˇ osnove racunalstvaˇ 113 TSRB_TEST Documentation, Release 1.0

U procesu instalacije dovoljno je prihvatiti vec´ preporuceneˇ postavke i samo prolaziti kroz postupak.

114 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Prilikom instalacije pojaviti ce´ se upit dozvoljava li korisnik instalaciju upravljackogˇ programa. Ukljucitiˇ opciju „Always trust software from Oracle Corporation“ (opcija nije nužna, no olakšava eventualne kasnije nadogradnje aplikacije), te potvrdno odgovoriti na upit.

2.2. Prakticneˇ osnove racunalstvaˇ 115 TSRB_TEST Documentation, Release 1.0

Kako bi instalirani paketi bili aktivirani, potrebno je ponovno pokrenuti racunalo.ˇ Potvrdno odgovoriti na upit.

Za provjeru ispravnosti instalacije, nakon što se ucitaoˇ operacijski sustav, prvo pokušati rucnoˇ promijeniti velicinuˇ prozora i uocitiˇ rezultat. U slucajuˇ da se velicinaˇ i rezolucija virtualnog sustava nisu automatski prilagodile, provjeriti opciju „Auto-Resize Guest Display“ unutar View izbornika. Opcija mora biti aktivna (prikazana je kvacicaˇ uz opciju).

Slijedeci´ korak je pokušati neki kratak niz znakova zapisati u meduspremnik¯ unutar domacinskog´ operacijskog sustava (odabrati tekst i kopirati ga). Unutar virtualnog operacijskog sustava pokrenuti tekstualni editor (npr. Notepad za Windows operacijske sustave), te pokušati zalijepiti tekst. U slucajuˇ da se ništa nije dogodilo, provjeriti je li opcija Bidirectional Shared Clipboard unutar izbornika Devices aktivna. Po potrebi aktivirati opciju.

116 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Opcija „Drag’n’Drop“ u kombinaciji Windows domacina´ i Windows gosta je problematicnaˇ i nestabilna, te nije poželjno premještati datoteke koristeci´ tu metodu. Za takvu potrebu, dovoljno dobro rješenje je koristiti dijeljeni direktorij izmedu¯ virtualnog stroja i domacina.´ U postavkama željenog virtualnog stroja potrebno je odabrati izbornik „Shared folders“, te kliknuti na opciju „Adds a new shared folder“.

U slijedecem´ koraku je potrebno na domacinu´ stvoriti novi direktorij, ili koristiti neki postojeci.´ U ovom slucajuˇ ce´ se koristiti Desktop direktorij trenutno prijavljenog korisnika. U novom prozoru je potrebno odabrati direktorij za dijeljenje, te odabrati neke od dodatnih opcija: • Read-only (korisnik unutar virtualnog racunalaˇ nece´ moci´ raditi izmjene na direktoriju) • Auto-mount (direktorij ce´ se automatski povezati i prikazati u Windows exploreru) • Make permanent (direktorij ce´ ostati dijeljen i nakon gašenja te ponovnog paljenja virtualnog stroja)

2.2. Prakticneˇ osnove racunalstvaˇ 117 TSRB_TEST Documentation, Release 1.0

Ovisno o odabranim opcijama, dijeljeni direktorij ce´ se prikazati u kategoriji Machine Folders ili Transient folders, odnosno ne radi se o nikakvim posebnim kategorijama, vec´ razlicitimˇ setom opcija. Pojednostavljeno, Machine folder ce´ ostati trajno dijeljen sa virtualnim strojem (opcija Make Permanent), dok ce´ Transient folder prestati biti dijeljen nakon gašenja virtualnog stroja.

2.2.2.4 Upute za tipove virtualnih mreža u VirtualBox sustavu

Virtualbox nudi podršku za razne nacineˇ mrežnog povezivanja virtualnih strojeva sa ostatkom infrastrukture. Za svako virtualno racunaloˇ nudi se do 8 mrežnih prikljucaka,ˇ od kojih se 4 može konfigurirati direktno kroz grafickoˇ sucelje,ˇ a ostale uz pomoc´ komandne linije. To znaciˇ da svako racunaloˇ može biti povezano sa 8 razlicitihˇ mreža. Za potrebe tzv. “home lab” (kucni´ laboratorij) infrastrukture, rijetko je potrebno koristiti više od 4 prikljucaka.ˇ Najcešˇ ce´ su situacije gdje je virtualni stroj povezan na samo jednu mrežu, ili 2-4 ako taj stroj ima funkciju usmjernika. Prije opisa razlicitihˇ nacinaˇ mrežnog povezivanja, potrebno je objasniti osnovnu strukturu vizualizacije slijedecih´ primjera. Unutar plavog okvira nalaze se sve hardverske i softverske komponente koje tvore racunaloˇ sa podrškom za virtualizaciju. To racunaloˇ je mrežnom karticom povezano na neki oblik mreže (ili direktno na kucni´ usmjernik, ili unutar neke kompleksnije mrežne infrastrukture). Unutar crvenog okvira nalaze se operacijski sustav domacina´ (eng. Host OS, onaj operacijski sustav koji se instalira direktno na hardver racunala),ˇ neka aplikacija za podršku virtualizacije (npr. Oracle VirtualBox ili VMWare Player/Workstation), te na kraju sami virtualni strojevi. Jako je bitno zapamtiti kako su svi virtualni strojevi, iako djeluju kao nezavisna racunala,ˇ zapravo pokrenuti kao procesi unutar domacinskog´ operacijskog sustava. Svu komunikaciju sa hardverom fizickogˇ racunalaˇ ili vanjskim svijetom održavaju iskljucivoˇ preko tog domacinskog´ sustava.

118 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Na slijedecoj´ slici nalazi se popis svih nacinaˇ mrežnog povezivanja: • Not attached • NAT • NAT Network • Bridged Adapter • Internal Network • Host-only Adapter • Generic Driver

Dva su nacinaˇ koja nece´ biti detaljnije objašnjena: Not Attached i Generic Driver. “Not Attached” je stanje gdje je instalirana virtualna mrežna kartica na stroj, no simulira se stanje u kojem nije “prikljucen”ˇ mrežni kabel na tu karticu. Generic Driver, odnosno Generic Networking, je rijetko korištena opcija koja omogucava´ povezivanje virtualnih stro- jeva na razlicitimˇ domacinima´ (eng. Host computer). Veze je moguce´ ostvariti ili preko UDP tunela ili koristeci´ VDE

2.2. Prakticneˇ osnove racunalstvaˇ 119 TSRB_TEST Documentation, Release 1.0

(eng. Virtual Distributed Ethernet) distribuiranu mrežu preko ethernet protokola. Ovaj nacinˇ povezivanja nece´ biti ob- jašnjen jer je slabo dokumentiran, nalazi se samo u izvornom kodu aplikacije (potrebno je posebno kompilirati kod), te je predviden¯ samo za Linux ili Unix sustave. Bridged Adapter U ovom nacinuˇ povezivanja, mrežne kartice (virtualne) virtualnih strojeva povezane su na virtualni preklopnik, koji je pak povezan na odabranu fizickuˇ mrežnu karticu racunala.ˇ Virtualni preklopnik nije moguce´ konfigurirati (nema podršku za razliciteˇ VLAN mreže), te se automatski stvara po potrebi prilikom konfiguracije nekog zasebnog mrežnog segmenta (npr. stvaranje veceg´ broja internih mreža, opisana kasnije u dokumentu). Naziv Bridged dolazi od aso- cijacije stvaranja neke vrste mosta izmedu¯ virtualnih strojeva i fizickeˇ mrežne infrastrukture. Virtualni strojevi su u ovakvom nacinuˇ rada, gledajuci´ sa aspekta mrežne topologije, jednaki kao i sva ostala fizickaˇ racunalaˇ u mreži, nema nikakve razlike. Ako postoji neki poslužitelj koji dodjeljuje adrese, njima ce´ se isto dodijeliti neka adresa iz te mreže. Isto tako može biti obrnuta situacija, na virtualnim strojevima može biti takav poslužitelj koji ce´ dodijeljivati IP adrese svima povezanima u tu mrežu.

Naravno, veza izmedu¯ virtualnog preklopnika i fizickeˇ mrežne nije u obliku žice koja je nekako prikljucenaˇ na fizickiˇ sklop, vec´ se radi o softverskoj implementaciji gdje se preklopnik „zakaci“ˇ (eng. hooks) na upravljackiˇ program (eng. driver) mrežne kartice. Ako se pogledaju postavke upravljackogˇ programa mrežne kartice domacina,´ može se uocitiˇ dodatno instaliran modul „VirtualBox NDIS6 Bridged Networking driver“ .

120 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

NAT Ovaj tip povezivanja je najlakše opisati primjerom u svakodnevnom životu. Visok postotak korisnika koji koriste kucni´ internet su na njega povezani preko usmjernika (eng. Router) koji im je dodijeljen od strane pružatelja usluga. Takvi uredaji¯ uglavnom u sebi imaju integriranu podršku za WiFi (podrška za bežicnoˇ povezivanje), mini preklopnik (uglavnom 4 ethernet uticnica).ˇ No, ono što je bitno je nacinˇ na koji taj usmjernik omogucava´ korisniku korištenje interneta. Ne ulazeci´ previše u tehnickeˇ detalje, NAT (eng. Network Address Translation) tehnologija omogucava´ da jedno ili više racunalaˇ ima pristup internetu koristeci´ jednu javnu IPv4 adresu (koju daje pružatelj usluga). Time se rješavaju dva problema: • Usporava se proces nedostatka javnih IPv4 adresa • Identitet racunalaˇ je zašticen´ iza usmjernika Zadnji problem je riješen na nacinˇ da se u usmjerniku nalazi tablica koja povezuje zasebnu unutarnju/privatnu adresu racunalaˇ (u kombinaciji sa brojem porta koji ostvaruje vezu) sa jednom vanjskom adresom (i brojem porta). Takva tablica se zove NAT tablica (tocnijeˇ , radi se o PAT tablici, no ovo podrucjeˇ nije tema dokumenta). Na slijedecoj´ slici nalazi se primjer sa objašnjenjem jedne NAT tablice:

2.2. Prakticneˇ osnove racunalstvaˇ 121 TSRB_TEST Documentation, Release 1.0

Izvor : https://microchip.wdfiles.com/local–files/tcpip:nat-translation-table/nat_table.png Jasno se može vidjeti kako racunaloˇ iza usmjernika pokušava ostvariti vezu sa npr. nekim WWW poslužiteljem (recimo pristup web stranici), te je izvorišna adresa 192.168.1.102 (kombinacija adresa/port se naziva socket, te se obicnoˇ zapisuje u obliku 192.168.1.102:33543 ). Usmjernik u svoju lokalnu tablicu zapisuje te informacije, te ih prevodi u jednu vanjsku adresu sa slucajnoˇ generiranim brojem porta, 65.96.14.76:4. U ovom trenutku može biti jasno otkuda naziv Network Address Translation. Usmjernik zapravo modificira paket, te se sa stajališta vec´ spomenutog WWW poslužitelja ciniˇ kao da promet generira usmjernik. Originalno racunaloˇ je zašticeno´ i anonimno prema poslužitelju. Prednost NAT tipa povezivanja je što racunalaˇ imaju sigurniji pristup prema Internetu, što je idealno za kucne´ potrebe. No s druge strane, nije moguce´ ostvariti vezu sa tim racunalomˇ sa strane Interneta, odnosno opcenito´ iz druge mreže. Recimo da se na tom racunaloˇ nalazi neki servis kojem se želi pristupiti iz druge mreže (npr. SSH poslužitelj, Remote desktop, FTP poslužitelj. . . ), u normalnim postavkama to nije moguce.´ U tu svrhu koristi se nešto što se naziva Proslijedivanje¯ portova (eng. Port forwarding). U tablici usmjernika je moguce´ rezervirati jedan port , te ga povezati sa portom servisa na racunalu.ˇ Za primjer, SSH servis uobicajenoˇ koristi port 22, a RDP koristi 3389. Vezano uz primjer sa gornje slike, jednostavna tablica za proslijedivanje¯ portova ce´ izgledati ovako:

Unutarnja adresa Unutarnji port Vanjska adresa Vanjski port 192.168.1.102 22 65.96.14.76 1022 192.168.1.102 3389 65.96.14.76 9087

Nakon detaljnijeg objašnjenja, vrijeme je za prikaz mrežne topologije kada se koristi NAT u Virtualbox okruženju. Ono što je bitno zapamtiti je da ce´ svaki virtualni stroj koji se nalazi iza NAT usluge uvijek dobiti istu IP adresu : 10.0.2.15. Isto tako, adresa default gatewaya ce´ uvijek biti 10.0.2.2., a NAT servis ce´ dijeliti adresu sa domacinom´ (na ovom primjeru adresa je 192.168.10.10). Bez obzira što virtualni strojevi imaju istu IP adresu, Virtualbox NAT engine ih drži izoliranima jedne od drugih. Zapravo, dobro se podsjetiti da je sve iza NATa zašticeno´ i da jednake IP adrese uopce´ nisu problem.

122 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

NAT Network Vezano na prošli tip povezivanja, NAT Network tip je zapravo samo odredena¯ nadogradnja. Umjesto jednog virtualnog stroja po NAT segmentu, u ovoj situaciji je moguce´ povezati više racunalaˇ u mrežu koja su zašticena´ iza usmjernika sa NAT funkcijom. Ovakva topologija je zapravo najbliža onime što vecina´ kucanstava´ ima, više uredaja¯ povezanih na jednog usmjernika sa NAT funkcijom, sa mogucnoš´ cu´ povezivanja na Internet. Racunalaˇ koja su spojena u jednu NAT mrežu mogu medusobno¯ komunicirati.

Razlika je samo u implementaciji i konfiguraciji. NAT Network segment se nece´ stvoriti automatski, vec´ ga je potrebno rucnoˇ konfigurirati. Za takvu radnju, potrebno je odabrati opcenite´ postavke Virtualbox aplikacije, te unutar prozora odabrati izbornik Network. Pritiskom na oznacenuˇ tipku (prva slika ispod), stvorit ce´ nova NAT mreža. Zatim je potrebno odabrati tipku za izmjenu postavki te mreže (druga slika ispod), te upisati željeni adresni rang i ostale detalje.

2.2. Prakticneˇ osnove racunalstvaˇ 123 TSRB_TEST Documentation, Release 1.0

Internal network Virtualni strojevi su u ovoj topologiji povezani medusobno¯ sa virtualnim preklopnikom. S obzirom da preklopnik nije povezan ni na koji nacinˇ sa domacinom,´ ta virtualna racunalaˇ se nalaze u izoliranoj mreži, bez mogucnosti´ pristupa

124 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0 na Internet ili neku drugu vanjsku mrežu. Isto tako nije moguce´ ni pristupiti tim racunalimaˇ sa strane Interneta ili domacina.´ U ovakvoj situaciji ne postoji neki standardni DHCP poslužitelj (od strane Virtualbox aplikacije) koji ce´ dodijeljivati adrese, vec´ ih je potrebno rucnoˇ konfigurirati, ili na neki drugi nacinˇ (primjer je instalirati neki poslužitelj sa DHCP rolom).

Host-only network Virtualni strojevi kojima je konfiguriran ovaj nacinˇ mrežne povezanosti ostvaruju vezu iskljucivoˇ sa domacinom.´ Veza je obostrana, no ogranicenaˇ je samo na gost-domacin.´ Strojevi nemaju pristup internetu, niti prema ostatku mreže. Za svaku vezu izmedu¯ gosta (virtualnog stroja) i domacina´ se stvara zaseban mrežni prikljucakˇ na domacinu,´ te se konfiguriraju mrežne postavke. Svaka veza ce´ se nalaziti u nezavisnoj mreži sa samo ta dva uredaja.¯

Uz svaku instalaciju Virtualbox aplikacije ce´ se instalirati standardno jedan mrežni prikljucakˇ specijalne namjene, za Host-Only tip mreže, što je moguce´ vidjeti na slijedecoj´ slici.

2.2. Prakticneˇ osnove racunalstvaˇ 125 TSRB_TEST Documentation, Release 1.0

Postavke za Host-Only tip mreže se nalaze unutar Virtualbox aplikacije, File izbornik -> Host Network manager.

Na slici ispod se nalaze preporuceneˇ postavke za vec´ stvoren Host-Only mrežni prikljucak.ˇ

126 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Za stvaranje dodatnog Host-Only mrežnog prikljucka,ˇ unutar Host Network Manager prozora, potrebno je odabrati tipku Create. Nakon što je prikljucakˇ stvoren, odabrati opciju Properties za konfiguraciju samog prikljucka.ˇ Mrežna konfiguracija može biti rucnaˇ ili automatska. U prvoj situaciji, potrebno je konfigurirati željenu IP adresu. Adresa koja se konfigurira u ovom prozoru je zapravo adresa Host-Only prikljuckaˇ instaliranog na operacijski sustav domacina.´ Virtualni stroj koji se povezuje na taj Host-Only prikljucakˇ je potrebno zasebno konfigurirati unutar gost operacijskog sustava. Sve je prikazano na prvoj slici ispod. U drugom slucaju,ˇ kod automatske konfiguracije, potrebno je konfigurirati ugradeni¯ VirtualBox DHCP poslužitelj sa osnovnim postavkama (IP adresa DHCP poslužitelja, adresu podmreže, te pocetnuˇ i završnu adresu dodijeljivanja).

2.2. Prakticneˇ osnove racunalstvaˇ 127 TSRB_TEST Documentation, Release 1.0

Za kraj, svaki opisani tip mreže ima svoju namjenu, te je prije odabira potrebno razmisliti i tocnoˇ definirati mrežnu topologiju virtualne infrastrukture, te prema tome prilagoditi i konfigurirati tipove mrežnih prikljucaka.ˇ

128 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2.2.2.5 04 - Osnove korištenja Partition Wizard aplikacije

Stvaranje nove particije na nealociranom (praznom) prostoru tvrdog diska NAPOMENA : Nealocirani prostor se uobicajenoˇ naziva i slobodan, odnosno prazan prostor na tvrdom disku na kojem je moguce´ stvoriti nove particije, no precizno receno,ˇ radi se iskljucivoˇ samo o prostoru koji nije definiran pocetnimˇ i završnim adresama u particijskoj tablici (Master Boot Record). S obzirom da particijska tablica standardnog MBR-a podržava maksimalno 4 primarne particije, tvrdi disk na kojem se nalazi više od 4 primarne particije ce´ u svakom trenutku imati odreden¯ broj nealociranih particija, no one i dalje postoje na disku. Ono što je bitno za zapamtiti je da treba oprezno postupati prema nealociranom prostoru, jer postoji vjerojatnost da se nalaze korisni podaci na njemu. Kao primjer može se koristiti logickaˇ struktura diska u laboratorijima racunalstvaˇ u TŠRB gdje svaki sektor diska ima namjenu, i na svim diskovima se nalazi preko 4 primarne particije, no u jednom trenutku se u particijskoj tablici nalaze maksimalno 4 (alocirane su). Ne postoji slobodan prostor na tim diskovima za stvaranje novih particija, vec´ se moraju koristiti iskljucivoˇ adrese predodredene¯ za odredene¯ razrede i laboratorijske vježbe.

2.2.2.6 05 - Osnove korištenja Total Commander aplikacije

Pokrenuti virtualno racunaloˇ sa prikljucenimˇ USB pogonom (prema prethodnim uputama). U Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati “Mini Windows XP” opciju. Radi se o “live” verziji Windows XP operacijskog sustava sa integri- ranim raznim administrativnim alatima.

2.2. Prakticneˇ osnove racunalstvaˇ 129 TSRB_TEST Documentation, Release 1.0

Nakon ucitavanjaˇ “Mini Windows XP” sustava, pojaviti ce´ se radna površina. Sa radne površine pokrenuti HBCD Menu opciju. Otvoriti ce´ se izbornik preko kojega je moguce´ pokretati sve aplikacije podržane u Mini Windows XP sustavu.

Aktivirati Programs izbornik, te zatim Browsers / File Managers. Unutar njega odabrati aplikaciju Total Comman- der.

130 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

+ Total Commander je aplikacija iz kategorije Upravitelja datotekama (eng. ), te se nudi kao zamjena standardnim upraviteljima koji dolaze uz operacijske sustave, kao što je Windows Explorer. Svoje idejne korijene vuceˇ još od prvotne implementacije PathMinder aplikacije (1984., Albert Nurick i Brittain Fraley), te iznimno popu- larnog Norton Commandera (1986., John Socha) za MS-DOS operacijske sustave. Odlike koje se posebno isticuˇ za aplikaciju su : • Podrška za dvije kartice (eng. Tab) • Podrška za korištenje naredbene linije iz aplikacije • Integrirana podrška za FTP protokol • Podrška za upravljanje razlicitimˇ tipovima arhiviranih datoteka (kompresiranih i nekompresiranih, npr . TAR , 7ZIP, RAR. . . ) • Podrška za dodatke razlicitihˇ kategorija (eng. Plugins) Struktura prozora aplikacije se može podijeliti na pet osnovnih dijelova : • Traka izbornika sa popisom mogucnosti´ (tekstualan i grafickiˇ prikaz) • Popis uredaja¯ za pohranu (moguc´ pristup lokalnim diskovima/particijama i mrežnim resursima) • Dva prozora za mogucnost´ istovremenog pristupa na dvije razliciteˇ lokacije • Traka za upisivanje naredbi komandne linije • Kratice za najcešˇ ce´ korištene opcije aplikacije

2.2. Prakticneˇ osnove racunalstvaˇ 131 TSRB_TEST Documentation, Release 1.0

Zadaci za korištenje aplikacije Pokrenuti Total Commander Sa Tab tipkom postaviti desni aktivni prozor i zapaziti promjenu. Vratiti se na lijevi. Sa ALT-F1 kombinacijom tipki postaviti C: aktivnu particiju na lijevom prozoru (MULTIBOOT USB pogon). ALT-F2 kombinacija mijenja aktivnu particiju na desnom prozoru (postaviti na B: ). NAPOMENA: U Mini Windows XP okruženju, B: particiji je zapravo stvoren RAMDRIVE tip uredaja¯ koji je u potpunosti ucitanˇ u radnu memoriju. Kao posljedica, sve promjene nad datotekama i direktorijima koje se zapisuju na uredaj,¯ ne pamte se nakon ponovnog pokretanja racunala.ˇ Ostale particije su podložne promjenama i potrebno je obratiti pozornost prilikom izmjene nad datotekama i direktorijima. Prebaciti se na aktivan prozor sa B: particijom i odabrati kombinaciju tipki SHIFT-F4 za stvaranje nove datoteke. U ime datoteke upisati razred (bez tockeˇ iza rednog broja) i trenutnu godinu, a kao ekstenziju upisati tekstualni tip datoteke (npr. 3C2016.txt). Nije potrebno obracati´ pozornost na velika i mala slova. U posebni red upisati u datoteku par imena ucenika/uˇ cenicaˇ (bez dijakritickihˇ znakova) iza razreda te spremiti izmjene (File -> Save ili kratica Ctrl-S) i izaci´ iz aplikacije za uredivanje¯ teksta. Uocitiˇ velicinuˇ datoteke. Koju vezu ima velicinaˇ datoteke sa njenim sadržajem? Kolika je velicinaˇ jednog znaka? Pozicionirati se nad novostvorenu datoteku te sa View ( opcija 3 na dnu zaslona podrazumijeva F3 tipku) opciju pregledati sadržaj datoteke. Mogu li se vršiti izmjene nad datotekom? Zašto? Izaci´ iz aplikacije te odabrati Edit opciju. Koju tipka se koristi za tu opciju? Može li se sad sadržaj datoteke mijen- jati? Kojom aplikacijom je ucitanaˇ datoteka? Ispred imena svakog ucenikaˇ upisati razred, spremiti izmjene i izaci´ iz aplikacije. U elaboratu ostaviti samo ime ucenikaˇ autora dokumenta i datum te spremiti kao sliku za dokument. NAPOMENA : Total Commander omogucava´ odabir standardnih aplikacija za ucitavanjeˇ datoteka razlicitogˇ tipa. U ovom slucajuˇ Notepad++ je odabran za izmjenu tekstualnih datoteka. Moguce´ je izmijeniti standardan pregled- nik/urednik kroz izbornik Configuration -> Options -> Operation -> Edit/View. Postaviti da jedan aktivan prozor bude na B: particiji a drugi na C: particiji. Na C: particiji stvoriti novi direktorij (NewFolder opcija) sa imenom POR_PRIMJER. Preimenovati direktorij (Move opcija) u POR_TEST. Postaviti taj direktorij kao radni direktorij. Proucitiˇ putanju direktorija ( C:\POR_TEST\). NAPOMENA : Opis putanje C: \ POR_TEST\ C: - Slovo particije \ - Znak za granicu izmedu¯ dva direktorija ( Putanja C:\ oznacavaˇ korijenski direktorij) POR_TEST\ - Ime direktorija sa dodanim znakom ogranicenjaˇ Prebaciti se na prozor sa aktivnom B: particijom, te koristeci´ tipku Insert na tipkovnici odabrati prethodno stvorenu datoteku i Temp direktorij. Odabrane objekte kopirati u POR_TEST direktorij (Copy opcija). Potvrditi da je postupak kopiranja uspješno izvršen. Vratiti se u korijenski direktorij C: particije te premjestiti POR_TEST direktorij (Move opcija) u korijenski direktorij B: particije. Potvrditi da je postupak premještanja uspješno izvršen. Obrisati POR_TEST direktorij (Delete opcija). Postaviti korijenski direktorij B: particije kao aktivan direktorij, te minimizirati prozor Total Commander aplikacije. Pokrenuti naredbeni redak ili preko U komandnoj liniji pozivom na naredbu “dir” ispisati sadržaj trenutno aktivnog direktorija i uocitiˇ stvorenu datoteku. U slucajuˇ da ime datoteke nije stalo na ekran u popisu, moguce´ je filtrirati izlazne rezultate korištenjem wildcard znaka zvjezdice (npr. dir 3c*). Potvrditi prikaz imena datoteke na zaslonu. Tipkom ESC vratiti aktivan prozor Volkov Commandera. Odabrati prethodno prikazanu datoteku u korijenskom direktoriju te joj postaviti skriveni atribut. Radnju je moguce´ izvršiti ili pozivom gornjeg izbornika (tipka ALT), Files , te na kraju opcije File Attributes, ili korištenjem CTRL-

132 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

A kratice. Navigacijskim tipkama smjestiti pokazivacˇ medu¯ tražene zagrade (Hidden) te sa razmaknicom aktivirati atribut. Pozicionirati se na “Set” gumb i potvrditi izmjenu sa Enter tipkom. Minimizirati Volkov Commander aplikaciju te korištenjem filtera za datoteku ponovno ispisati sadržaj direktorija. Prikazuje li se tražena datoteka? Zašto? Prema gornjoj proceduri, maknuti skriveni atribut, no postaviti atribut samo za citanje.ˇ Pokušati izmijeniti sadržaj datoteke. Je li izmjena uspješno spremljena? Je li se dogodilo što drukcijeˇ u odnosu na spremanje datoteke sa pocetkaˇ ove vježbe? Može li se izmijeniti ime datoteke? Zašto? Izaci´ iz aplikacije Volkov Commander (QUIT opcija) i ponovno pokrenuti racunaloˇ (U VirtualBox aplikaciji stan- dardna postavka je kombinacija tipki desniCTRL+R). Odabrati Windows98 operacijski sustav, pokrenuti Volkov Com- mander i potražiti radnu datoteku. Što se dogodilo? Zašto?

2.2.2.7 06 - Osnove korištenja MBRWizard aplikacije

MBRWizard je aplikacija sa namjernom upravljanja raznim parametrima koji se nalaze uglavnom u Master Boot Record podrucjuˇ tvrdog diska. Aplikacija se nalazi u direktoriju MBRWIZ3 na USB pogonu na slijedecoj´ apsolutnoj putanji : X:\MBRWIZ3\mbrwiz.exe (slovo X: zamijeniti sa potrebnim slovom USB pogona) Korištenje funkcije pomoci´ aplikacije postiže se unosom slijedece´ naredbe : mbrwiz.exe /? MBRWizard aplikacija ce´ se koristiti iskljucivoˇ za spremanje informacija koje se nalaze u Master Boot Recordu u neku datoteku i obrnuto. Proces se uobicajenoˇ naziva Spremanje ili Vracanje´ MBRa

2.2. Prakticneˇ osnove racunalstvaˇ 133 TSRB_TEST Documentation, Release 1.0

Crveno ispunjeni krugovi predstavljaju opcije koje ce´ se redovno koristiti i potrebno im je znati znacenjeˇ i pravilno ih upotrebljavati. Krugovi ispunjeni žutom bojom predstavljaju ili informativne opcije (Show, WriteIni), odnosno opcije za bržu izmjenu nekih opcija u particijskoj tablici (Active, Type). IDENTIFIKACIJA DISKOVA I OSNOVNIH INFORMACIJA O PARTICIJAMA S obzirom da svaki tvrdi disk u racunalu,ˇ a u ovom slucajuˇ dodatno i USB pogon što ce´ se moci´ primijetiti, ima poseban MBR, bitno je prvo vidjeti koje sve diskove aplikacija može prepoznati, i kako ih identificira. NAPOMENA: u DOS ili Windows konzoli nije potrebno paziti na mala ili velika slova (za razliku od Linux baziranih distribucija) Naredba :

134 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0 mbrwiz /list Prepoznata su 3 tvrda diska, što i odgovara postavkama virtualnog stroja ( USB pogon i 2 virtualna tvrda diska), te se razlikuju u brojevima, što predstavlja njihovu identifikaciju, te ce´ se koristiti uz opciju /Disk u kasnijem dijelu. Bitno je prepoznati koji uredaj¯ predstavlja USB pogon (uglavnom prema ukupnoj veliciniˇ uredaja,¯ kategorija Size), kako se slucajnoˇ ne bi kopirao sadržaj MBR sa informacijama nekog tvrdog diska u MBR USB pogona. U tom slucaju,ˇ USB ce´ prestati funkcionirati te ce´ se onemoguciti´ pristup svim podacima na tom uredaju¯ (aplikacije ce´ pokušati ucitatiˇ particije sa krivim adresama iz particijske tablice)! Kako bi se olakšala situacija, dobro je spremiti MBR USB pogona u datoteku, te ju imati na nekom drugom pricuvnomˇ USB pogonu (po mogucnosti´ da isto ima mogucnost´ podizanja sustava). Druga metoda je kopiranje cijelog sektora, te kopiranje sadržaja na prvi slijedeci´ slobodan sektor uredaja.¯ Izlazni rezultat /List opcije prikazuje osnovne informacije o svakom prepoznatom uredaju¯ za pohranu, te zatim i detalje sadržaja particijske tablice. Ispod ce´ biti opisan svaki element izlaznog rezultata za USB pogon iz slike gornjeg primjera ( Disk = 0 ). Disk - Redni broj prepoznatog uredaja¯ u sustavu (pocinjeˇ se brojati od nule). Size - Ukupna velicinaˇ uredaja¯ ( velicinaˇ je izracunataˇ na temelju ukupnog broja sektora, ovo nije reklamirana velicinaˇ proizvoda) Sectors - Ukupan broj sektora na uredaju¯ Partitions - Broj particija u particijskoj tablici Media Type - Tip uredaja¯ (Fixed znaciˇ kako je uredaj¯ spojen SATA ili IDE kablom na maticnuˇ plocuˇ te nije namijenjen za cestoˇ iskapcanjeˇ iz racunala.ˇ USB Pogon bi trebao imati Removable tip uredaja)¯ Description - Opis uredaja,¯ podatak se izvlaciˇ iz firmwarea uredaja¯ samog uredaja¯ MBR/GPT - Tip, odnosno struktura particijske tablice CHS - Ukupan broj cilindara, glava i sektora na uredaju¯ ( vrijednost se koristi iskljucivoˇ za starije,tzv. legacy, ap- likacije) Disk Signature - Jedinstven zapis/identifikacija uredaja,¯ operacijski sustavi ih koriste kako bi razlikovali jedan od drugog Partition Order - Fizickiˇ raspored particija na disku Interface - Nacinˇ povezivanja uredaja¯ sa racunalomˇ (npr. IDE, USB. . . ) Pos – Fizickaˇ pozicija particije na tvrdom disku Idx – Pozicija stavke u particijskoj tablici ( ne mora odgovarati fizickojˇ poziciji na disku) Type/Name – Tip datotecnogˇ sustava koji bi se trebao nalaziti na particiji, oznacenˇ jednim bajtom u heksadecimalnom obliku i zatim nazivom datotecnogˇ sustava Size – Ukupna velicinaˇ particije (Prikaz u MB ili GB se automatski odreduje¯ prema veliciniˇ particije) Boot – Bootable Flag bajt u stavci particijske tablice je aktiviran (postavljena vrijednost 80 u heksadecimalnom obliku, cestoˇ se zapisuje kao 0x80 ili 80h) Hide – Oznacavaˇ radi li se o sakrivenom tipu particije, govori operacijskom sustavu treba li prikazati particiju korisniku Start Sector – Pocetniˇ sektor particije na tvrdom disku, prikazan u LBA obliku Total Sectors – Ukupan broj sektora koji particija zauzima na tvrdom disku DL - Drive Label, odnosno pridružena oznaka particiji ako je ucitanaˇ od strane operacijskog sustava Vol Label - Volume Label, naziv ucitaneˇ particije NAPOMENA: Iako zadnji sektor particije nije prikazan, može se jednostavno izracunatiˇ formulom

2.2. Prakticneˇ osnove racunalstvaˇ 135 TSRB_TEST Documentation, Release 1.0

EndSector = StartSector+TotalSectors-1 NAPOMENA2: Može se primijetiti kako se za USB pogon prijavljuje kako se radi o tvrdom disku povezanog preko IDE sucelja,ˇ te Fixed tipa medija. Razlog tomu je zbog VirtualBox aplikacije. S obzirom da emulirani BIOS Virtu- alBox aplikacije ne podržava nativno ucitavanjeˇ sa USB pogona, Virtual Machine USB Boot aplikacija konfigurira virtualni stroj tako da stvori novi virtualni tvrdi disk, te ga poveže sa USB pogonom u racunalu.ˇ Iz tog razloga se USB pogon u virtualnom stroju prikazuje kao tvrdi disk. U pravilu, USB pogon bi trebao biti prikazan sa slijedecim´ karakteristikama, kao prema slici ispod :

SPREMANJE PRICUVNEˇ KOPIJE MBRa TVRDOG DISKA (SAVE/BACKUP) U slucajuˇ oštecivanja´ ili izmjene MBRa tvrdog diska (fizickoˇ oštecenje,´ maliciozni programi, nepažnja), dobro je imati pricuvnuˇ kopiju kako bi se moglo na jednostavan nacinˇ pristupiti particijama i podacima na disku. Vec´ je spomenuto kako se u jednoj particijskoj tablici mogu nalaziti maksimalno 4 primarne particije, no to ne ogranicavaˇ ukupan broj particija na disku. U logickojˇ strukturi tvrdih diskova (laboratoriji za racunalstvoˇ 3 i 4, nadimci “Cisco” i “MSAN”, dokument se nalazi na mrežno dijeljenom direktoriju) vidljivo je kako se na disku nalazi mnogo više od 4 particija. U ovom dijelu dobro je definirati pojam “radne particije”. Radna particija se nalazi u particijskoj tablici, odnosno, alocirana je. Sve ostale particije na disku su nevidljive za operacijske sustave i opcenite´ aplikacije, te se u principu ne može pristupiti podacima na njima, i gleda ih se kao nealocirani prostor. Metodom spremanja pricuvnihˇ kopija MBRa sa razlicitimˇ kombinacijama particija na tvrdom disku omogucava´ se korištenje više izoliranih radnih okolina i nevezanih operacijskih sustava (svaki razred ima dodijeljen svoj prostor na tvrdom disku koji je izoliran od ostalih razreda, ponovno proucitiˇ logickuˇ strukturu tvrdog diska laboratorija). Proces spremanja pricuvneˇ kopije MBRa podrazumijeva kopiranje kompletnog sadržaja prvog sektora na tvrdom disku te ispunu neke datoteke tim sadržajem. Prije spremanja, bitno je identificirati željeni tvrdi disk, što se postiže sa /List opcijom, opisanom u prethodnom koraku. NAPOMENA: Iako u racunaluˇ sa samo jednim tvrdim diskom (i bez USB pogona u racunalu!)ˇ nije potrebno specifici- rati disk (s obzirom da ce´ biti prikazan samo Disk:0, što je zadana vrijednost opcije /Disk, proucitiˇ opciju u pomocnom´ izborniku aplikacije), dobra je praksa UVIJEK koristiti /Disk opciju i rucnoˇ upisati željeni disk, u tom slucajuˇ se smanjuje broj nenamjernih štetnih posljedica. Naredba za spremanje drugog identificiranog tvrdog diska u sustavu ( USB pogon je prvi prijavljen, slika na prošloj stranici), ciljana datoteka imena backup.mbr u korijenskom direktoriju C: particije : mbrwiz /disk=1 /save=mbr /filename=c:\backup.mbr

136 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Može se primijetiti kako je aplikacija potvrdila uspješno spremanje u datoteku, te je kasnije i provjereno postojanje i velicinaˇ datoteke. U slucajuˇ neispravne sintakse, ili krivo odabrane neke od opcija, prikazat ce´ se poruka o greški koja uglavnom upucuje´ u smjeru u kojem bi se trebalo kretati za ispravljanje greške: NAPOMENA : Primijetiti velicinuˇ datoteke od 1024 bajta. S obzirom da je velicinaˇ spremljenog MBR sektora samo 512 bajta, aplikacija ujedno sprema neke dodatne informacije u datoteku, što se može primijetiti prilikom korištenja opcije za prikaz detalja pricuvneˇ kopije : U heksadecimalnom pregledniku unutar crvenog pravokutnika se nalazi prvih 512B spremljene datoteke, te se može uocitiˇ sadržaj detalja o racunaluˇ i disku s kojeg je spremljena pricuvnaˇ kopija. Drugih 512B datoteke zauzima i sam Master Boot Record tvrdog diska. Neki primjeri grešaka i neispravno upisanih naredbi : 1. Primjer : Neispravno korištenje /save opcije. Dozvoljene vrijednosti su mbr,gpt,track0,vbr ili range. Za potrebe laboratorijskih vježbi, u pravilu se uvijek koristi vrijednost mbr. 2. Primjer : Neispravno korištenje /file opcije, ona ne postoji. Opcija /save zahtijeva dodatnu opciju /filename. 3. Primjer : Odabrana nepostojeca´ particija za izlaznu datoteku. 4. Primjer : Odabran nepostojeci´ disk za spremanje MBR sadržaja. VRACANJE´ PRICUVNEˇ KOPIJE MBRA TVRDOG DISKA (RESTORE) Ovaj proces je nešto opasniji od prethodnog s obzirom da ce´ krivo vraceni´ sadržaj datoteke uglavnom rezultirati nemogucnoš´ cu´ korištenja tvrdog diska ili cakˇ USB pogona. Jako je bitno u ovom procesu tocnoˇ znati koji sadržaj se želi vratiti i na koji tvrdi disk (MBR) se treba upisati! Još jednom, prije vracanja´ bitno je identificirati željeni tvrdi disk, što se postiže sa /List opcijom. Naredba za vracanje´ sadržaja datoteke backup.mbr (korijenski direktorij C: particije) na drugi identificiran tvrdi disk u sustavu (ista situacija kao u primjeru za spremanje): mbrwiz /disk=1 /restore=mbr /filename=c:\backup.mbr

2.2. Prakticneˇ osnove racunalstvaˇ 137 TSRB_TEST Documentation, Release 1.0

Aplikacija je prijavila uspješno obavljen proces. U slucajuˇ da je korisnik nepažnjom vratio krivi sadržaj na tvrdi disk, aplikacija ce´ vratiti istu poruku o uspješnosti, jer je uspješno izvršena tražena radnja. Na odgovornosti korisnika je da zna koji sadržaj bi trebao biti spremljen na koji ciljani uredaj.¯ Moguce´ greške :

Prva dva primjera su identicnaˇ kao i prilikom spremanja pricuvneˇ kopije. U zadnjem primjeru , prilikom potvrde vracanja´ pricuvneˇ kopije na tvrdi disk, jasno se vidi upisano slovo z. Iako je korisnikova namjera bila potvrditi sa Yes, na kodnoj stranici 437 (standardna u MS-DOS okruženju) slova Z i Y su zamijenjena, te je potrebno obratiti pozornost na to. Ako USB pogon ili tvrdi disk nisu prepoznati od strane racunala,ˇ ili se ne može podici´ operativni sustav sa njih : Uglavnom se radi o krivo odabranoj datoteci za vracanje´ , te je potrebno ponoviti proces sa ispravnom datotekom. U situaciji kad je slucajnoˇ vracen´ MBR tvrdog diska na USB pogon, bitno je imati pricuvnuˇ kopiju neispravnog USB pogona na nekom drugom ispravnom, te je potrebno samo ponoviti proces sa ispravnom datotekom i na ispravni uredaj.¯ Ako ne postoji pricuvnaˇ datoteka za USB pogon, potrebno je ili ponovno proci´ proces izrade Multiboot USB-a, ili se samostalno snaci´ nekim drugim alatima za vracanje´ sadržaja na USB-u (Partition recovery alati).

138 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Vracanje´ pricuvneˇ kopije MBRa tvrdog diska (RESTORE) sa automatskom potvrdom i ponovnim pokretan- jem racunalaˇ U slucajuˇ kad se želi vratiti pricuvnuˇ kopiju MBRa na tvrdi disk bez dodatne intervencije korisnika (potvrda Y tipkom) i automatskim ponovnim pokretanjem racunalaˇ nakon vracanja,´ može se upisati naredba sa slijedecim´ opcijama : mbrwiz /disk=1 /restore=c:\backup.mbr /confirm /shutdown=4 (Shutdown opcija podržava 4 razliciteˇ vrijednosti, poželjno je koristiti zadnje dvije, no u laboratoriju se iskljucivoˇ koristi ona za ponovno pokretanje racunalaˇ bez prisile). Pregled sadržaja pricuvneˇ kopije MBRa Nakon spremanja pricuvneˇ kopije, sadržaj datoteke je moguce´ ispisati i usporediti sa dokumentacijom kako bi se potvrdila ispravnost procesa. U tu svrhu se koristi opcija /show, koja podržava dvije vrijednosti : file ili sector. Vrijednost file se koristi kada se želi prikazati sadržaj pricuvneˇ kopije (u tom slucajuˇ je obvezno korištenje dodatne /filename opcije), dok se sector koristi kad se želi prikazati sadržaj konkretnog sektora na nekom tvrdom disku. Naredba: mbrwiz /show=file /filename=c:\backup.mbr

Naredba za prikaz fizickogˇ sektora : mbrwiz /show=sector /sector=0

2.2. Prakticneˇ osnove racunalstvaˇ 139 TSRB_TEST Documentation, Release 1.0

NAPOMENA : S obzirom da u varijanti ispisa sektora nije upisana opcija sa kojeg se diska želi ispisati vrijednost sektora, standardno se koristi disk=0. Dodatno, ova opcija zahtijeva ispravnu MBR strukturu za prikaz, te je moguce´ prikazati samo sektore sa takvom strukturom (uglavnom nulti sektor na disku). Slijedeca´ dva primjera prikazuju neispravno korištenje opcije /sector. U prvom primjeru odabran je 63. sektor na uredaju¯ (u ovom slucajuˇ radi se o boot sectoru prve particije, odnosno prvom sektoru particije), te se mogu primijetiti “cudne”ˇ vrijednosti. U drugom primjeru odabran je 6. sektor na uredaju,¯ koji je prazan, te je javljena poruka o grešci da se ne može pronaci´ ispravna MBR struktura na toj lokaciji. U prvom primjeru nije javljena poruka o grešci jer je aplikacija pronašla neki sadržaj, no aplikacija nema u svom kodu validaciju (provjeravanje) ispravnosti podataka.

ISPIS OSNOVNIH INFORMACIJA O TVRDIM DISKOVIMA I PARTICIJAMA U RACUNALUˇ Naredba : mbrwiz /writeini /filename=hdconfig (nije korištena apsolutna ni relativna putanja vec´ samo ime datoteke, te ce´ aplikacija stvoriti datoteku u radnom direk- toriju)

140 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Datoteka se sprema u klasicnomˇ tekstualnom obliku i može se pregledavati bilo kojim tekst editorom ili preglednikom. Spremaju se informacije o svim uredajima¯ za pohranu u racunaluˇ (opcenito´ o tvrdim diskovima i detalji o svim parti- cijama na njima), te su ispisane sve informacije koje se prikazuju i upotrebom /List opcije. Na slijedecoj´ slici djelomicnoˇ je prikazan sadržaj hdconfig datoteke.

2.2.2.8 07 - Osnovno korištenje GNU/Linux operacijskog sustava (TinyCore distribucija)

U ovom poglavlju bit ce´ obradeno¯ podrucjeˇ osnovnih naredbi za upravljanje direktorijima i datotekama (sadržaj je univerzalan za sve GNU/Linux distribucije), te upravljanje paketima, odnosno instalacijom softvera (sadržaj je vezan uz TinyCore distribuciju). Namjena obradenog¯ sadržaja nije osnovno korištenje GNU/Linux sustava, vec´ minimalan opis potrebnih koraka za stvaranje “dual-boot” sustava izmedu¯ odabrane GNU/Linux distribucije i Microsoft Windows 10 operacijskog sustava. Razlog zašto se koristi TinyCore distribucija leži u tome što su ucenicimaˇ dodijeljene 3 particije na korištenje u laboratoriju velicinaˇ 256MB i 2x20GB, te je prva prethodno bila namijenjena za Microsoft Windows 98 sustav. S obzirom da trenutno tehnickiˇ nije moguce´ mijenjati strukturu tvrdih diskova na racunalimaˇ u laboratoriju, bilo je potrebno pronaci´ neku distribuciju cijaˇ ce´ instalacija stati unutar 256MB diskovnog prostora, te ima podršku instalacije na USB pogon pomocu´ YUMI ili Rufus instalacijskog softvera. U ovom poglavlju biti ce´ objašnjeni osnovni koraci za : • snalaženje u strukturi direktorija

2.2. Prakticneˇ osnove racunalstvaˇ 141 TSRB_TEST Documentation, Release 1.0

• upravljanje datotekama (stvaranje, izmjena, brisanje) • upravljanje aplikacijama/modulima/paketima (sva tri pojma su u principu istoznacna,ˇ opisati ce´ se instalacija i deinstalacija paketa) • spremanje i vracanje´ pricuvneˇ kopije Master boot zapisa (eng. Master Boot Record) Nakon ucitavanjaˇ MultiBoot izbornika s USB pogona, odabrati opciju Linux Distributions, te u slijedecem´ izborniku odabrati TinyCoreCorePlus-current distribuciju.

Pokrenuti ce´ se novi podizbornik, u kojem je potrebno odabrati opciju ucitavanjaˇ sustava bez grafickeˇ podrške i ostalih dodataka (mrežni podsustav ce´ biti aktivan).

142 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon ucitavanjaˇ sustava, pojavljuje se ljuska sa naredbenim retkom. Prompt dio je detaljno objašnjen ispod tc@box:~$ tc - Trenutno prijavljeni korisnik box - Naziv racunalaˇ ~ - Oznaka za home direktorij korisnika Znakovi @,: i $ nemaju neko posebno znacenjeˇ osim vizualnog. Kao dokaz, na slijedecoj´ slici prikazani su rezultati slijedecih´ naredbi : • hostname ( naziv hosta, odnosno racunala)ˇ • whoami (“tko sam ja?”, odnosno ispisuje trenutno prijavljenog korisnika) • cd (Change Directory, naredba služi za kretanje po strukturi direktorija) • pwd (Print Working Directory, naredba služi za ispis radnog direktorija) • ls (LiSt directory, naredba služi za ispis sadržaja nekog direktorija) NAPOMENA: Naredbe cd i ls u gornjem primjeru dodatno upisan parametar nakon samog imena naredbe. Parametar “/” u ovom slucajuˇ definira putanju, odnosno korijenski direktorij za traženu radnju naredbe. Upotrebom naredbe cd za promjenu radnog direktorija i navedenog parametra, rezultat ce´ biti postavljanje korijenskog direktorija kao radnog direktorija. Isto tako, naredba ls i unos istog parametra ce´ kao rezultat dati ispis sadržaja stavki korijenskog direktorija. Upravljanje direktorijima Ideja ovog poglavlja je samo shvatiti koncept direktorija (što on predstavlja na datotecnomˇ sustavu), te kroz prak- ticneˇ primjere prikazati kretanje kroz putanju direktorija, te upravljanje njima (stvaranje novih i brisanje postojecih´ direktorija). Na slici ispod prikazana je struktura korijenskog direktorija TinyCore Linux distribucije. Sama svrha svih prikazanih direktorija nece´ biti obradena¯ u ovom dokumentu, odnosno biti ce´ tema u slijedecim´ godinama obrazovanja. Za pocetak,ˇ u donjem primjeru je prikazan rezultat vec´ korištene naredbe i dodatnog parametra za ispis sadržaja korijenskog direktorija.

2.2. Prakticneˇ osnove racunalstvaˇ 143 TSRB_TEST Documentation, Release 1.0

No, dodane su odredene¯ opcije same naredbe, koje mijenjaju ponašanje, odnosno izgled krajnjeg rezultata. Opcije neke naredbe upisuju se na nacinˇ da se prvo upiše znak crte - , te nakon nje, slova neke željene opcije. Kao što je vidljivo na donjoj slici, opcija -alh ce´ kao rezultat ispisati sve stavke , cakˇ i one skrivene (datoteke u Linux distribucijama nemaju poseban atribut za sakrivanje kao na Microsoft sustavima, vec´ se koristi tockaˇ kao prvi znak u imenu). Slijedeca´ dva slova definiraju prikaz detalja svake stavke direktorija (a ne samo ime), te zaokruživanje velicineˇ datoteka na najbližu jedinicu (datoteka od 1024 bajta ce´ biti prikazana sa velicinomˇ od 1KiB, standardno se prikazuju sa velicinomˇ u bajtima).

Što je zapravo direktorij i koja je njegova svrha? S obzirom da se svrha particije i datotecnogˇ sustava na njoj može smatrati kao dio nekog prostora za skladištenje podataka, dobro je povuci´ analogiju i zamisliti neku praznu prostoriju koja ce´ predstavljati datotecniˇ sustav. Ta prostorija služi za spremanje bilo kakvih predmeta, od fotografija, bilježnica, dvd medija, starih tenisica, itd. Kada bi se u toj prostoriji nalazilo samo par predmeta, organizacija nije problem jer je lako uocitiˇ te predmete. No, nakon dodavanja veceg´ broja predmeta, može se uocitiˇ problem organizacije. Više

144 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

nije jednostavno pronaci´ željenu bilježnicu, novi predmeti se jedino mogu staviti na vec´ postojecu´ nepreglednu hrpu. Najcešˇ ci´ nacinˇ organizacije ovog nereda je implementacija kutija, i premještanje predmeta u te kutije. Na te kutije se odmah zapisuju neke oznake koje ce´ predstavljati kategoriju kojoj ce´ pripadati predmeti. Recimo, u kutiju natpisa “Fotografije” ce´ se stavljati sve fotografije unutar te prostorije. Sad je moguce´ objašnjavati kompleksniju organizaciju prostora, no situacija objašnjava analogiju kutije i direktorija, odnosno svrhu istog. Da se sve datoteke ne bi nalazile u istom prostoru datotecnomˇ sustavu, stvoren je koncept direktorija za kvalitetniju organizaciju prostora. Za upravljanje direktorijima koriste se tri najcešˇ ce´ naredbe : • chdir (ima jednaku funkciju kao i naredba cd) ili cd, za kretanje po strukturi direktorija • mkdir za stvaranje novih direktorija • rmdir za brisanje postojecih´ direktorija Za kretanje po strukturi direktorija mogu se koristiti apsolutne i relativne putanje. Za primjer, kada bi se htjelo iz korijenskog direktorija postaviti /tmp/tce/optional (ovo je apsolutna putanja optional direktorija) direktorij kao radni direktorij, potrebno je upisati naredbu cd ili chdir te kao parametar navesti željenu putanju. Drugi nacinˇ je pojedinacnoˇ upisivati direktorij po direktorij,sve do krajnjeg željenog direktorija. Za vracanje´ u prethodne direktorije se kao parametar koristi poseban naziv prethodnog direktorija “..” (isti je naziv i na Microsoft sustavima). Kada putanja u sebi ne sadrži tocneˇ nazive direktorija, vec´ njen efekt ovisi o poziciji radnog direktorija, takva putanja se zove relativna. Za primjer, putanja “../../..” je relativna putanja jer je njen efekt vracanje´ za tri direktorija u hijerarhiji. Svi postupci su prikazani na slijedecoj´ slici.

Za stvaranje novih direktorija, koristi se naredba mkdir i željeno ime direktorija. Na slici ispod prikazano je stvaranje novih direktorija, sa naglaskom na razlikovanje imena sa malim/velikim slovima u njemu. Drugi primjer prikazuje stvaranje strukture novih direktorija. Samo upisivanje strukture nije dovoljno , vec´ je potrebno dodati opciju koja ce´ stvoriti roditeljske direktorije po potrebi.

2.2. Prakticneˇ osnove racunalstvaˇ 145 TSRB_TEST Documentation, Release 1.0

Za brisanje postojecih´ direktorija, koristi se naredba rmdir i željeno ime direktorija. Na slici ispod prikazano je osnovno korištenje naredbe. Zatim je obrisan direktorij “mirko”, te nakon njega svi direktoriji koji pocinjuˇ sa imenom M (korišten je wildcard znak * za zamjenu svih daljnjih znakova). U slijedecem´ koraku je bio pokušaj brisanja strukture direktorija “prvi/drugi/treci”,´ no pokazalo se kako je obrisan samo zadnji “treci”´ direktorij u strukturi, dok su ostali direktoriji bili netaknuti. U tu svrhu je potrebno koristiti opciju koja ce´ ukljucitiˇ i brisanje roditeljske direktorije u strukturi (zadnji primjer).

Upravljanje datotekama Svrha ovog poglavlja je objasniti smisao datoteke na datotecnomˇ sustavu, te prikazati postupke upravljanja njima (stvaranje, brisanje, izmjena). Prvo je bitno shvatiti koncept datoteke. Kada bi se povukla analogija prostorije iz prethodnog poglavlja, datoteka je zapravo svaki predmet u toj prostoriji. Svaka fotografija ili bilježnica predstavljaju neku zasebnu datoteku. Ono što je bitno (a posebno vrijedi za sve Linux sustave) napomenuti jest da su i sve kutije (koje zapravo predstavljaju direktorije) zapravo datoteke. Iz toga se može zakljucitiˇ da je sve na Linux sustavu prikazano zapravo kao datoteka, pa cakˇ i direktoriji. Tocnijeˇ , svaki objekt je prikazan kao datoteka (datoteke, direktoriji, particije, tvrdi diskovi, procesi, itd.), te je iz te logike populariziran termin „Everything is a file“ ( sve je datoteka). Datoteke se dijele na više tipova : • Regularne datoteke • Direktoriji • Specijalne datoteke - blok datoteke (eng. block files), znakovne datoteke (eng. character files), cijevne datoteke (eng. pipe files), simbolickeˇ poveznice (eng. symbolic links) ,prikljucneˇ datoteke (eng. socket files) U glavnini poglavlja ce´ biti obradene¯ regularne datoteke uz jednu iznimku specijalne datoteke, blok datoteke. Potonja datoteka ce´ biti prikazana za prikazivanje sadržaja tvrdog diska i particije, kao dokaz da se sve u Linux sustavu prikazuje kao datoteka. Zašto je uopce´ relevantno spominjati takvu logiku sustava? Recimo da korisnik želi vidjeti detalje o ugradenom¯ procesoru. Nije za to potrebno instalirati specijalizirane aplikacije za prikaz informacija o sustavu, vec´ je dovoljno išcitatiˇ sadržaj datoteke /proc/cpuinfo (primjer : cat /proc/cpuinfo). Za stvaranje datotecnogˇ sustava trece´ particije tvrdog diska, dovoljno je aplikaciji za formatiranje dodati parametar /dev/sda3 (primjer: mkfs.ext4 /de v/sda3). Za prikazivanje/ucitavanjeˇ sadržaja na cd-rom uredaju,¯ potrebno je aplikaciji pridodati kao parametar datoteku /dev/cdrom koja predstavlja uredaj¯ (primjer: mount /dev/cdrom).

146 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Filozofija ovog tipa iznimno olakšava korištenje i administraciju sustava. Osnovne naredbe za upravljanje datotekama su : • touch za stvaranje novih praznih datoteka • cp za kopiranje datoteka • mv za premještanje datoteka • rm za brisanje datoteka • cat za ispis sadržaja datoteka na standardnom izlazu • grep za osnovno filtriranje prikaza sadržaja datoteka • tar za arhiviranje datoteka (sa mogucnoš´ cu´ kompresije) • file za prepoznavanje tipova datoteka Ujedno ce´ osnovno biti obraden¯ i jedan od ponudenih¯ tekstualnih editora , Nano. Za pocetak,ˇ kako se u postojecem´ direktoriju iz popisa može uocitiˇ je li neki objekt datoteka, te kojeg je tipa?

Iz priložene slike, prvo slovo u prvom stupcu oznacavaˇ tip stavke u nekom direktoriju. Ako je prvo slovo d, radi se o direktoriju. U slucajuˇ da je polje prazno (oznacavaˇ se sa crticom), radi se o standardnoj datoteci. Ostala slova (b,p,l,c,s) oznacavajuˇ kako se radi o nekom tipu specijalne datoteke, te osim jednog primjera blok datoteke, nece´ biti obradene¯ u dokumentu. Iz gornjeg primjera, može se primijetiti kako se u popisu nalazi jedna regularna datoteka, te jedna specijalna (konkretno,simbolickaˇ poveznica). Ostale stavke predstavljaju direktoriji (primijetiti i prisjetiti se svrhe dva direk- torija na vrhu s imenima “.” i “..”). Za stvaranje novih praznih datoteka, najcešˇ ce´ se koristi naredba touch (iako joj to nije originalna namjena). U donjem primjeru, stvorene su tri datoteke. Dvije datoteke dijele isto ime, no sa razlicitimˇ velicinamaˇ slova, što još jednom dokazuje osjetljivost Linux sustava na mala/velika slova. Treca´ datoteka je stvorena bez ekstenzije, što je dozvoljeno, jer su ekstenzije opisnog karaktera i ne utjecuˇ na sadržaj ili funkcionalnost datoteke. Iz prikazanog je vidljivo kako su sve tri datoteke prazne, odnosno zauzimaju nula bajta.

2.2. Prakticneˇ osnove racunalstvaˇ 147 TSRB_TEST Documentation, Release 1.0

U slijedecem´ primjeru prikazan je proces kopiranja i premještanja datoteka. Prvo je stvoren direktorij BACKUP, te je u njega kopirana datoteka s imenom Datoteka.txt. Za kopiranje se koristi naredba cp, te se kao parametri navedu datoteke koje se žele kopirati i na kraju direktorij kao odredišna lokacija kopija datoteka. Nakon toga je datoteka s imenom datoteka.txt premještena u direktorij BACKUP. Za premještanje se koristi naredba mv, te se kao parametri navedu datoteke koje se žele premjestiti i na kraju direktorij kao odredišna lokacija. Za preimenovanje datoteka se koristi ista naredba kao i za premještanje, jer se tehnickiˇ radi o istom procesu. U procesu preimenovanja koristi se datoteka s imenom bez_ektenzije.

Naredba tar služi za arhiviranje datoteka. Sam koncept arhiviranja podrazumijeva sabiranje više datoteka u jednu. U

148 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

tom procesu se uz sam sadržaj datoteka, spremaju i ostali atributi kao što su prava pristupa, te vlasnici datoteka. Bitno je napomenuti da proces arhiviranja ne podrazumijeva i kompresiju u svrhu ocuvanjaˇ prostora za pohranu podataka. No, aplikacija nudi podršku za korištenje zasebnih alata za kompresiju, od koji su najpopularniji gzip i bzip2. U slijedecem´ primjeru prikazane su opcije tar naredbe, te su zatim arhivirane tri datoteke (Datoteka.txt, datoteka.txt i sa_ekstenzijom.EXT) u arhivsku datoteku imena backup.tar. Iako ekstenzija tar nije nužna, dobra je praksa jasno oznacitiˇ o kojem se tipu datoteke radi. Nakon arhiviranja, sa naredbom rm obrisane su originalne datoteke, na dva razlicitaˇ nacina.ˇ U prvom koraku nije korištena nijedna opcija, te je bilo potrebno potvrditi brisanje datoteke. U drugom koraku je odabrana opcija -f (eng. force, Never prompt) koja omogucava´ prisilno brisanje datoteka bez daljnjih upita korisniku. U zadnjem primjeru, ponovno je korištena tar naredba, no ovaj put za raspakiravanje arhive.

Na slici ispod su iz /sbin direktorija prekopirane neke aplikacije. Zatim su arhivirane u 3 razliciteˇ arhive. Jedna arhiva je bez kompresije, dok su druge dvije kompresirane koristeci´ razliciteˇ alate (opcija z za gzip i j za bzip2). Ukupna velicinaˇ zasebnih datoteka je otprilike 433KiB.

2.2. Prakticneˇ osnove racunalstvaˇ 149 TSRB_TEST Documentation, Release 1.0

Nekompresirana arhiva je velicineˇ 439KiB iz razloga što se, uz sadržaj datoteka, spremaju i njihovi dodatni atributi. Druge dvije arhive su kompresirane i velicineˇ su 184KiB, odnosno 216KiB. Cakˇ se na malom uzorku može primijetiti razlika u velicinamaˇ datoteka. Potrebno je napomenuti kako se radi o razlicitimˇ algoritmima kompresije, gdje jedan nije u svakoj situaciji bolji od drugog. Isto tako, kvaliteta algoritma za kompresiju se ne odlikuje samo u postotku same kompresije, vec´ i u brzini procesa, no to nije tema ovog poglavlja.

Virtualni stroj ne omogucava´ podizanje sustava sa tvrdog diska dok je USB pogon prikljucen,ˇ te ga je potrebno privre- meno maknuti iz konfiguracije, kako bi se provjerila ispravnost instalacije Windows98 sustava. Prvi korak je ugasiti virtualni stroj, te otici´ u Settings izbornik , kategorija Storage. Klikom na desnu tipku miša na VMUBDrive000.vmdk, odabrati opciju Remove Attachment. Datoteka ce´ ostati na disku,samo ce´ nestati iz konfigu- racije, kasnije se jednostavno doda nazad u konfiguraciju.

150 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Odspojiti USB pogon iz racunala,ˇ te pokrenuti virtualni stroj. Trebala bi se pojaviti ljuska MS Windows98 operaci- jskog sustava, kao potvrda ispravne instalacije. Ponovno ugasiti virtualni stroj, i dodati nazad VMUDrive000.vmdk datoteku. U Settings izborniku, kategorija Storage, kliknuti na “Controller:SATA” i sa odabrati opciju za dodavanje tvrdog diska na kontroler, te u slijedecem´ prozoru odabrati postojeci´ disk.

2.2. Prakticneˇ osnove racunalstvaˇ 151 TSRB_TEST Documentation, Release 1.0

Uci´ u direktorij sa imenom virtualnog stroja (obratiti pozornost gdje su spremljeni virtualni strojevi na tvrdom disku), te odabrati i ucitatiˇ VMUDrive000.vmdk datoteku u konfiguraciju. Ponovno pokrenuti virtualni stroj.

2.2.2.9 08 - Osnove korištenja HxD aplikacije

HxD je aplikacija koja uz znacajkeˇ hex editora nudi i mogucnosti´ pregleda i izmjene sadržaja tvrdog diska na razini sektora. S obzirom da se radi o Windows aplikaciji, nudi standardizirano grafickoˇ sucelje.ˇ Na Multiboot USB pogonu može se naci´ u Hirens BootCD live distribuciji, u kategoriji Editors/Viewers. Za pristupanje tvrdom disku, potrebno je aktivirati izbornik Extras u aplikaciji, te odabrati opciju Open Disk, kao što je prikazano na slijedecoj´ slici:

152 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U slijedecem´ prozoru prikazani su svi moguci´ objekti koji se mogu odabrati za pregled/izmjenu. Podijeljeni su u dvije kategorije : Logickiˇ diskovi i Fizickiˇ diskovi. Logickiˇ diskovi predstavljaju particije na nekom tvrdom disku, dok fizickiˇ diskovi predstavljaju cijeli uredaj.¯ Sam prikaz sadržaja je isti, nebitno radi li se o particiji ili tvrdom disku, i moguce´ je i preko opcije fizickogˇ diska pristupiti prostoru particije, no potrebno je znati pocetnuˇ adresu te particije ( adresiranje opisano na prošloj stranici u kategoriji MBR). U ovom primjeru na slici, mogu se vidjeti poznate oznake stvorenih particija, uz dodatak RamDrive i MiniXP particija stvorenih od strane Hirens BootCDa, te 4 fizickaˇ diska:

Tvrdi diskovi su identificirani samo po broju, te nije moguce´ iz ovog prozora sa sigurnošcu´ odabrati željeni disk vec´ je potrebno otvoriti sva 4 i proucitiˇ detaljnije. Cilj je otvoriti tvrdi disk na kojem se nalazi particije WIN98 i WIN7. NAPOMENA: U principu je cestoˇ moguce´ na temelju popisa particija logickiˇ zakljucitiˇ koji tvrdi disk bi se trebao otvoriti , no potrebno je poznavati strukturu diskova, a postupak nema garantirani uspjeh. RamDrive bi trebao predstavljati Hard Disk1 u ovom slucajuˇ , prema usporedbi sadržaja MultiBoot particija se nalazi na Hard Disk2 uredaju¯ i predstavlja USB pogon WIN98 i WIN7 particije se nalaze na Hard Disk3 uredaju¯ DOC particija se nalazi na Hard Disk4 uredaju¯ Iz popisa je vidljivo kako se particija DOC nalazi izmedu¯ WIN98 i WIN7 particija te može doci´ do zabune sa ko- risnickeˇ strane, te je zbog toga dobra praksa otvoriti sve fizickeˇ uredaje¯ i sadržaj particijskih tablica usporediti sa dokumentacijom. Standardno zadana vrijednost prikaza sadržaja u aplikaciji jest da se broj prikazanih bajtova prilagodava¯ širini prozora, što je potrebno izmijeniti, jer je standardna širina linije prilikom pregleda sektora tvrdih diskova 16B.

2.2. Prakticneˇ osnove racunalstvaˇ 153 TSRB_TEST Documentation, Release 1.0

Za to je potrebno u izborniku Extras odabrati opciju Options, zatim karticu View, te u njoj iskljucitiˇ opciju “Adapt to window width” i rucnoˇ postaviti “Byte per row” opciju na vrijednost 16. Potom oznacitiˇ opciju “Apply to existing windows, too”, i kliknuti na OK.

PROUCAVANJEˇ PRVOG SEKTORA TVRDOG DISKA U ovom primjeru prikazat ce´ se konkretni detalji particijske tablice tvrdog diska, na kojem se nalaze WIN98 i WIN7 particije (u ovom konkretnom slucajuˇ Hard Disk 3)

154 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon odabira prikazat ce´ se kompletan prostor tvrdog diska, pocevšiˇ od prvog sektora. Sadržaj je prikazan u hek- sadecimalnom i tekstualnom obliku (centralna dva stupca i desni stupac) koji je definiran adresama (lijevi stupac) zapisanim u heksadecimalnom obliku. Svaka linija sadrži tocnoˇ 16B podataka sa ukupno 32 linije u sektoru (ukupno 512B). Particijska tablica tvrdog diska pocinjeˇ na adresi 0x1BE (u 0x1B0 liniji predzadnji bajt), i u ovom slucajuˇ može se prepoznati po oznaci 80. Disk na koji nije instaliran nijedan operacijski sustav ce´ u principu imati prazan dio iznad particijske tablice, u kojem se inaceˇ treba nalaziti programski kod (Master Boot Code) za odabir i ucitavanjeˇ aktivne particije (na kojoj se nalazi operacijski sustav). Kao što je vec´ spomenuto, pocetakˇ particijske tablice nalazi se na adresi 0x1BE, i u ovom slucajuˇ pocinjeˇ sa vri- jednošcu´ 80, što znaciˇ da se radi o aktivnoj particiji (Podsjetiti se, opcija je postavljena ranije u Partition Wizard aplikaciji), odnosno BootFlag zastavica je aktivna(jedina druga ispravna vrijednost ovog bajta je 00, nijedna druga vrijednost u principu nije dozvoljena).Ukupna velicinaˇ particijske tablice je 64B, te sastoji se od 4 stavke, svaka po 16B, i svaka predstavlja jednu primarnu particiju. U slucajuˇ da je stavka kompletno ispunjena nulama (kao što su u ovom primjeru stavke 3 i 4), znaciˇ da nije ispunjen maksimum od 4 particije. U ovom primjeru, tvrdi disk ima samo 2 definirane particije. Raspisan sadržaj prve stavke particijske tablice 80 01 01 00 0C FE 3F 20 3F 00 00 00 A2 16 08 00 Raspisan sadržaj druge stavke particijske tablice 00 00 01 21 07 FE FF FF E1 16 08 00 1E C7 17 03 U primjeru ce´ biti objašnjena prva stavka, za vježbu samostalno objasniti drugu. Prvi bajt predstavlja BootFlag, i s obzirom da je postavljen u vrijednost 80, na particiji bi se trebao nalaziti neki

2.2. Prakticneˇ osnove racunalstvaˇ 155 TSRB_TEST Documentation, Release 1.0 operacijski sustav, odnosno Master Boot Code ce´ odabrati ovu particiju sa koje bi se trebao podici´ OS. Vrijednosti 010100 predstavljaju pocetneˇ Cylinder,Head,Sector adrese i zapisane su u CSH redoslijedu. Dodatnu komplikaciju stvara “little endian” nacinˇ zapisa u kojem je grupa bajtova zapisana na obrnut nacin,ˇ i to bajt po bajt. Dakle 01 01 00 su zapravo 01(H) 01(S) 00(C) adresa. Ujedno, bajt Sektora posuduje¯ 2 gornja bita za vrijednost cilindra, koja u njemu predstavljaju 2 donja bita. Iako CHS uglavnom nece´ biti temelj proucavanja,ˇ niti je potrebno u detalje znati izracun,ˇ u osnovi je dobro znati što je CHS adresiranje, odnosno svrhu te metode. 0C predstavlja tip datotecnogˇ sustava koji bi se trebao nalaziti na particiji, u ovom slucajuˇ ta vrijednost govori kako se radi o FAT32(LBA tip) vrsti datotecnogˇ sustava. FE 3F 20 predstavljaju završne Cylinder, Head, Sector adrese i zapisane su na identicanˇ nacinˇ kao i pocetneˇ adrese. 3F 00 00 00 je pocetnaˇ LBA adresa, isto zapisana u “little endian” nacinu,ˇ te se ispravno citaˇ na kao 00 00 00 3F, u heksadecimalnom zapisu. S obzirom da se nule na lijevoj strani u ovom obliku ne citaju,ˇ samo je potrebno vrijednost 3F pretvoriti u decimalni oblik, a to je 3*161 + 15*160 = 63. Znaciˇ pocetniˇ sektor prve particije nalazi se na sektoru 63. To je moguce´ odmah provjeriti u HxD aplikaciji tako da se odmah u Toolbaru upiše zadana vrijednost sektora, te je moguce´ u desnom stupcu išcitatiˇ stringove MSWIN4.1, WIN98 i FAT32, što naslucuje´ da se stvarno radi o stvorenoj WIN98 particiji.

I za kraj , vrijednost A2 16 08 00 predstavlja broj sektora koje ta particija zauzima, te je opet potrebno obrnuti redoslijed zapisa, bajt po bajt s desna nalijevo. Bitno je napomenuti da se obrce´ redoslijed iskljucivoˇ CIJELIH bajtova, dakle za primjer A2 se nece´ zapisati kao 2A. Rezultat zamjene redoslijeda ce´ biti 00 08 16 A2, te je tu vrijednost potrebno pretvoriti u decimalni oblik, a to je 8*164 + 1*163 + 6*162 + 10(A)*161 + 2*160 = 524288 + 4096 + 1536 + 160 + 2 = 530082 sektora. S obzirom da je jedan sektor velik 512B, 530082 * 512B = 271401984B, odnosno u megabajtima dvaput podijeliti sa 1024, te ce´ se dobiti krajnja vrijednost od 258,83MB, što odgovara veliciniˇ te particije. Odabir i kopiranje jednog dijela sadržaja Sa mišem se pozicionirati na pocetakˇ sadržaja za odabar, kliknuti i držati lijevu tipku miša, te povlacitiˇ sve do kraja željenog sadržaja. Zatim desnom tipkom miša kliknuti na odabrani sadržaj i odabrati opciju za kopiranje Copy. Isti postupak je moguce´ odraditi i samo sa tipkovnicom. Navigacijskim tipkama je potrebno pozicionirati kursor na pocetakˇ sadržaja za odabir, zatim pritisnuti i držati tipku SHIFT, te navigacijskim tipkama se locirati sve do kraja željenog sadržaja. Zatim pritisnuti kombinaciju tipki ALT+E (za aktiviranje izbornika Edit), te odabrati opciju Copy. Naravno, moguce´ je koristiti i standardnu kombinaciju tipki CTRL+C.

156 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Dodatno je moguce´ koristiti opciju Select block unutar Edit izbornika. U otvorenom prozoru potrebno je odabrati tip zapisa adrese (heksadecimalan, decimalan ili oktalan), prvu adresu bajta (eng. Start-offset), te krajnju adresu (eng. End-offset). Moguce´ je odabrati i samo prvu adresu te duljinu željenog odabira (eng. Length). Treba imati na umu kako prva adresa pocinjeˇ sa nulom.

Ljepljenje kopiranog sadržaja Sa mišem ili navigacijskim tipkama se pozicionirati na pocetakˇ dijela u sektoru gdje se želi zalijepiti kopirani sadržaj, aktivirati Edit izbornik, te odabrati opciju Paste write. Moguce´ je i koristiti kombinaciju tipki CTRL+B.

Na slici je prikazan primjer izmjene sadržaja na 2. sektoru (slobodno je mijenjati sadržaj u drugom sektoru, nijedan operacijski sustav ne koristi prostor na disku od 2.-63. sektora, prostor poznat po imenu “Remainder of track zero”). Ispuna odabranog sadržaja nulama

2.2. Prakticneˇ osnove racunalstvaˇ 157 TSRB_TEST Documentation, Release 1.0

Potrebno je odabrati željeni sadržaj, aktivirati Edit izbornik, te u njemu odabrati opciju Fill selection.

Unutar otvorenog prozora, pod opcijom “Fill pattern of pass” upisati heksadecimalnu vrijednost 00 te potvrditi izbor.

Kao posljedica ce´ se odabrani prostor popuniti nulama i biti ce´ oznacenˇ crvenom bojom. U ovom trenutku promjena još nije spremljena, te ako se želi, moguce´ je spremiti promjenu (File->Save ili kombinacijom tipki CTRL+S).

2.2.2.10 09 - Osnove korištenja GNU/Linux Fdisk aplikacije

Svrha aplikacije je manipulacija sadržajem particijske tablice nekog tvrdog diska. U nastavku biti ce´ opisane samo osnovne radnje u aplikaciji, i objašnjen minimalan skup radnji u GNU/Linux dis- tribuciji, kako bi se mogla uspješno koristiti aplikacija. U ovom dokumentu GNU/Linux nije tema, te kao takav nece´ biti detaljnije objašnjen. Do GNU/Linux Mint distribucije, može se na Multiboot USB pogonu doci´ u izborniku “Linux Distributions”, te odabrati Linux Mint iz izbornika. Nakon ucitavanjaˇ kliknuti mišem na ikonu prikazanu na slijedecoj´ slici.

158 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Pokrenuti ce´ se aplikacija za emulaciju terminala, iz koje ce´ se koristiti fdisk aplikacija. NAPOMENA: Sintaksa u GNU/Linux ljusci je osjetljiva na velika i mala slova, te tehnickuˇ korektnost upisa naredbe i njenih opcija, stoga je potrebno obratiti POSEBNU pozornost na ispravno upisan tekst. U MS-DOS ljusci, za izlazak iz trenutno radnog direktorija, dozvoljen je upis slijedece´ sintakse, sa istim rezultatom : cd.. CD.. cD_.. (_ oznacavaˇ razmaknicu, odnosno space tipku) U GNU/Linux ljusci, jedina dozvoljena opcenita´ sintaksa je prikazana u slijedecem´ primjeru : imeaplikacije_opcijeaplikacije_argumentiaplikacije U primjeru naredbe za promjenu radnog direktorija cd (change directory), znakovi .. su zapravo argument koji ap- likaciji govore kako se treba premjestiti za jedan nivo više u hijerarhiji direktorija. Prema pravilima sintakse GNU/Linux ljuske, jedina ispravna metoda upisa naredbe je slijedeca:´ cd_.. (znak _ SE NE UPISUJE DOSLOVNO, vec´ oznacavaˇ tipku razmaknice, odnosno “cd ..”) Dakle, za poziv ove aplikacije se iskljucivoˇ koriste mala slova, te razmak izmedu¯ poziva aplikacije i argumenata. U sljedecem´ primjeru, biti ce´ pozvane pomocne´ informacije aplikacije fdisk (najcešˇ ce´ svaka aplikacija nudi tu mogucnost´ pozivom opcije -h ili –help iza imena aplikacije): Naredba: fdisk -h

Prvo što bi trebalo primijetiti je “Usage” kategorija u kojoj je definiran opceniti´ nacinˇ korištenja aplikacije. Iza imena aplikacije (sva mala slova) se upisuju eventualne opcije (opisane ispod : -b, -c, -h. . . ) , te na kraju argument nad kojim ce´ se primijeniti radnje aplikacije. Izmedu¯ svakog upisanog objekta je obvezan razmak. S obzirom da ce´ se aplikacija koristiti za izmjene u particijskoj tablici, ciljani objekt ce´ biti cijeli fizickiˇ tvrdi disk, a ne particije. Ovisno radi li se o tvrdom disku povezanom na IDE ili SATA kontroler, putanje ce´ im biti kao u primjeru: /dev/sda (Prvi disk spojen na SATA kontroler) /dev/sdb (Drugi disk spojen na SATA kontroler)

2.2. Prakticneˇ osnove racunalstvaˇ 159 TSRB_TEST Documentation, Release 1.0

/dev/sdb (Prvi disk spojen na IDE kontroler) /dev/hdb (Drugi disk spojen na IDE kontroler) Kao što je vidljivo, diskovi se nalaze u direktoriju /dev, u kojem se nalaze svi prepoznati uredaji¯ operacijskog sustava. Svi uredaji¯ su prikazani kao datoteka, te je poznata logika GNU/Linux sustava “sve je datoteka”. Particije na diskovima su oznaceneˇ rednim brojem iza putanje uredaja,¯ na primjer : /dev/sdb1 (Prva particija u particijskoj tablici na drugom disku spojenom na SATA kontroler) /dev/hda3 (Treca´ particija u particijskoj tablici na prvom disku spojenom na IDE kontroler) U ovom primjeru bit ce´ prikazana izmjena particijske tablice tvrdog diska na kojem se nalaze WIN98 i WIN7 particije. U vježbi ce´ se prvo izbrisati particijska tablica, te ce´ se rucnoˇ unijeti osnovne informacije o particijama, kako bi im se kasnije moglo pristupiti. Prije bilo kakvih radnji, potrebno je vidjeti koje sve uredaje¯ za pohranu aplikacija fdisk prepoznaje (opcija –l prethodno prikazana u help outputu). Za to je potrebno koristiti fdisk sa povecanim´ privilegijama korisnika, a to se postiže unosom sudo naredbe ispred: Naredba: sudo fdisk –l

U izlaznom rezultatu može se primijetiti kako je prepoznato 3 uredaja¯ koja odgovaraju USB pogonu, te dva virtualna tvrda diska. Za informaciju, USB pogoni nece´ inaceˇ biti prepoznati kroz aplikaciju fdisk, no MultiBoot USB pogon

160 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0 ima stvoren MBR, te ga se zbog toga gleda kao tvrdi disk. Ispod svakog uredaja¯ prikazane su osnovne informacije izvuceneˇ iz particijske tablice, te je za drugi prepoznati disk (/dev/sdb) vidljivo kako se u njegovoj particijskoj tablici nalaze dvije particije. Ako se podaci usporede sa dokumentacijom, logicnoˇ je za pretpostaviti kako se zapravo radi o WIN98 i WIN7 parti- cijama. Nakon identifikacije, potrebno je kao argument aplikacije unijeti putanju željenog uredaja,¯ te dodatno upisati opciju korištenja “dos compatible” metode korištenja tvrdog diska (vidjeti help). Aplikaciju je potrebno ponovno pokrenuti koristeci´ povišene privilegije. Iza svakog imena aplikacije, opcije ili argumenta slijedi obavezan razmak, paziti na velika/mala slova, te posebnu pozornost obratiti na ispravnost sintakse! Naredba: sudo fdisk –c=dos /dev/sdb

U aplikaciji ce´ se prvo pojaviti poruka upozorenja kako “DOS-compatible” mode više nije podržan, no u ovom slucajuˇ bitno je koristiti disk sa tom opcijom. Opcije se odabiru iskljucivoˇ jednim slovom, te je prva predložena opcija poziv pomocnog´ izbornika (slovo m), te je u gornjoj slici i pozvana. Prije bilo kakvih izmjena particijske tablice i nakon svakog koraka izmjene, dobra je praksa provjeriti njen sadržaj (opcija p).

2.2. Prakticneˇ osnove racunalstvaˇ 161 TSRB_TEST Documentation, Release 1.0

Pretpostavimo da se radi o praznom tvrdom disku, ili da se u particijskoj tablici nalaze informacije o nekim drugim particijama na disku. Prvo je potrebno ocistitiˇ sadržaj trenutne tablice (slovo d, brisanje particije).

U slucajuˇ da se nalazi više particija u tablici, fdisk aplikacija ce´ prilikom brisanja pitati koji redni broj stavke treba obrisati (1-4). Na gornjoj slici je nakon prve obrisane tablice odmah nakon odabrana opcija ispisa particijske tablice, te se može primijetiti kako je ostala još jedna particija na drugoj poziciji (sdb**2**). Još jednom je pozvana opcija za brisanje particije, te je s obzirom da se radi o jedinoj particiji u tablici, automatski obrisana bez pitanja. Na slijedecoj´ slici može se primijetiti prazna particijska tablica:

162 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Tek u ovoj situaciji može se pristupiti stvaranju novih particija, odnosno adresiranju postojecih´ na tvrdom disku. Naime , samim time što su informacije o particijama obrisane iz tablice ne znaciˇ kako su i fizickiˇ one nestale sa disku, svi podaci particije su i dalje netaknuti. Ako se poznaju osnovne informacije te particije (BootFlag, pocetnaˇ i završna LBA adresa, te tip datotecnogˇ sustav), moguce´ ih je upisati u fdisk te im normalno kasnije pristupiti. Konkretno, ovdje se govori o alokaciji particije (podsjetiti se termina alociranog i nealociranog prostora u temi Partition Wizard aplikacije). Za vježbu ce´ se u ovom primjeru jednostavno upisati informacije prethodno obrisanih stavki u particijskoj tablici, odnosno alocirati ce´ se postojece´ particije na tvrdom disku. Za definiranje nove stavke u particijskoj tablici, odnosno dodavanje nove particije, potrebno je odabrati opciju sa slovom n (add a new partition). U slijedecem´ koraku potrebno je odabrati radi li se o primarnoj ili extended tipu particije. S obzirom da extended tip particije nece´ biti tema u ovim primjerima, uvijek se bira primarni tip particije (slovo p). Nakon toga potrebno je odabrati mjesto particije u tablici, uglavnom se prati odredeni¯ redoslijed, te se odabire prvo mjesto (broj 1). Zadnja dva koraka su upisivanje pocetnogˇ i završnog sektora, prema dokumentaciji. Na slijedecoj´ slici je prikazan proces stvaranja prve particije.

S obzirom da se na tvrdom disku nalaze dvije particije, potrebno je dodati još jednu stavku, postupak je prikazan na slijedecoj´ slici:

2.2. Prakticneˇ osnove racunalstvaˇ 163 TSRB_TEST Documentation, Release 1.0

Nakon što su stvorene particije, upisane su samo osnovne informacije o njima, odnosno granice adresa. Potrebno je još dodati BootFlag zastavicu na prvu particiju (opcija a, toggle a bootable flag), te promijeniti standardno zadani ID datotecnogˇ sustava (opcija t, change partition type ID), koji je u ovom trenutku 83 (svi standardni Linux datotecniˇ sustavi). Proces je prikazan na slijedecoj´ slici:

164 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U slucajuˇ da nije poznat heksadecimalni kod nekog tipa datotecnogˇ sustava, moguce´ je ispisati popis datotecnihˇ sustava i njihovih kodova opcijom l (pogledati gornju sliku).

2.2. Prakticneˇ osnove racunalstvaˇ 165 TSRB_TEST Documentation, Release 1.0

NAPOMENA: Potrebno je tocnoˇ pratiti korake, citatiˇ koje opcije ili vrijednosti aplikacija ocekuje,ˇ te paziti što se upisuje. Na primjer, korisnik je u slijedecem´ primjeru zaboravio na korak odabira primarne ili extended particije, te htio upisati stvaranje trece´ particije u tablici, što je završilo porukom o grešci.

Nakon što su provjerene vrijednosti u particijskoj tablici sa onima u dokumentaciji, potrebno je zapisati te promjene na tvrdi disk, s obzirom da su one još uvijek samo u radnoj memoriji. U slucajuˇ da se preskociˇ korak zapisivanja, nece´ biti nikakvih promjena u MBR. Promjene se zapisuju odabirom opcije w , nakon cegaˇ ce´ se automatski pokrenuti postupak izlaska iz aplikacije i vracanje´ u ljusku GNU/Linuxa. U principu je rad sa fdisk aplikacijom završen, te je potrebno ponovno pokrenuti racunalo.ˇ Dovoljno je upisati naredbu reboot u ljusci, no prije toga sa sudo naredbom omoguciti´ izvršavanje pod povecanim´ privilegijama.

166 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2.2.2.11 11 - Instalacija Microsoft Windows 10 operacijskog sustava

Ugasiti virtualni stroj, te ponovno maknuti VMUDrive000.vmdk iz popisa. Dodati ISO sliku Windows10 instalacije u virtualni CD-ROM uredaj¯ (Settings, kategorija Storage), na nacinˇ da se odabere ikona CD-a sa desne strane prozora, te kasnije opcija “Choose Virtual Optical Disk File. . . ”. U otvorenom prozoru potrebno je navigirati do lokacije na kojoj se nalazi ISO slika instalacijskog CD-a, te ju ucitati.ˇ

Pokrenuti virtualni stroj, te na samom pocetkuˇ pritisnuti tipku F12 i odabrati podizanje sa CD-ROM uredaja¯ (tipka c).

Bilo kojom tipkom potvrditi pokretanje instalacije, kao odgovor na slijedecu´ poruku:

Pricekatiˇ završetak procesa ucitavanjaˇ postupka za instalaciju.

2.2. Prakticneˇ osnove racunalstvaˇ 167 TSRB_TEST Documentation, Release 1.0

Nakon što se pojavilo grafickoˇ suceljeˇ instalacije, u prvom koraku je potrebno odabrati jezik za instalaciju, postavku formata za prikaz vremena, te odabir tipa tipkovnice. Odabrati opcije kao prema slijedecoj´ slici:

U slijedecem´ prozoru odabrati opciju “Install now”.

168 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Potrebno je potvrditi uvjete licence za korištenje ovog operacijskog sustava, te kliknuti na tipku Next za nastavak.

U ovom prozoru se pojavljuju dvije mogucnosti:´ • “Upgrade” ako se na racunaluˇ nalazi neka prošla verzija Windows operacijskog sustava, te se želi instalirati novija verzija, no sa sacuvanimˇ osobnim podacima i postavkama • Odabir “Custom” opcije ne cuvaˇ podatke na particiji, i instalira novu verziju operacijskog sustava Odabrati “Custom” opciju.

2.2. Prakticneˇ osnove racunalstvaˇ 169 TSRB_TEST Documentation, Release 1.0

U slijedecem´ prozoru je potrebno odabrati lokaciju, odnosno particiju za instalaciju Windowsa 10. Potrebno je dobro obratiti pozornost na prikazane particije, te usporediti informacije sa dokumentacijom. U labora- torijskim uvjetima je slika nešto drugacija,ˇ i prikazana su “Unallocated” podrucjaˇ izmedu¯ particija. Prisjetiti se kako se na racunalimaˇ u laboratoriju nalazi mnogo particija, te da “Unallocated” prostor samo znaciˇ da informacije o parti- cijama nisu unutar particijske tablice. U virtualnom racunaluˇ potrebno je odabrati WIN10 particiju za instalaciju, a u laboratoriju onu particiju koju zahtijeva zadatak laboratorijske vježbe.

U slijedecem´ koraku je prikazan proces kopiranja datoteka operacijskog sustava na tvrdi disk. Nakon završetka, operacijski sustav ce´ biti instaliran, i potrebno je konfigurirati par osnovnih postavki.

170 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon ponovnog pokretanja racunala,ˇ pojavljuje se prozor gdje je moguce´ preskocitiˇ provjeru integriteta podataka na disku. Ovdje se zapravo radi o provjeri ispravnosti FAT32 particije. Potrebno je dopustiti provjeru (ne preskociti),ˇ jer ce´ se poruka inaceˇ pojavljivati prilikom svakog pokretanja operacijskog sustava.

Zadnji korak same instalacije je pretraživanje uredaja¯ u racunalu,ˇ te automatska instalacija upravljackihˇ programa za njih (ako je moguce).´ Proces je automatski.

2.2. Prakticneˇ osnove racunalstvaˇ 171 TSRB_TEST Documentation, Release 1.0

Nakon završetka instalacijskog procesa, zapocinjeˇ proces osnovne konfiguracije sustava. U ovom koraku se nude preporuceneˇ postavke sustava (tipka “Express settings”), no potrebno je odabrati opciju gdje ce´ korisnik sam birati postavke koje želi, te je potrebno odabrati tipku “Customize”. U kucnim´ uvjetima neke opcije je poželjno aktivirati (u svrhu jednostavnijeg korištenja sustava), no za potrebe lab- oratorijskih vježbi, sve opcije je potrebno iskljuciti.ˇ Razlog tomu je što se neke opcije nece´ ni koristiti, a druge ce´ korisnik sam aktivirati prema potrebi. Na slijedecim´ slikama su prikazani svi koraci za iskljucivanjeˇ opcija.

172 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

2.2. Prakticneˇ osnove racunalstvaˇ 173 TSRB_TEST Documentation, Release 1.0

174 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Prijava na racunaloˇ je moguca´ na dva nacina,ˇ koristeci´ online (nalazi se u racunalnomˇ oblaku, eng. cloud, npr. Of- fice365 racun)ˇ ili lokalni korisnickiˇ racunˇ (nalazi se ili lokalno na samom racunalu,ˇ ili unutar organizacije na lokalnom domenskom poslužitelju, kao centralizirani pristup). Iako nije jasno naznaceno,ˇ za korištenje lokalno korisnickogˇ racunaˇ (koji ce´ se nalaziti na samom racunalu),ˇ potrebno je odabrati opciju “Join a local Active Directory domain”. U upisu je naznacenoˇ kako ce´ se prvo stvoriti lokalni korisnickiˇ racun,ˇ te je zatim racunaloˇ moguce´ povezati u domenu. Za potrebe ovih vježbi, racunaloˇ se nece´ povezivati u domenu, vec´ ce´ se koristiti samo lokalni korisnickiˇ racuni.ˇ

2.2. Prakticneˇ osnove racunalstvaˇ 175 TSRB_TEST Documentation, Release 1.0

U slijedecem´ prozoru, na virtualnom racunaluˇ potrebno je kao korisnickoˇ ime upisati PrezimeIme ucenika-ce,ˇ te lozinku korisnika (obvezno negdje zapisati lozinku). Lozinku je potrebno zapamtiti jer bez nje nece´ biti moguc´ pristup korisnickomˇ racunu.ˇ

U slijedecem´ koraku nudi se aktivacija usluge Cortana. Sama usluga imitira digitalnog osobnog asistenta kojem je

176 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

moguce´ zadati naredbe za postavljanje alarma, reproduciranje glazbe, dobivanje informacija o vremenskoj prognozi. S obzirom da se naredbe uglavnom zadaju glasom, te usluga zahtjeva pristup osobnim informacijama i navikama korisnika, nece´ se koristiti za potrebe laboratorijskih vježbi te je potrebno iskljucitiˇ uslugu.

Proces osnovne konfiguracije sustava je završio te ce´ se prikazati zasloni prijave korisnika, te automatske instalacije nadogradnji sustava.

2.2. Prakticneˇ osnove racunalstvaˇ 177 TSRB_TEST Documentation, Release 1.0

Krajnji korak je dopustiti racunaluˇ da bude pronadeno¯ unutar lokalne racunalneˇ mreže.

Za postizanje “dual boot” sustava izmedu¯ TinyCore linux distribucije i Windows 10 sustava, potrebno je izvršiti do- datnje radnje. Pokrenuti Windows Explorer aplikaciju ( WIN tipka + E kombinacija), te primijetiti popis prikazanih particija. Particija sa Windows10 instalacijom ce´ uvijek biti C: particija. Uocitiˇ da nije prikazana TinyCore Linux particija. Windows 10 nece´ automatski podignuti ( i dodati joj slovo) particiju na kojoj se nalazi FAT32 datotecniˇ sustav, te je potrebno to ucinitiˇ rucno.ˇ

2.2.2.12 12 - Konfiguracija TinyCore Linux / Windows 10 dual boot sustava

Za dodavanje slova TinyCore particije, potrebno je otici´ u Disk Management konzolu, na jedan od tri predložena nacinaˇ :

178 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

• Desnim klikom na Start tipku pojavljuje se izbornik sa raznim opcijama. Potrebno je odabrati opciju Disk Management • Pritisnuti na tipku Start, te u Search prozor upisati “diskmgmt.msc” • Pritisnuti na tipku Start, te u Search prozor upisati “disk management”, te odabrati iz popisa “Create and format hard disk partitions”

Primijetiti kako u popisu particija (stupac sa imenom Volume, Volume oznacavaˇ logickiˇ dio diska, odnosno particiju) TinyCore particija nema pridruženo slovo. Desnom tipkom miša kliknuti na WIN98 particiju, te odabrati opciju Change Drive Letter and Paths.

2.2. Prakticneˇ osnove racunalstvaˇ 179 TSRB_TEST Documentation, Release 1.0

Odabrati željeno slovo, no dovoljno je ostaviti preporuceneˇ vrijednosti, i samo kliknuti OK.

Nakon izvršenog postupka, uz ime TinyCore particije ce´ se prikazati i pridruženo slovo. U ovom trenutku ce´ se pokrenuti i AutoPlay opcija (ako nije isklucena)ˇ sa mogucnoš´ cu´ pristupa particiji, primijetiti promjenu u Task Bar dijelu ekrana.

Ponovno pokrenuti Windows Explorer aplikaciju, te uci´ u TinyCore particiju. Primijetiti kako se nalazi mali broj datoteka i direktorija u popisu. Razlog tome je što ostale datoteke imaju ili skriveni atribut (Hidden attribute) ili predstavljaju sistemske datoteke (System attribute). Za prikaz svih datoteka, u prozoru Windows Explorer aplikacije odabrati izbornik File, te opciju “Change folder and search options”.

180 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U otvorenom prozoru odabrati karticu View, te ucinitiˇ slijedece´ radnje : • Ukljucitiˇ opciju “Show hidden files,folders, and drives” • Iskljucitiˇ opciju “Hide extensions for known file types” • Iskljucitiˇ opciju “Hide protected operating system files (Recommended)”. Nakon odabira ove opcije, potrebno je još jednom potvrditi odabir u novom prozoru. Primijetiti kako se zašticenim´ datotekama operacijskog sustava smatraju one datoteke koje imaju aktivirane System i Hidden atribute.

2.2. Prakticneˇ osnove racunalstvaˇ 181 TSRB_TEST Documentation, Release 1.0

U prozoru kliknuti na tipke Apply te zatim OK, i pojaviti ce´ se potpun popis datoteka i direktorija koje se nalaze na TinyCore particiji.

Datoteku BOOTSECT.BAK preimenovati u linux.bst, kao pamtljivu oznaku da se radi o Linux BootSectoru. U oba slijedeca´ prozora odgovoriti potvrdno ( jedan upozorava na promjenu ekstenzije, dok drugi upozorava kako se mijenja ime datoteke sa System atributom).

Za posljednji skup radnji u postavkama Dual Boot procesa, potrebno je rucnoˇ dodati stavku u boot izborniku Win- dows10 operacijskog sustava. Kliknuti na Start tipku, upisati cmd, te u popisu kliknuti desnom tipkom miša na cmd ( Command Prompt) aplikaciju. Odabrati opciju “Run as administrator”.

182 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U slucajuˇ da User Account Control (UAC) servis nije iskljucen,ˇ pojaviti ce´ se prozor u kojem je potrebno dodatno potvrditi željenu radnju. Postavke Boot Manager programa ( ugraden¯ od verzije Windows Vista sustava) mijenjaju se standardno kroz aplikaciju bcdedit koja dolazi sa operacijskim sustavom. Za pocetakˇ samo pozvati aplikaciju naredbom bcdedit bez dodatnih opcija, te proucitiˇ prikazane informacije.

2.2. Prakticneˇ osnove racunalstvaˇ 183 TSRB_TEST Documentation, Release 1.0

Prije bilo kakve promjene u postavkama, dobro je spremiti pricuvnuˇ kopiju BCD Store strukture. Na Windows boot particiji (uobicajenoˇ se u korijenskom direktoriju te particije nalaze direktorij Boot i datoteka bootmgr). Potrebno je prvo u korijenskom direktoriju te particije stvoriti neki direktorij (u ovom slucajuˇ ime direktorija je bcdbackup ). Zatim se kao u slijedecem´ primjeru upisuje naredba za spremanje pricuvneˇ kopije. U slucajuˇ bilo kakve pogreške u daljnjim koracima, uvijek postoji originalna konfiguracijska datoteka kojom se može vratiti prvobitno stanje boot konfiguracije

Za dodavanje nove stavke u Boot izborniku, potrebno je upisati slijedeci´ niz naredbi i opcija:

Objašnjenje svake opcije: • /create stvara novu stavku • /d je oznaka za “description” odnosno opis stavke, tj. prikaz u Boot izborniku • /application je metoda pokretanja sustava, odnosno ukazuje na to gdje ce´ se nalaziti bootloader (mali program zadužen za ucitavanjeˇ operacijskog sustava) operacijskog sustava. U ovom slucajuˇ se radi o programu zapisanom u boot sector, koji je spremljen u datoteci preimenovanoj u prošlom koraku (linux.bst). Rezultat naredbe ce´ biti stvorena stavka u boot izborniku. Potrebno je oznacitiˇ i kopirati generirani niz znakova nakon izvršenja procesa. Ponovnim pozivom naredbe bcdedit može se primijetiti kako stavka još nije prikazana u strukturi. Razlog tomu je što još nisu definirani objekti unutar nje, koji ce´ se definirati u slijedecem´ koraku.

184 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U prva dva koraka se definira particija na kojoj ce´ se nalaziti bootloader željenog TinyCore Linux operacijskog sus- tava, te sama putanja i ime datoteke. Preostaje još odabrati mjesto u boot izborniku (u ovom slucajuˇ bit ce´ na posljed- njem mjestu). Kao dodatak može se definirati vrijeme koje ce´ se cekatiˇ prije nego se pocneˇ pokretati predodredeni¯ (eng. default) operacijski sustav. Nakon što su sve bitne stavke definirane, pozivom naredbe bcdedit bit ce´ prikazana i novostvorena stavka.

Prilikom slijedeceg´ ponovnog pokretanja racunala,ˇ pojavljuje se boot izbornik sa dvije stavke. Primijetiti kako se TinyCore Linux stavka nalazi na posljednjem mjestu.

2.2. Prakticneˇ osnove racunalstvaˇ 185 TSRB_TEST Documentation, Release 1.0

2.2.2.13 12 - Spremanje/Vracanje´ pricuvneˇ kopije Windows 10 sustava – Symantec Ghost

Nakon instaliranih operacijskih sustava i konfiguriranog “dual boot” sustava potrebno je spremiti pricuvneˇ kopije podataka sa obje particije. U tu svrhu ce´ se koristiti Symantec Ghost aplikacija. Potrebno je imati na umu strukturu particija na uredajima¯ za pohranu kako bi snalaženje u aplikaciji Ghost bilo lakše.

U konfiguraciji virtualnog racunalaˇ nalaze se dva tvrda diska. Prvi tvrdi disk je podijeljen na dvije particije (TinyCore + WIN10 operacijski sustavi) dok se na drugom tvrdom disku nalazi jedna particija (PrezimeRazred), i ona je nami- jenjena za pohranu pricuvnihˇ kopija i ostalih podataka. Na trecoj´ particiji potrebno je stvoriti novi direktorij u kojem ce´ biti spremljene pricuvneˇ kopije operacijskih sustava, te u njega kopirati izvršne datoteke Symantec Ghost aplikacije (nalaze se u GHOST direktoriju na USB pogonu). Pokrenuti virtualno racunaloˇ sa prikljucenimˇ USB pogonom (prema prethodnim uputama). U Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce´ se slijedeci´ izbornik te je u njemu potrebno odabrati “Mini Windows XP” opciju. Radi se o “live” verziji Windows XP operacijskog sustava sa integri- ranim raznim administrativnim alatima. Nakon ucitavanjaˇ “Mini Windows XP” sustava, pojaviti ce´ se radna površina. Pokrenuti aplikaciju Windows Explorer (ili preko ikone na površini ili kombinacijom tipki WIN + E).

186 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Iz popisa prikazanih particija ponekad je teže zakljucitiˇ koja je particija ucitanaˇ pod kojim slovom (oznake particija pomažu ako se mogu prepoznati) :

Kao dodatnu pomoc´ za snalaženje, moguce´ je pokrenuti “Disk Management” konzolu ( Tipka Start –> Programs –> Disk Management )

U grafickomˇ prikazu, sad je moguce´ prepoznati 3 uredaja,¯ od kojih je prvi USB pogon. Particija koja ce´ služiti za spremanje pricuvnihˇ kopija operacijskih sustava ucitanaˇ je pod slovom E: u ovom slucaju.ˇ Stvoriti direktorij imena “IMAGE” u korijenskom direktoriju te particije, te prekopirati izvršne datoteke Symantec Ghost paketa aplikacija u stvoreni direktorij.

2.2. Prakticneˇ osnove racunalstvaˇ 187 TSRB_TEST Documentation, Release 1.0

Opis datoteka u direktoriju : • GHOST.EXE – Symantec Ghost aplikacija namijenjena za DOS okruženje • GHOST32.EXE – Symantec Ghost aplikacija namijenjena za Windows okruženje • GHOSTEXP.EXE – Aplikacija za pregled pricuvnihˇ kopija u obliku strukture direktorija UVOD U SYMANTEC GHOST APLIKACIJU Pokrenuti GHOST32.EXE aplikaciju. U svim slijedecim´ koracima poželjno je koristiti iskljucivoˇ tipkovnicu jer je lakše izvršavati postupke i manja mogucnost´ pogreške. Prvi ekran koji ce´ se prikazati nakon pokretanja aplikacije je prozor sa osnovnim informacijama o proizvodu i verziji.

Primijetiti kako je tipka “OK” oznacenaˇ sa bijelim slovima. To znaciˇ kako je ta tipka trenutno aktivna ( informacija je bitna za kasnije korake). Dovoljno je tipkom Enter potvrditi i prozor ce´ se zatvoriti. Prikazati ce´ se osnovni izbornik (primijetiti koja je tipka oznacenaˇ sa bijelim slovima) :

188 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Kretanje kroz izbornike se postiže navigacijskim tipkama, te je za otvaranje podizbornika dovoljno pritisnuti tipku za navigaciju udesno ( u ovom slucajuˇ tipke Enter ili razmaknica ce´ postici´ isti rezultat) Podizbornik je podijeljen na 3 osnovne kategorije : Disk, Partition i Check.

DISK KATEGORIJA U Disk kategoriji nalaze se opcije za operacije koje se ticuˇ kompletnih tvrdih diskova. Jedna od popularnijih opcija koja danas ima popularan termin “Disk clonning” ( kloniranje diskova) u ovom kontekstu se zove “Local Disk – To Disk” ( obratiti pozornost na nacinˇ citanjaˇ željenih funkcija). Radi se o postupku prebacivanja sadržaja kompletnog tvrdog diska ( bez obzira na broj particija) na neki drugi tvrdi disk. S druge strane , postoje opcije “Local Disk – To Image” i “Local Disk – From Image”. U prvoj opciji, sadržaj kompletnog tvrdog diska se sprema u neku odredišnu datoteku. U ovom postupku je bitno napomenuti kako zadana ( eng. default) opcija spremanja u datoteku sprema samo koristan sadržaj na disku, odnosno ne sprema se sektor-po- sektor. Rezultat takvog nacinaˇ spremanja znaciˇ kako ce´ pricuvnaˇ kopija biti velika onoliko koliko je koristan sadržaj na tvrdom disku. U suprotnoj situaciju, operacija sektor-po-sektor ce´ spremati ukupan broj sektora koji se nalaze na tvrdom disku, odnosno pricuvnaˇ kopija ce´ biti velika onoliko kolika je ukupna velicinaˇ tvrdog diska.

Primjer: Kada bi se koristila sektor-po-sektor metoda spremanja pricuvneˇ kopije tvrdog diska na kojem se nalaze particije TinyCore i WIN10 (prisjetiti se strukture), ukupna velicinaˇ te datoteke bi u ovom slucajuˇ bila 25GB bez obzira kolika

2.2. Prakticneˇ osnove racunalstvaˇ 189 TSRB_TEST Documentation, Release 1.0 je popunjenost prostora na tom tvrdom disku. Cestoˇ se takav nacinˇ spremanja zove i “sirov” ( eng. raw) jer nije implementirana nikakva inteligentna logika i prostor diska se kopira doslovno bez obzira na kolicinuˇ korisnog sadržaja. Za razliku od prve metode, zadana postavka Ghost aplikacije ce´ biti spremanje pricuvneˇ kopije tvrdog diska na in- teligentan nacin,ˇ odnosno velicinaˇ pricuvneˇ kopije ce´ ovisiti o popunjenosti tvrdog diska korisnim podacima, i stupnju kompresije prilikom spremanja te pricuvneˇ kopije. U slijedecem´ primjeru su prikazane tri pricuvneˇ kopije koje sadrže podatke prvog tvrdog diska, na kojem se nalaze particije TinyCore i WIN10 sa stvorenim datotecnimˇ sustavima (FAT32 i NTFS), no u ovom trenutku nijedan operacijski sustav na njima, niti se ne nalazi nijedna datoteka/direktorij na njima, odnosno, mogu se smatrati praznima. Datoteke se razlikuju u velicini,ˇ gdje se može jasno primijetiti utjecaj na odabir razine kompresije prilikom stvaranja pricuvneˇ kopije, odnosno odabira “sektor-po-sektor” metode.

NAPOMENA: NIJEDNA OD OVIH OPCIJA NECE´ SE KORISTITI ZA POTREBE LABORATORIJSKIH VJEŽBI, VEC´ SU OPISANE U SVRHU INFORMACIJA PARTITION KATEGORIJA

U Partition kategoriji nalaze se opcije za operacije koje se ticuˇ individualnih particija koje se nalaze na tvrdim diskovima. Opcija “Local Partition – To Partition” oznacavaˇ proces kloniranja kompletnog sadržaja jedne particije na drugu particiju. Opcija “Local Partition – To Image” oznacavaˇ proces spremanja kompletnog sadržaja jedne particije u pricuvnuˇ datoteku, odnosno izrada pricuvneˇ kopije. Popularan termin za ovaj proces naziva se u engleskom jeziku “Backup image”. Opcija “Local Partition – From Image” oznacavaˇ proces vracanja´ sadržaja iz neke pricuvneˇ datoteke na odredišnu particiju. Popularan termin za ovaj proces naziva se u engleskom jeziku “Restore image”. Zadnje dvije opcije ( “Local Partition – To Image” i “Local Partition – From Image” ) su jedine dvije opcije potrebne poznavati za potrebe laboratorijskih vježbi. CHECK KATEGORIJA U Check kategoriji nalaze se opcije za provjeru integriteta sadržaja na tvrdom disku ili pricuvnojˇ kopiji tvrdog diska/particije.

190 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

SPREMANJE PRICUVNEˇ KOPIJE PARTICIJA (BACKUP) Biti ce´ opisani postupci za spremanje TinyCore i WIN10 particija. Iz IMAGE direktorija na trecoj´ particiji (PrezimeRazred u ovom slucaju)ˇ pokrenuti ghost32.exe aplikaciju. Preporuka je koristiti iskljucivoˇ tipkovnicu za upravljanje aplikacijom. Navigirati do izbornika Local -> Partition -> To Image, te potvrditi odabranu opciju (tipka Enter). Kao na slijedecoj´ slici, biti ce´ prikazan popis svih prepoznatih uredaja¯ za pohranu, koji se sastoji od USB pogona ( Drive1, može se prepoznati po veliciniˇ uredaja),¯ dva tvrda diska ( Drive2 i Drive3), te na kraju opcija ukupnog zbroja svih prepoznatih particija (one koje se nalaze u particijskim tablicama na uredajima)¯ na svim uredajima¯ za pohranu (OS Volumes). U ovom koraku je potrebno odabrati lokaciju particije cijiˇ sadržaj se želi spremiti (izvor ili na engleskom jeziku “source”). Od sve 4 opcije, samo Drive2 ili Drive3 ulaze u mogucnost´ na kojima se nalazi particija. U ovom slucajuˇ Drive2 je tvrdi disk na kojem se nalaze TinyCore i WIN10 particije, te je potrebno i odabrati tu opciju.

U slijedecem´ koraku potrebno je odabrati željenu particiju iz popisa. Primijetiti kako je opcija OK trenutno onemogucena.´ Pozicionirati se na TinyCore particiju, te aktivirati odabir (tipka Enter). Opcija OK ce´ se u omoguciti,´ te je potrebno odabrati tu opciju ( jednom pritisnuti tipku TAB).

2.2. Prakticneˇ osnove racunalstvaˇ 191 TSRB_TEST Documentation, Release 1.0

Na slijedecoj´ slici može se primijetiti kako je opcija OK aktivirana i odabrana, te je dovoljno potvrditi odabir (tipka Enter).

U slijedecem´ prozoru može se uocitiˇ particija, i puna putanja na koju ce´ biti spremljena pricuvnaˇ kopija ( Current path na donjem dijelu prozora). U ovom trenutku je dovoljno samo pocetiˇ upisivati ime pricuvneˇ kopije particije TinyCore ( za ovaj primjer ce´ biti upisano ime TinyCorecore, u kojem oznaka “core” oznacavaˇ samo particiju na kojoj je instaliran operacijski sustav, bez dodanih upravljackihˇ programa ili aplikacija).

192 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U slijedecem´ koraku potrebno je odabrati razinu kompresije prilikom stvaranja pricuvneˇ kopije, odabrati opciju visoke kompresije (eng. High). Ispod prozora može se još jednom provjeriti ispravnost odabira: SOURCE PARTITION Type:c [Fat32], 258MB, 1MB used, TinyCore from local drive [2], 25600MB Izvorišna particija se nalazi na drugom tvrdom disku (Local Drive2,velicinaˇ disk 25600 MB), velicinaˇ particije 258MB (zauzece´ particije 1MB), tip datotecnogˇ sustava particije FAT32 (oznaka u heksadecimalnom obliku 0C), oznaka par- ticije je TinyCore DESTINATION FILE Local file E:\IMAGE\TinyCorecore Puna putanja i ime datoteke u koju ce´ se spremiti pricuvnaˇ kopija sadržaja izvorišne particije

2.2. Prakticneˇ osnove racunalstvaˇ 193 TSRB_TEST Documentation, Release 1.0

Potvrditi postupak stvaranja pricuvneˇ kopije particije.

Nakon stvaranja pricuvneˇ kopije, pojavit ce´ se poruka o uspješno obavljenom postupku, te odabrati opciju Continue. Nakon odabira, pojaviti ce´ se pocetniˇ izbornik Symantec Ghost aplikacije.

Isti postupak ponoviti za spremanje WIN10 particije ( ime datoteke pricuvneˇ kopije WIN10core).

194 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

VRACANJE´ PRICUVNEˇ KOPIJE PARTICIJA (RESTORE) Biti ce´ opisani postupci za vracanje´ sadržaja pricuvnihˇ kopija na TinyCore i WIN10 particije. Iz IMAGE direktorija na trecoj´ particiji (PrezimeRazred u ovom slucaju)ˇ pokrenuti ghost32.exe aplikaciju. Preporuka je koristiti iskljucivoˇ tipkovnicu za upravljanje aplikacijom. Navigirati do izbornika Local -> Partition -> From Image, te potvrditi odabranu opciju (tipka Enter). Iz popisa svih pricuvnihˇ kopija (u ovom slucajuˇ TinyCorecore.gho i WINDOWS10core.gho) prvo odabrati Tiny- Corecore.gho (U toj datoteci nalazi se spremljen sadržaj TinyCore particije). Prikazat ce´ se informacije sadržaja TinyCorecore.gho pricuvneˇ kopije. Aplikacija je prepoznala kako se u datoteci nalazi particija oznake TinyCore, velicineˇ 258MB (zauzece´ particije 1MB) te FAT32 datotecnogˇ sustava. Još jednom provjeriti radi li se o ispravnim podacima, i potvrditi odabir (tipka Enter).

Na slijedecoj´ slici je potrebno odabrati odredišni tvrdi disk na kojem se nalazi particija koja ce´ se obnoviti. Radi se o tvrdom disku iz prošlog primjera spremanja pricuvneˇ kopije particije (Drive2).

2.2. Prakticneˇ osnove racunalstvaˇ 195 TSRB_TEST Documentation, Release 1.0

Nakon odabira odredišnog tvrdog diska, potrebno je odabrati odredišnu particiju koja se nalazi na tom disku, na koju ce´ se vratiti sadržaj iz pricuvneˇ kopije. Odabrati TinyCore particiju i potvrditi odabir (tipka Enter).

Provjeriti još jednom informacije odabranih postupaka, i potvrditi vracanje´ sadržaja pricuvneˇ kopije na particiju.

Informacije ce´ biti obrnutog redoslijeda u odnosu na spremanje pricuvneˇ kopije : SOURCE PARTITION Type:c [FAT32], 258MB, 1MB used, TinyCore, from Local file E:\IMAGE\TinyCorecore.GHO, 25600MB

196 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

U pricuvnojˇ datoteci na punoj putanje E:\IMAGE\TinyCorecore.gho nalaze se informacije o spremljenoj particiji : velicinaˇ particije 258MB (zauzece´ particije 1MB), tip datotecnogˇ sustava particije FAT32 (oznaka u heksadecimalnom obliku 0C), oznaka particije je TinyCore DESTINATION FILE Type:b [FAT32], 258MB from Local drive [2], 25600MB Odredišna lokacija na koju ce´ se raspakirati sadržaj pricuvneˇ kopije (TinyCorecore.gho) je particija na drugom tvrdom disku (Drive2 velicineˇ 25600MB), velicinaˇ particije je 258MB, oznaka datotecnogˇ sustava je FAT32 Nakon vracanja´ pricuvneˇ kopije, pojavit ce´ se poruka o uspješno obavljenom postupku, te odabrati opciju Continue. Nakon odabira, pojaviti ce´ se pocetniˇ izbornik Symantec Ghost aplikacije. Izaci´ iz aplikacije.

Ovime je završena procedura spremanja i vracanja´ pricuvneˇ kopije particija na tvrdom disku.

2.2.2.14 14 - Upravljanje korisnickimˇ racunimaˇ u Windows 10 operacijskom sustavu

Korisnickiˇ racunˇ je skup raznih postavki i informacija koje govore operacijskom sustavu kojim datotekama i direktori- jima smije taj korisnik pristupiti, kojim mrežnim objektima ima pristup, kako izgleda okruženje radne površine, itd. Pomocu´ korisnickogˇ racunaˇ omogucen´ je pristup i rad na operacijskom sustavu. Osnovni atributi nekog korisnickogˇ racunaˇ su: • Korisnickoˇ ime • Lozinka • Korisnickaˇ grupa kojoj pripada (može pripadati u više grupa odjednom) • Tip korisnickogˇ racunaˇ ( Administrator, Standardni korisnik, Gost) Prilikom stvaranja svakog korisnickogˇ racuna,ˇ stvara se i njegov jedinstveni identifikacijski broj, SID (eng. Security IDentifier), te se sve odluke o pravima pristupa nekom objektu postavljaju prema tom broju, a ne prema korisnickomˇ imenu (o pravima korisnika nešto kasnije). Pravilo je da SID nekog sigurnosnog objekta ( racunalo,ˇ korisnik, grupa) mora biti jedinstven u mreži ili domeni. Iznimku tog pravila predstavljaju racuniˇ koji imaju isti SID na svim instalaci- jama Windows operacijskog sustava kao što su : Everyone, System , Builtin, itd. Prilikom svake nove instalacije operacijskog sustava stvara se jedinstveni SID. Struktura SIDa je opisana u slijedeca´ 4 primjera: • standardni Administrator korisnickiˇ racunˇ ( stvara se prilikom instalacije sustava , te je automatski onemogucen´ nakon stvaranja) • prvi korisnickiˇ racunˇ stvoren od strane korisnika tokom instalacije (automatski nasljeduje¯ administratorska prava, dakle prvi administratorski racunˇ u sustavu) • SYSTEM korisnickiˇ racunˇ ( stvara se prilikom instalacije sustava , ima najviše privilegije od svih racuna,ˇ no radi se o specijalnom racunu,ˇ nece´ biti detaljno obraden¯ u ovom dokumentu) • Everyone korisnickiˇ racunˇ (predstavlja svakog korisnika na sustavu, vrijedi globalno, SID je identicanˇ na svim instalacijama na svijetu)

2.2. Prakticneˇ osnove racunalstvaˇ 197 TSRB_TEST Documentation, Release 1.0

Administrator SID : S-1-5-21-2642376952-1522586937-214818887-500 Korisnik1 (samo primjer korisnickogˇ imena) SID : S-1-5-21-2642376952-1522586937-214818887-1000 SYSTEM SID : S-1-5-18 Everyone SID : S-1-1-0 S - Slovo koje oznacavaˇ kako je slijedeci´ niz znakova zapravo SID 1 - Revizija (verzija) SIDa, zasad se uvijek radi o vrijednosti 1 5 - Autoritet koji ima prava stvaranja navedenog SIDa (nece´ biti detaljno objašnjeno, vrijednost 5 oznacavaˇ NT Au- thority i vrijedi uglavnom za sve stvorene korisnickeˇ racuneˇ i grupe) 21 - Uglavnom oznacavaˇ kako ce´ slijedeci´ niz znakova biti stvoren za lokalno racunaloˇ ili domenu 18 - U ovom slucajuˇ broj oznacavaˇ RID ( eng. Relative IDentifier) za SYSTEM korisnickiˇ racunˇ 2642376952-1522586937-214818887 - Jedinstveno generiran broj koji oznacavaˇ racunaloˇ u nekoj mreži, ili identificira domenu 500- Oznacavaˇ RID sigurnosnog objekta. Brojevi od <1000 stvoreni su prilikom instalacije operacijskog sustava, odnosno, nije ih stvorio korisnik. Broj 500 ce´ uvijek oznacavatiˇ korisnickiˇ racunˇ sa imenom Administrator 1000- Oznacavaˇ RID sigurnosnog objekta. Brojevi >1000 stvoreni su prilikom stvaranja bilo kojeg korisnickogˇ racunaˇ ili grupe od strane korisnika nakon instalacije operacijskog sustava. Iako je sama struktura SIDa nekog objekta prilicnoˇ komplicirana, dovoljno je znati samo slijedece´ : • SID se uglavnom sastoji od slijedece´ 3 komponente : • S-1-5-21-2642376952-1522586937-214818887-1000 Informacije uglavnom vezane uz ovlasti onog tko je generirao SID Nasumice stvoren jedinstveni broj koji oznacavaˇ neko racunaloˇ u mreži, ili domenu RID objekta, broj iznad 1000 vrijedi za sve objekte stvorene od strane nekog korisnika, nakon instalacije operacijskog sustava • Sigurnosna prava na neki objekt se primjenjuju prema SID vrijednosti, a ne prema korisnickomˇ imenu ili imenu racunalaˇ • Kada se obriše korisnickiˇ racunˇ iz sustava i stvori novi racunˇ sa istim imenom, SID nece´ biti isti • Ako se promijeni naziv nekog korisnickogˇ racunaˇ (ili bilo koji drugi atributi), SID ce´ ostati nepromijenjen Prilikom instalacije Windows 7 operacijskog sustava stvara se administratorski korisnickiˇ racunˇ imena Administrator (RID ovog racunaˇ je uvijek 500). No, nakon stvaranja, racunˇ se postavlja kao onemogucen´ iz sigurnosnih razloga. Iz tog razloga, prvi korisnickiˇ profil koji se stvara od strane korisnika (postavke nakon instalacije) dobiva administratorska prava, odnosno postaje dio Administrators grupe. Taj korisnickiˇ profil ce´ imati RID vrijednost od 1000 i za svakog slijedeceg´ stvorenog korisnika ili grupe ce´ se RID vrijednost povecati´ za 1. Upravljanje korisnickimˇ racunalaˇ moguce´ je na 4 nacinaˇ : • Control Panel izbornik • Computer Management konzola

198 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

• Command Prompt suceljeˇ • PowerShell suceljeˇ (nece´ biti obraden¯ u ovom dijelu dokumenta) Neke od ovih metoda omogucavaju´ samo osnovnu konfiguraciju korisnickihˇ profila. Upravljanje korisnickimˇ racunimaˇ iz Control Panel izbornika Potrebno je pokrenuti Control Panel izbornik, te odabrati “User Accounts and Family Safety” (u slucajuˇ da je ukljucenˇ pregled prema kategoriji) ili “User Accounts” (u slucajuˇ da je ukljucenˇ pregled samo ikona). Mogucnosti´ su prikazane na slijedece´ dvije slike.

U otvorenom prozoru je standardno prikazan izbornik za promjenu opcija trenutno prijavljenog korisnika, te je potrebno odabrati “Manage another account” opciju.

U slijedecem´ prozoru za stvaranje novog korisnika potrebno je odabrati “Create a new account” opciju.

2.2. Prakticneˇ osnove racunalstvaˇ 199 TSRB_TEST Documentation, Release 1.0

Potrebno je upisati željeno korisnickoˇ ime racuna,ˇ tip korisnickogˇ racunaˇ i zatim potvrditi stvaranje odabirom opcije “Create Account”. Kod odabira tipa racuna,ˇ moguce´ je odabrati standardnog korisnika ili administratora. Razlika je u tome što ce´ administrator imati dodatnu pripadnost Administrators grupe uz standardnu Users grupu. Na ovo je potrebno obratiti pažnju kod upravljanja pravima korisnika ili grupa, pogotovo kod korištenja eksplicitnih zabrana (kasnije u dokumentu).

U popisu korisnika je moguce´ vidjeti o kojem se tipu korisnika radi. Za primjer su stvorena dva korisnika : PrimjerA ( kao administrator) i PrimjerS (kao standardni korisnik).

200 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Iz Control Panel izbornika nije moguce´ vidjeti kojoj grupi pripada korisnik, te je potrebno pokrenuti Computer Management konzolu, “Local Users and Groups” izbornik. U “Users” izborniku je moguce´ vidjeti kojim grupama pripada svaki specificniˇ korisnik, dok se u “Groups” izborniku može vidjeti koji sve korisnici pripadaju odabranoj grupi. Sa prikaz kojim grupama pripada korisnik, potrebno je odabrati “User” izbornik, desni klik na željeni ko- risnickiˇ profil i odabrati Properties. U otvorenom prozoru, potrebno je odabrati karticu “Member of” za prikaz pripadnosti grupama. Na slijedecem´ primjeru jasno je prikazana pripadnost grupama korisnika stvorenih u prošlom koraku. Korisnik “PrimjerA” pripada u dvije grupe, Users i Administrators. Više o ugradenim¯ korisnickimˇ grupama i standardnim pravima te namijenjenim ulogama može se procitatiˇ na slijedecoj´ poveznici : https://technet.microsoft.com/en-us/library/cc770756(v=ws.11).aspx

U prošlom primjeru prilikom stvaranja novih korisnickihˇ profila nisu dodane lozinke za zaštitu prilikom prijave u

2.2. Prakticneˇ osnove racunalstvaˇ 201 TSRB_TEST Documentation, Release 1.0 operacijski sustav. Za stvaranje nove lozinke, u popisu korisnika (Control Panel izbornik), potrebno je odabrati željeni korisnickiˇ profil te zatim “Create a password” opciju.

U novom prozoru je potrebno dvaput upisati lozinku (drugi put za potvrdu ispravno upisane lozinke) te u zadnjem prozoru pomoc´ u slucajuˇ da se korisnik ne može sjetiti lozinke (eng. Hint). Upisane lozinke su osjetljive na velika i mala slova, te je potrebno obratiti pozornost na to. Pomoc´ za lozinku ne bi smjela jasno upucivati´ na postavljenu lozinku, vec´ samo kao savjet kako bi se samo taj korisnik lakše sjetio. U laboratorijskim vježbama , lozinke ce´ uvijek morati biti jednake korisnickomˇ imenu.

U slucajuˇ brisanja korisnickogˇ racuna,ˇ potrebno je odabrati željeni racun,ˇ te opciju “Delete the account”.

U slijedecem´ prozoru postoji mogucnost´ kopiranja korisnickihˇ datoteka na radnu površinu u svrhu stvaranja pricuvneˇ kopije.

202 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

NAPOMENA: Korisnickiˇ profil se stvara tek prilikom prve prijave u sustav. Struktura direktorija se kopira iz “\Users\Default” direktorija na particiji sa Windows operacijskim sustavom. Tek kad je profil stvoren, može se spremiti kopija u slucajuˇ brisanja korisnickogˇ racuna.ˇ

Upravljanje korisnickimˇ racunimaˇ iz Computer Management konzole U pokrenutoj konzoli potrebno je odabrati izbornik “Local Users and Groups”. U podizborniku “Users” prikazani su svi stvoreni korisnickiˇ racuni.ˇ Za razliku od prikaza u Control Panel izborniku, ovdje ce´ biti prikazani i onemoguceni´ korisnickiˇ racuniˇ (npr. Administrator je stvoren i onemogucen´ automatski tokom instalacije sustava). Onemoguceni´ racuniˇ su oznaceniˇ sa strelicom prema dolje u prikazu ikone.

U podizborniku “Groups” prikazane su sve korisnickeˇ grupe. Mnoge korisnickeˇ grupe su automatski stvorene pri- likom instalacije operacijskog sustava , i gledaju se kao ugradene¯ u sustav (eng. BuiltIn groups). Dodatno se mogu primijetiti dvije naknadno stvorene grupe “Gosti” i “Korisnici”. Pojednostavljeno, grupe su jedna vrsta kontejnera u kojem se nalaze clanovi,ˇ te postavljanje odredenih¯ prava ili zabrana na neku datoteku ili direktorij automatski vrijedi za sve clanoveˇ te grupe, te je u tu svrhu olakšana administracija. U sustavima sa puno korisnika, grupe su jedna od metoda stvaranja odredene¯ logickeˇ hijerarhije korisnika i njihovih prava.

Za stvaranje novog korisnika, potrebno je odabrati podizbornik “Users” te u padajucem´ izborniku prozora odabrati opciju “Action->New User.. . ”. Drugi nacinˇ je desnim klikom miša kliknuti na praznu površinu sa popisom korisnika, i zatim odabrati opciju “New User”.

2.2. Prakticneˇ osnove racunalstvaˇ 203 TSRB_TEST Documentation, Release 1.0

U otvorenom prozoru potrebno je navesti podatke o novom korisniku, kao što je prikazano u slijedecem´ primjeru:

Opis stavki u prozoru : • User name - Prikaz korisnickogˇ imena (ovo je polje obvezno!) • Full name - Puno ime korisnika (prikazuje se prilikom prijave korisnika u sustav) • Description - Opisne informacije korisnika • Password - Zaštita korisnickogˇ profila lozinkom • Confirm password - Sadržaj polja mora biti jednako gornjem • User must change password at next logon - Korisnik ima obvezu promjene lozinke prilikom slijedece´ prijave na sustav • User cannot change password - Korisnik nema pravo promijeniti pridodanu lozinku • Password never expires - Lozinka nema vijek trajanja • Account is disabled - Korisnickiˇ racunˇ je onemogucen,´ korisnik se ne može prijaviti u sustav U stvarnim sustavima se cestoˇ za korisnickaˇ imena profila koriste kombinacije imena i prezimena korisnika (jedan primjer je prikazan u gornjoj slici), te se rijetko koriste neki opceniti´ nazivi (tipa Korisnik1). Za potrebe laboratorijskih

204 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

vježbi uglavnom ce´ se koristiti opceniti´ nazivi. Opcija obvezne promjene lozinke prilikom slijedece´ prijave korisnika se obicnoˇ primjenjuje u situacijama kada je korisnik zaboravio svoju lozinku, te ju je potrebno resetirati (samo korisnici sa administratorskim ovlastima mogu to napraviti). Nakon što je stara lozinka resetirana, administrator upisuje neku novu koja je poznata i administratoru i tom korisniku. U toj situaciji se ukljucujeˇ opcija obveze promjene lozinke, kako bi novu lozinku poznavao samo taj korisnik. Onemogucavanje´ racunaˇ je opcija koja se koristi ,za primjer, u situacijama gdje korisnik samo privremeno svake godine treba imati mogucnost´ pristupa sustavu. Kada bi se svaki put brisao korisnickiˇ racun,ˇ i stvarao novi (cakˇ i sa identicnimˇ korisnickimˇ imenom) , treba se sjetiti kako svaki put stvara novi SID broj, te je potrebno svaki puta konfigurirati prava za tog korisnika, što je administracijsko opterecenje.´ U tu svrhu je kvalitetnije rješenje samo privremeno onemoguciti´ prijavu korisnika u sustav. Nakon ukljucivanjaˇ navedene opcije, korisnickoˇ ime više nece´ biti prikazano u popisu prilikom prijave u sustav. Za stvaranje nove korisnickeˇ grupe, potrebno je odabrati podizbornik “Groups” te u padajucem´ izborniku prozora odabrati opciju “Action->New Group. . . ”. Drugi nacinˇ je desnim klikom miša kliknuti na praznu površinu sa popisom korisnika, i zatim odabrati opciju “New Group”.

U otvorenom prozoru potrebno je navesti podatke o novoj grupi, te eventualno dodati željene clanoveˇ u grupu (opcija Add). Prilikom dodavanja clanova,ˇ potrebno je upisati korisnickoˇ ime racunaˇ

Iz Computer Management konzole (u prošlom poglavlju) moguce´ je vidjeti popis grupa, no ne može se primijetiti koje su grupe stvorene prilikom instalacije sustava, a koje su naknadno dodane od strane korisnika nakon instalacije. Kao što je navedeno , svaki sigurnosni objekt (korisnickiˇ racun,ˇ korisnickaˇ grupa. . . ) ima vezan uz sebe sigurnosni identifikator SID. Popis svih objekata (korisnici, korisnickeˇ grupe, specijalni objekti kao što su sustavski racuni)ˇ

2.2. Prakticneˇ osnove racunalstvaˇ 205 TSRB_TEST Documentation, Release 1.0

moguce´ je prikazati u komandnoj liniji (eng. Command prompt). U slijedecem´ primjeru prikazan je popis svih grupa i njihov pripadajuci´ sigurnosni identifikator.

Iz slike se jasno može primijetiti kako su grupe “Gosti” i “Korisnici” naknadno dodane jer se u SID oznaci nalazi i identifikacijski broj racunalaˇ ( broj 3052370195-1277775261-3487442991), te je njihov RID veci´ od 1000. Ostale grupe imaju drukcijiˇ SID broj te je potrebno identificirati pripadnost i tip navedenih grupa. Za to je potrebno ispisati popis svih sustavskih racuna,ˇ kao u slijedecem´ primjeru :

Na dnu liste moguce´ je uocitiˇ poseban tip objekta naziva “BUILTIN”. Radi se o posebnom tipu objekta cijiˇ se clanoviˇ stvaraju tokom same instalacije operacijskog sustava i njihov opseg identifikacije vrijedi iskljucivoˇ za taj operacijski sustav. To je moguce´ opisati na slijedecem´ primjeru. Pretpostavka je kako se na nekom racunaluˇ nalaze dva Microsoft Win- dows operacijska sustava (XP, Vista, 7, 8, 10. . . ). Svaki operacijski sustav ce´ imati vec´ ugradene¯ grupe istog imena, za primjer Administrators grupa, sa identicnimˇ SID brojem (za Administrators grupu SID je S-1-5-32-544). No s druge strane, naknadno stvorene grupe (npr. Korisnici) na oba operacijska sustava ce´ imati razliciteˇ SID brojeve. Iz gornjih slika može se primijetiti kako sve grupe stvorene prilikom instalacije sustava spadaju u “BUILTIN” domenu (opseg te domene je iskljucivoˇ vezan za taj operacijski sustav). Iz tog razloga, njihov SID broj ne sadrži dodatan identifikacijski broj racunala.ˇ Za brisanje korisnickihˇ racunaˇ kroz Computer Management konzolu potrebno je desnim klikom miša odabrati ko- risnika (Local Users and Groups->Users izbornik), te odabrati opciju “Delete”, kao što je prikazano u slijedecem´ primjeru:

206 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Nakon odabira te opcije, za razliku od Control Panel izbornika (gdje se pojavljuje upit žele li se spremiti,odnosno zadržati, datoteke i direktoriji korisnika koji se briše sa sustava), ovdje se ne pojavljuje mogucnost´ spremanja strukture korisnickogˇ profila, vec´ upozorenje vezano uz SID broj. Ta problematika opisana je nedavno u tekstu kroz podrucjeˇ onemogucavanja´ korisnika.

Bitno je napomenuti kako se ovom metodom brisanja korisnika ne brišu i podaci, odnosno struktura korisnickogˇ profila (u C:\Users\ direktoriju), te je taj postupak potrebno obaviti rucno.ˇ U slucajuˇ provjere postavki direktorija obrisanog korisnika, moguce´ je vidjeti kako sve ovlasti ima nepoznati korisnik (bez korisnickogˇ imena). U popisu je prikazan samo SID tog nepoznatog korisnika, no radi se zapravo o SIDu obrisanog korisnickogˇ racuna.ˇ Iz tog razloga, novi korisnici ne mogu preuzeti vec´ postojece´ SID brojeve na sustavu, odnosno SID brojevi se ne mogu ponovno koristiti za nove korisnickeˇ racune.ˇ

2.2. Prakticneˇ osnove racunalstvaˇ 207 TSRB_TEST Documentation, Release 1.0

Upravljanje korisnickimˇ racunimaˇ iz Command Prompt suceljaˇ Jedan od fleksibilnijih nacinaˇ upravljanja sustavom je korištenjem komandne ljuske operacijskog sustava. Iako je ucenjeˇ korištenja kombinacija naredbi u pocetkuˇ kompleksniji od istog zadatka grafickomˇ sucelju,ˇ mogucnosti´ su vece.´ Isto tako, proces je moguce´ jednostavno automatizirati kroz skripte, te kasnije (uz eventualne modifikacije) iste skripte ponovno koristiti, što u grafickomˇ suceljuˇ nije moguce´ postici.´ U ovom poglavlju, cijeli proces je i dalje usmjeren na upravljanje korisnickimˇ racunima,ˇ te se za to koriste dva osnovna seta naredbi : net i wmic. NET naredba je u osnovi namijenjena za upravljanje mrežnim resursima kao što je mrežno dijeljenje datoteka i direk- torija, upravljanje mrežnim poslovima ispisa (mrežni pisaci),ˇ dodavanje/brisanje racunalaˇ u domeni, itd. No korisnickiˇ racuniˇ i grupe su isto tako zapravo mrežni objekti, iako su cestoˇ ograniceniˇ na lokalna racunala.ˇ U kontekstu ovog podrucjaˇ znacajneˇ su slijedece´ naredbe: - Net accounts - Net user - Net group (vrijedi samo za domensku infrastrukturu) - Net localgroup WMIC je konzolna verzija WMI (eng. Windows Management Instrumentation) infrastrukture. Radi se o odredenom¯ skupu funkcija uglavnom stvorenih za pregled informacija o mnogim dijelovima operacijskog sustava, no cestoˇ i za konfiguraciju. U kontekstu ovog podrucjaˇ znacajneˇ su slijedece´ naredbe: - Wmic Useraccount - Wmic Group - Wmic Sysaccount NAPOMENA : Svaka od gorenavedenih naredbi ima opcije specificneˇ za tu naredbu, te je njih moguce´ saznati stan- dardnom metodom poziva pomoci´ (npr. “net /?”, “net user /?”, “wmic useraccount get /?”). U principu je moguce´ za svaku stavku pozvati pomoc´ kako bi se proucilaˇ upotreba i smisao naredbe. Stvaranje i brisanje korisnickihˇ racunaˇ iz Command Prompt suceljaˇ Za stvaranje novog korisnickogˇ racunaˇ , koristi se naredba “net user” sa slijedecim´ mogucnostima:´ Stvaranje novog korisnika bez lozinke

208 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0 net user korisnik1 /ADD Stvaranje novog korisnika sa lozinkom (jednaka korisnickomˇ imenu) net user korisnik2 korisnik2 /ADD Stvaranje novog korisnika sa lozinkom, no uz obvezan unos lozinke nakon stvaranja (sigurnija opcija od prošle jer se lozinka ne prikazuje na zaslonu) net user korisnik3 * /ADD Stvaranje novog korisnika sa slucajnomˇ lozinkom koja je prikazana nakon stvaranja korisnickogˇ racunaˇ net user korisnik4 /ADD /RANDOM Pregled postojecih´ korisnika u sustavu net user Brisanje korisnika net user korisnik1 /DELETE Za stvaranje nove korisnickeˇ grupe , koristi se naredba “net localgroup” sa slijedecim´ mogucnostima:´ Stvaranje nove korisnickeˇ grupe net localgroup Korisnici /ADD Stvaranje nove korisnickeˇ grupa sa opisom net localgroup Gosti /add /comment:”Gosti tvrtke” Brisanje korisnickeˇ grupe net localgroup Gost /DELETE Izmjena postavki korisnickihˇ racunaˇ iz Command Prompt suceljaˇ Za izmjenu postavki korisnickihˇ racunaˇ , koristi se naredba “net accounts” te izmjene vrijede za sve korisnike u sustavu. Ispis mogucih´ postavki za izmjenu: net accounts Force user logoff how long after time expires?: Never Minimum password age (days): 0 Maximum password age (days): 42 Minimum password length: 0 Length of password history maintained: None Lockout threshold: Never Lockout duration (minutes): 30 Lockout observation window (minutes): 30 Computer role: WORKSTATION Izmjena minimalne potrebne dužine lozinke na 8 znakova: net accounts /minpwlen:8 Izmjena broja mogucih´ upisanih netocnihˇ lozinki prije zakljucavanjaˇ korisnickogˇ racunaˇ net accounts /lockoutthreshold:5

2.2. Prakticneˇ osnove racunalstvaˇ 209 TSRB_TEST Documentation, Release 1.0

Za izmjenu postavki specificnihˇ korisnickihˇ racuna,ˇ koristi se naredba “wmic useraccount”. Pregled postojecih´ korisnika u sustavu wmic useraccount (rezultati su grupirani u mnoge stupce, od kojih svaki stupac predstavlja jedan moguci´ objekt pretraživanja, što je prikazano u slijedecem´ primjeru) Pregled postojecih´ korisnika u sustavu, no prikaz iskljucivoˇ korisnickihˇ imena wmic useraccount get name Pregled postojecih´ korisnika u sustavu, no prikaz iskljucivoˇ korisnickihˇ imena i SID broja wmic useraccount get name,sid (uocitiˇ RID vrijednosti u SID broju u primjeru dolje) C:\Windows\system32>wmic useraccount get name,sid Name SID Administrator S-1-5-21-3303623748-671368537-3114359584-500 Guest S-1-5-21-3303623748-671368537-3114359584-501 korisnik1 S-1-5-21-3303623748-671368537-3114359584-12147 korisnik2 S-1-5-21-3303623748-671368537-3114359584-12148 korisnik3 S-1-5-21-3303623748-671368537-3114359584-12149 mirko S-1-5-21-3303623748-671368537-3114359584-12146 TEST S-1-5-21-3303623748-671368537-3114359584-1000 Prikaz mogucih´ opcija za izmjenu postavki korisnickogˇ racuna:ˇ C:\Windows\system32>wmic useraccount set /? Property set operations. USAGE: SET NOTE: can be more than one property name separated by commas Each property name should be followed by ‘=’ and its value. The following writeable properties are available: Property Type Operation Disabled boolean Read/Write FullName string Read/Write Lockout boolean Read/Write PasswordChangeable boolean Read/Write PasswordExpires boolean Read/Write PasswordRequired boolean Read/Write NAPOMENA: BOOLEAN tip varijable ocekujeˇ TRUE/FALSE tip unosa. Zakljucavanjeˇ korisnickogˇ racunaˇ (mora se upisati “where name=”ime_racuna” “) wmic useraccount where name=”korisnik1” set disabled=true Izmjena više opcija odjednom za istog korisnika

210 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0 wmic useraccount where name=”korisnik1” set disabled=false,fullname=Korisnik1,passwordrequired=true Izmjena više opcija odjednom za korisnickeˇ racuneˇ koji pocinjuˇ sa imenom “korisnik” wmic useraccount where (name like “korisnik%”) set disabled=true,passwordrequired=false -U ovoj situaciji upit za korisnike je potrebno unijeti izmedu¯ zagrada Kompleksniji primjeri izmjena postavki korisnickihˇ racunaˇ iz Command Prompt suceljaˇ Stvaranje više korisnika odjednom korištenjem FOR petlje FOR petlja kaže da se za svaku varijablu (u ovom slucajuˇ %i) unutar nekih uvjeta (u ovom slucajuˇ brojevi 1,2 i 3) izvrši (naredba do) odredeni¯ skup naredbi. for %i in (1 2 3) do net user korisnik%i /add Stvaranje više korisnika odjednom korištenjem FOR petlje, ovaj puta 10 izvršenja. for /L %i in (1,1,10) do net user korisnik%i /add U zagradi su definirani pocetniˇ broj (1), visina pomaka koraka (1), te ukupni broj izvršenja petlje (10). Prikaz specificnogˇ korisnika uz korištenje preusmjeravanje izlaznih rezultata kao ulazne argumente u slijdecu´ naredbu (eng. piping, koristi se znak cijevi | - “ALT GR”+”Q”). Slijedeca´ naredba pretražuje zadani filter u svakoj liniji teksta te ispisuje cijele linije sa pogodenim¯ filterom. wmic useraccount list brief | findstr “korisnik2”

2.2.2.15 Prilog 1 – Raspored znakova na tipkovnici

STANDARDNA TIPKOVNICA SA HRVATSKIM RASPOREDOM ZNAKOVA

STANDARDNA TIPKOVNICA SA AMERICKIMˇ RASPOREDOM ZNAKOVA

2.2. Prakticneˇ osnove racunalstvaˇ 211 TSRB_TEST Documentation, Release 1.0

2.3 Klijentski otvoreni operacijski sustavi

Contents:

2.3.1 Skripta

Contents:

2.3.2 Laboratorijske vježbe

Contents:

2.3.2.1 LV01

Contents:

Korištenje MANpage aplikacije i opcija pomoci´ raznih aplikacija

Cilj vježbe Svrha vježbe je upoznati korisnike sustava sa metodologijom korištenja razlicitihˇ mogucnosti´ pomoci´ prilikom otkri- vanja nacinaˇ za korištenje nepoznatih opcija aplikacija. S obzirom da se korisnici cestoˇ nalaze u situacijama gdje je potrebno postici´ neke željene radnje sa aplikacijama s kojima nisu dosad imali iskustva (ili su zaboravili tocanˇ postupak), iznimno je bitno naucitiˇ metode kako je moguce´ pomoci´ sam sebi, te samostalno otkriti nove funkcije i mogucnosti´ aplikacija.

Predradnje Potrebno je imati pokrenut virtualni stroj (ili fizickiˇ stroj, ovisno o okolini u kojoj se nalazi korisnik) sa odabranom Linux distribucijom (baziranom na Debianu). Korisnik treba biti uspješno prijavljen na sustav, te pokrenuti neku aplikaciju za korištenje ljuske sustava (poželjno je koristiti bash okruženje).

212 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Zadaci: 1. Pozvati manpage bez ikakvih opcija i argumenata, te uocitiˇ rezultat. (samo man) 2. Pozvati pomoc´ za korištenje manpage aplikacije. Uocitiˇ kako se cestoˇ opcije mogu upisati u skracenom´ i punom obliku (-a ili --all). (man -h, man --help, man -?) 3. Pozvati manpage , a u argument upisati ponovno ime aplikacije. Tako ce´ se ucitatiˇ manual za korištenje manpage aplikacije. (man man) 4. Izvježbati kretanje unutar manuala (isprobati svrhu navigacijskih tipki, page up down tipki, space). Uocitiˇ podjelu manuala na kategorije (NAME,SYNOPSIS,DESCRIPTION. . . ). Detaljno procitatiˇ DESCRIPTION dio za upoznavanje sa svrhom aplikacije, posebno obratiti pozornost na brojeve sekcija i njihov opis. Izaci´ iz manpage aplikacije ( tipka q). 5. Pozvati manpage za aplikaciju passwd ( aplikacija služi za izmjenu lozinke korisnika, man passwd). Uocitiˇ na vrhu zaslona kod imena aplikacije dodatan broj upisan unutar zagrade, on oznacavaˇ sekciju unutar koje je kategoriziran. Navigirati skroz do dna manpage dokumenta, do odjeljka „SEE ALSO“, te uocitiˇ još jedan manpage sa imenom passwd, no sa drukcijimˇ brojem sekcije (broj 5). Izaci´ iz manpage aplikacije. 6. Pretražiti sve manpage stranice vezane uz rijecˇ passwd (proucitiˇ svrhu opcije -k, primjer korištenja man -k mkdir). 7. Ponoviti prošli zadatak, no ogranicitiˇ pretragu samo na željene sekcije 1 i 5 (proucitiˇ svrhu opcije -S, primjer korištenja man -S 1,3,7 -k mkdir). Uocitiˇ kako se u rezultatima nalazi i manpage za passwd iz sekcije 5 (File formats) sa opisom “the password file”. 8. Pozvati manpage za opis strukture passwd datoteke. Potrebno je prilikom poziva upisati željenu sekciju (primjer korištenja man 2 mkdir). Proucitiˇ osnovni opis namjene i strukture datoteke, te njenu lokaciju. 9. Pomocu´ aplikacije man pronaci´ lokacije manpage dokumenata za rijecˇ passwd (proucitiˇ svrhu opcije -w, primjer korištenja man -w mkdir). Primijetiti kako je prikazana samo jedna lokacija dokumenta, a ticeˇ se passwd aplikacije (broj 1 u imenu passwd.1.gz oznacavaˇ kako dokument spada u sekciju 1, a to je “Executable programs or shell commands”). Kako bi se saznale lokacije svih dokumenata, to je potrebno navesti opcijom (proucitiˇ svrhu opcije -a, primjer korištenja man -a -w mkdir). 10. Otvoriti manpage dokument direktnim pozivanjem na datoteku. (primjer korištenja man puna\_putanja\_datoteke).

Note: Manpage je samo aplikacija koja ucitavaˇ pripremljenu dokumentaciju korištenja razlicitihˇ aplikacija na sus- tavu, strukture bitnih konfiguracijskih datoteka, sistemskih funkcija. . . Neke dokumentacije u sebi sadrže i primjere korištenja, no sama ideja sadržaja je više tehnickeˇ naravi, a ne detaljnih uputa za korištenje. No, bez obzira, radi se o aplikaciji koja je uglavnom prva tockaˇ za pomoc´ korištenja i upoznavanja razlicitihˇ izvršnih ili konfiguracijskih datoteka, te servisa.

11. Postaviti korijenski direktorij kao radni direktorij, te prikazati njegov kompletan sadržaj (prisjetiti se kako su sakrivene datoteke na datotecnomˇ sustavu). Koju opciju je potrebno koristiti? 12. Iz korijenskog direktorija, prikazati sadržaj /etc direktorija, s uvjetima da se prikazuje kompletan sadržaj, sa detaljima svake stavke (dozvole, vlasnik, velicina,ˇ datum i vrijeme izmjene. . . ), te velicinomˇ datoteka prikazanom u ljudski citljivomˇ obliku. 13. Iz korijenskog direktorija prikazati sadržaj Documents direktorija korisnickogˇ /home direktorija. Upotrebom kombinacije opcije postici´ slijedece:´ • Prikazati kompletan sadržaj direktorija, osim ugradenih¯ . i .. direktorija • Prikazati detalje svake stavke direktorija • Prikazati velicineˇ u ljudski citljivomˇ obliku

2.3. Klijentski otvoreni operacijski sustavi 213 TSRB_TEST Documentation, Release 1.0

• Prikazati sve poddirektorije (rekurzivni prikaz) 14. Pokušati pozvati manpage za naredbu cd. Što se dogodilo? 15. Upisati naredbu help. Može li se u popisu naredbi uocitiˇ cd? 16. Pozvati pomoc´ za naredbu cd pomocu´ help.

Note: Interne naredbe nemaju svoje manpage stranice, vec´ ih je potrebno pozivati pomocu´ help naredbe.

2.3.2.2 LV02

Contents:

Priprema novog tvrdog diska za korištenje

Cilj vježbe Svrha vježbe je upoznati korisnike sustava sa konfiguracijom novih tvrdih diskova (stvaranje particija i datotecnihˇ sustava). Korisnik ce´ uspješno dodati novi virtualni tvrdi disk, particionirati ga, te postaviti razliciteˇ datotecneˇ sustave na particije. Zatim ce´ uspješno podici´ novostvorene particije (u obliku samo za citanje,ˇ a zatim i sa mogucnoš´ cu´ zapisivanja na njih), te saznati detalje o njima.

Predradnje Potrebno je imati ugašen virtualni stroj.

Zadaci: 1. Dodati novi tvrdi disk u virtualni stroj, velicineˇ 1GB (stvoriti novi disk). Pokrenuti virtualni stroj, te se prijaviti u operacijski sustav. 2. Ispisati popis tvrdih diskova iz komandne linije (aplikacija fdisk, koristiti sa root ovlastima) 3. Proucitiˇ Master Boot Record polja od postojeceg´ i novog diska. Koja je razlika? Zašto? 4. Koristeci´ fdisk aplikaciju stvoriti prazan DOS MBR na novom disku i provjeriti rezultat (dodan serijski broj diska i 55AA). 5. Pomocu´ fdisk aplikacije, na novostvorenom MBR sektoru stvoriti dvije 512MB particije. Tip datotecnogˇ sustava prve particije je EXT4, a druge NTFS. Zapisati promjene. 6. Ponovno proucitiˇ MBR novog tvrdog diska. Što se može uociti?ˇ Zapisati podatke o novim particijama 7. Na ekranu prikazati sadržaj prvog sektora prve i druge particije novog diska (kombinacija aplikacija dd i xxd). Što se može zakljuciti?ˇ Zašto su sektori prazni? 8. Stvoriti EXT4 datotecniˇ sustav na prvoj particiji (aplikacija mkfs.ext4, Label max 16 znakova, opcija verbose) 9. Stvoriti NTFS datotecniˇ sustav na drugoj particiji (aplikacija mkfs.ntfs, opcije fast, verbose i label) 10. Ponovno proucitiˇ izgled prvog sektora prve i druge particije novog diska. Što se može zakljuciti?ˇ Saznati zašto je prvi sektor EXT4 datotecnogˇ sustava i dalje prazan. 11. Stvoriti dva direktorija PrvaEXT4 i DrugaNTFS unutar /mnt/ direktorija.

214 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

12. Podici´ (eng. mount) EXT4 particiju (type, device, dir, verbose, -o rw) unutar PrvaEXT4 direktorija. 13. Pokušati stvoriti direktorij unutar PrvaEXT4 direktorija. Je li radnja uspješna? Koje je znacenjeˇ poruke? 14. Promijeniti vlasnika mount tockeˇ (direktorij PrvaEXT4) kao prijavljenog korisnika (aplikacija chown) 15. Ponovno pokušati stvoriti direktorij unutar PrvaEXT4 direktorija. Što se dogodilo? Je li radnja uspješna? 16. Podici´ NTFS particiju (type, device, dir, verbose, -o ro) unutar DrugaNTFS direktorija. 17. Pokušati promijeniti vlasnika mount tocke.ˇ Je li radnja uspješna? Koje je znacenjeˇ poruke? 18. Spustiti (eng. unmount) NTFS particiju. 19. Ponovno ju podici,´ ali ovaj puta sa pravima trenutno prijavljenog korisnika (koristiti opciju UID, tocanˇ ID korisnika saznati u /etc/passwd datoteci). 20. Pokušati stvoriti neki direktorij unutar DrugaNTFS direktorija. Što se dogodilo? Zašto? 21. Ponovno pokrenuti virtualni stroj. Što se dogodilo sa EXT4 i NTFS particijama,jesu li još uvijek podignute unutar direktorija? 22. Saznati UUID particija (aplikacija blkid) 23. Proucitiˇ sadržaj /etc/fstab datoteke (aplikacija man). 24. Dodati particije u /etc/fstab datoteku prema UUID broju. 25. Spremiti pricuvnuˇ kopiju MBR sektora novog diska (koristeci´ redirekciju u datoteku).

2.3.2.3 LV03

Contents:

Struktura i rad sa direktorijima

Proucitiˇ Hijerarhija Unix-like datotecnogˇ sustava: https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf Pojmovi: Tree struktura , apsolutne i relativne putanje, varijable Nove naredbe: cd, tree, pwd, ls, mkdir, rmdir

Cilj vježbe Rad sa direktorijima

Predradnje Potrebno je imati pokrenut virtualni stroj (ili fizickiˇ stroj, ovisno o okolini u kojoj se nalazi korisnik) sa odabranom Linux distribucijom (baziranom na Debianu). Korisnik treba biti uspješno prijavljen na sustav, te pokrenuti neku aplikaciju za korištenje ljuske sustava (poželjno je koristiti bash okruženje).

Zadaci: 1. Proucitiˇ ponudenu¯ dokumentaciju pozivom na man hier. Proucitiˇ svrhu samo navedenih direktorija:

2.3. Klijentski otvoreni operacijski sustavi 215 TSRB_TEST Documentation, Release 1.0

a./ b. /bin c. /boot d. /dev e. /etc f. /home g. /media h. /mnt i. /proc j. /root k. /sbin l. /tmp m. /var n. /var/log 2. Prikazati vizualnu strukturu korijenskog direktorija koristeci´ tree naredbu ( u slucajuˇ da naredba ne postoji, instalirati ju sa sudo apt-get install tree, sam proces (de)instalacije aplikacije bit ce´ objašnjen u kasnijim vježbama). Rezultat naredbe ce´ prikazati iznimno detaljnu (kompletnu) strukturu datotecnogˇ sustava, te ce´ proces biti dugotrajan. 3. Tocnoˇ izmjeriti vrijeme trajanja izvršavanja procesa koristeci´ time naredbu (samo ju upisati ispred prethodne naredbe). Objašnjenje : a. real stavka prikazuje ukupno trajanje procesa ukljucujuˇ ci´ i vrijeme blokiranja procesa (npr. dok cekaˇ izvršavanje I/O operacija) b. user stavka prikazuje ukupno vrijeme korištenja procesorskih resursa u tzv. “user-mode” nacinuˇ rada. Ovo je tocnoˇ vrijeme izvršavanja procesa iskljucivoˇ vezanu za njegovo izvršavanje. c. sys stavka prikazuje ukupno vrijeme korištenja procesorskih resursa u tzv. “kernel-mode” nacinuˇ rada. U ovo vrijeme ulaze operacije kao što su sistemski pozivi. 4. Prikazati vizualnu strukturu korijenskog direktorija koristeci´ tree naredbu, ali samo prvu razinu u dubini strukture (opcija -L, procitatiˇ man naredbe tree za opis opcije) 5. Prikazati vizualnu strukturu korijenskog direktorija, ovaj puta prikazati dvije razine u dubini strukture. Ponoviti zadatak, no ovaj puta ogranicitiˇ prikaz samo na direktorije. 6. Prebaciti se u home direktorij trenutno prijavljenog korisnika (dovoljno je samo upisati naredbu cd bez argu- menata).

Hint: Linux sustavi su osjetljivi na velika i mala slova, te je potrebno paziti prilikom upisivanja imena direktorija i datoteka

7. Ispisati putanju trenutno radnog direktorija (koristiti naredbu pwd) 8. Prikazati vizualnu strukturu home direktorija trenutno prijavljenog korisnika i to: a. Upotrebom pune putanje b. Upotrebom varijable koja predstavlja punu putanju home direktorija

216 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

c. Upotrebom ~ znaka (~ ,izgovara se tilde, znak predstavlja drugu varijaciju pune putanje home direktorija korisnika) d. Kombinacijom osnovnog home direktorija i upotrebom varijable koja predstavlja trenutno prijavljenog korisnika (/home/ + IME_KORISNIKA)

Tip: Za prikaz svih varijabli okoline mogu se koristiti naredbe env ili printenv (dvije razliciteˇ aplikacije, no sa slicnom/istomˇ namjenom). Primjer i opis varijable: SHELL=/bin/bash SHELL predstavlja ime varijable,a /bin/bash njenu vrijednost Poziv neke varijable se koristi upisom $ znaka i imena varijable (npr. $SHELL). Želi li se prikazati vrijednost te vari- jable, može se koristiti standardna naredba echo (npr. pozivom echo $HOME ce´ se ispisati putanja home direktorija trenutno prijavljenog korisnika).

9. Prebaciti se u Documents direktorij (unutar home direktorija trenutno prijavljenog korisnika) upisivanjem pune putanje. (cd /home/KORISNIK/Documents).

Hint: Primijetiti da je prvo slovo Documents direktorija veliko, paziti na sintaksu.

Tip: Osnovna razlika izmedu¯ apsolutne/pune i relativne putanje je u upisu prvog znaka u putanji. Ako je prvi znak / (na primjer /etc/dhcp putanja), podrazumijeva se kako je prvi direktorij u putanji korijenski, te se radi o apsolutnoj putanji. Ako prvi znak ne sadrži /, podrazumijeva se da se želi pozvati direktorij u trenutno radnom direktoriju (na primjer KORISNIK/Documents/Primjeri). Drugim rijecima,ˇ apsolutna putanja krece´ iz korijenskog direktorija, dok relativna putanja krece´ iz radnog direktorija. Dodatno, u svakom direktoriju na sustavu se nalaze dva posebna direktorija sa imenima “.” i “..”, kao što se može vidjeti u slijedecem´ primjeru: Znak “.” oznacavaˇ trenutni/radni direktorij, a “..” oznacavaˇ direktorij više razine, odnosno prethodni direktorij u struk- turi.

10. Ispisati putanju trenutno radnog direktorija (koristiti naredbu pwd). Pozvati naredbu za promjenu direktorija, te za argument upisati znak “.”. Što se dogodilo (provjeriti ispisom radnog direktorija)? Ponovno pozvati naredbu za promjenu direktorija,no ovaj put kao argument upisati znak “..”. Što se sad promijenilo ? 11. Vratiti se u home direktorij (/home), no ovaj put koristiti relativnu putanju. Znak koji predstavlja direktorij vece´ razine su dvije tockeˇ “..” (bez navodnika, primjer korištenja za vracanje´ 4 direktorija iznad : cd ../../ ../.. ). 12. Prebaciti se u /etc direktorij korištenjem relativne putanje. 13. Prebaciti se nazad u /home/KORISNIK/Documents koristeci´ znacajkuˇ automatskog dovršavanja (autocom- plete) tipkom TAB. (Upisati cd /h, zatim tipku TAB za automatsko dovršavanje imena direktorija,itd. . . ).

Tip: U slucajuˇ da autocomplete znacajkaˇ ne može jednoznacnoˇ dovršiti upis (recimo, postoje dva objekta koja pocinjuˇ sa upisana dva slova Do, “Documents” i “Downloads”), nakon dva pritiska TAB tipke, prikazat ce´ se sva moguca´ imena koja odgovaraju pocetnimˇ uvjetima.

2.3. Klijentski otvoreni operacijski sustavi 217 TSRB_TEST Documentation, Release 1.0

Navikavanjem na znacajkuˇ automatskog dovršavanja imena smanjuje se mogucnost´ pogreške u sintaksi. Ova znacajkaˇ vrijedi i za izvršne datoteke, ne samo za direktorije i obicneˇ datoteke.

14. Pomocu´ naredbe ls ispisati sadržaj radnog direktorija. 15. Pozvati manpage naredbe ls, te proucitiˇ opcije -a (u cemuˇ se razlikuje -A opcija?), -l i -h. 16. Pomocu´ naredbe mkdir stvoriti novi direktorij imena XXYY unutar ~/Documents direktorija. 17. Stvoriti 3 direktorija imena RAZINA1, RAZINA2 I RAZINA3. Zadatak je potrebno riješiti jednim pozivom naredbe mkdir, te korištenjem jedne od njenih opcija. Koju je opciju potrebno iskoristiti? (proucitiˇ opciju -p) Rezultat bi trebao izgledati kao na slici: 18. Ispisati sadržaj direktorija ~/Documents. Zatim dodati redom opcije -a, -al, -alh i -alhi, te zabilježiti što se tocnoˇ promijenilo dodavanjem nove opcije. Cemuˇ služi zadnja opcija -i (provjeriti manpage naredbe ls)?

Tip: Opcije je moguce´ pisati zasebno, no slova je moguce´ i spojiti kao kombinaciju. Primjer: ls -a -l -h - -i je moguce´ spojiti i u slijedecu´ kombinaciju ls -alhi. Drugi primjer se najcešˇ ce´ koristi iz prakticnihˇ razloga)

19. Vratiti se u home direktorij prijavljenog korisnika te ispisati sadržaj direktorija, prvo bez ikakvih opcija, a zatim dodati -alh opcije, te uocitiˇ razlike. Što predstavljaju datoteke i direktoriji koji pocinjuˇ sa tockomˇ (ne ubrajajuci´ posebne direktorije “.” i “..”), zašto se nisu prikazali samo pozivom ls naredbe? 20. Ispisati sadržaj /bin direktorija koristeci´ -l opciju. Dodati još zatim i -h opciju. Koja se promjena može uociti?ˇ 21. Premjestiti se u ~/Documents direktorij. Proucitiˇ manpage naredbe rmdir (svrhu naredbe, te opcije -p i -v ). 22. Unutar ~/Documents direktorija stvoriti 3 direktorija imena LEVEL1, LEVEL2 I LEVEL3 (jedan unutar drugog, kao u jednom od prethodnih primjera). Zadatak je potrebno riješiti jednim pozivom naredbe mkdir, te korištenjem jedne od njenih opcija. 23. Koristeci´ naredbu rmdir, obrisati direktorij XXYY. 24. Koristeci´ naredbu rmdir, obrisati strukturu direktorija sa imenom RAZINA u njima. Zadatak je potrebno riješiti jednim pozivom na naredbu, te korištenjem jedne od njenih opcija. 25. Ponoviti prethodni zadatak, no ovaj puta za direktorij sa imenom LEVEL, te dodati opciju -v. Uocitiˇ razlike u odnosu na prethodni zadatak.

Dodatni zadaci 26. Uocitiˇ imena direktorija unutar home direktorija prijavljenog korisnika. Pokušati pronaci´ u kojoj se konfiguraci- jskoj datoteci nalaze postavke stvaranja strukture direktorija svakog novog korisnika. Kao filter pretraživanja koristiti ime jednog direktorija unutar home direktorija prijavljenog korisnika (koristiti grep naredbu, rekurzivno, na temelju prvog zadatka zakljucitiˇ u kojem se direktoriju nalaze konfiguracijske datoteke). 27. Ponoviti prošli zadatak, ali ne ispisivati poruke u grešci (redirekcija grešaka na /dev/null, 2>/dev/null ).

2.3.2.4 LV04

Contents:

218 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Rad sa datotekama

Upoznati se sa pojmovima : pojam datoteke, tipovi datoteka, inode+data strukturu na datotecnomˇ sustavu, hard i soft (simbolicki)ˇ linkovi Naredbe koje se koriste u vježbi: nano, touch, cp, mv, rm, ln, file, locate, find, cat, tac, wget, echo (dodati i izvršavanje naredbi sa backtildima) Cilj vježbe: Zadaci: 1. Premjestiti se u /etc direktorij. 2. Proucitiˇ manpage naredbe cat. Saznati znacenjeˇ rijeciˇ “concatenate”. 3. Pozvati naredbu cat te kao argument zadati datoteku sa putanjom /etc/timezone (ne zaboraviti korištenje auto- complete znacajkeˇ za završavanje putanje). 4. Ponoviti prethodni zadatak, no putanju napisati sa svim velikim slovima (/ETC/TIMEZONE). Svrha zadatka je uocitiˇ osjetljivost operacijskog sustava na velika i mala slova. Osjetljivost vrijedi za sve vrste datoteka : regularne (tekstualne, binarne, slike, kompresirane), direktorije (isto datoteka) te specijalne (blok datoteke – npr. diskovi, simbolickiˇ linkovi, socketi. . . ). 5. Pozvati naredbu cat te zadati dva argumenta : /etc/timezone i /etc/hostname. Što se dogodilo? 6. Nad datotekom /etc/shells kao argumentom isprobati naredbe cat , a zatim tac. Koja je razlika u prikazu rezul- tata? Primijetiti razliku u imenu te proucitiˇ manpage naredbe tac. 7. Premjestiti se u ~/Documents direktorij. Stvoriti novu praznu datoteku imena TestnaDatoteka.txt koristeci´ naredbu “touch” te kao argument zadati ime datoteke ( naknadno proucitiˇ manpage naredbe touch). Uvjeriti se u postojanje datoteke unutar direktorija. 8. Pozvati naredbu cat sa argumentom datoteke /proc/cpuinfo, no rezultat umjesto na standardni izlaz (monitor) preusmjeriti u novostvorenu datoteku, koristeci´ neki od znakova redirekcije (Prisjetiti se znakova <, >, <<, >> ). 9. Proucitiˇ manpage naredbe nano. Pokrenuti nano tekstualni editor sa argumentom datoteke TestnaDatoteka.txt. Isprobati osnovno kretanje kroz sadržaj datoteke, te zatim pozvati unutarnji izbonik pomoci´ korištenja aplikacije (^G – Get Help opcija oznacavaˇ kraticu. Znak ^ oznacavaˇ tipku CTRL, dakle kratica je CTRL+G za pozivanje izbornika pomoci).´ U izborniku pomoci´ proucitiˇ korištenje kratica , te znacenjeˇ znakova ^ i M. 10. Izvježbati slijedece´ operacije: a. Pozicionirati kursor na pocetakˇ aktivne linije b. Pozicionirati kursor na kraj aktivne linije c. Pozicionirati kursor na pocetakˇ datoteke d. Pozicionirati kursor na kraj datoteke e. Pretražiti niz znakova “CPU” (bez navodnika) f. Ponoviti prethodnu operaciju, no zahtijevati na pretraživanju iskljucivoˇ navedene velicineˇ slova (eng. case sensitivitiy) (Pomoc´ : Case-Sens opcija) g. Zamijeniti sve pojave niza znakova “id” sa “ID” h. Izreži 10. Liniju, te ju zalijepi iznad 5. linije (Potrebno je koristiti kombinacije opcija ^_ i ^K, odnosno ^U, proucitiˇ u izborniku pomoci´ znacenje)ˇ 11. Spremiti promjene te izaci´ iz nano tekstualnog urednika. Objašnjenje korištenja kratica na primjeru : Gornja opcija služi za izmjenu traženog niza znakova (eng. String) sa nekim drugim željenim nizom.

2.3. Klijentski otvoreni operacijski sustavi 219 TSRB_TEST Documentation, Release 1.0

Opciju je moguce´ aktivirati jednom od tri ponudene¯ metode : ^\ - CTRL+ALTGR+Q ( CodePage 852) F14 - Funkcijska tipka F14 se aktivira kombinacijom SHIFT + F2 (S obzirom da uobicajenoˇ tipke završavaju sa F12, sa SHIFT tipkom se nastavlja niz) M-R – Tipka M predstavlja ili ALT ili ESC (ako se koristi ESC dovoljno je jednom pritisnuti tipku, ne ju držati). Opcija se aktivira kombinacijom ALT+SHIFT+R (sve držati pritisnuto) ili ESC,SHIFT+R (ESC jednom pritisnuti, zatim SHIFT+R pritisnuti) 12. Proucitiˇ manpage naredbe cp. Kopirati datoteku TestnaDatoteka.txt u direktorij /tmp pod imenom TestnaDa- toteka.BAK. Kopirati cijeli direktorij ~/Documents u direktorij /tmp (proucitiˇ opciju -r ili –R, isprobati kopi- ranje sa i bez korištenja opcije, te zamijetiti razliku), uz korištenje opcije o detaljnom prikazivanju postupka (eng. verbose). 13. Proucitiˇ manpage naredbe mv. Premjestiti se u korijenski direktorij. Iz pozicije korijenskog direktorija prem- jestiti datoteku TestnaDatoteka.BAK u direktorij ~/Documents koristeci´ apsolutne putanje. Preimenovati da- toteku TestnaDatoteka.BAK u TestnaDatoteka.BKP. 14. Proucitiˇ manpage naredbe touch. Stvoriti novu praznu datoteku imena Vazno.txt. Kopirati datoteku TestnaDa- toteka.BKP, kao argument odredišta navesti datoteku Vazno.txt. Prikazati sadržaj direktorija sa opcijom prikazi- vanja velicinaˇ datoteka. Što se može zakljucitiˇ u vezi datoteka Vazno.txt i TestnaDatoteka.BKP? 15. Stvoriti novu praznu datoteku imena Vaznije.txt. Kopirati datoteku TestnaDatoteka.txt, kao argument odredišta navesti datoteku Vaznije.txt, no koristiti i opciju “-i” (proucitiˇ svrhu opcije). Što se dogodilo? Koja je svrha opcije? 16. Pomocu´ naredbe touch stvoriti novu datoteku imena Prvoaprilska_Sala.txt te rucnoˇ izmijeniti datum i vrijeme izmjene (eng. modify) te datoteke za 01. Travnja 2017. godine u 15:35 sati (proucitiˇ opciju –t). Provjeriti detalje stvorene datoteke. (touch -t 201704011535 Prvoaprilska_Sala.txt) 17. Pomocu´ naredbe touch stvoriti novu datoteku s imenom Starija_od_30_dana.txt te navesti datum izmjene 35 dana unazad od današnjeg dana. (proucitiˇ opciju -d) (touch –d “35 days ago” Starija_od_30_dana.txt) NAPOMENA: Pojašnjenje od razlicitihˇ detalja datoteka,vezano uz datume. Postoje 4 razliciteˇ informacije o datoteci vezano uz datum/vrijeme: Creation Time (crtime atribut) - Datum i vrijeme stvaranja datoteke na datotecnomˇ sustavu Change Time (ctime atribut) - Datum i vrijeme izmjene atributa datoteke (npr. dozvole) Modify Time (mtime atribut) - Datum i vrijeme izmjene samog sadržaja datoteke Access Time (atime atribut) - Datum i vrijeme zadnjeg pristupa datoteci (nebitno radi li se o citanjuˇ ili pisanju) Upotreba stat naredbe na primjeru (kako bi se saznali detalji o razlicitimˇ datumima vezano uz datoteku) : Potrebno je primijetiti kako nedostaje informacija o stvaranju datoteke (eng. Birth), te je do nje moguce´ doci´ kompleksnijom tehnikom. Prvo je potrebno saznati inode broj datoteke: Zatim je potrebno pokrenuti naredbu debugfs sa argumentom particije na kojoj se nalazi ta datoteka (bitan korak, s obzirom da su inode brojevi unikatni iskljucivoˇ vezano za particiju/datotecniˇ sustav) Unutar debugfs konzole, potrebno je pozvati stat opciju sa argumentom inode broja datoteke. Izlazne informacije su vrlo slicneˇ prethodnom primjeru korištenja stat naredbe, no u ovom slucajuˇ je moguce´ vidjeti i datum stvaranja datoteke na datotecnomˇ sustavu: Pozivanjem naredbe ls sa opcijom –l, prikazat ce´ se vrijeme zadnje izmjene datoteke, što se može vidjeti i u slijedecem´ primjeru:

220 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

18. Pomocu´ naredbe touch stvoriti novu datoteku s imenom Mladja_od_10_dana.txt te navesti datum izmjene 5 dana unazad od današnjeg dana. 19. Proucitiˇ manpage naredbe rm, poglavito opcije -i, -I (veliko i slovo), -r, -f i -v. Unutar direktorija ~/Documents stvoriti novi direktorij s imenom “OBRISATI”. Premjestiti datoteke TestnaDatoteka.BKP i TestnaDatoteka.txt u direktorij OBRISATI. 20. Obrisati datoteku Vazno.txt 21. Obrisati datoteku Vaznije.txt, no upotrijebiti opciju za potvrdu od strane korisnika prije brisanja i detaljnom prikazivanju postupka. 22. Pokušati obrisati direktorij OBRISATI ne koristeci´ nijednu opciju. Što se dogodilo? Proucitiˇ koju je opciju potrebno koristiti za brisanje direktoriju, te ju upotrijebiti (dodatno upotrijebiti i opciju o detaljnom prikazivanju postupka). NAPOMENA : Upotrebom naredbe rm, datoteke (i direktoriji) se brišu bez mogucnosti´ oporavka. U komandnoj liniji ne postoji rješenje poput “Recycle Bin”, 23. Proucitiˇ manpage naredbe find. (NADOPUNITI TOCNEˇ OPCIJE PROUCAVANJAˇ PREMA SLIJEDECIM´ ZADACIMA) 24. Pomocu´ naredbe find pretražiti sve datoteke unutar /etc direktorija. (find /etc) 25. Ponoviti prošli zadatak, no ogranicitiˇ se na pretraživanje iskljucivoˇ /etc direktorija, ne i ostalih poddirektorija u strukturi. (find /etc -maxdepth 1) 26. Pomocu´ naredbe find pretražiti sve datoteke sa imenom “passwd” unutar /etc direktorija. ( Ne obracati´ pažnju na poruke o grešci, “access denied”, pojam redirekcije errora ce´ biti kasnije obraden)¯ (find /etc -name passwd) 27. Stvoriti novu praznu datoteku imena “PAsswd” unutar direktorija ~/Documents. 28. Pomocu´ naredbe find pretražiti sve datoteke sa imenom “passwd”, a kao putanju zadati dva direktorija : /etc i ~/Documents. (find /etc ~/Documents -name passwd) 29. Izmijeniti prošli zadatak tako da pretraživanje ignorira velicinuˇ slova u imenu. (find /etc ~/Documents -iname passwd) 30. Pomocu´ naredbe find prikazati sve direktorije (proucitiˇ opciju -type) unutar /etc direktorija, no ogranicitiˇ se na pretraživanje iskljucivoˇ tog direktorija, ne i ostalih poddirektorija u strukturi. (find /etc -type d -maxdepth 1) 31. Pomocu´ naredbe find prikazati sve datoteke sa ekstenzijom “conf” unutar /etc direktorija, no isto ogranicitiˇ pretraživanje iskljucivoˇ unutar navedenog direktorija, ne i ostalih poddirektorija. 32. Pomocu´ naredbe find prikazati sve datoteke/direktorije unutar ~/Documents direktorija, koje su starije od 3 dana (za orijentir starosti datoteke, koristiti atribut koji se prikazuje prilikom poziva “ls -l”, prisjetiti se koji je atribut datoteke vidljiv) (find ~/Documents/ -mtime +3) 33. Pomocu´ naredbe find prikazati sve datoteke unutar ~/Documents direktorija, koje su starije od 35 dana, te pretragu ogranicitiˇ iskljucivoˇ na datoteke (podsjetiti se opcije -type). 34. Nadopuniti prethodni zadatak tako da se datoteke, koje odgovaraju uvjetima, kopiraju u direktorij /tmp/BACKUP (potrebno ga je prethodno stvoriti). Proucitiˇ uporabu opcije –exec. (Pomoc´ u korištenju, niz znakova {} predstavljaju ime svake datoteke koja odgovara nekom uvjetu. Ponekad je potrebno taj niz staviti u jednostruke/dvostruke navodnike kako bi se izbjegli problemi oko obrade znakova. Nadalje, naredba koja se poziva iza –exec opcije mora završiti sa znakom “;”, te se cestoˇ mora i zaštititi, odnosno upisati “\;”. Proucitiˇ termin “escaping characters”). ( find ~/Documents -maxdepth 2 –type f –mtime +3 –exec cp ‘{}’ \; ) 35. Proucitiˇ manpage naredbe locate.

2.3. Klijentski otvoreni operacijski sustavi 221 TSRB_TEST Documentation, Release 1.0

NAPOMENA : U odnosu na naredbu find, osnovna prednost je brzina pretraživanja, s obzirom da se datoteke prethodno i redovno indeksiraju (za osvježavanje same baze je odgovorna aplikacija updatedb). S druge strane, za razliku od aplikacije find, podaci se ne pretražuju u realnom vremenu, vec´ se pretražuje baza sa moguce´ zastarjelim podacima, te je prije svakog korištenja locate naredbe dobro osvježiti bazu (updatedb). Nadalje, naredba locate ne nudi dodatne filtere za pretraživanje datoteka, niti pozivanje drugih naredbi nakon što su izvršeni uvjeti, odnosno, potrebno je uvesti druge mehanizme /naredbe kako bi se izvršio željeni proces. 36. Pomocu´ naredbe locate, potražiti sve datoteke sa imenom “passwd”. Nadopuniti zadatak tako da pretraga ig- norira velicinuˇ slova. 37. Unutar direktorija ~/Documents stvoriti novu praznu datoteku s imenom “Nova.txt”. Pomocu´ naredbe locate, potražiti sve datoteke s imenom “Nova.txt”. Što se dogodilo? 38. Osvježiti bazu, te ponoviti prethodni zadatak. Što se promijenilo? !!! DODATNO !!! 44. Skinuti translator za shell – wget git.io/trans 45. Pogledati tip skinute datoteke – file trans 46. Dodati executable permissions za skinutu datoteku – chmod +x trans 47. Pokušati pokrenuti datoteku – samo upisati ime trans. Nece´ raditi jer se lokacija ne nalazi na default putanji. 48. Ponovno pokušati pokrenuti datoteku, no upisati lokaciju - ./trans (oznaka trenutnog direktorija i ime datoteke). Upisati primjer neke željene rijeciˇ za prijevod (potvrditi tipkom enter). Prekinuti izvodenje¯ kombinacijom CTRL-C 49. Pozvati pomoc´ za korištenje skripte koristeci´ ime skripte i uobicajeniˇ znak opcije za pomoc.´

2.3.2.5 LV05

Contents:

Simbolickeˇ i cvrsteˇ poveznice

1. Proucitiˇ manpage naredbe ln (LN malim slovima). Unutar direktorija ~/Documents stvoriti novu datoteku imena Original.txt. Ispisati sadržaj datoteke /proc/cpuinfo, no rezultat preusmjeriti u datoteku Original.txt. Koja je velicinaˇ datoteke? 2. Unutar direktorija ~/Documents stvoriti novi direktorij LINKANJE. Ispisati sadržaj direktorija sa opcijama “- alh” (prisjetiti se svrhe tih opcija). Prije objašnjenja termina cvrstihˇ i simbolickihˇ poveznica (eng. Hardlinks and soft/symbolic links ), potrebno je ukratko pojasniti osnove EXT datotecnihˇ sustava (EXT2, EXT3 i EXT4), tocnije,ˇ dio koji se ticeˇ same strukture. /dev/sda1 - 40 134 656 sektora, 20548943872 bajta (cca 19,5GB) https://www.ics.uci.edu/computing/bin/img/perms1.png NAPOMENA : U prvoj slici je prikazano objašnjenje svake stavke long listing rezultata naredbe ls. U drugoj slici je prikazan stvarni primjer, sa posebno oznacenimˇ dijelom sa brojem cvrstihˇ poveznica (eng. Hard link) na datoteke i direktorije. Svaki stvoreni direktorij pocinjeˇ sa dvije poveznice, Ime_direktorija i znak “.” koja oznacavaˇ taj direktorij i upucuje´ na njega. Dodatno, svaki direktorij u popisu sadrži i oznaku “..” koja upucuje´ na prethodni direktorij u strukturi. Cakˇ i korijenski direktorij u sebi sadrži dvije oznake, kao što je vidljivo na slici ispod. Ono što je specificnoˇ za korijenski direktorij je što obje oznake “.” i “..” upucuju´ na isti direktorij, odnosno korijenski direktorij ( eng. Root directory, oznaka “/” ). Isto tako je na slici ispod vidljivo kako obje oznake imaju isti “inode” broj (broj 2), odnosno radi se o istom direktoriju.

222 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

3. Unutar direktorija LINKANJE, stvoriti 3 datoteke : kopirati.txt, premjestiti.txt i obrisati.txt 4. Stvoriti 3 cvrsteˇ poveznice sa imenima HLkopirati, HLpremjestiti i HLobrisati, te ih povezati sa datotekama iz prošlog zadatka, sukladno imenima. 5. Stvoriti 3 simbolickeˇ poveznice sa imenima SLkopirati, SLpremjestiti i SLobrisati, te ih povezati sa datotekama iz pretprošlog zadatka, sukladno imenima. NAPOMENA : Kao rezultat, sadržaj direktorija bi trebao biti kao prema slici. 6. Proucitiˇ Inode brojeve cvrstihˇ poveznica i simbolickihˇ poveznica. U odnosu na originalne datoteke, što se može zakljuciti?ˇ 7. Koji je broj cvrstihˇ poveznica (eng. number of hard links) sva tri tipa datoteka? Zašto? 8. Kopirati datoteku kopirati.txt u prethodni direktorij ( /home/KORISNIK/ ) pod imenom kopija.txt. Koji je Inode broj kopirane datoteke? Je li se promijenio koji atribut sa postojecim´ datotekama u direktoriju LINKANJE (broj cvrstihˇ poveznica, Inode broj)? 9. U datoteku kopirati.txt upisati svoje prezime. Što se promijenilo sa velicinomˇ datoteka kopirati, HLkopirati i SLkopirati? 10. Na zaslon ispisati sadržaj datoteka iz prošlog zadatka. Koji je rezultat? 11. Premjestiti datoteku premjestiti.txt u prethodni direktorij ( /home/KORISNIK/ ). 12. U datoteku HLpremjestiti.txt upisati svoje ime. Što se promijenilo sa velicinomˇ datoteka premjestiti, HLprem- jestiti i SLpremjestiti? 13. Na zaslon ispisati sadržaj datoteka iz prošlog zadatka. Koji je rezultat? Što se može zakljucitiˇ oko datoteke SLpremjestiti.txt? 14. U datoteku obrisati.txt upisati trenutnu godinu. 15. Na zaslon ispisati sadržaj datoteka obrisati.txt, HLobrisati.txt i SLobrisati.txt. 16. Obrisati datoteku obrisati.txt, te zatim na zaslon ispisati sadržaj datoteka HLobrisati.txt i SLobrisati.txt. Što se može zakljucitiˇ za datoteku SLobrisati.txt? 17. Što se dogodilo sa brojem cvrstihˇ poveznica za datoteku HLobrisati.txt? Što se može zakljuciti?ˇ 18. Podici´ particiju sa EXT4 datotecnimˇ sustavom (stvorena u jednoj od prijašnjih vježbi) unutar direktorija /mnt/EXT4. U navedenom direktoriju stvoriti novu datoteku imena MickeyMouse.txt (pripaziti na prava pris- tupa, sjetiti se uporabe chown naredbe). 19. U direktoriju /home/KORISNIK/LINKANJE stvoriti simbolickuˇ poveznicu SLMickey.txt. 20. Proucitiˇ manpage naredbe readlink , te zatim ispisati punu putanju na koju poveznica SLMickey.txt upucuje.´ 21. Pokušati stvoriti cvrstuˇ poveznicu HLMouse.txt na datoteku MickeyMouse.txt. Što se dogodilo? Saznati zašto. PITANJA: 1. Navesti barem 3 razlike izmedu¯ cvrstihˇ i simbolickihˇ poveznica. 2. Koje prednosti ima cvrstaˇ poveznica nad simbolickima?ˇ 3. Koje prednosti ima simbolickaˇ poveznica na cvrstima?ˇ

2.3.2.6 LV06

Contents:

2.3. Klijentski otvoreni operacijski sustavi 223 TSRB_TEST Documentation, Release 1.0

Izvršavanje zadataka

Zadaci: 1. Pokrenuti naredbenu ljusku. 2. Pokrenuti naredbu za ispis sadržaja direktorija. 3. Ponoviti prethodni zadatak, no kao argument upisati putanju nepostojeceg´ direktorija /direktorijNEpostoji. 4. Povezati dvije naredbe u lanac, tako da se nakon ispisa sadržaja direktorija prikaže poruka o uspješnosti radnje. POMOC:´ Za povezivanje više naredbi koristi se znak “;”. Naredbena ljuska ce´ u liniji sve argumente prije navedenog znaka smatrati jednom naredbom, a nakon znaka nekom drugom naredbom, pa sve do slijedeceg´ znaka ; (ako postoji). PRIMJER: echo “Ispis korijenskog direktorija”;cd /;ls;echo -en “n”;echo “Ispis korisnickogˇ direktorija”;cd;ls U gornjem primjeru je povezano 7 zasebnih radnji u lanac. Svaka naredba ce´ se izvršiti tek po dovršetku prethodne. Bitno je naglasiti kako slijedeca´ radnja ne ovisi o uspješnom pokretanju prethodne, vec´ je bitno samo da se proces dovrši. Jedina naredba koju bi bilo dobro objasniti je echo -en “\n”. Naredba echo služi za ispis nekog teksta na standardni izlaz, dok opcija -e služi za raspoznavanje i interpretaciju backslash znakova \ (podsjetiti se cemuˇ služi n kombinacija, do znacenjaˇ je moguce´ doci´ i citanjemˇ manpage echo naredbe), a opcija -n ne dodaje još jedan novi redak nakon izvršavanja naredbe. 5. Povezati dvije naredbe u lanac, no sa prvom naredbom pokušati ispisati sadržaj nepostojeceg´ direktorija /direk- torijNEpostoji, a zatim ispisati poruku o grešci. Ovisi li slijedeca´ naredba o uspješnosti izvršavanja prethodne? 6. Proucitiˇ manpage naredbe sleep. Povezati dvije naredbe u lanac, tako da se nakon 20 sekundi spavanja prikaže na ekranu poruka “BUDJENJE”. Kada se izvršila druga radnja? 7. Ponoviti prethodni zadatak, no za vrijeme odbrojavanja nasilno prekinuti proces kombinacijom tipki CTRL+C. Je li se izvršila druga radnja? Pokušati zakljucitiˇ zašto. 8. POMOC:´ Pomocu´ operatora && i || je moguce´ uvjetovati izvršavanje slijedece´ naredbe, ovisno o uspješnosti prve. Prvi operator zahtijeva uspješan završetak za izvršavanje slijedece´ naredbe, dok drugi zahtijeva neusp- ješan završetak. U ovom trenutku je potrebno spomenuti termin kod izlaznog statusa (eng. exit code status). Svaki završetak nekog zadatka ili procesa ce´ rezultirati odredenom¯ vrijednošcu´ koda izlaznog statusa . Iako su moguce´ razliciteˇ vrijednosti, završetak programa ce´ najcešˇ ce´ rezultirati vrijednošcu´ 0 (ako je program izvršen bez grešaka) ili 1 (ako je program neuspješno izvršen). Opcenito´ gledajuci,´ svaki završetak programa sa izlaznim kodom razlicitimˇ od nule podrazumijeva neku grešku. http://tldp.org/LDP/abs/html/exitcodes.html Najjednostavniji nacinˇ za prikaz izlaznih kodova je korištenje dvije aplikacije (proucitiˇ manpage obje ap- likacije): true i false. Varijabla $? prikazuje status zadnje izvršene radnje u ljuski. Ako je više naredbi povezano u lanac, prikazuje se status zadnje naredbe u lancu. ids@ids2 ~ $ true; echo $? 0 ids@ids2 ~ $ false;echo $? 1 Nakon osnovnog pojašnjenja izlaznih kodova, mogu se uvrstiti operatori && i ||, cijaˇ ce´ funkcija biti najbolje prikazana kroz slijedeca´ cetiriˇ primjera. ids@ids2 ~ $ true && echo USPJEŠNO USPJEŠNO

224 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

ids@ids2 ~ $ true || echo NEUSPJEŠNO ids@ids2 ~ $ false && echo USPJEŠNO ids@ids2 ~ $ false || echo NEUSPJEŠNO NEUSPJEŠNO Kao što se može uocitiˇ , samo dvije kombinacije ce´ prouzrocitiˇ prikazivanje prikladne poruke na standardni izlaz. ZADATAK: Dobro proucitiˇ gornje kombinacije dok se ne shvati logika izvršavanja. 9. Ponoviti zadatke 2. i 3., te nakon svakog izvršavanja programa ispisati izlazni status (varijabla $?). 10. Ponoviti zadatke 2. i 3., no koristeci´ operatore && i ||, ispisati poruke o uspješno ili neuspješno izvršenoj radnji. 11. Pokrenuti process spavanja od 10 sekundi, te zadatak preusmjeriti u pozadinsko izvršavanje. Što se može prvo uociti?ˇ Treba li korisnik cekatiˇ završetak procesa? POMOC:´ Dugotrajni zadaci se cestoˇ preusmjeravaju u pozadinsko izvršavanje. Radnja se postiže upisivanjem znaka & nakon naredbe procesa. Zadatak se u tom trenutku odvaja od ljuske (eng. fork), te dobiva svoj zasebni broj zadatka (eng. job number) i poseban broj procesa (eng. PID, Process ID). Za pregled aktivnih zadataka se koristi naredba jobs. Bez dodatnih opcija, u popisu aktivnih zadataka prikazivati ce´ se samo redni broj zadatka (uz prikaz zadane naredbe). Ako se želi prikazati i PID zadatka, potrebno je koristiti i opciju -l. Za prekidanje izvršavanja zadatka, koristi se naredba kill, sa argumentom rednog broja zadatka ili broja procesa. Svi primjeri su prikazani ispod. PRIMJER: ids@ids2 ~/LINUX_PRIMJERI $ sleep 120 & [1] 20712 ids@ids2 ~/LINUX_PRIMJERI $ jobs [1]+ Running sleep 120 & ids@ids2 ~/LINUX_PRIMJERI $ jobs -l [1]+ 20712 Running sleep 120 & ids@ids2 ~/LINUX_PRIMJERI $ kill %1 [1]+ Terminated sleep 120 ids@ids2 ~/LINUX_PRIMJERI $ sleep 120 & [1] 20817 ids@ids2 ~/LINUX_PRIMJERI $ kill 20817 [1]+ Terminated sleep 120 Za istovremeno pokretanje više pozadinskih zadataka, umjesto standardnog znaka ;, koristi se & znak. Bitno je naglasiti kako se svi pozadinski procesi izvršavaju samostalno, te ne ovise o završetku prethodnog zadatka. Dakle, ovakav nacinˇ izvršavanja se ne može nazivati vezanjem u lanac. Ovakav nacinˇ izvršavanja je asinkronog tipa (sinkroni zadaci ovise o prethodnima). Slijedeci´ primjer ce´ prikazati pokretanje 3 pozadinska procesa sa razlicitimˇ vremenima izvršavanja, te se može primijetiti kako se prvo završavaju zadaci sa najkracim´ vremenom izvršavanja. PRIMJER: ids@ids2 ~/LINUX_PRIMJERI $ sleep 20 & sleep 5 & sleep 10 & [1] 24740 [2] 24741 [3] 24742 ids@ids2 ~/LINUX_PRIMJERI $ [2]- Done sleep 5 [3]+ Done sleep 10 [1] Done sleep 20 12. Pokrenuti dva zasebna procesa u pozadini koji ce´ ispisivati sadržaj direktorija (jedan proces neka prikaže sadržaj korijenskog direktorija, a drugi /etc direktorija). Koji proces se prvi izvršio do kraja? Zašto? 13. Pokrenuti proces spavanja od 60 sekundi. Pauzirati proces, te ga preusmjeriti u pozadinsko izvršavanje. Što se dogodilo sa procesom nakon pauziranja? Vratiti nazad proces u prvi plan. POMOC:´ Ako se trenutno aktivan proces želi preusmjeriti u pozadinu, potrebno ga je pauzirati kombinacijom tipki CTRL-Z, te naredbom bg (eng. BackGround) poslati u pozadinsko izvršavanje. Suprotna radnja se postiže naredbom fg (eng. ForeGround). PRIMJER: ids@ids2 ~/LINUX_PRIMJERI $ sleep 30 ^Z [1]+ Stopped sleep 30

2.3. Klijentski otvoreni operacijski sustavi 225 TSRB_TEST Documentation, Release 1.0

ids@ids2 ~/LINUX_PRIMJERI $ bg %1 [1]+ sleep 30 & ids@ids2 ~/LINUX_PRIMJERI $ jobs [1]+ Running sleep 30 & ids@ids2 ~/LINUX_PRIMJERI $ fg %1 sleep 30

2.3.2.7 LV07

Contents:

Osnove bash skriptnog jezika

Cilj vježbe: Korisnici ce´ u ovoj vježbi biti upoznati sa osnovama izrade bash skripti, kroz razliciteˇ jednostavnije primjere. Težište ce´ biti na primjerima iz prošlih vježbi (kako bi se korisnici podsjetili na njih), no biti ce´ prikazani i neki novi prakticniˇ primjeri. Vježba bi trebala postaviti osnovne temelje za kasnije nado- gradnje, te izradu kompleksnijih skripti. Od korisnika se ocekujeˇ fleksibilnost i kreativnost u rješavanju novih izazova. Zadaci: 1. U osnovnom direktoriju korisnika ( ~/home/KORISNIK ) stvoriti direktorij bash_skripte. 2. U stvorenom direktoriju iz prethodnog zadatka stvoriti novu praznu datoteku imena prvi_primjer.sh (iako ek- stenzije nisu nužne,dobro je oznacavatiˇ datoteke radi lakšeg raspoznavanja, .sh ekstenzija je standardna eksten- zija za bash skripte). Ispisati sadržaj direktorija bash_skripte, no bez *.** i .. direktorija.

Hint: POMOC:´ Prava pristupa datoteka i direktorija su objašnjene detaljnije u uputama, no za ovu vježbu je bitno raspoznati tri prava pristupa : citanjeˇ (eng. read), pisanje (eng. write) i pokretanje (eng. execute). Da bi datoteka bila izvršna, mora imati aktiviran eXecute bit u pravima. Svaka datoteka ima 10 zastavica, od kojih prva zastavica oznacavaˇ tip datoteke (d za direktorij, - za standardnu datoteku, ostala slova za tip specijalne da- toteke), a slijedecih´ 9 prava pristupa rasporedenih¯ u tri grupe korisnika na koje se primjenjuju ta prava (vlasnik datoteke, grupa korisnika, sve ostale grupe i korisnici na sustavu). Zastavice su postavljene u rasporedu rwxr- wxrwx (Read,Write,Execute). Ako se umjesto slova nalazi znak -, znaciˇ da ta zastavica nije aktivna, odnosno korisnik/grupa (na kojeg se primjenjuje to pravo) nece´ moci´ koristiti to pravo. Bitno je napomenuti da se na vlas- nika datoteke primjenjuju ovlasti iskljucivoˇ vezane uz vlasnika, te ostale ovlasti nemaju utjecaj na tog korisnika. Koncept je najbolje pojasniti na slijedecem´ primjeru.

PRIMJER: ids@ids2 ~/bash_skripte $ ls -Alh -rw-r–r– 1 ids ids 0 Feb 8 09:29 prvi_primjer.sh Za datoteku prvi_primjer.sh se može primijetiti kako je prva zastavica -, što oznacavaˇ da se radi o standardnoj datoteci (nije direktorij, niti poseban tip datoteke). Slijedece´ zastavice se odvajaju u tri kategorije : rw- (primjenjuje se na vlasnika) - Vlasnik datoteke može citatiˇ i mijenjati sadržaj datoteke, no nema pravo izvršavanja. r– (primjenjuje se na grupu) r– (primjenjuje se na ostale) ids@ids2 ~/bash_skripte $ ./prvi_primjer.sh bash: ./prvi_primjer.sh: Permission denied 3. U datoteku upisati slijedeci´ sadržaj, i zatim spremiti promjene. #!/bin/bash echo “Welcome to wonderland. Let’s continue to see how deep this rabbit hole goes.”

226 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

4. Pokušati pokrenuti datoteku. Što se dogodilo? Zašto? POMOC:´ Svaka bash skripta bi trebala pocetiˇ sa linijom #!/bin/bash koja upucuje´ na aplikaciju pomocu´ koje se ta skripta treba izvršiti. Za daljnje informacije proucitiˇ termin “shebang”. IZVOR: https://en.wikipedia.org/wiki/Shebang_(Unix) POMOC2:´ Svaka izvršna datoteka koja se ne nalazi u varijabli sa spremljenim putanjama ( varijabla $PATH, varijable su kasnije objašnjene) mora biti pokrenuta sa navedenom putanjom te datoteke. Za razliku od Microsoft DOS/Windows operacijskih sustava, putanja radnog direk- torija nije implicitna (ne podrazumijeva se), te ju je potrebno navesti uz ime datoteke. S obzirom da je ime trenutnog direktorija vec´ spomenut znak tockeˇ ., potrebno je dodati oznaku / da se radi o direktoriju i nakon toga navesti ime izvršne datoteke. PRIMJER: ids@ids2 ~/bash_skripte $ ./prvi_primjer.sh 5. Aktivirati execute bit za vlasnika na datoteku prvi_primjer.sh , te ponovno pokušati pokrenuti datoteku. Koji je rezultat? POMOC:´ Izmjena prava pristupa neke datoteke vrši se pomocu´ naredbe chmod (proucitiˇ manpage naredbe chmod). Postoje razliciteˇ mogucnosti´ na koji nacinˇ je moguce´ izmijeniti prava pristupa datoteke, te ce´ biti prikazani i objašnjeni najcešˇ ci´ primjeri korištenja. PRIMJER1: Kao parametre naredbe chmod prvo se upisuje slovo na koga ce´ se postaviti ili maknuti dozvola [u(eng. user owner, vlasnik datoteke), g(eng. group, grupa korisnika),] o(eng. other, ostali korisnici) i a(eng. all, dozvola utjeceˇ na sve korisnike i grupe). Nakon slova se bez razmaka upisuje znak plusa ili minusa za postavljanje, odnosno ukidanje dozvole. Zadnji korak prije unosa datoteke/direktorija na koju ce´ se postaviti dozvola je unos slova ili kombinacije slova dozvola. OPCENITA´ SINTAKSA: chmod [u][g][o][a]+permission(s) filename chmod [u][g][o][a]-permission(s) filename KONKRETNA PRIMJENA: chmod u+r datoteka.txt # Postavlja se dozvola za citanjeˇ vlasniku datoteke datoteka.txt chmod g-rw datoteka.txt # Ukidaju se dozvole za citanjeˇ i pisanje grupi korisnika za datoteku datoteka.txt chmod a+rwx datoteka.txt # Postavljaju se dozvole za citanje,pisanjeˇ i izvršavanje svim korisnicima za datoteku datoteka.txt PRIMJER2: Mala izmjena iz zadnjeg primjera koja se ticeˇ svih korisnika. U toj situaciji nije potrebno eksplicitno navesti slovo za sve korisnike, vec´ je dovoljno navesti jednu ovlast ili kombinaciju koja ce´ se postaviti ili ukinuti OPCENITA´ SINTAKSA: chmod +permission(s) filename chmod -permission(s) filename KONKRETNA PRIMJENA: chmod +x datoteka.txt # Postavlja se dozvola za izvršavanje svim korisnicima za datoteku datoteka.txt chmod -rwx datoteka.txt # Ukidaju se sve dozvola svim korisnicima za datoteku datoteka.txt PRIMJER3: U ovom primjeru se uz eksplicitan unos korisnika ili grupe, na koju utjecuˇ ovlasti, upisuju tocneˇ ovlasti koje se žele primijeniti na njih. Ne unose se znakovi za postavljanje/ukidanje, jer se unesene ovlasti direktno primjenjuju bez obzira na prethodno stanje. OPCENITA´ SINTAKSA: chmod who=permissions filename KONKRETNA PRIMJENA: chmod g=rw datoteka.txt # Postavljaju se dozvole za citanjeˇ i pisanje na grupu korisnika za datoteku datoteka.txt. U slucajuˇ da je grupa imala prethodno i dozvolu za izvršavanje, ona u ovom slucajuˇ ne ostaje, nego se briše.

2.3. Klijentski otvoreni operacijski sustavi 227 TSRB_TEST Documentation, Release 1.0

PRIMJER4: Zadnji primjer se koristi kod administratora sa iskustvom. Iako se na prvu ruku ciniˇ o najkompleksnijoj metodi, sa najmanje upisanih znakova se može postici´

željena kombinacija ovlasti. Najbitnije je shvatiti kako su dozvole implementirane, a to je zapis u oktalnom sustavu. Ukupna vrijednost u oktalnom sustavu je 7, i to sa zbrojem 4+2+1. U ovom slucajuˇ se radi o zbroju r(4)+w(2)+x(1), zato je praksa uvijek i spominjati dozvole u ovom redoslijedu.

OKTALNO DOZVOLA 0 — 1 –x 2 -w- 3 -wx 4 r– 5 r-x 6 rw- 7 rwx

OPCENITA´ SINTAKSA: chmod bit_values filename KONKRETNA PRIMJENA: chmod 755 datoteka.txt # Postavljaju se sve dozvole za vlasnika datoteke, te dozvole citanjaˇ i izvršavanja za grupu korisnika i ostale korisnike 6. Nadopuniti skriptu prvi_primjer.sh tako da izgleda prema tekstu ispod. Ponovno pokrenuti skriptu. Što se dogodilo? Koja je svrha naredbe “exit 0” u zadnjoj liniji? #!/bin/bash echo “Welcome to wonderland. Let’s continue to see how deep this rabbit hole goes.” mkdir Alice cd Alice touch MadHat.txt echo “Done” exit 0 7. Nadopuniti skriptu tako da se prije poruke “Done” izbrišu datoteka MadHat.txt i direktorij Alice. Nacinˇ izvodenja¯ je po volji korisnika, no pokušati riješiti u što manje linija (poželjno u samo jednoj). Ponovno pokrenuti skriptu, te zapisati sve eventualne poruke o greškama. Uocitiˇ ujedno i je li direktorij Alice obrisan. U slucajuˇ da nije, pokušati zakljucitiˇ zašto. 8. Nadopuniti prvu liniju skripte tako da se iza naredbe bash upiše opcija -x, te spremiti promjene. Linija bi trebala izgledati kao u tekstu ispod. Ponovno pokrenuti skriptu. Što se može uociti?ˇ Koju funkciju obavlja opcija -x? #!/bin/bash -x POMOC:´ Korištenje opcije -x je u svrhu dijagnostike funkcionalnosti koda i otklanjanja grešaka (eng. debugging). Prije izvršavanja svake linije u skripti, prikazati ce´ se linija sa znakom +, koja ce´ ispisati tocnuˇ sintaksu kako ju je interpretirao program za izvršavanje (npr. bash). Zatim se prikazuje rezultat izvršene naredbe, i eventualne greške. U slucajuˇ grešaka, moguce´ je saznati na kojoj je liniji najvjerojatniji problem. PRIMJER: Za primjer se koristi prethodna skripta koja bi nakon stvaranja direktorija i datoteke, trebala obrisati iste.

228 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

#!/bin/bash -x echo “Welcome to wonderland. Let’s continue to see how deep this rabbit hole goes.” mkdir Alice cd Alice touch MadHat.txt rm -vrI Alice # u mapage naredbe rm proucitiˇ svrhu opcija -v i -I echo “Done” exit 0 REZULTAT: ids@ids2 ~/bash_skripte $ ./prvi_primjer.sh + echo ‘Welcome to wonderland. Let’‘’s continue to see how deep this rabbit hole goes.’ Welcome to wonderland. Let’s continue to see how deep this rabbit hole goes. + mkdir Alice mkdir: cannot create directory ‘Alice’: File exists + cd Alice + touch MadHat.txt + rm -vrI Alice rm: remove 1 argument recursively? Y rm: cannot remove ‘Alice’: No such file or directory + echo Done Done + exit 0 UZROK: Iz navedene greške o nepostojecem´ direktoriju i prošlih naredbi je moguce´ zakljucitiˇ moguci´ uzrok. Problem je jedna od prethodnih naredbi “cd Alice” koja postavlja Alice kao radni direktorij, no kasnije nije unesena naredba za vracanje´ u prethodni direktorij. RJEŠENJE: Ili je potrebno koristiti pune putanje direktorija, ili je potrebno dodati naredbu za vracanje´ u prethodni direktorij. 9. Izmijeniti postojecu´ skriptu na nacinˇ da se uvedu varijable umjesto imena direktorija i datoteke. U skripti se pozivati na te varijable. POMOC:´ U ovim primjerima ce´ biti prikazani osnovni oblici definiranja i pozivanja varijabli. Varijabla se definira tako da se upiše ime varijable, zatim znak jednakosti i na kraju vrijednost varijable. Poziv na varijablu se postiže unosom znaka $ i odmah iza tog znaka unos imena varijable. Imena varijabli se cestoˇ pišu velikim slovima kako bi se isticala unutar skripte, no to nije uvjet. No, imena varijabli su osjetljiva na male i velike znakove, te je potrebno obratiti pozornost na takve situacije. Vrlo kvalitetan izvor sa detaljnijim objašnjenjima je ispod. IZVOR: https://ryanstutorials.net/bash-scripting-tutorial/bash-variables.php PRIMJER SKRIPTE: #!/bin/bash -x IME=Mirko #Defiranje skupa znakova, odnosno rijecˇ BROJ_1=10 #Definiranje broja BROJ_2=3 #Definiranje broja KORISNIK_1=’$Ime$Broj_1’ #Definiranje varijable koja se sastoji od vrijednosti prethodnih varijabli, no korištenjem jednostrukih navodnika bash ljuska nece´ prevesti varijable u vrijednost, vec´ ce´ se prikazati doslovno uneseni znakovi (znak $ nece´ više upucivati´ na varijablu) KORISNIK_2=”$Ime$Broj_2” #Definiranje varijable koja se sastoji od vrijednosti prethodnih varijabli, ko- rištenjem dvostrukih navodnika ce´ se pri ispisu prikazati vrijednosti navedenih varijabli KOMBINACIJA_1=Dobar dan #S obzirom da bash ljuska interpretira ono što je uneseno, rijeciˇ odvojene raz- makom koje se ne nalaze unutar navodnika se nece´ ispravno interpretirati, te nece´ biti prikazane, uz grešku KOMBINACIJA_2=”Dobar dan” #Ispravno definirana varijabla KOMBINACIJA_3=’Dobar Dan’ #Isto ispravno definirana varijabla, moguce´ je koristiti jednostruke navodnike, uz gorenavedene uvjetee

2.3. Klijentski otvoreni operacijski sustavi 229 TSRB_TEST Documentation, Release 1.0

NAREDBA_1=‘uname -a‘ #U varijable je moguce´ unijeti i rezultate izvršavanja odredenih¯ naredbi. Takve naredbe je potrebno staviti unutar jednostrukih stražnjih navodnika (eng. backward single quote, tipka lijevo od znamenke 1. U tu svrhu se koriste Prilikom poziva na varijablu, prvo ce´ se izvršiti naredba, te ce´ se prikazati rezultat NAREDBA_2=‘(uname -a;ls)‘ #Naredbe je moguce´ kombinirati. Takve kombinacije se stavljaju unutar stan- dardnih zagrada NAREDBA_3=$(echo “NAREDBA 3”) #Moguca´ je još jedna varijacija, gdje se varijabla definira pozivom na drugu varijablu, koja se zapravo sastoji od izvršavanja neke naredbe. Te naredbe je potrebno staviti unutar standardnih zagrada echo $IME echo $BROJ_1 echo $BROJ_2 echo $KORISNIK_1 echo $KORISNIK_2 echo $KOMBINACIJA_1 echo $KOMBINACIJA_2 echo $NAREDBA_1 echo $NAREDBA_2 echo $NAREDBA_3 10. Napisati novu skriptu koja ce´ stvoriti direktorij i datoteku unutar tog direktorija. Ime skripte je novi_direktorij.sh. Ti parametri ce´ se unositi prilikom pozivanja imena skripte, kao dodatni argumenti. POMOC:´ PRIMJER SKRIPTE: #!/bin/bash echo “Parametri koji se navode prilikom pozivanja skripte oznacavajuˇ se znakom $ i zatim rednim brojem” echo “Prvi parametar je zapravo nulti parametar, a on je uvijek naziv skripte” echo “Nulti parametar: ” $0 echo “Ostali parametri se navode nakon unesenog naziva skripte. U slucajuˇ da se parametar sastoji od više rijeci,ˇ potrebno ga je staviti unutar navodnika.” echo “Prvi parametar: ” $1 echo “Drugi parametar: ” $2 echo “Treci´ parametar: ” $3 echo “Cetvrtiˇ parametar: ” $4 exit 0 IZVOÐENJE SKRIPTE: ids@ids2 ~/bash_skripte $ ./argumenti.sh 1 2 Išao “medo u ducan”´ Parametri koji se navode prilikom pozivanja skripte oznacavajuˇ se znakom $ i zatim rednim brojem Prvi parametar je zapravo nulti parametar, a on je uvijek naziv skripte Nulti parametar: ./argumenti.sh

230 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Ostali parametri se navode nakon unesenog naziva skripte. U slucajuˇ da se parametar sastoji od više rijeci,ˇ potrebno ga je staviti unutar navodnika. Prvi parametar: 1 Drugi parametar: 2 Treci´ parametar: Išao Cetvrtiˇ parametar: medo u ducan´ 11. Napisati skriptu koja ce´ upitati korisnika za unos nekog podatka, te ce´ taj podatak spremiti u varijablu. POMOC:´ Umjesto unosa argumenata prilikom pozivanja skripte, dodatna metoda upita korisnika za unos podatka je korištenje naredbe read. Moguce´ je unijeti više rijeci,ˇ te ih spremiti u varijablu za daljnje korištenje. Dodatne korisne opcije omogucavaju´ prikaz neke poruke kao upit korisniku (eng. prompt, opcija -p), vremenski limit za unos podatka (eng. timeout, opcija -t), te skrivanje unosa znakova sa tipkovnice (eng. silent, opcija -s). Kao i za svaku drugu naredbu implementiranu unutar bash ljuske (eng. builtin command), ne postoji poseban manpage za nju, vec´ je potrebno otvoriti manpage od naredbe bash, te pretraživati cijeli tekst. Jednostavniji nacinˇ je korištenje naredbe help. Pozivanjem same naredbe ce´ se ispisati popis svih ugradenih¯ naredbi bash ljuske (sa kratkim opisom korištenja). Za detaljan prikaz pomoci´ neke specificneˇ naredbe, potrebno je pozvati naredbu help, te kao argument upisati željenu naredbu (u ovom slucajuˇ read). PRIMJERI: ids@ids2 ~/bash_skripte $ read var;echo $var # Jednostavan primjer traženja unosa korisnika, spremanja u varijablu var, te ispis vrijednosti varijable Superman Superman ids@ids2 ~/bash_skripte $ read -p ‘Upiši najdražeg superheroja: ‘ superhero; echo $superhero # Zahtjev za uno- som od strane korisnika uz dodatnu poruku, te ispis vrijednosti varijable Upiši najdražeg superheroja: DeadPool DeadPool ids@ids2 ~/bash_skripte $ read -sp ‘Upiši još kojeg heroja: ‘ superheroes;echo;echo $superheroes # Jednak primjer kao i prethodni uz dodatak da je unos korisnik skriven i ne prikazuje se na zaslonu Upiši još kojeg heroja: Aquaman Wonderwoman Hulk ids@ids2 ~/bash_skripte $ read -t 10 -p ‘Upiši zlocincaˇ unutar 10 sekundi: ‘ villain; echo $villain # Zahtjev za unosom od strane korisnika uz dodatnu poruku i vremensko ogranicenjeˇ za unos (10 sekundi) Upiši zlocincaˇ unutar 10 sekundi: Joker Joker 12. Napisati skriptu koja ce´ : • Unutar direktorija /home/KORISNIK stvoriti direktorij backup_skripti (direktorij unijeti kao parametar skripte) • Postaviti /home/KORISNIK/bash_skripte direktorij kao radni direktorij • Tražiti upit korisnika koje skripte želi spremiti kao pricuvneˇ kopije (spremiti skripte prvi_primjer.sh i novi_direktorij.sh), te ih spremiti u zasebne varijable • Kopirati te datoteke (koristeci´ varijable) u direktorij backup_skripti • Iskljucitiˇ mogucnost´ izvršavanja pricuvnihˇ kopija skripti • Arhivirati direktorij (naredba tar) backup_skripti sa gzip kompresijom, arhiva koristi isto ime direktorija, no koristiti ispravan redoslijed tar i gz ekstenzija • Na zaslon ispisivati informacije o izvršavanju svakog koraka, te nakon svake radnje ispisati vrijednost uspješnosti zadnje radnje (sjetiti se funkcije varijable $? iz prethodne laboratorijske vježbe) POMOC:´ U skripti slobodno koristiti opciju -x za bash ljusku prilikom dijagnosticiranja funkcionalnosti skripte. Skriptu pisati i testirati korak po korak, te ju tako nadogradivati,¯ radi lakšeg pracenja´ procesa izvodenja,¯ te ispravaka eventualnih grešaka. Ne zaboravljati unositi ispravne parametre i nazive varijabli, jer o njima ovisi ispravno funkcioniranje skripte.

2.3. Klijentski otvoreni operacijski sustavi 231 TSRB_TEST Documentation, Release 1.0

2.3.2.8 LV08

Contents:

Nastavak Bash skripti

Cilj vježbe: U ovoj laboratorijskoj vježbi ce´ se prikazati razlicitiˇ primjeri upotrebe funkcija uvjetovanja (eng. if function, ), te petlje (eng. for loop). Zadaci: 1. Iz komandne linije provjeriti je li proizvoljno upisan broj jednak broju 10. U pozitivnom slucajuˇ prikazati poruku na na zaslonu “Brojevi su jednaki”. POMOC:´ Funkcija uvjetovanja služi za provjeru razlicitihˇ uvjeta (postoji li neka datoteka na sustavu, je li broj veci´ od zadanog, je li skup znakova jednak zadanom skupu, itd). Ovisno o rezultatu te provjere, moguce´ je izvršiti odredene¯ željene radnje. Sa korištenjem te funkcije, skripte pocinjuˇ poprimati odredenu¯ kompleksnost jer je potrebno raditi odluke ovisno o rezultatima. OPCENITA´ SINTAKSA: Osnova sintaksa naredbe pocinjeˇ sa navodenjem¯ funkcije if, te zatim nekih uvjeta u uglate zagrade [] (Izmedu¯ obje zagrade i uvjeta mora postojati razmak. Nakon provjere radnje je potrebno unijeti aktivnost then i željenu radnju u slucajuˇ ispunjenja uvjeta. SVAKA if funkcija mora završiti sa izrazom fi (obrnuto od if). Znaciˇ osnovna logika je if->then (ako je uvjet ispunjen->onda napravi nešto) Logiku je moguce´ nadograditi sa radnjom u slucajuˇ da uvjet NIJE ispunjen, te se ona skraceno´ gleda kao: if->then->else->then (ako je uvjet ispunjen->onda napravi nešto->ako nije ispunjen, napravi nešto drugo) Moguce´ je koristiti i više zasebnih uvjeta, sa slijedecom´ logikom: if->then->elseif(piše se elif, moguce´ je koristiti više elif dodatnih uvjeta)->then->else->then Sve tri kombinacije su prikazane u slijedecim´ opcenitim´ primjerima. if [ neki_uvjet ];then neka_radnja;fi if [ neki_uvjet ];then neka_radnja;else neka_druga_radnja;fi if [ neki_uvjet ];then neka_radnja;elif neka_druga_radnja;elif neka_treca_radnja;else neka_cetvrta_radnja;fi UVJETI: Uglate zagrade su zapravo referenca na postojecu´ naredbu test, koja je interna naredba bash ljuske. Kao iznimka pravilu za ostale interne naredbe, postoji manpage za test naredbu (no moguce´ je pristupiti pomoci´ preko help naredbe). Naredba test provjerava zadani uvjet, te ovisno o rezultatu daje 0 (Provjera je pozitivna) ili 1 (Provjera je negativna) kao status izvršnog koda. Postoji mnogo razlicitihˇ uvjeta (procitatiˇ manpage naredbe test), no biti ce´ prikazano samo par primjera, kako bi se shvatila osnovna logika. -e ime_datoteke # Provjera postoji li navedena datoteka. Ne provjerava se tip datoteke (stan- dardna datoteka, direktorij ili specijalna datoteka) -d ime_direktorija # Provjera postoji li direktorij. -f ime_datoteke # Provjera postoji li standardna datoteka. ime_datoteke1 -nt ime_datoteke2 # Provjera je li prva datoteka novija od druge (eng. Newer Than) ime_datoteke1 -ot ime_datoteke2 # Provjera je li prva datoteka starija od druge (eng. Older Than)

232 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

-z skup_znakova # Provjera je li skup_znakova prazan, odnosno definirana varijabla nema nikakvu vrijednost (eng. Zero characters) -n skup_znakova # Provjera je li neki skup_znakova zapisan, odnosno definirana varijabla ima neku vrijednost (eng. Not zero characters) skup_znakova1 = skup_znakova2 # Provjera jesu li dva skupa znakova jednaki skup_znakova1 != skup_znakova2 # Provjera jesu li dva skupa znakova razlicitiˇ broj1 -eq broj2 # Aritmetickaˇ operacija jednakosti (eng. EQual) broj1 -ne broj2 # Aritmetickaˇ operacija nejednakosti (eng. Not Equal) broj1 -lt broj2 # Aritmetickaˇ operacija manje od x (eng. Less Than) broj1 -gt broj2 # Aritmetickaˇ operacija vece´ od x (eng. Greater Than) broj1 -le broj2 # Aritmetickaˇ operacija manje od x ili jednako (eng. Less or Equal than) broj1 -ge broj2 # Aritmetickaˇ operacija vece´ od x ili jednako (eng. Greatere or Equal than) Korisnika se poticeˇ da prouciˇ sve moguce´ uvjete koji se mogu testirati, te da eksperimentira s njima. No, navedeni primjeri su dovoljni kako bi se zadovoljile osnovne pretpostavke znanja i vještina. 2. Nadopuniti skriptu iz prethodne vježbe koja ce´ provjeriti broj upisanih znakova iz parametra nakon poziva skripte. Ako parametar uopce´ nije naveden, upozoriti korisnika da mora unijeti parametar, te zatim automatski prekinuti izvršavanje skripte POMOC:´ Broj upisanih znakova neke varijable je moguce´ spremiti u drugu. Koristi se slicnaˇ metoda (prikazana u prošloj vježbi), gdje jedna varijabla poziva vrijednost neke druge varijable ( npr. VARIJABLA2=$VARIJABLA1 ). No, za brojanje broja znakova nekog parametra, potrebno je parametar spremiti u zasebnu varijablu, te novu varijablu koristiti za brojanje znakova. PRIMJER SKRIPTE: #!/bin/bash VARIJABLA1=deset VARIJABLA2=$VARIJABLA1 BROJAC=${#VARIJABLA2} PARAMETAR=$1 echo $VARIJABLA1 echo $VARIJABLA2 echo $BROJAC echo $PARAMETAR echo ${#PARAMETAR} exit 0 IZVOÐENJE SKRIPTE: ids@ids2 ~/bash_skripte $ ./brojac_znakova.sh osam deset deset 5 osam 4 3. Nadopuniti skriptu tako da se prije stvaranja direktorija provjerava postoji li vec´ taj direktorij. U slucajuˇ da postoji, ispisati na zaslon prikladnu poruku, u suprotnom nastaviti stvaranje direktorija.

2.3. Klijentski otvoreni operacijski sustavi 233 TSRB_TEST Documentation, Release 1.0

4. Nadopuniti skriptu tako da se u dijelu za unos imena datoteka vrši provjera nalazi li se ta datoteka u direktoriju (pripaziti na putanje gdje zapravo skripta pretražuje te datoteke). U slucajuˇ da tražena datoteka ne postoji, javiti sa prikladnom porukom, te zatim ispisati popis datoteka u ciljanom direktoriju i prekinuti izvršavanje skripte uz zapis izlaznog statusa koda vrijednosti 1. 5. Napisati skriptu koja ce´ provjeriti je li neki direktorij prazan. U slucajuˇ da je prazan, javiti prikladnu poruku. Provjeriti uspješnost skripte tako da se provjeri i prazan i ispunjen direktorij. POMOC:´ Navedeni primjer može se riješiti testiranjem rezultata naredbe za prikaz sadržaja direktorija ls. Pritom je potrebno kombinirati vrijednost rezultata naredbe sa operatorima uspješnosti izvršavanja. PRIMJER: #!/bin/bash [ “$(ls -A $1)” ] && echo “Direktorij nije prazan” || echo “Direktorij je prazan” Opis primjera. Gornju liniju je potrebno razdijeliti na tri zasebna dijela : a) [ “$(ls -A $1)” ] • Sve što se nalazi unutar zagrada [ ] je zapravo pod provjerom. Zagrade su zapravo zamjena za naredbu test. Rezultat može biti uspješan ili neuspješan, odnosno izlazni status koda je 0 ili 1. • Naredba ls -A $1 ce´ prikazati sadržaj nekog direktorija (sve datoteke i direktorije, cakˇ i skrivene, osim standardnih . i .. direktorija). Argument $1 je dodan u slucajuˇ ako korisnik želi dodati parametar skripti da se pretraži neki drugi direktorij osim onog u cijemˇ se okruženju izvršava skripta. • “$(ls -A $1)” . Znak $ i zagrade se koriste za izvršavanje naredbi i zapis rezultata na standardni izlaz. Ako se ne koriste dvostruki navodnici, rezultat ce´ biti odvojen na zasebne stavke. Drugim rijecima,ˇ direktorij sa 10 datoteka ce´ imati 10 zasebnih stavki. Tu se javlja problem, jer naredba test (u ovom slucajuˇ prezentirana sa uglatim zagradama) uzima samo jedan argument za testiranje, a prezentirano joj je 10. Zbog toga je potrebno rezultat naredbe staviti pod navodnike, kako bi se gledao kao jedan skup znakova, odnosno jedna stavka. b) && echo “Direktorij nije prazan” • Vec´ poznato korištenje operatora, koji u slucajuˇ uspješno izvršene prethodne radnje izvršava neku drugu zadanu radnju (ceštoˇ poruka o uspjehu) c) || echo “Direktorij je prazan” • Vec´ poznato korištenje operatora, koji u slucajuˇ neuspješno izvršene prethodne radnje izvršava neku drugu zadanu radnju (cestoˇ poruka o neuspjehu) • Jedini dodatak je što je prikazano da se operatori && i || mogu kombinirati u istoj liniji 6. Prilagoditi i implementirati kod iz prošle skripte u skriptu za pohranu pricuvnihˇ kopija, tako da se prije onemogucavanja´ izvršavanja datoteka provjeri je li direktorij prazan. U slucajuˇ da je prazan, prethodno kopi- ranje nije uspješno, te je potrebno prijaviti prikladnu poruku i prekinuti izvršavanje skripte uz zapis izlaznog statusa koda vrijednosti 1. 7. Nadograditi skriptu tako da se prikaže popis datoteka i njihov ukupan broj u direktoriju backup_skripti. Potrebno je koristiti for petlju. Kod smjestiti nakon dijela koji onemogucava´ izvršavanja datoteka. for;do set_naredbi;done Primjeri brojanja: for i in {1..10};do echo $i;done for i in {10..1};do echo $i;done for i in {10..1..2};do echo $i;done

234 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Primjer korištenja zasebnih stavki neke varijable: SUPERHEROJI=”Superman Batman Deadpool Frodo”;for ime in $SUPERHEROJI;do echo $ime;done Primjeri korištenja radnji nad datotekama u nekom direktoriju: for file in /direktorij/*;do cp $file /tmp;done for file in /direktorij/*.sh;do mv $file /direktorij/$fileBAK;done for file in /direktorij/*.sh;do mv $file /direktorij/$(basename -s sh $file)BAK;done 8. Ispisati sadržaj HOME direktorija korisnika. Preusmjeriti izlazni sadržaj u datoteku /dev/null, umjesto na zaslon. POMOC:´ Za preusmjeravanje podataka koriste se osnovni operatori za redirekciju <, >, >> . Umjesto na stan- dardni izlaz, podaci se preusmjeravaju na neku drugu lokaciju, recimo u datoteku. PRIMJER: ls > /home/korisnik/izlaz.txt # Rezultat naredbe ls se preusmjerava u datoteku izlaz.txt. Prethodni sadržaj da- toteke se briše. ls >> /home/korisnik/izlaz.txt # Rezultat naredbe ls se preusmjerava u datoteku izlaz.txt. Prethodni sadržaj datoteke ostaje, novi sadržaj se nadopunjuje. ls < /home/korisnik/direktorij.txt # Naredba ls kao parametar uzima sadržaj datoteke direktorij.txt NAPOMENA: Datoteka /dev/null je posebna datoteka u sustavu, poznata kao “crna rupa”. Sve što se preusmjeri u tu datoteku nestaje. Isto tako je moguce´ ocistitiˇ sadržaj neke datoteke tako da se preusmjeri /dev/null u nju. 9. Ispisati sadržaj nekog nepostojeceg´ direktorija, te preusmjeriti izlazni sadržaj u datoteku /dev/null. Što se do- godilo? Je li se pojavila koja informacija na zaslonu? POMOC:´ Aplikacije komuniciraju sa sustavom pomocu´ tri razlicitaˇ komunikacijska kanala : • Standardni ulaz (eng. Standard input, STDIN) # Kanal preko kojeg aplikacija dobiva neke parametre, najcešˇ ce´ tipkovnica, ili neka datoteka • Standardni izlaz (eng. Standard output, STDOUT) # Kanal preko kojeg aplikacija prikazuje izlazne infor- macije, najcešˇ ce´ monitor, ili neka datoteka • Standardna greška (eng. Standard error, STDERR) # Kanal preko kojeg aplikacija prikazuje greške pri- likom izvodenja,¯ najcešˇ ce´ monitor, ili neka datoteka U ovom konkretnom slucaju,ˇ ako se koristi samo znak redirekcije >, standardno se preusmjerava samo STDOUT tip podataka u datoteku, dok ce´ se STDERR i dalje prikazivati na zaslonu. Za upravljanje koji se tip informacije preusmjerava, potrebno je navesti identifikacijski broj : • STDOUT = 1 • STDERR = 2 PRIMJERI: ls /postojeci/direktorij´ # Sadržaj direktorija je prikazan na zaslonu ls /NEpostojeci/direktorij´ # Poruka o grešci je prikazana na zaslonu ls /postojeci/direktorij´ 1>Rezultat.txt # Sadržaj direktorija je preusmjeren u datoteku Rezultat.txt ls /NEpostojeci/direktorij´ 2>Greška.txt # Poruka o grešci je preusmjerena u datoteku Greška.txt ls /NEpostojeci/direktorij´ 1>Rezultat.txt 2>Greška.txt # Sadržaj direktorija je preusmjeren u datoteku Rezultat, a eventualne poruke o greškama u datoteku Greška.txt ls /Nepostojeci/direktorij´ >Datoteka.txt 2>&1 # Cestoˇ korištena varijacija prethodnog primjera, sve se zapisuje u jednu datoteku. Prvi argument kaže se STDOUT poruke preusmjeravaju u datoteku Datoteka.txt. # Slijedeci´ argument preusmjerava STDERR poruke na lokaciju u koju zapisuje STDOUT.

2.3. Klijentski otvoreni operacijski sustavi 235 TSRB_TEST Documentation, Release 1.0

10. Poslati ICMP zahtjev (naredba ping) na prvih 10 adresa unutar mreže. Poslati samo jedan ICMP zahtjev po adresi, i cekatiˇ samo jednu sekundu prije nego prijede¯ na slijedecu.´ 11. Izmijeniti prethodni zadatak tako se ne prikazuju nikakve informacije ping naredbe na zaslonu, vec´ samo poruke o uspješno obavljenoj radnji (te poruke ispisati ovisno o uspješno izvršenoj naredbi). 12. Napisati skriptu koja ce´ poslati ICMP zahtjev na prvih 50 adresa unutar mreže (zadane od strane korisnika). Adrese koje odgovaraju na zahtjev zapisati u datoteku. Dodatni uvjeti za skriptu su: a) Skriptu spremati u HOME direktorij korisnika ( proucitiˇ i koristiti sistemsku $HOME varijablu okruženja korisnika - popis svih varijabli ispisuje se naredbom env, eng. environment) b) Ime datoteke se može unijeti kao parametar prilikom pokretanja skripte, ili kao unos za vrijeme izvršavanja skripte c) Provjeriti postoji li vec´ takva datoteka, te ako postoji, isprazniti ju ( pomoc´ : koristiti redirekciju i /dev/null datoteku) d) Ping naredba treba poslati samo jedan ICMP zahtjev po adresi, i cekatiˇ samo jednu sekundu prije nego prijede¯ na slijedecu´ adresu e) Ne prikazivati nikakve informacije ping naredbe na zaslon, vec´ samo poruke o adresama koje odgo- varaju na ICMP zahtjeve f) Na kraju skripte ispisati sadržaj datoteke sa popisom aktivnih adresa POMOC:´ Izgled izvršavanja skripte bi trebao biti otprilike kao u primjeru ispod. ids@ids2 ~/bash_skripte $ ./ping.sh Direktorij u koji ce´ se spremati rezultati je /home/ids Upiši datoteku u koju ce´ se spremati rezultati: Adrese.txt Datoteka vec´ postoji, praznim njen sadržaj Upisi mrezni dio IP adrese (npr 192.168.100 ): 192.168.70 IP adresa 192.168.70.1 odgovara na ICMP upit,zapisujem u datoteku IP adresa 192.168.70.11 odgovara na ICMP upit,zapisujem u datoteku IP adresa 192.168.70.45 odgovara na ICMP upit,zapisujem u datoteku IP adresa 192.168.70.46 odgovara na ICMP upit,zapisujem u datoteku Aktivne IP adrese su: 192.168.70.1 192.168.70.11 192.168.70.45 192.168.70.46 13. Napisati skriptu koja ce´ poslati po 2 ICMP zahtjeva svakoj IP adresi iz popisa koji se nalazi u datoteci stvorenoj u prethodnom zadatku. Nije potrebno preusmjeravati rezultate. 14. Poslati ICMP zahtjev (naredba ping) na prvih 10 adresa unutar mreže. Poslati samo jedan ICMP zahtjev po adresi, i cekatiˇ samo jednu sekundu prije nego prijede¯ na slijedecu.´ Umjesto for naredbe, koristiti while. POMOC:´ While petlja je slicnaˇ For petlji, no razlika je u tome što se For petlja uglavnom koristi kad se zna koliko ce´ puta biti izvršena. While petlja se, s druge strane izvršava sve dok se ne ispuni neki odredeni¯ uvjet. Tocnije,ˇ korištenjem while petlje, uvjet se testira PRIJE samog izvršavanja, a u for petlji, nakon što je izvršen jedan korak. BROJ=0 # Obvezno je definirati i postaviti pocetnuˇ vrijednost varijable while [ $BROJ -le 10 ] # Ovdje pocinjeˇ while petlja. Petlja ce´ se izvoditi sve dok vrijednost varijable BROJ bude manja ili jednaka broju 10. Uvjet se provjerava PRIJE izvršavanja novog koraka do echo $BROJ (($BROJ++)) done 15. Ponoviti 13. zadatak, no za to koristiti while naredbu umjesto for.

2.3.2.9 LV09

Contents:

236 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

Upravljanje paketima

Priprema: Upoznati se sa pojmovima [repozitorij, paketi, zavisnost (eng. dependency) paketa, izgradnja paketa iz izvorišnog koda (eng. building from source). Dodatno, upoznati se sa razlicitimˇ tipovima paketa (minimalno .deb i .rpm),] te upraviteljima paketa (apt, apt-get i aptitude za distribucije bazirane na .deb paketima, te yum za .rpm bazirane distribucije). Upoznati cemuˇ služi Synaptic Package Manager. Uvod: Laboratorijska vježba je predvidena¯ za rad u GNU/Linux Mint Debian Edition 2 distribuciji (verzija 8.10, codename Jessie). S obzirom da pripada grani Debian distribucija, u vježbi ce´ se upravljati .deb tipovima paketa. Cilj vježbe: Korisnik ce´ biti upoznat sa osnovnim radnjama upravljanja paketima na Debian baziranoj distribuciji. Osnovne radnje podrazumijevaju : • pretraživanje dostupnih paketa • instalacija paketa • prikaz detalja o paketu (opis i svrha, verzija, zavisnost o drugim paketima) • deinstalacija paketa Navedene radnje biti ce´ opisane u alatima sa grafickimˇ suceljemˇ (Software Manager i Synaptic Pack- age Manager), te iz komandne linije (dpkg, apt i aptitude). Korisnik ce´ saznati kako pronaci´ lokacije instaliranih paketa na racunalu.ˇ Na kraju, korisnik ce´ sa interneta preuzeti izvorišni kod neke ap- likacije, te iz nje rucnoˇ izgraditi binarne (izvršne) datoteke, popularan termin za takvu radnju je “build from source”. Zadaci: 1. Pokrenuti Software Manager aplikaciju. Proucitiˇ koliko ima dostupnih paketa za instalaciju. 2. Potražiti paket Zenmap. U kojoj se kategoriji nalazi? Koja je funkcija paketa? Proucitiˇ na koju aplikaciju se nadovezuje, te proucitiˇ detalje te aplikacije. Instalirati Zenmap, te ga i pokrenuti. Jesu li postupci uspješni? 3. Unutar Software Manager aplikacije, deinstalirati Zenmap. 4. Pokrenuti Synaptic Package Manager aplikaciju. Detaljno procitatiˇ uvodnu poruku i eventualno zapisati bitne informacije. Proucitiˇ izgled suceljaˇ i usporediti sa Software Manager aplikacijom. Postoje li kategorije u Synap- tic Package Manager aplikaciji? Pokušati instalirati Zenmap aplikaciju. Koji su koraci potrebni za navedeni postupak? 5. Nakon što je Zenmap instaliran, otvoriti Properties prozor, te proucitiˇ kartice Dependencies i Installed files. O kojim paketima je zavisna aplikacija? Koji je preporuceniˇ paket prilikom korištenja Zenmap aplikacije (Rec- ommends stavka)? Saznati koja je funkcija preporuceneˇ aplikacije (informaciju je moguce´ naci´ unutar Synaptic PM sucelja).ˇ U koji direktorij je instalirana sama binarna (izvršna) datoteka Zenmap aplikacije(informacija se nalazi unutar Installed files kartice)? 6. Pokrenuti Software Manager aplikaciju. Koji je status Zenmap aplikacije u tom sucelju,ˇ te mogu li se pronaci´ detalji o zavisnosti o drugim paketima, ili neke druge informacije koje se nude u Synaptic PM sucelju?ˇ Slobodno ugasiti Software Manager i Synaptic PM aplikacije. 7. Iz komandne linije proucitiˇ manpage aplikacije dpkg (dovoljno je procitatiˇ odlomke NAME i DESCRIPTION za osnovni opis). Pozvati help od aplikacije dpkg, te saznati koja se opcija koristi za prikaz detalja statusa nekog paketa. Pomocu´ dpkg saznati detalje o aplikaciji zenmap. Sa cimeˇ se mogu usporediti prikazani detalji u odnosu na prethodno iskustvo? 8. Prikazati na zaslonu popis svih paketa na racunaluˇ (potražiti koja opcija dpkg aplikacije nudi takvu funkcional- nost). Preusmjeriti izlazne podatke te naredbe u ulazne podatke naredbe less (proucitiˇ manpage naredbe less i more). Potražiti nalazi li se u popisu Zenmap aplikacija. POMOC:´ Dodatak operatorima za redirekciju iz prethodne vježbe je cijevni operator | (eng. pipe). Svrha ovog operatora je preusmjeriti rezultate neke naredbe kao ulazne parametre za drugu naredbu.

2.3. Klijentski otvoreni operacijski sustavi 237 TSRB_TEST Documentation, Release 1.0

PRIMJER: ids@ids2 ~ $ ls Adrese.txt backup backup_skripti backup.tar.gz bash_skripte cookies.txt core Desktop Docu- ments Downloads LINUX_PRIMJERI Music Pictures Public Templates Videos ids@ids2 ~ $ ls | grep “backup” backup backup_skripti backup.tar.gz ids@ids2 ~ $ ls | grep “backup” | grep “tar” backup.tar.gz U gornjem primjeru je prikazan sadržaj korisnickogˇ HOME direktorija pomocu´ naredbe ls. U slijedecem´ prim- jeru je postupak ponovljen, no ovog puta je rezultat naredbe ls preusmjeren kao ulazni podatak standardne naredbe za filtriranje grep. S obzirom da je definiran filter “backup”, iz cjelokupnog popisa, prikazati ce´ se samo one linije koje u sebi sadrže rijecˇ “backup”. Potrebno je napomenuti, bez obzira što je rezultat naredbe ls prikazan u jednoj liniji, svaka stavka je zapravo zasebna i gleda se kao da se nalazi u posebnoj liniji (što se može provjeriti i kompleksnijim primjerom “ls -alh”, gdje je svaka stavka u zasebnoj liniji). Zadnji primjer se u praksi ne koristi na taj nacin,ˇ te je stavljen samo kao pokazni primjer preusmjeravanja rezultata druge naredbe kao ulazni podatak posljednje naredbe. Moguce´ je povezati u lanac mnogo takvih kombinacija. 9. Prikazati na zaslonu popis svih paketa pomocu´ naredbe dpkg, no upotrijebiti filter tako da se prikazuje samo linija sa Zenmap aplikacijom. 10. Pomocu´ dpkg naredbe obrisati Zenmap paket sa sustava (saznati koja se opcija koristi u tu svrhu). 11. Proucitiˇ manpage naredbi apt-get (bitne opcije su update, upgrade, install, remove, purge i autoremove) i apt-cache (bitne opcije su showpkg i search). Pomocu´ naredbe apt-get sinkronizirati lokalnu bazu paketa sa online repozitorijem. Nakon sinkronizacije, upisati naredbu za nadogradivanje¯ verzije paketa, no NE nastaviti sa nadogradnjom, vec´ prekinuti proces nakon ponude. Koliko paketa je moguce´ nadograditi, i koliko je potrebno podataka preuzeti sa interneta? 12. Pomocu´ naredbe apt-cache pretražiti bazu za paket sa imenom zenmap. Je li radnja bila uspješna? Prikazati detalje u spomenutom paketu (opcija showpkg). 13. Pomocu´ naredbe apt-get , instalirati paket iz prethodnog zadatka. Je li radnja bila uspješna? Može li se instalirati paket sa standardnim korisnickimˇ ovlastima? NAPOMENA: Uz apt-get, koriste se i upravitelji aptitude i apt. Apt je trenutno najmodernije rješenje koje zamjenjuje obje apt-get i apt-cache naredbe. Sintaksa je jednostavnija, te je pregled informacija o izvršavanju procesa citkiji.ˇ Iako je apt-get/apt-cache kombinacija još uvijek najcešˇ ca´ u primjeni (ujedno i razlog zašto se koristi u ovoj vježbi), korisnika se poticeˇ da se educira na modernijoj implementaciji apt. 14. Pomocu´ naredbe apt-get obrisati Zenmap paket sa sustava. 15. Sa web pretraživacemˇ otvoriti slijedecu´ adresu : http://hisham.hm/htop/ 16. Kliknuti na poveznicu koja usmjeruje na stranicu sa najnovijim izdanjem aplikacije. Primijetiti mogucnost´ preuzimanja u obliku izvornog koda i prethodno kompajlirane izvršne (binarne) datoteke. Koja je razlika izmedu¯ njih dvoje? 17. Odabrati preuzimanje u obliku izvornog koda. Koja je razlika izmedu¯ Stable i Development verzija? Koja verzija je uglavnom preporucenaˇ za korištenje? 18. Kliknuti na poveznicu koja upucuje´ na najnoviju verziju izvornog koda, te na slijedecoj´ stranici odabrati direk- torij sa najsvježijim datumom. 19. Unutar ~/Downloads direktorija, stvoriti novi direktorij pod imenom HTOP, te preuzeti sve datoteke prikazane u prethodnom zadatku u HTOP direktorij. NAPOMENA: Više o .asc datotekama na slijedecoj´ poveznici: https://logological.org/signature Prije izvršavanja datoteka preuzetih iz neslužbenih izvora, dobro je provjeriti autenticnost,ˇ kako bi se korisnik uvjerio da sadržaj nije izmijenjen od trece´ strane. Provjera se najcešˇ ce´ sastoji ili od klasicneˇ provjere md5 sume, ili provjere potpisivanja javnim kljucem.ˇ

238 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

MD5 metoda - Još uvijek cestaˇ metoda gdje se nad sadržajem neke datoteke izvrši hash funkcija MD5 algoritma, te se kao proizvod dobije 128 bitna vrijednost (16 znakova). Prilikom preuzimanja te datoteke, ponovno se izvrši MD5 hash funkcija, te se usporedi sa postojecom´ vrijednošcu.´ Ako poklapaju, datoteka je zadržala integritet. Potpisivanje javnim kljucemˇ - Dosta kompleksnija metoda, u kojoj se sadržaj neke datoteke pot- pisuje javnim kljucemˇ autora. Svatko tko preuzme tu datoteku, može (uz uvjet da je preuzeo i javni kljucˇ autora) provjeriti priloženi potpis datoteke. Za cijeli proces je potrebno imati 3 komponente : originalnu datoteku za preuzimanje, datoteku sa potpisom, te javni kljuc.ˇ 20. Proucitiˇ manpage aplikacije gpg (eng. GNU Privacy Guard), bitne opcije su verify, import, list-keys i delete- key. Pomocu´ naredbe gpg verificirati htop-x.y.z.tar.gz datoteku (slova x,y,z zamijenjuju verziju aplikacije). Koji detalji se mogu išcitatiˇ iz potpisa? Koja poruka se javlja vezano uz javni kljuc?ˇ PRIMJER: gpg –verify potpis_datoteke originalna_datoteka # Kao argumenti se prvo navodi ime datoteke sa potpisom, nakon koje slijedi ime originalne datoteke 21. Sa slijedece´ poveznice kopirati kompletan tekst javnog kljucaˇ (sve što je uokvireno, ne izostaviti nijedan znak), te ga spremiti u datoteku hisham.gpg koja ce´ se nalaziti u ~/Downloads/HTOP direktoriju. Uvesti (eng. import) javni kljucˇ autora u lokalnu bazu. PRIMJER: gpg –import javni_kljuc.gpgˇ 22. Ponovno verificirati datoteku sa potpisom. Ima li kakvih promjena? Koji se sad detalji mogu išcitatiˇ iz potpisa? NAPOMENA: Uz detalje ce´ se javiti upozorenje kako javni kljucˇ nije potvrden¯ od strane povjerljivog autoriteta. Iako je cijela tema kompleksna, dovoljno je reci´ kako se cijeli sustav temelji na povjerenju u neku trecu´ stranu. U ovom slucaju,ˇ korisnik vjeruje u autenticnostˇ javnog kljucaˇ autora. 23. Nakon provjere integriteta arhivske datoteke, raspakirati htop-x.y.z.tar.gz datoteku, te postaviti novostvoreni direktorij kao radni direktorij. Ispisati sadržaj novog direktorija. Koje ekstenzije imaju vecinski´ broj datoteka u direktoriju? Što uglavnom opisuju ekstenzije *.c i *.h? 24. Procitatiˇ sadržaj datoteke INSTALL, dovoljno je poglavlje Basic Installation. 25. Pokrenuti proces konfiguracije, prije kompajliranja izvornih datoteka u binarne. Ima li kakvih grešaka u pro- cesu? NAPOMENA: S obzirom da se u ovom procesu paketi rucnoˇ izgraduju¯ i instaliraju, ne postoji sustav koji provjerava ovisnost paketa i automatski instalira ostale potrebne pakete. To je ujedno i osnovna boljka rucneˇ instalacije, zbog koje se uglavnom preporucujeˇ instalacija vec´ pripremljenih paketa, pomocu´ nekog automatiziranog sustava (apt,apt-get. . . ). Kod svake rucneˇ instalacije, moguci´ su odredeni¯ problemi, u kojima korisnik sam treba zakljucitiˇ što je potrebno izmijeniti ili dodatno instalirati. PRIMJER: U ovoj situaciji , moguca´ je poruka greške configure: error: You may want to use –disable-unicode or install libncursesw. Potrebno je instalirati paket libncursesw5-dev, te ponoviti proces konfiguracije. 26. Nakon uspješne konfiguracije (bez grešaka i upozorenja), potrebno je izgraditi binarne datoteke iz datoteka sa izvornim kodom. Dovoljno je samo upisati naredbu make. 27. Zadnji korak u procesu je prebacivanje izvršnih datoteka u potrebne direktorije, uglavnom /usr/local/bin. Proces se aktivira naredbom make install. Ima li kakvih grešaka, vezano uz dozvole? Kako bi se mogao riješiti taj problem? 28. Provjeriti lokaciju instalacije aplikacije htop (naredba which). Pokrenuti aplikaciju htop kako bi se potvrdila uspješna instalacija.

2.3. Klijentski otvoreni operacijski sustavi 239 TSRB_TEST Documentation, Release 1.0

2.3.2.10 LV10

Contents:

Upravljanje korisnicima

Cilj vježbe: Ideja vježbe je upoznati se sa pojmom upravljanja korisnicima. Nakon vježbe, polaznik ce´ biti upoznat sa : • Identifikacijom prijavljenog korisnika • Stvaranjem novih korisnika (raznim metodama), • Konfiguracijom profila i radnog okruženja • Stvaranja pricuvneˇ kopije profila i podataka korisnika • Brisanjem postojecih´ korisnika sa sustava Zadaci: 1. Proucitiˇ manpage naredbe whoami. Pokrenuti navedenu naredbu. Koji je korisnik trenutno prijavljen? 2. Proucitiˇ manpage naredbe id. Pokrenuti navedenu naredbu. U koliko grupa se nalazi prijavljeni korisnik? Cemuˇ služi grupa adm? NAPOMENA: Opis svih ugradenih¯ grupa može se proucitiˇ na slijedecim´ poveznicama. LOKALNO : file:///usr/share/doc/base-passwd/users-and-groups.html WEB : https://www.togaware.com/linux/survivor/Standard_Groups.html 3. Proucitiˇ manpage naredbe w. Pokrenuti navedenu naredbu. Tko je sve prijavljen u sustav? Koliko pokrenutih procesa ima trenutno prijavljeni korisnik? 4. Pomocu´ naredbe tail na zaslonu prikazati posljednih 10 linija datoteke /var/log/messages. Je li radnja uspješna? 5. Pokrenuti grafickoˇ suceljeˇ upravitelja korisnicima i grupama. Maknuti trenutno prijavljenog korisnika iz grupe adm. POMOC:´ Do upravitelja je moguce´ doci´ odabirom izbornika Menu->Administration->Users and Groups 6. Ponovno pokušati prikazati sadržaj /var/log/messages datoteke. Je li radnja uspješna? 7. Odjaviti i ponovno prijaviti korisnika, te ponoviti prethodni zadatak. Što se dogodilo? Zašto korisnik nema ovlasti? Zašto su prava izgubljena tek nakon ponovne prijave? Vratiti korisnika kao clanaˇ adm grupe. 8. Procitatiˇ manpage useradd i passwd naredbi. Pomocu´ useradd naredbe stvoriti novog korisnika s imenom su- perman. Pomocu´ passwd naredbe dodati lozinku korisniku (smije biti jednaka korisnickomˇ imenu). 9. Pokušati se prijaviti kao Superman korisnik. Dokumentirati prikazanu poruku. Koje je njeno znacenje?ˇ Potvrditi nastavak prijave. Koje je ponašanje sustava nakon prijave? Dokumentirati poruku o grešci i odjaviti se. 10. Provjeriti postoji li superman direktorij za korisnika u /home direktoriju. Rucnoˇ stvoriti direktorij. Tko je vlasnik tog direktorija? Predati vlasništvo korisniku superman. Koji je sadržaj /home/superman direktorija? Ponovno se pokušati prijaviti kao superman korisnik. Je li ovaj put prijava uspješna? Provjeriti sadržaj koris- nickogˇ direktorija. Što se promijenilo? POMOC:´ Ako se eksplicitno ne navede, useradd nece´ automatski stvoriti i korisnickiˇ direktorij, vec´ je to potrebno rucnoˇ napraviti. Da bi prijava bila uspješna, korisnik mora imati i vlasništvo nad tim direktorijem. Vlasništvo nad datotekama i direktorijima se mijenja pomocu´ naredbe chown. Potrebno je napomenuti kako se prilikom stvaranja korisnika ujedno stvara i grupa sa istim imenom.

240 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

PRIMJER: chown korisnik:grupa datoteka/direktorij 11. Proucitiˇ manpage naredbe su. Cemuˇ služi opcija - (ili -l)? Koji efekt se podrazumijeva ako se nakon naredbe su ne upiše nijedan argument? Pomocu´ naredbe su prijaviti se u ljusci kao korisnik superman. Koja je vrijednost varijable okruženja $PWD? Odjaviti se iz ljuske naredbom exit, te ponovno prijaviti uz korištenje opcije -. Ispisati vrijednost varijable $PWD. Ima li kakve razlike? Zašto? 12. Ispisati sve varijable okruženja (naredba printenv ili env, eng. environment). Koja je ljuska ucitanaˇ za korisnika superman? Pokušati prikazati zadnjih 15 (proucitiˇ opciju koja to omogucava)´ linija datoteke /var/log/messages. Je li radnja uspješna? Iz iskustva prethodnih zadataka, zakljucitiˇ zašto. U kojim grupama se nalazi korisnik superman? Odjaviti se iz aktivne ljuske korisnika. 13. Proucitiˇ manpage naredbe usermod (bitne opcije su : -a, -G, -s, -L -e 1, -l). Promijeniti aktivnu ljusku korisniku superman u bash umjesto sh. Dodati korisnika u grupe adm, users i audio. Provjeriti u kojim grupama se korisnik nalazi? Dodatno ga uclanitiˇ u grupu video. Koju opciju je potrebno koristiti za tu radnju, ako se žele zadržati prethodna clanstva?ˇ NAPOMENA: Više o usporedbi i razlikama sh i bash na slijedecim´ poveznicama. Bitno je zapamtiti kako sh nije aplikacija, vec´ se radi o smjernicama za implementaciju u POSIX standardu. Svaka Linux distribucija odabire neku od implementacija i veže na sh datoteku (simbolickimˇ ili cvrstimˇ poveznicama). IZVORI: https://gist.github.com/mdeguzis/1d429ae8a8ccff78ea82 http://pubs.opengroup.org/onlinepubs/ 009695399/utilities/xcu_chap02.html PRIMJER: ids@ids2 /bin $ ls -alh /bin/sh lrwxrwxrwx 1 root root 4 May 11 2017 /bin/sh -> dash # Trenutna implementacija je dash aplikacija 14. Proucitiˇ manpage naredbe chage. Pomocu´ passwd i chage naredbi saznati informacije o korisniku superman. Koje je znacenjeˇ slova P u izlaznim informacijama passwd naredbe? Zakljucatiˇ korisnika superman. Pokušati se prijaviti kao taj korisnik. Što se dogodilo? Ponovno provjeriti informacije za superman korisnika. Što se tocnoˇ promijenilo u odnosu na prvotne rezultate? Otkljucatiˇ korisnika. 15. Proucitiˇ manpage naredbe adduser. Stvoriti korisnika ironman pomocu´ naredbe adduser (ne koristiti nikakve dodatne opcije). U cemuˇ se razlikuje postupak izmedu¯ korištenja useradd i adduser naredbi? Ponovno stvoriti proizvoljnog korisnika, no koristiti opciju debug. Što se može zamijetiti u procesu stvaranja korisnika naredbom adduser? Pokušati se prijaviti kao ironman korisnik. Je li radnja uspješna? Odjaviti se i prijaviti kao korisnik sa administratorskim ovlastima. 16. Proucitiˇ manpage datoteke passwd (navesti 5. sekciju za prikaz). Proucitiˇ znacenjaˇ polja za korisnike. Procitatiˇ dodatno objašnjenje za lozinke korisnika. Na zaslonu prikazati sadržaj datoteke /etc/passwd, te filtrirati da se prikažu samo informacije za korisnika superman. Što je zapisano u polju za lozinku korisnika? Koje je znacenjeˇ toga? Proucitiˇ manpage datoteke shadows, te zatim na zaslonu prikazati sadržaj datoteke /etc/shadow. Koje su informacije zapisane u toj datoteci? 17. Pokrenuti suceljeˇ za izmjenu prozora prijave korisnika (Login Windows Preferences). Postaviti MDModern temu kao standarnu prilikom prijave. 18. Izmijeniti ~/.bashrc datoteku na nacinˇ da se doda kod koji ce´ u svakom novom prozoru terminala ispisati iznad prompta (NE MIJENJATI OSTATAK DATOTEKE): • Sve IPv4 adrese mrežnih suceljaˇ (proucitiˇ naredbu hostname) • Trenutno prijavljenog korisnika pod kojim se otvorio prozor • Informacije o ukupnoj i slobodnoj memoriji (ne prikazivati swap memoriju, proucitiˇ naredbu free) PROUCITIˇ SVRHU DATOTEKA (kratki opis se može naci´ u manpageu bash ljuske, kategorija FILES pri samom dnu):

2.3. Klijentski otvoreni operacijski sustavi 241 TSRB_TEST Documentation, Release 1.0

/etc/profile /etc/bash.bashrc /etc/bash.bash.logout ~/.bash_profile ~/.bashrc ~/.bash_logout ~/.inputrc 19. Proucitiˇ manpage naredbe userdel. Obrisati korisnika hulk, zajedno sa njegovim home direktorijem. 20. Proucitiˇ manpage naredbe deluser. U cemuˇ se razlikuje u odnosu na prethodnu naredbu? Napisati skriptu koja ce´ spremiti pricuvnuˇ komprimiranu kopiju home direktorija korisnika superman (spremiti u BACKUP direktorij administratorskog korisnika), te zatim obrisati i samog korisnika. 21. Proucitiˇ manpage bash ljuske, poglavlje PROMPTING. Prikazati vrijednost varijable okruženja PS1. Koju funkciju obavlja ta varijabla? Koji se dijelovi varijable mogu prepoznati od onih koji su vec´ pojašnjeni u PROMPTING poglavlju? NAPOMENA: U slucajuˇ da dio varijable PS1 zauzima podrucjeˇ sa chroot definicijama, znacenjeˇ proucitiˇ na slijedecoj´ poveznici. IZVOR: https://askubuntu.com/questions/372849/what-does-debian-chrootdebian-chroot-do-in-my-terminal-prompt 22. Izmijeniti standardni izgled prompta sa nekim po vlastitoj želji. Za izmjenu koristiti neku od ponudenih¯ poveznica, na kojoj se generira vrijednost PS1 varijable. Koristiti mogucnost´ izmjene boja,ugradenih¯ znakova (prikaz korisnika, direktorija, datuma. . . ), te dodatnih specijalnih znakova. U slucajuˇ trajne izmjene izgleda prompta, obvezno sacuvatiˇ originalnu vrijednost. IZVOR: http://ezprompt.net/ http://omar.io/ps1gen/ https://xta.github.io/HalloweenBash/ http://bashrcgenerator.com/ DODATNI ZADACI: 23. Pretpostavlja se da je korisnik zaboravio lozinku, te je potrebno izmijeniti lozinku i prisiliti korisnika da izmi- jeni novostvorenu lozinku pri slijedecoj´ prijavi na sustav. Kopirati tekst iz komandne linije koji pokazuje postupak. Napisati skriptu koja ce´ automatizirati postupak (novu lozinku i korisnika upisati kao argument prilikom pokretanja skripte). 24. Napisati skriptu koja ce´ provjeriti postoje li nove e-mail poruke na Gmail racunu.ˇ U slucajuˇ da postoje, izmijeniti izgled prompta, u kojem ce´ se prikazati neka poruka o novim porukama. U slucajuˇ da nema novih poruka, vratiti standardni izgled prompta. Korisnickoˇ ime upisati kao parametar prilikom pokretanja skripte, a lozinku kao unos za vrijeme izvršavanja skripte (ne prikazivati znakove na ekranu). POMOC:´ Gmail podržava povlacenjeˇ svježih informacija pomocu´ Atom sustava. Iz ljuske je moguce´ koristiti “curl” kao klijent za preuzimanje HTTP prometa (proucitiˇ cemuˇ služe opcije -u i –silent u donjem primjeru). Informacije se preuzimaju i prikazuju u xml obliku. Broj novih e-mail poruka nalazi se unutar oznake. IZVOR: https://developers.google.com/gmail/gmail_inbox_feed#about_atom PRIMJER: curl -u [email protected]:PASSWORD –silent “https://mail.google.com/mail/feed/atom”

Hint: PRIMJER RJEŠENJA ZADATKA: :: #!/bin/bash USERNAME=”$1” read -sp ‘Lozinka:’ PASSWORD echo UNREADMAIL=$(curl -u [email protected]:$PASSWORD –silent “https://mail.google.com/mail/ feed/atom” | cut -d”<” -f8 | cut -d”>” -f2) if [ $UNREADMAIL -gt 0 ] then echo “You have unread mail”

242 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

# PS1="\\[\\e[33m\\]\_NEW-MAIL\_\\[\\e[m\\]\\[\\e[33m\\]\\u\[\\e[m\\]\\[\\e[33m\\]\\\\$\\[\\e[m\\]\\[\\e[33m\\]\\h\\[\\e[m\\]\\[\\e[33m\\]-\\[\\e[m\\]\\[\\e[33m\\]\\w\\[\\e[m\\]\\[\\e[33m\\]\\\\$\\[\\e[m\\] " PS1="\\[\\e[33m\\]\_NEW-MAIL\_\\[\\e[m\\]\\[\\033[01; 32m\\]\\u@\\h\\[\\033[01;34m\\] \\w \\$\\[\\033[00m\\]" else echo “Zero unread mail” source ~/.bashrc fi

Tip: NAPOMENA: Bitno je napomenuti da se nakon pokretanja skripte stvara novi proces sa novom ljuskom u kojem ce´ se ta skripta izvršavati. Kao posljedicu, svaka izmjena varijable okruženja ce´ ostati vezana za taj proces. U ovom slucaju,ˇ skripta ce´ uspješno izmijeniti izgled prompta, no nakon završetka kontrola se vraca´ originalnoj ljusci i procesu, sa prethodno definiranim izgledom prompta. Rješenje problema je tzv. “source scripting”, odnosno, pokretanje skripte u postojecem´ okruženju. Detaljni opis problematike se nalazi na slijedecoj´ poveznici. IZVOR: https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-vs-sourcing-it

PRIMJER RJEŠENJA 18. ZADATKA:

Hint: Izgled prompta: IP adresa: 192.168.70.44 Korisnik : ids total used free shared buffers cached Mem: 2.0G 1.7G 219M 86M 20M 259M ids@ids2~$ Pocetniˇ dio sadržaja ~/.bashrc datoteke: # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples #ISPIS INFORMACIJA IP=$(hostname -I) echo IP adresa: $IP echo Korisnik : $USER echo free -ht | egrep ‘total|Mem’ /OSTATAK DATOTEKE

2.3.2.11 LV11

Contents:

2.3. Klijentski otvoreni operacijski sustavi 243 TSRB_TEST Documentation, Release 1.0

Upravljanje mrežnom konfiguracijom i servisima

Zadaci: 1. Proucitiˇ manpage naredbe ifconfig. Pokrenuti naredbu bez dodatnih opcija. Što se dogodilo? Koja mrežna suceljaˇ su prikazana? Što znaceˇ kratice Ethx (x zamijeniti sa prikazanim brojem ili brojevima) i Lo? Koja je svrha Loopback mrežnog sucelja?ˇ 2. Zapisati IP (verzija 4) adrese dodijeljene mrežnim suceljima,ˇ zajedno sa pripadajucim´ mrežnim maskama. Prema MAC adresi saznati proizvoda¯ caˇ mrežnog sucelja.ˇ Tko je proizvoda¯ cˇ kada se radi o virtualnim stro- jevima? 3. Proucitiˇ manpage naredbe ethtool (ako je potrebno, instalirati potreban paket na sustav). Koja opcija se koristi za dobivanje informacija o upravljackomˇ programu koji se koristi za upravljanje mrežnim suceljem?ˇ Saznati koji su upravljackiˇ programi ucitaniˇ za svako mrežno suceljeˇ na sustavu? Ima li Loopback mrežno suceljeˇ ucitanˇ upravljackiˇ program? 4. Pomocu´ naredbe ifconfig postaviti statickuˇ IP adresu u mreži 192.168.200.0/27 (mrežnu masku zapisati u oktal- nom obliku) na mrežno suceljeˇ povezano sa mrežom. Redni broj IP adrese u rangu prilagoditi broju radne stanice u prostoru. Provjeriti ispravnost konfiguracije. 5. Ponovno pokrenuti racunalo.ˇ Što se dogodilo sa prethodnim postavkama? 6. Proucitiˇ manpage naredbe ip (posebno parametre addr, link, monitor, neighbour). Prikazati IP i MAC adrese svih mrežnih suceljaˇ na racunaluˇ (parametri address i link). NAPOMENA: Ifconfig je u prošlosti bio najcešˇ ci´ alat za pregled i izmjenu konfiguracije mrežnih sucelja.ˇ Zajedno sa još nekim alatima (arp, route, netstat. . . ), dio je paketa net-tools. Iako se (ovisno o distribuciji) taj alat i dalje koristi, vec´ neko vrijeme je ideja da ga se zamijeni sa novim paketom iproute2 (u koji spada i vec´ korištena naredba ip). U izvorima ispod nalazi se tekst sa opisom situacije i razlozima prelaska na novi paket, te primjerima korištenja i razlike izmedu¯ dva paketa. IZVORI: https://lwn.net/Articles/710533/ https://github.com/techniq/wiki/wiki/net-tools-vs-iproute2 http://xmodulo.com/linux-tcpip-networking-net-tools-iproute2.html https://philosophos.github.io/articles/20170411~net-tools-VS-iproute2/ 7. Pomocu´ ip naredbe, promijeniti IP adresu mrežnog suceljaˇ kao i prema prethodnom primjeru. Provjeriti is- pravnost konfiguracije. Ponovno pokrenuti racunaloˇ i uocitiˇ što se dogodilo sa mrežnim postavkama. 8. Proucitiˇ manpage naredbe arp. Prikazati ARP tablicu za suceljeˇ povezano na mrežu. Postici´ istu funkciju pomocu´ ip naredbe. Koja metoda je preglednija i informativnija (po osobnom mišljenju)? 9. Pokrenuti skriptu iz prethodnih vježbi koja šalje ICMP zahtjeve unutar mreže, te nakon 20ak sekundi u razlicitimˇ karticama (eng. tab) prikazati ARP tablice pomocu´ arp i ip naredbi. Na koji nacinˇ se prikazuju stavke IP adresa koje ne odgovaraju na ICMP upite (iz obje tablice)? Kakvo znacenjeˇ imaju zastavice statusa (ARP tablica pomocu´ ip naredbe) : REACHABLE, STALE, FAILED i INCOMPLETE? 10. Onemoguciti´ (spustiti) mrežno suceljeˇ povezano na mrežu. Provjeriti detalje ip addr naredbe. Što se može uociti?ˇ Provjeriti stanje usmjernickeˇ (eng. routing table) i arp tablice. Što je zapisano u njih? Zašto? 11. Omoguciti´ (podici)´ mrežno suceljeˇ iz prethodnog zadatka, te ponovno provjeriti stanje svih sucelja,ˇ usmjernickeˇ i arp tablice. Koliko stavaka ima u arp tablici? Objasniti svojim rijecimaˇ razlog. Koliko ima stavaka u routing tablici? Opisati svrhu default rute i 169.254.0.0 rute. Objasniti svrhu opcije metric unutar rute.

244 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

12. U jednoj kartici terminala pokrenuti naredbu ip monitor, a u drugoj skriptu koja šalje ICMP zahtjeve. Pratiti stanje na prvoj kartici. Što se može uociti?ˇ U kojoj situaciji se pojavljuje status FAILED? Što znaciˇ status STALE (originalno je status bio REACHABLE)? 13. Ispisati sadržaj arp tablice. Isprazniti sadržaj arp tablice pomocu´ ip link set naredbe (potrebno je deaktivirati i ponovno aktivirati). Nakon deaktivacije tablice, proucitiˇ sadržaj ip link naredbe za aktivno mrežno sucelje.ˇ Što se može uociti?ˇ Dok tablica još nije aktivna, probati poslati ICMP zahtjev na gateway mreže. Ima li odgovora? Zašto? Aktivirati tablicu i ponoviti prethodni postupak. Ima li kakvih promjena? 14. Proucitiˇ manpage konfiguracijske datoteke interfaces (prisjetiti se kako). Za INET obitelj (eng. address family) proucitiˇ dva tipa konfiguracije: static i dhcp. U tekstualnom editoru otvoriti datoteku /etc/network/interfaces. Konfigurirati statickeˇ postavke za mrežno suceljeˇ (prema primjeru ispod). Spremiti izmjene u datoteku i prov- jeriti IP postavke sucelja.ˇ Ima li kakvih promjena? PRIMJER KONFIGURACIJE: #Suceljeˇ eth0 zamijeniti prema potrebi auto eth0 #Definirati suceljeˇ (eng. interface, skraceno´ iface) kao dio inet obitelji (standardan naziv za IPv4) i staticanˇ tip konfiguracije iface eth0 inet static address 192.168.70.2xx netmask 24 broadcast 192.168.70.255 gateway 192.168.70.1 metric 500 15. Sa root ovlastima, ponovno pokrenuti networking servis unutar /etc/init.d direktorija. Provjeriti IP postavke sucelja.ˇ Ima li promjena? Što se dogodilo sa starim postavkama? Ponovno pokrenuti racunaloˇ i provjeriti IP postavke. Što se dogodilo? NAPOMENA: Osnovni opis funkcije /etc/init.d direktorija nalazi se na priloženoj poveznici. IZVOR: https://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/ 16. Pomocu´ ifdown naredbe (koristiti verbose opciju), spustiti sucelje.ˇ U tekstualnom editoru zakomentirati pos- tojecu´ konfiguraciju sucelja,ˇ te upisati novu za dinamickoˇ adresiranje (iface eth0 inet dhcp). Podici´ suceljeˇ koristeci´ ifup naredbu (koristiti verbose). Može li se uocitiˇ proces dinamickogˇ dodjeljivanja adresa? Provjeriti IP postavke sucelja.ˇ Je li radnja uspješna? 17. Proucitiˇ manpage naredbe dhclient. Sa root ovlastima izvršiti naredbu dhclient nad aktivnim mrežnim suceljemˇ (koristiti verbose opciju). Je li se izvršio potpuni proces dodjeljivanja adresa? Zašto? Naredbom dhclient osloboditi trenutnu adresu u najmu (koristiti verbose opciju), te ponovno zatražiti novu adresu. Ima li promjena u odnosu na na prošli primjer? Proucitiˇ oba procesa u wireshark aplikaciji. DIJELJENJE DIREKTORIJA 18. Proucitiˇ manpage naredbe smbclient (opcija -L). Pomocu´ naredbe prikazati popis dostupnih dijeljenih direktorija sa dostupnog poslužitelja (lozinku ostaviti praznu). Povezati se na jedan od dostupnih dijeljenih direktorija. NAPOMENA: S obzirom da se u UNC putanjama koriste obrnute kose crte (eng. backslash, simbol ), potrebno je izbjeci´ interpretaciju znakova od strane terminala (eng. character escaping). Simbol koji terminalu kaže da slijedeci´ znak ne interpretira,odnosno da ga shvati doslovno, je vec´ navedeni backslash. U ovoj konkretnoj situaciji znaciˇ da ce´ UNC putanja zapravo imati redudantne znakove, kao što je prikazano u slijedecem´ primjeru: UNC Putanja: \ServerDijeljeniDirektorij Ispravljena UNC putanja : \Server\DijeljeniDirektorij 19. Odabrati neku datoteku za preuzimanje, te saznati informacije o njoj (pomoc:´ naredba stat). Koja je velicinaˇ datoteke u KiB? Opisati ukratko funkciju svakog zapisa vremena : Access, Modify i Change. Preuzeti tu datoteku iz dijeljenog direktorija. U kojem lokalnom direktoriju je ta datoteka spremljena? 20. Provjeriti je li na sustavu instaliran paket cifs-utils, te ga instalirati ako je potrebno. Stvoriti direktorij ~/Mrezni- Direktorij. Koristeci´ mount naredbu (definirati tip datotecnogˇ sustava kao cifs), povezati dijeljeni direktorij sa

2.3. Klijentski otvoreni operacijski sustavi 245 TSRB_TEST Documentation, Release 1.0

direktorijem stvorenim u prethodnom koraku. Hoce´ li nakon ponovnog pokretanja racunalaˇ dijeljeni direktorij i dalje biti dostupan lokalno? 21. Izmijeniti konfiguraciju /etc/fstab datoteke tako da se, prilikom svakog podizanja racunala,ˇ dijeljeni direktorij (sa popisom laboratorijskih vježbi predmeta) povezuje sa lokalnim /mnt/LV direktorijem. Ispravno konfigurirati korisnickeˇ dozvole na lokalnom direktoriju. 22. Provjeriti je li na sustavu instaliran paket samba, te ga instalirati ako je potrebno. Stvoriti direktorij /me- dia/DijeljeniDirektorij. Proucitiˇ manpage samba paketa i saznati njegovu svrhu. Saznati ime konfiguracijske datoteke koju koristi samba paket. S obzirom na kompleksnost vec´ postavljene konfiguracijske datoteke (nema smisla u pocetkuˇ proucavatiˇ samu datoteku), proucitiˇ manpage te datoteke, poglavito slijedece´ teme: • Struktura datoteke (sekcije i vrijednosti unutar sekcija) • Svrha [global] sekcije • Objašnjenje %m varijable iz donje konfiguracije (odlomak VARIABLE SUBSTITUTIONS) • Objašnjenje svake vrijednosti iz donje konfiguracije (odlomak EXPLANATION OF EACH PARAME- TER) Posebno objasniti svrhu vrijednosti map to guest. Spremiti pricuvnuˇ kopiju originalne konfiguracijske datoteke (dovoljno je u imenu na kraju samo dodati BAK, ili na bilo koji nacinˇ izmijeniti ime). U novu datoteku sa istim imenom kao i originalna unijeti doljenavedenu konfiguraciju. Pokušati se povezati na dijeljeni direktorij (pomocu´ smbclient aplikacije, te ako je moguce,´ iz Windows operacijskog sustava). Što se dogodilo? Je li radnja uspješna? U slucajuˇ da nije, što govori poruka o grešci? PRIMJER KONFIGURACIJE: [global] workgroup = WORKGROUP interfaces = 127.0.0.0/8 eth0 log file = /var/log/samba/log.%m log level = 1 server role = standalone server map to guest = bad user usershare allow guests = yes [linux] comment = TestShare public = yes path = /media/DijeljeniDirektorij writeable = no guest ok = yes guest only = yes browsable = yes 23. Ponovno pokrenuti samba servis i još jednom se pokušati povezati na dijeljeni direktorij? Zašto je bitno ponovno pokrenuti servis nakon izmjene konfiguracije? 24. Proucitiˇ osnovne informacije manpage naredbi netstat (dio net-tools paketa) i ss (dio iproute2 paketa). Pokrenuti naredbu ss bez dodatnih argumenata. Mogu li se išcitatiˇ i prepoznati neke poznate informacije? Koji tipovi komunikacije (stupac NetId) su prikazani. Koja je razlika izmedu¯ Unix socketa (u_str, u_seq, u_dgr) i TCP/UDP socketa? Koja stanja su prikazana (stupac State) i koje je njihovo znacenjeˇ (opis svih stanja priložen je na poveznici)? NAPOMENA: Iako je netstat i dalje u dokumentacijama vrlo popularan alat, zamijenjen je sa modernijom implementacijom ss. IZVOR: OPIS TCP STANJA - https://blog.confirm.ch/tcp-connection-states/ 25. Pomocu´ naredbe ss prikazati samo tcp i udp veze (prikazati SVA stanja socketa). Iskljucitiˇ prevodenje¯ broja portova u poznata imena usluga (port 80 ce´ biti prikazan kao http). Mogu li se prepoznati portovi samba servisa? 26. Prikazati samo ipv4 tcp veze (iskljucitiˇ prevodenje¯ imena usluga), te prikazati koji procesi koriste otvorene sockete. Filtrirati samo one veze kojima je vlasnik proces samba paketa (saznati koje je tocnoˇ ime procesa). Na kojim portovima sluša samba usluga? Koja je razlika izmedu¯ tih portova? 27. S nekog racunalaˇ pristupiti dijeljenom direktoriju te ponoviti prethodni zadatak. Što se može uociti?ˇ Koje je stanje nove veze i na koji port se racunaloˇ povezalo? Zašto?

246 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

28. Provjeriti jesu li na sustavu instalirani paketi sa ssh klijenta i poslužitelja, te ih instalirati ako je potrebno. Provjeriti status servisa ssh poslužitelja (prisjetiti se lokacije), te ga postaviti aktivnim ako je potrebno. 29. Proucitiˇ manpage naredbe ssh. Postoji li ~/.ssh direktorij? Pomocu´ ssh klijenta povezati se na lokalno racunaloˇ (kao trenutno prijavljeni korisnik) te na susjedno racunaloˇ (paziti na identitet korisnika kojim se radi prijava, korisnik mora postojati lokalno na racunalu).ˇ Pojavljuje li se kakva poruka prije povezivanja na susjedno racu-ˇ nalo? Koje je znacenjeˇ te poruke? Provjeriti sadržaj ~/.ssh direktorija. Prikazati status svih veza ssh procesa ( i klijenta i poslužitelja). Na kojem portu sluša poslužiteljski ssh servis? 30. Zamijeniti IP adrese sa susjednim racunalom,ˇ te se ponovno pokušati povezati ssh protokolom na susjedno racunalo.ˇ Što se dogodilo? Koje je znacenjeˇ poruke? Odraditi korake prema preporuci iz poruke i pokušati ponovno. Je li radnja uspješna? Što se može zakljuciti?ˇ Isprobati što ce´ se dogoditi ako se na racunaluˇ (na koje se vec´ ranije povezivalo sa ssh klijentom) promijeni IP adresa. Hoce´ li povezivanje biti uspješno? DODATNO 31. Isprobati povezivanje na ssh poslužitelj pomocu´ privatno-javnih kljuceva.ˇ Na ssh poslužitelju je potrebno stvoriti (ako vec´ ne postoji) datoteku ~/.ssh/authorized_keys, te joj postaviti dozvole 600 (rw,-,-). Na strani klijenta je potrebno stvoriti kombinaciju privatno-javnih kljuceva,ˇ pomocu´ naredbe ssh-keygen (proucitiˇ man- page naredbe). Pokrenuti navedenu naredbu bez dodatnih opcija, ne upisivati lozinku za zaštitu privatnog kljuca.ˇ Koje su se datoteke stvorile u ~/.ssh direktoriju? Ispisati sadržaj obje datoteke na standardni izlaz. Koja datoteka sadrži privatni kljuc,ˇ a koja javni? 32. Prekopirati potpun sadržaj datoteke javnog kljucaˇ korisnika u datoteku authorized_keys na ssh poslužitelju (cijeli sadržaj mora biti upisan u jednoj liniji u datoteci). Pokušati se povezati sa klijenta na ssh poslužitelj. Je li bilo potrebno upisivati lozinku prilikom povezivanja? 33. Na ssh poslužitelju stvoriti novog korisnika sshwsxy (xy zamijeniti sa brojem radne stanice). Pokušati se s klijenta povezati koristeci´ identitet novog korisnika. Je li radnja bila uspješna? Je li moguce´ povezati se bez korištenja lozinke korisnika? Zašto? Odraditi postupak kako bi se mogla izvršiti prijava pomocu´ kljuceva,ˇ te provjeriti uspješnost radnje. NAPOMENA: U slucajuˇ pojave greške sa porukom “Agent admitted failure to sign using the key.”, moguc´ razlog je što ssh-add proces (zadužen za prosljedivanje¯ privatnog kljucaˇ ssh autentikacijskom agentu) nije mogao pronaci´ aktivan proces. U toj situaciji je potrebno izvršiti evaluaciju aktivnosti agenta, te rucnoˇ pokušati dodati kljuc.ˇ PRIMJER: yyy@zzz ~/.ssh $ ssh [email protected] Agent admitted failure to sign using the key. super- [email protected]’s password: ids@ids2 ~/.ssh $ eval $(ssh-agent);ssh-add Agent pid 15315 Identity added: /home/yyy/.ssh/id_rsa (rsa w/o comment) 34. Prijaviti se ssh protokolom na poslužitelj koristeci´ verbose opciju (moguce´ je povecati´ razinu opširnosti infor- macija dodavanjem dodatnih slova, do razine 3). Proucitiˇ cijeli proces prijave te ga pokušati na skracen´ nacinˇ opisati. 35. Vratiti ip postavke mrežnog suceljaˇ na standardno dinamickoˇ preuzimanje od DHCP poslužitelja. 36. Pokrenuti wireshark, te pratiti svaki korak zadatka u aplikaciji. Poslati 3 ICMP zahtjeva prema poveznici www.google.com. Koji su sve protokoli vezani uz prethodni proces? Što se dogodilo prije samog slanja ICMP zahtjeva, kako je dohvacena´ ip adresa poslužitelja? Je li izvršen ARP upit? Ako nije, koji je razlog? Što se mora napraviti kako bi se obvezno izvršio ARP upit na pocetku?ˇ 37. Proucitiˇ manpage naredbe nslookup. Poslati upit za web poslužitelj www.google.com (obvezno pratiti proces u Wireshark aplikaciji). Tko je odgovorio na upit (identificirati ip adresu)? Na koji port DNS poslužitelja je poslan upit? Saznati koja datoteka sadrži informaciju o navedenom DNS poslužitelju (datoteka se nalazi u /etc direktoriju, ne zaboraviti preusmjeriti standardne poruke o greški u /dev/null). Proucitiˇ sadržaj pronadene¯ datoteke, koji su sve poslužitelji konfigurirani? Proucitiˇ manpage konfiguracijske datoteke, koliko je moguce´ navesti DNS poslužitelja (eng. nameserver,jedan od termina) u datoteku?

2.3. Klijentski otvoreni operacijski sustavi 247 TSRB_TEST Documentation, Release 1.0

38. Zakomentirati sve informacije o poslužiteljima u datoteci i spremiti izmjene. Ponovno poslati upit za web poslužitelj www.google.com (pratiti proces u Wireshark aplikaciji). Ima li kakvih odgovora? Zašto? Vratiti sadržaj konfiguracijske datoteke u originalno stanje. 39. Proucitiˇ manpage naredbe resolvconf, pronaci´ koja opcija se koristi za postavljanje više DNS poslužitelja u datoteci /etc/network/interfaces. Postaviti statickuˇ IP konfiguraciju (kao iz prethodnih primjera), te još dodatno upisati slijedece´ 3 ip adrese za DNS poslužitelje : 192.168.111.19, 192.168.210.37 i 1.1.1.1 (samo zadnja adresa je ispravna). Pokrenuti wireshark, te pomocu´ nslookup naredbe poslati upit za www.google.com. Medu¯ pake- tima postaviti filter prikazivanja za navedeni DNS upit (eng. query). NAPOMENA: Jedan od jednostavnijih nacinaˇ za pripremanje željenog filtera iz postojeceg´ prikazanog prometa je : • Odabrati paket iz popisa sa željenim sadržajem za filtriranje • Proširiti detaljan prikaz paketa , te odabrati “sloj” u kojem se nalazi sadržaj (u ovom slucajuˇ DNS protokol, query tip poruke, aplikacijski sloj) • Ovaj korak ovisi o odabiru u prethodnom koraku, te se biraju željeni detalji protokola (u ovom slucajuˇ Queries, te zatim desni klik na “Name : www.google.com” i “Apply as filter” U filter polju je moguce´ vidjeti sam naziv željenog filtera. 40. Koliko je ukupno upita poslano poslužiteljima prije nego je klijent prešao na slijedeceg´ u redoslijedu? Je li zadnji poslužitelj odgovorio na upit? Koliko je vremena klijent cekaoˇ na odgovor prije slanja upita slijedecm´ poslužitelju? 41. Izmijeniti statickeˇ ip postavke suceljaˇ tako da se prve dvije nevažece´ ip adrese DNS poslužitelja zamijene sa: ip adresa gatewaya mreže, 193.198.184.130 (CARNet DNS poslužitelj). 42. Proucitiˇ manpage konfiguracijske datoteke hosts i saznati osnovnu svrhu datoteke. U datoteku unijeti www.google.com poveznicu i ip adresu tog poslužitelja (saznati ju) te spremiti promjene. Pokrenuti wireshark, te poslati ICMP zahtjeve (maksimalno 4) na navedenu adresu. Ima li odgovora? Mogu li se u wiresharku uocitiˇ DNS upiti za dobivanje ip adrese poslužitelja? Zašto? 43. Pokrenuti wireshark, te poslati 4 ICMP zahtjeva na hostname trenutnog racunala.ˇ Na koju adresu se šalju ICMP paketi? Ima li kakvih upita u wiresharku za prevodenjem¯ imena racunala?ˇ Mogu li se uocitiˇ ICMP zahtjevi i odgovori u Wireshark aplikaciji? Zašto? Ponovno poslati 4 ICMP zahtjeva, no ovog puta imenu racunalaˇ dodati domenu local (npr. mojeracunalo.local). Na koju adresu se sad šalju upiti i ima li kakvih upita za prevodenjem¯ imena racunala?ˇ Koji protokol se koristi? Na koju adresu se šalje upit? Kojoj klasi pripada IP adresa? Mogu li se vidjeti ICMP paketi u Wireshark aplikaciji? NAPOMENA: Doma proucitiˇ opis i svrhu MDNS protokola. 44. Proucitiˇ manpage konfiguracijske datoteke nsswitch.conf (posebno znacenjeˇ polja databases i services). Pronaci´ odgovor na slijedeca´ pitanja: • Koju svrhu ima hosts baza podataka (eng. database) • Kojim redoslijedom se traži odgovor adrese za neko ime racunalaˇ • Koja je tocnoˇ funkcija mdns4_minimal parametra • Koja je funkcija [NOTFOUND=return] akcije 45. Zakomentirati liniju u kojoj je definiran raspored pretraživanja ip adresa prema imenu racunalaˇ (eng. hostname). Odmah ispod te linije (prema primjeru zakomentirane linije) unijeti novu u kojoj ce´ redoslijed pretraživanja biti : • Na prvom mjestu slati upis DNS poslužitelju • Na drugom mjestu pretražiti lokalnu hosts datoteku

248 Chapter 2. Predmeti TSRB_TEST Documentation, Release 1.0

46. Pokrenuti pracenje´ prometa u wireshark aplikaciji, te poslati 4 ICMP zahtjeva na web poslužitelj www.google.com. Što se dogodilo? Na koju adresu se šalju zahtjevi i zašto? 47. U konfiguracijskoj datoteci mrežnog suceljaˇ promijeniti podatke o DNS poslužiteljima sa slijedecim´ adresama: 192.168.111.19 i 192.168.210.37. Pokrenuti pracenje´ prometa u wireshark aplikaciji, te poslati 4 ICMP zahtjeva na web poslužitelj www.google.com. Pratiti oko promet u aplikaciji oko minutu. Odgovoriti na slijedeca´ pitanja: • Na koje adrese se šalju upiti • Koji je redoslijed DNS poslužitelja na koji se šalju upiti • Koliko je vrijeme cekanjaˇ izmedu¯ slanja slijedeceg´ zahtjeva, te može li se uocitiˇ uzorak u prioritetu slanja prema DNS poslužiteljima • Na koju adresu se šalju ICMP zahtjevi i zašto? 48. Vratiti postavke mrežnog suceljaˇ u dinamickuˇ konfiguraciju, ocistitiˇ izmjene u /etc/hosts datoteci, te vratiti /etc/nsswitch.conf datoteku u prvotno stanje.

2.3. Klijentski otvoreni operacijski sustavi 249 TSRB_TEST Documentation, Release 1.0

250 Chapter 2. Predmeti CHAPTER 3

Indices and tables

• genindex • modindex • search

251