La Fibre

Télécom => Logiciels et systèmes d'exploitation => Linux Linux => Discussion démarrée par: vivien le 04 août 2017 à 15:26:38

Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 04 août 2017 à 15:26:38
Ubuntu : supprimer les anciens noyaux Linux pour gagner de la place

Avec Ubuntu, les anciens noyaux Linux sont conservés, alors qu'ils sont mis à jour une à trois fois par mois en fonction des correctifs de sécurité et qu'ils prennent une place non négligeable.

Pour gagner de la place, il faut les supprimer : la commande sudo apt-get autoremove supprime les anciens noyaux, sauf celui utilisé et l’avant dernier utilisé.

Voici un peu de place sur le PC d'une personne de 93 ans : On gagne 6,7 Go d'espace libre

$ sudo apt-get autoremove
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-headers-3.13.0-101 linux-headers-3.13.0-101-generic
  linux-headers-3.13.0-105 linux-headers-3.13.0-105-generic
  linux-headers-3.13.0-106 linux-headers-3.13.0-106-generic
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-headers-3.13.0-44 linux-headers-3.13.0-44-generic
  linux-headers-3.13.0-46 linux-headers-3.13.0-46-generic
  linux-headers-3.13.0-48 linux-headers-3.13.0-48-generic
  linux-headers-3.13.0-49 linux-headers-3.13.0-49-generic
  linux-headers-3.13.0-51 linux-headers-3.13.0-51-generic
  linux-headers-3.13.0-52 linux-headers-3.13.0-52-generic
  linux-headers-3.13.0-53 linux-headers-3.13.0-53-generic
  linux-headers-3.13.0-63 linux-headers-3.13.0-63-generic
  linux-headers-3.13.0-65 linux-headers-3.13.0-65-generic
  linux-headers-3.13.0-66 linux-headers-3.13.0-66-generic
  linux-headers-3.13.0-68 linux-headers-3.13.0-68-generic
  linux-headers-3.13.0-71 linux-headers-3.13.0-71-generic
  linux-headers-3.13.0-74 linux-headers-3.13.0-74-generic
  linux-headers-3.13.0-77 linux-headers-3.13.0-77-generic
  linux-headers-3.13.0-79 linux-headers-3.13.0-79-generic
  linux-headers-3.13.0-83 linux-headers-3.13.0-83-generic
  linux-headers-3.13.0-85 linux-headers-3.13.0-85-generic
  linux-headers-3.13.0-86 linux-headers-3.13.0-86-generic
  linux-headers-3.13.0-93 linux-headers-3.13.0-93-generic
  linux-headers-3.13.0-96 linux-headers-3.13.0-96-generic
  linux-headers-3.13.0-98 linux-headers-3.13.0-98-generic
  linux-image-3.13.0-101-generic linux-image-3.13.0-105-generic
  linux-image-3.13.0-106-generic linux-image-3.13.0-32-generic
  linux-image-3.13.0-44-generic linux-image-3.13.0-46-generic
  linux-image-3.13.0-48-generic linux-image-3.13.0-49-generic
  linux-image-3.13.0-51-generic linux-image-3.13.0-52-generic
  linux-image-3.13.0-53-generic linux-image-3.13.0-63-generic
  linux-image-3.13.0-65-generic linux-image-3.13.0-66-generic
  linux-image-3.13.0-68-generic linux-image-3.13.0-71-generic
  linux-image-3.13.0-74-generic linux-image-3.13.0-77-generic
  linux-image-3.13.0-79-generic linux-image-3.13.0-83-generic
  linux-image-3.13.0-85-generic linux-image-3.13.0-86-generic
  linux-image-3.13.0-93-generic linux-image-3.13.0-96-generic
  linux-image-3.13.0-98-generic linux-image-extra-3.13.0-101-generic
  linux-image-extra-3.13.0-105-generic linux-image-extra-3.13.0-106-generic
  linux-image-extra-3.13.0-32-generic linux-image-extra-3.13.0-44-generic
  linux-image-extra-3.13.0-46-generic linux-image-extra-3.13.0-48-generic
  linux-image-extra-3.13.0-49-generic linux-image-extra-3.13.0-51-generic
  linux-image-extra-3.13.0-52-generic linux-image-extra-3.13.0-53-generic
  linux-image-extra-3.13.0-63-generic linux-image-extra-3.13.0-65-generic
  linux-image-extra-3.13.0-66-generic linux-image-extra-3.13.0-68-generic
  linux-image-extra-3.13.0-71-generic linux-image-extra-3.13.0-74-generic
  linux-image-extra-3.13.0-77-generic linux-image-extra-3.13.0-79-generic
  linux-image-extra-3.13.0-83-generic linux-image-extra-3.13.0-85-generic
  linux-image-extra-3.13.0-86-generic linux-image-extra-3.13.0-93-generic
  linux-image-extra-3.13.0-96-generic linux-image-extra-3.13.0-98-generic
