Linux - Partições e Sistemas de Arquivos
Autor: Adriano R. Silva | Publicado: 2011-04-28T18:03:00-03:00

(Viva o Linux) - O Linux é muito versátil quando o assunto é sistema de arquivos e por isso, é muito importante o entendimento de suas funcionalidades. Um exemplo disso é a possibilidade de criar e manter arquivos em diferentes tipos de partições, discos, dispositivos e computadores remotos. Além disso, o Linux da suporte há vários tipos de sistemas de arquivos (EXT2, EXT3, ReiserFS, NTFS, entre outros). 

O Linux possui uma extensa gama de dispositivos de sistema, sendo que estes podem ser formatados para utilizar os mais diversos tipos de sistemas de arquivos. O diretório padrão dos dispositivos do sistema é o /dev. Observe o exemplo: 

# ls /dev&nbsp;

Dos inúmeros dispositivos apenas falarei de dois, os do tipo IDE e os do tipo SCSI. O primeiro padrão atende a maioria dos computadores caseiros enquanto o segundo é utilizado em servidores por oferecer melhor desempenho do que os discos IDE. 

As placas mãe da maioria dos computadores possuem duas interfaces IDE, primária e secundária, que podem conectar dois discos IDE cada. O padrão SCSI não tem limitação de discos como o padrão IDE, podendo chegar até pelo menos 15 discos. 

Os discos IDE e SCSI seguem as seguintes nomenclaturas nos sistemas operacionais Linux:
/dev/hda Disco IDE Mestre Primário
/dev/hdb Disco IDE Escravo Primário
/dev/hdc Disco IDE Mestre Secundário
/dev/hdd Disco IDE Escravo Secundário
/dev/sda Disco SCSI conectado no primeiro canal
/dev/sdb Discos SCSI conectado no segundo canal
/dev/sdc Discos SCSI conectado no terceiro canal

Cada disco pode ter de uma até dezesseis partições onde cada partição é representada por um número inteiro. Por exemplo /dev/hda1 será a primeira partição se houver outra partição ela será a /dev/hda2 e assim por diante sendo que a mesma regra se pratica nos discos SCSI. 

Existem quatro tipos de partições:
Partições primárias - Cada disco pode conter até quatro partições primárias elas contêm pelo menos um sistema de arquivos e pelo menos uma deve ser criada. Uma dessas partições deve ser marcada como ativa para que a carga do sistema operacional seja possível.
Partição estendida - Esse tipo de partição é um contêiner de partições lógicas, ele não pode conter nenhum sistema de arquivos e um disco pode ter somente uma partição estendida.
Partições lógicas - As partições lógicas são subpartições que existem em conjunto com a partição estendida, podem-se ter doze partições desse tipo e elas podem ser nomeadas á partir do número cinco até o dezesseis. Podemos ter no máximo 15 partições com sistemas de arquivos em único disco, sendo três primárias e doze lógicas.
Partições de swap - São partições que tem o objetivo de aumentar a performance do sistema, ela possibilita que o Linux tenha uma memória virtual em disco. Ela trabalha como um arquivo de troca de dados entre a memória física e o disco.

Criando partições e sistemas de arquivos

fdisk

O programa fdisk é um manipulador de tabelas de partições do Linux. Com ele podemos criar, mudar, listar e apagar as partições de um disco rígido. Ele nos possibilita criar vários tipos de partições com diferentes sistemas operacionais para o&nbsp;Linux.
 

Vamos listar a tabela de partições do meu sistema: 

# fdisk -l
Disk /dev/sda: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes

Device     Boot    Start    End   Blocks  Id   System
/dev/sda1  *       1        6     48163   +83  Linux
/dev/sda2          7        37    249007  +82  Linux swap
/dev/sda3          38       219   1461915  83  Linux
/dev/sda4          220      1305  8723295  5   Extended
/dev/sda5          220      705   3903763 +83  Linux
/dev/sda6          706      766   489951   83  Linux
/dev/sda7          767      888   979933  +83  Linux
/dev/sda8          889      1305  3349521  83  Linux

Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes

Disk /dev/sdb doesn't contain a valid partition table


Observe que possuo dois HDs SCSI, /dev/sda e /dev/sdb, porém o /dev/sdb ainda não tem nenhuma tabela de partições válidas. Veja que o disco /dev/sda possui duas partições primárias, uma partição de swap, uma partição estendida e quatro partições lógicas. Vamos criar algumas partições no disco /dev/sdb. Lembrando que para fazer estas operações você deve estar logado como superusuário. 
# fdisk /dev/sdb&nbsp;

Tecle m para obter a ajuda dos comandos 

