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

1

Atualmente, estou preso a um esquema de particionamento restritivo que faz com que minhas partições sejam preenchidas. Parece assim:

/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

Eu quero mover os dados em /usr (e /var também, provavelmente) para a partição raiz. Eu realmente não me importo com as partições, então uma fusão não é necessária.

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

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

Poderia ser realmente simples assim, ou estou negligenciando alguma coisa?

    
por Aron Rotteveel 20.12.2013 / 15:46

3 respostas

1

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

    
por 20.12.2013 / 15:56
1
  1. Primeiro, você deve verificar sempre se tiver espaço livre suficiente. Desta vez, você tem.

  2. Sobre a cópia:

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

cp -vfa /usr /newusr

Se você gosta de ver o que está sendo feito no momento, isso pode ser alcançado com o sinalizador "-v".

  1. Não se esqueça de editar /etc/fstab nas alterações.
  2. AVISO: Após um reparticionamento, o kernel não pode sempre reler sua nova tabela de partição e, portanto, é possível que ela use ainda mais a sua 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 fdisk -l /dev/sda . Se houver uma incompatibilidade na partição que você deseja alterar atualmente, é melhor reiniciar.
por 20.12.2013 / 15:58
1

Para conseguir isso, seria necessário fazê-lo no modo de usuário único ou usando um LiveCD, que é o que você encontrará na Internet.

Além disso, é possível executar 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 libs de tempo de execução dependem esta pasta. Você pode experimentar uma máquina de teste anteriormente se ela funcionar.

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

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

Geralmente / var ainda está em uso para arquivos pid e sock, / usr , assim como qualquer lib necessitará dele.

Então, interrompa / destrua 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 pequeno exemplo, o daemon cups está sendo executado 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, eu 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 arquivo / etc / fstab e comente / exclua as entradas onde / var e / usr devem ser montados.

Então você pode iniciar todos os serviços que você parou ou reiniciou sua máquina. Se para / usr não funcionar, você não pode parar um daemon (talvez você não possa matá-lo, porque depende do init pid) a única maneira de usar um LiveCD.

Embora você não tenha mencionado qual é o tipo de máquina (seu PC, máquina de escritório, servidor, etc.), isso dependerá da realização da maneira formal possível.

    
por 20.12.2013 / 17:53