TSRB_TEST Documentation - Read the Docs

255
TSRB_TEST Documentation Release 1.0 Marko Stojanovi ´ c Oct 19, 2020

Transcript of TSRB_TEST Documentation - Read the Docs

TSRB_TEST DocumentationRelease 1.0

Marko Stojanovic

Oct 19, 2020

Contents

1 Datotecni sustavi 31.1 Pojmovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Što je datotecni sustav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 EXT4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3.1 Razvoj EXT4 datotecnog sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.2 Struktura EXT4 datotecnog sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.3 Grupe blokova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.4 Superblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.5 Deskriptori grupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.6 Rezervirani blokovi GD tablice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3.7 Indeks cvor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.8 Fizicke i simbolicke poveznice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.9 Simbolicke poveznice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.3.10 Sadržaj direktorija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.3.11 Linearni nacin zapisa u direktorij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.3.12 Indeksirani nacin zapisa u direktorij . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.3.13 Fleksibilne grupe blokova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381.3.14 Primjer stvaranja datotecnog sustava na datoteci . . . . . . . . . . . . . . . . . . . . . 401.3.15 Prilog - Detaljna Inode struktura (EXT4) . . . . . . . . . . . . . . . . . . . . . . . . . . 401.3.16 Literatura: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

1.4 NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2 Predmeti 492.1 Operacijski sustavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.1.1 UPUTE ZA OSNOVNO POSTAVLJANJE RACUNALA . . . . . . . . . . . . . . . . . . . 492.2 Prakticne osnove racunalstva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.2.1 Laboratorijske vježbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.2.1.1 LV02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.2.1.2 LV03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742.2.1.3 LV04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752.2.1.4 LV05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762.2.1.5 LV06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772.2.1.6 LV07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792.2.1.7 LV08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812.2.1.8 LV09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842.2.1.9 LV10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

i

2.2.1.10 LV11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872.2.1.11 LV12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892.2.1.12 LV13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

2.2.2 Upute za vježbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912.2.2.1 Upute za kucno korištenje laboratorijskih vježbi . . . . . . . . . . . . . . . . . . . 912.2.2.2 Razne greške i rješenja za Virtualbox . . . . . . . . . . . . . . . . . . . . . . . . . 1032.2.2.3 Upute za instalaciju VirtualBox Guest Tools paketa . . . . . . . . . . . . . . . . . 1122.2.2.4 Upute za tipove virtualnih mreža u VirtualBox sustavu . . . . . . . . . . . . . . . . 1182.2.2.5 04 - Osnove korištenja Partition Wizard aplikacije . . . . . . . . . . . . . . . . . . 1292.2.2.6 05 - Osnove korištenja Total Commander aplikacije . . . . . . . . . . . . . . . . . 1292.2.2.7 06 - Osnove korištenja MBRWizard aplikacije . . . . . . . . . . . . . . . . . . . . 1332.2.2.8 07 - Osnovno korištenje GNU/Linux operacijskog sustava (TinyCore distribucija) . 1412.2.2.9 08 - Osnove korištenja HxD aplikacije . . . . . . . . . . . . . . . . . . . . . . . . 1522.2.2.10 09 - Osnove korištenja GNU/Linux Fdisk aplikacije . . . . . . . . . . . . . . . . . 1582.2.2.11 11 - Instalacija Microsoft Windows 10 operacijskog sustava . . . . . . . . . . . . . 1672.2.2.12 12 - Konfiguracija TinyCore Linux / Windows 10 dual boot sustava . . . . . . . . . 1782.2.2.13 12 - Spremanje/Vracanje pricuvne kopije Windows 10 sustava – Symantec Ghost . 1862.2.2.14 14 - Upravljanje korisnickim racunima u Windows 10 operacijskom sustavu . . . . 1972.2.2.15 Prilog 1 – Raspored znakova na tipkovnici . . . . . . . . . . . . . . . . . . . . . . 211

2.3 Klijentski otvoreni operacijski sustavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2122.3.1 Skripta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2122.3.2 Laboratorijske vježbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

2.3.2.1 LV01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2122.3.2.2 LV02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2142.3.2.3 LV03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2152.3.2.4 LV04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182.3.2.5 LV05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2222.3.2.6 LV06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2232.3.2.7 LV07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2262.3.2.8 LV08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322.3.2.9 LV09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2362.3.2.10 LV10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2402.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,mogucesu i druge velicine). Na modernim diskovima, cešce se koristi terminologija “logicki blok” (implementacijom LBAadresiranja). Kada se govori o SSD uredajima, uglavnom se primjenjuje pojam logickog bloka, koji je u praviluvelicine 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 tonije 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 jena particiju postavljen datotecni sustav.

Datotecni sustav (eng. Filesystem) - Skup metoda i struktura podataka sa zadatkom organizacije datoteka na diskuili particiji.

Blok (eng. Block) - Sa stajališta EXTx datotecnih sustava, blok je jedna logicka cjelina koja se sastoji od jednog iliviš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 memorijulinearnom metodom, jedan iza drugog.

Stablasta struktura (eng. Tree structure) - Tip organizacije strukture podataka. Podaci se zapisuju u neku memorijustablastom 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šedvoje djece.

B-tree struktura - Poseban tip strukture stabla. U usporedbi sa binarnim stablom, cvorovi u stablu mogu sadržavati iviš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 uztaj 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šeaspekata 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 pristupadatotekama 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 njihovasvrha je stvoriti odredeni softverski okvir (eng. framework) za korištenje sistemskih poziva operacijskog sustavakako 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 nekogdatotecnog 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 sekoristio na istoimenom MINIX operacijskom sustavu, autor je Andrew S. Tanenbaum, ujedno poznat kao autor mnogihkvalitetnih knjiga iz podrucja racunalnih znanosti).

Nakon prepoznavanja odredenih nedostataka, stvoren je EXT2 datotecni sustav, koji je i danas popularan na mnogimracunalima.

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 mnogenove 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) segrupiraju u logicke cjeline koje se zovu blokovi (eng. blocks). U terminologiji Microsoft datotecnih sustava, sektorise 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 drugisa velicinom od 64KB.

U prvom primjeru, datoteka ce biti podijeljena na 256 dijelova ( 1048576/4096), te ce za ucitavanje datoteke bitipotrebno minimalno 256 I/O operacija (cesto se gleda kroz IOPS vrijednosti, odnosno Input/Output Operations PerSecond).

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 ucitavanjedatoteke 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 performansina velicinu blokova, te je potrebno razmisliti o njoj ako ce se na sustavu pretežno nalaziti datoteke vece, odnosnomanje velicine.

Drugi problem o kojem je potrebno voditi racuna je iskoristivost prostora na disku. U teoretskom primjeru, možemozamisliti 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 svakudatoteku od 20KB imamo 44KB praznog prostora koji nije moguce iskoristiti za bilo što drugo, odnosno cijeli blokmora 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 slobodniblokovi 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. Nakraju procesa, datoteka je fragmentirana, te citanje sadržaja te datoteke je usporeno na klasicnim tvrdim diskovima (sobzirom da brzina I/O operacija ovisi i o položaju glave na ploci tvrdog diska). Na SSDovima, problem performansije drasticno smanjen zbog tehnologije rada takvih tipova memorije.