0 mis à jour, 0 nouvellement installés, 100 à enlever et 0 non mis à jour.
Après cette opération, 6 785 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 04 août 2017 à 15:40:12
La dernière mise à jour a été poussé par Canonical à 22h48, comme le montre les log http://fr.archive.ubuntu.com/log/

La mise à jour d'hier à 22h48 :

pool/main/l/linux-signed-hwe-edge/
pool/main/l/linux-signed-hwe-edge/kernel-signed-image-4.11.0-13-generic-di_4.11.0-13.19~16.04.1_amd64.udeb
pool/main/l/linux-signed-hwe-edge/linux-signed-image-4.11.0-13-generic_4.11.0-13.19~16.04.1_amd64.deb
pool/main/l/linux-signed-hwe-edge/linux-signed-image-4.11.0-13-lowlatency_4.11.0-13.19~16.04.1_amd64.deb
pool/main/l/linux-signed-hwe/
pool/main/l/linux-signed-hwe/kernel-signed-image-4.10.0-30-generic-di_4.10.0-30.34~16.04.1_amd64.udeb
pool/main/l/linux-signed-hwe/linux-signed-image-4.10.0-30-generic_4.10.0-30.34~16.04.1_amd64.deb
pool/main/l/linux-signed-hwe/linux-signed-image-4.10.0-30-lowlatency_4.10.0-30.34~16.04.1_amd64.deb
pool/main/l/linux-signed-lts-xenial/
pool/main/l/linux-signed-lts-xenial/kernel-signed-image-4.4.0-89-generic-di_4.4.0-89.112~14.04.1_amd64.udeb
pool/main/l/linux-signed-lts-xenial/linux-signed-image-4.4.0-89-generic_4.4.0-89.112~14.04.1_amd64.deb
pool/main/l/linux-signed-lts-xenial/linux-signed-image-4.4.0-89-lowlatency_4.4.0-89.112~14.04.1_amd64.deb
pool/main/l/linux-signed/
pool/main/l/linux-signed/kernel-signed-image-3.19.0-90-generic-di_3.19.0-90.98_amd64.udeb
pool/main/l/linux-signed/kernel-signed-image-4.10.0-30-generic-di_4.10.0-30.34_amd64.udeb
pool/main/l/linux-signed/kernel-signed-image-4.4.0-89-generic-di_4.4.0-89.112_amd64.udeb
pool/main/l/linux-signed/linux-signed-image-3.19.0-90-generic_3.19.0-90.98_amd64.deb
pool/main/l/linux-signed/linux-signed-image-4.10.0-30-generic_4.10.0-30.34_amd64.deb
pool/main/l/linux-signed/linux-signed-image-4.10.0-30-lowlatency_4.10.0-30.34_amd64.deb
pool/main/l/linux-signed/linux-signed-image-4.4.0-89-generic_4.4.0-89.112_amd64.deb
pool/main/l/linux-signed/linux-signed-image-4.4.0-89-lowlatency_4.4.0-89.112_amd64.deb


Pour naviguer dans ces dossiers :
- http://fr.archive.ubuntu.com/ubuntu/pool/main/l/linux-signed/ : Le kernel pour les autres versions d'Ubuntu (Le 4.10 correspond à Ubuntu 17.04)

- http://fr.archive.ubuntu.com/ubuntu/pool/main/l/linux-signed-lts-xenial/ : Le kernel pour ceux qui souhaitent ester sur le Kernel 4.4 d'Ubuntu 16.04. Les mise à jour de sécurité sont apportés sans monter de version
- http://fr.archive.ubuntu.com/ubuntu/pool/main/l/linux-signed-hwe/ : Hardware Enablement => La version actuel du Kernel pour Ubuntu 16.04 LTS pour ceux qui ont demandé à avoir un kernel mis à niveau tous les 6 mois (https://wiki.ubuntu.com/Kernel/LTSEnablementStack)
- http://fr.archive.ubuntu.com/ubuntu/pool/main/l/linux-signed-hwe-edge/ : C'est ici qu'est mis à jour le futur kernel HWE pour Ubuntu 16.04, basé sur le Kernel d'Ubuntu 17.10 (il sera mis en prod fin janvier 2018 sur Ubuntu 16.04 HWE)

