Entendendo os diretórios de sistema no Linux

Entendendo os diretórios de sistema no Linux

O primeiro choque para quem está chegando agora é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. No Windows temos os arquivos do sistema concentrados nas pastas “Windows” e “Arquivos de programas”, e você pode criar e organizar suas pastas da forma que quiser. No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório “/home”. Naturalmente, é possível ajustar as permissões de uma maneira que você possa salvar arquivos em outros locais, mas isso nem sempre é uma boa idéia.

A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz ou simplesmente “/“.

Dentro deste diretório temos não apenas todos arquivos e as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos, formando a estrutura que você vê no gerenciador de arquivos:

O diretório “/bin” armazena os executáveis de alguns comandos básicos do sistema, como o su, tar, cat, rm, pwd, etc., um conjunto que na maioria das distribuições ocupa de 6 a 8 MB, pouca coisa. O principal motivo de eles ficarem separados dos outros executáveis do sistema (que vão dentro da pasta /usr) é permitir que eles continuarem acessíveis desde o início do boot, mesmo que você resolva armazená-la em um diretório separado.

Ele é complementado pelo diretório “/sbin“, que tem a mesma função básica, mas se diferencia por armazenar aplicativos que podem ser usados apenas pelo root, como, por exemplo, o “adduser”, que permite criar novos usuários.

A maior parte dos aplicativos e outros componentes ficam instalados dentro do diretório /usr (de “Unix System Resources”, ou recursos de sistema Unix). Este é de longe o diretório com mais arquivos em qualquer distribuição Linux, pois é aqui que ficam os executáveis e bibliotecas de todos os principais programas instalados:

A pasta “/usr/bin” (bin de binário), por exemplo, armazena cerca de 2.000 programas e atalhos para programas em uma instalação típica do sistema. Como os executáveis de quase todos os programas instalados são armazenados nela, o número só faz crescer conforme você instala novos pacotes.

Outro diretório com um enorme volume de arquivos é o “/usr/lib“, onde ficam armazenadas bibliotecas usadas pelos programas. A função destas bibliotecas lembra um pouco a dos arquivos .dll no Windows. As bibliotecas com extensão “.a” são bibliotecas estáticas, que fazem parte de um programa específico, enquanto as terminadas em “.so.versão” (xxx.so.1, yyy.so.3, etc.) são bibliotecas compartilhadas, usadas por vários programas. Elas são gerenciadas de maneira automática pelo gerenciador de pacotes; quando uma biblioteca é atualizada, por exemplo, são deixados links apontando para a nova versão, o que permite que os aplicativos que utilizavam o arquivos antigo continuem funcionando.

Outras pastas dignas de nota são a “/usr/local”, que é reservada a programas e scripts que você instalar manualmente; a “/usr/sbin”, que é reservada a executáveis que podem ser usados apenas pelo root (similar à pasta “/sbin”) e a “/usr/src”, que é usada para armazenar o código fonte de programas e também o código fonte do kernel (caso disponível). A pasta “/usr/X11R6” era originalmente destinada a armazenar os componentes do X, responsável pelo ambiente gráfico, mas ela está caindo em desuso.

Subindo de novo, a pasta “/boot” armazena o kernel e alguns arquivos usados na fase inicial do boot. Como pode imaginar, ele é o primeiro componente carregado pelo gerenciador de boot durante a inicialização do sistema.

Logo a seguir temos o diretório “/dev“, que é de longe o exemplo mais exótico de estrutura de diretório no Linux. Todos os arquivos contidos aqui, como, por exemplo, “/dev/sda”, “/dev/dsp”, “/dev/modem”, etc., não são arquivos armazenados no HD, mas sim ponteiros para dispositivos de hardware. Por exemplo, o “arquivo” “/dev/mouse” contém as informações enviadas pelo mouse, enquanto o “/dev/dsp” permite acessar a placa de som. Esta organização visa facilitar a vida dos programadores, que podem acessar o hardware do micro simplesmente fazendo seus programas lerem e gravarem em arquivos, deixando que o kernel se encarregue da parte complicada.

Ele é complementado pelo diretório “/proc“, que não armazena arquivos, mas sim informações sobre o hardware e sobre a configuração do sistema. Estas informações são usadas por utilitários de detecção e configuração do sistema, mas podem ser úteis também quando você quer checar alguma configuração manualmente. O comando “cat /proc/net/dev” mostra informações sobre as interfaces de rede, o “cat /proc/cpuinfo” mostra informações sobre o processador e assim por diante.

O diretório “/etc” concentra os arquivos de configuração do sistema, substituindo de certa forma o registro do Windows. A vantagem é que enquanto o registro é uma espécie de caixa preta, os scripts e arquivos de configuração do diretório “/etc” são desenvolvidos justamente para facilitar a edição manual. É verdade que na maioria dos casos isto não é necessário, graças aos vários utilitários de configuração disponíveis, mas a possibilidade continua disponível.

Os arquivos recebem o nome dos programas seguidos geralmente da extensão .conf. Por exemplo, o arquivo de configuração do servidor DHCP (que pode ser configurado para atribuir endereços IP aos outros micros da rede) é o “/etc/dhcpd.conf”, enquanto o do servidor FTP é o “/etc/proftpd.conf”. Claro, ao contrário do registro do Windows, os arquivos do “/etc” não se corrompem sozinhos e é fácil fazer cópias de segurança caso necessário. Falarei mais sobre ele no capítulo sobre o Slackware, onde o principal objetivo é justamente mostrar como configurar o sistema manualmente.

Concluindo, o diretório “/mnt” (de “mount”) recebe este nome justamente por servir de ponto de montagem para o drive óptico (“/mnt/cdrom” ou “/mnt/dvd”) e outros dispositivos de armazenamento. Na maioria das distribuições atuais ele é substituído pelo diretório “/media”, que tem a mesma função. Ao plugar um pendrive no Ubuntu, por exemplo, ele é montado pelo sistema na pasta “/media/disk”, ao plugar um cartão de memória ele é visto como “/media/card” e assim por diante.

Na verdade, o uso do diretório “/media” ou “/mnt” é apenas uma convenção. Você pode perfeitamente montar o seu pendrive dentro da pasta “/home/fulano/pendrive”, por exemplo, desde que faça a montagem de forma manual. Os diretórios padrão de montagem das partições são configuráveis através do “/etc/fstab”, que é um dos arquivos básicos de configuração do sistema.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X