Movendo partições para a partição raiz

Movendo partições para a partição raiz

Atualmente estou preso a um esquema de particionamento restritivo que faz minhas partições ficarem cheias. Se parece com isso:

/dev/sda7             870G  315G  511G  39% /
/dev/sda6             2.0G  271M  1.6G  15% /tmp
/dev/sda3              15G   13G  1.5G  90% /usr
/dev/sda2              15G  8.6G  5.0G  64% /var
/dev/sda1              99M   36M   58M  39% /boot
tmpfs                 7.9G     0  7.9G   0% /dev/shm

Quero mover os dados /usr(e /varprovavelmente também) para a partição raiz. Eu realmente não me importo com as partições em si, portanto não é necessária uma mesclagem.

Qual seria a melhor abordagem para fazer isso? Atualmente meu plano é este:

cp -R /usr /newusr
umount /usr
mv /newusr /usr

Poderia ser realmente tão simples ou estou negligenciando alguma coisa?

Responder1

Sua abordagem está correta. Crie um diretório na partição raiz, copie seus dados lá, desmonte a usrpartição e mova seu novo diretório para usr. Não se esqueça de editar o seu /etc/fstabdepois.

Responder2

  1. Primeiro você deve sempre verificar se tem espaço livre suficiente. Desta vez, você tem.

  2. Sobre a cópia:

Não tão simples. Existem arquivos especiais, cujos atributos especiais nem sempre são copiados corretamente. Em vez de cp -R, use

cp -vfa /usr /newusr

Se você quiser ver o que está sendo feito atualmente, isso pode ser feito com o sinalizador "-v".

  1. Não se esqueça de editar /etc/fstabas alterações.
  2. AVISO: Após um reparticionamento, o kernel nem sempre consegue reler sua nova tabela de partições e, portanto, é possível que ele utilize ainda mais a antiga! É muito perigoso! A versão do kernel sobre a tabela de partição atual pode ser encontrada em /proc/partitions, e a tabela de partição no disco pode ser lida com um arquivo fdisk -l /dev/sda. Se houver uma incompatibilidade sobre a partição que você deseja alterar atualmente, é melhor reiniciar.

Responder3

Para isso seria necessário fazê-lo em modo monousuário ou utilizando um LiveCD, é o que você encontrará na internet.

Além disso, é possível fazer isso em tempo de execução (um pouco arriscado, claro), mas acho que dessa forma só funcionará para /var e não para/usr, algumas bibliotecas de tempo de execução dependem desta pasta. Você pode experimentar uma máquina de teste anteriormente, se funcionar.

Em primeiro lugar vocêdeveverifique se algum processo/serviço está usando/gravando no diretório que você deseja mover.

lsof | grep -E '/usr|/var'

Geralmente /var ainda está em uso para arquivos pid e sock,/usrassim como qualquer lib precisará disso.

Portanto, pare/elimine serviços e processos que aparecem.

COMMAND    PID  TID        USER   FD      TYPE             DEVICE   SIZE/OFF       NODE NAME
cupsd      723             root    5u      REG                8,1          0    8651393 /var/log/cups/error_log
cupsd      723             root    6u      REG                8,1          0    8651908 /var/log/cups/page_log
cupsd      723             root   12u     unix 0xffff88020d97d780        0t0       9958 /var/run/cups/cups.sock

Neste breve exemplo, o daemon cups está rodando e usando esses diretórios. Se pará-los, eles não aparecerão na saída lsof.

Depois disso, você precisa de uma cópia dos seus dados atuais, sugiro usar rsync em vez de cp (para preservar tudo, permissões, links simbólicos, etc.)

mkdir /mnt/var
mkdir /mnt/usr

Faça seu backup

rsync -avz /var/* /mnt/var
rsync -avz /usr/* /mnt/usr

Desmontar pastas

umount /var
umount /usr

Restaurar dados

rsync -avz /mnt/var/* /var
rsync -avz /mnt/usr/* /usr

Edite seu/etc/fstabarquivar e comentar/excluir as entradas onde/vare/usronde deveria ser montado.

Então você pode iniciar todos os serviços interrompidos ou reiniciar sua máquina. Se por/usrnão funciona, você não pode parar um daemon (talvez você não possa matá-lo porque depende do init pid) a única maneira será usando um LiveCD.

Embora você não tenha mencionado que tipo de máquina é (seu PC, máquina de escritório, servidor, etc.), dependerá disso para realizar o desempenho da maneira formal possível.

informação relacionada