Exemplos práticos de tabelas de partições

Ao pesquisar sobre o assunto, percebi que existe uma grande preocupação em descrever os vários tipos de sistemas de arquivos e suas respectivas implicações, assim como as definições usuais dos diretórios e seus aspectos correspondentes.

[ Hits: 40.004 ]

Por: FLAVIO MOURA em 09/01/2013 | Blog: https://programnt-enm.weebly.com


Apresentação



Olá a todos! Esse é meu primeiro tutorial, pelo menos aqui no VOL.

Gostaria de iniciar com exemplos práticos de tabelas de partições, sem me aprofundar muito em questões teóricas. Até porque a galera que usa o sistema GNU/Linux praticamente esgotou o assunto.

De qualquer forma segue ao final, a título de ilustrar melhor o tópico, uma breve descrição de alguns dos tipos de diretórios e suas principais atribuições, e o por quê escolhi criar partições específicas para estes diretórios, e não outros.

Lembrando que o tamanho das partições é escolha pessoal de acordo com o uso que cada um faz do sistema. Os modelos a seguir foram utilizados em três distribuições diferentes (Slackware, Debian e BackTrack), com três tamanhos de discos mais usuais existentes em máquinas "mais modestas", com 2.0 GB de RAM.

Lembrando que os valores (tamanho do disco) considerados pelo sistema nem sempre serão demonstrados. Para chegar a um valor padrão, basta uma conta simples fazendo uso de regra de três, na maioria das vezes o valor demonstrado no momento da instalação é padrão (160GB, 200GB, 320GB...). Como ocorre, por exemplo no Ubuntu, e o sistema se encarrega de interpretar o valor real.

Em todo caso, na maioria dos sistemas a divisão é clara.

Obs.: O valor considerado pelo sistema é bastante relativo e varia dentre as distribuições e até mesmo dentre os fabricantes do disco escolhido. Logicamente, em caso de dual-boot, as dimensões escolhidas seriam outras.

Em minha opinião, fica mais fácil criar partições utilizando valores múltiplos de cinco (05/10/20/25/30/35...); ainda existe a possibilidade de criação de uma partição específica para backup, não fiz essa opção na construção da tabela porque uso um HD externo para este fim.

Como já disse antes, em se tratando do tamanho e tipo, a escolha é pessoal e vai depender das necessidades e usos de cada um. Por exemplo, apesar do que possa parecer, /root e /home são partições opcionais.
O último exemplo, utilizando um disco de 250 GB:

Algumas considerações

/var: A partição para o diretório /var não é aconselhável, a não ser no caso de um servidor. Esta partição é especifica para o conteúdo dinâmico do sistema.

Ex.: fila de impressão, e-mail, log etc.

* CUIDADO! Quando se trata de gerenciamento de processos, um tamanho mal calculado poderá sobrecarregar o diretório, acarretando manutenção e por consequência, indisponibilidade do sistema.

/root: O diretório /root é semelhante ao diretório /home, porém, (no exemplo) seria utilizado para armazenar apenas arquivos pessoais, profiles e configurações específicas do administrador do sistema. Apesar de opcional, mantê-lo é sempre uma boa escolha, pois os arquivos do superusuário estarão sempre separados dos arquivos pertencentes a usuários comuns.

/boot: O diretório /boot, acredito que seja do conhecimento de quase todos, contém informações essenciais à inicialização básica do sistema. O gerenciador de inicialização GRUB armazena seu arquivo de configuração dentro da estrutura deste diretório (subdiretório grub).

Já o gerenciador LILO, devido à limitação de hardware em alguns micros i328, necessita de uma alocação do /boot em partição separada, preferencialmente entre os primeiros 1024 cilindros do dispositivo de boot primário. É interessante mantê-la no início da tabela, teremos como resultado, tecnicamente, mais agilidade no boot.

* Importante: Lembre-se de classificá-la como bootável no momento da criação da tabela.

Antes que alguém pergunte: Por que do espaço "diferenciado" para o diretório /usr? Ora, este diretório mantém a segunda maior árvore de estruturas de subdiretórios do sistema, contém praticamente uma segunda árvore de diretórios inteira, independente da primeira. Seus subdiretórios (bin, include, lib, local, sbin, share, src) organizam informações, como dados de programas, comandos e serviços.

