Divisões lógicas de discos
Ao instalarmos um sistema operacional ou ao adicionarmos um disco ao nosso computador, precisamos particionar e formatar este disco. Na verdade, não conseguimos usar um disco, seja ele um HD, um CRROM, uma pendrive ou qualquer outro tipo de unidade de armazenamento sem que estejam devidamente preparados com o particionamento.
Mas o que significa particionar e formatar?
Partições
Particionar um disco significa criar áreas dentro de um disco físico. Cada área será utilizada terá alguma função no nosso sistema. Em sistemas Unix-like precisamos de no mínimo duas partições, sendo:
- principal: é uma partição que pode ocupar quase todo o disco, nela estarão os arquivos de sistema, usuários e tudo o que o computador precisa para funcionar. É referenciada pelo sistema Debian como / (chamamos isto de raiz);
- swap: área especialmente reservada para memória virtual do sistema operacional.
No entanto, podemos criar estruturas de particionamento diferentes desta mínima procurando organizar nosso computador. Por exemplo:
- principal: com arquivos de sistema, referenciada como /
- swap: com memória virtual;
- home: com arquivos de usuários, referenciada como /home.
Ou ainda
- principal: com arquivos de sistema, referenciada como /
- swap: com memória virtual;
- home: com arquivos de usuários, referenciada como /home.
- Outra: com outras coisas que queremos separar – tipo
Formatação
A formatação é o procedimento de criar um sistema de arquivo em uma partição. O sistema de arquivo é o jeito pelo qual os arquivos são registrados no disco – cada sistema tem o seu formato. Em outras palavras, um sistema de arquivos do Linux, é diferente do sistema de arquivos do DOS e assim por diante. Veremos mais sobre sistemas de arquivos na unidade H.
|
 |
