Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/02/2010, à 00:24

danieljp

GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

Bonsoir,

Ayant installé UBUNTU 9.10 sur un disque avec comme lanceur GRUB2, je voudrai limiter à 2 le nombre de noyaux visibles dans le menu du lanceur comme je le faisais avec la directive #howmany=2 dans GRUB_LEGACY.
Pour celà je me suis servi de la doc grub-pc-annexe de ce site (UBUNTU-FR) et ai modifié mon fichier /etc/grub.d/10_linux de la façon indiquée soit :

#Modification-start
#Number of version to display - Can be changed to desired value
NBLISTMAX=$((2))
#Modification-end

Ceci en début de fichier après les commentaires de présentation du script.
Ensuite sudo update-grub
Le système relit bien tous les fichiers habituels à l'opération et m'affiche le résultat comme d'habitude, mais quand je fais : sudo grub-mkconfig ; ce qui me permet de visualiser le fichier grub.cfg généré j'ai toujours les 3 noyaux de mon systèmes dans le menu de lancement de l'OS. Un redémarrage de l'ordinateur n'amène aucune amélioration.
je ne connais pas la programmation, mais je comprends que normalement on initialise la variable NBLISTMAX à 2, par contre pour ce qui est de la variable je ne vois pas ou elle peut s'appliquer dans le fichier 10_linux standard de la distribution contrairement à celui modifié donné dans la doc grub-pc-annexe.

Si quelqu'un peut m'apporter quelques éclaircissements, merci davance.

Daniel.

Dernière modification par danieljp (Le 07/02/2010, à 20:21)

Hors ligne

#2 Le 07/02/2010, à 00:50

brucyn

Re : GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

Le nettoyage du système (computer Janitor; Systeme/Admistration/ Nettoyage du système) te propose de supprimer les noyaux qui ne sont pas les deux derniers installés.


Une edute mtnroe que peu ipmrote l'odre des ltretes, suel la pemriree et la dreinere cmotpe
Rien n'est impossible, il suffit juste de savoir comment faire !

Hors ligne

#3 Le 07/02/2010, à 02:41

danieljp

Re : GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

Bonjour,

Je ne connaissais pas l'utilité de cette entrée du menu, et ce d'autant plus que cela ne m'affiche qu'un message :

Il n'y a rien à nettoyer!
Vous pouvez maintenant quitter cette application.

La fenêtre qui s'ouvre est totalement vide.

Merci quand même.

Daniel

Hors ligne

#4 Le 07/02/2010, à 09:30

brucyn

Re : GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

Alors tu peux tout simplement supprimer le paquet correspondant au noyau que tu veux supprimé (fait attention que c'est bien le bon) dans Synaptic

Dernière modification par brucyn (Le 07/02/2010, à 09:44)


Une edute mtnroe que peu ipmrote l'odre des ltretes, suel la pemriree et la dreinere cmotpe
Rien n'est impossible, il suffit juste de savoir comment faire !

Hors ligne

#5 Le 07/02/2010, à 20:20

danieljp

Re : GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

Bonsoir,

Ce que je voulais; c'est bénéficier du même "confort" que dans GRUB_LEGACY, c'est à dire afficher seulement les 2 derniers noyaux présents dans la distribution sans faire trop de modif dans le système ou utiliser de "recettes de cuisine" maison, dans le menu de démarrage.
Je suis arrivé à ce que je voulais en m'inspirant des modifs du fichier 10_linux qui figurent dans la doc UBUNTU-FR : GRUB-PC-ANNEXE.
J'ai donc modifié mon fichier 10_linux standard de cette façon :
1)Ajout des lignes :

#Modification-start
#Number of version to display - Can be changed to desired value
NBLISTMAX=$((2))
#Modification-end

Ce directement sous les lignes de présentation du fichier (Entête).

2)Modification du paragraphe du fichier 10_linux :

while [ "x$list" != "x" ] ; do
  linux=`version_find_latest $list`
  echo "Found linux image: $linux" >&2
  basename=`basename $linux`
  dirname=`dirname $linux`
  rel_dirname=`make_system_path_relative_to_its_root $dirname`
  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
  alt_version=`echo $version | sed -e "s,\.old$,,g"`
  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"

de façon  obtenir ceci :

while [ "x$list" != "x" ] ; do
#LL-start
NBLIST=$((NBLIST+1))
#echo "NBLIST = $NBLIST" >&2
  linux=`version_find_latest $list`
if [ "$NBLIST" -le "$NBLISTMAX" ] ; then
  echo "Found linux image: $linux" >&2
#LL-end
  basename=`basename $linux`
  dirname=`dirname $linux`
  rel_dirname=`make_system_path_relative_to_its_root $dirname`
  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
  alt_version=`echo $version | sed -e "s,\.old$,,g"`
  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"

3)Et pour complèter cette dernière modif ajouter à la fin du fichier(3 premières lignes et à cette place) :

#LL-star
fi
#LL-end

  list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
done

Étape que j'avais réalisée avant toutes ces modifs : faire une copie de mon fichier 10_linux initial en 10_linux_save01.
Par contre il ne faut pas oublier d'enlever l'autorisation d'exécution sur ce dernier (sudo chmod -x 10_linux_save01) sinon grub.cfg l'exécute au lancement et on a des menu en plus.

Toutes les manip à faire sont dans le même répertoire et ce même pour un retour au comportement initial.
On se retrouve bien avec seulement les deux derniers noyaux dans le menu de lancement.
Meci pour les réponses.

Daniel

Dernière modification par danieljp (Le 07/02/2010, à 20:23)

Hors ligne

#6 Le 07/02/2010, à 20:34

brucyn

Re : GRUB2/UBUNTU_9.10_limit.2noyau par modif. /etc/grub.d/10_linux[RESOLU]

L'avantage de les supprimer avec Synaptic est que le système devient plus propre (débarrassé de tous noyaux inutiles) et cela libère de la place.


Une edute mtnroe que peu ipmrote l'odre des ltretes, suel la pemriree et la dreinere cmotpe
Rien n'est impossible, il suffit juste de savoir comment faire !

Hors ligne