Altere o caminho de instalação do apt-get

1

Eu tenho uma máquina na qual a partição raiz está ficando sem espaço. Eu tenho outro disco em que há muito espaço livre. Como configuro o apt-get para instalar pacotes em um disco / diretório diferente?

    
por mntk123 20.04.2015 / 14:53

4 respostas

2

Você não quer fazer isso. A primeira coisa é tentar recuperar o espaço sob a raiz. Isso é provavelmente factível. Para começar, cd para /var/cache/apt/archives e digite du -hs . Isso dará a quantidade de espaço usada pelos pacotes deb armazenados pelo apt. Você pode removê-los manualmente ou usando apt-get clean .

Existem também ferramentas para remover grandes pacotes não utilizados. Por exemplo, você pode instalar wajig ( apt-get install wajig ) e usar wajig large . Isso lhe dará uma lista de pacotes em ordem crescente de tamanho.

Se isso não resolver o seu problema (e deve), então você pode considerar tentar aumentar seu sistema de arquivos raiz. Você está usando o LVM? Independentemente disso, o que você quer fazer é estender o sistema de arquivos raiz para ser maior. Com o LVM, você pode facilmente ampliá-lo em outro disco, mas primeiro desmontará o sistema de arquivos da sala. Se você não estiver usando o LVM, provavelmente será mais difícil - eu só usei o LVM por um longo tempo, então não tenho certeza das opções disponíveis.

Se você quiser informações mais específicas, cole a saída de df -h em sua pergunta.

    
por 20.04.2015 / 15:35
1

O apt-get (8) não possui uma opção direta para alterar o diretório de instalação. O dpkg (1) faz, mas é destinado a um ambiente chroot.

Você pode instalar normalmente e depois mover os arquivos do aplicativo, configurando links simbólicos dos locais originais para os novos locais. Isso pode não funcionar para todos os aplicativos. Também após a desinstalação, pode ser um problema se você não inverter o processo.

Sua melhor aposta é limpar sua partição / root para liberar espaço; mova / usr ou outro diretório se estiver sob sua partição / root para seu disco livre e monte sob a raiz; use o LVM para estender sua partição raiz utilizando espaço livre no outro disco; ou para reconstruir o pacote para instalar em outro lugar.

    
por 20.04.2015 / 15:27
1

Instalar diferentes pacotes em diferentes partições é tecnicamente factível, mas difícil. Você pode usar uma montagem de união para direcionar pacotes recém-instalados e versões de pacotes para um sistema de arquivos diferente, mantendo tudo visível no local normal , mas é um exagero.

Em vez de instalar novos pacotes em um local diferente, escolha uma árvore de diretórios grande e mova-a para um sistema de arquivos diferente e, em seguida, crie um link simbólico. Por exemplo, se você criou um novo sistema de arquivos montado em /LARGE e decidiu mover /usr/share/doc para este novo sistema de arquivos:

mv /usr/share/doc /LARGE/doc
ln -s /LARGE/doc /usr/share/doc

Continue a usar seu sistema normalmente.

Idealmente, você deve ampliar o sistema de arquivos raiz. Se você usa um sistema de arquivos mainstream (por exemplo, ext4, btrfs) no LVM, você pode fazê-lo enquanto o seu sistema está rodando: amplie o volume do LVM (disponha de algum espaço livre no (s) volume (s) físico (s) e execute lvextend ) em seguida, amplie o sistema de arquivos para preencher o volume (execute resize2fs ou btrfs filesystem resize ). Se você não estiver usando o LVM, talvez seja necessário reinicializar em um sistema ativo para aumentar a partição raiz.

    
por 21.04.2015 / 03:31
0

Você pode primeiro verificar se existe algum arquivo de log grande ou similar ocupando muito espaço (su du e find para encontrá-lo).

Se você não conseguir recuperar espaço por qualquer método (digamos apt-get clean , descobrir se há algum arquivo grande com du -sh /* e, em seguida, du -sh /bigger_directory/* , etc), você poderá mover / usr para uma nova partição no mesmo ou em outro disco. Este é o diretório onde todos os pacotes são tipicamente instalados, então você deve recuperar a maior parte do espaço em disco movendo-o.

Já fiz isso algumas vezes e até migrei sistemas completos com uma abordagem semelhante (por exemplo, movi o sistema operacional do meu laptop para um novo disco SSD). Os passos que dei:

  • Faça backup do sistema e dos dados (sempre antes de fazer esse tipo de alteração).
  • Prepare e formate uma partição no disco (nós a usaremos como / usr).
  • Reinicie o sistema com uma distribuição Linux do tipo LIVECD ou USB-stick.
  • Enquanto estiver no CD ao vivo, inicie um terminal e torne-se root.
  • Crie uma partição temporária no ramdisk e monte seus discos do PC local para trabalhar.
  • Execute os comandos necessários para copiar dados / usr para o novo disco. Relembrando da minha memória (acho que estão bem):

sudo su - root mkdir /temp ### Assuming / is /dev/sda1 : mount -t ext4 /dev/sda1 /temp cd /temp mv /temp/usr /temp/usr.OLD mkdir /temp/usr chown root:root /temp/usr chmod 755 /temp/usr ### Assuming your new partition is /dev/sda6 mount -t ext4 /dev/sda6 /temp/usr ### Copy the entire old /usr to the new disk rsync -avz /temp/usr.OLD/* /temp/usr ### Edit your fstab to automount /usr from the new location vim /temp/etc/fstab ### (add an entry like: /dev/sda6 /usr ext4 defaults 1 2) cd / umount /temp/usr umount /temp/ rmdir /temp exit

  • Agora, você copiou seus dados / usr para a nova partição, criou um diretório / usr vazio e modificou seu arquivo / etc / fstab para que, quando o sistema for iniciado, ele seja instalado / usr esta nova partição.
  • Agora você pode iniciar seu sistema e verificar se ele funciona corretamente.
  • Quando tiver certeza de que o sistema funciona corretamente, você poderá excluir /usr.OLD e recuperar todo o disco usado por / usr.

Se houver algum problema, lembre-se de que você sempre pode recuperar seu antigo usr com o mesmo método (inicializar com o livecd, montar seu / in / temp, remover a entrada / etc / fstab e deletar / usr e mv / usr.OLD como / usr).

AVISO LEGAL: Por favor, note que, embora este não seja um procedimento muito avançado, você deve ser bastante cuidadoso e ter certeza de que compreende todas as etapas. Nada é excluído neste procedimento até você testar se funciona, mas verifique tudo antes de seguir o procedimento. Você pode praticar isso com uma partição de exemplo (digamos / opt) se quiser testá-lo primeiro.

    
por 20.04.2015 / 16:20