Command (m for help):&nbsp;m
Command action
&nbsp;&nbsp; a&nbsp;&nbsp; Marca ou desmarca a partição como ativa para o processo de boot.
&nbsp;&nbsp; b&nbsp;&nbsp; Edita discos bsd
&nbsp;&nbsp; c&nbsp;&nbsp; Faz comutação compatível com DOS
&nbsp;&nbsp; d&nbsp;&nbsp; Deleta uma partição
&nbsp;&nbsp; l&nbsp;&nbsp; Lista os tipos de partições possíveis
&nbsp;&nbsp; m&nbsp;&nbsp; Mostra o menu de ajuda
&nbsp;&nbsp; n&nbsp;&nbsp; Adiciona uma nova partição
&nbsp;&nbsp; o&nbsp;&nbsp; Cria uma partição vazia DOS na tabela de partições
&nbsp;&nbsp; p&nbsp;&nbsp; Mostra a tabela de partições
&nbsp;&nbsp; q&nbsp;&nbsp; Sai sem salvar as mudanças
&nbsp;&nbsp; s&nbsp;&nbsp; Cria uma partição SUN disklabel
&nbsp;&nbsp; t&nbsp;&nbsp; Muda o tipo de sistema de arquivos da partição
&nbsp;&nbsp; u&nbsp;&nbsp; Muda o display
&nbsp;&nbsp; v&nbsp;&nbsp; Verifica a tabela de partições
&nbsp;&nbsp; w&nbsp;&nbsp; Grava as alterações efetuadas em disco
&nbsp;&nbsp; x&nbsp;&nbsp; Funcionalidades Extras (Somente para experts)&nbsp;

Vamos criar uma nova partição: 

Command (m for help):&nbsp;n
Command action
&nbsp;&nbsp; e&nbsp;&nbsp; extended
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)&nbsp;

Escolha "p" para criarmos uma partição primária, como podemos notar o número de partições primárias possíveis é quatro. A próxima etapa é escolher o número da partição: 

Partition number (1-4):&nbsp;1&nbsp;

Se a partição for lógica o fdisk se encarrega de numerá-la. Agora devemos escolher o tamanho da partição definindo o cilindro inicial e o cilindro final ou pelo tamanho em megabytes ou gigabytes. 

Por exemplo, para criar uma partição de 1 giga, digite +1024M ou +1G. No meu caso, selecionei 1 que é o default e depois defini o tamanho dessa partição para três gigas. 

First cylinder (1-1305, default 1):&nbsp;1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):&nbsp;+3G&nbsp;

Vamos repetir o procedimento e criar uma partição de dois gigas: 

Command (m for help):&nbsp;n
Command action
&nbsp;&nbsp; e&nbsp;&nbsp; extended
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)&nbsp;p
Partition number (1-4):&nbsp;2
First cylinder (384-1305, default 384):&nbsp;384
Last cylinder or +size or +sizeM or +sizeK (384-1305, default 1305):&nbsp;+2G&nbsp;

Agora vamos criar uma partição extendida e duas lógicas de um giga cada. No meu caso criarei uma partição extendida com as opções default: 

Command (m for help):&nbsp;n
Command action
&nbsp;&nbsp; e&nbsp;&nbsp; extended
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)
e
Partition number (1-4):&nbsp;3
First cylinder (639-1305, default 639):&nbsp;639
Last cylinder or +size or +sizeM or +sizeK (639-1305, default 1305):&nbsp;1305&nbsp;

A próxima etapa é criar as partições lógicas: 

Command (m for help):&nbsp;n
Command action
&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)
l
First cylinder (639-1305, default 639):&nbsp;639
Last cylinder or +size or +sizeM or +sizeK (639-1305, default 1305):&nbsp;+1G

Command (m for help):&nbsp;n
Command action
&nbsp;&nbsp; l&nbsp;&nbsp; logical (5 or over)
&nbsp;&nbsp; p&nbsp;&nbsp; primary partition (1-4)
l
First cylinder (767-1305, default 767):&nbsp;767
Last cylinder or +size or +sizeM or +sizeK (767-1305, default 1305):&nbsp;+1G&nbsp;

Observe que a opções agora são para criação de partições lógicas e primárias. Vamos analisar como ficou a nossa tabela de partições. Para isso tecle “p” no menu de ajuda: 

Command (m for help):&nbsp;p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot  Start  End   Blocks    Id  System
/dev/sdb1    1      83    3076416   83  Linux
/dev/sdb2    384    638   2048287  +83  Linux
/dev/sdb3    639    1305  5357677  +5   Extended
/dev/sdb5    639    766   102812   +83  Linux
/dev/sdb6    767    894   1028128  +83  Linux

Podemos verificar que todas as partições possuem sistema de arquivos com o tipo 83 ext2 e que a partição /dev/sdb3 é a partição estendida que contêm as partições lógicas /dev/sdb5 e /dev/sdb6. 

Mas suponhamos que eu necessite de um outro tipo de sistema de arquivos diferente do ext2 para uma das partições, uma partição NTFS por exemplo. Podemos usar a opção "t" para essa tarefa, observe: 

Command (m for help):&nbsp;t
Partition number (1-6):&nbsp;5
Hex code (type L to list codes):&nbsp;L&nbsp;

