full rootfs no big hardisk, instalação ou atualização de software não é possível

2

Alguém viu esse problema que pode me ajudar a resolvê-lo? Eu tenho um servidor pré-instalado (Debian GNU / Linux 7.6 (wheezy)), onde o espaço em disco foi particionado muito mal ... :-( O Hardisk é muito grande, mas é particionado desta forma:

rootfs                                                     323M  320M     0 100% /
udev                                                        10M     0   10M   0% /dev
tmpfs                                                      406M 1012K  405M   1% /run
/dev/disk/by-uuid/aa26072b-e0f4-4962-ba44-76d5e65346de     323M  320M     0 100% /
tmpfs                                                      5,0M     0  5,0M   0% /run/lock
tmpfs                                                      2,4G     0  2,4G   0% /run/shm
/dev/sda9                                                  531G  6,4G  498G   2% /home
/dev/sda8                                                  368M   11M  339M   3% /tmp
/dev/sda5                                                  8,3G  2,2G  5,8G  28% /usr

TARGET                       SOURCE                                                 FSTYPE      OPTIONS
/                            /dev/disk/by-uuid/aa26072b-e0f4-4962-ba44-76d5e65346de ext4        rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=order
├─/sys                       sysfs                                                  sysfs       rw,nosuid,nodev,noexec,relatime
├─/proc                      proc                                                   proc        rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc binfmt_misc                                            binfmt_misc rw,nosuid,nodev,noexec,relatime
├─/dev                       udev                                                   devtmpfs    rw,relatime,size=10240k,nr_inodes=214285,mode=755
│ └─/dev/pts                 devpts                                                 devpts      rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
├─/run                       tmpfs                                                  tmpfs       rw,nosuid,noexec,relatime,size=414996k,mode=755
│ ├─/run/lock                tmpfs                                                  tmpfs       rw,nosuid,nodev,noexec,relatime,size=5120k
│ └─/run/shm                 tmpfs                                                  tmpfs       rw,nosuid,nodev,noexec,relatime,size=2507080k
├─/home                      /dev/sda9                                              ext4        rw,relatime,user_xattr,barrier=1,data=ordered
├─/tmp                       /dev/sda8                                              ext4        rw,relatime,user_xattr,barrier=1,data=ordered
└─/usr                       /dev/sda5                                              ext4        rw,relatime,user_xattr,barrier=1,data=ordered

/opt está vinculado a /home/opt e /var está vinculado a /home/var ...

opt -> /home/opt
var -> /home/var

Mas quando executar apt-get upgrade ou instalar algum software, ele sempre irá falhar ... Então, eu posso expandir a partição raiz de alguma forma ou criar um symlink para alguns pontos de alguma forma? Muito obrigado pela ajuda.

    
por Mato 26.09.2014 / 17:57

5 respostas

2

Para recuperar esta instalação, sugiro:

  1. download & boot RIP Linux ( 11.7 é uma versão que eu prefiro , embora haja 13.7 disponível também ); Se você tiver problemas para inicializar o ISO, lembre-se que para o RIP Linux é suficiente iniciar o kernel e rootfs.cgz como initrd, tornando muito simples inicializar mesmo a partir de uma instalação existente
  2. com gparted redimensione sua partição / home para deixar espaço para uma nova partição raiz
  3. crie a nova partição raiz, o sistema de arquivos ext4, por exemplo
  4. use rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/your-old-root/* /mnt/your-new-root/ para clonar sua partição raiz
  5. edite o arquivo /mnt/your-new-root/etc/fstab para montar corretamente as novas / e /home partitions
  6. edite seu parâmetro de kernel do carregador de inicialização (GRUB / GRUB2 por exemplo) (que lê root=UUID=xxxxx ) para corresponder ao novo UUID da nova partição raiz (pesquisa em ls -l /dev/disk/by-uuid/ )
  7. reinicialize seu sistema e verifique se está usando a nova partição raiz

OBSERVAÇÃO: devido à natureza crítica das operações que você faria, você deve considerar fazer um backup e sempre referindo-se à documentação oficial quando tiver dúvidas. Coisas vão quebrar de outra forma.

    
por 26.09.2014 / 18:40
2

O post é um pouco antigo, mas eu corri exatamente o mesmo problema (Debian também) e executei o seguinte comando como root resolveu:

    apt-get clean

ele liberou 2G de rootfs no meu caso (deus sabe o porquê).

Eu recebi esta dica do link a seguir, que parece muito abrangente:

link

    
por 26.05.2015 / 15:44
0

Execute du -x / para ver o que está ocupando espaço no sistema de arquivos raiz.

320MB não é muito, mas deve ficar bom desde que você tenha um único pacote do kernel instalado. Remova todas as versões do kernel, exceto a que você deseja reinicializar.

Execute dpkg -l 'linux-image-*' para ver quais pacotes do kernel estão instalados. uname -r mostra qual versão você está executando agora, mas se você atualizou o kernel desde a última reinicialização, você vai querer desinstalá-lo e manter a versão mais recente. Você pode desinstalar o kernel em execução; isso impedirá que você carregue módulos, portanto, depois de fazer isso, você pode não conseguir conectar novos periféricos, usar novos recursos de rede, etc.

Você ainda deve ampliar a partição root, porque ter dois pacotes do kernel instalados é comum durante uma atualização (o kernel em execução mais a última versão; remova o kernel antigo após a reinicialização, uma vez que você saiba que a nova versão funciona).

Se remover pacotes do kernel não for suficiente, o que fazer dependerá do que está ocupando espaço. Um pouco do que está em /bin , /etc , /lib e /sbin é necessário para montar outras partições, então você não pode simplesmente mover esses diretórios para outro sistema de arquivos. Em um piscar de olhos, mover /lib/modules pode ser ok (não é em geral, mas está em muitas configurações, desde que o sistema de arquivos para o qual você o move não exija drivers diferentes da partição raiz).

    
por 27.09.2014 / 02:05
0

Outra alternativa:

O HDD é barato (US $ 50 comprará um HD de 500 GB e menos de US $ 100 para um HD de 1 TB).

Instale um segundo HDD e instale uma nova instalação do Linux.

Por segurança, desconecte o HD atual antes de instalar, depois instale o novo HD e o novo Linux, reconecte o HD antigo e rale novamente tudo que você deseja manter no novo HD.

Você pode deixar o HDD antigo conectado para backups, et al.

    
por 27.09.2014 / 02:49
0

Apenas um pensamento. Pode haver arquivos ocultos na partição rootfs. Remer rootfs no mnt e verificar os tamanhos de /mnt/home , /mnt/var , /mnt/opt , /mnt/usr , /mnt/dev , /mnt/sys , /mnt/proc , /mnt/run e /mnt/tmp .

mount --bind / /mnt
du -s /mnt/home /mnt/var /mnt/opt /mnt/usr /mnt/dev /mnt/proc /mnt/sys /mnt/run /mnt/tmp

Esses diretórios devem estar quase vazios (seus conteúdos estão localizados em outros sistemas de arquivos). Eu verifiquei no meu sistema e realmente /mnt/dev tem alguns dispositivos (eles podem ser necessários no momento da inicialização).

Se este não é o problema, execute

du -s /mnt/*

Como referência básica, os valores no meu laptop são:

7564    bin
8944    sbin
151284  lib
4       lib64
6928    etc
18288   boot
    
por 10.10.2014 / 07:30