Isto tako, defragmentacija je postupak u kojem operacijski sustav preslaguje blokove na datotecnom sustavu, kako bislobodni 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 opcenitimnazivom „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 prikazanou 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 FileTable) tablica za cijelu particiju. Iako se ne može direktno usporedivati, sam koncept grupe blokova bi podrazumijevaoda 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 datotecnisustav sa velicinom bloka od 1024B, pocinje gledati od prvog bloka (blokovi se pocinju brojati od nule), a to je ujednoi pozicija SuperBlock strukture. Iako su trenutno najcešce velicine blokova 4096B (u uvjetima standardne velicineparticija, 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 prvojreviziji EXT2 datotecnog sustava kopirale na pocetak svake grupe blokova. U drugoj reviziji je implementirana opcijaSparse SuperBlock znacajka (sparse_super) u kojoj se kopije (uz original na nultom bloku) spremaju samo na prvombloku, te lokacijama blokovima višekratnika brojeva 3,5 i 7. Primjer stvaranja datotecnog sustava sa i bez SparseSuperblock 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 nijestandardni dio ranijih verzija.

1.3.4 Superblock

U SuperBlock podrucju nalaze se informacije o konfiguraciji datotecnog sustava. Nalazi se uvijek na 1024B od pocetkaparticije, te je rezervirana velicina od 1024B za to podrucje. U tom podrucju su definirane informacije kriticne zaispravno 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 (prethodnoopisana 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) datotecnogsustava (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. Jednakokao i u slucaju SuperBlock strukture, Group Descriptors se kopira u svaku grupu blokova (eng. Block Groups), osimako nije ukljucena znacajka “sparse_super”. U tom slucaju vrijede pravila kao i za SuperBlock. Na pocetku grupeblokova 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 GroupDescriptors 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 EXT4datotecnom sustavu.

Praktican primjer

U svrhu prikaza informacija Group Descriptors strukture, stvorena je prazna datoteka od 100MB te je na nju postavljenEXT4 datotecni sustav (mkfs.ext4 alat, velicina bloka je 4k).

Prvo ce biti predstavljene informacije o datotecnom sustavu pomocu alata fsstat (dio grupe alata unutar sleuthkitpaketa, instalirati sa naredbom “apt-get install sleuthkit”). Informacije koje nemaju nikakvu vrijednost vezane uzovaj primjer su izrezane iz izlaznog rezultata (/cut linije). Nakon fsstat izlaza, bit ce prikazan ispis kompletne GroupDescriptors strukture u originalnom obliku koji je zapisan na disk. Bojama su oznacene poveznice izmedu izlazneinformacije fsstat aplikacije i originalnog zapisa na disku ( u heksadecimalnom obliku, little endian nacin zapisa). Nakraju 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 blokovaza alokaciju svih blokova na ovom datotecnom sustavu. Samim time, Group Descriptor struktura ima samo jednustavku (s obzirom da se nalazi samo jedna grupa blokova). Velicina te stavke je 32B, no rezerviran je cijeli blok zastrukturu (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 krajupoglavlja), ispod teksta je prikazan zapis u originalnom obliku (little endian ili LE, heksadecimalni zapis), zatimtransformacija 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 znacenjesamog 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, tepolja Uninit Data Bitmaps, Uninit Inode Bitmaps, Uninit Inode Table. Ti termini biti ce ukratko objašnjeni kasnije uposebnom 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 brojblokova za buduce proširenje velicine tog datotecnog sustava. Ti blokovi se nalaze izmedu Group Descriptorstablice i Data Block Bitmap bloka. U standardnoj postavci, moguce je proširiti datotecni sustav sa faktoromdo 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 suoznaceni 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širenjedatotecnog sustava i to odmah u nastavku nakon Group Descriptor tablice (iako je na prvi pogled samo 6 rezerviranihblokova 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 specijalneInodeove).

ids@ids2 ~/LINUX_PRIMJERI $ debugfs disk_image_100Mdebugfs 1.42.12 (29-Aug-2014)debugfs: stat <7>Inode: 7 Type: regular Mode: 0600 Flags: 0x0Generation: 0 Version: 0x00000000User: 0 Group: 0 Size: 4299210752File ACL: 0 Directory ACL: 0Links: 1 Blockcount: 56Fragment: Address: 0 Number: 0 Size: 0ctime: 0x591d7d95 – Thu May 18 12:55:17 2017atime: 0x591d7d95 – Thu May 18 12:55:17 2017mtime: 0x591d7d95 – Thu May 18 12:55:17 2017BLOCKS:(DIND):840, (IND):2, (IND):3, (IND):4, (IND):5, (IND):6, (IND):7TOTAL: 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 blokovakoji 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 GroupDescriptor 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 uprethodnom 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. Velicinasame grupe blokova zapravo ovisi o velicini jednog bloka. S obzirom da Bitmap tablica jedne grupe blokova uvijekzauzima jedan blok, broj blokova koji je moguce adresirati je 8*Block_Size (množi se sa 8 s obzirom da se radi obinarnoj 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 samojedna grupa blokova ( jer 128B zadovoljava ukupnu velicinu od 100MB datotecnog sustava), prije izracuna ukupnogpovecanja datotecnog sustava (aktiviranjem rezerviranih GDT blokova), dobro je izracunati faktor povecanja kada bise 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 zaotprilike 1024 puta. Ovdje je potrebno napomenuti ogranicenje gdje zbroj originalnih GDT blokova i rezerviranihGDT 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 strukturuna 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, lokacijana datotecnom sustavu. . . ).

Uprocesu stvaranja datotecnog sustava (podjela particije na blokove, stvaranje osnovnih struktura. . . ), stvara se itablica 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 alatamke2fs (/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 datotecnogsustava. Ako je datotecni sustav predodreden za pohranu velikog broja datoteka male velicine, ili se planira stvaratipuno simbolickih poveznica (ovo ne vrijedi za fizicke poveznice, kasnije objašnjeni pojmovi u dokumentu), potrebnoje 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 EXT4datotecnog 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 iskljucivoo 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 podatkovneblokove) 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 iscrpibroj 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 uslijedecem 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štenostpodatkovnih blokova u odnosu na Inodeove. U drugom testiranju (nakon što je datoteka obrisana), stvoriti ce se visokbroj simbolickih linkova (s obzirom na malu velicinu istih) kako bi se prikazala iskorištenog Inodeova u odnosu napodatkovne 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 samojedan 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 datotecnesustave, 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 svakedatoteke, 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 svakadatoteka ima dodijeljen svoj broj indeksa (eng. Inode). Naime, prilikom stvaranja datoteke, slobodan nedodijeljenInode se povezuje sa tom datotekom (koju još u ovom trenutku zapravo definira iskljucivo sadržaj, recimo tekst neketekstualne 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 datotecipreko imena koje se nalazi u odredenom direktoriju.

Vracajuci se na gornji primjer na slici, svijetloplavom bojom je oznacena jedna stavka direktorija. Ime te stavke jejedna tocka “.” , što je zapravo specijalno ime direktorija koje upucuje na samog sebe. Drugim rijecima, s obzirom daje 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 korijenskidirektorij. Slijedeca stavka u direktoriju ima ime od dvije tocke “..”, što je još jedno specijalno ime direktorija kojeupucuje na prethodni direktorij u hijerarhiji. Kako je vec receno da ne postoji prethodni direktorij iznad korijenskogdirektorija, stavka sa imenom dvije tocke “..” ce ponovno upucivati na isti taj korijenski direktorij. Prilikom stvaranjasvakog 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 popularnonaziva kretanje kroz strukturu direktorija korištenjem pune/apsolutne putanje), i zatim koristeci navedene dvijestavke u direktoriju (ovaj proces se popularno naziva kretanje kroz strukturu direktorija korištenjem relativnihputanji).

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, teje 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šekratnomuporabom naredbe za izmjenu direktorija i argumentom sa imenom dvije tocke “..”, u svakom koraku se radni direktorijpromijenio za jedan korak iznad u hijerarhiji, sve do korijenskog direktorija “/”. Zadnja tri primjera pokazuju kakoupotreba argumenata “.” ili “..” ne mijenja samu lokaciju radnog direktorija, odnosno jednaka je kao i u primjeru kadase koristi apsolutna putanja sa navedenim argumentom imena korijenskog direktorija “/”.

Vracajuci 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 iInodea 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 ) idodijeljenog Inodea toj datoteci.

Dodatni termin usko vezan uz cvrste poveznice je njihov broj (eng. Hard Link Count). Naime, moguce je stvarati novedatoteke na razlicitim direktorijima i sa razlicitim imenima, koje ce upucivati na isti Inode, a time i isti sadržaj. Svakastvorena 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 jekoncept objasniti prvo na jednostavnijem.

Kao što je vidljivo na slici, stvorena je nova prazna datoteka imena “svjetske_tajne.txt”. Sam sadržaj datoteke (uovom slucaju ga nema) se nalazi u nekom podatkovnom bloku na datotecnom sustavu, dodijeljen joj je 929568. Inodeiz 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 datotecisamo 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 kakoobje novostvorene datoteke upucuju na jednak Inode pod brojem 929568. Dodatno, može se primijetiti kako je brojcvrstih 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 vezanouz velicinu te datoteke vec ulazi u prostor direktorija u kojem se nalazi (primijetiti rezerviranih 4KB za trenutno radnidirektorij, tema ce biti obradena kasnije u tekstu), dok su metapodaci definirani u prostoru koji zauzima Inode povezansa tom datotekom.

Nakon upisa nekog tekstualnog sadržaja u datoteku „sve_o_svijetu.txt“ moguce je primijetiti kako se velicina mijenjaza sve 3 datoteke, zajedno sa drugim metapodacima (npr. uociti vrijeme izmjene). Postupak upisa sadržaja je u donjemprimjeru 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 za1. Sadržaj datoteke je i dalje vidljiv.

Prije brisanja i ostalih poveznica prema sadržaju datoteke, potrebno je pogledati informacije iz samog Inodea vezanoguz datoteke, pod brojem 929568. U tu svrhu ce se koristiti aplikacija „istat“ (dio „sleuthkit“ paketa , paketa alataotvorenog 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 poveznicasmanjen na nulu. Dodatno, pojavljuje se nova stavka u odnosu na prošli pregled, a to je datum i vrijeme brisanjadatoteke (stavka Deleted). Uociti kako vrijeme brisanja nije zapisano u istoj preciznosti kao i ostale stavke (najvecapreciznost 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 konceptcvrstih poveznica, odnosno svaka datoteka ima minimalno jednu cvrstu poveznicu. Drugim rijecima, implementacijavec 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 sestvoriti cvrsta poveznica sa istim imenom datoteke kao i originalna. Time je ispunjen uvjet u kojem se filmovi nalazeu 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 razlicitamontirana 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 narazlicitom datotecnom sustavu, rezultirati ce porukom o grešci, što je vidljivo na slici ispod. Ono što je moguce odmahuociti jest da se ne radi o nedostatku privilegija korisnika u procesu, vec o nemogucnosti stvaranja poveznica izmedudva uredaja (eng. cross-device link).

Razlog tog nedostatka leži u samom postupku stvaranja cvrstih poveznica. Naime, kao što je vec navedeno, svakadatoteka na datotecnom sustavu sastoji se od 3 povezane komponente : sirovi sadržaj (npr. tekst datoteke), stavka udirektoriju i indeks broj (eng. Inode). S obzirom da je Inode vezan uz datotecan sustav, svaki datotecan sustav ce imatizasebnu bazu Inodeova. Drugim rijecima Inode sa brojem npr. 378 na jednom datotecnom sustavu ce upucivati narazlicitu 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 razlikuod cvrstih poveznica koje dijele isti Inode sa originalnom datotekom, simbolicke poveznice su nove datoteke sa drugimdodijeljenim 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 (nadrugoj 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 stvaranjepoveznica “ln” uz upotrebu opcije “-s”). Simbolicka poveznica je poseban tip datoteke te je tako i oznacena u ispisusadrž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 upucujena datoteku “hostname” (unutar /etc direktorija) sa drugacijim Inode brojem 785066. U ovom slucaju , velicinadatoteke 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. Zaprikaz 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šnjempravilu, (https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Symbolic_Links) ako je putanja unutar duljine od60 bajta, vrijednost ce biti zapisana u samom Inodeu. U suprotnom, alocirati ce se zaseban podatkovni blok za zapissadrž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 nalaziInode. 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 rezultatbit ce spremljen u datoteku “fsstat_sda2” (sda2 je uredaj na kojem se nalazi datotecni sustav). Zatim ce se upotrebomuzorka za pretraživanje (pomocu “grep” aplikacije i korištenjem opcije -n za prikaz linije u datoteci) prikazati linija udatoteci 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 ticudetalja 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 urangu 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 sapocetnim 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 velicinubloka u datotecnom sustavu. U ovom primjeru, s obzirom da se radi u EXT4 datotecnom sustavu, standardna velicinajednog Inodea je 256B, dok je velicina jednog bloka 4096B. Znaci da se u Inode tablici, unutar jednog bloka nalazitocno 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 senalazi 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 pregledod 16 bajta u jednoj liniji). S obzirom da je traženi Inode 10. po redu u navedenom bloku, a velicina Inodea je 256bajta, 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 simbolickapoveznica.

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 bitiprikazano za poveznicu SIMBOLICKI_DUGI iz gornjeg primjera, velicine 80 bajta. Iz detaljnijeg prikaza informacijaInodea 929995, može se uociti kako je alociran podatkovni blok 3679773 za zapis sadržaja datoteke. Korištenjemaplikacija dd (s obzirom da se blokovi pocinju brojati od nule, ne smanjuje se vrijednost za preskakanje blokova za1) i xxd (za prikaz izlaznog rezultata u hexa obliku, umjesto u standardnom ASCII) može se uociti putanja datotekena koju upucuje simbolicka poveznica ( putanja je izmišljena u svrhu prikaza velicine simbolicke poveznice iznad 60bajta).

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 slijedecemprimjeru (stvaranje datoteke i poveznice, unos i prikaz sadržaja, te brisanje originalne datoteke i pokušaj prikazivanjasadrž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) trajejako 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žislijedece 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 imenadatoteke. Jedino mjesto gdje se spominje ime datoteke (izmedu spomenute veze Inode broja, sadržaja datoteke istavke 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. Usuprotnom, spremaju se samo ime datoteke i Inode broj. Je li znacajka aktivna na datotecnom sustavu može se vidjetipostupkom 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 iext4_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 (dovoljnosa maksimalnu velicinu imena). Stvorena je dodatna mogucnost nove varijable velicine 1 bajt koja služi za spremanjetipa 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 razlicitihfunkcija za citanje. Naime, aplikacije kao cat za pristup datotekama koriste read() funkciju (ili neku varijaciju tipasafe_read() ), dok se za prikaz sadržaja direktorija koristi readdir() (koju koristi aplikacija ls, standardni dio cureutilspaketa).

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, odnosnodirektorijima. Koje funkcije se koriste u procesu?

Jedini drugi nacin je direktan pristup podatkovnom bloku, te interpretirati zapisani sadržaj. Za primjer ce se koristitiLINEAR_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 Inodestrukture. 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 dvijestavke 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 iizlaznog 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 unutarnekog 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 prilikompretraž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 Xstavaka u direktoriju ce uvijek biti ista, bez obzira na kojoj poziciji se ta stavka nalazi. Drugim rijecima, za 10 stavakau 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 brisanjapostojecih ili dodavanja novih stavaka u linearni zapis. Što napraviti u slucaju brisanja stavke D, ostaviti prazninu ilipresložiti cijeli zapis? Što napraviti ako se želi dodati ponovno obrisana stavka, treba li ponovno presložiti zapis kakobi stavka sjela u redoslijed, ili ju dodati na kraj zapisa? Postoje razlicite optimizacije i implementacije rješenja koje sebave ovim pitanjima.

No, bez obzira na optimizacije, i dalje se radi o rješenju koje je neucinkovito za veliki broj zapisa. Jedno od predloženihrješ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 primjeruucinkovitiji 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 lipretraživanje dalje ulijevo ili desno. S obzirom da je J manje od L, skok ide ulijevo, i to ponovno na polovicu ovogputa manjeg raspona polja ( A-L ) na slovo F. Ponavljaju se identicne radnje kako bi se došlo do slova J. Primjecuje seosjetno 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 kojije vezan za A)

Itd. . .

Drugim rijecima, postoje razne situacije u kojima se koristi linearno pretraživanje, odnosno u kojima prednost imajuneki drugi oblici ili tipovi algoritama. Za svaku implementaciju je potrebno testiranje kako bi se odabralo optimalnorješenje.

Algoritam za binarno pretraživanje je samo nacin pretraživanja podataka koji su i dalje zapravo linearno zapisani. Da bise 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 jepostavljeno 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 pojmovispomenuti) 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 cvormož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 cvoraima 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 strukturestabla

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, odnosnosamo znacenje tog slova nije jasno definirano). Za pocetak, u odnosu na binarno stablo, B-tree dozvoljava da cvorsadrži više od dvoje djece, te se automatski balansira struktura. Pojam balansiranja podrazumijeva da, prilikom unosanovih 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 popularnebaze 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 visinastabla ( u odnosu na binarnu strukturu), te se štedi potreban prostor u zamjenu za nešto kompleksniji algoritam. Sobzirom da u jedan cvor može stati više od dvoje djece, koristi se jedan ili više od jednog kljuca koji je dodijeljen tomcvoru za odluke. Prilikom definiranja strukture, mora se definirati minimalan i maksimalan broj kljuceva u jednomcvoru. Primjer B-tree stabla ciji cvorovi imaju više od jednog djeteta prikazan je na slijedecoj slici. Koristi se isti rangslova 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 jemoguce primijetiti kako se u jednom cvoru nalazi najviše 4 djeteta ( broj Djece se izracunava tako da se broju Kljucevanekog cvora X doda broj 1, odnosno D(x)=K(x)+1 ), a minimalno jedan kljuc,odnosno dva djeteta. Cvorovi u binarnimstablima 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 jevratiti se na samu implementaciju indeksiranog nacina zapisa u direktorije na EXT4 datotecnom sustavu. Službeninaziv implementacije je Htree (skraceno od Hash Tree). Na razvoju koda primjene za EXT2 datotecnog sustava jeoriginalno 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.). Zaoba EXT2 (iako osnovni EXT2 kod nece koristiti tu funkcionalnost) i EXT3 sustava je potrebno ukljuciti korištenjeindeksiranja 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 hashvrijednosti za pronalazak njihove lokacije u stablu. U slijedecim primjerima biti ce prikazane situacije u kojima bi seza 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 (uobicajenavelicina 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 novipodatkovni blok, te se zapisi nastavljaju linearno.

Ako datotecni sustav podržava indeksirani nacin zapisa, nakon što se podatkovni blok direktorija popuni (linearnimzapisima), 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 novihdatoteka (odnosno zauzecu prostora prema velicini imena, jer prostor direktorija zauzimaju stavke imena), dodijeljujuse potrebni podatkovni blokovi za strukturu stabla. U donjem primjeru su alocirana dodatna tri bloka za strukturustabla. 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/listcvorove. U svakom list cvoru zapisane su datoteke linearnim nacinom zapisa. U osnovnoj B-tree verziji struktura biizgledala 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 hashkljucevi.

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 vrijednostodrediš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 nastavljalinearno

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 hashvrijednost. 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 datotekanalazi 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š necebiti 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. Metodalinearnog pristupa i zapisa se koristi sve dok se ne popuni cijeli blok zapisima. Crvenim okvirom su oznaceni zapisiza 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 Htreestrukturu, direktoriju se dodijeljuje minimalan potreban broj blokova za Htree stablo. Prvi blok (koji je bio popunjenlinearnim 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 zapisadirektorija “..” je promijenjena u 4084 bajta (vidljivo u oznacenom okviru, vrijednost 0x0FF4, odnosno sve do krajabloka (prvi zapis je duljine 12 bajta, ukupno 4096 bajta). Razlog tomu je za slucaj ako bi se podigao EXT2/EXT3 (bezpodrške pregleda/upravljanja Htree strukture) datotecni sustav na particiji sa navedenim direktorijem, kako se ne biizmijenila Htree struktura sa pokušajem linearnog zapisa. U tom slucaju ce se nakon ispisa “.” i “..” stavki preskociticijeli 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 odmahispod 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 samogdirektorija. 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 vrijednostcvora, 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 blokza Root Index blok, prvi blok za cvor sa hash vrijednošcu 0, te dodatna tri bloka). S obzirom da je navedena dubinaovog stabla 0, znaci da su svi cvorovi zapravo i list cvorovi povezani na Root Index blok, i u njima su rasporedene svedatoteke. 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 blokovidodijeljeni (imati na umu da se ovdje radi o apsolutnim adresama tih blokova, za razliku od relativnih u odnosu nadirektorij), 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škomza 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 tocnostavka 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 dogodilosa 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 stavkedirektorija? )

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 potrebaza dodjelom novog.

10. Pomocu “istat” naredbe , saznati koji su novi podatkovni blokovi dodijeljeni direktoriju. Ponovno zapisativrijednost 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 jevratiti se na osnovnu organizaciju tvrdog diska (ovdje se prvenstveno misli na standardne rotirajuce diskove, a neSSD) i EXT4 datotecnog sustava na njemu. Minimalna velicina zapisa na tvrdi disk je velicine sektora (tehnickitocniji termin je logicki blok, no nece se koristiti kako ne bi došlo da zamjene sa minimalnim zapisom na EXT4datotecnom sustavu), a najcešce se radi o 512B.

To je prva organizacija zapisa na medij. Sektori se adresiraju LBA (eng. Logical Block Addressing, otuda nazivlogicki blok) mehanizmom, te je prva adresa 0. Prije stvaranja datotecnog sustava, potrebno je prvo podijeliti tvrdidisk na jednu ili više particija, ovisno o svrsi korištenja. Datotecni sustav se instalira ne jednu od tih particija. Prilikomstvaranja datotecnog sustava, particija (koja se sastoji od odredenog broja sektora) se prvo podijeli na više blokovajednakih velicina. Uobicajena velicina jednog bloka na EXT4 datotecnom sustavu je 4KiB, no moguce je odabrati ineku drugu velicinu bloka. Ti se blokovi zatim grupiraju u grupe blokova. Kao što je vec prethodno objašnjeno, sa4KiB velicinom blokova, u jednoj grupi blokova se nalazi ukupno 32768 blokova. Svaka grupa blokova ima svojustrukturu (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 dodatnoujedinjuju u posebne strukture pod imenom fleksibilne grupe blokova.

Prilikom ujedinjavanja, sve strukture svake grupe blokova se isto ujedinjavaju i postavljaju na pocetak prve grupeblokova. Kao rezultat toga, u jednoj fleksibilnoj grupi blokova, samo prva grupa blokova ce sadržavati opisnu strukturuza 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 (zelenasa žutom).

NAPOMENA: Iako se u fleksibilnoj grupi blokova struktura svake grupe premješta na pocetak fleksibilne grupe, topravilo 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 fleksibilnegrupe 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 iBlock 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 blokovaza datoteke. Odredeni problem u kontinuitetu predstavljaju SuperBlock i GDT strukture, no sparse superblock uodredenoj 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 naEXT4 datotecnom sustavu. S obzirom da je aktivirana znacajka “Extra Inode Size” (nova znacajka podržana odEXT4 verzije datotecnog sustava), Inode stavke mogu preci standardnu velicinu od 128B (velicina Inodeova u EXT2i 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 podatkeje 128B (originalna velicina) + 28B (dodatna potrebna velicina), odnosno 156B. Iz tog razloga, preuzeta je ukupnavelicina 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 informacijepoklapaju ( Tip datoteke je Direktorij, Vlasnik ima RWX prava, Grupa ima RX prava, Ostali imaju RX prava, ostalezastavice 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 sene 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štokasnije 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žbenudokumentaciju 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 verzijom1, 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 000000000000 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 DECoblik 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 dobiloprecizno 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 imatipozitivan/negativan predznak. Zbog podrške za predznak 2^32 ,broj 4294967296 se dijeli na pola te zapravo podržavamaksimalno 2147483648 sekundi od referentnog vremena (1.1.1970.), te je granica 2038. godina kada ce se brojpreliti 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 000000000000 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 4extent 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 sastandardnim postavkama sortirati imena po abecednom redoslijedu, dok se u samom fizickom bloku imena upisujuonim 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 primjeruje 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 automatskiponovno 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 zatimodabrati 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 pokrenusvi 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 tipkuInfo, 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 oznakomslova 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 direktorijprethodno 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 datotecnisustav, 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 tvrdidisk sa pocetnim slovima u imenu ST (oznacava Seagate disk). Na slijedecoj slici je prikazan samo primjer izgledaprozora. 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 Prijepotvrde 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 Seagatetvrdi 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 Prijepotvrde 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. Ponovnopokrenuti racunalo, bez prikljucenog USB pogona.

Odabrati Windows7 operacijski sustav u boot izborniku i pricekati ucitavanje operacijskog sustava. Prijaviti se kaokorisnik 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, tekorisnicko 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 prekopiratina radnu površinu.

Otvoriti HOME direktorij, i uociti datoteku home.bat. Pokretanjem navedene skripte, racunalo se vraca na HOMEparticiju. 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 diskovisa vezom prema mrežno dijeljenim direktorijima sa popisom laboratorijskih vježbi. Skripta je dana kao primjer, te jepož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, teodabrati 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, odabratiopciju 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 OSLoader. 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 (Upravljackaploca - 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 (Operating system kategorija, pronadite proces Speccy aplikacije i ispišite pod kojim jekorisnikom 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 natipku 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 ubacivanjakoda:

label unetbootindefault

menu label DOS - MS WINDOWS 98

MENU INDENT 1

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. Nakonucitavanja „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, postavitiautomatsko dohvacanje IP adresa, te pristupiti mrežnom dijeljenom direktoriju.

3. Pokrenuti HBCD menu i odabrati izbornik Programs, te zatim Partition/Boot/MBR. Unutar izbornika odabratiaplikaciju 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? Štooznacava 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 (odnosnoHOME) 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 nisuprikazane?

17. Pokrenuti Partition Wizard (Home Edition) aplikaciju (nalazi se u istom izborniku kao i DG aplikacija). Kako seprikazuje 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 opcijuFull 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 kojaparticija 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 bilimoguci 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 homeskriptu).

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 izbornikaodabrati 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 trenutnegodine, a kao ekstenziju upisati tekstualni tip datoteke (npr 3C2016.txt). Spremiti praznu datoteku I izaci izuredivaca 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 izdatoteke. 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 dodatirazred. 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 direktorijPOR_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 kontekstualniizbornik. 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žajBackup_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. Nadodabranim 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 kakobi 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 liizmjena uspješno spremljena? Je li se dogodilo što drukcije u odnosu na spremanje datoteke sa pocetka ovevjež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 filtriratiizlazni 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 saslovom “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 sedogodilo? 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 iopisati slijedece opcije : /List, /Disk, /Save, /Restore, /Show, /Confirm, /Shutdown, /Active, /WriteIni. Cemusluž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žeprepoznati 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, Bootstatus, tip datotecnog sustava).

7. Spremiti sadržaj Master Boot Record sektora USB pogona u datoteku imena sa inicijalima ucenika vlasnikaUSB 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žezakljuciti, 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 A1particiju pokretanjem a1.bat datoteke. Odmah nakon toga prikljuciti USB pogon u racunalo kako bi se pojavioMultiBoot izbornik. Odabrati “Hiren’s Boot CD” stavku. Pojaviti ce se slijedeci izbornik te je u njemu potrebnoodabrati „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, koristeciapsolutnu 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 USBpogona. Na kojoj se particiji nalazite? Zašto?

15. Ponovno pokrenuti racunalo i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s BootCD” 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 offclsecho 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 automatskiprepoznaje datoteke sa *.bat ekstenzijom kao izvršne datoteke, isto kao i *.exe ili *.com) i izvaditi USB pogoniz 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 putanjaprikazana? 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 prijelazu viši direktorij u strukturi. Probati napisati “CD ..” (izmedu naredbe i argumenta je razmak). Koje su porukeispisane na ekranu nakon obje naredbe? Ponovno upisati naredbu, no ovog puta “cd ..” . Zašto su u prva dvaslucaja 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 bitnokoristiti 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šidirektorij? 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 sepromijenilo? 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 izmedupreimenovanja 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 bezikakvih 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 bezikakvih argumenata i prouciti opcije. Saznati što znaci termin “recursive”. Upotrijebiti opciju -r te ponovnopokušati obrisati direktorij. Na svako pitanje odgovoriti potvrdno. Koji su koraci naredbe prilikom brisanjadirektorija?

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) ilipostojecih datoteka/direktorija u radnom direktoriju. Ako postoji više objekata koji odgovaraju upisanom uvjetu (izvjež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 aktivnaljuska 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 jeizveden 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”. Svojimrijecima 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 diskoviprikazani 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 jeboot 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 sesektori 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 datinikakav 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 na19. zadatak? Primijetiti string “MS-MBR Windows 7” (MicroSoft-MasterBootRecord , installed by Windows7 version). Može li se išcitati struktura particijske tablice? Koliko se particija nalazi u njoj, zapisati pocetne izavrš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 imenah1.mbr unutar MBRWIZ3 direktorija na USB pogonu. Provjeriti sadržaj datoteke kako bi se uvjerili da jespremljen ispravan MBR (sa HOME particijom u tablici).

3. Izvaditi USB pogon, ponovno pokrenuti racunalo i sa HOME particije zapoceti postupak prebacivanja na A1particiju. 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 A1particijama u tablici).

5. Pokrenuti HBCD menu i odabrati izbornik Programs, te zatim Editors/Viewers. Unutar izbornika odabratiaplikaciju 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, Harddisk 1). Otvoren je prozor sa sirovim sadržajem sektora na tvrdom disku, pocevši od prvog sektora. Koliko jebajtova zapisano u svakoj liniji (uociti da su adrese linija i bajtova u linijama zapisane u heksadecimalnomobliku). Iz izbornika „View“ odabrati opciju „Bytes per row“ te upisati prikaz od 16 bajtova po liniji. Uocitikako 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 tvrdogdiska. Prema strukturi MBR podrucja (Master Boot Code, Partition table, Magic number 55AA) zapisati pocetnui 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 podrucjeparticijske tablice, a na kojoj završava? Za svaku particiju u bilježnici zapisati originalan zapis od 16B, te izzapisa izvuci osnovne informacije (BootFlag, Partition type ID, Pocetni LBA sektor particije, Broj sektora kojeparticija zauzima na disku, izracunati završni sektor particije). Primjer postupka je opisan u uputama za odradulaboratorijskih 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 tvrdogdiska (NE ZABORAVITI /DISK opciju!!). Pokrenuti HxD te se uvjeriti kako je vracen MBC dio u prvi sektortvrdog diska.

13. Zamijeniti vrijednost BootFlag zastavice iz 0x80 u 0x00 na prvoj particiji, zapisati promjene na tvrdi disk, teponovno 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 promjenena tvrdi disk, te ponovno pokrenuti racunalo bez USB pogona u njemu. Što se dogodilo? Zapiši eventualneporuke 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, teponovno 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 tvrdogdiska (NE ZABORAVITI /DISK opciju!!). Pokrenuti HxD te se uvjeriti kako je vracen originalni sadržaj u prvisektor 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 u0x00, 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 tvrdidisk.

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. Vratitioriginalnu 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. Vratitioriginalnu 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 promjenena tvrdi disk, te ponovno pokrenuti racunalo bez USB pogona u njemu. Što se dogodilo? Zapiši eventualneporuke 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 sedogodilo?

27. Vratiti sadržaj iz 40. sektora u 1. sektor tvrdog diska, zapisati promjene i ponovno pokrenuti racunalo bezprikljucenog USB pogona. Što se dogodilo? Odabrati podizanje Windows 7 operacijskog sustava i utvrditiispravnost.

28. U izborniku „Extras“ odabrati opciju „Open disk“, te odabrati fizicki USB pogon (Physical disks, Removabledisk 1). Iskljuciti opciju „Open as Readonly“.

29. Nalazi li se na prvom sektoru ispravno MBR podrucje (mora sadržavati Master Boot Code, Particijsku tablicu ina kraju 55AA)? Ako je odgovor pozitivan, oznaciti kompletan sadržaj prvog sektora, kopirati ga, te zalijepitina prvi slijedeci prazan sektor na uredaju.

Note: Neki USB pogoni nemaju MBR podrucje, vec se na prvom sektoru nalazi Boot Sector, odnosno prvi sektorparticije. Sa takvom strukturom, USB pogon nece biti prepoznat (od strane BIOS sustava) kao USB tvrdi disk, veckao USB Floppy. Razlog tomu je što se na disketama mogla nalaziti iskljucivo jedna particija, te je ona zauzimalakompletno 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 dijeljenomdisku), te ponoviti postupak Yumi Multiboot instalacije.

