Tem o linux instalado no servidor ou estação de trabalho, e está precisando gerenciar as partições de um dispositivo de armazenamento novo ou existente ?
Com o comando parted é possível ter controle direto sobre as partições do HD/SSD sem depender de interfaces gráficas.
E mesmo existindo muitos programas gráficos(por exemplo: Gparted) que tornam o trabalho muito mais fácil. Aprender a usar o comando parted na linha de comando do linux pode ser essencial, já que em um servidor linux não se pode contar com um ambiente gráfico.
Esse guia ensina como usar o comando parted para listar dispositivos, criar tabela de partições, criar, deletar, redimensionar e recuperar partições.
O que é o comando parted no Linux ?
O comando parted é um utilitário de linha de comando para criar e manipular tabelas de partições, dando suporte a tabelas de partições MBR e GPT.
Para aprender mais sobre a tabela de partições GPT recomendo a leitura desse guia, e essa documentação para o esquema de particionamento MBR.
Antes de usar o comando parted recomendo aprender as melhores práticas de particionamento no linux para saber quanto de espaço dedicar para cada parte do sistema.
Diferenças do comando parted para os comandos fdisk e gdisk
No linux, existem dois comandos muito conhecidos e até mais usados que o parted, são: fdisk e gdisk. A tabela a seguir faz uma comparação dos comandos fdisk, gdisk com o parted para algumas funcionalidades:
| Funcionalidade | fdisk | gdisk | parted |
|---|---|---|---|
| Modo de uso | Somente interativo | Somente interativo | Interativo e não-interativo |
| Suporte a partições MBR | Sim | Sim | Sim |
| Suporte a partições GPT | A partir da versão 2.23 | Sim | Sim |
| Criar partições | Sim | Sim | Sim |
| Deletar partições | Sim | Sim | Sim |
| Redimensionar partições | Não | Não | Sim |
| Criar sistema de arquivos | Não | Não | Não |
| Recuperar partição deletada | Não | Não | Sim |
E existe uma diferença importante, que é essencial saber, o comando parted grava as alterações feitas no dispositivo de armazenamento imediatamente. As alterações feitas pelo comando fdisk e gdisk ficam na memória, e somente são gravadas com o comando interno “w” (grava mudanças e sai).
O parted também pode ser usado para automatizar tarefas através de scripts usando o modo não-interativo.
Como instalar o comando parted no linux
Para instalar o comando parted nas distribuições linux Debian e Ubuntu e distros baseadas, execute os seguintes comandos (logado com usuário root):
apt update
apt install partedSe está usando Fedora, RHEL ou distros baseadas no RHEL como Almalinux e Rocky Linux, logado com usuário root execute:
dnf install epel-release -y # algumas distros precisam do repo epel-relase
dnf install partedO pacote parted também instala o programa partprobe.
Iniciando o parted no terminal
O comando parted pode ser usado no modo interativo, nesse modo é aberto um prompt e a interação é feita por comandos internos do parted executados sobre os dispositivos de armazenamento selecionados.
No modo não-interativo não é aberto um prompt de comando próprio do parted, assim como outros comandos linux o parted executa seus comandos internos a partir do shell.
No modo não-interativo é necessário informar na linha de comando o dispositivo de armazenamento aonde será executada a operação, a sintaxe é:
parted [dispositivo] [comando]Exemplo:
parted /dev/sdb print
Nesse exemplo /dev/sdb é o dispositivo e print é o comando interno do parted.
IMPORTANTE
É necessário ter privilégios de root para executar as operações do comando parted ou use o sudo com uma conta de usuário com permissão para usar o comando sudo.
Para iniciar o programa parted no modo interativo execute na linha de comando:
partedSerrá aberto um prompt e todo comando digitado é executado pelo parted. Por exemplo, para listar os dispositivos de armazenamento no modo interativo execute:
print devices
Na imagem, é exibido dois HDs, o /dev/sda e /dev/sdb ambos com 129 GB.
No modo não-interativo, use a opção -l do parted para conseguir um resultado similar:
parted -lA diferença é que a opção -l exibe na tela mais informações sobre cada dispositivo de armazenamento como, por exemplo, as partições.
Criando tabelas de partições
Antes de criar uma partição, primeiro selecione o HD/SSD onde será executada cada operação, no modo interativo use o comando interno select do parted. No exemplo vou selecionar o HD /dev/sdb:
select /dev/sdbPara criar ou recriar uma tabela de partições use o comando interno mklabel do parted. Veja o exemplo no modo interativo para criar a tabela de partições GPT:
mklabel gpt
IMPORTANTE
Tanto para o modo interativo quanto para o modo não-interativo, caso já exista uma tabela de partição será perguntado se deseja continuar para sobrescrever a tabela de partição existente. Caso queira sobrescrever, digite: Yes.
No modo não-interativo, é necessário informar a localização completa do HD. Para criar a tabela de partição no /dev/sdb o comando completo é:
parted /dev/sdb mklabel gptPara exibir as informações da tabela de partição no modo interativo execute o comando interno print:
print
Se a necessidade é criar uma tabela de partição do tipo MBR, o comando no modo interativo é:
mklabel msdosJá para o modo não-interativo do comando parted no linux, o comando para criar uma tabela MBR em /dev/sdb é:
parted /dev/sdb mklabel msdosCriando partições
Para criar partições usando o parted utilize o comando interno mkpart para criar uma nova partição, a sintaxe é:
mkpart TIPO-PART [TIPO-FS] INÍCIO FIMExplicação:
mkpart – Comando interno do parted para criar uma nova partição.
TIPO-PART – Informar o tipo da partição, para tabela do tipo GPT use primary (primária), mas se a tabela de partição for MBR (msdos) pode ser uma partição do tipo primary (primária) ou extended (estendida) ou logical (lógica).
TIPO-FS – Nesse campo informe o tipo de sistema de arquivos que a partição vai receber posteriormente. O comando parted não vai criar um sistema de arquivos.
INÍCIO – O início da partição, o ponto exato que partição inicia no dispositivo de armazenamento.
FIM – O fim da partição, o ponto exato que partição termina no dispositivo de armazenamento.
Como a tabela criada nesse tutorial foi do tipo GPT, o exemplo a seguir tem o comando completo no modo interativo para criar uma partição de 20 GB para o sistema de arquivos xfs:
mkpart primary xfs 1MiB 20GBJá no modo não-interativo o comando completo para criar a partição com o mesmo tamanho:
parted /dev/sdb mkpart primary xfs 1MiB 20GBPara criar uma segunda partição de 10GB que vai ser formatada posteriormente com sistema de arquivos ext4, o comando completo no modo interativo é:
mkpart primary ext4 20GB 30GBComo a primeira partição termina em 20 GB, a partição seguinte tem que iniciar aonde a primeira termina e somar mais 10 GB, no exemplo, a primeira termina em 20 GB a segunda deve terminar em 30 GB. Sendo assim, de 20 GB até 30 GB tem um tamanho de 10 GB.
Se precisar criar uma terceira partição para área swap com 8GB de espaço, como a última partição termina em 30GB, a próxima deve ter o fim em 38 GB, veja o comando:
mkpart primary linux-swap 30GB 38GB
No modo não-interativo o comando completo seria:
parted /dev/sdb mkpart primary linux-swap 30GB 38GBDeletando partições
O comando parted no linux possibilita deletar partições usando o comando interno rm do parted. Para excluir uma partição precisará saber o número dela no prompt do parted.
Já foram criadas três partições nesse tutorial, para deletar a partição 3 no modo interativo o comando é:
rm 3
No modo não-interativo para remover a partição 3 do /dev/sdb, o comando completo é:
parted /dev/sdb rm 3Redimensionando partições
Redimensionar envolve aumentar o limite de espaço da partição e em seguida, redimensionar o sistema de arquivos existente na partição.
AVISO
Antes de redimensionar, faça backup dos dados da partição a ser redimensionada e em seguida desmonte o sistema de arquivos da partição, não tente redimensionar com a partição em uso.
Antes de redimensionar a partição também verifique se existe espaço disponível com o comando:
print free
A imagem do exemplo, mostra que o /dev/sdb tem 98,8 GB livre. Atualmente a partição 2 tem 10 GB de espaço, para o exemplo será aumenta para 30 GB.
No modo não-interativo o comando para /dev/sdb (dispositivo usado no tutorial) é:
parted /dev/sdb print freeA partição inicia nos 20 GB, para aumentar de 10 GB para 30 GB de tamanho use o comando interno resizepart seguido do número da partição (no exemplo é 2) e 50 GB:
resizepart 2 50GB
No modo não-interativo o comando para redimensionar a partição /dev/sdb2:
parted /dev/sdb resizepart 2 50GBApós salvar as alterações, é necessário redimensionar o sistema de arquivos (caso exista na partição) para o sistema operacional “enxergar” o novo espaço de armazenamento.
DICA
Se precisar mover uma partição para criar espaço contíguo, considere usar GParted (GUI). Sempre que possível execute o comando fsck para verificar a integridade do sistema de arquivos após redimensionar.
Recuperando partição deletada
Deletou uma partição e precisa recuperá-la ? O comando parted pode resolver seu problema.
AVISO
Partições vazias não são detectadas pelo comando parted, o parted pode recuperar somente partições deletadas que tinha um sistema de arquivos.
A partição usada no exemplo do tutorial é a /dev/sdb2 e já existe um sistema de arquivos que não está em uso. Para simular a recuperação da partição primeiro será removida a partição 2 (/dev/sdb2):
select /dev/sdb
rm 2
O comando interno rescue do parted deve ser usado para recuperar a partição. No exemplo, a partição 2 inicia em 20 GB (START) e vai até 50GB (END), o parted analisará a área que fica de 20 GB à 50GB:
rescue 20G 50GBSe o parted encontrar uma partição deletada, vai perguntar se deseja adicionar a partição encontrada na tabela de partição, digite: Yes para adicionar ou No para não.