* Atenção: Não confundir! Apesar de alguns destes diretórios supracitados já existirem dentro da raiz (/), estes são completamente diferentes, pois o conteúdo do diretório /usr (com exceção de /usr/local), poderá ser compartilhado, pois não é essencial à inicialização básica do sistema.

Para quem trabalha com desenvolvimento Web, que é o meu caso, e utiliza uma infinidade de programas e aplicativos, é prudente manter um espaço razoável para este diretório.

/tmp: O diretório /tmp funciona como um centralizador de dados temporários, geralmente de uso exclusivo do próprio sistema e principalmente das aplicações. Por ser um diretório de permissões abertas, em que qualquer usuário poderia gravar dados, é recomendável alocá-lo em uma partição separada da raiz (/). Por este motivo, ela faz parte da tabela.

Entretanto, também existe a possibilidade de redefinir suas permissões fazendo o uso do controle de limites no sistema, isso seria suficiente para afastar usuários mal-intencionados.

* Atenção: Alguns diretórios são essenciais à inicialização básica do sistema (exemplo: /sbin, /etc, /lib, /dev...) e, com exceção do diretório /boot, não poderão ficar em partição diferente da partição em que se encontra o diretório raiz (/).

Todo o exposto serve de base para uma instalação básica, sabemos que o sistema trabalha muito bem com valores bem inferiores (sei que muitos vão entrar em colapso com o tamanho, por exemplo, do diretório /boot), mas para simplificar, como já havia dito, costumo fazer múltiplos de cinco.

O que sobra em Gigas, geralmente fica na última partição, no geral o que excede o habitual costumo realocar, como ficou claro, no diretório raiz (/) em /usr e em /home.

As tabelas foram criadas com base em experiências práticas, no caso experiência pessoal, em acordo com, além das citadas ao final, inúmeras referências e leituras das mais diversas. Por favor, postem sugestões e críticas para que eu possa melhorar as tabelas em poste futuro.

Abraços a todos!

Referências

  • Techno Edition Editora Ltda; Linux LPI 101 - Fundamentos. 1ªEdição São Paulo 2009
  • Techno Edition Editora Ltda; Linux LPI 101 - Implementação e Administração. 1ªEdição São Paulo 2009.
  • SIQUEIRA, Luciano Antonio. Certificação LPI-1 3ªEdição São Paulo: Linux New Media do Brasil Ltda, 2009

   

Páginas do artigo
   1. Apresentação
Outros artigos deste autor

Slackware 13.37 - Compreendendo o processo de inicialização

Leitura recomendada

Atributos de arquivos no Linux

Redimencionando SWAP sem reinstalar o Linux

Configuração fácil de um servidor PPP

Tranformando Ubuntu Breezy em Ubuntu Dapper

Adicionando ou removendo discos do Storage

  
Comentários
[1] Comentário enviado por removido em 10/01/2013 - 00:40h

Meus 0,01%

Para a tabela de partições, a menos que se utilize uma placa mãe antiga ou dual boot com um sistema operacional que não tenha suporte, é mais pratico criar-la em GPT e criar apenas partições primarias.

Para a maioria dos cenários, 250MB para o /boot é mais que suficiente (du -sh /boot), dificilmente alguém utilizara mais que 100MB, mesmo com alguns kernels instalados para teste ou por precaução.

Para sistemas que não utilizarão o recurso de hibernação, não vejo grande utilidade em ter uma partição swap muito grande.

Conforme os serviços utilizados e o objetivo da instalação, os diretórios /var, /usr e dependendo das configurações do sistema, o /tmp, podem "crescer" rapidamente. Se estiver instalando o sistema para um servidor ou tiver algum conhecimento sobre LVM no caso de desktop, use.



GPT:
http://en.wikipedia.org/wiki/GUID_Partition_Table


LVM:
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29
https://www.ibm.com/developerworks/mydeveloperworks/blogs/752a690f-8e93-4948-b7a3-c060117e8665/entry...

[2] Comentário enviado por Jvek em 10/01/2013 - 17:20h