30. OVAJ ZADATAK ODRADITI SAMO NA JEDNOM USB POGONU, samo zbog demonstracije. ZAODRADU 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 vratitikopiju 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 tomslucaju je dobro imati pricuvnu kopiju MBR podrucja USB pogona, kako bi se uredaju brzo vratila funkcionalnost. Usuprotnom 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 BootRecord 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 HOMEparticijom 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 A1particiju. 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 njemupotrebno 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 A1particijama 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 buducnostine 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, koristitisudo), a kao parametar navesti “device id”. Obavezno unijeti opciju za kompatibilnost sa DOS tipom operaci-jskog sustava ( -c=dos ).

Note: Primijetiti kako se izgled naredbenog terminala promijenio, te je sad aktivan prompt of fdisk aplikacije. Uaplikaciji su dozvoljena iskljucivo slova za odabir opcija (navedeno u slijedecem zadatku). Bitno je paziti na okolinuu kojoj se korisnik nalazi, te koristiti one mogucnosti koje su mu dopuštene u toj okolini. Na primjer, nije moguceunutar fdisk aplikacije upisati “sudo reboot”, te ocekivati ponovno pokretanje racunala. Fdisk aplikacija ce prepoznatiiskljucivo prvo slovo “s”, te aktivirati opciju koju podržava. U tom konkretnom slucaju, aktivirati ce se opcija “Createa 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. PROVJERITIadrese i usporediti ih sa dokumentacijom!

17. Potvrditi (zapisati) unesene promjene. Ponovno pokrenuti racunalo ( sudo reboot), te izvaditi USB pogon izracunala. 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 specifikacijamaA1 particije. PROVJERITI adrese i usporediti ih sa dokumentacijom!

20. Potvrditi (zapisati) unesene promjene. Ponovno pokrenuti racunalo ( sudo reboot), te izvaditi USB pogon izracunala. Uvjeriti se kako je ucitana A1 particija.

21. Vratiti racunalo na HOME particiju.

Important: ZA DOMACU ZADACU DETALJNO PROUCITI I OBJASNITI “DOS COMPATIBILITY” OPCIJU UELABORATU. 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 HOMEparticijom u tablici).

3. Odabrati radni direktorij MBRFILE na particiji USB pogona. Pomocu aplikacije MBRWIZD pregledati sadržajparticijske tablice kja se nalazi u datoteci H132HBKP.mbr (/Show opcija). Zapisati osnovne informacije svihparticija 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 ponovnopokrenuti 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 sadokumentacijom 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 postavitiNTFS 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”, tezatim “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živanjepocinje od korijenskog direktorija /, opcija pretraživanja po imenu -name, unos željenog imena kao argumentstavljen 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šlodo 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 pokrenerezultate 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 STanDardInput/Output), kako bi se rezultati tog programa prikazivali na ekranu, te kako bi korisnik mogao komunicirati saprogramom preko tipkovnice.

No, rezultate bilo koje naredbe/aplikacije je moguce preusmjeriti i na neku drugu lokaciju, kao što je datoteka. Utu svrhu se koriste znakovi > (uvijek prepiši postojeci sadržaj datoteke sa novim ) ili >> (ostavi postojeci sadržaj udatoteci , 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 ogrešci. Svaka poruka o grešci (npr. File not found, No permissions, Bad command. . . ) je zapravo standard error tipporuke. Pri preusmjeravanju rezultata , razlikuju se u identifikaciji brojevima, odnosno 1 oznacava standard output, a2 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 datotekuizlaz.txt

Za kraj , /dev/null je posebna vrsta datoteke u Linux sustavima koji prihvaca bilo kakav podatak, te ga odbaci. Možeju 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 datotekukoja 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 NIJEDNUOD 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 kombinacijutipki 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 TinyCoredistribucija. 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 HOMEparticijom u tablici).

