2 votes

Comment ou quoi puis-je supprimer de /boot vu qu'il est presque plein ?

Comment puis-je nettoyer /boot ou que puis-je supprimer étant donné qu'il est presque plein et que je continue à recevoir un message qui dit qu'il ne reste que 5,1 Mo. Parce que si je vais dans l'analyseur d'utilisation du disque, comme il le dit, il n'y a pas d'ouverture à nettoyer.

Voici le contenu de la partition :

username@hostname:~$ ls -l /boot/
total 423041
-rw-r--r-- 1 root root  1443719 Aug  9 07:08 abi-4.10.0-32-generic
-rw-r--r-- 1 root root  1443962 Aug 11 13:59 abi-4.10.0-33-generic
-rw-r--r-- 1 root root  1443962 Sep 13 07:16 abi-4.10.0-35-generic
-rw-r--r-- 1 root root  1407843 Feb  5  2017 abi-4.8.0-36-generic
-rw-r--r-- 1 root root  1408375 Mar 31 14:01 abi-4.8.0-46-generic
-rw-r--r-- 1 root root  1408671 Apr 20 09:07 abi-4.8.0-49-generic
-rw-r--r-- 1 root root  1408813 Jun 14 11:17 abi-4.8.0-56-generic
-rw-r--r-- 1 root root  1408813 Jun 26 17:31 abi-4.8.0-58-generic
-rw-r--r-- 1 root root   204970 Aug  9 07:08 config-4.10.0-32-generic
-rw-r--r-- 1 root root   204970 Aug 11 13:59 config-4.10.0-33-generic
-rw-r--r-- 1 root root   204970 Sep 13 07:16 config-4.10.0-35-generic
-rw-r--r-- 1 root root   199575 Feb  5  2017 config-4.8.0-36-generic
-rw-r--r-- 1 root root   199564 Mar 31 14:01 config-4.8.0-46-generic
-rw-r--r-- 1 root root   199588 Apr 20 09:07 config-4.8.0-49-generic
-rw-r--r-- 1 root root   199564 Jun 14 11:17 config-4.8.0-56-generic
-rw-r--r-- 1 root root   199564 Jun 26 17:31 config-4.8.0-58-generic
drwxr-xr-x 3 root root     1024 Apr  9 12:00 efi
drwxr-xr-x 5 root root     1024 Sep 20 05:03 grub
-rw-r--r-- 1 root root 42058341 Aug 28 10:57 initrd.img-4.10.0-32-generic
-rw-r--r-- 1 root root 42056847 Aug 29 02:58 initrd.img-4.10.0-33-generic
-rw-r--r-- 1 root root 42056820 Sep 20 05:03 initrd.img-4.10.0-35-generic
-rw-r--r-- 1 root root 40647942 Aug 28 10:56 initrd.img-4.8.0-36-generic
-rw-r--r-- 1 root root 40638652 Aug 28 10:55 initrd.img-4.8.0-46-generic
-rw-r--r-- 1 root root 40637975 Aug 28 10:55 initrd.img-4.8.0-49-generic
-rw-r--r-- 1 root root 40644972 Aug 28 10:55 initrd.img-4.8.0-56-generic
-rw-r--r-- 1 root root 40643997 Aug 28 10:55 initrd.img-4.8.0-58-generic
drwx------ 2 root root    12288 Apr  9 12:00 lost+found
-rw-r--r-- 1 root root   182704 Jan 28  2016 memtest86+.bin
-rw-r--r-- 1 root root   184380 Jan 28  2016 memtest86+.elf
-rw-r--r-- 1 root root   184840 Jan 28  2016 memtest86+_multiboot.bin
-rw------- 1 root root  3718993 Aug  9 07:08 System.map-4.10.0-32-generic
-rw------- 1 root root  3721812 Aug 11 13:59 System.map-4.10.0-33-generic
-rw------- 1 root root  3721891 Sep 13 07:16 System.map-4.10.0-35-generic
-rw------- 1 root root  4060748 Feb  5  2017 System.map-4.8.0-36-generic
-rw------- 1 root root  4066103 Mar 31 14:01 System.map-4.8.0-46-generic
-rw------- 1 root root  4066773 Apr 20 09:07 System.map-4.8.0-49-generic
-rw------- 1 root root  4068016 Jun 14 11:17 System.map-4.8.0-56-generic
-rw------- 1 root root  4068043 Jun 26 17:32 System.map-4.8.0-58-generic
-rw------- 1 root root  7398816 Aug  9 07:08 vmlinuz-4.10.0-32-generic
-rw------- 1 root root  7404416 Aug 11 13:59 vmlinuz-4.10.0-33-generic
-rw------- 1 root root  7405152 Sep 13 07:16 vmlinuz-4.10.0-35-generic
-rw-r--r-- 1 root root  7297312 Apr  9 12:08 vmlinuz-4.8.0-36-generic
-rw------- 1 root root  7305856 Mar 31 14:01 vmlinuz-4.8.0-46-generic
-rw------- 1 root root  7305856 Apr 20 09:07 vmlinuz-4.8.0-49-generic
-rw------- 1 root root  7309536 Jun 14 11:17 vmlinuz-4.8.0-56-generic
-rw------- 1 root root  7310848 Jun 26 17:31 vmlinuz-4.8.0-58-generic
username@hostname:~$