Valeu pela dica,.. como disse, logo no início, são pcs antigos (logo as placas também são), com relação ao tamanho destinado a cada diretório realmente depende das configurações e usos de cada um como procurei deixar claro; é bem pessoal. Abrç.

[3] Comentário enviado por Lerub em 11/01/2013 - 05:28h

Bem inteessante esse seu artigo. Goostei muito!

[4] Comentário enviado por mastermanson em 15/01/2013 - 13:15h

no caso de um pc, novo com essas configs
CPU i7 920 @4,2ghz , HD Seagate Barracuda Sata3 500gb, com 4gbram 1600mhz ocz platinum 7-7-7-21, MB Evga x58 sli3
Ubuntu 12.10 32bit dual boot com w7 64bit

tentei criar driversas vezes alguma estrutura de partições para o linux, mas sempre sou desmotivado em foruns a faze-lo... então ficaria 1 dúvida, pretendo adiquirir mais 2 hds e criar partições separadas para ter algum desempenho de leitura de disco dividir algumas partições mais usadas em discos diferentes como nos exemplos de estrutura que você propos....

acha válido realizar esse procedimento? se sim, os 2 discos seriam SATA 3, quais diretórios você aconselharia manter em discos separados?

inicialmente ja pretendo manter o '/home' em partição e disco separados da geral '/'

[5] Comentário enviado por Jvek em 19/01/2013 - 11:44h

Cara sinceramente, não aconselharia esse tipo de procedimento.
Apesar do que possa parecer o particionamento é um processo muito delicado. Devo confessar que nunca fiz teste com partições em RAID, até por que nunca houve real necessidade. Eu aconselho que tu mantenha o sistema em um único disco. Quanto o número de partições, vai depender do uso da máquina. Meu texto é bem básico, aproveito seu comentário, aliás muito produtivo, para acrescer mais algumas informações que com certeza irão auxiliá-lo em tuas instalações.

Pois bem;

O sistema operacional precisa de ao menos uma partição para, via de regra, ele próprio, onde o usuário poderá também, se assim desejar, colocar seus arquivos e aplicativos. Contudo é mais indicado, e vantajoso, criar partições menores para hospedar partes separadas do sistema.

Assim, para citar um exemplo, o reparo de algum problema poderá ser feito mais facilmente localizando somente a partição afetada. Além do que um problema com algum procedimento específico não virá afetar as outras partes do sistema.

Aproveito para fazer uma observação: Não mencionei no post, mas vale a dica; segundo o Multi Disk HOWTO, partições maiores do que 6GB não devem ser criadas com o sistema de arquivos ext2 aplicado a elas. Existem algumas verificações periódicas de integridade executadas em partições com esse tipo especifico de sistema de arquivos e em partições muito grandes poderá ocorrer alguma lentidão durante a inicialização do sistema.

Por fim, vale algumas observações a seguir:

É altamente recomendável uma partição separada somente para o diretório raiz (/).

A raiz contém, necessariamente, os diretórios /etc, /bin, /sbin, /lib e /dev os diretórios essenciais do sistema em caso de comprometimento de qualquer outra partição ainda assim será possível a inicialização permitindo assim o seu reparo.

Já relatei no post, mas vale ressaltar: o diretório /usr é; normalmente, o que mais vai ocupar espaço em disco vale a regra de reservar um tamanho razoável a esse diretório. Agora uma coisa que não citei, se muitos programas – principalmente; e mais especificamente, aqueles que não fazem parte de sua distribuição Gnu/linux – forem instalados, é bom criar uma partição /usr/local separada para armazená-los;

Se a máquina for funcionar como um servidor de e-mail, não é este o meu caso, é altamente recomendável separar o arquivo /var/mail em uma partição própria. Simplificando, é um salvaguarda de efeito spam, lotação e congestionamento nas outras partes do sistema.

Não poupe espaço para /home, é aqui que ficarão seus arquivos pessoais e de demais usuários do sistema imagens, videos etc..;


Minha sugestão:


Reserve 200GB para o sistema Gnu/Linux; deixe o restante para o outro sistema. Utilize a tabela 02 que corresponde a esse tamanho de disco. Com as configurações de hardware de sua máquina não me preocuparia com partição swap. Mesmo assim não deixe de criá-la diminua o tamanho dela para 1GB realoque o restante para /usr, /home ou raiz (/).