(https://lafibre.info/testdebit/ubuntu/201604_ubuntu_kernel_support.svg)
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Hugues le 04 août 2017 à 16:03:09
Bizarre, toutes mes Xenial sont en 4.4, j'ai rien conf de spécial...
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 04 août 2017 à 16:08:00
Un Ubuntu 16.04 sans activation de Hardware Enablement ou LTS Enablement Stacks (https://wiki.ubuntu.com/Kernel/LTSEnablementStack) est en Kernel 4.4 pendant les 5 années du support.

Un Ubuntu 16.04 avec HWE change de kernel tous les 6 mois.

Par défaut les version Desktop Ubutntu 16.04.2 et supérieur on le HWE d'actif, ce qui permet de fonctionner sur des PC très récent (il n'est pas possible d'installer Ubuntu directement avec le Kernel 4.4 avec une ISO 16.04.2 ou 16.04.3). A noter qu'il n'y a pas que le Kernel qui est mis à jour : il y a tout ce qui est autour de X.org. Le but est clairement de prendre en charge les dernières cartes graphiques avec les meilleurs performances pour qu'Ubuntu soit utilisée par les joueurs.

Pour les serveur, c'est proposé dans le menu de la clé USB pour les ISO Ubuntu server 16.04.2 et supérieur, mais ce n'est pas activé par défaut. Le menu de la clé permet de choisir de booter en mode normal ou en mode HWE donc avec un Kernel mis à jour tous les 6 mois.

Commande pour passer en HWE :
- Desktop : sudo apt-get install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
- Server : sudo apt-get install --install-recommends linux-generic-hwe-16.04

C'est rapide, car c'est juste un changement de Kernel (et X.org sur un desktop)
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Jojo78 le 04 août 2017 à 19:37:38
Je viens de lancer la commande sur un PC. 56 fichiers supprimés et un gain de plus de 4Go.
Merci ;)
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Hugues le 04 août 2017 à 20:13:52
J'ai toujours trouvé ça stupide et dangereux de ne pas le faire via un hook apt, du coup c'est inclus dans mes confs de serveur, parce qu'un fail de dpkg parce que /boot est plein sur le serveur, ça craint.
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 04 août 2017 à 20:50:03
Pourquoi mettre une partition /boot ?

C'est vrai qu'il était nécessaire de mettre une partition /boot de 5 Mo en EXT2 au début du disque, avec les BIOS qui ne peuvent pas voir plus loin que le cylindre 1024, ce qui interdisait le démarrage par LILO si le noyau à booter se trouve physiquement après le 1024ième cylindre. Ce problème est résolu depuis 1998 côté Bios.

Le manuel de Debian 2.2 (sorti en juillet 2002), demande bien une partition /boot au début du disque pour ce pb de 1024 cylindre.


Sinon, j'ai dans ma famille un Dell Inspiron Mini 10, un petit PC Atom Z530 (1,6 GHz), équipé du fameux Intel GMA 500 Poulsbo sur un écran 10.1 pouces 1366 x 768 pixels, de 1Go de RAM et d'un SSD de 8 Go et c'est vrai que avec aussi peu de place, les noyaux prennent vite toute la place, je trouve ça dommage qu'on en puisse pas paramétrer qu'il les enlève automatiquement. Ce type de PC était livré avec Ubuntu 8.04 LTS (Windows XP ne tenais pas sur 8 Go de SSD).
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Hugues le 04 août 2017 à 22:04:10
Parce que c'est la procédure standard d'Ubuntu, et que si tu veux faire du lvm, il me semble que c'est indispensable.
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: kgersen le 05 août 2017 à 10:52:11
on peut aussi modifier le fichier /etc/apt/apt.conf.d/50unattended-upgrades pour y mettre:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

(modification avec sudo, chercher la ligne dans le fichier car avant elle existe peut-etre déja avec "false" ou commentée)

Ce qui revient à faire automatiquement un sudo apt-get autoremove a chaque mise a jour.
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Ilyazam le 06 août 2017 à 13:46:49
La partition /boot n'est pas indispensable sur les OS récents, GRUB sait scanner le LVM pour trouver la partition racine.

Du coup, sur mon serveur (démarrage MBR) je n'ai pas de partitions hors LVM.
Par contre je ne sais pas si ça marche pour la partition /boot/efi (pour démarrer en UEFI).
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Nh3xus le 06 août 2017 à 14:54:53
/boot séparé reste obligatoire si l'on a des volumes chiffrés avec LUKS.

Sauf que *parfois* cette saloperie de systemd se vautre et empêche le système de démarrer...

Cette invention de Poettering me fait toujours autant gerber.
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: Hugues le 06 août 2017 à 15:03:16
LOL N00B :) (http://forum-images.hardware.fr/images/perso/2/s@ms.gif)
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 06 août 2017 à 16:40:31
La partition /boot n'est pas indispensable sur les OS récents, GRUB sait scanner le LVM pour trouver la partition racine.

Du coup, sur mon serveur (démarrage MBR) je n'ai pas de partitions hors LVM.
Par contre je ne sais pas si ça marche pour la partition /boot/efi (pour démarrer en UEFI).

/boot/efi dois nécessairement être une partition hors LVM, mais cela n'empéche pas d'avoir /boot dans LVM.

Pour /boot/efi, une petite taille est suffisante, les noyaux Linux ne sont pas dans stocké là.
Microsoft recommande de mettre 100 Mo dans cette partition, ce qui est largement suffisant.

Avec un dual-boot Windows 10  / Ubuntu, cette partition contient seulement :
- /boot/efi/EFI/Boot : 1,2 Mo utilisés
- /boot/efi/EFI/ubuntu : 3,3 Mo utilisés
- /boot/efi/EFI/Microsoft : 25 Mo utilisés

Pour un système avec uniquement Linux, je pense que l'on peut sans risque diminuer la taille de la partition EFI.
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: hwti le 06 août 2017 à 17:08:56
Pour un système avec uniquement Linux, je pense que l'on peut sans risque diminuer la taille de la partition EFI.
Attention quand même : c'est une partition FAT32, et même si les outils Linux peuvent en créer une de petite taille, certains UEFI (et peut-être Windows aussi) exigent qu'elle fasse au moins 65527 secteurs.
Cette limite impose une taille minimale de 256Mo dans le cas où on a des secteurs logiques de 4Ko (certains SSD NMVe selon leur configuration).

Dans mon cas (portable Dell avec SSD NVMe que j'ai configuré en secteurs 4Ko) :
 - boot en mode BIOS impossible (c'est uniquement possible avec des secteurs de 512 octets)
 - en mode UEFI, si la partition système est trop petite, elle est tout simplement invisible dans un shell EFI, et donc impossible de booter dessus
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 06 août 2017 à 17:11:54
La source Microsoft, pour la taille de 100 Mo recommandé pour la partition EFI : https://technet.microsoft.com/fr-fr/library/dd744301(v=ws.10).aspx

Ils ne parlent pas de cette taille minimum de 65527 secteurs, cela ne toucherait qu certains fabricants ?
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: hwti le 06 août 2017 à 17:19:37
La source Microsoft, pour la taille de 100 Mo recommandé pour la partition EFI : https://technet.microsoft.com/fr-fr/library/dd744301(v=ws.10).aspx
En 2010, il n'y avait que des secteurs de 512 octets (sur lesquels on peut créer une partition FAT32 valide de 32Mo).
Il est également probable que les outils Microsoft imposent une taille minimale de partition.

J'ai trouvé l'information sur le nombre minimum de secteurs sur le wiki ArchLinux (https://wiki.archlinux.org/index.php/EFI_System_Partition).
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 15 août 2017 à 18:43:38
on peut aussi modifier le fichier /etc/apt/apt.conf.d/50unattended-upgrades pour y mettre:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

(modification avec sudo, chercher la ligne dans le fichier car avant elle existe peut-etre déja avec "false" ou commentée)

Ce qui revient à faire automatiquement un sudo apt-get autoremove a chaque mise a jour.


Pour faire cette modification en ligne de commande :
sudo sed -i -e "s/\/\/Unattended-Upgrade::Remove-Unused-Dependencies \"false\"/Unattended-Upgrade::Remove-Unused-Dependencies \"true\"/g" /etc/apt/apt.conf.d/50unattended-upgrades

A rajouter dans votre script de post-installation !
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: vivien le 18 août 2017 à 11:59:53
Une autre commande intéressantes pour gagner de la place.
APT conserve une copie de chaque paquet installé et désinstallé sur votre disque dur.

sudo apt clean => vide la cahe ou les fichiers deb sont téléchargés : /var/cache/apt/archives

Cela n'a bien sur aucun impact sur les paquets installés


Exemple de contenu : (cela peut facilement dépasser le Go)
$ ls -lh /var/cache/apt/archives
total 128M
-rw-r--r-- 1 root root 1,2M août  10 17:15 libapache2-mod-php7.0_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root 1,8K août  10 20:57 linux-generic_4.4.0.91.96_amd64.deb
-rw-r--r-- 1 root root 1,8K août  10 20:56 linux-generic-hwe-16.04_4.10.0.32.34_amd64.deb
-rw-r--r-- 1 root root  11M août  10 20:57 linux-headers-4.10.0-32_4.10.0-32.36~16.04.1_all.deb
-rw-r--r-- 1 root root 680K août  10 20:56 linux-headers-4.10.0-32-generic_4.10.0-32.36~16.04.1_amd64.deb
-rw-r--r-- 1 root root 9,5M août  10 20:58 linux-headers-4.4.0-91_4.4.0-91.114_all.deb
-rw-r--r-- 1 root root 773K août  10 20:57 linux-headers-4.4.0-91-generic_4.4.0-91.114_amd64.deb
-rw-r--r-- 1 root root 2,3K août  10 20:57 linux-headers-generic_4.4.0.91.96_amd64.deb
-rw-r--r-- 1 root root 2,3K août  10 20:56 linux-headers-generic-hwe-16.04_4.10.0.32.34_amd64.deb
-rw-r--r-- 1 root root  20M août  10 20:56 linux-image-4.10.0-32-generic_4.10.0-32.36~16.04.1_amd64.deb
-rw-r--r-- 1 root root  21M août  10 20:57 linux-image-4.4.0-91-generic_4.4.0-91.114_amd64.deb
-rw-r--r-- 1 root root  29M août  10 20:56 linux-image-extra-4.10.0-32-generic_4.10.0-32.36~16.04.1_amd64.deb
-rw-r--r-- 1 root root  35M août  10 20:58 linux-image-extra-4.4.0-91-generic_4.4.0-91.114_amd64.deb
-rw-r--r-- 1 root root 2,3K août  10 20:57 linux-image-generic_4.4.0.91.96_amd64.deb
-rw-r--r-- 1 root root 2,3K août  10 20:56 linux-image-generic-hwe-16.04_4.10.0.32.34_amd64.deb
-rw-r--r-- 1 root root 1,8K août  10 20:57 linux-signed-generic_4.4.0.91.96_amd64.deb
-rw-r--r-- 1 root root 4,0K août  10 22:29 linux-signed-image-4.4.0-91-generic_4.4.0-91.114_amd64.deb
-rw-r--r-- 1 root root 2,3K août  10 20:57 linux-signed-image-generic_4.4.0.91.96_amd64.deb
-rw-r----- 1 root root    0 oct.  22  2014 lock
drwx------ 2 _apt root 4,0K août  16 16:54 partial
-rw-r--r-- 1 root root 1,3M août  10 17:15 php7.0-cli_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root 824K août  10 17:15 php7.0-common_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  27K août  10 17:15 php7.0-curl_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  27K août  10 17:15 php7.0-gd_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  17K août  10 17:15 php7.0-json_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root 455K août  10 17:15 php7.0-mbstring_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  15K août  10 17:15 php7.0-mcrypt_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root 122K août  10 17:15 php7.0-mysql_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  76K août  10 17:15 php7.0-opcache_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root  13K août  10 17:15 php7.0-readline_7.0.22-0ubuntu0.16.04.1_amd64.deb
-rw-r--r-- 1 root root 110K août  10 17:15 php7.0-xml_7.0.22-0ubuntu0.16.04.1_amd64.deb
Titre: Ubuntu : Suppression des anciens noyaux pour gagner [beaucoup] de place
Posté par: octal le 18 août 2017 à 12:13:28
Bon Plan  ;)
J'ai tester >De la balle c'est la saison de la minceur