{"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\/pt\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-1","title":{"rendered":"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ol\u00e1 a todos! Estamos continuando a lan\u00e7ar novos cursos que voc\u00eas j\u00e1 conhecem e agora temos o prazer de anunciar que estamos iniciando uma nova turma do curso <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/gbcl\/\">Administrador Linux<\/a><\/noindex>, que come\u00e7ar\u00e1 no final de abril. Uma nova publica\u00e7\u00e3o ser\u00e1 dedicada a este evento. Voc\u00ea pode <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/3\/virtual-filesystems-linux\">conhecer o material original aqui<\/a><\/noindex>.<\/p>\n<p>Os sistemas de arquivos virtuais atuam como uma abstra\u00e7\u00e3o m\u00e1gica, permitindo que a filosofia do Linux afirme que \"tudo \u00e9 um arquivo\".<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/a0bddab53c034d3a6a530cad91766d5f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO que \u00e9 um sistema de arquivos? Baseando-se nas palavras de um dos primeiros colaboradores e autores do 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>, \"Um sistema de arquivos \u00e9 um reposit\u00f3rio de dados hier\u00e1rquico organizado de acordo com uma estrutura espec\u00edfica.\" De qualquer forma, essa defini\u00e7\u00e3o se aplica igualmente ao VFAT (Virtual File Allocation Table), Git e <noindex><a rel=\"nofollow\" href=\"http:\/\/cassandra.apache.org\/\">Cassandra<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NoSQL\">banco de dados NoSQL<\/a><\/noindex>). Ent\u00e3o, o que realmente define o conceito de \"sistema de arquivos\"?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><b>Fundamentos do sistema de arquivos<\/b><\/p>\n<p>O n\u00facleo do Linux tem requisitos espec\u00edficos para uma entidade que pode ser considerada um sistema de arquivos. Ela deve implementar os m\u00e9todos <code>open()<\/code>, <code>read()<\/code> e <code>write()<\/code> para objetos persistentes que possuem nomes. Do ponto de vista da programa\u00e7\u00e3o orientada a objetos <noindex><a rel=\"nofollow\" href=\"http:\/\/lwn.net\/Articles\/444910\/\">, o n\u00facleo define um sistema de arquivos gen\u00e9rico como uma interface abstrata, e essas tr\u00eas grandes fun\u00e7\u00f5es s\u00e3o consideradas \"virtuais\" e n\u00e3o possuem uma defini\u00e7\u00e3o concreta. Assim, a implementa\u00e7\u00e3o padr\u00e3o de um sistema de arquivos \u00e9 chamada de sistema de arquivos virtual (VFS).<\/a><\/noindex>Se podemos abrir, ler e gravar em uma entidade, essa entidade \u00e9 considerada um arquivo, como vemos no exemplo no console acima.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/bfaaf66de7038aa82beba5aa91e1db16.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO fen\u00f4meno do VFS apenas destaca uma observa\u00e7\u00e3o t\u00edpica dos sistemas semelhantes ao Unix, que afirma que \"tudo \u00e9 um arquivo\". Pense em qu\u00e3o estranho \u00e9 que aquele pequeno exemplo acima com \/dev\/console mostra como a console realmente funciona. Na imagem, temos uma sess\u00e3o interativa do Bash. O envio de uma linha para a console (dispositivo de console virtual) a exibe na tela virtual. O VFS possui outras propriedades ainda mais estranhas. Por exemplo, ele permite realizar buscas em<br \/>\n eles <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/22355\/\">Sistemas que conhecemos, como ext4, NFS e \/proc, t\u00eam tr\u00eas fun\u00e7\u00f5es importantes na estrutura de dados C chamada<\/a><\/noindex>.<\/p>\n<p>file_operations <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>. Al\u00e9m disso, certos sistemas de arquivos ampliam e redefinem as fun\u00e7\u00f5es do VFS de maneira orientada a objetos. Como observa Robert Love, a abstra\u00e7\u00e3o do VFS permite que usu\u00e1rios do Linux copiem arquivos para ou de sistemas operacionais de terceiros ou entidades abstratas, como pipes, sem se preocupar com seu formato interno de dados. Do lado do usu\u00e1rio (userspace), o processo pode copiar de um arquivo para estruturas de dados do n\u00facleo utilizando o m\u00e9todo <code>read()<\/code> de um sistema de arquivos e, em seguida, usar o m\u00e9todo <code>write()<\/code> de outro sistema de arquivos para a sa\u00edda de dados.<\/p>\n<p>As defini\u00e7\u00f5es das fun\u00e7\u00f5es que pertencem aos tipos b\u00e1sicos do VFS est\u00e3o nos arquivos <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/fs\">fs\/*.c<\/a><\/noindex> do c\u00f3digo fonte do n\u00facleo, enquanto os subdiret\u00f3rios <code>fs\/<\/code> cont\u00eam sistemas de arquivos espec\u00edficos. O n\u00facleo tamb\u00e9m inclui entidades como <code>cgroups<\/code>, <code>\/dev<\/code> e <code>tmpfs<\/code>, que s\u00e3o necess\u00e1rias durante o processo de inicializa\u00e7\u00e3o e, portanto, s\u00e3o definidas no subdiret\u00f3rio do n\u00facleo <code>init\/<\/code>. Observe que <code>cgroups<\/code>, <code>\/dev<\/code> e <code>tmpfs<\/code> eles n\u00e3o chamam a \u2018grande tr\u00edade\u2019 de fun\u00e7\u00f5es <code>file_operations<\/code>, mas l\u00eaem e escrevem diretamente na mem\u00f3ria.<br \/>\n O diagrama abaixo ilustra como o userspace interage com os v\u00e1rios tipos de sistemas de arquivos, geralmente montados em sistemas Linux. Estruturas como <code>pipes<\/code>, <code>dmesg<\/code> e <code>clock POSIX<\/code>, que tamb\u00e9m implementam a estrutura <code>file_operations<\/code>, a qual \u00e9 acessada atrav\u00e9s da camada do VFS.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/267e005b3ed55ee3556bd7b1dab14eb5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n O VFS \u00e9 uma \u2018camada de interface\u2019 entre as chamadas de sistema e as implementa\u00e7\u00f5es espec\u00edficas de <code>file_operations<\/code>, como por exemplo <code>ext4<\/code> e <code>procfs.<\/code>As fun\u00e7\u00f5es <code>file_operations<\/code> podem interagir tanto com drivers de dispositivos quanto com dispositivos de acesso \u00e0 mem\u00f3ria. <code>tmpfs<\/code>, <code>devtmpfs <\/code>e <code>cgroups <\/code>n\u00e3o utiliza <code>file_operations<\/code>, mas acessa diretamente a mem\u00f3ria.<br \/>\n A exist\u00eancia do VFS permite a reutiliza\u00e7\u00e3o de c\u00f3digo, j\u00e1 que os m\u00e9todos principais associados a sistemas de arquivos n\u00e3o precisam ser implementados novamente por cada tipo de sistema de arquivos. A reutiliza\u00e7\u00e3o de c\u00f3digo \u00e9 uma pr\u00e1tica comum entre engenheiros de software! No entanto, se o c\u00f3digo reutiliz\u00e1vel contiver <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/774114\/\">erros fatais<\/a><\/noindex>, todas as implementa\u00e7\u00f5es que herdam m\u00e9todos comuns sofrer\u00e3o. <\/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>Uma maneira simples de verificar se o VFS est\u00e1 presente no sistema \u00e9 inserir<code> mount | grep -v sd | grep -v :\/<\/code>, o que mostrar\u00e1 todos os sistemas de arquivos montados (<code>mounted<\/code>) que n\u00e3o s\u00e3o residentes no disco e n\u00e3o NFS, o que \u00e9 verdadeiro na maioria dos computadores. Um dos mounts listados (<code>mounts<\/code>) VFS, sem d\u00favida, ser\u00e1 <code>\/tmp<\/code>, certo?<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/f0a4d546d30f54ad42c4aa5fb4bdb958.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTodos sabem que armazenar<code> \/ tmp<\/code> em um dispositivo f\u00edsico \u00e9 insensato! <noindex><a rel=\"nofollow\" href=\"https:\/\/tinyurl.com\/ybomxyfo\">Fonte<\/a><\/noindex>.<\/p>\n<p>Por que n\u00e3o \u00e9 desej\u00e1vel armazenar <code>\/tmp<\/code> em um dispositivo f\u00edsico? Porque os arquivos em <code>\/tmp<\/code> s\u00e3o tempor\u00e1rios, e os dispositivos de armazenamento s\u00e3o mais lentos do que a mem\u00f3ria, onde tmpfs \u00e9 criado. Al\u00e9m disso, dispositivos f\u00edsicos s\u00e3o mais suscet\u00edveis ao desgaste durante a reescrita do que a mem\u00f3ria. Finalmente, arquivos em \/tmp podem conter informa\u00e7\u00f5es confidenciais, portanto, sua exclus\u00e3o a cada reinicializa\u00e7\u00e3o \u00e9 uma caracter\u00edstica essencial. <\/p>\n<p>Infelizmente, alguns scripts de instala\u00e7\u00e3o de distribui\u00e7\u00f5es Linux criam \/tmp em armazenamento por padr\u00e3o. N\u00e3o desanime se isso aconteceu com o seu sistema. Siga algumas instru\u00e7\u00f5es simples de <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.archlinux.org\/index.php\/Tmpfs\">Arch Wiki<\/a><\/noindex>, para corrigir isso, e lembre-se de que a mem\u00f3ria alocada para <code>tmpfs <\/code> torna-se indispon\u00edvel para outros fins. Em outras palavras, um sistema com um enorme tmpfs e grandes arquivos nele pode consumir toda a mem\u00f3ria e falhar. Outra dica: ao editar o arquivo <code>\/etc\/fstab<\/code>, lembre-se de que ele deve terminar com uma nova linha, caso contr\u00e1rio, seu sistema n\u00e3o inicializar\u00e1.<\/p>\n<p><b>\/proc \u0438 \/sys <\/b><\/p>\n<p>Al\u00e9m de <code>\/tmp<\/code>, VFS (sistemas de arquivos virtuais), que s\u00e3o mais familiares aos usu\u00e1rios de Linux - isso <code>\/proc<\/code> e <code>\/sys<\/code>. (<code>\/dev<\/code> reside na mem\u00f3ria compartilhada e n\u00e3o possui <code>file_operations<\/code>). Por que exatamente esses dois componentes? Vamos esclarecer essa quest\u00e3o. <\/p>\n<p><code>procfs.<\/code> cria uma instant\u00e2nea do estado atual do n\u00facleo e dos processos que controla para <code>userspace<\/code>. No <code>\/proc<\/code> o n\u00facleo fornece informa\u00e7\u00f5es sobre os recursos dispon\u00edveis, como interrup\u00e7\u00f5es, mem\u00f3ria virtual e escalonador. Al\u00e9m disso, <code>\/proc\/sys<\/code> \u00e9 o local onde os par\u00e2metros configurados com o comando <code>sysctl<\/code>, est\u00e3o dispon\u00edveis para <code>userspace<\/code>. O status e a estat\u00edstica de processos individuais s\u00e3o exibidos nos diret\u00f3rios <code>\/proc\/<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/c74e7c8934e107736c2d25a4be63f48c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAqui <code>\/proc\/meminfo<\/code> \u2014 \u00e9 um arquivo vazio que, no entanto, cont\u00e9m informa\u00e7\u00f5es valiosas.<\/p>\n<p>O comportamento <code>\/proc<\/code> dos arquivos mostra qu\u00e3o diferentes podem ser os sistemas de arquivos em disco do VFS. Por um lado, <code>\/proc\/meminfo<\/code> cont\u00e9m informa\u00e7\u00f5es que podem ser visualizadas com o comando <code>free<\/code>. Por outro lado, est\u00e1 vazio! Como isso \u00e9 poss\u00edvel? A situa\u00e7\u00e3o lembra o famoso artigo intitulado <noindex><a rel=\"nofollow\" href=\"http:\/\/www-f1.ijs.si\/~ramsak\/km1\/mermin.moon.pdf\">\u00abA lua existe quando ningu\u00e9m a observa? Realidade e teoria qu\u00e2ntica\u00bb<\/a><\/noindex>, escrito pelo professor de f\u00edsica da Universidade Cornell, David Mermin, em 1985. A quest\u00e3o \u00e9 que o n\u00facleo coleta estat\u00edsticas de mem\u00f3ria quando ocorre uma solicita\u00e7\u00e3o <code>\/proc<\/code>, e na verdade nos arquivos <code>\/proc<\/code> nada existe quando ningu\u00e9m est\u00e1 olhando. Como disse <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikiquote.org\/wiki\/David_Mermin\">Merlin<\/a><\/noindex>, \u201cA doutrina qu\u00e2ntica fundamental afirma que a medi\u00e7\u00e3o, em geral, n\u00e3o revela um valor previamente existente da propriedade medida.\u201d (E pense na quest\u00e3o sobre a lua como uma li\u00e7\u00e3o de casa!)<br \/>\nO vazio aparente <code>procfs. <\/code> faz sentido, uma vez que a informa\u00e7\u00e3o ali presente \u00e9 din\u00e2mica. A situa\u00e7\u00e3o \u00e9 um pouco diferente com <code>sysfs<\/code>. Vamos comparar quantos arquivos t\u00eam pelo menos um byte em <code>\/proc<\/code> e no <code>\/sys<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/5f712897ffe40c3539586fc3f1f9fabf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<code>Procfs<\/code> tem um arquivo, que \u00e9 a configura\u00e7\u00e3o do kernel exportada, a qual \u00e9 uma exce\u00e7\u00e3o, pois precisa ser gerada apenas uma vez a cada inicializa\u00e7\u00e3o. Por outro lado, em <code>\/sys<\/code> h\u00e1 muitos arquivos maiores, muitos dos quais ocupam uma p\u00e1gina inteira de mem\u00f3ria. Normalmente, os arquivos <code>sysfs <\/code> cont\u00eam exatamente um n\u00famero ou uma string, ao contr\u00e1rio das tabelas de informa\u00e7\u00e3o obtidas ao ler arquivos como <code>\/proc\/meminfo<\/code>.<\/p>\n<p>O objetivo <code>sysfs <\/code>\u00e9 fornecer propriedades dispon\u00edveis para leitura e escrita do que o kernel chama de <code>\u201ckobjects\u201d<\/code> no espa\u00e7o do usu\u00e1rio. O \u00fanico objetivo de <code>kobjects <\/code>\u00e9 a contagem de refer\u00eancias: quando a \u00faltima refer\u00eancia ao kobject \u00e9 removida, o sistema recupera os recursos associados a ele. No entanto, <code>\/sys<\/code> constitui a maior parte do famoso <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">\u201cstable ABI para o espa\u00e7o do usu\u00e1rio\u201d<\/a><\/noindex> do kernel, que ningu\u00e9m jamais, sob quaisquer circunst\u00e2ncias, pode <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2012\/12\/23\/75\">\u201cquebrar\u201d<\/a><\/noindex>. Isso n\u00e3o significa que os arquivos em sysfs sejam est\u00e1ticos, o que contradiz a contagem de refer\u00eancias a objetos inst\u00e1veis.<br \/>\nA interface bin\u00e1ria de aplica\u00e7\u00f5es est\u00e1vel do n\u00facleo (kernel's stable ABI) limita o que pode aparecer em <code>\/sys<\/code>, e n\u00e3o o que realmente est\u00e1 presente naquele momento espec\u00edfico. A listagem de permiss\u00f5es nos arquivos em sysfs proporciona uma compreens\u00e3o de como os par\u00e2metros configur\u00e1veis dos dispositivos, m\u00f3dulos, sistemas de arquivos etc. podem ser configurados ou lidos. Chegamos \u00e0 conclus\u00e3o l\u00f3gica de que o procfs tamb\u00e9m faz parte do stable ABI do kernel, embora isso n\u00e3o esteja explicitamente indicado em <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/ABI\/stable\">documenta\u00e7\u00e3o<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1\" src=\"\/wp-content\/uploads\/2019\/04\/2c367518e8ee51c7a840a64b5a00abdf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOs arquivos em <code>sysfs <\/code>descrevem uma propriedade espec\u00edfica para cada entidade e podem ser leg\u00edveis, grav\u00e1veis ou ambos ao mesmo tempo. \u201c0\u201d no arquivo indica que o SSD n\u00e3o pode ser removido.<\/p>\n<p>Come\u00e7aremos a segunda parte da tradu\u00e7\u00e3o com como observar o VFS usando ferramentas eBPF e bcc, e agora aguardamos seus coment\u00e1rios e, tradicionalmente, convidamos voc\u00ea para <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/5LoU\/\">webinar aberto<\/a><\/noindex>, que ser\u00e1 conduzido por nosso instrutor no dia 9 de abril \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/mlMR\/\">Vladimir Drozdetskiy<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <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\/pt\/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=\"pt_PT\" \/>\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\/pt\/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\udd47Sistemas de arquivos virtuais no Linux: por que s\u00e3o necess\u00e1rios e como funcionam? Parte 1 | ProHoster","description":"Ol\u00e1 a todos!","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/30851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=30851"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/30851\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/22835"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=30851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=30851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=30851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}