1voto

Andrew Points 787

Voici un script qui le fait automatiquement.

Le moyen le plus simple de libérer de l'espace dans /boot est de se débarrasser des noyaux anciens et inutilisés. Il est important, lorsque vous supprimez des noyaux, de ne jamais supprimer le noyau que vous utilisez actuellement (vérifiez avec uname -r) et vous ne voulez pas supprimer le noyau le plus récent, sinon vous le téléchargerez à nouveau lors de la prochaine mise à jour.

Chaque noyau et les ressources disque qui lui sont liées occupent environ 50 Mo d'espace. Vous souhaitez également supprimer les noyaux en utilisant uniquement apt purge car il supprime les dépendances et met à jour Grub à la fin. Vous pouvez voir une liste des noyaux installés en utilisant dpkg -l | grep linux-image.

Autoremove ne récupère pas toujours tous les anciens noyaux.

#!/bin/bash

# create the clean-boot command line utility, if it doesn't exist
if [ ! -f /usr/sbin/clean-boot ]; then
    cp "$0" /usr/sbin/clean-boot
    chown root.root /usr/sbin/clean-boot
    chmod 0770 /usr/sbin/clean-boot
fi

# add clean-boot cron job to root's crontab, if it doesn't exist
if [[  `crontab -l | grep "/usr/sbin/clean-boot" | wc -l` -eq 0 ]]; then    
    (crontab -l 2>/dev/null; echo "0 10 * * 3,4 /usr/sbin/clean-boot") | crontab -
fi

# array of kernels installed on the system
kernels=($(dpkg --list | grep 'linux-image-[0-9]' | awk '{ print $2 }'))

# kernel currently being used by the system 
current_kernel=linux-image-`uname -r`

# newest kernel installed (currently being initialized to current_kernel)
newest_kernel=$current_kernel

# for loop below used to find the newest insitalled kernel
for i in "${kernels[@]}"
do

    # since newest is initialized to current, there is no need to parse through kernels same version as the one currently loaded
    if [[ $i != $current_kernel*  ]]; then

        # each iteration of the for loop is for each version number (kernel version, major, minor, incidental numbers) example 4.8.0-56-generic
        for counter in 1 2 3 4
        do

            # if statement extracts the version numbers
            if [[ $counter -lt 3 ]]; then

                compare_number=$(echo ${i#"linux-image-"} | cut -d'.' -f$counter)
                newest_number=$(echo  ${newest_kernel#"linux-image-"} | cut -d'.' -f$counter)

            elif [[ $counter -eq 3 ]]; then

                compare_number=$(echo ${i#"linux-image-"} | cut -d'.' -f$counter)
                newest_number=$(echo  ${newest_kernel#"linux-image-"} | cut -d'.' -f$counter)

                compare_number=$(echo ${compare_number} | cut -d'-' -f1)
                newest_number=$(echo  ${newest_number} | cut -d'-' -f1)             

            else

                compare_number=$(echo ${i#"linux-image-"} | cut -d'-' -f2)
                newest_number=$(echo  ${newest_kernel#"linux-image-"} | cut -d'-' -f2)

            fi

            # this if statement does the comparison
            if [[ $compare_number -eq $newest_number ]]; then
                continue
            elif [[ $compare_number -lt $newest_number ]]; then
                break
            else
                newest_kernel=$i
                break
            fi

        done

    fi

done

# for every kernel
for i in "${kernels[@]}"
do

    # delete the kernel if the kernel is not the one in use and is not the newest one installed
    if [[ $i != $current_kernel* && $i != $newest_kernel* ]]; then

        apt-get purge "$i" -y

    fi 

done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X