Para usar a espaço da partição monte o sistema de arquivos dela.
Considerações de segurança para particionar
A seguir tem uma lista de orientações que destacam como agir para evitar perdas ao usar o comando parted.
- Sempre faça backup completo dos dados antes de qualquer operação de particionamento. Mantenha um esquema claro: anote IDs de partição, tipos (Linux filesystem, swap, EFI) em um arquivo de texto ou tire um printscreen (foto da tela).
- Use comandos internos do parted em modo interativo com atenção e revise antes de aplicá-los. Lembre-se: o comando parted aplica as alterações imediatamente.
- Evite modificar partições em uso pelo sistema. Alterações em partições ativas podem corromper sistemas de arquivos e causar perda imediata de dados. Sempre desmonte o sistema de arquivos da partição e pare serviços que a utilizem antes de trabalhar com parted.
- Se você precisa redimensionar a partição destinada ao diretório / (raiz) ou uma partição do sistema, opte por reiniciar o computador e iniciar com um live-cd ou usb, e faça o redimensionamento.
- O sistema não reconheceu as alterações ? Se está em um ambiente de produção e não pode reiniciar o servidor, utilize o comando partprobe para o kernel linux ser informado das alterações na tabela de partições.
Conclusão
O comando parted é muito útil e tem funcionalidades que pode ajudá-lo(a) a gerenciar as partições do HD/SSD em sistemas Linux.
É sempre recomendado a leitura do manual do parted para obter mais informações sobre suas funcionalidades.
Caso tenha alguma dúvida não hesite em utilizar a seção de comentários abaixo.