3. Pomocu aplikacije MBRWIZ vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovnopokrenuti racunalo bez USB pogona. Uvjeriti se u uspješnost pokretanja TinyCore distribucije instalirane uprethodnoj 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 2HPARTICIJU ( 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 TinyCoresustava 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 direktorijaGHOST na USB pogonu u novostvoreni direktorij.

9. Ponovno pokrenuti racunalo i u Multiboot izborniku odabrati “Other OS and Tools”, te zatim “Hiren’s BootCD” 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 WindowsExplorer. U direktoriju IMAGE pokrenuti GHOST32.exe aplikaciju i prema uputama spremiti pricuvne kopijeH13 (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 HOMEparticijom u tablici).

3. Pomocu aplikacije MBRWIZ vratiti sadržaj datoteke H132HBKP.mbr na MBR tvrdog diska, te zatim ponovnopokrenuti 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 uWindows 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). UMultiboot izborniku odabrati “System Tools”, te zatim “Windows 98” operacijski sustav. Volkov Commanderaplikaciju 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 zatimponovno 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. Štoznaci 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 ConsoleSnap-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 prilikomupita.

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 prozoruodabrati karticu Details. U istoj kartici, u izborniku “Property” odabrati opciju “Hardware IDs”. Zapisatinajdulju 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, APPLpoddirektorij) na radnu površinu (u direktorij PCI-Z). Pokrenuti izvršnu datoteku u tom direktoriju. Procitatiinformacije 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 jeproizvela 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 upravljackogprograma. U lokaciju upisati punu putanju lokacije upravljackih programa maticne ploce, mrežni uredaj i up-isati potrebnog proizvodaca iz popisa. Ostaviti ukljucenu opciju “Include subfolders” (prilikom pretraživanjaupravljackih 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. Ucitati “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 odabratiopciju “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 prozoruodabrati karticu Details. U istoj kartici, u izborniku “Property” odabrati opciju “Hardware IDs”. Zapisatistavke VEN i DEV. Pomocu aplikacije PCI-Z prepoznati radi li se o Chipset SMBus kontroleru ( SystemManagement Bus), proizvodac Intel (uociti znakovitost VEN polja).

18. Na mrežno dijeljenom disku pronaci direktorij sa upravljackim programima maticne ploce, tip “chipset”,proizvodac Intel. U poddirektorijima rucno potražiti u svakoj “MSIinst.xml” (otvoriti u Notepad aplikaciji,pronaci <VIDDID> kategoriju) liniju koja sadrži i odgovara VEN&DEV poljima iz prošlog zadatka. Iz togdirektorija pokrenuti instalacijsku datoteku “infinst_autol.exe” i potvrdno odgovoriti na sva pitanja. Na krajuinstalacije 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 proizvodaca i model kontrolera za paralelne portove,te na virtualnom CD uredaju odabrati prikladan direktorij (Proizvodac, model, verzija i tip operacijskog sustava)i pokrenuti “MOSCHIP_Setup.exe” instalacijsku datoteku. Nakon završene instalacije provjeriti promjenu uDevice 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 proizvodacai 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”. Uslijedecem prozoru odabrati opciju rucnog lociranja i instalacije upravljackog programa. U lokaciju upisati punuputanju lokacije upravljackih programa maticne ploce, “OtherDriver” i odabrati “Intel ME Driver” direktorij.Ostaviti ukljucenu opciju “Include subfolders” i potvrditi pretragu/instalaciju upravljackih programa odabiromopcije “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 zainstalaciju iskljuciti “Catalyst Control Center 2”, ostale opcije ostaviti. Na kraju instalacije dozvoliti ponovnopokretanje 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 BootCD” 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 WindowsExplorer. U direktoriju IMAGE pokrenuti GHOST32.exe aplikaciju i prema uputama spremiti pricuvne kopijeH13 (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 izWindows98 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 sepotvrditi 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žesamo pokrenuti. Preporuka je skinuti Setup verziju, te ju instalirati.

Nakon što je VirtualBox aplikacije uspješno instalirana, provjeriti ispravnost pokretanja aplikacije (aplikacija ce moždatraž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 (kaoprema slici). Postaviti minimalno 512MB radne memorije, dok je preporuceno staviti barem 2048MB. Imati naumu ukupnu i raspoloživu kolicinu radne memorije. Odabrati opciju stvaranja novog virtualnog tvrdog diska, tekliknuti Create.

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

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 topotrebno 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 Dynamicallyallocated . 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 MachineUSB Boot aplikaciju. Kliknuti na tipku Options, te zatim na karticu VirtualBox. Kao prema slici dodati VM uputanji i kliknuti na OK.

12. Odabrati opciju Add te izvršiti konfiguraciju sa odabranim imenom stvorenog virtualnog stroja odabirom USBpogona. 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 MultiBootizbornik.

Nakon što se Multiboot izbornik pojavio, odabrati podizbornik “System Tools” i zatim “Partition Wizard”. Pricekatipokretanje Partition Wizard aplikacije.

U aplikaciji se prikazuju 3 tvrda diska sa standardnim (Basic) particijskim tablicama, od koji je jedan USB pogon, doksu ostala dva prethodno stvorena prilikom konfiguracije virtualnog stroja (ako su prethodno pracene upute, diskovi bise 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 prikazanesu sve mogucnosti odabira opcije Create, no zbog jednostavnosti korištenja, poželjno je odabrati jednu metodu ikoristiti samo nju.

U slijedecem koraku odabrati tip particije kao primarnu, FAT32 datotecni sustav, oznaku particije, te velicinu od259MB. 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 slijedecimnapomenama:

• 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 jeizvrš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 instalacijemogao 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 podterminom Bootflag (Bootable Flag). Potrebno je kliknuti desnom tipkom miša na WIN98 particiju, odabrati izbornikModify, te Set Active opciju.

Dodatno na istoj particiji, potrebno je izmijeniti tip FAT32 particije, koji mijenja metodu na koji nacin ce operacijskisustav adresirati tu particiju (CHS ili LBA metoda, prouciti detaljnije na Internetu). Ukratko, CHS metoda se prvakoristila u starijim operacijskim sustavima kako bi se adresirala neka particija, no ima ogranicenje gdje se particijamaiznad 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 IDopciju. 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 oznakuparticije, 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 krajukartica 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 ispredvrijednosti dodaje 0x), što oznacava kako bi se trebao nalaziti NTFS datotecni sustav na njoj. Dodatno se moguprimijetiti pocetni sektor particije (Start LBA sektor, objašnjen kasnije u dokumentu), te njen završni sektor na tvrdomdisku.

Za vježbu provjeriti osnovne informacije WIN98 particije, te uociti vezu izmedu završnog sektora WIN98 particije ipocetnog 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 jednostavnokliknuti 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 ponudenarješenja. Prije kontaktiranja nastavnika za pomoc, svakako je potrebno proci kroz ovaj popis te pokušati samostalnoriješiti problem.

U slucaju da se Vaš problem ne nalazi na popisu, kontaktirati nastavnika sa detaljnim opisom problema i priloženominformativnom 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 maknutiVMUBDrive000.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 prociproces uvoženja (import).

Error6

Vrlo vjerojatno virtualni stroj nije pokrenut preko VMUB (za USB multiboot), nego iz Virtualboxa. Pokrenuti strojpreko 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 Virtualboxod 6.1 verzije), AMD-V za AMD procesore, VT-x za Intel procesore. Ako je moguce, u BIOS/UEFI aktivirati teopcije. Ako iz nekog razloga to nije moguce napraviti, instalirati stariju verziju Virtualboxa (recimo 6.0.x) i koristiti32bitne 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 pristupitimodulima od Virtualboxa ( npr. Antivirusi). Na slijedecim linkovima se nalaze savjeti za pristup dijagnostici , temoguca 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 prikljucenimUSBom). 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 iboljeg 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 izatim odabrati opciju „Run VBoxWindowsAdditions.exe“

U slucaju da je ukljucena sigurnosna opcija „User Account Control“, potrebno je dozvoliti izvršavanje instalacijenavedenog 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 nadogradnjeaplikacije), 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 velicinuprozora i uociti rezultat. U slucaju da se velicina i rezolucija virtualnog sustava nisu automatski prilagodile, provjeritiopciju „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 zaWindows operacijske sustave), te pokušati zalijepiti tekst. U slucaju da se ništa nije dogodilo, provjeriti je li opcijaBidirectional 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 nijepoželjno premještati datoteke koristeci tu metodu. Za takvu potrebu, dovoljno dobro rješenje je koristiti dijeljenidirektorij izmedu virtualnog stroja i domacina.

U postavkama željenog virtualnog stroja potrebno je odabrati izbornik „Shared folders“, te kliknuti na opciju „Adds anew shared folder“.

U slijedecem koraku je potrebno na domacinu stvoriti novi direktorij, ili koristiti neki postojeci. U ovom slucaju cese koristiti Desktop direktorij trenutno prijavljenog korisnika. U novom prozoru je potrebno odabrati direktorij zadijeljenje, 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 folderce ostati trajno dijeljen sa virtualnim strojem (opcija Make Permanent), dok ce Transient folder prestati biti dijeljennakon 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 svakovirtualno racunalo nudi se do 8 mrežnih prikljucaka, od kojih se 4 može konfigurirati direktno kroz graficko sucelje, aostale 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 situacijegdje 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 slijedecihprimjera. Unutar plavog okvira nalaze se sve hardverske i softverske komponente koje tvore racunalo sa podrškomza 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škuvirtualizacije (npr. Oracle VirtualBox ili VMWare Player/Workstation), te na kraju sami virtualni strojevi. Jako jebitno zapamtiti kako su svi virtualni strojevi, iako djeluju kao nezavisna racunala, zapravo pokrenuti kao procesiunutar domacinskog operacijskog sustava. Svu komunikaciju sa hardverom fizickog racunala ili vanjskim svijetomodrž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 jeinstalirana 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, kojije pak povezan na odabranu fizicku mrežnu karticu racunala. Virtualni preklopnik nije moguce konfigurirati (nemapodršku za razlicite VLAN mreže), te se automatski stvara po potrebi prilikom konfiguracije nekog zasebnog mrežnogsegmenta (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 uovakvom 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 temreže. Isto tako može biti obrnuta situacija, na virtualnim strojevima može biti takav poslužitelj koji ce dodijeljivatiIP 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 fizickisklop, 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 uocitidodatno 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 koristekucni 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štenjeinterneta. Ne ulazeci previše u tehnicke detalje, NAT (eng. Network Address Translation) tehnologija omogucava dajedno ili više racunala ima pristup internetu koristeci jednu javnu IPv4 adresu (koju daje pružatelj usluga). Time serješ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 adresuracunala (u kombinaciji sa brojem porta koji ostvaruje vezu) sa jednom vanjskom adresom (i brojem porta). Takvatablica se zove NAT tablica (tocnije , radi se o PAT tablici, no ovo podrucje nije tema dokumenta). Na slijedecoj slicinalazi 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 (recimopristup web stranici), te je izvorišna adresa 192.168.1.102 (kombinacija adresa/port se naziva socket, te se obicnozapisuje u obliku 192.168.1.102:33543 ). Usmjernik u svoju lokalnu tablicu zapisuje te informacije, te ih prevodi ujednu vanjsku adresu sa slucajno generiranim brojem porta, 65.96.14.76:4. U ovom trenutku može biti jasno otkudanaziv Network Address Translation. Usmjernik zapravo modificira paket, te se sa stajališta vec spomenutog WWWposluž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, Remotedesktop, 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 mogucerezervirati jedan port , te ga povezati sa portom servisa na racunalu. Za primjer, SSH servis uobicajeno koristi port22, a RDP koristi 3389. Vezano uz primjer sa gornje slike, jednostavna tablica za proslijedivanje portova ce izgledatiovako:

Unutarnja adresa Unutarnji port Vanjska adresa Vanjski port192.168.1.102 22 65.96.14.76 1022192.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 NATengine ih drži izoliranima jedne od drugih. Zapravo, dobro se podsjetiti da je sve iza NATa zašticeno i da jednake IPadrese 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 virtualnogstroja po NAT segmentu, u ovoj situaciji je moguce povezati više racunala u mrežu koja su zašticena iza usmjernikasa NAT funkcijom. Ovakva topologija je zapravo najbliža onime što vecina kucanstava ima, više uredaja povezanihna jednog usmjernika sa NAT funkcijom, sa mogucnošcu povezivanja na Internet. Racunala koja su spojena u jednuNAT mrežu mogu medusobno komunicirati.

Razlika je samo u implementaciji i konfiguraciji. NAT Network segment se nece stvoriti automatski, vec ga je potrebnorucno konfigurirati. Za takvu radnju, potrebno je odabrati opcenite postavke Virtualbox aplikacije, te unutar prozoraodabrati izbornik Network. Pritiskom na oznacenu tipku (prva slika ispod), stvorit ce nova NAT mreža. Zatim jepotrebno 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 nijepovezan 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 ilidomacina. U ovakvoj situaciji ne postoji neki standardni DHCP poslužitelj (od strane Virtualbox aplikacije) koji cedodijeljivati adrese, vec ih je potrebno rucno konfigurirati, ili na neki drugi nacin (primjer je instalirati neki poslužiteljsa DHCP rolom).

Host-only network

Virtualni strojevi kojima je konfiguriran ovaj nacin mrežne povezanosti ostvaruju vezu iskljucivo sa domacinom. Vezaje 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 sekonfiguriraju 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, zaHost-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 odabratitipku Create. Nakon što je prikljucak stvoren, odabrati opciju Properties za konfiguraciju samog prikljucka. Mrežnakonfiguracija može biti rucna ili automatska. U prvoj situaciji, potrebno je konfigurirati željenu IP adresu. Adresa kojase 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 operacijskogsustava. Sve je prikazano na prvoj slici ispod.

U drugom slucaju, kod automatske konfiguracije, potrebno je konfigurirati ugradeni VirtualBox DHCP poslužitelj saosnovnim 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žnutopologiju 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 kojemje moguce stvoriti nove particije, no precizno receno, radi se iskljucivo samo o prostoru koji nije definiran pocetnim izavršnim adresama u particijskoj tablici (Master Boot Record). S obzirom da particijska tablica standardnog MBR-apodržava maksimalno 4 primarne particije, tvrdi disk na kojem se nalazi više od 4 primarne particije ce u svakomtrenutku imati odreden broj nealociranih particija, no one i dalje postoje na disku. Ono što je bitno za zapamtiti je datreba 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 imanamjenu, i na svim diskovima se nalazi preko 4 primarne particije, no u jednom trenutku se u particijskoj tablici nalazemaksimalno 4 (alocirane su). Ne postoji slobodan prostor na tim diskovima za stvaranje novih particija, vec se morajukoristiti 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 izbornikuodabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce se slijedeci izbornik te je u njemupotrebno 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 HBCDMenu opciju. Otvoriti ce se izbornik preko kojega je moguce pokretati sve aplikacije podržane u Mini Windows XPsustavu.

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. File Manager ), te se nudi kao zamjenastandardnim upraviteljima koji dolaze uz operacijske sustave, kao što je Windows Explorer. Svoje idejne korijenevuce 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-F2kombinacija 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 upotpunosti ucitan u radnu memoriju. Kao posljedica, sve promjene nad datotekama i direktorijima koje se zapisujuna uredaj, ne pamte se nakon ponovnog pokretanja racunala. Ostale particije su podložne promjenama i potrebno jeobratiti 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 tipdatoteke (npr. 3C2016.txt). Nije potrebno obracati pozornost na velika i mala slova. U posebni red upisati u datotekupar imena ucenika/ucenica (bez dijakritickih znakova) iza razreda te spremiti izmjene (File -> Save ili kratica Ctrl-S) iizaci 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) opcijupregledati 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 izaplikacije. 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 stvorenudatoteku i Temp direktorij. Odabrane objekte kopirati u POR_TEST direktorij (Copy opcija). Potvrditi da je postupakkopiranja uspješno izvršen. Vratiti se u korijenski direktorij C: particije te premjestiti POR_TEST direktorij (Moveopcija) 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 aktivnogdirektorija i uociti stvorenu datoteku. U slucaju da ime datoteke nije stalo na ekran u popisu, moguce je filtrirati izlaznerezultate korištenjem wildcard znaka zvjezdice (npr. dir 3c*). Potvrditi prikaz imena datoteke na zaslonu. TipkomESC vratiti aktivan prozor Volkov Commandera.

Odabrati prethodno prikazanu datoteku u korijenskom direktoriju te joj postaviti skriveni atribut. Radnju je moguceizvrš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 aktiviratiatribut. 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žajdatoteke. Je li izmjena uspješno spremljena? Je li se dogodilo što drukcije u odnosu na spremanje datoteke sa pocetkaove 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 BootRecord 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 uneku 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 ihupotrebljavati. Krugovi ispunjeni žutom bojom predstavljaju ili informativne opcije (Show, WriteIni), odnosno opcijeza 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, imaposeban 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 baziranihdistribucija)

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 serazlikuju 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 ucitatiparticije 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 pricuvnomUSB pogonu (po mogucnosti da isto ima mogucnost podizanja sustava). Druga metoda je kopiranje cijelog sektora, tekopiranje sadržaja na prvi slijedeci slobodan sektor uredaja.

Izlazni rezultat /List opcije prikazuje osnovne informacije o svakom prepoznatom uredaju za pohranu, te zatim idetalje sadržaja particijske tablice. Ispod ce biti opisan svaki element izlaznog rezultata za USB pogon iz slike gornjegprimjera ( 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 velicinaproizvoda)

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 namijenjenza 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 oddrugog

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 heksadecimalnomobliku 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 prekoIDE 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 konfiguriravirtualni stroj tako da stvori novi virtualni tvrdi disk, te ga poveže sa USB pogonom u racunalu. Iz tog razloga se USBpogon 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 imatipricuvnu kopiju kako bi se moglo na jednostavan nacin pristupiti particijama i podacima na disku. Vec je spomenutokako se u jednoj particijskoj tablici mogu nalaziti maksimalno 4 primarne particije, no to ne ogranicava ukupan brojparticija 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 nemož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 sekorištenje više izoliranih radnih okolina i nevezanih operacijskih sustava (svaki razred ima dodijeljen svoj prostor natvrdom 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 diskute ispunu neke datoteke tim sadržajem.

Prije spremanja, bitno je identificirati željeni tvrdi disk, što se postiže sa /List opcijom, opisanom u prethodnomkoraku.

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 pomocnomizborniku aplikacije), dobra je praksa UVIJEK koristiti /Disk opciju i rucno upisati željeni disk, u tom slucaju sesmanjuje broj nenamjernih štetnih posljedica.

