sábado, 18 de julho de 2009

Conhecendo a organização do sistema de arquivos do Linux

Para quem está acostumado com os sistemas operacionais da Microsoft, um usuário de DOS e Windows, pode sentir-se um pouco perdido quando começa a navegar pelo sistema de arquivos no Linux. A ausência das letras que identificam as unidades de disco, como A:\ e C:\, e também do "Meu Computador".

O sistema de arquivos do Linux é organizado de uma forma hierárquica unificada. Diferente do DOS/Windows onde cada dispositivo de armazenamento, ou partição de disco, assume uma unidade separada, no Linux os dispositivos de armazenamento, como CDs, disquetes, pendrives etc., e as partições existentes nos discos rígidos farão parte de uma única hierarquia.

No topo desta hierarquia está o diretório raiz, identificado por / (barra), e que contém todos os outros diretórios. É uma prática comum o diretório raiz conter apenas diretórios mas algumas distribuições colocam alguns arquivos neste local. O administrador do sistema não deve depositar arquivos aqui.

Dentre os diretórios existentes na raiz cada um possui uma finalidade única, com o objetivo de manter um sistema operacional organizado para o administrador e usuário. Muitos softwares são compostos por mais de um arquivo, costumam conter arquivos executáveis, bibliotecas, arquivos de configuração, alguns softwares são de uso do administrador do sistema, outros para uso dos usuários e por aí vai. Sendo assim o Linux organiza todos estes arquivos, referentes aos softwares instalados no sistema operacional, em diretórios separados.

Veja abaixo uma pequena explicação sobre a função de cada diretório no sistema de arquivos do Linux. As distribuições poderão conter outros além destes mais comuns:

/home

O diretório /home armazena os arquivos pessoais dos usuários, é a casa do usuário. Cada usuário do sistema possui o seu local particular dentro deste diretório, geralmente em um subdiretório com nome igual ao username do respectivo usuário. É o único diretório em que o usuário tem total permissão de leitura e escrita dos arquivos, os outros diretórios somente o administrador do sistema tem permissão de operar. É no diretório /home de cada usuário que ficam salvos os arquivos de configuração personalizados para o usuário.

/root

O administrador do sistema por sua vez utiliza o diretório /root como diretório pessoal. O /root é o equivalente ao /home dos usuários.

/bin

Os comandos mais fundamentais do sistema operacional possuem seus arquivos executáveis armazenados neste diretório /bin. Seu nome é uma abreviação para binário.

/sbin

O diretório /sbin contém os arquivos executáveis para a manutenção do sistema, utilizado principalmente pelo seu administrador.

/usr

A grande maioria dos aplicativos instalados, que geralmente não fazem parte do sistema operacional e que são para uso dos usuários, ficam com seus arquivos localizados nos subdiretórios do /usr. Possui uma estrutura completa para a organização dos arquivos que compõem um aplicativo, contendo subdiretórios para os executáveis, para a configuração, para as bibliotecas etc. Um aplicativo completamente integrado ao sistema operacional vai, durante sua instalação, colocar os arquivos aqui. O diretório /usr contém um subdiretório, o /usr/local, que serve como uma estrutura local para a instalação e execução de aplicativos, isolando os arquivos do aplicativo em questão do resto do sistema operacional. Outros subdiretórios são encontrados como o /usr/share que contém arquivos compartilháveis (ícones, manuais, documentação etc.), também existe o /usr/src contendo os arquivos fontes dos programas, incluindo o código fonte do kernel.

/opt

Este diretório /opt é reservado para a instalação de aplicativos de terceiros que normalmente possuem a sua própria organização na hierarquia dos arquivos, não sendo possível a integração no sistema operacional.

/etc

O diretório /etc contém todos os arquivos de configuração do sistema operacional. Quando trata-se de um aplicativo que pode ser personalizado pelo usuário, aqui poderá conter uma versão generalizada da configuração do aplicativo para uso caso o usuário não especifique algo. Também existe o subdiretório /etc/skel que contém os arquivos que irão popular inicialmente o /home de um usuário quando seu username for criado. O diretório /etc é um diretório importante pois contém todas as configurações realizadas pelo administrador do sistema e seu backup torna-se mais que necessário.

/dev

Este diretório /dev contém arquivos especiais de acesso aos dispositivos de hardware. Por exemplo o disco rígido pode ser localizado pelo arquivo /dev/hda, /dev/sdb etc., o drive de disquete é localizado pelo arquivo /dev/fd0, a porta paralela pelo /dev/lp0.

/proc

O /proc é um sistema de arquivos virtual, nenhum espaço em disco real é associado à ele. Os arquivos deste diretório são apenas acessos para informações e estatísticas fornecidas pelo kernel e também para a passagem de parâmetros para o kernel.

/var

O diretório /var contém os arquivos com dados variáveis como log, cache, filas de impressão e correio eletrônico, chaves de bloqueio de acesso à dispositivos. Tudo que é do sistema ou de algum serviço do sistema que tem seu conteúdo passivo de alteração é armazenado no /var.

/lib

As bibliotecas compartilhadas utilizadas pelos aplicativos instalados no sistema operacional, os módulos do kernel ou também bibliotecas para compilação costumam ficar neste diretório.

/boot

Este diretório /boot contém tudo o que é necessário para o processo de inicialização da máquina. Aqui ficam as imagens do kernel, mapas e configurações do sistema e o gerenciador de inicialização.

/tmp

No /tmp ficam os arquivos que são requeridos temporariamente. Muitos programas em execução mantém arquivos neste diretório e na maioria das vezes são excluídos quando a execução está encerrada.

/lost+found

Quando o sistema sofre algum travamento ou a máquina sofre alguma interrupção abrupta, na próxima inicialização o sistema faz uma checagem automática do sistema de arquivos e tenta recuperar arquivos corrompidos se for encontrado algum, o resultado desta operação é armazenado neste diretório.

/mnt

Este é um local genérico para ponto de montagem de sistemas de arquivos ou dispositivos de armazenamento. Após a montagem os arquivos são acessíveis a partir do ponto de montagem. Este diretório /mnt usualmente contém subdiretórios que servirão de ponto de montagem para sistemas compartilhados pela rede ou dispositivos, específicos, por exemplo /mnt/cdrom servirá para a montagem do sistema de arquivos de um disco inserido na unidade de CD.

/media

Semelhante ao diretório /mnt, o diretório /media serve como ponto de montagem para mídias removíveis. As distribuições modernas com seus recursos de automontagem costumam adicionar aqui os diretórios que recebem o ponto de montagem para as mídias inseridas.


Um aspecto importante no sistema de arquivos do Linux é que tudo é um arquivo ou um diretório. Todos os dispositivos de armazenamento, partições em disco, arquivos de bloco montados, compartilhamentos acessados pela rede, tudo é incorporado na estrutura hierárquica da árvore de diretórios, tudo a partir do diretório raiz. Inclusive o acesso aos outros dispositivos de hardware e aos recursos do kernel se dá através dos arquivos em diretórios.

Nenhum comentário:

Postar um comentário