Tu já deve ter ouvido muito falar em o quanto é desnecessário o uso de /swap em máquinas com esse tamanho de RAM; mas, ninguém sabe o dia de amanhã, tu pode perder, por alguma infelicidade do destino, 03GB de RAM da noite p/ dia; parece difícil, mas já vi acontecer, por isso fica a sugestão. É claro que a partição poderia ser criada posteriormente, mas é melhor economizar nosso tempo. Em caso de problemas desse tipo é muito mais prático redimensionar.

Se não for um servidor, diminua, ou simplesmente elimine, a partição /var. Aqui também vale a observação anterior feita com relação a partição /swap, o pc pode muito bem dormir Doméstico e amanhecer Servidor.

Use sistema de arquivo ext4. Paira no ar a dúvida: E quanto ao reiserFS? Seu futuro, pelo menos por agora, é incerto. Por esse motivo não optei por essa escolha.

A título de curiosidade, e para complementar melhor o post, listo a seguir algumas vantagens do sistema de arquivos ext4:

Este tipo de sistema de arquivos suporta volumes de até 1 exabyte e, possivelmente, virá suportar arquivos tão grandes quanto o volume propriamente dito;

Possui compatibilidade com ext3, o que possibilita a montagem de um volume ext3 como ext4;

A maioria dos sistemas de arquivos reserva o espaço no disco quando um arquivo é criado. Isso não é necessário no ext4;

O número de subdiretórios no sistema de arquivos ext4 é o dobro de seu antecessor (32000 no sistema ext3).

Inúmeras técnicas de desfragmentação aplicadas no sistema de arquivos, quase que praticamente nulas até mesmo no ext3, prometem encontrar lugar em uma ferramenta única, no volume completo, no ext4 com um sistema de checksum para o journal, já que o mesmo é muito utilizado e corre sempre riscos de acabar corrompido.



Cara é isso. Espero ter ajudado,
Em caso de sistemas e/ou configurações mais complexas recomendo uma consulta ao documento Multi Disk HOWTO (Vá direto a seção C.1):

http://www.tldp.org/HOWTO/Multi-Disk-HOWTO.html (inglês)
http://www.debian.org/releases/stable/alpha/install.txt.pt_BR (Pt-Br)


Abrçs, sucesso na sua instalação!

[6] Comentário enviado por mastermanson em 19/01/2013 - 15:24h

Muito Obrigado pelas dicas jvek mas a ideia não é usar raid no sistema
e sim 3 portas SATA3 (6gb/s)

acho que da forma que citou farei o seguinte com 3 hds

sda1 = / -ext4
sdb1 = /home e /usr -ext4
sdc1 = Ruindows7 -ntfs
sdc2 = swap


enquanto tiver apenas 1 hd 500gb

sda1 = windows 70gb ntfs primaria
sda2 = aqueles 300mb que o windows 7 reserva
sda3 = arquivos 370gb primaria -ntfs para videos, fotos e jogos do windows para acessar o windows

sda4 estendida
sda5 = ubuntu 12.10 15gb = / -ext4
sda6 = o restante para /home -ext4 e /usr -ext4 mais ou menos 33gb
sda7 = swap 1gb

mais 1 vez obrigado pelas dicas e sugestões, e parabéns pelo artigo



[7] Comentário enviado por Jvek em 19/01/2013 - 16:22h

Agradeço pelo comentário mastermanson, .. quando li no início de teu comentário anterior sobre o uso de mais de um hd realmente logo pensei em Raid. Agora ficou claro.

Seu esquema ficou muito bom, eu particularmente não gosto do gerenciamento de /boot com mais de um sistema, dá muito trabalho sei lá,... Mas nem todos se dão ao luxo de ter mais de uma máquina para trabalhar com dois sistemas diferentes; além do que ter tudo a mão em uma só máquina com as configurações a seu gosto tem lá suas vantagens. Tudo é mesmo muito relativo e depende muito da máquina que vai rodar a distro.