Naredba za spremanje drugog identificiranog tvrdog diska u sustavu ( USB pogon je prvi prijavljen, slika naproš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 ivelicina datoteke.

U slucaju neispravne sintakse, ili krivo odabrane neke od opcija, prikazat ce se poruka o greški koja uglavnom upucujeu 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 samo512 bajta, aplikacija ujedno sprema neke dodatne informacije u datoteku, što se može primijetiti prilikom korištenjaopcije za prikaz detalja pricuvne kopije :

U heksadecimalnom pregledniku unutar crvenog pravokutnika se nalazi prvih 512B spremljene datoteke, te se možeuociti sadržaj detalja o racunalu i disku s kojeg je spremljena pricuvna kopija. Drugih 512B datoteke zauzima i samMaster 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. Zapotrebe 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 rezultiratinemogucnoš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 identificirantvrdi 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 dazna 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 potvrdevracanja 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 pozornostna 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 neispravnogUSB pogona na nekom drugom ispravnom, te je potrebno samo ponoviti proces sa ispravnom datotekom i naispravni uredaj.

Ako ne postoji pricuvna datoteka za USB pogon, potrebno je ili ponovno proci proces izrade Multiboot USB-a, ili sesamostalno 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 iskljucivokoristi 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 sepotvrdila 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 vrijednostsektora, standardno se koristi disk=0. Dodatno, ova opcija zahtijeva ispravnu MBR strukturu za prikaz, te je moguceprikazati 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 nauredaju (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šcida se ne može pronaci ispravna MBR struktura na toj lokaciji. U prvom primjeru nije javljena poruka o grešci jer jeaplikacija 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 jeuniverzalan za sve GNU/Linux distribucije), te upravljanje paketima, odnosno instalacijom softvera (sadržaj je vezanuz TinyCore distribuciju). Namjena obradenog sadržaja nije osnovno korištenje GNU/Linux sustava, vec minimalanopis potrebnih koraka za stvaranje “dual-boot” sustava izmedu odabrane GNU/Linux distribucije i Microsoft Windows10 operacijskog sustava.

Razlog zašto se koristi TinyCore distribucija leži u tome što su ucenicima dodijeljene 3 particije na korištenje ulaboratoriju velicina 256MB i 2x20GB, te je prva prethodno bila namijenjena za Microsoft Windows 98 sustav. Sobzirom da trenutno tehnicki nije moguce mijenjati strukturu tvrdih diskova na racunalima u laboratoriju, bilo jepotrebno pronaci neku distribuciju cija ce instalacija stati unutar 256MB diskovnog prostora, te ima podršku instalacijena 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 ideinstalacija 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 izbornikuodabrati TinyCoreCorePlus-current distribuciju.

Pokrenuti ce se novi podizbornik, u kojem je potrebno odabrati opciju ucitavanja sustava bez graficke podrške i ostalihdodataka (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 cdza promjenu radnog direktorija i navedenog parametra, rezultat ce biti postavljanje korijenskog direktorija kao radnogdirektorija. 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 postojecihdirektorija). Na slici ispod prikazana je struktura korijenskog direktorija TinyCore Linux distribucije. Sama svrha svihprikazanih 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žajakorijenskog 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 nekenaredbe upisuju se na nacin da se prvo upiše znak crte - , te nakon nje, slova neke željene opcije. Kao što je vidljivo nadonjoj slici, opcija -alh ce kao rezultat ispisati sve stavke , cak i one skrivene (datoteke u Linux distribucijama nemajuposeban atribut za sakrivanje kao na Microsoft sustavima, vec se koristi tocka kao prvi znak u imenu). Slijedeca dvaslova definiraju prikaz detalja svake stavke direktorija (a ne samo ime), te zaokruživanje velicine datoteka na najbližujedinicu (datoteka od 1024 bajta ce biti prikazana sa velicinom od 1KiB, standardno se prikazuju sa velicinom ubajtima).

Što je zapravo direktorij i koja je njegova svrha? S obzirom da se svrha particije i datotecnog sustava na njoj možesmatrati kao dio nekog prostora za skladištenje podataka, dobro je povuci analogiju i zamisliti neku praznu prostorijukoja 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 jerje 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 kutijese 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 organizacijuprostora, no situacija objašnjava analogiju kutije i direktorija, odnosno svrhu istog. Da se sve datoteke ne bi nalazile uistom 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 htjeloiz korijenskog direktorija postaviti /tmp/tce/optional (ovo je apsolutna putanja optional direktorija) direktorij kaoradni direktorij, potrebno je upisati naredbu cd ili chdir te kao parametar navesti željenu putanju. Drugi nacin jepojedinacno upisivati direktorij po direktorij,sve do krajnjeg željenog direktorija. Za vracanje u prethodne direktorijese kao parametar koristi poseban naziv prethodnog direktorija “..” (isti je naziv i na Microsoft sustavima). Kadaputanja u sebi ne sadrži tocne nazive direktorija, vec njen efekt ovisi o poziciji radnog direktorija, takva putanja sezove 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 stvaranjenovih direktorija, sa naglaskom na razlikovanje imena sa malim/velikim slovima u njemu. Drugi primjer prikazujestvaranje strukture novih direktorija. Samo upisivanje strukture nije dovoljno , vec je potrebno dodati opciju koja cestvoriti 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 jeosnovno korištenje naredbe. Zatim je obrisan direktorij “mirko”, te nakon njega svi direktoriji koji pocinju sa imenomM (korišten je wildcard znak * za zamjenu svih daljnjih znakova). U slijedecem koraku je bio pokušaj brisanjastrukture direktorija “prvi/drugi/treci”, no pokazalo se kako je obrisan samo zadnji “treci” direktorij u strukturi, dok suostali direktoriji bili netaknuti. U tu svrhu je potrebno koristiti opciju koja ce ukljuciti i brisanje roditeljske direktorijeu 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, datotekaje 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 predstavljajudirektorije) zapravo datoteke. Iz toga se može zakljuciti da je sve na Linux sustavu prikazano zapravo kao datoteka, pacak 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. Potonjadatoteka ce biti prikazana za prikazivanje sadržaja tvrdog diska i particije, kao dokaz da se sve u Linux sustavuprikazuje kao datoteka. Zašto je uopce relevantno spominjati takvu logiku sustava? Recimo da korisnik želi vidjetidetalje 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 sustavatrece 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 parametardatoteku /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, radise 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 bitiobradene 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 donjemprimjeru, stvorene su tri datoteke. Dvije datoteke dijele isto ime, no sa razlicitim velicinama slova, što još jednomdokazuje 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 susve 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, teje u njega kopirana datoteka s imenom Datoteka.txt. Za kopiranje se koristi naredba cp, te se kao parametri navedudatoteke 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 naredbamv, 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 procesupreimenovanja 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. Bitnoje 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.txti sa_ekstenzijom.EXT) u arhivsku datoteku imena backup.tar. Iako ekstenzija tar nije nužna, dobra je praksa jasnooznaciti o kojem se tipu datoteke radi.

Nakon arhiviranja, sa naredbom rm obrisane su originalne datoteke, na dva razlicita nacina. U prvom koraku nijekoriš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 arhivaje bez kompresije, dok su druge dvije kompresirane koristeci razlicite alate (opcija z za gzip i j za bzip2). Ukupnavelicina 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 primijetitirazlika u velicinama datoteka. Potrebno je napomenuti kako se radi o razlicitim algoritmima kompresije, gdje jedannije u svakoj situaciji bolji od drugog. Isto tako, kvaliteta algoritma za kompresiju se ne odlikuje samo u postotkusame 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 naVMUBDrive000.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.vmdkdatoteku. U Settings izborniku, kategorija Storage, kliknuti na “Controller:SATA” i sa odabrati opciju za dodavanjetvrdog 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 razinisektora.

S obzirom da se radi o Windows aplikaciji, nudi standardizirano graficko sucelje. Na Multiboot USB pogonu može senaci 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 štoje 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 dvijekategorije : Logicki diskovi i Fizicki diskovi. Logicki diskovi predstavljaju particije na nekom tvrdom disku, dokfizicki diskovi predstavljaju cijeli uredaj. Sam prikaz sadržaja je isti, nebitno radi li se o particiji ili tvrdom disku, imoguce 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 particijastvorenih 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 vecje 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 trebaootvoriti , 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 sadokumentacijom.

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 towindow width” i rucno postaviti “Byte per row” opciju na vrijednost 16. Potom oznaciti opciju “Apply to existingwindows, 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 WIN7particije (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 (ukupno512B). Particijska tablica tvrdog diska pocinje na adresi 0x1BE (u 0x1B0 liniji predzadnji bajt), i u ovom slucaju možese prepoznati po oznaci 80.

Disk na koji nije instaliran nijedan operacijski sustav ce u principu imati prazan dio iznad particijske tablice, u kojemse inace treba nalaziti programski kod (Master Boot Code) za odabir i ucitavanje aktivne particije (na kojoj se nalazioperacijski 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 Wizardaplikaciji), odnosno BootFlag zastavica je aktivna(jedina druga ispravna vrijednost ovog bajta je 00, nijedna drugavrijednost u principu nije dozvoljena).Ukupna velicina particijske tablice je 64B, te sastoji se od 4 stavke, svaka po16B, i svaka predstavlja jednu primarnu particiju. U slucaju da je stavka kompletno ispunjena nulama (kao što su uovom primjeru stavke 3 i 4), znaci da nije ispunjen maksimum od 4 particije. U ovom primjeru, tvrdi disk ima samo 2definirane 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. Dodatnukomplikaciju 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 vrijednostcilindra, koja u njemu predstavljaju 2 donja bita. Iako CHS uglavnom nece biti temelj proucavanja, niti je potrebno udetalje 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 seradi 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 jepotrebno vrijednost 3F pretvoriti u decimalni oblik, a to je 3*161 + 15*160 = 63. Znaci pocetni sektor prve particijenalazi se na sektoru 63. To je moguce odmah provjeriti u HxD aplikaciji tako da se odmah u Toolbaru upiše zadanavrijednost sektora, te je moguce u desnom stupcu išcitati stringove MSWIN4.1, WIN98 i FAT32, što naslucuje da sestvarno 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 redoslijedzapisa, bajt po bajt s desna nalijevo. Bitno je napomenuti da se obrce redoslijed iskljucivo CIJELIH bajtova, dakleza primjer A2 se nece zapisati kao 2A. Rezultat zamjene redoslijeda ce biti 00 08 16 A2, te je tu vrijednost potrebnopretvoriti 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 megabajtimadvaput 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 napocetak 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 tipzapisa 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 umukako 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, nijedanoperacijski 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 promjenajoš 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 necebiti detaljnije objašnjen.

Do GNU/Linux Mint distribucije, može se na Multiboot USB pogonu doci u izborniku “Linux Distributions”, teodabrati 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 naredbei 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 tumogucnost 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 imenaaplikacije (sva mala slova) se upisuju eventualne opcije (opisane ispod : -b, -c, -h. . . ) , te na kraju argument nad kojimce 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, ane 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 sekasnije moglo pristupiti.

Prije bilo kakvih radnji, potrebno je vidjeti koje sve uredaje za pohranu aplikacija fdisk prepoznaje (opcija –l prethodnoprikazana u help outputu). Za to je potrebno koristiti fdisk sa povecanim privilegijama korisnika, a to se postižeunosom 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 virtualnatvrda 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 opcijukorištenja “dos compatible” metode korištenja tvrdog diska (vidjeti help). Aplikaciju je potrebno ponovno pokrenutikoristeci povišene privilegije.

Iza svakog imena aplikacije, opcije ili argumenta slijedi obavezan razmak, paziti na velika/mala slova, teposebnu 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 slucajubitno 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 ugornjoj 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 drugimparticijama 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 trebaobrisati (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 zabrisanje particije, te je s obzirom da se radi o jedinoj particiji u tablici, automatski obrisana bez pitanja. Na slijedecojslici 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šnaLBA 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 Wizardaplikacije).

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 saslovom n (add a new partition). U slijedecem koraku potrebno je odabrati radi li se o primarnoj ili extended tipuparticije. 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 seodabire prvo mjesto (broj 1). Zadnja dva koraka su upisivanje pocetnog i završnog sektora, prema dokumentaciji. Naslijedecoj 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 naslijedecoj 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 standardnozadani ID datotecnog sustava (opcija t, change partition type ID), koji je u ovom trenutku 83 (svi standardni Linuxdatotecni 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 sustavai 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 seupisuje. Na primjer, korisnik je u slijedecem primjeru zaboravio na korak odabira primarne ili extended particije, tehtio 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 promjenena 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 pokrenutipostupak izlaska iz aplikacije i vracanje u ljusku GNU/Linuxa. U principu je rad sa fdisk aplikacijom završen, te jepotrebno ponovno pokrenuti racunalo. Dovoljno je upisati naredbu reboot u ljusci, no prije toga sa sudo naredbomomoguciti 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 uvirtualni 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 nakojoj 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, postavkuformata 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 instaliratinovija 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 kakose 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 ulaboratoriju 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 nadisku. Ovdje se zapravo radi o provjeri ispravnosti FAT32 particije. Potrebno je dopustiti provjeru (ne preskociti), jerce se poruka inace pojavljivati prilikom svakog pokretanja operacijskog sustava.

Zadnji korak same instalacije je pretraživanje uredaja u racunalu, te automatska instalacija upravljackih programa zanjih (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 nudepreporucene postavke sustava (tipka “Express settings”), no potrebno je odabrati opciju gdje ce korisnik sam biratipostavke 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 cekorisnik 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 lokalnomdomenskom poslužitelju, kao centralizirani pristup). Iako nije jasno naznaceno, za korištenje lokalno korisnickogracuna (koji ce se nalaziti na samom racunalu), potrebno je odabrati opciju “Join a local Active Directory domain”. Uupisu 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, telozinku korisnika (obvezno negdje zapisati lozinku). Lozinku je potrebno zapamtiti jer bez nje nece biti moguc pristupkorisnickom 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 navikamakorisnika, 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 instalacijenadogradnji 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 prikazanihparticija. Particija sa Windows10 instalacijom ce uvijek biti C: particija. Uociti da nije prikazana TinyCore Linuxparticija. Windows 10 nece automatski podignuti ( i dodati joj slovo) particiju na kojoj se nalazi FAT32 datotecnisustav, 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ženanacina :

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 DiskManagement

• 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 formathard 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 sepokrenuti i AutoPlay opcija (ako nije isklucena) sa mogucnošcu pristupa particiji, primijetiti promjenu u Task Bardijelu ekrana.

Ponovno pokrenuti Windows Explorer aplikaciju, te uci u TinyCore particiju. Primijetiti kako se nalazi mali brojdatoteka i direktorija u popisu. Razlog tome je što ostale datoteke imaju ili skriveni atribut (Hidden attribute) ilipredstavljaju sistemske datoteke (System attribute).

Za prikaz svih datoteka, u prozoru Windows Explorer aplikacije odabrati izbornik File, te opciju “Change folder andsearch 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, potrebnoje još jednom potvrditi odabir u novom prozoru. Primijetiti kako se zašticenim datotekama operacijskog sustavasmatraju 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 naTinyCore particiji.

Datoteku BOOTSECT.BAK preimenovati u linux.bst, kao pamtljivu oznaku da se radi o Linux BootSectoru. U obaslijedeca prozora odgovoriti potvrdno ( jedan upozorava na promjenu ekstenzije, dok drugi upozorava kako se mijenjaime 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 dodatnopotvrditi željenu radnju.

Postavke Boot Manager programa ( ugraden od verzije Windows Vista sustava) mijenjaju se standardno kroz aplikacijubcdedit koja dolazi sa operacijskim sustavom. Za pocetak samo pozvati aplikaciju naredbom bcdedit bez dodatnihopcija, 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 bootparticiji (uobicajeno se u korijenskom direktoriju te particije nalaze direktorij Boot i datoteka bootmgr). Potrebnoje 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škeu daljnjim koracima, uvijek postoji originalna konfiguracijska datoteka kojom se može vratiti prvobitno stanje bootkonfiguracije

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 programzadužen za ucitavanje operacijskog sustava) operacijskog sustava. U ovom slucaju se radi o programu zapisanomu 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 nakonizvrš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 seTinyCore 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 kopijepodataka 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 izbornikuodabrati “Other OS and Tools”, te zatim “Hiren’s Boot CD” stavku. Pojaviti ce se slijedeci izbornik te je u njemupotrebno 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 particijapomaž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 SymantecGhost 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 jelakš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 jebitna 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 zanavigaciju 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 opcijakoja danas ima popularan termin “Disk clonning” ( kloniranje diskova) u ovom kontekstu se zove “Local Disk – ToDisk” ( obratiti pozornost na nacin citanja željenih funkcija). Radi se o postupku prebacivanja sadržaja kompletnogtvrdog 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žajkompletnog 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žajna tvrdom disku. U suprotnoj situaciju, operacija sektor-po-sektor ce spremati ukupan broj sektora koji se nalaze natvrdom 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 particijeTinyCore 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 nijeimplementirana 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 stupnjukompresije prilikom spremanja te pricuvne kopije. U slijedecem primjeru su prikazane tri pricuvne kopije koje sadržepodatke prvog tvrdog diska, na kojem se nalaze particije TinyCore i WIN10 sa stvorenim datotecnim sustavima (FAT32i 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 odabirrazine kompresije prilikom stvaranja pricuvne kopije, odnosno odabira “sektor-po-sektor” metode.

NAPOMENA: NIJEDNA OD OVIH OPCIJA NECE SE KORISTITI ZA POTREBE LABORATORIJSKIHVJEŽ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 tvrdimdiskovima.

Opcija “Local Partition – To Partition” oznacava proces kloniranja kompletnog sadržaja jedne particije na druguparticiju.

Opcija “Local Partition – To Image” oznacava proces spremanja kompletnog sadržaja jedne particije u pricuvnudatoteku, odnosno izrada pricuvne kopije. Popularan termin za ovaj proces naziva se u engleskom jeziku “Backupimage”.

Opcija “Local Partition – From Image” oznacava proces vracanja sadržaja iz neke pricuvne datoteke na odredišnuparticiju. 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 opcijepotrebne 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 tvrdogdiska/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 zbrojasvih 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 slucajuDrive2 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 trenutnoonemogucena. 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 (tipkaEnter).

U slijedecem prozoru može se uociti particija, i puna putanja na koju ce biti spremljena pricuvna kopija ( Currentpath na donjem dijelu prozora). U ovom trenutku je dovoljno samo poceti upisivati ime pricuvne kopije particijeTinyCore ( za ovaj primjer ce biti upisano ime TinyCorecore, u kojem oznaka “core” oznacava samo particiju nakojoj 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 visokekompresije (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 datotecinalazi particija oznake TinyCore, velicine 258MB (zauzece particije 1MB) te FAT32 datotecnog sustava. Još jednomprovjeriti 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 otvrdom 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 kojuce 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 heksadecimalnomobliku 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 tvrdomdisku (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. SecurityIDentifier), te se sve odluke o pravima pristupa nekom objektu postavljaju prema tom broju, a ne prema korisnickomimenu (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 slijedeca4 primjera:

• standardni Administrator korisnicki racun ( stvara se prilikom instalacije sustava , te je automatski onemogucennakon stvaranja)

• prvi korisnicki racun stvoren od strane korisnika tokom instalacije (automatski nasljeduje administratorskaprava, dakle prvi administratorski racun u sustavu)

• SYSTEM korisnicki racun ( stvara se prilikom instalacije sustava , ima najviše privilegije od svih racuna, noradi 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 sviminstalacijama 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 identificiradomenu

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 racunaili 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 operacijskogsustava

• Sigurnosna prava na neki objekt se primjenjuju prema SID vrijednosti, a ne prema korisnickom imenuili 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. Iztog razloga, prvi korisnicki profil koji se stvara od strane korisnika (postavke nakon instalacije) dobiva administratorskaprava, odnosno postaje dio Administrators grupe. Taj korisnicki profil ce imati RID vrijednost od 1000 i za svakogslijedeceg 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 jeukljucen pregled prema kategoriji) ili “User Accounts” (u slucaju da je ukljucen pregled samo ikona). Mogucnosti suprikazane na slijedece dvije slike.

U otvorenom prozoru je standardno prikazan izbornik za promjenu opcija trenutno prijavljenog korisnika, te jepotrebno 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. Razlikaje u tome što ce administrator imati dodatnu pripadnost Administrators grupe uz standardnu Users grupu. Na ovoje 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 ComputerManagement konzolu, “Local Users and Groups” izbornik. U “Users” izborniku je moguce vidjeti kojim grupamapripada svaki specificni korisnik, dok se u “Groups” izborniku može vidjeti koji sve korisnici pripadaju odabranojgrupi. 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 prikazpripadnosti grupama. Na slijedecem primjeru jasno je prikazana pripadnost grupama korisnika stvorenih u prošlomkoraku. 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 slijedecojpoveznici :

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 zadnjemprozoru pomoc u slucaju da se korisnik ne može sjetiti lozinke (eng. Hint). Upisane lozinke su osjetljive na velika imala 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 korisniklakš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 pricuvnekopije.

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 sespremiti 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 susvi stvoreni korisnicki racuni. Za razliku od prikaza u Control Panel izborniku, ovdje ce biti prikazani i onemogucenikorisnicki racuni (npr. Administrator je stvoren i onemogucen automatski tokom instalacije sustava). Onemoguceniracuni 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 moguprimijetiti dvije naknadno stvorene grupe “Gosti” i “Korisnici”. Pojednostavljeno, grupe su jedna vrsta kontejnera ukojem se nalaze clanovi, te postavljanje odredenih prava ili zabrana na neku datoteku ili direktorij automatski vrijediza sve clanove te grupe, te je u tu svrhu olakšana administracija. U sustavima sa puno korisnika, grupe su jedna odmetoda stvaranja odredene logicke hijerarhije korisnika i njihovih prava.

Za stvaranje novog korisnika, potrebno je odabrati podizbornik “Users” te u padajucem izborniku prozora odabratiopciju “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 nasustav

• 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 (jedanprimjer 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 jekorisnik zaboravio svoju lozinku, te ju je potrebno resetirati (samo korisnici sa administratorskim ovlastima mogu tonapraviti). Nakon što je stara lozinka resetirana, administrator upisuje neku novu koja je poznata i administratoru itom korisniku. U toj situaciji se ukljucuje opcija obveze promjene lozinke, kako bi novu lozinku poznavao samo tajkorisnik.

Onemogucavanje racuna je opcija koja se koristi ,za primjer, u situacijama gdje korisnik samo privremeno svake godinetreba imati mogucnost pristupa sustavu. Kada bi se svaki put brisao korisnicki racun, i stvarao novi (cak i sa identicnimkorisnickim imenom) , treba se sjetiti kako svaki put stvara novi SID broj, te je potrebno svaki puta konfigurirati pravaza tog korisnika, što je administracijsko opterecenje. U tu svrhu je kvalitetnije rješenje samo privremeno onemogucitiprijavu korisnika u sustav. Nakon ukljucivanja navedene opcije, korisnicko ime više nece biti prikazano u popisuprilikom prijave u sustav.

Za stvaranje nove korisnicke grupe, potrebno je odabrati podizbornik “Groups” te u padajucem izborniku prozoraodabrati opciju “Action->New Group. . . ”. Drugi nacin je desnim klikom miša kliknuti na praznu površinu sa popisomkorisnika, i zatim odabrati opciju “New Group”.

U otvorenom prozoru potrebno je navesti podatke o novoj grupi, te eventualno dodati željene clanove u grupu (opcijaAdd). 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 primijetitikoje 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 sigurnosniidentifikator 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 svihgrupa 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 nalazii identifikacijski broj racunala ( broj 3052370195-1277775261-3487442991), te je njihov RID veci od 1000. Ostalegrupe imaju drukciji SID broj te je potrebno identificirati pripadnost i tip navedenih grupa. Za to je potrebno ispisatipopis 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 clanovistvaraju tokom same instalacije operacijskog sustava i njihov opseg identifikacije vrijedi iskljucivo za taj operacijskisustav.

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 sdruge 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 dodatanidentifikacijski 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 slijedecemprimjeru:

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,odnosnozadržati, datoteke i direktoriji korisnika koji se briše sa sustava), ovdje se ne pojavljuje mogucnost spremanja strukturekorisnickog profila, vec upozorenje vezano uz SID broj. Ta problematika opisana je nedavno u tekstu kroz podrucjeonemogucavanja 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 obrisanogkorisnika, moguce je vidjeti kako sve ovlasti ima nepoznati korisnik (bez korisnickog imena). U popisu je prikazansamo SID tog nepoznatog korisnika, no radi se zapravo o SIDu obrisanog korisnickog racuna. Iz tog razloga, novikorisnici ne mogu preuzeti vec postojece SID brojeve na sustavu, odnosno SID brojevi se ne mogu ponovno koristitiza 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 jeucenje korištenja kombinacija naredbi u pocetku kompleksniji od istog zadatka grafickom sucelju, mogucnosti suvece. Isto tako, proces je moguce jednostavno automatizirati kroz skripte, te kasnije (uz eventualne modifikacije) isteskripte 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 osnovnaseta 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 korisnickiracuni i grupe su isto tako zapravo mrežni objekti, iako su cesto ograniceni na lokalna racunala. U kontekstu ovogpodrucja 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 oodredenom 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 moguceza 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 selozinka 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 usustavu.

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 objektpretraž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 <assign list>

NOTE: <assign list> 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 tekstate 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 gdjeje potrebno postici neke željene radnje sa aplikacijama s kojima nisu dosad imali iskustva (ili su zaboravili tocanpostupak), iznimno je bitno nauciti metode kako je moguce pomoci sam sebi, te samostalno otkriti nove funkcije imogucnosti aplikacija.

Predradnje

Potrebno je imati pokrenut virtualni stroj (ili fizicki stroj, ovisno o okolini u kojoj se nalazi korisnik) sa odabranomLinux distribucijom (baziranom na Debianu). Korisnik treba biti uspješno prijavljen na sustav, te pokrenuti nekuaplikaciju 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 ipunom 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štenjemanpage aplikacije. (man man)

4. Izvježbati kretanje unutar manuala (isprobati svrhu navigacijskih tipki, page up down tipki, space). Uocitipodjelu manuala na kategorije (NAME,SYNOPSIS,DESCRIPTION. . . ). Detaljno procitati DESCRIPTIONdio za upoznavanje sa svrhom aplikacije, posebno obratiti pozornost na brojeve sekcija i njihov opis. Izaci izmanpage aplikacije ( tipka q).

5. Pozvati manpage za aplikaciju passwd ( aplikacija služi za izmjenu lozinke korisnika, man passwd). Uocitina vrhu zaslona kod imena aplikacije dodatan broj upisan unutar zagrade, on oznacava sekciju unutar koje jekategoriziran. Navigirati skroz do dna manpage dokumenta, do odjeljka „SEE ALSO“, te uociti još jedanmanpage 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 -kmkdir).

7. Ponoviti prošli zadatak, no ograniciti pretragu samo na željene sekcije 1 i 5 (prouciti svrhu opcije -S, primjerkorištenja man -S 1,3,7 -k mkdir). Uociti kako se u rezultatima nalazi i manpage za passwd izsekcije 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 ticese 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 navestiopcijom (prouciti svrhu opcije -a, primjer korištenja man -a -w mkdir).

10. Otvoriti manpage dokument direktnim pozivanjem na datoteku. (primjer korištenja manpuna\_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 primjerekoriš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šnihili konfiguracijskih datoteka, te servisa.

11. Postaviti korijenski direktorij kao radni direktorij, te prikazati njegov kompletan sadržaj (prisjetiti se kako susakrivene 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 datotekaprikazanom u ljudski citljivom obliku.

13. Iz korijenskog direktorija prikazati sadržaj Documents direktorija korisnickog /home direktorija. Upotrebomkombinacije 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 datotecnihsustava). Korisnik ce uspješno dodati novi virtualni tvrdi disk, particionirati ga, te postaviti razlicite datotecne sustavena particije. Zatim ce uspješno podici novostvorene particije (u obliku samo za citanje, a zatim i sa mogucnošcuzapisivanja 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 prijavitiu 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 brojdiska i 55AA).

5. Pomocu fdisk aplikacije, na novostvorenom MBR sektoru stvoriti dvije 512MB particije. Tip datotecnogsustava 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, opcijaverbose)

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štoje 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 IDkorisnika 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 podignuteunutar 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 odabranomLinux distribucijom (baziranom na Debianu). Korisnik treba biti uspješno prijavljen na sustav, te pokrenuti nekuaplikaciju 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 ukasnijim 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 prethodnenaredbe). Objašnjenje :

a. real stavka prikazuje ukupno trajanje procesa ukljucujuci i vrijeme blokiranja procesa (npr. dok cekaizvršavanje I/O operacija)

b. user stavka prikazuje ukupno vrijeme korištenja procesorskih resursa u tzv. “user-mode” nacinu rada. Ovoje 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. Uovo vrijeme ulaze operacije kao što su sistemski pozivi.

4. Prikazati vizualnu strukturu korijenskog direktorija koristeci tree naredbu, ali samo prvu razinu u dubinistrukture (opcija -L, procitati man naredbe tree za opis opcije)

5. Prikazati vizualnu strukturu korijenskog direktorija, ovaj puta prikazati dvije razine u dubini strukture. Ponovitizadatak, 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 idatoteka

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 direktorijakorisnika)

d. Kombinacijom osnovnog home direktorija i upotrebom varijable koja predstavlja trenutno prijavljenogkorisnika (/home/ + IME_KORISNIKA)

Tip: Za prikaz svih varijabli okoline mogu se koristiti naredbe env ili printenv (dvije razlicite aplikacije, no saslicnom/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 direktorijatrenutno prijavljenog korisnika).

9. Prebaciti se u Documents direktorij (unutar home direktorija trenutno prijavljenog korisnika) upisivanjem puneputanje. (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 apsolutnojputanji. Ako prvi znak ne sadrži /, podrazumijeva se da se želi pozvati direktorij u trenutno radnom direktoriju (naprimjer 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ževidjeti 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, teza argument upisati znak “.”. Što se dogodilo (provjeriti ispisom radnog direktorija)? Ponovno pozvati naredbuza 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 direktorijvece 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 kojapocinju sa upisana dva slova Do, “Documents” i “Downloads”), nakon dva pritiska TAB tipke, prikazat ce se svamoguca 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 znacajkavrijedi 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 pozivomnaredbe 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 naredbels) ?

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, azatim dodati -alh opcije, te uociti razlike. Što predstavljaju datoteke i direktoriji koji pocinju sa tockom (neubrajajuci 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žeuociti?

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 unutardrugog, kao u jednom od prethodnih primjera). Zadatak je potrebno riješiti jednim pozivom naredbe mkdir, tekoriš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 potrebnoriješ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 uodnosu 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 koristitiime jednog direktorija unutar home direktorija prijavljenog korisnika (koristiti grep naredbu, rekurzivno, na temeljuprvog 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šavanjenaredbi 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 zadatkaje 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 koristecinaredbu “touch” te kao argument zadati ime datoteke ( naknadno prouciti manpage naredbe touch). Uvjeritise 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 pozivanjeizbornika 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. casesensitivitiy) (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 saF12, 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 judržati). Opcija se aktivira kombinacijom ALT+SHIFT+R (sve držati pritisnuto) ili ESC,SHIFT+R (ESC jednompritisnuti, 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štanavesti datoteku Vaznije.txt, no koristiti i opciju “-i” (prouciti svrhu opcije). Što se dogodilo? Koja je svrhaopcije?

16. Pomocu naredbe touch stvoriti novu datoteku imena Prvoaprilska_Sala.txt te rucno izmijeniti datum i vrijemeizmjene (eng. modify) te datoteke za 01. Travnja 2017. godine u 15:35 sati (prouciti opciju –t). Provjeritidetalje 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 35dana 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 docikompleksnijom 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 mogucevidjeti 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 uslijedecem 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 5dana unazad od današnjeg dana.

19. Prouciti manpage naredbe rm, poglavito opcije -i, -I (veliko i slovo), -r, -f i -v. Unutar direktorija ~/Documentsstvoriti novi direktorij s imenom “OBRISATI”. Premjestiti datoteke TestnaDatoteka.BKP i TestnaDatoteka.txtu direktorij OBRISATI.

20. Obrisati datoteku Vazno.txt

21. Obrisati datoteku Vaznije.txt, no upotrijebiti opciju za potvrdu od strane korisnika prije brisanja i detaljnomprikazivanju postupka.

22. Pokušati obrisati direktorij OBRISATI ne koristeci nijednu opciju. Što se dogodilo? Prouciti koju je opcijupotrebno koristiti za brisanje direktoriju, te ju upotrijebiti (dodatno upotrijebiti i opciju o detaljnom prikazivanjupostupka).

NAPOMENA : Upotrebom naredbe rm, datoteke (i direktoriji) se brišu bez mogucnosti oporavka. U komandnojliniji ne postoji rješenje poput “Recycle Bin”,

23. Prouciti manpage naredbe find. (NADOPUNITI TOCNE OPCIJE PROUCAVANJA PREMA SLIJEDECIMZADACIMA)

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 ustrukturi. (find /etc -maxdepth 1)

26. Pomocu naredbe find pretražiti sve datoteke sa imenom “passwd” unutar /etc direktorija. ( Ne obracati pažnjuna 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 -inamepasswd)

30. Pomocu naredbe find prikazati sve direktorije (prouciti opciju -type) unutar /etc direktorija, no ograniciti se napretraž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 ogranicitipretraž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 atributdatoteke vidljiv) (find ~/Documents/ -mtime +3)

33. Pomocu naredbe find prikazati sve datoteke unutar ~/Documents direktorija, koje su starije od 35 dana, tepretragu 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. Ponekadje 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, odnosnoupisati “\;”. 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 datotekeprethodno 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 mogucezastarjelim 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 suizvrš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 kombinacijomCTRL-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. Ispisatisadrž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, diokoji 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 upopisu sadrži i oznaku “..” koja upucuje na prethodni direktorij u strukturi. Cak i korijenski direktoriju sebi sadrži dvije oznake, kao što je vidljivo na slici ispod. Ono što je specificno za korijenskidirektorij 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 izprošlog zadatka, sukladno imenima.

5. Stvoriti 3 simbolicke poveznice sa imenima SLkopirati, SLpremjestiti i SLobrisati, te ih povezati sa datotekamaiz 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žezakljuciti?

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 Inodebroj kopirane datoteke? Je li se promijenio koji atribut sa postojecim datotekama u direktoriju LINKANJE (brojcvrstih poveznica, Inode broj)?

9. U datoteku kopirati.txt upisati svoje prezime. Što se promijenilo sa velicinom datoteka kopirati, HLkopirati iSLkopirati?

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 datotekeSLpremjestiti.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 semož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 prijenavedenog znaka smatrati jednom naredbom, a nakon znaka nekom drugom naredbom, pa sve do slijedecegznaka ; (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šetkuprethodne. Bitno je naglasiti kako slijedeca radnja ne ovisi o uspješnom pokretanju prethodne, vec je bitnosamo da se proces dovrši.

Jedina naredba koju bi bilo dobro objasniti je echo -en “\n”. Naredba echo služi za ispis nekog teksta nastandardni izlaz, dok opcija -e služi za raspoznavanje i interpretaciju backslash znakova \ (podsjetiti se cemusluž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žena 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šnostiprve. 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 sumoguce razlicite vrijednosti, završetak programa ce najcešce rezultirati vrijednošcu 0 (ako je program izvršenbez grešaka) ili 1 (ako je program neuspješno izvršen). Opcenito gledajuci, svaki završetak programa sa izlaznimkodom 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 naredbipovezano 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 najboljeprikazana 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 standardniizlaz.

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 prvouociti? Treba li korisnik cekati završetak procesa?

POMOC: Dugotrajni zadaci se cesto preusmjeravaju u pozadinsko izvršavanje. Radnja se postiže upisivanjemznaka & nakon naredbe procesa. Zadatak se u tom trenutku odvaja od ljuske (eng. fork), te dobiva svoj zasebnibroj zadatka (eng. job number) i poseban broj procesa (eng. PID, Process ID). Za pregled aktivnih zadataka sekoristi 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 prekidanjeizvršavanja zadatka, koristi se naredba kill, sa argumentom rednog broja zadatka ili broja procesa. Svi primjerisu 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. Bitnoje 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 asinkronogtipa (sinkroni zadaci ovise o prethodnima). Slijedeci primjer ce prikazati pokretanje 3 pozadinska procesa sarazlicitim vremenima izvršavanja, te se može primijetiti kako se prvo završavaju zadaci sa najkracim vremenomizvrš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žajkorijenskog 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 sedogodilo sa procesom nakon pauziranja? Vratiti nazad proces u prvi plan.

POMOC: Ako se trenutno aktivan proces želi preusmjeriti u pozadinu, potrebno ga je pauzirati kombinacijomtipki CTRL-Z, te naredbom bg (eng. BackGround) poslati u pozadinsko izvršavanje. Suprotna radnja se postiženaredbom 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), nobiti 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 novihizazova.

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 jebitno raspoznati tri prava pristupa : citanje (eng. read), pisanje (eng. write) i pokretanje (eng. execute). Da bidatoteka bila izvršna, mora imati aktiviran eXecute bit u pravima. Svaka datoteka ima 10 zastavica, od kojihprva 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 (vlasnikdatoteke, 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, odnosnokorisnik/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 standardnojdatoteci (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 pravoizvrš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 informacijeprouciti 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 navedenomputanjom 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 jeime trenutnog direktorija vec spomenut znak tocke ., potrebno je dodati oznaku / da se radi o direktoriju inakon 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 jerezultat?

POMOC: Izmjena prava pristupa neke datoteke vrši se pomocu naredbe chmod (prouciti manpage naredbe chmod). Postoje razlicite mogucnosti na koji nacin je moguce izmijenitiprava 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) ia(eng. all, dozvola utjece na sve korisnike i grupe). Nakon slova se bez razmaka upisuje znak plusa iliminusa za postavljanje, odnosno ukidanje dozvole. Zadnji korak prije unosa datoteke/direktorija na kojuce 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 datotekudatoteka.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 dovoljnonavesti 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 znakoviza 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. Ukupnavrijednost u oktalnom sustavu je 7, i to sa zbrojem 4+2+1. U ovom slucaju se radi o zbrojur(4)+w(2)+x(1), zato je praksa uvijek i spominjati dozvole u ovom redoslijedu.

OKTALNO DOZVOLA0 —1 –x2 -w-3 -wx4 r–5 r-x6 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šavanjaza grupu korisnika i ostale korisnike

6. Nadopuniti skriptu prvi_primjer.sh tako da izgleda prema tekstu ispod. Ponovno pokrenuti skriptu. Što sedogodilo? 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. Nacinizvodenja je po volji korisnika, no pokušati riješiti u što manje linija (poželjno u samo jednoj). Ponovnopokrenuti skriptu, te zapisati sve eventualne poruke o greškama. Uociti ujedno i je li direktorij Alice obrisan. Uslucaju 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 trebalaizgledati 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 selinija 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 jesaznati na kojoj je liniji najvjerojatniji problem.

PRIMJER: Za primjer se koristi prethodna skripta koja bi nakon stvaranja direktorija i datoteke, trebala obrisatiiste.

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 deepthis rabbit hole goes.’ Welcome to wonderland. Let’s continue to see how deep this rabbit hole goes. + mkdirAlice 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 naredbaza vracanje u prethodni direktorij.

RJEŠENJE: Ili je potrebno koristiti pune putanje direktorija, ili je potrebno dodati naredbu za vracanje uprethodni direktorij.

9. Izmijeniti postojecu skriptu na nacin da se uvedu varijable umjesto imena direktorija i datoteke. U skripti sepozivati 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žeunosom znaka $ i odmah iza tog znaka unos imena varijable. Imena varijabli se cesto pišu velikim slovimakako 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 jeispod.

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, vecce 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 odznamenke 1. U tu svrhu se koriste Prilikom poziva na varijablu, prvo ce se izvršiti naredba, te ce seprikazati 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 standardnihzagrada

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 jenovi_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. builtincommand), ne postoji poseban manpage za nju, vec je potrebno otvoriti manpage od naredbe bash, tepretraživati cijeli tekst. Jednostavniji nacin je korištenje naredbe help. Pozivanjem same naredbe cese ispisati popis svih ugradenih naredbi bash ljuske (sa kratkim opisom korištenja). Za detaljan prikazpomoci neke specificne naredbe, potrebno je pozvati naredbu help, te kao argument upisati željenunaredbu (u ovom slucaju read).

PRIMJERI:

ids@ids2 ~/bash_skripte $ read var;echo $var # Jednostavan primjer traženja unosa korisnika, spremanja uvarijablu 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: DeadPoolDeadPool

ids@ids2 ~/bash_skripte $ read -sp ‘Upiši još kojeg heroja: ‘ superheroes;echo;echo $superheroes # Jednakprimjer kao i prethodni uz dodatak da je unos korisnik skriven i ne prikazuje se na zaslonu Upiši još kojegheroja: Aquaman Wonderwoman Hulk

ids@ids2 ~/bash_skripte $ read -t 10 -p ‘Upiši zlocinca unutar 10 sekundi: ‘ villain; echo $villain # Zahtjev zaunosom od strane korisnika uz dodatnu poruku i vremensko ogranicenje za unos (10 sekundi) Upiši zlocincaunutar 10 sekundi: Joker Joker

12. Napisati skriptu koja ce :

• Unutar direktorija /home/KORISNIK stvoriti direktorij backup_skripti (direktorij unijeti kao parametarskripte)

• 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 inovi_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 vrijednostuspješ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 onjima 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. iffunction, ), te petlje (eng. for loop).

Zadaci:

1. Iz komandne linije provjeriti je li proizvoljno upisan broj jednak broju 10. U pozitivnom slucaju prikazati porukuna na zaslonu “Brojevi su jednaki”.

POMOC:

Funkcija uvjetovanja služi za provjeru razlicitih uvjeta (postoji li neka datoteka na sustavu, je li broj veci odzadanog, je li skup znakova jednak zadanom skupu, itd). Ovisno o rezultatu te provjere, moguce je izvršitiodredene željene radnje. Sa korištenjem te funkcije, skripte pocinju poprimati odredenu kompleksnost jer jepotrebno raditi odluke ovisno o rezultatima.

OPCENITA SINTAKSA:

Osnova sintaksa naredbe pocinje sa navodenjem funkcije if, te zatim nekih uvjeta u uglate zagrade [ ] (Izmeduobje zagrade i uvjeta mora postojati razmak. Nakon provjere radnje je potrebno unijeti aktivnost then i željenuradnju 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 iznimkapravilu za ostale interne naredbe, postoji manpage za test naredbu (no moguce je pristupiti pomoci preko helpnaredbe). Naredba test provjerava zadani uvjet, te ovisno o rezultatu daje 0 (Provjera je pozitivna) ili 1 (Provjeraje negativna) kao status izvršnog koda. Postoji mnogo razlicitih uvjeta (procitati manpage naredbe test), no bitice 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 nemanikakvu vrijednost (eng. Zero characters)

-n skup_znakova # Provjera je li neki skup_znakova zapisan, odnosno definirana varijablaima 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 pozivaskripte. Ako parametar uopce nije naveden, upozoriti korisnika da mora unijeti parametar, te zatim automatskiprekinuti 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, tenovu 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 dapostoji, 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, javitisa prikladnom porukom, te zatim ispisati popis datoteka u ciljanom direktoriju i prekinuti izvršavanje skripte uzzapis 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. Pritomje 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 naredbutest. 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, osimstandardnih . i .. direktorija). Argument $1 je dodan u slucaju ako korisnik želi dodati parametarskripti 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 ovomslucaju prezentirana sa uglatim zagradama) uzima samo jedan argument za testiranje, a prezentiranojoj je 10. Zbog toga je potrebno rezultat naredbe staviti pod navodnike, kako bi se gledao kao jedanskup 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 nekudrugu 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 nekudrugu 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 prijeonemogucavanja 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 izlaznogstatusa koda vrijednosti 1.

7. Nadograditi skriptu tako da se prikaže popis datoteka i njihov ukupan broj u direktoriju backup_skripti. Potrebnoje 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žajdatoteke 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 preusmjeriu 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 STDOUTtip 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 poadresi, 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 porukeo 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 varijabluokruž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 vrijemeizvrš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 prijenego 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 odgovarana ICMP upit,zapisujem u datoteku IP adresa 192.168.70.45 odgovara na ICMP upit,zapisujem u datotekuIP 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 stvorenoju prethodnom zadatku. Nije potrebno preusmjeravati rezultate.

14. Poslati ICMP zahtjev (naredba ping) na prvih 10 adresa unutar mreže. Poslati samo jedan ICMP zahtjev poadresi, 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 nekiodredeni 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 BROJbude 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 izizvoriš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 lokacijeinstaliranih 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 senadovezuje, 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 bitneinformacije. 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 navedenipostupak?

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 SynapticPM sucelja). U koji direktorij je instalirana sama binarna (izvršna) datoteka Zenmap aplikacije(informacija senalazi unutar Installed files kartice)?

6. Pokrenuti Software Manager aplikaciju. Koji je status Zenmap aplikacije u tom sucelju, te mogu li se pronacidetalji o zavisnosti o drugim paketima, ili neke druge informacije koje se nude u Synaptic PM sucelju? Slobodnougasiti Software Manager i Synaptic PM aplikacije.

7. Iz komandne linije prouciti manpage aplikacije dpkg (dovoljno je procitati odlomke NAME i DESCRIPTIONza osnovni opis). Pozvati help od aplikacije dpkg, te saznati koja se opcija koristi za prikaz detalja statusanekog paketa. Pomocu dpkg saznati detalje o aplikaciji zenmap. Sa cime se mogu usporediti prikazani detaljiu 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 imore). Potražiti nalazi li se u popisu Zenmap aplikacija.

POMOC: Dodatak operatorima za redirekciju iz prethodne vježbe je cijevni operator | (eng. pipe). Svrha ovogoperatora 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 standardnenaredbe za filtriranje grep. S obzirom da je definiran filter “backup”, iz cjelokupnog popisa, prikazati ce sesamo one linije koje u sebi sadrže rijec “backup”. Potrebno je napomenuti, bez obzira što je rezultat naredbels prikazan u jednoj liniji, svaka stavka je zapravo zasebna i gleda se kao da se nalazi u posebnoj liniji (što semože provjeriti i kompleksnijim primjerom “ls -alh”, gdje je svaka stavka u zasebnoj liniji). Zadnji primjer se upraksi ne koristi na taj nacin, te je stavljen samo kao pokazni primjer preusmjeravanja rezultata druge naredbekao 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 samolinija 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) iapt-cache (bitne opcije su showpkg i search). Pomocu naredbe apt-get sinkronizirati lokalnu bazu paketa saonline repozitorijem. Nakon sinkronizacije, upisati naredbu za nadogradivanje verzije paketa, no NE nastaviti sanadogradnjom, vec prekinuti proces nakon ponude. Koliko paketa je moguce nadograditi, i koliko je potrebnopodataka preuzeti sa interneta?

12. Pomocu naredbe apt-cache pretražiti bazu za paket sa imenom zenmap. Je li radnja bila uspješna? Prikazatidetalje 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 instaliratipaket 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-cachekombinacija još uvijek najcešca u primjeni (ujedno i razlog zašto se koristi u ovoj vježbi), korisnika sepotice 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 mogucnostpreuzimanja u obliku izvornog koda i prethodno kompajlirane izvršne (binarne) datoteke. Koja je razlika izmedunjih dvoje?

17. Odabrati preuzimanje u obliku izvornog koda. Koja je razlika izmedu Stable i Development verzija? Kojaverzija 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 prikazaneu 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 sekorisnik uvjerio da sadržaj nije izmijenjen od trece strane. Provjera se najcešce sastoji ili od klasicneprovjere 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 funkcijaMD5 algoritma, te se kao proizvod dobije 128 bitna vrijednost (16 znakova). Prilikom preuzimanjate datoteke, ponovno se izvrši MD5 hash funkcija, te se usporedi sa postojecom vrijednošcu. Akopoklapaju, 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 javnikljuc 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). Kojidetalji 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, dovoljnoje reci kako se cijeli sustav temelji na povjerenju u neku trecu stranu. U ovom slucaju, korisnik vjeruje uautenticnost javnog kljuca autora.

