{"id":30851,"date":"2019-10-31T21:37:47","date_gmt":"2019-10-31T18:37:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1\/"},"modified":"2019-10-31T21:37:47","modified_gmt":"2019-10-31T18:37:47","slug":"virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","title":{"rendered":"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pozdrav svima! Nastavljamo s pokretanjem novih te\u010dajeva prema onim koje ste ve\u0107 zavoljeli i sada vam \u017eelimo javiti da zapo\u010dinjemo novi upis za te\u010daj <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/gbcl\/\">\u201eAdministrator Linuxa\u201c<\/a><\/noindex>, koji \u0107e zapo\u010deti krajem travnja. Ovom doga\u0111aju bit \u0107e posve\u0107en novi \u010dlanak. S originalnim materijalom mo\u017eete <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/virtual-filesystems-linux\">upu\u0161tati se ovdje<\/a><\/noindex>.<\/p>\n<p>Virtualni datote\u010dni sustavi igraju ulogu neke vrste \u010darobne apstrakcije koja omogu\u0107uje filozofiji Linuxa da ka\u017ee da je \"sve datoteka\".<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/a0bddab53c034d3a6a530cad91766d5f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0160to je datote\u010dni sustav? Oslanjaju\u0107i se na rije\u010di jednog od prvih doprinositelja i autora Linuxa <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pearson.com\/us\/higher-education\/program\/Love-Linux-Kernel-Development-3rd-Edition\/PGM202532.html\">Roberta Lava<\/a><\/noindex>, \"Datote\u010dni sustav je hijerarhijska pohrana podataka organizirana prema odre\u0111enoj strukturi\". Ipak, ova definicija jednako dobro odgovara za VFAT (Virtual File Allocation Table), Git i <noindex><a rel=\"nofollow\" href=\"http:\/\/cassandra.apache.org\/\">Cassandra<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NoSQL\">NoSQL bazu podataka<\/a><\/noindex>). \u0160to zapravo definira pojam \"datote\u010dni sustav\"?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Osnove datote\u010dnih sustava<\/b><\/p>\n<p>Jezgra Linuxa ima odre\u0111ene zahtjeve prema entitetu koji se mo\u017ee smatrati datote\u010dnim sustavom. Mora implementirati metode <code>open()<\/code>, <code>read()<\/code> i <code>write()<\/code> za stalne objekte koji imaju imena. Sa stajali\u0161ta objektno-orijentiranog <noindex><a rel=\"nofollow\" href=\"http:\/\/lwn.net\/Articles\/444910\/\">programiranja<\/a><\/noindex>, jezgra definira op\u0107i datote\u010dni sustav (generic filesystem) kao apstraktni su\u010delje, a te tri velike funkcije smatraju se \"virtualnima\" i nemaju konkretno definiranje. Stoga, implementacija datote\u010dnog sustava prema zadanim postavkama naziva se virtualnim datote\u010dnim sustavom (VFS).<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/bfaaf66de7038aa82beba5aa91e1db16.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAko mo\u017eemo otvoriti, \u010ditati i pisati u entitet, taj entitet se smatra datotekom, kao \u0161to vidimo iz primjera u konzoli iznad.<br \/>\n Fenomen VFS samo nagla\u0161ava zapa\u017eanje karakteristi\u010dno za Unix-sli\u010dne sustave, koje ka\u017ee da je \"sve datoteka\". Razmislite o tome koliko je \u010dudno \u0161to taj mali primjer iznad s \/dev\/console pokazuje kako zapravo konzola radi. Na slici je prikazana interaktivna Bash sesija. Slanje retka u konzolu (virtualni ure\u0111aj konzole) prikazuje ga na virtualnom ekranu. VFS ima i druge, jo\u0161 \u010dudnije osobine. Na primjer, omogu\u0107uje pretra\u017eivanje kroz <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/22355\/\">njih<\/a><\/noindex>.<\/p>\n<p>Poznati sustavi, poput ext4, NFS i \/proc imaju tri va\u017ene funkcije u strukturi podataka C koja se naziva <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/include\/linux\/fs.h\">file_operations<\/a><\/noindex>. Osim toga, odre\u0111eni datote\u010dni sustavi pro\u0161iruju i redefiniraju funkcije VFS na uobi\u010dajen objektno-orijentirani na\u010din. Kao \u0161to Robert Love isti\u010de, apstrakcija VFS omogu\u0107uje Linux korisnicima da bez brige kopiraju datoteke u ili iz vanjskih operativnih sustava ili apstraktnih entiteta poput cijevi, ne brinu\u0107i se o njihovom internom formatu podataka. S korisni\u010dke strane, putem sistemskog poziva, proces mo\u017ee kopirati iz datoteke u strukture podataka jezgre koriste\u0107i metodu <code>read()<\/code> jednog datote\u010dnog sustava, a zatim koristiti metodu <code>write ()<\/code> drugog datote\u010dnog sustava za ispis podataka.<\/p>\n<p>Definicije funkcija koje pripadaju osnovnim tipovima VFS nalaze se u datotekama <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/fs\">fs\/*.c<\/a><\/noindex> izvornog koda jezgre, dok poddirektoriji <code>fs\/<\/code> sadr\u017ee odre\u0111ene datote\u010dne sustave. U jezgri se tako\u0111er nalaze entiteti poput <code>cgroups<\/code>, <code>\/dev<\/code> i <code>tmpfs<\/code>, koji su potrebni u procesu pokretanja i stoga se definiraju u poddirektoriju jezgre <code>init\/<\/code>. Primijetite da <code>cgroups<\/code>, <code>\/dev<\/code> i <code>tmpfs<\/code> ne pozivaju \u00abveliku trojku\u00bb funkcija <code>file_operations<\/code>, ve\u0107 izravno \u010ditaju i pi\u0161u u memoriju.<br \/>\n Na donjoj dijagrami prikazano je kako userspace pristupa razli\u010ditim vrstama datote\u010dnih sustava koje se obi\u010dno montiraju u Linux sustavima. Nisu prikazane konstrukcije poput <code>pipes<\/code>, <code>dmesg<\/code> i <code>POSIX satova<\/code>, koje tako\u0111er implementiraju strukturu <code>file_operations<\/code>, a pristup im ide kroz sloj VFS.<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/267e005b3ed55ee3556bd7b1dab14eb5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n VFS je \u00absloj omota\u00bb izme\u0111u sistemskih poziva i implementacija odre\u0111enih <code>file_operations<\/code>, kao \u0161to su <code>ext4<\/code> i <code>procfs<\/code>. Funkcije <code>file_operations<\/code> mogu komunicirati ili s upravlja\u010dkim programima ure\u0111aja ili s ure\u0111ajima za pristup memoriji. <code>tmpfs<\/code>, <code>devtmpfs <\/code>i <code>cgroups <\/code>ne koristi <code>file_operations<\/code>, a izravno pristupaju memoriji.<br \/>\n Postojanje VFS omogu\u0107uje ponovnu upotrebu koda, budu\u0107i da osnovne metode povezane s datote\u010dnim sustavima ne moraju biti ponovno implementirane za svaku vrstu datote\u010dnog sustava. Ponovna upotreba koda je \u0161iroko rasprostranjena praksa me\u0111u in\u017eenjerima! Ipak, ako ponovo kori\u0161teni kod sadr\u017ei <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/774114\/\">ozbiljne gre\u0161ke<\/a><\/noindex>, svi \u0107e se implikacije kojima je zajedni\u010dke metode naslijedile suo\u010diti s tim problemima. <\/p>\n<p><b>\/tmp: \u041f\u0440\u043e\u0441\u0442\u0430\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430<\/b><\/p>\n<p>Jednostavan na\u010din da se otkrije da su VFS prisutni u sustavu je unijeti<code> mount | grep -v sd | grep -v :\/<\/code>, \u0161to \u0107e prikazati sve montirane (<code>mounted<\/code>) datote\u010dne sustave koji nisu rezidentni na disku i nisu NFS, \u0161to vrijedi za ve\u0107inu ra\u010dunala. Jedan od navedenih monta\u017ea (<code>mounts<\/code>) VFS, zasigurno \u0107e biti <code>\/tmp<\/code>, zar ne?<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/f0a4d546d30f54ad42c4aa5fb4bdb958.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nSvi znaju da pohrana<code> \/ tmp<\/code> na fizi\u010dkom nositelju \u2013 ludilo! <noindex><a rel=\"nofollow\" href=\"https:\/\/tinyurl.com\/ybomxyfo\">Izvor<\/a><\/noindex>.<\/p>\n<p>Za\u0161to nije preporu\u010dljivo pohranjivati <code>\/tmp<\/code> na fizi\u010dkom nositelju? Zato \u0161to su datoteke u <code>\/tmp<\/code> privremene, a ure\u0111aji za pohranu su sporiji od memorije gdje se kreira tmpfs. \u0160tovi\u0161e, fizi\u010dki nositelji su skloniji tro\u0161enju prilikom prepisivanja nego memorija. Na kraju, datoteke u \/tmp mogu sadr\u017eavati povjerljive informacije, pa je njihovo nestajanje pri svakom ponovnom podizanju sustava neizostavna funkcija. <\/p>\n<p>Na\u017ealost, neki instalacijski skripti Linux distribucija po defaultu kreiraju \/tmp na ure\u0111aju za pohranu. Ne o\u010dajavajte ako se to dogodilo i va\u0161em sustavu. Izvr\u0161ite nekoliko jednostavnih uputa s <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.archlinux.org\/index.php\/Tmpfs\">Arch Wiki<\/a><\/noindex>, da biste to ispravili, i zapamtite da memorija dodijeljena za <code>tmpfs <\/code> ne postaje dostupna za druge svrhe. Drugim rije\u010dima, sustav s ogromnim tmpfs-om i velikim datotekama u njemu mo\u017ee potro\u0161iti svu memoriju i sru\u0161iti se. Drugi savjet: tijekom ure\u0111ivanja datoteke <code>\/etc\/fstab<\/code>, zapamtite da bi trebala zavr\u0161iti novim retkom, ina\u010de se va\u0161 sustav ne\u0107e podi\u0107i.<\/p>\n<p><b>\/proc \u0438 \/sys <\/b><\/p>\n<p>Osim <code>\/tmp<\/code>, VFS (virtualni datote\u010dni sustavi), koji su najpoznatiji korisnicima Linux-a \u2013 to su <code>\/proc<\/code> i <code>\/sys<\/code>. (<code>\/dev<\/code> smje\u0161teni u zajedni\u010dkoj memoriji i nemaju <code>file_operations<\/code>). Za\u0161to ba\u0161 ova dva komponente? Razjasnimo ovo pitanje. <\/p>\n<p><code>procfs<\/code> stvara snimak trenutnog stanja jezgre i procesa koje kontrolira za <code>userspace<\/code>. U <code>\/proc<\/code> jezgra ispisuje informacije o sredstvima koja ima na raspolaganju, poput prekida, virtualne memorije i rasporeda. Osim toga, <code>\/proc\/sys<\/code> \u2013 to je mjesto gdje su opcije konfigurirane pomo\u0107u naredbe <code>sysctl<\/code>, dostupne za <code>userspace<\/code>. Status i statistika pojedinih procesa ispisuju se u direktorijima <code>\/proc\/<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/c74e7c8934e107736c2d25a4be63f48c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOvdje <code>\/proc\/meminfo<\/code> \u2014 to je prazna datoteka koja ipak sadr\u017ei dragocjene informacije.<\/p>\n<p>Pona\u0161anje <code>\/proc<\/code> datoteka pokazuje kako se diskovni datote\u010dni sustavi VFS mogu jako razlikovati. S jedne strane, <code>\/proc\/meminfo<\/code> sadr\u017ei informacije koje se mogu pregledati pomo\u0107u naredbe <code>free<\/code>. S druge strane, tamo je prazno! Kako to? <noindex><a rel=\"nofollow\" href=\"http:\/\/www-f1.ijs.si\/~ramsak\/km1\/mermin.moon.pdf\">Situacija podsje\u0107a na poznati \u010dlanak pod nazivom<\/a><\/noindex>\u201ePostoji li mjesec kada ga nitko ne gleda? Stvarnost i kvantna teorija\u201d <code>\/proc<\/code>, koji je napisao profesor fizike s Cornell univerziteta David Mermin 1985. godine. Naime, jezgra prikuplja statistiku memorije kada do\u0111e do zahtjeva za <code>\/proc<\/code> nema ni\u010dega kada nitko ne gleda. Kako je rekao <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikiquote.org\/wiki\/David_Mermin\">Mermin<\/a><\/noindex>, \"Osnovna kvantna doktrina ka\u017ee da mjerenje, u pravilu, ne otkriva prethodno postoje\u0107u vrijednost mjerenog svojstva.\" (A razmislite o pitanju o mjesecu kao doma\u0107u zada\u0107u!)<br \/>\n\u010cini se kao praznina <code>procfs <\/code> ima smisla jer je informacije koje se tamo nalaze dinami\u010dne. Malo druga\u010dija situacija je s <code>sysfs<\/code>. Uporedimo koliko datoteka veli\u010dine barem jedan bajt ima u <code>\/proc<\/code> i u <code>\/sys<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/5f712897ffe40c3539586fc3f1f9fabf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<code>Procfs<\/code> ima jednu datoteku, a to je exportirana konfiguracija kernela, koja je iznimka jer se mora generirati samo jednom po pokretanju. S druge strane, u <code>\/sys<\/code> ima mnogo ve\u0107ih datoteka, od kojih mnoge zauzimaju cijelu stranicu memorije. Obi\u010dno datoteke <code>sysfs <\/code> sadr\u017ee to\u010dno jedan broj ili niz, za razliku od tablica informacija dobivenih \u010ditanjem takvih datoteka kao <code>\/proc\/meminfo<\/code>.<\/p>\n<p>Cilj <code>sysfs <\/code>\u2013 pru\u017ea svojstva koja su dostupna za \u010ditanje i pisanje onoga \u0161to kernel naziva <code>\"kobjects\"<\/code> u userspaceu. Jedini cilj <code>kobjects <\/code>je brojanje referenci: kada se posljednja referenca na kobject ukloni, sustav \u0107e osloboditi resurse povezane s njim. Ipak, <code>\/sys<\/code> \u010din \u010din <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">\"stabilni ABI za userspace\"<\/a><\/noindex> kernela, koji nitko nikada, ni pod kojim okolnostima ne mo\u017ee <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2012\/12\/23\/75\">\"slomiti\"<\/a><\/noindex>. To ne zna\u010di da su datoteke u sysfs stati\u010dne, \u0161to bi bilo u suprotnosti s brojanjem referenci na nestabilne objekte.<br \/>\nStabilno binarno su\u010delje aplikacija jezgre (kernel's stable ABI) ograni\u010dava \u0161to mo\u017ee biti uklju\u010deno u <code>\/sys<\/code>, a ne ono \u0161to je zapravo prisutno u tom odre\u0111enom trenutku. Popis dopu\u0161tenja za datoteke u sysfs omogu\u0107ava razumijevanje kako se konfigurabilni parametri ure\u0111aja, modula, datote\u010dnih sustava itd. mogu postaviti ili pro\u010ditati. Izvla\u010dimo logi\u010dki zaklju\u010dak da je procfs tako\u0111er dio stabilnog ABI-ja kernela, iako to nije izri\u010dito navedeno u <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">dokumentaciju<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtualne datote\u010dne sustave u Linuxu: za\u0161to su potrebni i kako rade? Dio 1\" src=\"\/wp-content\/uploads\/2019\/04\/2c367518e8ee51c7a840a64b5a00abdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDatoteke u <code>sysfs <\/code>opisuju jednu konkretnu osobinu za svaki entitet i mogu biti \u010ditljive, prepisive ili oboje u isto vrijeme. \"0\" u datoteci ukazuje da SSD ne mo\u017ee biti uklonjen.<\/p>\n<p>Drugi dio prijevoda zapo\u010dinjemo s time kako promatrati VFS pomo\u0107u alata eBPF i bcc, a sada \u010dekamo va\u0161e komentare i tradicionalno vas pozivamo na <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/5LoU\/\">otvoreni webinar<\/a><\/noindex>, koji \u0107e 9. travnja odr\u017eati na\u0161 predava\u010d \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/mlMR\/\">Vladimir Drozdetsky<\/a><\/noindex>.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/446614\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043f\u043e \u0443\u0436\u0435 \u043f\u043e\u043b\u044e\u0431\u0438\u0432\u0448\u0438\u043c\u0441\u044f \u0432\u0430\u043c \u043a\u0443\u0440\u0441\u0430\u043c \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u043f\u0435\u0448\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0446\u0435 \u0430\u043f\u0440\u0435\u043b\u044f. \u041a \u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u044e \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0443\u0440\u043e\u0447\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f. \u0421 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0442\u0443\u0442. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0440\u043e\u043b\u044c \u043d\u0435\u043a\u043e\u0439 \u0432\u043e\u043b\u0448\u0435\u0431\u043d\u043e\u0439 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22835,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30851","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442? \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Virtualne datote\u010dne mape u Linuxu: za\u0161to su potrebne i kako rade? Dio 1 | ProHoster","description":"Pozdrav svima!","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442? \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:47+00:00","article:modified_time":"2019-10-31T18:37:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30851","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 03:17:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:27:39","updated":"2026-01-21 03:17:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=30851"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30851\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/22835"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=30851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=30851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=30851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}