Como faço para realocar meus diretórios móveis / var e / usr do ubuntu?

1

Estou usando o Ubuntu 10.10 - o Maverick Meerkat. E minha partição raiz é muito pequena para manter esses dois em /. Alguém pode fazer uma sugestão sobre como fazer isso:

"" "crie uma nova partição para um diretório móvel grande como home, var ou usr. Então rsync o diretório para a nova partição e monte-a." ""

Houve um assunto semelhante aberto em Como altero o caminho de instalação padrão do Centro de Software? , mas como sou bonito novo para o Ubuntu eu estou lutando para chegar a uma solução.

Eu quero mover / usr e / var na mesma partição com / home, mas não quero fazer partições separadas para cada uma delas. Para mover / home, usei esta solução: link Eu acho que preciso de uma rotulagem no meu fstab, alguém pode me dizer se é uma boa ideia ou dar uma melhor?

    
por Decebal 20.12.2011 / 00:37

2 respostas

1

Como você diz que não quer mover suas partições, pode fazer isso em um CD ao vivo:

  1. Monte suas partições raiz e home (que eu estou supondo que sejam / dev / sda1 e / dev / sda2, respectivamente; verifique usando o GParted para ter certeza) e cd na raiz da sua instalação:

    sudo mount /dev/sda1 /mnt
    sudo mount /dev/sda2 /mnt/home
    cd /mnt
    
  2. Mova os diretórios para onde você quiser (em / home, como você disse):

    sudo mkdir -p home/outside_stuff
    sudo mv var usr home/outside_stuff
    
  3. Agora, você tem duas opções aqui. Escolha um ou outro:

    1. Use links simbólicos. Esse é o método mais fácil, mas não é tão robusto:

      sudo ln -s home/outside_stuff/* .
      
    2. Vincule os diretórios:

      • Crie seus pontos de montagem:

        sudo mkdir -p var usr
        
      • Adicione o seguinte a /etc/fstab :

        /home/outside_stuff/var /var none bind
        /home/outside_stuff/usr /usr none bind
        
      • chroot no seu sistema e teste-o:

        for i in sys proc dev; do sudo mount --bind "/$i" "/mnt/$i"; done
        sudo chroot /mnt
        mount -a    # hopefully there'll be no errors
        mount       # you should see entries for /var and /dev
        exit
        
  4. Reinicializar:

    sudo reboot
    
por Scott Severance 20.12.2011 / 18:06
0

O que você faria é inicializar um CD ao vivo, criar novas partições.

Eu assumirei que sua partição root do ubuntu está em / dev / sad1 e você fez duas novas partições, ext4, para / usr e / var em / dev / sda2 e / dev / sda3

Você monta tudo em um diretório de trabalho, digamos /mnt/root , /mnt/usr e /mnt/var

sudo mkdir /mnt/{root,usr,var}
sudo mount /dev/sda1 /mnt/root
sudo mount /dev/sda2 /mnt/usr
sudo mount /dev/sda3 /mnt/var

Você então move seus arquivos

sudo mv /mnt/root/usr/* /mnt/usr/
sudo mv /mnt/root/var/* /mnt/var/

Você então edita / mnt / root / etc / fstab e adiciona suas novas partições

Relacione suas partições com blkid

sudo blkid

Você então edita /mnt/root/etc/fstab

# command line
sudo -e /mnt/root/etc/fstab

# graphical
gksu gedit /mnt/root/etc/fstab

Adicione suas novas partições

UUID=uuid_sda2_here  /usr  ext4    errors=remount-ro  0  2
UUID=uuid_sda3_here  /var  ext4    errors=remount-ro  0  2

um link agora funcionará e não será montado --bind. Você poderia usar algo como o LVM.

Se não é isso que você quer, por favor, esclareça sua pergunta. Você não pode economizar espaço em disco sem mover os dados, portanto, a sincronização não economizará espaço em disco. Você não pode adicionar espaço à sua partição raiz com um link ou uma ligação de montagem, você precisaria usar o LVM.

    
por Panther 20.12.2011 / 17:29