Em uma máquina como a sua a /swap realmente não necessita de um espaço tão amplo, como bem lembrou o colega erisrjr em seu comentário. Enfim, as coisas vão sempre se alterando,.. com a chegada do HD externo, expansão da L cache na placa com espaços mais significativos e memórias mais arrojadas muitas coisas deixam de fazer sentido. Hoje em dia é raro quem faça uso de certas configurações, também pudera é só olhar dez anos atrás e ver o quanto tudo mudou, mas a frente nem penso, talvez imagine, o que virá.

Tu fez bem em reservar uma fatia muito maior para o Ruindows7, porém não substime o ubuntu 12.10, rodei essa distro em uma máquina virtual e nem reservando 1G de Ram na instalação obtive um desempenho descente. Lógico que com a instalação direta no disco as coisas são bem diferentes; mas infelizmente, é fato, de algumas versões p/ cá o Ubuntu vem deixando muito a desejar.

Abrçs.

[8] Comentário enviado por removido em 30/01/2013 - 17:02h

Olá.Parabéns pelo texto.

Fiquei com a dúvida de que se a partição /mnt do texto é uma partição extra que seria montada ocasionalmente ou um local onde seriam montados vários dispositivos, Senão bastaria que ela apenas ficasse na raiz.

No caso da /tmp, há ainda a /var/tmp. Se ela também fosse mantida em separado, elas poderiam ser montadas com opções que proibem execuções de arquivos e uso do suid bit em alguma execução. Fica ruim de desmembrar a /var depois de instalado o sistema por cp ou mv simples: o sistema acusa erro durante boot.

[9] Comentário enviado por Jvek em 02/02/2013 - 10:06h

Tudo bem Listeiro! O diretório /mnt, no exemplo das tabelas, é sim uma partição. Esse diretório era antigamente utilizado p/ armazenar pontos de montagem de dispositivos em geral (cd/disquete etc.) como tu bem lembrou.

Logo após a criação do diretório /media ele passou a ser responsável por manter pontos de montagem p/ sistemas de arquivos temporários, acessar uma partição temporariamente, copiar dados etc; por esse motivo é interessante mantê-lo separado do raiz.

Essa função de montagem de dispositivos passa a ser então do diretório /media. Esse diretório (/media) não faz parte da tabela por motivos práticos, simplesmente não havia necessidade para tal.

Não acho interessante a partição /var/tmp já que ele é um subdiretório /var (assim como o /cache, /log, /spool e /mail) e este já faz parte da tabela.

Esse subdiretório que tu citou em especial (/var/tmp), mantém arquivos, temporários, que poderiam ser reutilizados mesmo após o reboot. Acredito que mantendo a partição /var já seja mais do que o suficiente. Na verdade para um usuário doméstico essa partição não é tão importante assim, como bem lembrou um de nossos colegas em um dos comentários; .. depende muito do uso que tu pretende fazer do sistema.

Abç.

[10] Comentário enviado por removido em 03/02/2013 - 22:01h

@Jvek

Não é exatamente assim com os diretórios /media e /mnt.