Uma partição contém somente uma um sistema de arquivos por vez
| |
|
|
Particionando e formatando
Para este exercício, será necessário um disco vazio – que pode ser acrescentado na máquina virtual.
- Desligue o computador virtual e selecione a máquina que estamos usando;
- Clique em "Edit virtual machine settings";
- clique no botão "ADD";
- escolha "Hard Disk" e clique Next;
- escolha "Create new virtual disk" e clique em Next;
- escolha "SCSI (Recommended)" e clique em Next;
- escolha "Split virtual disk into multiple files", matenha o tamanho em 8,0 GB e clique em Next;
- não modifique o File Name e clique em Save.
Agora ao iniciar a máquina virtual, você terá um novo disco para experimentarmos.
- uma unidade e disco sem dados;
- acesso de root – parar isso, faça logon normalmente com usuário, abra um terminal e execute o comando su - root; este comando irá abrir uma sub-sessão com privilégios de administração (observe que o sinal de shell mudará para #);
- paciência e cuidado;
- uma lida rápida no help do fdisk (# fdisk -h).
-
Vendo os HD's e partições disponíveis:
-
Comando # fdisk -l
root@debian:~# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e4df
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 996 7993344 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 996 1045 392193 5 Estendida
/dev/sda5 996 1045 392192 82 Linux swap / Solaris
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
O disco /dev/sdb não contém uma tabela de partições válida
root@debian:~#
|
-
Analisando a captura de tela acima, verificamos nos destaques sublinhados que foram detectados dois discos, sendo:
- /dev/sda que corresponde ao primeiro disco usado na instalação;
- /dev/sdb que corresponde ao segundo disco recentemente adicionado;
-
Observa-se também que o disco /dev/sda possui 3 divisões sendo:
- /dev/sda1 – partição primária com formato ext3 de 7993344 Bytes;
- /dev/sda2 – partição estendida de 392193 Bytes;
- /dev/sda3 – partição swat de 392192 Bytes
-
Observa-se também que o disco /dev/sdb não possui partições. Nosso objetivo agora é criar partições. A título de exemplo, vamos criar 3 partições, sendo:
- 1 ext3 com 3GBytes – padrão para sistemas linux;
- 1 ext4 com 3GBytes – evolução do padrão ext3 tenderá a substituir o ext4;
- 1 fat32 com o resto de bytes – padrão para discos que precisam ser compartilhados como pendrives e carões de memória. Este padrão não tem controle de permissões de acesso aos arquivos.
-
Particionando
-
Entrar no particionador:
# fdisk /dev/sdb → Comando (m para ajuda):
|
 |
Não particionar o disco /dev/sda – caso contrario nosso sistema se perderá
| |
|
|
Ao entrar no particionador, recebemos o prompt Comando (m para ajuda): onde podemos digitar m para obter ajuda. Neste pequeno guia, podemos ver, por exemplo, usamos 'q' para sair.
-
Criar a primeira partição: comando n
- A letra 'n' irá criar nova partição e o particionador pede o tipo que queremos primária ou estendida. - escolhemos partição primária;
- O prompt nos pergunta qual o número da partição - como é a primeira, escolhemos 1;
- O prompt nos pergunta o primeiro cilindro (onde a partição começa) – como é nossa primeira partição, escolhemos cilindro 1;
-
O prompt nos pergunta qual o último cilindro (até onde nossa partição vai) – como queremos uma partição de 3GBytes, informamos o TAMANHO da partição com o comando +3G;
Neste ponto nossa primeira partição está criada.
-
Ver a partição criada: comando p
- Como podemos ver na captura de tela abaixo a partição /dev/sdb1 foi criada;
Comando (m para ajuda): p
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc4cc3d31
Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 83 Linux
|
-
Criar a segunda partição: comando n
- A letra 'n' irá criar nova partição e o particionador pede o tipo que queremos primária ou estendida. - escolhemos partição primária;
- O prompt nos pergunta qual o número da partição - como é a segunda, escolhemos 2;
- O prompt nos pergunta o primeiro cilindro (onde a partição começa) – como é nossa segunda partição, devemos começar de onde a primeira terminou, para isto basta teclarmos enter e o particionador define o primeiro cilindro vago como incio da nossa partição.
- O prompt nos pergunta qual o último cilindro (até onde nossa partição vai) – como queremos uma partição de 3GBytes, informamos o TAMANHO da partição com o comando +3G;
Neste ponto nossa segunda partição está criada.
-
Ver as partições criadas: comando p
-
Como podemos ver na captura de tela abaixo as partições /dev/sdb1 e /dev/sdb2 foram criadas;
Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 83 Linux
/dev/sdb2 394 786 3156772+ 83 Linux
|
-
Criar a terceira partição: comando n
- A letra 'n' irá criar nova partição e o particionador pede o tipo que queremos primária ou estendida - escolhemos partição primária;
- O prompt nos pergunta qual o número da partição - como é a terceira, escolhemos 3;
- O prompt nos pergunta o primeiro cilindro (onde a partição começa) – como é nossa terceira partição, devemos começar de onde a segunda terminou, para isto basta teclarmos enter e o particionador define o primeiro cilindro vago como incio da nossa partição.
- O prompt nos pergunta qual o último cilindro (até onde nossa partição vai) – como esta é a última partição, queremos que ela ocupe todo o resto do disco, basta teclarmos enter. TODO o espaço disponível é alocado a nossa terceira partição.
Neste ponto nossa terceira partição está criada.
-
Ver as partições criadas: comando p
-
como podemos ver na captura de tela abaixo as partições /dev/sdb1, /dev/sdb2 e /dev/sdb3 foram criadas;
Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 393 3156741 83 Linux
/dev/sdb2 394 786 3156772+ 83 Linux
/dev/sdb3 787 1044 2072385 83 Linux
|
-
Mudando o tipo das partições: comando t
- Todas as partições foram criadas para o mesmo tipo de sistema de arquivos. Isto pode ser verificado pelo código 83 em ID – que corresponde ao padrão ext. Precisamos modificar o ID /dev/sdb3 que deve ser preparada para fat32.
- Após teclar t, o prompt nos pergunta qual o número da partição - como é a terceira, escolhemos 3;
- O prompt nos pergunta o código hexadecimal que irá identificar o tipo que iremos definir. Aqui pressionamos L para ver os códigos possíveis – o particionador tem uma grande variedade de opções para escolha.
- Ao verificar a lista, temos (na primeira coluna) encontramos o código b, que corresponde ao padrão W95 FAT32.
-
Ao verificarmos com o comando p temos:
/dev/sdb3 787 1044 2072385 b W95 FAT32
-
Formatando
-
Usando partições
-
Para podermos usar uma partição em um sistema Unix-Like, precisamos fazer um procedimento de montagem, onde um diretório especialmente criado servira de "link" para nossa partição – sempre que quisermos usar a partição X usamos na verdade o diretório em que ela está "montada". A ideia se assemelha a criar um atalho de um diretório para uma partição – sempre que quisermos usar esta partição precisamos fazer a montagem.
-
Criando os pontos de montagens
- Você pode criar um ponto de montagem em qualquer lugar do seu sistema de arquivos, no entanto o Debian sugere sempre o diretório /mnt – acrônimo de "mount";
-
Dentro de /mnt precisamos criar um diretório para cada partição a ser montada – para fins de exercício, sugiro os seguintes nomes ponto1, ponto2 e ponto3.
# mkdir ponto1
# mkdir ponto2
# mkdir ponto3
-
montando – comando mount -t <tipo> <origem> <ponto>
- # mount -t ext3 /dev/sdb1 /mnt/ponto1
significa montar a partição /dev/sdb1 do tipo ext3 em /mnt/ponto1;
- # mount -t ext4 /dev/sdb2 /mnt/ponto2
significa montar a partição /dev/sdb2 do tipo ext4 em /mnt/ponto2;
- # mount -t vfat /dev/sdb3 /mnt/ponto3
significa montar a partição /dev/sdb3 do tipo FAT32 em /mnt/ponto3;
- neste momento as 3 partições estão montadas.
-
Verificando – comando df
- Como pode ser visto na captura de tela abaixo, as partições foram montadas – este comando é inofensivo;
- Obviamente, podem ser vistas também as partições do primeiro disco /dev/sda
-
# df -h → irá apresentar resultados mais interessantes.
root@debian:~# df
Sist. Arq. 1K-blocos Usad Dispon. Uso% Montado em
/dev/sda1 7867856 3421416 4046776 46% /
tmpfs 127372 0 127372 0% /lib/init/rw
udev 123032 176 122856 1% /dev
tmpfs 127372 0 127372 0% /dev/shm
/dev/sdb1 3107092 70236 2879020 3% /mnt/ponto1
/dev/sdb2 3107124 70168 2879120 3% /mnt/ponto2
/dev/sdb3 2068328 4 2068324 1% /mnt/ponto3
|
-
Usando
- Por padrão, o ponto de montagem é de uso exclusivo do root – para usuários comuns poderem trabalhar nestas áreas, sugiro que seja criado uma pasta e passar esta para o usuário e/ou grupo que está precisando – trocando o nome do dono/grupo.
-
A titulo de exercício, vamos criar uma pasta para o usuário aluno1 grupo alunos dentro de /mnt/ponto1
- # cd /mnt/ponto1 → vamos para ponto de montagem específico;
- # mkdir teste-aluno1 → cria-se a pasta; se dermos o comando ls -l verificamos que o dono da pasta é o root; precisamos então mudar o dono com o comando chown – acrônimo para "change owner" e chgrp – acrônimo para "change group"
- # chown -R aluno1 teste-aluno1 → muda o dono do diretório e de todos os seus subdiretórios;
- # chgrp -R alunos teste-aluno1 → muda o grupo do diretório e todos os seus subdiretórios;
- # ls -la → para verificar;
- drwxr-xr-x 2 aluno1 alunos 4096 Jun 2 09:51 teste-aluno1
- Agora o usuário aluno1 e o grupo alunos poderão usar a pasta teste-aluno1