[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ próximo ]
Este capítulo traz explicações de como manipular discos rígidos e partições no
sistema GNU/Linux
e como acessar seus discos de CD-ROM e partições
DOS
, Windows 9X/XP/Vista/Seven
no
GNU/Linux
.
Também será ensinado como formatar uma partição ou arquivo em formato
EXT2, EXT3, reiserfs, xfs e
usar a ferramenta mkswap
(para criar uma partição ou arquivo de
memória virtual).
São divisões existentes no disco rígido que marcam onde começa onde termina um
sistema de arquivos. As partições nos permitem usar mais de um sistema
operacional no mesmo computador (como o GNU/Linux
,
Windows
e DOS
), ou dividir o disco rígido em uma ou
mais partes para ser usado por um único sistema operacional ou até mesmo por
diferentes arquiteturas (32 e 64 bits).
Para gravar os dados, o disco rígido deve ser primeiro particionado (usando o
cfdisk
, parted
, diskdruid
,
fdisk
), escolher o tipo da partição (Linux Native,
Linux Swap, etc) e depois aquela partição deve ser formatada com o
mkfs.ext3
(veja Partição EXT3 (Linux
Native), Seção 5.5).
Após criada e formatada, a partição será automaticamente identificada como um
dispositivo no diretório /dev
(veja Identificação de discos e partições em sistemas Linux, Seção
5.12) . e deverá ser montada (Montando
(acessando) uma partição de disco, Seção 5.13) para permitir seu uso no
sistema.
Uma partição de disco não interfere em outras partições existentes, por este
motivo é possível usar o Windows
, GNU/Linux
e
qualquer outro sistema operacional no mesmo disco. Para escolher qual deles
será inicializado, veja Gerenciadores de Partida (boot
loaders), Capítulo 6.
Para particionar (dividir) o disco rígido em uma ou mais partes é necessário o
uso de um programa de particionamento. Os programas mais conhecidos para
particionamento de discos no GNU/Linux
são fdisk
,
cfdisk
e o Disk Druid
.
Lembre-se:
Quando se apaga uma partição, você estará apagando TODOS os arquivos existentes nela!
A partição do tipo Linux Native (Tipo 83) é a usada para armazenar
arquivos no GNU/Linux
, tanto ext2, ext3, ext4, reiserfs, xfs, etc.
Para detalhes veja Partição EXT2 (Linux Native), Seção
5.3.
A partição do tipo Linux Swap (Tipo 82) é usada como memória virtual. Para detalhes veja Partição Linux Swap (Memória Virtual), Seção 5.7.
Em sistemas novos, é comum encontrar o Windows
instalado em uma
partição que consome TODO o espaço do disco rígido. Uma solução para instalar
o GNU/Linux
é apagar a partição Windows
e criar três
com tamanhos menores (uma para o Windows
, uma para o
GNU/Linux
e outra para a Memória Virtual do Linux (SWAP).
Ou criar apenas 2 se você não quiser mais saber mais do Windows
;-)
A outra solução é usar o parted
(e gparted
sua versão
gráfica), que trabalha com FAT16, FAT32,
NTFS. Esta técnica também é chamada de Reparticionamento
não destrutivo (e o outro obviamente Reparticionamento
destrutivo). Para sistemas que foram formatados em Windows
XP
e superiores, é possível que o parted
não consiga
redimensionar o sistema, neste caso você pode reparticionar usando ferramentas
como o ntfsresize
ou Partition Magic (para
Windows
).
Para mais detalhes sobre discos, partições ou como particionar seu disco, veja
algum bom documento sobre particionamento (como a página de manual e
documentação do fdisk
, cfdisk
, parted
ou
Disk Druid
).
É criado durante a "formatação" da partição de disco (quando se usa o
comando mkfs.ext3
). Após a formatação toda a estrutura para
leitura/gravação/permissões de arquivos e diretórios pelo sistema operacional
estará pronta para ser usada. Normalmente este passo é feito durante a
instalação de sua distribuição GNU/Linux
.
Cada sistema de arquivos tem uma característica em particular mas seu propósito é o mesmo: Oferecer ao sistema operacional a estrutura necessária para ler/gravar os arquivos/diretórios.
Entre os sistemas de arquivos existentes posso citar:
Ext2 - Usado em partições Linux Nativas para o
armazenamento de arquivos. É identificado pelo código 83. Seu tamanho deve
ser o suficiente para acomodar todo os arquivos e programas que deseja instalar
no GNU/Linux
(você encontra isto no manual de sua distribuição).
Você deverá usar preferencialmente o ext3 para a instalação de seu
sistema operacional. Para detalhes veja Partição EXT2
(Linux Native), Seção 5.3.
Ext3 - Este sistema de arquivos possui melhorias em relação ao
ext2, como destaque o recurso de jornaling e suporte a arquivos de até 16Gb.
Ele também é identificado pelo tipo 83 e totalmente compatível com o ext2 em
estrutura. O journal mantém um log de todas as operações no sistema de
arquivos, caso aconteça uma queda de energia elétrica (ou qualquer outra
anormalidade que interrompa o funcionamento do sistema), o fsck
verifica o sistema de arquivos no ponto em que estava quando houve a
interrupção, evitando a demora para checar todo um sistema de arquivos (que
pode levar minutos em sistemas de arquivos muito grandes). Para detalhes veja
Partição EXT3 (Linux Native), Seção 5.5.
Reiserfs - Possui os mesmos recursos do ext3, mas seu design é bastante diferente. Bastante recomendavel para sistemas que possuem muitos arquivos pequenos (servidor web, etc). Possui o tempo de recuperação em caso de queda de energia menor que o ext3. Para detalhes veja Sistema de arquivos reiserfs, Seção 5.6.
Swap - Usado em partições Linux Swap para oferecer memória virtual ao sistema. Note que é altamente recomendado o uso de uma partição Swap no sistema (principalmente se você tiver menos que 16MB de memória RAM). Este tipo de partição é identificado pelo código 82. Para detalhes veja Partição Linux Swap (Memória Virtual), Seção 5.7.
proc - Sistema de arquivos do kernel (veja O sistema de arquivos /proc
, Seção 5.8).
FAT12 - Usado em disquetes no DOS
. Não possui
suporte a permissões, journaling.
FAT16 - Usado no DOS
e oferece suporte até discos de
2GB. Não possui suporte a permissões e journaling.
FAT32 - Também usado no DOS
e oferece suporte a
discos de até 2 Terabytes. Não possui suporte a permissões e journaling.
NTFS - Formato nativo de discos de sistemas operacionais Windows
XP e superiores. Possui suporte a permissões de acesso e compactação nativa.
A partição EXT2 é o tipo usado para criar o sistema de arquivos
Linux Native
usado para armazenar o sistema de arquivos
EXT2 (após a formatação) e permitir o armazenamento de dados.
Para detalhes de como criar uma partição EXT2 veja Criando um sistema de arquivos EXT2 em uma
partição, Seção 5.3.1.
Este tipo de partição é normalmente identificado pelo código 83 nos programas de particionamento de disco. Note que também é possível criar um sistema de arquivos EXT2 em um arquivo (ao invés de uma partição) que poderá ser montado e acessado normalmente pelo sistema de arquivos (veja Criando um sistema de arquivos EXT2 em um arquivo, Seção 5.3.2.
Logo que foi inventado, o GNU/Linux
utilizava o sistema de
arquivos Minix (e consequentemente uma partição Minix) para o
armazenamento de arquivos. Com a evolução do desenvolvimento, foi criado o
padrão EXT (Extended Filesystem) e logo evoluiu para o
EXT2 (Second Extended Filesystem). O padrão mais usado nos
dias de hoje é o EXT3 devido ao Journaling (será abordado no próximo
capítulo).
Entre as vantagens do EXT2 para armazenamento de arquivos estão: é o mais rápido devido ao não uso de journaling (principalmente para Netbooks e dispositivos flash), não se fragmenta tão facilmente pois permite a localização do melhor lugar onde o arquivo se encaixa no disco, etc. Isto é útil para grandes ambientes multiusuário onde várias pessoas gravam/apagam arquivos o tempo todo.
O utilitário usado para formatar uma partição EXT2 é o
mkfs.ext2
. Após terminar este passo, seu sistema de arquivos
EXT2 estará pronto para ser usado.
Após particionar seu disco rígido e criar uma (ou várias) partições EXT2, use o comando:
mkfs.ext2 /dev/sda?
Onde a "?" em sda? significa o número da partição que será formatada. A identificação da partição é mostrada durante o particionamento do disco, anote se for o caso. sda normalmente é o primeiro disco rígido SATA, sdb é o segundo disco rígido SATA. Discos IDE normalmente são identificados por hda?, hdb?, etc. Para detalhes sobre a identificação de discos, veja Identificação de discos e partições em sistemas Linux, Seção 5.12.
Algumas opções são úteis ao mkfs.ext2
:
-c Procura blocos danificados na partição antes de criar o sistema de arquivos.
-L NOME Coloca um nome (label) no sistema de arquivos.
-b NUM Define o tamanho do bloco, em bytes.
-m NUM Define a porcentagem de espaço em disco reservada para manutenção (por padrão reservado para o root, mas isto é alterável).
Agora para acessar a partição deverá ser usado o comando: mount /dev/sda? /mnt -t ext2
Para mais detalhes veja Montando (acessando) uma partição de disco, Seção 5.13.
Note que é possível criar um sistema de arquivos no disco rígido sem criar uma
partição usando /dev/sda
, /dev/sdb
, etc.
EVITE FAZER ISSO! Como não estará criando uma partição, o
disco estará divido de maneira incorreta, você não poderá apagar o sistema de
arquivos completamente do disco caso precise (lembre-se que você não criou uma
partição), e a partição possui uma assinatura apropriada que identifica o
sistema de arquivos.
O espaço padrão reservado na partição para o usuário root é de 5%. Em sistemas
com partições maiores que 10Gb, isso pode representar uma grande quantidade de
espaço em disco não utilizada por outros usuários. Veja a opção
-m sobre como fazer esta modificação. Caso já tenha criado a
partição, isto pode ser feito no tune2fs
com a opção
-m.
É possível criar um sistema de arquivos EXT2 em um arquivo que poderá ser
montado e acessado normalmente como se fosse uma partição normal. Isto é
possível por causa do recurso loop oferecido pelo kernel do
GNU/Linux
. Os dispositivos de loop estão disponíveis
no diretório /dev
com o nome loop?
(normalmente estão
disponíveis 8 dispositivos de loop).
Isto é possível usando o comando dd
e o mkfs.ext2
.
Veja passo a passo como criar o sistema de arquivos EXT2 em um
arquivo:
Use o comando dd if=/dev/zero of=/tmp/arquivo-ext2 bs=1024
count=10000 para criar um arquivo arquivo-ext2
vazio de
10Mb de tamanho em /tmp
. Você pode modificar os parâmetros de
of para escolher onde o arquivo será criado, o tamanho do arquivo
poderá ser modificado através de count
Formate o arquivo com mkfs.ext2 /tmp/arquivo-ext2. Ele primeiro
dirá que o arquivo arquivo-ext2
não é um dispositivo de bloco
especial (uma partição de disco) e perguntará se deve continuar, responda com
y.
O sistema de arquivos EXT2 será criado em /tmp/arquivo-ext2
e
estará pronto para ser usado.
Monte o arquivo arquivo-ext2
com o comando: mount
/tmp/arquivo-ext2 /mnt -o loop=/dev/loop1. Note que foi usado o
parâmetro -o loop para dizer ao comando mount
para
usar os recursos de loop do kernel para montar o sistema de
arquivos.
Confira se o sistema de arquivos EXT2 em arquivo-ext2
foi realmente montado no sistema de arquivos digitando df -T.
Para detalhes, veja df, Seção 10.3.
Pronto! o que você gravar para /mnt
será gravado dentro do
arquivo /tmp/arquivo-ext2
. Como foi criado um sistema de arquivos
EXT2 em arquivo-ext2
, você poderá usar todos os
recursos da partição EXT2 normal, como permissões de arquivos e
diretórios, links simbólicos, etc.
O uso da opção loop=/dev/loop1 permite que o dispositivo
/dev/loop1
seja associado ao arquivo /arquivo-ext2
e
assim permitir sua montagem e uso no sistema.
Você poderá usar apenas -o loop com o comando mount
,
assim o kernel gerenciará automaticamente os dispositivos de loop.
Caso faça isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referência a um único arquivo.
O sistema de journaling grava qualquer operação que será feita no disco em uma área especial chamada "journal", assim se acontecer algum problema durante alterações no disco, ele pode voltar ao estado anterior do arquivo, ou finalizar a operação.
Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerância a falhas. Após uma falha de energia, por exemplo, o journal é analisado durante a montagem do sistema de arquivos e todas as operações que estavam sendo feitas no disco são verificadas. Dependendo do estado da operação, elas podem ser desfeitas ou finalizadas. O retorno do servidor é praticamente imediato (sem precisar a enorme espera da execução do fsck em partições maiores que 10Gb), garantindo o rápido retorno dos serviços da máquina.
Outra situação que pode ser evitada é com inconsistências no sistema de arquivos do servidor após a situação acima, fazendo o servidor ficar em estado 'single user' e esperando pela intervenção do administrador. Este capítulo do guia explica a utilização de journaling usando o sistema de arquivos ext3 e reiserfs (veja Partição EXT3 (Linux Native), Seção 5.5 para detalhes).
O sistema de arquivos ext3 faz parte da nova geração extended file
system do Linux
, sendo o padrão atual e tem como seu maior
benefício o suporte a journaling e armazenamento eficiente de arquivos com até
16Gb de tamanho.
O uso deste sistema de arquivos comparado ao ext2, na maioria dos casos, melhora o desempenho do sistema de arquivos através da gravação seqüencial dos dados na área de metadados e acesso mhash a sua árvore de diretórios. Mas pode trazer impactos na performance no caso de dispositivos de memória flash e quando utiliza arquivos para armazenar o sistema de arquivos.
A estrutura da partição ext3
é semelhante a ext2
, o
journaling é feito em um arquivo chamado .journal
que fica oculto
pelo código ext3 na raiz da partição (desta forma ele não poderá ser
apagado, comprometendo o funcionamento do sistema). A estrutura idêntica da
partição ext3 com a ext2 torna mais fácil a manutenção do
sistema, já que todas as ferramentas para recuperação ext2 funcionarão
sem problemas.
Para criar uma partição ext3, utilize o comando mkfs.ext3
ou o mkfs.ext2
junto com a opção -j. As opções usadas
pelo mkfs.ext3
são idênticas a do mkfs.ext2
(documentado em Criando um sistema de arquivos
EXT2 em uma partição, Seção 5.3.1). A única vantagem desta ferramenta
comparada ao mkfs.ext2
é que a opção -j é automaticamente
adicionada a linha de comando para criar um sistema de arquivos com journal.
Se você é daqueles que querem ter um controle maior sobre o tamanho do arquivo
de journal, use a opção -J [tam] (onde tamanho é o tamanho em
Megabytes).
Quando uma partição ext3 é criada, o arquivo .journal
é
criado no raíz da partição, sendo usado para gravar os metadados das transações
de journaling. A estrutura da partição ext2 não difere em nada da ext3, a não
ser este arquivo e a opção "has_journal" que é passada a partição.
Por exemplo, para criar uma partição ext3 em /dev/sda1
:
mkfs.ext3 /dev/sda1 ou mkfs.ext2 -j /dev/sda1
Basta agora montar a partição com o comando mount /dev/sda1 /teste -t
ext3 (para montar a partição em /teste
. Após isto,
modifique o /etc/fstab
para montar a partição como ext3
quando o Linux
for iniciado. Para mais detalhes veja Montando (acessando) uma partição de disco, Seção
5.13. ). Caso o suporte a ext3 tenha sido compilado no kernel,
ele tentará detectar e montar a partição como ext3, caso contrário,
ele usará ext2.
Sua partição agora está montada como ext3, para conferir digite: df -T.
OBS: Quando criar um sistema de arquivos ext3 em uma partição raíz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrário a partição será montada como ext2.
As instruções para criar um sistema de arquivos ext3 em um arquivo não difere muito das instruções de Criando um sistema de arquivos EXT2 em um arquivo, Seção 5.3.2, apenas utilize a opção -j ou -J [tamanho_em_mb] (como explicado em Criando um sistema de arquivos EXT3 em uma partição, Seção 5.5.1).
Se você já possui um uma partição ext2 e deseja converte-la para ext3 isto poderá ser feito facilmente, de forma segura (sem qualquer risco de perda de dados) e você poderá voltar para o sistema ext2 caso deseje (veja Convertendo de EXT3 para EXT2, Seção 5.5.4).
Primeiro, execute o comando tune2fs
na partição que deseja
converter com a opção -j ou -J [tamanho_journal] para
adicionar o suporte a Journaling na partição. Este comando poderá ser
executado com segurança em uma partição ext2 montada, após converter
remontar a partição usando os comandos umount /particao e
mount /particao.
Após a conversão para ext3 é desnecessária a checagem periódica do sistema de arquivos (que por padrão é após 20 montagens e a cada 30 dias). Você pode desativar a checagem após o número máximo de montagens com a opção -c [num_vezes], e o número de dias máximos antes de verificar novamente com a opção -i [num_dias] (o uso de 0 desativa). Por exemplo:
tune2fs -c 0 -i 90 /dev/sda2
Desativa a checagem após número máximo de montagens (-c 0) e diz para a partição ser verificada a cada 90 dias (-i 90).
O último passo é modificar o /etc/fstab
para que a partição seja
montada como ext3 na inicialização e depois desmontar (umount
/dev/sda2 e remonta-la (mount /dev/sda2) para usar o suporte
ext3. Confira se ela está usando ext3 usando o comando
df -T.
OBS: Caso a partição convertida para ext3 seja a raíz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrário, a partição será montada como ext2.
Remover o suporte a ext3 de uma partição é simples, rápido e seguro. Execute os seguintes passos:
Execute o comando tune2fs -O^has_journal /dev/sdxx na partição que deseja remover o Journal. Este comando poderá ser executado em uma partição montada.
Modifique o /etc/fstab
e altere a partição para ext2.
Desmonte e monte novamente a partição com os comandos: umount /dev/hdxx e mount /dev/sdxx.
Pronto! a partição agora é novamente uma partição ext2 normal, confira digitando df -T.
Pronto, o suporte a ext3 foi removido do seu sistema e agora poderá usar a partição como ext2 normalmente (confira digitando df -T).
O comando e2label
é usado para esta função.
e2label [dispositivo] [nome]
Onde:
Partição que terá o nome modificado
Nome que será dado a partição (máximo de 16 caracteres). Caso seja usado um nome de volume com espaços, ele deverá ser colocado entre "aspas".
Se não for especificado um nome, o nome atual da partição será mostrado. O
nome da partição também pode ser visualizado através do comando
dumpe2fs
(veja dumpe2fs, Seção
5.5.7).
Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 "Foca Linux"
lost+found
O utilitário mklost+found
cria o diretório especial
lost+found
no diretório atual. O diretório
lost+found
é criado automaticamente após a formatação da partição
com o mkfs.ext2
, a função deste diretório é pré-alocar os blocos
de arquivos/diretório durante a execução do programa fsck.ext2
na
recuperação de um sistema de arquivos (veja Checagem dos sistemas de arquivos, Seção
26.1). Isto garante que os blocos de disco não precisarão ser diretamente
alocados durante a checagem.
mklost+found
OBS: Este comando só funciona em sistemas de arquivos ext2/3/4
Exemplo: cd /tmp;mklost+found;ls -a
Mostra detalhes sobre uma partição Linux
.
dumpe2fs [opções] [partição]
Onde:
Identificação da partição que será usada.
Mostra somente os blocos marcado como defeituosos no sistema de arquivos especificado.
Este comando lista diversas opções úteis do sistema de arquivos como o tipo do sistema de arquivos, características especiais, número de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automáticas, etc.
Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1
Criar uma partição EXT2 ou um arquivo usando o loop? Abaixo estão algumas considerações:
A partição EXT2 é o método recomendado para a instalação do
GNU/Linux
.
O desempenho da partição EXT2 é bem melhor se comparado ao arquivo porque é acessada diretamente pelo Kernel (SO).
O arquivo EXT2 é útil para guardarmos dados confidenciais em
disquetes ou em qualquer outro lugar no sistema. Você pode perfeitamente
gravar seus arquivos confidenciais em um arquivo chamado
libBlaBlaBla-2.0
no diretório /lib
e ninguém nunca
suspeitará deste arquivo (acho que não...). Também é possível criptografa-lo
para que mesmo alguém descobrindo que aquilo não é uma lib, não poder abri-lo a
não ser que tenha a senha (isto é coberto no documento
Loopback-encripted-filesystem.HOWTO
).
O uso do arquivo EXT2 é útil quando você está perdendo espaço na sua partição EXT2 e não quer re-particionar seu disco pois teria que ser feita uma re-instalação completa e tem muito espaço em um partição de outro SO (como o Windows).
Você poderia facilmente copiar o conteúdo de /var
, por exemplo,
para o arquivo EXT2 ext2-l
criado no diretório Raíz
do Windows, apagar o conteúdo de /var
(liberando muito espaço em
disco) e então montar ext2-l
como /var
. A partir de
agora, tudo o que for gravado em /var
será na realidade gravado no
arquivo ext2-l
.
Para o sistema acessar o arquivo, deve passar pelo sistema de arquivos loop e FAT32, isto causa um desempenho menor.
Este é um sistema de arquivos alternativo ao ext2/3/4 que também possui suporte a journaling. Entre suas principais características, estão que ele possui tamanho de blocos variáveis, suporte a arquivos maiores que 2 Gigabytes e o acesso mhash a árvore de diretórios é um pouco mais rápida que o ext3.
Para utilizar reiserfs
, tenha certeza que seu kernel possui o
suporta habilitado (na seção File Systems) e instale o pacote
reiserfsprogs
que contém utilitários para formatar, verificar este
tipo de partição.
Para criar uma partição reiserfs, primeiro instale o pacote
reiserfsprogs
(apt-get install reiserfsprogs).
Para criar uma partição reiserfs, primeiro crie uma partição ext2 normal, e então use o comando:
mkreiserfs /dev/sda?
Onde a "?" em sda? significa o número da partição que será formatada com o sistema de arquivos reiserfs. A identificação da partição é mostrada durante o particionamento do disco, anote se for o caso. sda é o primeiro disco rígido SATA, sdb é o segundo disco rígido SATA. Discos IDE são identificados por hda?, hdb?, etc. Para detalhes sobre a identificação de discos, veja Identificação de discos e partições em sistemas Linux, Seção 5.12.
Algumas opções são úteis ao mkreiserfs
:
-s [num] - Especifica o tamanho do arquivo de journal em blocos. O valor mínimo é 513 e o máximo 32749 Kb. O valor padrão é 8193.
-l [NOME] - Coloca um nome (label) no sistema de arquivos.
-f - Força a execução do mkreiserfs
.
-d - Ativa a depuração durante a execução do
mkreiserfs
.
Agora para acessar a partição deverá ser usado o comando: mount /dev/sda? /mnt -t reiserfs
Para mais detalhes veja Montando (acessando) uma partição de disco, Seção 5.13.
Note que é possível criar um sistema de arquivos no disco rígido sem criar uma
partição usando /dev/sda
, /dev/sdb
, etc. usando a
opção -f EVITE FAZER ISSO! Como não estará
criando uma partição, o disco estará preparado para uso de maneira incorreta,
você não poderá apagar o sistema de arquivos completamente do disco caso
precise (lembre-se que você não criou uma partição), e a partição possui uma
assinatura apropriada que identifica o sistema de arquivos.
O sistema de arquivos reiserfs
também poderá ser criado em um
arquivo, usando os mesmos benefícios descritos em Criando um sistema de arquivos EXT2 em um
arquivo, Seção 5.3.2. Para fazer isso execute os seguintes passos em
seqüência:
Use o comando dd if=/dev/zero of=/tmp/arquivo-reiserfs bs=1024
count=33000 para criar um arquivo arquivo-reiserfs
vazio de
33Mb de tamanho em /tmp
. Você pode modificar os parâmetros de
of para escolher onde o arquivo será criado, o tamanho do arquivo
poderá ser modificado através de count. Note que o tamanho mínimo
do arquivo deve ser de 32Mb, devido aos requerimentos do reiserfs
.
Formate o arquivo com mkreiserfs -f /tmp/arquivo-reiserfs. Ele
primeiro dirá que o arquivo arquivo-reiserfs
não é um dispositivo
de bloco especial (uma partição de disco) e perguntará se deve continuar,
responda com y.
O sistema de arquivos ReiserFS será criado em
/tmp/arquivo-reiserfs
e estará pronto para ser usado.
Monte o arquivo arquivo-reiserfs
com o comando: mount
/tmp/arquivo-reiserfs /mnt -t reiserfs -o loop=/dev/loop1. Note que foi
usado o parâmetro -o loop para dizer ao comando mount
para usar os recursos de loop do kernel para montar o sistema de
arquivos. O parâmetro -t reiserfs poderá ser omitido, se desejar.
Confira se o sistema de arquivos ReiserFS em
arquivo-reiserfs
foi realmente montado no sistema de arquivos
digitando df -T. Para detalhes, veja df, Seção 10.3.
Pronto! o que você gravar para /mnt
será gravado dentro do
arquivo /tmp/arquivo-reiserfs
. Você poderá usar todos os recursos
de um sistema de arquivos reiserfs como permissões de arquivos e
diretórios, links simbólicos, etc.
O uso da opção loop=/dev/loop1 permite que o dispositivo
/dev/loop1
seja associado ao arquivo
/arquivo-reiserfs
e assim permitir sua montagem e uso no sistema.
Você poderá usar apenas -o loop com o comando mount
,
assim o kernel gerenciará automaticamente os dispositivos de loop.
Caso faça isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referência a um único arquivo.
Este tipo de partição é usado para oferecer o suporte a memória
virtual ao GNU/Linux
em adição a memória RAM
instalada no sistema. Este tipo de partição é identificado pelo tipo 82 nos
programas de particionamento de disco para Linux
. Para detalhes
de como criar uma partição Linux Swap veja Criando sistema de arquivos Swap em uma partição,
Seção 5.7.1.
Somente os dados na memória RAM são processados pelo processador, por ser mais
rápida. Desta forma quando você está executando um programa e a memória RAM
começa a encher, o GNU/Linux
move automaticamente os dados que não
estão sendo usados para a partição Swap e libera a memória RAM para a continuar
carregando os dados necessários pelo. Quando os dados movidos para a partição
Swap são solicitados, o GNU/Linux
move os dados da partição Swap
para a Memória. Por este motivo a partição Swap também é chamada de
Troca ou memória virtual.
A partição swap é otimizada para permitir alta velocidade para mover dados da memória RAM para ela e vice versa. Note também que é possível criar o sistema de arquivos Swap em um arquivo ao invés de uma partição (veja Criando um sistema de arquivos Swap em um arquivo, Seção 5.7.2).
O programa usado para formatar uma partição Swap é o mkswap
. Seu
uso é simples:
mkswap /dev/sda?
Novamente veja Identificação de discos e partições em sistemas Linux, Seção 5.12 caso não souber identificar seus discos e partições. O nome do dispositivo da partição Swap pode ser visualizado através de seu programa de particionamento, você pode usar o comando fdisk -l /dev/sda para listar as partições no primeiro disco rígido e assim verificar qual dispositivo corresponde a partição Swap.
A opção -c também pode ser usada com o mkswap
para
checar se existem agrupamentos danificados na partição. A opção
-v1 permite a criação da swap usando mais de 128Mb (esta opção é a
padrão).
Com a partição Swap formatada, use o comando: swapon /dev/sda? para ativar a partição Swap (lembre-se de substituir ? pelo número de sua partição Swap).
Observações:
Versões antigas do kernel do GNU/Linux
2.0.xx e anteriores somente
suportavam partições Swap de até 128MB. Nos novos kernels foi introduzida uma
nova versão da swap. Para converter a swap antiga para uma nova versão
reformate-a usando mkswap -v1 /dev/sda?
(onde
/dev/sda?
especifica sua partição swap, obtida com o fdisk
-l /dev/sda).
Se utilizar mais que 1 partição Swap, pode ser útil o uso da opção -p NUM que especifica a prioridade em que a partição Swap será usada. Pode ser usado um valor de prioridade entre 0 e 32767, partições com número maior serão usadas primeiro, sendo que na montagem automática através de "mount -a" podem ser designados números negativos.
Procure usar o número maior para partições mais rápidas (elas serão acessadas primeiro) e números maiores para partições mais lentas. Caso precise desativar a partição Swap, use o comando: swapoff /dev/sda?.
Também é possível criar um arquivo que poderá ser usado como memória virtual. Veja passo a passo como fazer isso:
Use o comando dd if=/dev/zero of=/tmp/troca bs=1024 count=64000
para criar um arquivo chamado troca
vazio de 64Mb de tamanho em
/tmp
. Você pode modificar os parâmetros de of para
escolher onde o arquivo será criado, o tamanho do arquivo poderá ser modificado
através de count.
Execute mkswap /tmp/troca para formatar o arquivo. Após concluir este passo, o sistema de arquivos Swap estará criado e pronto para ser usado.
Digite sync para sincronizar os buffers para o disco, assim você não terá problemas em um servidor com muito I/O.
Ative o arquivo de troca com o comando swapon /tmp/troca.
Confira se o tamanho da memória virtual foi modificado digitando cat /proc/meminfo ou free.
Observações:
Podem ser usadas partições de troca e arquivos de troca juntos, sem problemas.
Caso seu sistema já tenha uma partição de Swap, é recomendável
deixar o acesso ao arquivo Swap com uma prioridade menor (usando a
opção -p NUM com o comando swapon
).
Criar uma partição de Troca ou um arquivo de troca? Abaixo algumas vantagens e desvantagens:
A partição Swap é mais rápida que o arquivo Swap pois é acessada diretamente pelo Kernel. Se o seu computador tem pouca memória (menos que 512Mb) ou você tem certeza que o sistema recorre freqüentemente a memória virtual para executar seus programas, é recomendável usar uma partição Swap.
O arquivo de troca permite que você crie somente uma partição Linux Native e crie o arquivo de troca na partição EXT2.
Você pode alterar o tamanho do arquivo de troca facilmente apagando e criando um novo arquivo como descrito em Criando um sistema de arquivos Swap em um arquivo, Seção 5.7.2.
É possível criar um arquivo de troca em outros tipos de partições como FAT16, FAT32, NTFS, etc.
O arquivo de troca estará disponível somente após o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. Isto é um problema para sistemas com pouca memória que dependem do arquivo de troca desde sua inicialização.
/proc
É o sistema de arquivos do Kernel do GNU/Linux
. Ele oferece um
método de ler, gravar e modificar dinamicamente os parâmetros do kernel, muito
útil para pessoas que gostam de entender como as coisas funcionam (como eu) e
programas de configuração. A modificação dos arquivos do diretório
/proc
é o método mais usado para modificar a configuração do
sistema e muitos programas também dependem deste diretório para funcionar.
Nele você tem todo o controle do que o seus sistema operacional está fazendo, a configuração dos hardwares, interrupções, sistema de arquivos montado, execução de programas, memória do sistema, rede, etc.
Agora entre no diretório /proc
digite ls e veja a
quantidade de arquivos e diretórios que ele possui, dê uma passeada por eles.
Abaixo a descrição de alguns deles (todos podem ser visualizados pelo comando
cat
):
Diretórios com números - Estes identificam os parâmetros de um
processo em execução. Por exemplo, se o PID (identificação do processo) do
inetd
for 115, você pode entrar no diretório
115 e verificar as opções usadas para execução deste programa
através de cada arquivos existente dentro do diretório. Alguns são:
cmdline
- O que foi digitado para iniciar o processo (pode também
ter sido iniciado através de um programa ou pelo kernel).
environ
- Variáveis de Ambiente existentes no momento da execução
do processo.
status
- Dados sobre a execução do Processo (PID, status da
execução do programa, memória consumida, memória executável, UID, GID, etc).
apm
- Dados sobre o gerenciamento de energia
cmdline
- Linha de comando usada para inicializar o Kernel
GNU/Linux
. Os parâmetros são passados através do programa de
inicialização, como o LILO
, LOADLIN
,
SYSLINUX
.
cpuinfo
- Detalhes sobre a CPU do sistema
devices
- Dispositivos usados no sistema
dma
- Canais de DMA usados por dispositivos
filesystems
- Sistemas de arquivos em uso atualmente
interrupts
- Interrupções usadas por dispositivos
ioports
- Portas de Entrada e Saída usadas pelos dispositivos do
sistema
kcore
- Este arquivo corresponde a toda a memória RAM em seu
sistema. Seu tamanho é correspondente a memória RAM do micro
kmsg
- Permite visualizar mensagens do Kernel (use o comando
cat < kmsg para visualiza-lo e pressione CTRL+C para cancelar
loadavg
- Média de Carga do sistema
meminfo
- Dados de utilização da memória do sistema
misc
- Outras configurações
modules
- Módulos atualmente carregados no kernel
mounts
- Sistemas de Arquivos atualmente montados
pci
- Detalhes sobre dispositivos PCI do sistema
rtc
- Relógio em Tempo real do sistema
uptime
- Tempo de execução do sistema
version
- Versão atual do Kernel, programa usado na compilação,
etc
Diretório net
- Dados sobre a rede do sistema
Diretório sys
- Dados sobre outras áreas do sistema
Diretório scsi
- Detalhes sobre dispositivos SCSI do sistema
Note que o diretório proc
e os arquivos existentes dentro dele
estão localizados no diretório raiz (/
), mas não ocupa nenhum
espaço no disco rígido.
O lvm
(Logical Volume Manager) faz a associação entre
dispositivos/partições físicas (incluindo discos RAID, MO, mass storages
diversos, MD, e loop) e dispositivos lógicos. O método tradicional faz a
alocação de todo espaço físico ao tamanho da partição do disco (o método
tradicional), o que traz muito trabalho quando o espaço esgota, cópia de dados
ou planejamento de uso de máquina (que pode mudar com o passar do tempo). O
sistema de lvm
soluciona os seguintes problemas:
Uso eficaz de disco, principalmente quando há pouco espaço para criação de partições independentes.
Permite aumentar/diminuir dinamicamente o tamanho das partições sem reparticionamento do disco rígido usando o espaço livre em outras partições ou utilizando o espaço livre reservado para o uso do LVM.
Uma partição de disco é identificada por um nome de volume e não pelo dispositivo. Você pode então se referir aos volumes como: usuários, vendas, diretoria, etc.
Sua divisão em 3 camadas possibilita a adição/remoção de mais discos de um conjunto caso seja necessário mais espaço em volumes, etc.
Permite selecionar o tamanho do cluster de armazenamento e a forma que eles são acessados entre os discos, possibilitando garantir a escolha da melhor opção dependendo da forma que os dados serão manipulados pelo servidor.
Permite snapshots dos volumes do disco rígido.
As 3 camadas do LVM são agrupadas da seguinte forma:
PV (Phisical Volume) - Corresponde a todo o disco rígido/partição
ou dispositivo de bloco que será adicionado ao LVM. Os aplicativos que
manipulam o volume físico, começam com as letras pv*
. O espaço
disponível no PV é dividido em PE (Phisical Extends, ou extensões físicas). O
valor padrão do PE é de 4MB, possibilitando a criação de um VG de 256Gb.
Por exemplo: /dev/hda1
VG (Volume Group) - Corresponde ao grupo de volumes físicos que
fazem parte do LVM. Do grupo de volume são alocados os espaços para criação
dos volumes lógicos. Os aplicativos que manipulam o o grupo de volume, começam
com as letras vg*
.
Por exemplo: /dev/lvmdisk0
LV (Logical Volume) -
Corresponde a partição lógica criada pelo LVM para gravação de dados. ao invés
de ser identificada por nomes de dispositivos, podem ser usados nomes comuns
para se referir as partições (tmp,usr,etc.). O Volume lógico é a área onde o
sistema de arquivo é criado para gravação de dados, seria equivalente a
partição em um sistema SEM LVM só que lógica ao invés de física. O
volume lógico tem seu espaço dividido em LE (Logical Extends, ou extensões
lógicas) que correspondem aos PE's alocados.
Exemplos: /dev/lvmdisk/usr
, /dev/lvmdisk/tmp
, etc.
Desenvolvi este desenho para representar a idéia de organização de um sistema LVM para o guia Foca GNU/Linux e apresentar a descrição prática da coisa:
+------[ Grupo de Volume (VG) - lvmdsk ]------+ | +--[ PV - hda1 ]---+ +--[ PV - hdb1 ]--+ | | | PE PE PE PE PE PE| | PE PE PE PE PE | | | +------------------+ +-----------------+ | | | | | | | | | | +-----------------+ | | | | +----------------+ | | | | | | | | | +-[ LV - var ]-+ +-[ LV - home ]-+ | | | LE LE LE LE | | LE LE LE LE | | | +--------------+ +---------------+ | +---------------------------------------------+
O gráfico acima representa a seguinte situação:
Nós temos dois volumes físicos representados por hda1
e
hdb1
. Cada um desses volumes físicos tem um Phisical Extend (PE)
de 4M (o padrão).
Estes dois volumes físicos acima representam o espaço total do grupo de volume
lvmdisk em /dev/lvmdisk
.
Do grupo de volume lvmdisk são criados dois volumes lógicos chamados
var e home, estando disponíveis para particionamento através
de /dev/lvmdisk/var
e /var/lvmdisk/home
.
Na prática, o espaço do volume lógico é definido alocando-se alguns Phisical Extends (PE) dos volumes físicos como logical extends (LE) dos volumes lógicos. Desta forma, o tamanho de todos os PEs e LEs existentes dentro de um mesmo grupo de volume devem ser iguais.
Um sistema com LVM tem sua performance um pouco reduzida quanto ao acesso a disco, devido as camadas adicionais de acesso aos dados, sendo afetadas operações em caracteres e inteligentes de acesso a dados.
Entretanto, a performance de leitura/gravação de blocos é melhorada consideravelmente após a adoção do LVM. O LVM também garante que o sistema não mostre sintomas de paradas durante o esvaziamento de cache de disco, mantendo sempre uma certa constância na transferência de dados mesmo em operações pesadas de I/O no disco. Depende de você avaliar estes pontos e considerar sua adoção.
Nesta seção não tenho a intenção de cobrir todos os detalhes técnicos da implantação do LVM, a idéia aqui é fornecer uma referência básica e prática para uso em qualquer sistema normal (desconsiderando usos críticos). A idéia aqui é mostrar de forma prática como implantar LVM em sua máquina e preparar seu uso nos discos.
Antes de começar, retire QUALQUER CD que estiver inserido na unidade de CD-ROM,
pois eles podem causar erro no pvscan
, pvdisplay
,
etc.
No particionamento, defina as partições do tipo 8E (Linux LVM). A partição
Linux LVM é exatamente igual a Linux Native (82), a única vantagem é que o LVM
utilizará auto detecção para saber quais partições ele deve utilizar no
pvscan
.
Instale o pacote lvm2
e uma imagem de kernel 2.4 ou 2.6 que tenha
suporte a LVM, ou compile seu próprio kernel (caso goste de máquinas turbinadas
:-)
Execute o pvscan
para detectar as partições marcadas como LVM e
criar sua configuração em /etc/lvmtab.d
.
OBS: É normal o sistema procurar dispositivos de CD-ROM
durante a execução do pvscan
, apenas não deixe um CD na unidade
para evitar grandes sustos se estiver desatento com os passos :-)
Rode o pvcreate
no disco ou partição para dizer que ela será um
volume físico do LVM: pvcreate /dev/sda1 ou pvcreate
/dev/sda
Em caso de dúvida sobre qual é a partição LVM, digite: fdisk -l
/dev/sda (supondo que /dev/sda
é o disco rígido que está
configurando o LVM).
Rode o pvdisplay /dev/hda1 para verificar se o volume físico foi criado. Recomendo que deixe a partição raíz (/) de fora do LVM para não ter futuros problemas com a manutenção do seu sistema, a menos que tenha muitas opções de inicialização com suporte a LVM em mãos :-)
Crie o grupo de volume na partição vgcreate lvmdisk /dev/sda1 /dev/sdb7. Note que partições de discos diferentes podem fazer parte de um mesmo grupo de volume (VG) do LVM. Caso use o devfs ou em algumas versões do udev, será preciso usar o caminho completo do dispositivo ao invés do link: vgcreate lvmdisk /dev/ide/host0/bus0/target0/lun0/part1
O valor padrão do "Phisical Extend" é de 4MB mas pode ser alterado pelo parâmetro "-s tamanho", assim o tamanho máximo do grupo de volume será de 256GB (4MB * 64.000 extends que são suportados por volume lógico). Os valores do Phisical Extend (PE) pode ser de 8k a 16GB. Não é possível modificar o tamanho do PE após ele ser definido.
Verifique o grupo de volume (VG) recém criado com o comando:
vgdisplay
ou vgdisplay /dev/sda7
. Atente para a
linha "Free PE / tamanho", que indica o espaço livre restante para
criar os volumes lógicos (LV).
Crie o volume lógico (LV) com o comando: lvcreate -L1500 -ntmp
lvmdisk Que vai criar uma partição LVM de 1500MB (1,5GB) com o nome
tmp (acessível por /var/lvmdisk/tmp
) dentro do grupo
lvmdisk. Você deverá fazer isso com as outra partições.
Agora resta criar um sistema de arquivos (ext3, reiserfs, xfs, jfs, etc) como faria com qualquer partição física normal:
mkfs.ext3 /dev/lvmdisk/tmp ou mkfs.reiserfs /dev/lvmdisk/tmp
OBS: Caso deseje montar automaticamente o volume LVM, coloque
o caminho completo do LVM ao invés do volume físico no /etc/fstab
:
/dev/lvmdisk/tmp
.
O processo para aumentar o tamanho do volume lógico consiste em primeiro
aumentar o tamanho do VG com o lvextend
e depois ajustar o tamanho
do sistema de arquivos:
# Aumenta o espaço do volume lógico tmp para 1G lvextend -L1G /dev/lvmdisk/tmp # Aumenta em 200MB o espaço no volume lógico tmp lvextend -L+200M /dev/lvmdisk/tmp
As unidades Kk,Mm,Gg,Tt podem ser usadas para especificar o espaço. Após modificar o volume lógico, será preciso aumentar o tamanho do sistema de arquivos para ser exatamente igual ao tamanho do LV. Isto depende do seu sistema de arquivos:
resize2fs /dev/lvmdisk/tmp
O ext2/3 ainda vem com o utilitário e2fsadm
que executa
os dois comandos (lvextend
e resize2fs
) de uma só
vez: e2fsadm -L+1G /dev/lvmdisk/tmp
OBS: Você deverá desmontar o sistema de arquivos antes de alterar o tamanho de um sistema de arquivos ext2 ou ext3. Em kernels da serie 2.6.17 e superiores, a alteração pode ser feita on-line (devido ao patch ext2online incorporado ao kernel).
resize_reiserfs -f /dev/lvmdisk/tmp
O tamanho do sistema de arquivos reiserfs
poderá ser modificado
on-line, assim não precisa parar seu servidor para esta operação.
xfs_growfs /tmp
Note que deve ser especificado o ponto de montagem ao invés do dispositivo. O
sistema de arquivos deverá ser montado antes de ser modificado e incluido no
/etc/fstab
.
Para diminuir o tamanho de um volume lógico, certifique-se de ter calculado o espaço corretamente para acomodar todos os dados que já existem na partição. A diferença para o processo de aumentar o LV é que primeiramente o sistema de arquivos é reduzido primeiro e depois o LV (pois o LV que acomoda o sistema de arquivos):
resize2fs /dev/lvmdisk/tmp 4G e depois lvreduce -L-1G /dev/lvmdisk/tmp
Podem ser usados K, M ou G para especificar o novo tamanho. Caso esteja usando um kernel 2.6.17 ou superior, o tamanho poderá ser ajustado com o sistema de arquivos on-line (sem desmontar).
resize_reiserfs -s-1G /dev/lvmdisk/tmp e depois lvreduce -L-1G /dev/lvmdisk/tmp
O tamanho do sistema de arquivos reiserfs
poderá ser modificado
on-line, assim não precisa parar seu servidor para a modificação.
Não é possível diminuir o tamanho de um sistema de arquivos XFS em sua versão atual (12/2006).
As subseções seguintes explicarão maneiras de formatar seu pen-drive, memória
flash, e outras tecnologias (incluindo disquetes) para serem usados no
GNU/Linux
e DOS/Windows
.
Para formatar pen-drives para serem usados no GNU/Linux
use o
comando:
mkfs.ext2 [-c] [/dev/sde1]
Em alguns sistemas você deve usar mke2fs
no lugar de
mkfs.ext2
. A opção -c faz com que o
mkfs.ext2
procure por blocos danificados no pen-drive. Caso
deseje formatar um disquete, especifique o dispositivo /dev/fd0
ao
inves de /dev/sdb1
.
Note que o nome de dispositivo que é conectado varia de acordo com o sistema e quantidade de discos rígidos que sua máquina possui portanto tenha ATENCÃO para não formatar o dispositivo incorreto (que pode ser justamente seu disco disco rígido principal). Para maior segurança, ao identificar o pen-drive, digite dmesg ao conectar o pen-drive para visualizar o dispositivo correto ou fique atento as mensagens do console que mostrará o dispositivo que foi associado ao pen-drive.
OBS: Este comando cria um sistema de arquivos ext2 no pen-drive e
permite usar características como permissões de acesso e outras. Isto também
faz com que o pen-drive NÃO possa ser lido pelo DOS/Windows
. Para
formatar um pen-drive no GNU/Linux
usando o FAT16 ou
FAT32 (compatível com o DOS/Windows) veja próxima seção.
Exemplo: mkfs.ext2 -c /dev/sde1
A formatação de pen-drives para serem usados no Windows
é feita
usando o comando mkfs.msdos
que é geralmente incluído no pacote
dosfstools
. O mkfs.msdos
permite tanto a criação de
sistemas de arquivos FAT16 ou FAT32.
mkfs.msdos [opções] [dispositivo]
Pen-drive que será formatado. Normalmente /dev/sdb1
(dependendo
do dispositivo detectado via comando dmesg).
Especifica o tipo de FAT que será usado na formatação. Podem ser usados os valores 12 (para formatação usando FAT12, limitado a 12MB), 16 (para formatação usando FAT16, limitado a 2Gb) e 32 (para formatação FAT32, limitado a 128Gb).
Atribui o [nome] de volume ao dispositivo.
Faz uma pesquisa por bad blocks antes da criação do sistema de arquivos no dispositivo. Os setores defeituosos encontrados serão automaticamente marcados para não serem utilizadas.
Especifica o arquivo que contém a mensagem que será exibida ao usuário caso o disco não seja inicializável. A mensagem não pode exceder 418 bytes.
Note que não se deve montar o pen-driv / disquete para formata-lo.
Segue abaixo exemplos de como formatar seu pen-drive mkfs.msdos
:
mkfs.msdos /dev/sdc1 - Formata o pen-drive no terceiro dispositivo SCSI Genérico, como FAT32 e usando os valores padrões.
mkfs.msdos -F 16 /dev/sdc1 - Faz a mesma coisa que o acima, mas formata o pen-drive como FAT16.
mkfs.msdos -n teste -F 16 /dev/sdc1 - Formata o pen-drive no terceiro dispositivo SCSI genérico, como FAT16 e cria o nome de volume teste.
Além de programas de formatação em modo texto, existem outros para ambiente gráfico (X11) que permitem fazer a mesma tarefa.
Entre os diversos programas destaco o gfloppy
que além de permitir
selecionar se o disquete será formatado para o GNU/Linux
(ext2),
DOS
(FAT12) e permite selecionar a capacidade e formatação rápida
do disco.
O GNU/Linux
acessa as partições existente em seus discos rígidos e
disquetes através de diretórios. Os diretórios que são usados para acessar
(montar) partições são chamados de Pontos de Montagem. Para detalhes
sobre montagem de partições, veja Montando
(acessando) uma partição de disco, Seção 5.13.
No DOS
cada letra de unidade (C:, D:, E:) identifica uma partição
de disco, no GNU/Linux
os pontos de montagem fazem parte da grande
estrutura do sistema de arquivos raiz.
Existem muitas vantagens de se usar pontos de montagem ao invés de
unidade de disco para identificar partições (método usado no
Windows
):
Você pode montar a partição no diretório que quiser.
Em caso de um sistema de arquivos cheio, você pode copiar o conteúdo de um grande diretório para outro sistema de arquivos, apagar o conteúdo do diretório original e montar o disco onde foram copiados os arquivos naquele local (caso não use um sistema de LVM).
Reduz riscos de corrompimento do sistema operacional. Caso isto aconteça, será necessário apenas restaurar o backup do sistema de arquivos afetado.
Tempo de boot reduzido quando um sistema de arquivos for verificado por
ferramentas como o fsck
.
O uso de pontos de montagem torna o gerenciamento mais flexível.
A adição de novas partições ou substituição de discos rígidos não afeta a ordem
de identificação dos discos e pontos de montagem (como não acontece no
DOS
).
No GNU/Linux
, os dispositivos existentes em seu computador (como
discos rígidos, pen-drives, flash, disquetes,, tela, portas de impressora,
modem, etc) são identificados por um arquivo referente a este dispositivo no
diretório /dev
.
A identificação de discos rígidos no GNU/Linux
é feita da seguinte
forma:
/dev/sda1 | | || | | ||_Número que identifica o número da partição no disco rígido. | | | | | |_Letra que identifica o disco rígido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rígido (sd=SATA/SCSI, sd=IDE, xt=MFM). | |_Diretório onde são armazenados os dispositivos existentes no sistema.
Abaixo algumas identificações de discos e partições em sistemas Linux:
/dev/fd0 - Primeira unidade de disquetes.
/dev/fd1 - Segunda unidade de disquetes.
/dev/sda - Primeiro disco rígido na primeira controladora SATA ou SCSI.
/dev/sda1 - Primeira partição do primeiro disco rígido SATA ou.
/dev/sdb - Segundo disco rígido na primeira controladora SATA ou SCSI.
/dev/sdb1 - Primeira partição do segundo disco rígido SATA ou SCSI.
/dev/sr0 - Primeiro CD-ROM SATA ou SCSI.
/dev/sr1 - Segundo CD-ROM SATA ou SCSI.
/dev/hda - Primeiro disco rígido na primeira controladora IDE do micro (primary master).
/dev/hda1 - Primeira partição do primeiro disco rígido IDE.
/dev/hdb - Segundo disco rígido na primeira controladora IDE do micro (primary slave).
/dev/hdb1 - Primeira partição do segundo disco rígido IDE.
/dev/xda - Primeiro disco rígido XT.
/dev/xdb - Segundo disco rígido XT.
As letras de identificação de discos rígidos podem ir além de sdb, por exemplo, caso utilize pen-drives, memória flash, as unidades serão detectadas como sdc, sdd e assim por diante.
É importante entender como os discos e partições são identificados no sistema, pois será necessário usar os parâmetros corretos para monta-los.
Você pode acessar uma partição de disco usando o comando mount
.
mount [dispositivo] [ponto de montagem] [opções]
Onde:
Identificação da unidade de disco/partição que deseja acessar (como /dev/hda1 (disco rígido) ou /dev/fd0 (primeira unidade de disquetes).
Diretório de onde a unidade de disco/partição será acessado. O
diretório deve estar vazio para montagem de um sistema de arquivo. Normalmente
é usado o diretório /mnt
para armazenamento de pontos de montagem
temporários.
Tipo do sistema de arquivos usado pelo dispositivo. São aceitos os sistemas de arquivos:
ext2 - Para partições GNU/Linux
usando o Extended File
System versão 2 (a mais comum).
ext3 - Para partições GNU/Linux
usando o Extended File
System versão 3, com suporte a journaling.
ext4 - Para partições GNU/Linux
usando o Extended File
System versão 4, com suporte a journaling.
reiserfs - Para partições reiserfs, com suporte a journaling.
xfs - Para partições xfs, com suporte a journaling.
vfat - Para partições Windows 95
que utilizam nomes
extensos de arquivos e diretórios.
msdos - Para partições DOS
normais.
iso9660 - Para montar unidades de CD-ROM
. É o padrão.
Na maioria das vezes, caso o sistema de arquivos não seja especificado, o
mount
utilizará a auto-detecção e montará a partição usando o
sistema de arquivos correto. Para mais detalhes sobre opções usadas com cada
sistema de arquivos, veja a página de manual mount.
Caso for especificada, monta a partição somente para leitura.
Caso for especificada, monta a partição como leitura/gravação. É o padrão.
Existem muitas outras opções que podem ser usadas com o comando
mount
, mas aqui procurei somente mostrar o básico para
"montar" seus discos e partições no GNU/Linux
(para mais
opções, veja a página de manual do mount). Caso você digitar
mount sem parâmetros, serão mostrados os sistemas de arquivos
atualmente montados no sistema. Esta mesma listagem pode ser vista em
/etc/mtab
. A remontagem de partição também é muito útil,
especialmente após reparos nos sistema de arquivos do disco rígido. Veja
alguns exemplos de remontagem abaixo.
É necessário permissões de root para montar partições, a não ser que tenha
especificado a opção user no arquivo /etc/fstab
(veja
fstab, Seção 5.13.1).
Exemplo de Montagem:
Montar uma partição Windows (vfat) de /dev/sda1
em
/mnt
somente para leitura: mount /dev/sda1 /mnt -r -t
vfat
Montar um pen-drive detectado em /dev/sdc1
em /mnt
:
mount /dev/sdc1 /mnt -t vfat
Montar uma partição DOS localizada em um segundo disco rígido
/dev/hdb1
em /mnt
: mount /dev/hdb1 /mnt -t
msdos.
Remontar a partição raíz como somente leitura: mount -o remount,ro /
Remontar a partição raíz como leitura/gravação (a opção -n é usada
porque o mount
não conseguirá atualizar o arquivo
/etc/mtab
devido ao sistema de arquivos /
estar
montado como somente leitura atualmente: mount -n -o remount,rw /.
O arquivo /etc/fstab
permite que as partições do sistema sejam
montadas facilmente especificando somente o dispositivo ou o ponto de montagem.
Este arquivo contém parâmetros sobre as partições que são lidos pelo comando
mount
. Cada linha deste arquivo contém a partição que desejamos
montar, o ponto de montagem, o sistema de arquivos usado pela partição e outras
opções. fstab
tem a seguinte forma:
Sistema_de_arquivos Ponto_de_Montagem Tipo Opções dump ordem /dev/sda1 / ext3 defaults 0 1 /dev/sda2 /boot ext3 defaults 0 2 /dev/sda3 /dos msdos defaults,noauto,rw 0 0 /dev/hdg /cdrom iso9660 defaults,noauto 0 0
Onde:
Partição que deseja montar.
Diretório do GNU/Linux
onde a partição montada será acessada.
Tipo de sistema de arquivos usado na partição que será montada. Para partições
GNU/Linux
use ext3, reiserfs, xfs (de
acordo com o tipo de partição selecionada durante a formatação), para partições
DOS
(sem nomes extensos de arquivos) use msdos, para
partições Win 95
(com suporte a nomes extensos de arquivos) use
vfat, para unidades de CD-ROM use iso9660.
Especifica as opções usadas com o sistema de arquivos. Abaixo, algumas opções
de montagem para ext2/3/4 (a lista completa pode ser encontrada na página de
manual do mount
):
defaults - Utiliza valores padrões de montagem.
noauto - Não monta os sistemas de arquivos durante a inicialização (útil para CD-ROMS e disquetes).
ro - Monta como somente leitura.
user - Permite que usuários montem o sistema de arquivos (não recomendado por motivos de segurança).
sync é recomendado para uso com discos removíveis (disquetes, zip drives, nfs, etc) para que os dados sejam gravados imediatamente na unidade (caso não seja usada, você deve usar o comando sync, Seção 10.22 antes de retirar o disquete da unidade.
Especifica a frequência de backup feita com o programa dump
no
sistema de arquivos. 0 desativa o backup.
Define a ordem que os sistemas de arquivos serão verificados na inicialização do sistema. Se usar 0, o sistema de arquivos não é verificado. O sistema de arquivos raíz que deverá ser verificado primeiro é o raíz "/" (a não ser que você tenha um sistema de arquivos de outro tipo que não é montado dentro do diretório raíz e possui seu suporte embutido no kernel) .
Após configurar o /etc/fstab
, basta digitar o comando mount
/dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja
montada. Você deve ter notado que não é necessário especificar o sistema de
arquivos da partição pois o mount
verificará se ele já existe no
/etc/fstab
e caso existir, usará as opções especificadas neste
arquivo. Para maiores detalhes veja as páginas de manual fstab
e
mount
.
Utilize o comando umount
para desmontar um sistema de arquivos que
foi montado com o mount
. Você deve ter permissões de root para
desmontar uma partição.
umount [dispositivo/ponto de montagem]
Você pode tanto usar umount /dev/sda1 como umount
/mnt para desmontar um sistema de arquivos /dev/sda1
montado em /mnt
.
Observação: O comando umount
executa o sync
automaticamente no momento da desmontagem, para garantir que todos os dados
ainda em memória RAM sejam salvos.
[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ próximo ]
Guia Foca GNU/Linux
Versão 5.65 - domingo, 05 de setembro de 2010gleydson@guiafoca.org