23. Nakon provjere integriteta arhivske datoteke, raspakirati htop-x.y.z.tar.gz datoteku, te postaviti novostvorenidirektorij kao radni direktorij. Ispisati sadržaj novog direktorija. Koje ekstenzije imaju vecinski broj datoteka udirektoriju? Š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 instaliraostale potrebne pakete. To je ujedno i osnovna boljka rucne instalacije, zbog koje se uglavnom preporucujeinstalacija vec pripremljenih paketa, pomocu nekog automatiziranog sustava (apt,apt-get. . . ). Kod svakerucne instalacije, moguci su odredeni problemi, u kojima korisnik sam treba zakljuciti što je potrebnoizmijeniti 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 jeinstalirati paket libncursesw5-dev, te ponoviti proces konfiguracije.

26. Nakon uspješne konfiguracije (bez grešaka i upozorenja), potrebno je izgraditi binarne datoteke iz datoteka saizvornim kodom. Dovoljno je samo upisati naredbu make.

27. Zadnji korak u procesu je prebacivanje izvršnih datoteka u potrebne direktorije, uglavnom /usr/local/bin. Processe aktivira naredbom make install. Ima li kakvih grešaka, vezano uz dozvole? Kako bi se mogao riješiti tajproblem?

28. Provjeriti lokaciju instalacije aplikacije htop (naredba which). Pokrenuti aplikaciju htop kako bi se potvrdilauspješ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? Cemusluž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 pokrenutihprocesa 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 grupeadm.

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 nemaovlasti? 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? Potvrditinastavak 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 jevlasnik 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 rucnonapraviti. Da bi prijava bila uspješna, korisnik mora imati i vlasništvo nad tim direktorijem. Vlasništvonad datotekama i direktorijima se mijenja pomocu naredbe chown. Potrebno je napomenuti kako seprilikom 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 sune upiše nijedan argument? Pomocu naredbe su prijaviti se u ljusci kao korisnik superman. Koja je vrijednostvarijable 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 korisnikasuperman? 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 korisniksuperman? Odjaviti se iz aktivne ljuske korisnika.