0&nbsp;&nbsp;Empty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1c&nbsp;&nbsp;Hidden Win95 FA 65&nbsp;&nbsp;Novell Netware&nbsp;&nbsp; bb&nbsp;&nbsp;Boot Wizard hid
1&nbsp;&nbsp;FAT12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1e&nbsp;&nbsp;Hidden Win95 FA 70&nbsp;&nbsp;DiskSecure Mult c1&nbsp;&nbsp;DRDOS/sec (FAT-
2&nbsp;&nbsp;XENIX root&nbsp;&nbsp; 24&nbsp;&nbsp;NEC DOS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75&nbsp;&nbsp;PC/IX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c4&nbsp;&nbsp;DRDOS/sec (FAT-
3&nbsp;&nbsp;XENIX usr&nbsp;&nbsp;&nbsp;&nbsp;39&nbsp;&nbsp;Plan 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80&nbsp;&nbsp;Old Minix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c6&nbsp;&nbsp;DRDOS/sec (FAT-
4&nbsp;&nbsp;FAT16 &lt;32M&nbsp;&nbsp; 3c&nbsp;&nbsp;PartitionMagic&nbsp;&nbsp; 81&nbsp;&nbsp;Minix / old Lin c7&nbsp;&nbsp;Syrinx
5&nbsp;&nbsp;Extended&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;Venix 80286&nbsp;&nbsp;&nbsp;&nbsp; 82&nbsp;&nbsp;Linux swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; da&nbsp;&nbsp;Non-FS data
6&nbsp;&nbsp;FAT16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;41&nbsp;&nbsp;PPC PReP Boot&nbsp;&nbsp; 83&nbsp;&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db&nbsp;&nbsp;CP/M / CTOS / .
7&nbsp;&nbsp;HPFS/NTFS&nbsp;&nbsp;&nbsp;&nbsp;42&nbsp;&nbsp;SFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 84&nbsp;&nbsp;OS/2 hidden C:&nbsp;&nbsp; de&nbsp;&nbsp;Dell Utility
8&nbsp;&nbsp;AIX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4d&nbsp;&nbsp;QNX4.x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 85&nbsp;&nbsp;Linux extended&nbsp;&nbsp; df&nbsp;&nbsp;BootIt
9&nbsp;&nbsp;AIX bootable 4e&nbsp;&nbsp;QNX4.x 2nd part 86&nbsp;&nbsp;NTFS volume set e1&nbsp;&nbsp;DOS access
a&nbsp;&nbsp;OS/2 Boot Manag 4f&nbsp;&nbsp;QNX4.x 3rd part 87&nbsp;&nbsp;NTFS volume set e3&nbsp;&nbsp;DOS R/O
b&nbsp;&nbsp;Win95 FAT32&nbsp;&nbsp;&nbsp;&nbsp; 50&nbsp;&nbsp;OnTrack DM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8e&nbsp;&nbsp;Linux LVM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e4&nbsp;&nbsp;SpeedStor
c&nbsp;&nbsp;Win95 FAT32 (LB 51&nbsp;&nbsp;OnTrack DM6 Au 93&nbsp;&nbsp;Amoeba&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eb&nbsp;&nbsp;BeOS fs
e&nbsp;&nbsp;Win95 FAT16 (LB 52&nbsp;&nbsp;CP/M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 94&nbsp;&nbsp;Amoeba BBT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ee&nbsp;&nbsp;EFI GPT
f&nbsp;&nbsp;Win95 Ext'd (LB 53&nbsp;&nbsp;OnTrack DM6 Au 9f&nbsp;&nbsp;BSD/OS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ef&nbsp;&nbsp;EFI (FAT-12/16/
10&nbsp;&nbsp;OPUS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 54&nbsp;&nbsp;OnTrackDM6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a0&nbsp;&nbsp;IBM Thinkpad hi f0&nbsp;&nbsp;Linux/PA-RISC b
11&nbsp;&nbsp;Hidden FAT12&nbsp;&nbsp;&nbsp;&nbsp; 55&nbsp;&nbsp;EZ-Drive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a5&nbsp;&nbsp;FreeBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f1&nbsp;&nbsp;SpeedStor
12&nbsp;&nbsp;Compaq diagnost 56&nbsp;&nbsp;Golden Bow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a6&nbsp;&nbsp;OpenBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f4&nbsp;&nbsp;SpeedStor
14&nbsp;&nbsp;Hidden FAT16 &lt;3 5c&nbsp;&nbsp;Priam Edisk&nbsp;&nbsp;&nbsp;&nbsp; a7&nbsp;&nbsp;NeXTSTEP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f2&nbsp;&nbsp;DOS secondary
16&nbsp;&nbsp;Hidden FAT16&nbsp;&nbsp;&nbsp;&nbsp; 61&nbsp;&nbsp;SpeedStor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a9&nbsp;&nbsp;NetBSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fd&nbsp;&nbsp;Linux raid auto
17&nbsp;&nbsp;Hidden HPFS/NTF 63&nbsp;&nbsp;GNU HURD or Sy b7&nbsp;&nbsp;BSDI fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fe&nbsp;&nbsp;LANstep
18&nbsp;&nbsp;AST SmartSleep&nbsp;&nbsp; 64&nbsp;&nbsp;Novell Netware&nbsp;&nbsp; b8&nbsp;&nbsp;BSDI swap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ff&nbsp;&nbsp;BBT
1b&nbsp;&nbsp;Hidden Win95 FA&nbsp;

Hex code (type L to list codes):&nbsp;7
Changed system type of partition 5 to 7 (HPFS/NTFS)&nbsp;

Command (m for help):&nbsp;p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot  Start  End    Blocks    Id  System
/dev/sdb1    1      383    3076416   83  Linux
/dev/sdb2    384    638    2048287+  83  Linux
/dev/sdb3    639    1305   5357677+  5   Extended
/dev/sdb5    639    766    1028128+  7   HPFS/NTFS
/dev/sdb6    767    894    1028128+  83  Linux

Agora vamos excluir uma partição: 

Command (m for help):&nbsp;d
Partition number (1-6):&nbsp;6

Command (m for help):&nbsp;p
Disk /dev/sdb: 255 heads, 63 sectors, 1305 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot  Start  End   Blocks   Id  System
/dev/sdb1    1      383   3076416  83  Linux
/dev/sdb2    384    638   2048287+ 83  Linux
/dev/sdb3    639    1305  5357677+ 5   Extended
/dev/sdb5    639    766   1028128+ 7   HPFS/NTFS

Para finalizar vamos gravar as alterações efetuadas em disco: 

Command (m for help):&nbsp;w
The partition table has been altered!&nbsp;

Calling ioctl() to re-read partition table.
Syncing disks.&nbsp;


cfdisk

Assim como o fdisk, o cfdisk também é um manipulador de tabelas de partições para Linux. Com ele podemos criar, modificar, excluir, listar partições assim como no fdisk. A diferença é que o cfdisk (na minha opinião) é mais interativo e fácil de usar do que o fdisk. Vamos por a mão na massa: 

# cfdisk /dev/sdb
cfdisk 2.11n

Disk Drive: /dev/sdb
Size: 10737418240 bytes
Heads: 255   Sectors per Track: 63   Cylinders: 1305

Name  Flags   Part Type   FS Type     [Label]   Size (MB)
---------------------------------------------------------------
Pri/Log  Free Space   10734.00         

[  Help  ]  [  New   ]  [ Print  ]  [  Quit  ]  [ Units  ]  [ Write ]

Print help screen 

Primeiro vamos identificar qual a utilidade de cada botão: 

[ Help ] - Exibe a tela de ajuda (Estas opções são usadas na linha de comando)&nbsp;


CommandMeaning
bSeleciona qual será a partição de boot
dDeleta a partição corrente
gMuda os parâmetros Cilindros, Cabeças e Setores por trilha
hMostra o menu de ajuda
mAumenta o espaço da partição corrente
nCria uma nova partição
PMostra a tabela de partições

Opções:
r - Dados não processados
s - Tabela ordenada por setores
t - Tabela em formato não processado

qSai do cfdisk sem salvar a tabela de partições
tMuda o tipo do sistema de arquivos
uMuda a unidade de informação de tamanho da partição no display (MB, setores ou cilindros)
WGrava a tabela de partições no disco sendo necessário confirmar esta operação com "yes" ou "no"


[ New ] - Cria uma nova partição&nbsp;

[ Print ] - Mostra a tabela de partições&nbsp;

Opções:
r - Dados não processados
s - Tabela ordenada por setores
t - Tabela em formato não processado

[ Quit ] - Sai do cfdisk sem salvar a tabela de partições&nbsp;

[ Units ] - Muda a unidade de informação de tamanho da partição no display (MB, setores ou cilindros)&nbsp;

[ Write ] - Grava a tabela de partições no disco sendo necessário confirmar esta operação com "yes" ou "no"&nbsp;

Agora que já sabemos qual é a utilidade de cada botão da interface do cfdisk vamos criar uma nova partição no disco, selecione o botão [ New ]:&nbsp;

[Primary]&nbsp;&nbsp;[Logical]&nbsp;&nbsp;[Cancel ]&nbsp;

Agora selecione o botão [Primary] para criarmos uma partição primária e depois defina o tamanho da partição em Megabytes.&nbsp;

Size (in MB):&nbsp;2048&nbsp;

Selecione o botão [Beginning] para adicionar a partição na tabela de partições:&nbsp;

[Beginning]&nbsp;&nbsp;[&nbsp;&nbsp; End&nbsp;&nbsp; ]&nbsp;&nbsp;[ Cancel&nbsp;&nbsp;]&nbsp;

Observe que criamos uma nova partição chamada sdb1 com sistema de arquivos do tipo&nbsp;Linux&nbsp;e com dois Gigabytes de espaço físico.&nbsp;

sdb1&nbsp;&nbsp; Primary Linux&nbsp;&nbsp;&nbsp;&nbsp;2048.10&nbsp;&nbsp;&nbsp;&nbsp;Pri/Log&nbsp;&nbsp;&nbsp;

Repita o processo para criar outras partições primárias, pois agora vamos criar as partições lógicas. Selecione:&nbsp;

Pri/Log&nbsp;&nbsp;&nbsp;&nbsp; Free Space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8685.90&nbsp;

Depois selecione o botão [ New ]:&nbsp;

[Primary]&nbsp;&nbsp;[Logical]&nbsp;&nbsp;[Cancel ]&nbsp;

Selecione o botão [Logical] para criar a partição lógica e depois defina o tamanho da partição em Megabytes.&nbsp;

Size (in MB):&nbsp;1024&nbsp;

Selecione o botão [Beginning] para adicionar a partição na tabela de partições:&nbsp;

[Beginning]&nbsp;&nbsp;[&nbsp;&nbsp; End&nbsp;&nbsp; ]&nbsp;&nbsp;[ Cancel&nbsp;&nbsp;]&nbsp;

Repita este procedimento para criar outras partições lógicas de acordo com a sua necessidade.&nbsp;

sdb1&nbsp;&nbsp;&nbsp;&nbsp;Primary&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;2048.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sdb2&nbsp;&nbsp;&nbsp;&nbsp;Primary&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;2048.10
sdb3&nbsp;&nbsp;&nbsp;&nbsp;Primary&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;501.75
sdb5&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;1019.94
sdb6&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;797.86
sdb7&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;2048.10
sdb8&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;&nbsp; Linux&nbsp;&nbsp;&nbsp;&nbsp;2270.18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Observe que foram criadas três partições primárias e quatro lógicas, a partição estendida foi criada automaticamente quando decidi criar a primeira partição lógica. Vamos analisar as opções que temos agora para as partições criadas:&nbsp;

[Bootable]&nbsp;&nbsp;[ Delete ]&nbsp;&nbsp;[&nbsp;&nbsp;Help&nbsp;&nbsp;]&nbsp;&nbsp;[Maximize]&nbsp;&nbsp;[ Print&nbsp;&nbsp;]&nbsp;&nbsp;[&nbsp;&nbsp;Quit&nbsp;&nbsp;]&nbsp;&nbsp;[&nbsp;&nbsp;Type&nbsp;&nbsp;]&nbsp;&nbsp;[ Units&nbsp;&nbsp;]&nbsp;&nbsp;[ Write&nbsp;&nbsp;]&nbsp;

[Bootable] - Seleciona qual será a partição de boot.&nbsp;

[ Delete ] - Deleta a partição corrente.&nbsp;

[ Help ] - Exibe a tela de ajuda.&nbsp;

[Maximize] - Aumenta o tamanho da partição corrente.&nbsp;

[ Print ] - Mostra a tabela de partições.&nbsp;

[ Quit ] - Sai do cfdisk sem gravar a tabela de partições.&nbsp;

[ Type ] - Muda o tipo do sistema de arquivos.&nbsp;

[ Units ] - Muda as unidades de tamanho das partições que são mostradas no display. Podem ser: Megabytes, setores ou cilindros.&nbsp;

[ Write ] - Grava a tabela de partições no disco.&nbsp;

Agora que já sabemos para que serve cada botão da interface do cfdisk vamos mudar o tipo de sistema de arquivos da partição /dev/sdb2 para NTFS. Selecione o botão [ Type ]. Observe que será exibida uma tabela com diversos tipos de sistemas de arquivos entre eles o HPFS/NTFS que é referenciado pelo número 07.&nbsp;

Enter filesystem type:&nbsp;07&nbsp;

Repare que a partição /dev/sdb2 agora possui o sistema de arquivos NTFS.&nbsp;

sdb2&nbsp;&nbsp;&nbsp;&nbsp; Primary&nbsp;&nbsp; NTFS&nbsp;&nbsp; 2048.10&nbsp;

Suponhamos que eu necessite deletar uma partição, selecione a partição que deseja deletar e pressione o botão [ Delete ].&nbsp;

Observe que a partição sdb8 foi deletada e que o seu espaço está livre. Agora para finalizar vamos gravar a nossa tabela de partições, para essa função selecione cada partição criada e pressione o botão [ Write ]:&nbsp;

Digite "yes" para gravar a partição...&nbsp;

Are you sure you want write the partition table to disk? (yes or no):&nbsp;yes&nbsp;

Depois de gravar a tabela de partições pressione o botão [ Quit ] para sair do cfdisk.&nbsp;

mkfs
O comando&nbsp;mkfs&nbsp;é usado para formatar as partições criadas pelo fdisk ou cfdisk com o sistema de arquivos. Ele possui as seguintes opções:
-c  Verifica se o dispositivo possui bad blocks (defeitos)
-L nome Configura o nome do dispositivo
-n nome Configura o dispositivo para o formato msdos
-q  Não mostra a saída de vídeo
-v  Mostra a saída de vídeo
-t  Especifica o tipo de sistema de arquivos a ser formatado.

Ele pode ser usado de duas maneiras:&nbsp;

Primeira:&nbsp;

# mkfs -t ext3 -L partição1 /dev/sdb1&nbsp;
mke2fs 1.27 (8-Mar-2002)
Filesystem label=partição1
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
250368 inodes, 500015 blocks
25000 blocks (5.00%) reserved for the super user
First data block=0
16 block groups
32768 blocks per group, 32768 fragments per group
15648 inodes per group
Superblock backups stored on blocks:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32768, 98304, 163840, 229376, 294912

Writing inode tables: done&nbsp;
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.&nbsp;

Segunda:&nbsp;

# mkfs.ext3 -L particão3 /dev/sdb3
mke2fs 1.27 (8-Mar-2002)
Filesystem label=particão3
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
122880 inodes, 489982 blocks
24499 blocks (5.00%) reserved for the super user
First data block=1
60 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done&nbsp;
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.&nbsp;

mkswap
O comando&nbsp;mkswap&nbsp;é usado para formatar uma partição swap preparando o dispositivo para ser usado como área de memória virtual.&nbsp;

# mkswap /dev/sdb6
Setting up swapspace version 1, size = 797814784 bytes

Montando e desmontando sistemas de arquivos

mount

O comando&nbsp;mount&nbsp;é usado para montar arquivos de sistemas no&nbsp;Linux, ou seja, ele é utilizado para montar um dispositivo na hierarquia do sistema de arquivos do&nbsp;Linux&nbsp;podendo aceitar outros casos de uso. As opções mais usadas são:
-a Monta todos os dispositivos especificados no arquivo /etc/fstab que não tem a opção noauto selecionada.
-r Monta o sistema de arquivos com permissão somente de leitura.
-w Monta o sistema de arquivos com permissão de leitura e gravação.
-o Especifica as opções de montagem. Elas podem ser: auto, noauto, ro, rw, exec, noexec, user, users, nouser, sync, async, dev, nodev, suid, nosuid, defaults, remount, atime.
-t tipo  - Especifica o tipo de sistema de arquivos do dispositivo. Eles podem ser: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs.

Vamos a um exemplo prático, a sintaxe é a seguinte:&nbsp;

mount opções dispositivo diretório&nbsp;

# mount -text3 /dev/sdb3 /mnt/particão1&nbsp;

Com o comando "df" podemos ver o dispositivo /dev/sdb3 montado no diretório /mnt/particão1 e o espaço utilizado pelo sistema de arquivos, mais adiante veremos as suas funcionalidades. Observe:&nbsp;

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 1.4G 62M 1.2G 5%  /
/dev/sda1 45M 5.9M 37M 14% /boot
/dev/sda5 3.7G 659M 2.8G 19% /usr
/dev/sda6 463M 38M 402M 9% /var
/dev/sda7 942M 17M 877M 2% /tmp
/dev/sda8 3.1G 33M 2.9G 2% /home
/dev/sdb3 463M 8.1M 431M 2% /mnt/particão1

Para montar partições Windows:&nbsp;

# mount -tvfat /dev/hdb3 /mnt/windows98
# mount -tntfs /dev/hdb4 /mnt/win2000&nbsp;

(serve p/ XP e Windows 2003)&nbsp;

Para montar o CDROM:&nbsp;

# mount -tiso9660 /dev/cdrom /cdrom&nbsp;

(ou /mnt/cdrom)&nbsp;

Para montar unidades de disquetes:&nbsp;

# mount -text3 /dev/fd0 /floppy&nbsp;

(ou /mnt/floppy)&nbsp;

umount
O comando&nbsp;umount&nbsp;é utilizado para desmontar os dispositivos montados pelo comando mount. Ele pode ser usado com as seguintes opções:
-r Em caso do umount falhar remonta o dispositivo com permissão somente de leitura.
-a Desmonta todos os dispositivos listados no arquivo /etc/mtab, que é mantido pelo comando mount como referência de todos os dispositivos montados.
-t tipo Desmonta somente os dispositivos que contenham o sistema de arquivos especificado.
-f Força a desmontagem do dispositivo.

Vamos ver como ele funciona:&nbsp;

# umount /mnt/particão1
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 1.4G 62M 1.2G 5%  /
/dev/sda1 45M 5.9M 37M 14% /boot
/dev/sda5 3.7G 659M 2.8G 19% /usr
/dev/sda6 463M 38M 402M 9% /var
/dev/sda7 942M 17M 877M 2% /tmp
/dev/sda8 3.1G 33M 2.9G 2% /home

/etc/fstab
O arquivo&nbsp;/etc/fstab&nbsp;é usado pelos sistemas Linux para determinar onde as partições são montadas e qual o ponto de montagem de cada uma, automaticamente, na inicialização do sistema operacional. O arquivo /etc/fstab possui os parâmetros sobre as partições que são lidos pelo comando mount. Ele é composto e dividido da seguinte maneira:&nbsp;

Dispositivo (Primeira Coluna) - Partição a ser montada. Ex: /dev/hda2&nbsp;

Ponto de Montagem (Segunda Coluna) - Especifica o diretório em que a partição será montada. Ex: /mnt/particão1.&nbsp;

Tipo (Terceira Coluna) - Determina o tipo de sistema de arquivos que será usado na partição a ser montada. Pode ser: ext2, ext3, reiserfs, msdos, vfat, iso9660, nfs, ntfs, swap, proc entre outras.&nbsp;

Opções (Quarta Coluna) - Especifica as opções usadas com o sistema de arquivos. Pode ser:
auto -  Especifica que o dispositivo deve ser montado na carga do sistema.
noauto -  Especifica que o dispositivo não seja montado na carga do sistema.
ro -  Especifica que o sistema de arquivos será montado com permissão somente de leitura.
rw - Especifica que o sistema de arquivos será montado com permissão de leitura e gravação.
exec - Especifica que o sistema de arquivos será montado com permissão de execução de arquivos.
noexec - Especifica que o dispositivo não seja montado com permissão de execução de arquivos.
user - Permite que qualquer usuário monte o sistema de arquivos, mas proíbe outros de desmonta-lo.
users - Permite que qualquer usuário monte e desmonte os sistemas de arquivos.
nouser - Especifica que somente o superusuário pode montar e desmontar os arquivos de sistema.
sync - Habilita a transferência de dados síncrona no dispositivo.
async - Habilita a transferência de dados assíncrona no dispositivo.
dev - Dispositivo especial de caracteres.
suid - Habilita que os executáveis tenham bits do suid e sgid.
nosuid - Especifica que os executáveis não tenham bits do suid e sgid.
defaults - Especifica as opções de montagem como rw, suid, exec, auto, nouser e async.

Freqüência de Backup (Quinta Coluna) - O comando dump consulta o arquivo etc/fstab para saber quais sistemas de arquivos devem ser copiados. Se for 1 ele faz o backup se for 0 ele assumirá que o sistema de arquivos não precisa ser copiado.&nbsp;

Checagem de disco (Sexta Coluna) - Determina se o dispositivo deve ou não ser checado na carga do sistema pelo fsck. Se for 0 o sistema de arquivos não será checado, o número 1 deve ser usado para checar a partição raiz ( / ) e a partir do 2 em diante depois do sistema raiz, ou seja, os outros sistemas de arquivos devem ter esse campo a partir de 2 fazendo seqüência de acordo com o número de partições que você quiser montar.&nbsp;

Observe um exemplo do arquivo /etc/fstab:&nbsp;# &lt;Sist. Arq.&gt;&nbsp;&nbsp;&lt;Ponto Mont.&gt;&nbsp;&nbsp; &lt;tipo&gt;&nbsp;&nbsp;&lt;opçõess&gt;&nbsp;&nbsp;&lt;dump&gt;&nbsp;&nbsp;&lt;passo&gt;
/dev/sda3&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ext3&nbsp;&nbsp;&nbsp;&nbsp;errors=remount-ro&nbsp;&nbsp;0&nbsp;&nbsp;1
/dev/sda2&nbsp;&nbsp;none&nbsp;&nbsp;&nbsp;&nbsp; swap&nbsp;&nbsp;&nbsp;&nbsp;sw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;0
proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /proc&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;0
/dev/fd0&nbsp;&nbsp; /floppy&nbsp;&nbsp;auto&nbsp;&nbsp;&nbsp;&nbsp;user,noauto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;0
/dev/cdrom /cdrom&nbsp;&nbsp; iso9660 ro,user,noauto&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;0
/dev/sda1&nbsp;&nbsp;/boot&nbsp;&nbsp;&nbsp;&nbsp;ext3&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;2
/dev/sda5&nbsp;&nbsp;/usr&nbsp;&nbsp;&nbsp;&nbsp; ext3&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;2
/dev/sda6&nbsp;&nbsp;/var&nbsp;&nbsp;&nbsp;&nbsp; ext3&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;2
/dev/sda7&nbsp;&nbsp;/tmp&nbsp;&nbsp;&nbsp;&nbsp; ext3&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;2
/dev/sda8&nbsp;&nbsp;/home&nbsp;&nbsp;&nbsp;&nbsp;ext3&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;2
Para finalizar, vamos adicionar uma das partições criadas anteriormente para ser montada automaticamente, em um determinado diretório, na inicialização do sistema.

# vi /etc/fstab

Na última linha do arquivo adicionei a seguinte entrada de dados:/dev/sdb2&nbsp;&nbsp; /mnt/particão1&nbsp;&nbsp; ext3&nbsp;&nbsp; defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp; 3
Quando o sistema for inicializado a partição será montada automaticamente, observe a saída do comando "df -v":&nbsp;

# df -v
Filesystem  1k-blocks   Used      Available    Use%   Mounted on
/dev/sda3   1438920   62472     1303356      5%    /
/dev/sda1   46636      5986       38242     14%    /boot
/dev/sda5   3842376   674044   2973144     19%    /usr
/dev/sda6   474443      38429     411517      9%    /var
/dev/sda7   964500      16440     899064      2%    /tmp
/dev/sda8   3296840   32828     3096536      2%    /home
/dev/sdb2   1968620   32828     1835788      2%    /mnt/particão1
Gerenciando partições e sistemas de arquivos
du
O comando&nbsp;du&nbsp;exibe o espaço ocupado por arquivos e sub-diretórios dentro do diretório atual. As suas opções de uso são:
-a - Mostra todos os arquivos e não somente diretórios
--block-size - Mostra os arquivos por tamanho de blocos
-b - Mostra o tamanho em bytes
-c - Mostra um total no final da listagem
-h - Mostra as informações de forma mais clara, utiliza M para megabytes e G para Gigabytes
-H - Mostra as informações do mesmo modo que a opção –h, porém o tamanho de bloco é 1000 e não 1024.
-k - Mostra o tamanho em kilobytes
-l - Mostra o espaço utilizado pelos links simbólicos.
-m - Mostra o tamanho em megabytes
-S - Não mostra os subdiretórios na contagem
-s - Mostra um sumário do diretório especificado e não o total de cada subdiretório
-x - Omite diretórios de arquivos de sistemas diferentes
-X - Exclui arquivos iguais a um determinado arquivo.

Observe o exemplo:&nbsp;
# du -h /boot
12k     /boot/lost+found
1.9M    /boot


df
O comando&nbsp;df, como mencionado anteriormente, mostra o espaço utilizado por um sistema de arquivos. Ele possui as seguintes opções de uso:
-a - Mostra todos os sistemas de arquivos, até mesmo os com 0 blocos de uso.
--block-size - Mostra os sistemas de arquivos por tamanho de bloco.
-h - Mostra as informações dos sistemas de arquivos de forma mais amigável, utiliza K para kilobytes, M para megabytes e G para gigabytes.
-H - Mostra as informações do mesmo modo que a opção –h, porém o tamanho de bloco é 1000 e não 1024.
-i - Mostra o número de inodes disponíveis no disco.
-k - Mostra o número de kilobytes disponíveis no sistema de arquivos.
-l - Lista somente as informações de sistemas de arquivos locais
-m - Mostra o número de megabytes disponíveis no sistema de arquivos.
-P - Usa o padrão POSIX no formato de saída das informações dos arquivos de sistema.
-t - Mostra somente os sistemas de arquivos de um determinado tipo especificado. Ex: df -t ext3.
-T - Mostra os tipos de sistema de arquivos usado por cada sistema de arquivo listado.

Observe o exemplo:&nbsp;
# df -h
Filesystem   Size   Used   Avail  Use%  Mounted on
/dev/sda3    1.4G   62M    1.2G   5%    /
/dev/sda1    45M    5.9M   37M    14%   /boot
/dev/sda5    3.7G   659M   2.8G   19%   /usr
/dev/sda6    463M   40M    400M   9%    /var
/dev/sda7    942M   17M    877M   2%    /tmp
/dev/sda8    3.1G   33M    2.9G   2%    /home
/dev/sdb2    1.9G   33M    1.7G   2%    /mnt/particão1

fsck
O comando&nbsp;fsck&nbsp;é usado para checar e opcionalmente reparar um ou mais sistemas de arquivos&nbsp;Linux. Depois de executado ele retorna as seguintes condições:
0 - Não houve erros
1 - Sistema de arquivos com erros corrigidos
2 - O sistema deverá ser reinicializado
4 - Sistema de arquivos com erros não corrigidos
8 - Erro operacional
16 - Tratamento ou erro de sintaxe
128 - Erro de bibliotecas compartilhadas

Observe algumas opções:
-s - Serializa as operações checando múltiplos sistemas de arquivos em um modo interativo.
-t - Especifica o tipo de sistema de arquivo a ser checado.
-A - Checa todos os arquivos de sistemas listados no arquivo /etc/fstab
-c - Checa por bad blocks
-r - Mostra um prompt interativo caso haja mudanças
-b - Usa um superbloco alternativo
-f - Força a checagem mesmo se o sistema de arquivos estiver marcado como limpo
-l - Adiciona bad blocks para a lista
-L - Retira bad blocks da lista
-p - Repara automaticamente o sistema de arquivos
-y - Executa o fsck de modo interativo, não fazendo nenhuma pergunta ao usuário.
-v - Exibe informações completas sobre o sistema de arquivos.

A checagem do fsck é feita em cinco etapas:&nbsp;

1. Checagem de inodes, blocos e área;
2. Checagem da estrutura de diretórios;
3. Checagem da conectividade dos diretórios;
4. Checagem da contagem de referência;
5. Checagem da informação de sumário de grupo.&nbsp;

Observe o exemplo:&nbsp;
# fsck -v -f /dev/sda1
fsck 1.27 (8-Mar-2002)
e2fsck 1.27 (8-Mar-2002)
/dev/sda1 is mounted.  

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

/dev/sda1: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

      23 inodes used (1%)
       0 non-contiguous inodes (0.0%)
         # of inodes with ind/dind/tind blocks: 4/2/0
    7513 blocks used (15%)
       0 bad blocks
       0 large files

      11 regular files
       2 directories
       0 character device files
       0 block device files
       0 fifos
       0 links
       1 symbolic links (1 fast symbolic links)
       0 sockets
--------
      14 filesBibliografia



Ribeiro, Uirá. Certificação&nbsp;Linux&nbsp;Rio de Janeiro: Axcel Books do Brasil Editora, 2004.



da SILVA, Gleydson Mazioli. Guia Foca GNU/Nível Intermediário.&nbsp;
Disponível em:http://focalinux.cipsga.org.br/.&nbsp;
Acesso em: 17 mar. 2004.

Nash, Angie e JAson. LPIC 1 Certification Bible Indianápolis, IN Cleveland, OH e Nova York, NY: Hungry Minds, 2001.