{"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\/da\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","title":{"rendered":"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hej alle sammen! Vi forts\u00e6tter med at lancere nye streams for de kurser, I allerede kender og holder af, og nu har vi gl\u00e6den af at meddele, at vi starter et nyt hold for kurset <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/gbcl\/\">\u00abLinux Administrator\u00bb<\/a><\/noindex>, som starter i slutningen af april. Denne begivenhed vil blive markeret med en ny publikation. Den originale tekst kan <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/virtual-filesystems-linux\">l\u00e6ses her<\/a><\/noindex>.<\/p>\n<p>Virtuelle filsystemer fungerer som en slags magisk abstraktion, der g\u00f8r det muligt for Linux-filosofien at sige, at \"alt er en fil\".<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/a0bddab53c034d3a6a530cad91766d5f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHvad er et filsystem? If\u00f8lge en af de f\u00f8rste bidragydere og forfattere af Linux <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pearson.com\/us\/higher-education\/program\/Love-Linux-Kernel-Development-3rd-Edition\/PGM202532.html\">Robert Love<\/a><\/noindex>, \"Et filsystem er et hierarkisk datalager, der er organiseret efter en bestemt struktur.\" Ikke desto mindre passer denne definition lige godt til VFAT (Virtual File Allocation Table), Git og <noindex><a rel=\"nofollow\" href=\"http:\/\/cassandra.apache.org\/\">Cassandra<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NoSQL\">NoSQL-database<\/a><\/noindex>). Hvad definerer s\u00e5 et begreb som \"filsystem\"?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Grundl\u00e6ggende om filsystemet<\/b><\/p>\n<p>Linux-kernen har bestemte krav til entiteten, der kan betragtes som et filsystem. Det skal implementere metoderne <code>open()<\/code>, <code>read()<\/code> og <code>write()<\/code> til vedvarende objekter, der har navne. Fra synspunktet for objektorienteret <noindex><a rel=\"nofollow\" href=\"http:\/\/lwn.net\/Articles\/444910\/\">programmering<\/a><\/noindex>, definerer kernen et generisk filsystem som et abstrakt interface, og disse tre store funktioner betragtes som \"virtuelle\" og har ikke en specifik definition. Derfor kaldes implementeringen af filsystemet som standard det virtuelle filsystem (VFS).<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/bfaaf66de7038aa82beba5aa91e1db16.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHvis vi kan \u00e5bne, l\u00e6se og skrive til en entitet, betragtes denne entitet som en fil, som vi ser i eksemplet i konsollen ovenfor.<br \/>\n F\u00e6nomenet VFS understreger blot den observation, der er karakteristisk for Unix-lignende systemer, at \"alt er en fil\". T\u00e6nk over, hvor m\u00e6rkeligt det er, at det lille eksempel ovenfor med \/dev\/console viser, hvordan konsollen rent faktisk fungerer. Billedet viser en interaktiv Bash-session. At sende en streng til konsollen (virtuel konsol-enhed) viser det p\u00e5 den virtuelle sk\u00e6rm. VFS har andre, endnu mere m\u00e6rkelige egenskaber. For eksempel g\u00f8r det det muligt at s\u00f8ge i <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/22355\/\">dem<\/a><\/noindex>.<\/p>\n<p>De systemer, vi kender, s\u00e5som ext4, NFS og \/proc, har tre vigtige funktioner i datastrukturen C, der kaldes <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>. Derudover udvider og overskriver visse filsystemer VFS-funktioner p\u00e5 en velkendt objektorienteret m\u00e5de. Som Robert Love bem\u00e6rker, giver VFS-abstraktionen Linux-brugere mulighed for problemfrit at kopiere filer til eller fra eksterne operativsystemer eller abstrakte entiteter som pipes, uden at bekymre sig om deres interne dataformat. Fra brugerens (userspace) side kan en proces gennem systemopkald kopiere fra en fil til kerne datastrukturer ved hj\u00e6lp af metoden <code>read()<\/code> for et filsystem og derefter bruge metoden <code>write ()<\/code> for et andet filsystem til at skrive data.<\/p>\n<p>Definitionerne af funktioner, der tilh\u00f8rer de grundl\u00e6ggende typer VFS, findes i filerne <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/fs\">fs\/*.c<\/a><\/noindex> i kildekoden til kernen, mens undermapperne <code>fs\/<\/code> indeholder specifikke filsystemer. Kernen indeholder ogs\u00e5 entiteter som <code>cgroups<\/code>, <code>\/dev<\/code> og <code>tmpfs<\/code>, som er n\u00f8dvendige under opstart og derfor defineres i undermappen til kernen <code>init\/<\/code>. Bem\u00e6rk, at <code>cgroups<\/code>, <code>\/dev<\/code> og <code>tmpfs<\/code> de ikke kalder de \u201estore tre\u201c funktioner <code>file_operations<\/code>, men l\u00e6ser og skriver direkte til hukommelsen.<br \/>\n Diagrammet nedenfor viser, hvordan userspace interagerer med forskellige typer filsystemer, der normalt er monteret i Linux-systemer. Konstrukt\u00f8rerne som <code>pipes<\/code>, <code>dmesg<\/code> og <code>POSIX clocks<\/code>, som ogs\u00e5 implementerer strukturen, er ikke vist, da adgangen til dem g\u00e5r gennem VFS-laget. <code>file_operations<\/code>VFS er et \u201eskale\u201c mellem systemopkald og implementeringer af specifikke<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/267e005b3ed55ee3556bd7b1dab14eb5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n , s\u00e5som <code>file_operations<\/code>ext4 <code>procfs<\/code> og <code>. Funktioner<\/code>kan interagere enten med enhedsdrivere eller med hukommelsestilgangsenheder. <code>file_operations<\/code> devtmpfs <code>tmpfs<\/code>, <code>bruger ikke <\/code>og <code>cgroups <\/code>, men henvender sig direkte til hukommelsen. <code>file_operations<\/code>Eksistensen af VFS muligg\u00f8r genbrug af kode, da de grundl\u00e6ggende metoder relateret til filsystemer ikke skal implementeres af hver type filsystem. Genbrug af kode er en udbredt praksis blandt softwareingeni\u00f8rer! Men hvis den genbrugsbare kode indeholder<br \/>\n alvorlige fejl <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/774114\/\">, lider alle implementeringer, der arver de f\u00e6lles metoder, under dem.<\/a><\/noindex>En enkel m\u00e5de at opdage, om VFS er til stede i systemet, er at indtaste <\/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>mount | grep -v sd | grep -v :\/<code> , hvilket viser alle monterede (<\/code>mounted<code>)<\/code>) filsystemer, der ikke er residenter p\u00e5 disken og ikke NFS, hvilket g\u00e6lder for de fleste computere. En af de n\u00e6vnte mounts<code>mounts<\/code>) VFS vil uden tvivl v\u00e6re <code>\/tmp<\/code>, ikke sandt?<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/f0a4d546d30f54ad42c4aa5fb4bdb958.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nAlle ved, at det er vanvittigt at opbevare<code> \/ tmp<\/code> p\u00e5 et fysisk medie! <noindex><a rel=\"nofollow\" href=\"https:\/\/tinyurl.com\/ybomxyfo\">Kilde<\/a><\/noindex>.<\/p>\n<p>Hvorfor er det u\u00f8nsket at opbevare <code>\/tmp<\/code> p\u00e5 et fysisk medie? Fordi filer i <code>\/tmp<\/code> er tempor\u00e6re, og lagringsenheder er langsommere end hukommelsen, hvor tmpfs oprettes. Desuden er fysiske medier mere udsat for slid ved omskrivning end hukommelse. Endelig kan filer i \/tmp indeholde f\u00f8lsomme oplysninger, s\u00e5 deres forsvinden ved hver genstart er en v\u00e6sentlig funktion. <\/p>\n<p>Desv\u00e6rre opretter nogle installationsscripts til Linux-distributioner \/tmp p\u00e5 lagringsenheden som standard. Bekymr dig ikke, hvis dette er sket med dit system. F\u00f8lg et par enkle instruktioner fra <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.archlinux.org\/index.php\/Tmpfs\">Arch Wiki<\/a><\/noindex>, for at rette op p\u00e5 dette, og husk at hukommelsen tildelt til <code>tmpfs <\/code> bliver utilg\u00e6ngelig til andre form\u00e5l. Med andre ord kan et system med en gigantisk tmpfs og store filer i den opbruge al hukommelsen og fejle. En anden p\u00e5mindelse: n\u00e5r du redigerer filen <code>\/etc\/fstab<\/code>, husk at den skal slutte med en ny linje, ellers vil dit system ikke kunne starte.<\/p>\n<p><b>\/proc \u0438 \/sys <\/b><\/p>\n<p>Udover <code>\/tmp<\/code>, VFS (virtuelle filsystemer), der er mest kendt af Linux-brugere, er <code>\/proc<\/code> og <code>\/sys<\/code>. (<code>\/dev<\/code> placeret i delt hukommelse og har ikke <code>file_operations<\/code>). Hvorfor netop disse to komponenter? Lad os dykke ned i dette sp\u00f8rgsm\u00e5l. <\/p>\n<p><code>. Funktioner<\/code> skaber et \u00f8jebliksbillede af kernen og de processer, den kontrollerer for <code>userspace<\/code>. I <code>\/proc<\/code> kernen vises oplysninger om, hvilke ressourcer der er tilg\u00e6ngelige, s\u00e5som afbrydelser, virtuel hukommelse og planl\u00e6gger. Desuden <code>\/proc\/sys<\/code> er det stedet, hvor parametre, der er konfigureret med kommandoen <code>sysctl<\/code>, er tilg\u00e6ngelige for <code>userspace<\/code>. Status og statistik for individuelle processer vises i mapperne <code>\/proc\/<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/c74e7c8934e107736c2d25a4be63f48c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHer <code>\/proc\/meminfo<\/code> \u2014 det er en tom fil, men indeholder v\u00e6rdifuld information.<\/p>\n<p>Adf\u00e6rd <code>\/proc<\/code> af filer viser, hvor forskellige diskfilsystemer VFS kan v\u00e6re. P\u00e5 den ene side <code>\/proc\/meminfo<\/code> indeholder oplysninger, der kan ses med kommandoen <code>free<\/code>. P\u00e5 den anden side er det tomt! Hvordan kan det v\u00e6re? Situationen minder om den ber\u00f8mte artikel med titlen <noindex><a rel=\"nofollow\" href=\"http:\/\/www-f1.ijs.si\/~ramsak\/km1\/mermin.moon.pdf\">\u00bbFindes m\u00e5nen, n\u00e5r ingen ser p\u00e5 den? Realtet og kvanteteori\u00ab<\/a><\/noindex>, skrevet af professor i fysik ved Cornell University, David Mermin, i 1985. Sagen er, at kernen indsamler hukommelsesstatistik, n\u00e5r der sker en anmodning til <code>\/proc<\/code>, og der er faktisk ingenting i filer, <code>\/proc<\/code> n\u00e5r ingen kigger derhen. Som Mermin sagde, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikiquote.org\/wiki\/David_Mermin\">Mermin<\/a><\/noindex>, \u00abDen fundamentale kvantemekaniske doktrin siger, at m\u00e5ling som regel ikke afsl\u00f8rer et tidligere eksisterende v\u00e6rdi af den m\u00e5lte egenskab.\u00bb (Og t\u00e6nk p\u00e5 sp\u00f8rgsm\u00e5let om m\u00e5nen som en hjemmearbejde!)<br \/>\nDen tilsyneladende tomhed <code>. Funktioner <\/code> giver mening, da informationen der eksisterer, er dynamisk. En lidt anderledes situation med <code>sysfs<\/code>. Lad os sammenligne, hvor mange filer med en st\u00f8rrelse p\u00e5 mindst en byte der er i <code>\/proc<\/code> og i <code>\/sys<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/5f712897ffe40c3539586fc3f1f9fabf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<code>Procfs<\/code> har \u00e9n fil, nemlig den eksporterede kernekonfiguration, som er en undtagelse, da den kun skal genereres \u00e9n gang pr. opstart. P\u00e5 den anden side ligger der mange mere omfangsrige filer i <code>\/sys<\/code> , mange af hvilke optager en hel side hukommelse. Normalt indeholder filerne <code>sysfs <\/code> pr\u00e6cis \u00e9t tal eller en streng, i mods\u00e6tning til informations tabeller, der opn\u00e5s ved at l\u00e6se s\u00e5danne filer som <code>\/proc\/meminfo<\/code>.<\/p>\n<p>Form\u00e5let <code>sysfs <\/code>er at give egenskaber tilg\u00e6ngelige for l\u00e6sning og skrivning af det, som kernen kalder <code>\u00abkobjects\u00bb<\/code> i brugerrummet. Den eneste funktion af <code>kobjects <\/code>er referenceopt\u00e6lling: n\u00e5r det sidste reference til kobject fjernes, vil systemet genvinde de ressourcer, der er tilknyttet det. Ikke desto mindre <code>\/sys<\/code> udg\u00f8r det st\u00f8rstedelen af den ber\u00f8mte <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">\u00abstabile ABI for brugerrum\u00bb<\/a><\/noindex> kern, som ingen nogensinde, under nogen omst\u00e6ndigheder, kan <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2012\/12\/23\/75\">\u00abbryde\u00bb.<\/a><\/noindex>Det betyder ikke, at filer i sysfs er statiske, da det ville v\u00e6re i strid med referenceopt\u00e6llingen af ustabile objekter.<br \/>\nDet stabile bin\u00e6re applikationsgr\u00e6nseflade (kernel's stable ABI) begr\u00e6nser, hvad der kan optr\u00e6de i <code>\/sys<\/code>, og ikke hvad der faktisk er til stede p\u00e5 et givet tidspunkt. Oplistningen af tilladelser til filer i sysfs giver forst\u00e5else af, hvordan konfigurerbare parametre for enheder, moduler, filsystemer osv. kan tilpasses eller l\u00e6ses. Det kan konkluderes, at procfs ogs\u00e5 er en del af kernens stabile ABI, selvom dette ikke er angivet eksplicit i <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">dokumentationen<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Virtuelle filsystemer i Linux: hvorfor de er n\u00f8dvendige og hvordan de fungerer? Del 1\" src=\"\/wp-content\/uploads\/2019\/04\/2c367518e8ee51c7a840a64b5a00abdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFiler i <code>sysfs <\/code>beskriver \u00e9n konkret egenskab ved hver enhed og kan v\u00e6re l\u00e6sbare, overskrivbare eller begge dele samtidigt. \u00ab0\u00bb i filen indikerer, at SSD'en ikke kan fjernes.<\/p>\n<p>Den anden del af overs\u00e6ttelsen starter med, hvordan man observerer VFS ved hj\u00e6lp af eBPF og bcc-v\u00e6rkt\u00f8jer, og vi venter nu p\u00e5 jeres kommentarer og inviterer traditionelt til <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/5LoU\/\">det \u00e5bne webinar<\/a><\/noindex>, som vores instrukt\u00f8r \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/mlMR\/\">Vladimir Drozdetsky<\/a><\/noindex>.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Virtuelle filsystener i Linux: hvorfor de er n\u00f8dvendige, og hvordan de fungerer? Del 1 | ProHoster","description":"Hej alle sammen!","canonical_url":"https:\/\/prohoster.info\/da\/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":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/30851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=30851"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/30851\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/22835"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=30851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=30851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=30851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}