/ 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) ..
/ 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) ..
Respostas:
O termo "sistema de arquivos" tem vários significados. Quando as pessoas falam sobre os nomes dos sistemas de arquivos como ext4, UFS, NTFS etc., eles têm em mente a organização do armazenamento de dados em um nível baixo (em termos de blocos na mídia). Esses "sistemas de arquivos" geralmente requerem que o driver acesse dados armazenados na mídia formatada com esse sistema de arquivos. No caso de /proc
, /usr
, root file system
ou sistema de arquivos algo simplesmente refere-se 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 selecionar 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 sejam chamados de "sistemas de arquivos" porque são frequentemente usados como um ponto de montagem para sistemas de arquivos individuais. /proc
é sempre um ponto de montagem para o procfs
sistema de pseudo arquivos que apresenta informações sobre processos e outras informações do sistema em uma estrutura hierárquica semelhante a arquivo.
Existem alguns diretórios que podem ser considerados sistemas de arquivos: /dev
, /sys
e /tmp
.
/ proc é uma pasta muito especial e não é armazenada no disco, mas na memória e é usada para fornecer informações sobre o sistema (CPU, RAM, dispositivos ..). Portanto, ele usa 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 (por exemplo, ext4) e geralmente no mesmo disco: são pastas comuns, com significados específicos. Sempre na Wikipedia, você pode encontrar informações detalhadas sobre o Filesystem Hierarchy Standard .
Eles não são realmente "sistemas de arquivos", mas este parágrafo ajuda a explicar esse uso de nomes (da referência ao FHS 2.3 ):
Para inicializar um sistema, deve haver um número suficiente na partição raiz para montar outros sistemas de arquivos. Isso inclui utilitários, configuração, informações do carregador de inicialização e outros dados essenciais de inicialização. / usr, / opt e / var são projetados de forma que possam estar localizados em outras partições ou sistemas de arquivos.
/proc
, mas não /usr
, /var
ou /home
.
Você pode pensar em um sistema de arquivos como uma estrutura que permite a criação de arquivos em um dispositivo de armazenamento de dados. O dispositivo é algo como uma partição do disco rígido, RAM ou um pen drive, por exemplo. O tipo de sistema de arquivos é 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, em que 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. A partir dos exemplos que você fornece, / usr e / var podem fazer parte do sistema de arquivos raiz ou sistemas de arquivos separados (uma partição diferente na mesma unidade ou em uma unidade diferente de /). 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 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 está formatada com o tipo ext3; proc do dispositivo está 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 geralmente referidos 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 ponto de montagem / home. Mas não há nada que me impeça de montar o sistema de arquivos no sda7 em pontos de montagem / trabalho, / hotel ou / sunny_beach. De fato, os dados brutos também podem ser acessados diretamente em / dev / sda7 (montados ou desmontados) sem o conhecimento do sistema de arquivos subjacente. Isso pode ser útil para recuperação de dados em casos de corrupção do sistema de arquivos, quando o sistema de arquivos não puder mais ser montado, mas o dispositivo ainda estiver legível. Contudo, esse acesso direto é potencialmente desastroso e deve ser usado apenas em circunstâncias excepcionais.