Por que esses diretórios são chamados de sistemas de arquivos?

11

/ proc, / usr, / var, / home são chamados de sistemas de arquivos.

O que isso significa? Eu pensei que havia apenas um sistema de arquivos (por exemplo, ext4) ..

    
por DrStrangeLove 02.10.2011 / 21:34

3 respostas

16

O termo "sistema de arquivos" tem vários significados. Quando as pessoas falam sobre nomes de sistemas de arquivos como ext4, UFS, NTFS etc., eles têm em mente a organização do armazenamento de dados em nível baixo (em termos de blocos na mídia). Esses "sistemas de arquivos" geralmente exigem que o driver acesse os dados armazenados na mídia formatada com esse sistema de arquivos. No caso de /proc , /usr , root file system ou algo, o sistema de arquivos simplesmente se refere a uma estrutura de diretório.

Tecnicamente, no Linux, qualquer diretório pode ser um ponto de montagem para o sistema de arquivos. Isso permite que você selecione o melhor tipo de sistema de arquivos (ext4, ufs, xfs etc.) para diretórios individuais, dependendo da natureza das informações armazenadas e dos requisitos de segurança.

Acredito que, no seu caso, esses diretórios são chamados de "sistemas de arquivos" porque são usados com freqüência como ponto de montagem para sistemas de arquivos individuais. /proc é sempre um ponto de montagem para o sistema de arquivos pseudo procfs que apresenta informações sobre processos e outras informações do sistema em uma estrutura hierárquica semelhante a um arquivo.

Existem alguns diretórios que podem ser considerados sistemas de arquivos: /dev , /sys e /tmp .

    
por Sergey 03.10.2011 / 07:24
12

/ proc é uma pasta muito especial, e não é armazenada no disco, mas na memória e é usada para dar informações sobre o sistema (CPU, RAM, dispositivos ..). Portanto, use um sistema de arquivos especial (não ext4) chamado procfs. Você pode ler mais na Wikipedia: procfs

Em vez disso, / usr , / var e / home são geralmente (pelo menos em um computador desktop) armazenados no mesmo sistema de arquivos (ex. ext4), e muitas vezes no mesmo disco: são pastas regulares, com significados específicos. Sempre na Wikipedia você pode encontrar informações detalhadas sobre o Padrão de Hierarquia do Sistema de Arquivos .

Eles não são realmente "sistemas de arquivos", mas este parágrafo ajuda a explicar esse uso de nomenclatura (de Referência FHS 2.3 ):

  

Para inicializar um sistema, basta estar presente na partição raiz para   montar outros sistemas de arquivos. Isso inclui utilitários, configuração, inicialização   informações do carregador e outros dados essenciais de inicialização. / usr, / opt e   / var são projetados de tal forma que eles podem estar localizados em outras partições ou   sistemas de arquivos.

    
por Pisu 02.10.2011 / 21:57
0

Você pode pensar em um sistema de arquivos como uma estrutura que permite que os arquivos sejam criados em um dispositivo de armazenamento de dados. O dispositivo é algo como uma partição de disco rígido, RAM ou um pendrive, por exemplo. O sistema de arquivos type é o formato usado para armazenar dados no sistema de arquivos, por exemplo, ext4, vfat ou muitos outros. Os sistemas de arquivos (dispositivos) podem ser montados como diretórios (pastas), também chamados de pontos de montagem.

Para executar um sistema operacional, você deve ter um sistema de arquivos raiz, onde o sistema operacional está instalado. Isso é montado como / (root) durante a inicialização e todos os outros sistemas de arquivos são montados sob ele. Nos exemplos fornecidos, / usr e / var podem ser parte do sistema de arquivos raiz ou sistemas de arquivos separados (uma partição diferente na mesma ou em outra unidade que /). Se sistemas de arquivos separados, eles podem até ser um tipo de sistema de arquivos diferente de / (eu acho!). Por outro lado, / proc é um sistema de arquivos na RAM (também conhecido como um disco RAM) com seu próprio tipo com o mesmo nome, proc.

O comando mount em um terminal fornece essas informações sobre todos os sistemas de arquivos montados: dispositivo, ponto de montagem, tipo. Por exemplo:

user@box:~$ mount
/dev/sda7 on /home type ext3 (rw,relatime,errors=remount-ro,commit=0)
proc on /proc type proc (rw)

Isso significa que eu tenho a partição sda7 montada como / home (com todos os meus dados preciosos!) e é formatada com o tipo ext3; O proc do dispositivo é montado em / proc com o tipo proc. As permissões para cada sistema de arquivos também são fornecidas (rw, etc).

Um último ponto: os sistemas de arquivos são frequentemente referenciados por seus pontos de montagem. Ou seja, no exemplo acima, eu poderia dizer que o dispositivo sda7 é o meu sistema de arquivos / home. Isso não é estritamente correto, embora seja claro para a maioria das pessoas: significa que o sistema de arquivos deve ser montado com o ponto de montagem / home. Mas não há nada que me impeça de montar o sistema de arquivos em sda7 em pontos de montagem / work, / hotel ou / sunny_beach. De fato, os dados brutos também podem ser acessados diretamente em / dev / sda7 (montado ou desmontado) sem conhecimento do sistema de arquivos subjacente. Isso pode ser útil para a recuperação de dados em casos de corrupção do sistema de arquivos, quando o sistema de arquivos não pode mais ser montado, mas o dispositivo ainda é legível. Esse acesso direto, no entanto, é potencialmente desastroso e deve ser usado apenas em circunstâncias excepcionais.

    
por Noons 04.10.2011 / 11:48