Embora as midias removiveis(Pendrive, hd externo, DVD etc. sejam montadas "Automaticamente" pelas distribuições em /media

O diretório /mnt pode ser utilizado para montagem de sistemas de arquivos "externos" (Geralmente é assim), como por exemplo, um ponto de montagem para um disco ou compartilhamento que é usado especificamente(Embora muita gente utilize como ponto de montagem para discos e estruturas que não fazem parte do sistema):
/mnt/meu-disco-de-dados
/mnt/dados/
/mnt/fotos
/mnt/documentos-importantes
/mnt/disco-de-backup
/mnt/arquivo-tranqueiras

Ou um compartilhamento via nfs, sshfs, cifs(Windows/samba)...:
/mnt/diretório-remoto.

E NÂO (Desculpe a letra maiúscula, mas não sei como deixar em negrito nos comentários) existe razão para criar uma partição exclusiva para ela (A /mnt ou mesmo a /media). Note que os arquivos são montados em subdiretórios abaixo de /mnt, algo como /mnt/disco e não diretamente em /mnt. Os arquivos NÂO estão em /mnt, mas sim em /mnt/diretório-de-montagem-do-disco-compartilhamento. Por isso não existe necessidade de separa-la (Se montar as partições de forma correta, abaixo de /mnt, como em /mnt/disco, ao separar-se o /mnt, estara apenas desperdiçando espaço em disco.


http://www.hardware.com.br/guias/entendendo-linux/entendendo-diretorios.html

http://www.linuxfoundation.org/tags/filesystem-hierarchy-standard

http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html

[11] Comentário enviado por removido em 03/02/2013 - 22:13h

@Listeiro037
"Fiquei com a dúvida de que se a partição /mnt ... Senão bastaria que ela apenas ficasse na raiz. "

Conforme meu comentário anterior, isto é o que basta para este diretório.

[12] Comentário enviado por Jvek em 04/02/2013 - 19:24h

Tudo bem erisrjr ,.. então cara, como tu mesmo disse, na verdade eu também já havia citado no comentário anterior, o diretório /mnt é onde se montam sistemas de arquivos temporários, pelo menos enquanto façamos uso destes.

Poderíamos, por exemplo, montar uma partição de um sistemaX para executar algumas operações de recuperação de arquivos, você poderia montá-lo em /mnt/SistemaX (como tu bem sugeriu).

Entretanto, nada impede a montagem de outros sistemas de arquivos em qualquer outra parte do sistema, mais àê (a não ser que por motivos muito especificos) já vira bagunça não é mesmo?.

A minha intenção principal foi demonstrar o modo pelo qual poderia ser particionado o sistema sem o seu comprometimento funcional com base em experiências sólidas sustentadas pelas referências que indiquei ao final do artigo. Obviamente existem milhares de outras formas de se fazer isso.

O objetivo, como bem lembra o título do artigo, é prático; lógico que a intenção era exatamente essa conforme forem surgindo os comentários, bem produtivos por sinal, dos colegas busco responder, na medida do possível, para em breve reelaborar o texto com uma tabela de partições mais específica a realidade da ampla maioria dos usuários Gnu/Linux.

Lembrando que um dos propósitos do texto é encorajar aqueles; iniciantes no universo Gnu/Linux, que por algum motivo resolveram adotar esse sistema como principal para seu uso doméstico. E que estes possam ter mais opções de configurações além das muitas já existentes. Por este motivo não me aprofundei nas funcionalidades principais de cada diretório.

Só p/ frisar: o diretório /média é utilizado para manter pontos de montagem de dispositivos (função que um de nossos colegas havia atribuído ao diretório /mnt em um comentário anterior ao teu), e foi a essa pergunta em especifico que direcionei meu comentário anterior.

Ainda assim dou razão ao comentário do colega, super válido. Num passado não muito distante, a convenção para a montagem de tais dispositivos era sim dentro do diretório /mnt; ou qualquer outro ponto do raiz (/), como já mencionei anteriormente. Entretanto essa nova organização mantém a localização para o acesso a esses pontos de montagem, de maneira muito mais prática e intuitiva.

O diretório /mnt, só para citar um exemplo, fica responsável por manter pontos de montagem para sistemas de arquivos temporários (acessando uma partição temporariamente) copiar um dado específico e prover o compartilhamento de arquivos entre sistemas.

Bom é isso; agradeço muito o seu comentário; espero que a galera continue contribuindo, só para terminar, o diretório /mnt poderia , obviamente, ser redimencionado para adequar-se a qualquer tipo de uso; quando o assunto é organização não me preocuparia muito com esse lance de desperdicio de espaço em disco; essa discussão faria sentido no final dos anos oitenta (nos meus 16, 17 anos...) quanto o tamanho dos discos raramente ultrapassava os 40GB; nessa época pastei um bocado para economizar em gigas,.. sinceramente nos dias de hoje é raro encontrar no mercado um disco com o tamanho inferior a 300GB. Mas,.. cada um cada um;..

Agradeço a todos e aqueles que; como o companheiro erisrj, puderem contribuir; fica aqui uma tola reflexão da idéia principal do artigo:

- Existem diretórios reponsáveis pela inicialização básica do sistema esses, obrigatóriamente, deverão ficar dentro do diretório raiz (/);

....já aqueles que não são, necessáriamente, essenciais a inicialização, por suas especificações e atributos, (e sua partição em separado do raiz não compromete o sistema funcionalmente) por que razão deveriam ser mantidos no diretório principal?

Abçs a todos.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts