Por que meu disco rígido está montado em / boot?

3

Eu estava fazendo uma atualização e ela disse que a unidade estava cheia.

Aqui está df -h:

Filesystem            Size  Used Avail Use% Mounted on
                       78G  2.7G   72G   4% /
none                  242M  184K  242M   1% /dev
none                  247M     0  247M   0% /dev/shm
none                  247M   48K  247M   1% /var/run
none                  247M     0  247M   0% /var/lock
none                  247M     0  247M   0% /lib/init/rw
/dev/sda1             228M  225M     0 100% /boot

Aqui está o fdisk -l:

Disk /dev/sda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00035711

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      249855   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32        1045     8136705    5  Extended
/dev/sda3            1045       10444    75498496   83  Linux
/dev/sda5              32        1045     8136704   8e  Linux LVM

Aqui está o monte:

/dev/mapper/sprintsftp-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/sda1 on /boot type ext2 (rw)

Aqui está o / etc / fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/machine-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=08ddfaa4-0da2-405e-95b2-b228a95dc761 /boot           ext2    defaults     $
/dev/mapper/machine-swap_1 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

Como posso consertar o / dev / sda1 sendo montado em / boot?

    
por divided 19.09.2012 / 16:47

2 respostas

3

Como eu disse no meu comentário, talvez seu único problema seja uma partição /boot completa. Como você está usando o LVM, a saída que você publicou em fstab, mount, etc parece bem.

E a melhor maneira de liberar espaço em /boot é remover versões antigas do kernel. Se você é novo nisso, sugiro usar o Centro de Software:

  • Procure por "linux-image". Anote o mais recente (seu kernel atual) e exclua todos os anteriores. Apenas remova aqueles com números de versão como linux-image-3.2.0-xx-server , não exclua o "main" linux-image-server ou linux-image . Certifique-se de manter seu número de versão atual.

  • Faça o mesmo com "linux-headers"

Você é bom para ir!

Além disso, como uma nota secundária ... você pode reconsiderar a administração de um servidor Ubuntu se ainda precisar de tutoriais para gerenciar o espaço em disco e as versões do kernel. Você já tentou o Ubuntu Desktop?

    
por MestreLion 19.09.2012 / 21:21
1

Parece que você tem dois problemas.

  1. Sua partição / boot está cheia - isso acontece se você atualizar o kernel o suficiente e não remover os antigos. É sempre uma boa idéia manter pelo menos um kernel antigo caso você encontre algo que não funciona com um novo, mas você não precisa de mais de três. Você inicializa com o GRUB? Quantas opções de kernel você obtém?

  2. Não há entrada para o local do sistema de arquivos raiz (ou seja, a entrada principal, "/"). Isso mostra que você tem uma partição de 80 GB, mas não mostra um ponto de montagem. Aqui está o meu:

df -h:

kevin@nx-6325:# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5              20G  9.6G  8.8G  53% /
none                  434M  280K  434M   1% /dev
none                  438M  252K  438M   1% /dev/shm
none                  438M  208K  438M   1% /var/run
none                  438M     0  438M   0% /var/lock
none                  438M     0  438M   0% /lib/init/rw
/dev/sda2             244M  197M   35M  86% /boot
kevin@nx-6325:#

Como você pode ver, meu sistema de arquivos raiz está montado em / dev / sda5. Note também que o meu / boot tem 197M usado - isto é, com 4 kernels, já que tenho preguiça de apagar os antigos!

Por favor, poste a saída de

sudo fdisk -l

e também

mount

Se você precisar de ajuda para excluir kernels antigos, postar de volta ou fazer o Google - é muito fácil de fazer.

EDITAR: Como afirmado pelo MestreLion, parece que seu único problema é uma partição full / boot que está impedindo você de atualizar o kernel. Para remover todos, mas os dois últimos, eu uso o script abaixo. O original está aqui: link e tudo o que fiz foi adicionar algumas linhas para que você é avisado sobre o que será mantido e o que será deletado antes de começar (e você também tem a opção de abortar se desejar). Acabei de executá-lo agora, para excluir os três mais antigos de cinco kernels e correu bem.

Copie todo o texto abaixo e salve-o em seu diretório home como purge-kernel.sh:

#!/bin/bash
# Get a list of the kernels that are installed.
kernelList=$(cd /;ls boot/vmlinuz*)
# Make a list of the kernels to keep. These are the kernels linked to by /vmlinuz,
# /vmlinuz.old, and the currently running kernel.
keepList="$(readlink -q /vmlinuz) $(readlink -q /vmlinuz.old) boot/vmlinuz-$(uname -r)"
# Change the list of file names to list of package names.
kernelPkg=$(sed 's@boot/vmlinuz-@linux-image-@g' <<<$kernelList)
keepPkg=$(sed 's@boot/vmlinuz-@linux-image-@g' <<<$keepList)
# Create a list of packages to purge. This is the list of installed kernels with the kernels
# to keep removed.
purgePkg=${kernelPkg}
for keep in $keepPkg
do
    eval purgePkg=${purgePkg/$keep}
done
purgePkg=$(echo $purgePkg)  # Remove extra white space
echo -ne "\nWill keep the following kernels: $keepPkg\n\n"
echo -ne "Will remove the following kernels: $purgePkg\n\n"
read -p "Press enter to continue, <Ctrl>-C to abort..."
# If there are any kernels to remove then purge them and update grub;
if [ -n "${purgePkg}" ]
then
tmpfile=$(mktemp)
chmod +x $tmpfile
echo "dpkg --purge ${purgePkg};update-grub"
echo "dpkg --purge ${purgePkg};update-grub" > $tmpfile
sudo -s $tmpfile
sleep 1  # following 'rm' fails otherwise.
rm -f $tmpfile
else
echo "No kernels to purge."
fi
exit

Torne-o executável executando

chmod +x purge-kernel.sh

Execute-o abrindo um terminal em seu diretório pessoal com:

./purge-kernel.sh

Você será solicitado a fornecer sua senha, pois o script exige privilégios de root.

    
por Scooby-2 19.09.2012 / 17:41

Tags