13. Prouciti manpage naredbe usermod (bitne opcije su : -a, -G, -s, -L -e 1, -l). Promijeniti aktivnu ljusku korisnikusuperman u bash umjesto sh. Dodati korisnika u grupe adm, users i audio. Provjeriti u kojim grupama sekorisnik nalazi? Dodatno ga uclaniti u grupu video. Koju opciju je potrebno koristiti za tu radnju, ako se železadrž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 implementacijai 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 implementacijaje 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šatise prijaviti kao taj korisnik. Što se dogodilo? Ponovno provjeriti informacije za superman korisnika. Što setocno promijenilo u odnosu na prvotne rezultate? Otkljucati korisnika.

15. Prouciti manpage naredbe adduser. Stvoriti korisnika ironman pomocu naredbe adduser (ne koristiti nikakvedodatne opcije). U cemu se razlikuje postupak izmedu korištenja useradd i adduser naredbi? Ponovno stvoritiproizvoljnog korisnika, no koristiti opciju debug. Što se može zamijetiti u procesu stvaranja korisnika naredbomadduser? Pokušati se prijaviti kao ironman korisnik. Je li radnja uspješna? Odjaviti se i prijaviti kao korisniksa administratorskim ovlastima.

16. Prouciti manpage datoteke passwd (navesti 5. sekciju za prikaz). Prouciti znacenja polja za korisnike. Procitatidodatno objašnjenje za lozinke korisnika. Na zaslonu prikazati sadržaj datoteke /etc/passwd, te filtrirati da seprikažu samo informacije za korisnika superman. Što je zapisano u polju za lozinku korisnika? Koje je znacenjetoga? Prouciti manpage datoteke shadows, te zatim na zaslonu prikazati sadržaj datoteke /etc/shadow. Koje suinformacije zapisane u toj datoteci?

17. Pokrenuti sucelje za izmjenu prozora prijave korisnika (Login Windows Preferences). Postaviti MDModerntemu kao standarnu prilikom prijave.

18. Izmijeniti ~/.bashrc datoteku na nacin da se doda kod koji ce u svakom novom prozoru terminala ispisati iznadprompta (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 naredbufree)

PROUCITI SVRHU DATOTEKA (kratki opis se može naci u manpageu bash ljuske, kategorijaFILES 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 cespremiti pricuvnu komprimiranu kopiju home direktorija korisnika superman (spremiti u BACKUP direktorijadministratorskog korisnika), te zatim obrisati i samog korisnika.

21. Prouciti manpage bash ljuske, poglavlje PROMPTING. Prikazati vrijednost varijable okruženja PS1. Kojufunkciju obavlja ta varijabla? Koji se dijelovi varijable mogu prepoznati od onih koji su vec pojašnjeni uPROMPTING poglavlju?

NAPOMENA: U slucaju da dio varijable PS1 zauzima podrucje sa chroot definicijama, znacenje prouciti naslijedecoj 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 ponudenihpoveznica, 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 izgledaprompta, 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 pokretanjaskripte).

24. Napisati skriptu koja ce provjeriti postoje li nove e-mail poruke na Gmail racunu. U slucaju da postoje, izmijenitiizgled prompta, u kojem ce se prikazati neka poruka o novim porukama. U slucaju da nema novih poruka, vratitistandardni izgled prompta. Korisnicko ime upisati kao parametar prilikom pokretanja skripte, a lozinku kao unosza 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 sepreuzimaju i prikazuju u xml obliku. Broj novih e-mail poruka nalazi se unutar <fullcount> 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, skriptace uspješno izmijeniti izgled prompta, no nakon završetka kontrola se vraca originalnoj ljusci i procesu, saprethodno definiranim izgledom prompta. Rješenje problema je tzv. “source scripting”, odnosno, pokretanjeskripte 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žnasucelja su prikazana? Što znace kratice Ethx (x zamijeniti sa prikazanim brojem ili brojevima) i Lo? Koja jesvrha Loopback mrežnog sucelja?

2. Zapisati IP (verzija 4) adrese dodijeljene mrežnim suceljima, zajedno sa pripadajucim mrežnim maskama.Prema MAC adresi saznati proizvodaca mrežnog sucelja. Tko je proizvodac kada se radi o virtualnim stro-jevima?

3. Prouciti manpage naredbe ethtool (ako je potrebno, instalirati potreban paket na sustav). Koja opcija se koristiza dobivanje informacija o upravljackom programu koji se koristi za upravljanje mrežnim suceljem? Saznatikoji su upravljacki programi ucitani za svako mrežno sucelje na sustavu? Ima li Loopback mrežno sucelje ucitanupravljacki 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 adresesvih 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, vecneko vrijeme je ideja da ga se zamijeni sa novim paketom iproute2 (u koji spada i vec korištena naredbaip). U izvorima ispod nalazi se tekst sa opisom situacije i razlozima prelaska na novi paket, te primjerimakoriš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 funkcijupomocu 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 razlicitimkarticama (eng. tab) prikazati ARP tablice pomocu arp i ip naredbi. Na koji nacin se prikazuju stavke IP adresakoje ne odgovaraju na ICMP upite (iz obje tablice)? Kakvo znacenje imaju zastavice statusa (ARP tablicapomocu 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žeuociti? 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, usmjernickei arp tablice. Koliko stavaka ima u arp tablici? Objasniti svojim rijecima razlog. Koliko ima stavaka u routingtablici? 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. Pratitistanje na prvoj kartici. Što se može uociti? U kojoj situaciji se pojavljuje status FAILED? Što znaci statusSTALE (originalno je status bio REACHABLE)?

13. Ispisati sadržaj arp tablice. Isprazniti sadržaj arp tablice pomocu ip link set naredbe (potrebno je deaktivirati iponovno aktivirati). Nakon deaktivacije tablice, prouciti sadržaj ip link naredbe za aktivno mrežno sucelje. Štose 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 tipkonfiguracije

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 postavkesucelja. Ima li promjena? Što se dogodilo sa starim postavkama? Ponovno pokrenuti racunalo i provjeriti IPpostavke. Š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 suceljekoristeci ifup naredbu (koristiti verbose). Može li se uociti proces dinamickog dodjeljivanja adresa? ProvjeritiIP 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 dhclientosloboditi trenutnu adresu u najmu (koristiti verbose opciju), te ponovno zatražiti novu adresu. Ima li promjenau 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 direktorijasa 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 znakne interpretira,odnosno da ga shvati doslovno, je vec navedeni backslash. U ovoj konkretnoj situacijiznaci 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 velicinadatoteke u KiB? Opisati ukratko funkciju svakog zapisa vremena : Access, Modify i Change. Preuzeti tudatoteku 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 idalje 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 konfiguriratikorisnicke 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 konfiguracijskedatoteke koju koristi samba paket. S obzirom na kompleksnost vec postavljene konfiguracijske datoteke (nemasmisla 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 saistim 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 liradnja 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 guestonly = yes browsable = yes

23. Ponovno pokrenuti samba servis i još jednom se pokušati povezati na dijeljeni direktorij? Zašto je bitnoponovno pokrenuti servis nakon izmjene konfiguracije?

24. Prouciti osnovne informacije manpage naredbi netstat (dio net-tools paketa) i ss (dio iproute2 paketa). Pokrenutinaredbu ss bez dodatnih argumenata. Mogu li se išcitati i prepoznati neke poznate informacije? Koji tipovikomunikacije (stupac NetId) su prikazani. Koja je razlika izmedu Unix socketa (u_str, u_seq, u_dgr) i TCP/UDPsocketa? Koja stanja su prikazana (stupac State) i koje je njihovo znacenje (opis svih stanja priložen je napoveznici)?

NAPOMENA: Iako je netstat i dalje u dokumentacijama vrlo popularan alat, zamijenjen je sa modernijomimplementacijom 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 brojaportova u poznata imena usluga (port 80 ce biti prikazan kao http). Mogu li se prepoznati portovi sambaservisa?

26. Prikazati samo ipv4 tcp veze (iskljuciti prevodenje imena usluga), te prikazati koji procesi koriste otvorenesockete. Filtrirati samo one veze kojima je vlasnik proces samba paketa (saznati koje je tocno ime procesa). Nakojim 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 jestanje 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 ( iklijenta 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 susjednoracunalo. Što se dogodilo? Koje je znacenje poruke? Odraditi korake prema preporuci iz poruke i pokušatiponovno. Je li radnja uspješna? Što se može zakljuciti? Isprobati što ce se dogoditi ako se na racunalu (na kojese 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 potrebnostvoriti (ako vec ne postoji) datoteku ~/.ssh/authorized_keys, te joj postaviti dozvole 600 (rw,-,-). Na straniklijenta 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 datotekasadrži privatni kljuc, a koja javni?

32. Prekopirati potpun sadržaj datoteke javnog kljuca korisnika u datoteku authorized_keys na ssh poslužitelju (cijelisadržaj mora biti upisan u jednoj liniji u datoteci). Pokušati se povezati sa klijenta na ssh poslužitelj. Je li bilopotrebno upisivati lozinku prilikom povezivanja?

33. Na ssh poslužitelju stvoriti novog korisnika sshwsxy (xy zamijeniti sa brojem radne stanice). Pokušati se sklijenta povezati koristeci identitet novog korisnika. Je li radnja bila uspješna? Je li moguce povezati se bezkorištenja lozinke korisnika? Zašto? Odraditi postupak kako bi se mogla izvršiti prijava pomocu kljuceva, teprovjeriti 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, terucno pokušati dodati kljuc.

PRIMJER:

yyy@zzz ~/.ssh $ ssh [email protected] Agent admitted failure to sign using the key. [email protected]’s password:

ids@ids2 ~/.ssh $ eval $(ssh-agent);ssh-add Agent pid 15315 Identity added: /home/yyy/.ssh/id_rsa (rsa w/ocomment)

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 nacinopisati.

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 povezniciwww.google.com. Koji su sve protokoli vezani uz prethodni proces? Što se dogodilo prije samog slanja ICMPzahtjeva, kako je dohvacena ip adresa poslužitelja? Je li izvršen ARP upit? Ako nije, koji je razlog? Što se moranapraviti 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 procesu Wireshark aplikaciji). Tko je odgovorio na upit (identificirati ip adresu)? Na koji port DNS poslužitelja jeposlan 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 pronadenedatoteke, koji su sve poslužitelji konfigurirani? Prouciti manpage konfiguracijske datoteke, koliko je mogucenavesti 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 webposlužitelj www.google.com (pratiti proces u Wireshark aplikaciji). Ima li kakvih odgovora? Zašto? Vratitisadržaj konfiguracijske datoteke u originalno stanje.

39. Prouciti manpage naredbe resolvconf, pronaci koja opcija se koristi za postavljanje više DNS poslužitelja udatoteci /etc/network/interfaces. Postaviti staticku IP konfiguraciju (kao iz prethodnih primjera), te još dodatnoupisati slijedece 3 ip adrese za DNS poslužitelje : 192.168.111.19, 192.168.210.37 i 1.1.1.1 (samo zadnja adresaje 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 prometaje :

• 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 slucajuQueries, 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 lizadnji poslužitelj odgovorio na upit? Koliko je vremena klijent cekao na odgovor prije slanja upita slijedecmposlužitelju?

41. Izmijeniti staticke ip postavke sucelja tako da se prve dvije nevažece ip adrese DNS poslužitelja zamijene sa: ipadresa gatewaya mreže, 193.198.184.130 (CARNet DNS poslužitelj).

42. Prouciti manpage konfiguracijske datoteke hosts i saznati osnovnu svrhu datoteke. U datoteku unijetiwww.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 uocitiDNS 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 ICMPpaketi? Ima li kakvih upita u wiresharku za prevodenjem imena racunala? Mogu li se uociti ICMP zahtjevi iodgovori u Wireshark aplikaciji? Zašto? Ponovno poslati 4 ICMP zahtjeva, no ovog puta imenu racunala dodatidomenu local (npr. mojeracunalo.local). Na koju adresu se sad šalju upiti i ima li kakvih upita za prevodenjemimena racunala? Koji protokol se koristi? Na koju adresu se šalje upit? Kojoj klasi pripada IP adresa? Mogu lise 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). Pronaciodgovor 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žiteljwww.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 zahtjevana 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 slanjaprema 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