Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#326 Le 14/07/2013, à 11:01

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonjour.
@yamo .

J'ai dit post plus haut .

Une deuxième quiche en code et en ligne de commandes répond.
@ Nesthib.

Nous avons chacun nos problèmes  à utiliser les commandes .
De mon côté les commandes, c'est un peu comme le solfège. Jamais appris, et ce n'est pas çà qui m'empêche de jouer de la musique . J'ai même fais les bals.
Déjà tout petit en primaire çà m'a rebuté. Pour moi, les commandes sous Linux c'est un peu pareil .

Ce qui m'a plus dans Ubuntu ,c'est justement de pouvoir bénéficier, grâce à des gens comme Hoper, YannUbuntu, josepe36, et j'en oublie certainement beaucoup d'autres.
C'est de pouvoir se passer un maximum de la ligne de commande grâce aux applications graphiques écrites par ces gars là. On ne les remerciera jamais assez.
Et lorsque je le peux, au maximum, j'aide en testant.

À mon avis. C'est en grande partie ce qui permet la vulgarisation de Linux. Pour les cliqueurs windowsiens qui font l'effort de changer leurs habitudes . Il ne faut pas les en dissuader avec l'utilisation forcée de la ligne de commande. Ils feront comme moi, il en prendront que ce qui les intéresse. Car je l'avoue c'est bien pratique tout de même . Mais il faut apprendre ...

Faire de copier/coller tout bête de commandes données par les spécialistes, c'est bien. Mais si c'est pour faire les choses sans comprendre ce que l'on fait . Çà ne fait pas avancer les connaissances des systèmes.

Alors, je vais regarder dans mes OS de tests, qui est libre pour un test du script indiqué par Nestib. De La manière que j'ai indiqué.

Merci quand même pour tes remarques constructives .

@+.    Babdu89 .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

En ligne

#327 Le 14/07/2013, à 11:20

yamo

Re : Nettoyage dans les noyaux (kernel)

Salut,

Babdu89 a écrit :

Bonjour.
@yamo .

J'ai dit post plus haut .

Une deuxième quiche en code et en ligne de commandes répond.
@ Nesthib.

.

Oui mais pourquoi lancer nautilus en root?

C'est dangereux et 100% inutile dans le cas présent.


Stéphane
--
Debian 7.0 XFCE 4.8   - #ubuntu sur freenode

sudo / matrix

Hors ligne

#328 Le 14/07/2013, à 12:02

Babdu89

Re : Nettoyage dans les noyaux (kernel)

yamo a dit;
Oui mais pourquoi lancer nautilus en root?

C'est dangereux et 100% inutile dans le cas présent.

Je sais ,mais j'ai besoin d'avoir les droits root pour naviguer et  créer le fichier texte dans le système.  Pour pouvoir lui mettre les permissions et le rendre exécutable en "mode graphique" et l'enregistrer . Puisque je ne fais pas çà en commandes .

Je fais très attention à ce que je fais , je pratique toujours comme çà dans mes systèmes. Et lorsque je modifie un fichier système, j'en fais toujours une sauvegarde sur place, pour pouvoir revenir en arrière en cas de souci. Même si je suis obligé de passer par une session live, j'arrive à m'en sortir.


Bon j'ai testé la manip avec le script de Nestib .

C'est la Xubuntu 13.04, qui n'est pas à jour qui fait les frais du test.
Version des noyaux installés : 3.8.0-16  3.8.0-20  3.8.0-22 .   Le 3.8.0-16 sera supprimé.

bernard@bernard-GA-7VAX:~$ sudo bash Nestib-clean-kernel.sh
[sudo] password for bernard: 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Note : sélection de linux-image-3.8.0-16-generic pour l'expression rationnelle « linux-image-3.8.0-16 »
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  calligra-l10n-engb calligra-l10n-fr kde-l10n-engb kde-l10n-fr libgoffice-0.8-8 libgoffice-0.8-8-common librhythmbox-core6
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  linux-headers-3.8.0-16 linux-headers-3.8.0-16-generic linux-image-3.8.0-16-generic linux-image-extra-3.8.0-16-generic
0 mis à jour, 0 nouvellement installés, 4 à enlever et 192 non mis à jour.
Après cette opération, 195 Mo d'espace disque seront libérés.
Souhaitez-vous continuer [O/n] ? 
(Lecture de la base de données... 310235 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.8.0-16-generic ...
Suppression de linux-headers-3.8.0-16 ...
Suppression de linux-image-extra-3.8.0-16-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.8.0-16-generic /boot/vmlinuz-3.8.0-16-generic
update-initramfs: Deleting /boot/initrd.img-3.8.0-16-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.8.0-16-generic /boot/vmlinuz-3.8.0-16-generic
Création de grub.cfg…
Image Linux trouvée : /boot/vmlinuz-3.8.0-22-generic
Image mémoire initiale trouvée : /boot/initrd.img-3.8.0-22-generic
Image Linux trouvée : /boot/vmlinuz-3.8.0-20-generic
Image mémoire initiale trouvée : /boot/initrd.img-3.8.0-20-generic
Image Linux trouvée : /boot/vmlinuz-3.8.0-16-generic
Found memtest86+ image: /boot/memtest86+.bin
Ubuntu 11.10 (11.10) trouvé sur /dev/sda10
Ubuntu 11.10 (11.10) trouvé sur /dev/sda11
Ubuntu 11.10 (11.10) trouvé sur /dev/sda12
Ubuntu 10.04.4 LTS (10.04) trouvé sur /dev/sda8
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdb7
Ubuntu 13.04 (13.04) trouvé sur /dev/sdc5
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdc7
Ubuntu 13.04 (13.04) trouvé sur /dev/sdc8
Microsoft Windows XP Professionnel trouvé sur /dev/sdd1
Linux Mint 13 Maya (13) trouvé sur /dev/sdd10
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd12
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd13
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd15
Zorin OS 6 (6) trouvé sur /dev/sdd16
Zorin OS 6 (6) trouvé sur /dev/sdd17
Ubuntu 12.04.1 LTS (12.04) trouvé sur /dev/sdd18
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd19
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd20
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd22
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd23
Ubuntu 12.10 (12.10) trouvé sur /dev/sdd24
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd26
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd27
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd30
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd31
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd32
Ubuntu 12.04 LTS (12.04) trouvé sur /dev/sdd5
Ubuntu Saucy Salamander (development branch) (13.10) trouvé sur /dev/sdd8
Ubuntu 12.04.1 LTS (12.04) trouvé sur /dev/sdd9
fait
Suppression de linux-image-3.8.0-16-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.8.0-16-generic /boot/vmlinuz-3.8.0-16-generic
update-initramfs: Deleting /boot/initrd.img-3.8.0-16-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.8.0-16-generic /boot/vmlinuz-3.8.0-16-generic
Création de grub.cfg…
Image Linux trouvée : /boot/vmlinuz-3.8.0-22-generic
Image mémoire initiale trouvée : /boot/initrd.img-3.8.0-22-generic
Image Linux trouvée : /boot/vmlinuz-3.8.0-20-generic
Image mémoire initiale trouvée : /boot/initrd.img-3.8.0-20-generic
Found memtest86+ image: /boot/memtest86+.bin
Ubuntu 11.10 (11.10) trouvé sur /dev/sda10
Ubuntu 11.10 (11.10) trouvé sur /dev/sda11
Ubuntu 11.10 (11.10) trouvé sur /dev/sda12
Ubuntu 10.04.4 LTS (10.04) trouvé sur /dev/sda8
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdb7
Ubuntu 13.04 (13.04) trouvé sur /dev/sdc5
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdc7
Ubuntu 13.04 (13.04) trouvé sur /dev/sdc8
Microsoft Windows XP Professionnel trouvé sur /dev/sdd1
Linux Mint 13 Maya (13) trouvé sur /dev/sdd10
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd12
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd13
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd15
Zorin OS 6 (6) trouvé sur /dev/sdd16
Zorin OS 6 (6) trouvé sur /dev/sdd17
Ubuntu 12.04.1 LTS (12.04) trouvé sur /dev/sdd18
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd19
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd20
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd22
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd23
Ubuntu 12.10 (12.10) trouvé sur /dev/sdd24
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd26
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd27
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd30
Ubuntu 13.04 (13.04) trouvé sur /dev/sdd31
Ubuntu 12.04.2 LTS (12.04) trouvé sur /dev/sdd32
Ubuntu 12.04 LTS (12.04) trouvé sur /dev/sdd5
Ubuntu Saucy Salamander (development branch) (13.10) trouvé sur /dev/sdd8
Ubuntu 12.04.1 LTS (12.04) trouvé sur /dev/sdd9
fait
bernard@bernard-GA-7VAX:~$ 

Au vu du résultat , la maj de Grub de la Xubuntu 13.04 est faite.
J'ai regardé dans le dossier /boot , plus de noyau 3.8.0-16 .  Çà marche.

Ne me reste plus qu'a mettre Grub à jour ,sur l'OS qui fait démarrer ma machine par défaut. La Hybryde Fusion 12.04 située en /dev/sdd26 .

Mais le script de Hoper offre quand même plus de possibilités . je continue de l'utiliser en graphique.

@+.   Babdu89 .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

En ligne

#329 Le 14/07/2013, à 12:12

yamo

Re : Nettoyage dans les noyaux (kernel)

Salut,

Babdu89 a écrit :

yamo a dit;
Oui mais pourquoi lancer nautilus en root?

C'est dangereux et 100% inutile dans le cas présent.

Je sais, mais j'ai besoin d'avoir les droits root pour naviguer et  créer le fichier texte dans le système

Il faudrait ouvrir un autre thread, je suis HS ici et c'est j'espère mon dernier message hors sujet.
Mais je persiste, pas besoin d'être root pour nautilus sauf si tu écris en dehors de $HOME et /tmp ; tu dois confondre le propriétaire du fichier et celui qui lance l'exécution du fichier, ce sont deux utilisateurs différents. Pour donner un exemple, firefox est détenu par root et ça ne t'empêche nullement de le lancer avec ton user.


Stéphane
--
Debian 7.0 XFCE 4.8   - #ubuntu sur freenode

sudo / matrix

Hors ligne

#330 Le 14/07/2013, à 14:10

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Ah oui c'est vrai !!!.
Tu as parfaitement  raison ,tant que l'on travail dans son dossier personnel, ce qui est le cas du script ici présent. Pas besoin d'être en root avec Nautilus.
Mais, j'ai aussi l'habitude de travailler en passant par Nautilus dans les dossiers du système / . Et là si on n'est pas en root, rien n'est possible. Pas de création, modif de nouveaux fichiers.

De même que lorsque je fais des manips de fichiers dans les partitions /home d'un autre système que celui que j'utilise, je suis obligé de passer en root .
Donc j'ai pris la mauvaise habitude de tout faire en root .

J'arrête moi aussi le hs .  wink

@+.   Babdu89  .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

En ligne

#331 Le 14/07/2013, à 16:25

nesthib

Re : Nettoyage dans les noyaux (kernel)

PPdM a écrit :

@Nesthib, comme je suis une quiche en code, ton script minimaliste tu le lance comment, directement dans un terminal ?
Désolé si ma question est idiote !:(

Soit tu peux lancer les 4 lignes directement dans un terminal (la première, le shebang (#!/bin/bash) est inutile en interactif), soit tu peux créer un script (mettre le contenu dans un fichier, le rendre exécutable), soit, la solution que je recommande, en faire une fonction bash :
ouvrir le fichier ~/.bash_aliases
ajouter à la fin :

function kernel_clean () {
  KEEP=2
  KERNELS=($(dpkg -l | awk '/ii  linux-image-[0-9]\./{print gensub("-generic","",1,$2)}'))
  KERNELS_TO_REMOVE=(${KERNELS[@]:0:${#KERNELS[@]}-$KEEP})
  sudo apt-get remove ${KERNELS_TO_REMOVE[@]} ${KERNELS_TO_REMOVE[@]/image/headers}
}

Relancer un nouveau terminal (ou faire « source ~/.bash_aliases ») wink

@Babdu89 : totalement inutile de créer le script en root, le faire en simple utilisateur est suffisant. Inutile aussi de mettre à jour grub manuellement (apt-get le fait déjà quand il manipule des noyaux).

Babdu89 a écrit :

Ce qui m'a plus dans Ubuntu ,c'est justement de pouvoir bénéficier, grâce à des gens comme Hoper, YannUbuntu, josepe36, et j'en oublie certainement beaucoup d'autres.
C'est de pouvoir se passer un maximum de la ligne de commande grâce aux applications graphiques écrites par ces gars là. On ne les remerciera jamais assez.
Et lorsque je le peux, au maximum, j'aide en testant.

À mon avis. C'est en grande partie ce qui permet la vulgarisation de Linux. Pour les cliqueurs windowsiens qui font l'effort de changer leurs habitudes . Il ne faut pas les en dissuader avec l'utilisation forcée de la ligne de commande. Ils feront comme moi, il en prendront que ce qui les intéresse. Car je l'avoue c'est bien pratique tout de même . Mais il faut apprendre ...

Faire de copier/coller tout bête de commandes données par les spécialistes, c'est bien. Mais si c'est pour faire les choses sans comprendre ce que l'on fait . Çà ne fait pas avancer les connaissances des systèmes.

Je ne comprends pas vraiment ton argument… avec le script de Hoper tu ne comprends pas plus ce que tu fais… ça ne te fait pas plus avancer dans la connaissance de ton système. Une interface graphique pour un problème si trivial (supprimer quelques paquets sur un schéma aussi simple est trivial) n'a, à mes yeux, pas beaucoup de sens.
As-tu lu les presque 400 lignes du script ? Je doute wink C'est pour ça que je préfère toujours la solution la plus minimaliste, au moins si tu as envie de comprendre, c'est suffisamment court pour se pencher dessus. Si tu relis bien toutes les manipulations que tu as conseillées à pierguiard (ouvrir nautilus en root, etc.) et que tu te place dans la peau d'un débutant qui découvrirait Ubuntu, quel est le plus simple ? Faire toutes ces opérations ? installer un nouveau paquet juste pour supprimer des noyaux ? Ou lancer 3 lignes de commande ?
Après je ne remets pas en cause le script de Hoper, il a l'air de faire correctement son travail wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#332 Le 14/07/2013, à 16:30

PPdM

Re : Nettoyage dans les noyaux (kernel)

Merci  mais pourquoi conseilles tu la dernière méthode ?

Dernière modification par PPdM (Le 14/07/2013, à 16:30)

Hors ligne

#333 Le 14/07/2013, à 16:51

nesthib

Re : Nettoyage dans les noyaux (kernel)

Parce que c'est un peu trop court pour en faire un script avec son propre fichier. Parce que ça te permet de ne pas t'embêter avec les permissions et le PATH. Tu colles ça dans le ~/.bash_aliases, tu relances un nouveau terminal, et *paf* tu as une commande prête à l'emploi qui s'appelle kernel_clean smile

Bonus spécial « quiches en code et ligne de commande » wink qui veulent apprendre, voici un commentaire détaillé de ce que font mes petites lignes :

KEEP=2 # définit le nombre de noyaux à conserver dans la variable KEEP

# crée la liste des noyaux installés.
# dpkg -l ← liste tous les paquets du système
# | awk '…' ← passe la liste à awk pour faire un tri
# /ii linux-image-[0-9]\./ ← ne garde que les lignes commençant par « ii » (= paquet installé) et avec un nom de paquet de la forme « linux-image-[numéro]… »
# {print gensub("-generic","",1,$2)} ← affiche la second colonne ($2 ; le nom du paquet) après avoir enlevé « -generic » du nom s'il est présent. En effet les pquets « linux-XXX-…-generic » dépendent des paquets « linux-XXX-… », donc supprimer les seconds entraîne automatiquement la suppression des premiers.
# KERNELS=($(…)) ← place la liste obtenue dans un tableau bash nommé KERNELS
KERNELS=($(dpkg -l | awk '/ii  linux-image-[0-9]\./{print gensub("-generic","",1,$2)}'))

# copie la liste dans une nouvelle variable nommée KERNELS_TO_REMOVE, en omettant les $KEEP derniers éléments (ici 2)
# pour expliciter la syntaxe barbare, on affiche le contenu de KERNELS « ${KERNELS[@]} » du premier élément « :0 » au n « ${#KERNELS[@]} » moins $KEEP
KERNELS_TO_REMOVE=(${KERNELS[@]:0:${#KERNELS[@]}-$KEEP})

# on supprime les paquets définis dans KERNELS_TO_REMOVE (donc les « linux-image-… ») ainsi que les paquets « linux-headers-… »
# ${KERNELS_TO_REMOVE[@]/image/headers} ← simple substitution qui remplace « image » par « headers » dans le nom
# pour voir la liste supprimée il suffit de faire :
# echo "on supprime : ${KERNELS_TO_REMOVE[@]} ${KERNELS_TO_REMOVE[@]/image/headers}"
sudo apt-get remove ${KERNELS_TO_REMOVE[@]} ${KERNELS_TO_REMOVE[@]/image/headers}

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#334 Le 14/07/2013, à 18:44

PPdM

Re : Nettoyage dans les noyaux (kernel)

Merci je vais tester et essayer de comprendre ! wink

Hors ligne

#335 Le 14/07/2013, à 19:00

Babdu89

Re : Nettoyage dans les noyaux (kernel)

@ Nestib

Bon ,sans être tout a fait dans le hs, puisque l'on parle et commente, le script de Hoper. ce sujet donc.
Tu dis;

Je ne comprends pas vraiment ton argument… avec le script de Hoper tu ne comprends pas plus ce que tu fais… ça ne te fait pas plus avancer dans la connaissance de ton système.

Oui, Ok ! si je lis le code du script, de même que si je lis ce que tu as indiqué, et que j'ai testé . Je n'y comprend rien .

Mon argument, le voila

À mon avis. C'est en grande partie ce qui permet la vulgarisation de Linux. Pour les cliqueurs windowsiens qui font l'effort de changer leurs habitudes . Il ne faut pas les en dissuader avec l'utilisation forcée de la ligne de commande. Ils feront comme moi, il en prendront que ce qui les intéresse. Car je l'avoue c'est bien pratique tout de même .



Mais il faut apprendre ...

Quand l'utilisateur est rebuter pour  apprendre . Ou paresseux .Ou quelque soit l'argument.
Mais,  qu'il veut s'intéresser un minimum à ce qui se passe dans son système. Je trouve que les applications graphiques sont plus parlantes dans ce cas. Et çà évite d'avoir à apprendre les commandes.
Et oui, dès qu'il faut apprendre les commandes, c'est comme le solfège quand j'étais gosse, çà bloque ... Pour dire je suis complètement incapable de me déplacer dans mes répertoires en commandes. Tu vois le niveau . Heureusement qu'il y a moyen de faire pas mal de choses en graphiques. Et les copier/coller de commandes comprises et  adaptées à mes besoins
aident pas mal aussi .

Pour moi la partie graphique du script de Hoper, voir les screen que j'ai posté plus haut, c'est plus parlant que des commandes.
Je comprend que je peux supprimer les kernel que je sélectionne. &&& . Si je lis le code (à condition de trouver le script dans le système une foi installé) , et bien je n'y comprends rien.

Puisque l'on parle de gars comme Hoper qui se fendent, pour faire la création d'applications graphiques.

Un autre exemple. Les outils  graphiques de YannUbuntu. Clean Ubiquity , Os Uninstaller et Boot-Repair .
J'ai aidé dès les premières lignes de code , en testant sur mes machines à peu près tout ce que Yann à écrit. Pour l'aider à faire la mise au point de ces outils
Je n'en ai pas lu les lignes , je n'y comprend rien, pour moi, c'est du Chinoi. Mais il me guidait en m'expliquant comment tester,et ce qu'il attendait  des retours de tests.
Ce qui m'a fait progressé dans la compréhension du fonctionnement du démarrage des OS , de la réinstallation de Grub et restauration du MBR. Évidement, j'ai mis le nez dans la doc  aussi.
Tiens, il y a même une option qui permet lorsque l'on réinstalle Grub de nettoyer les kernel (purger) et de réinstaller le dernier kernel disponible pour l'OS sur lequel on intervient.
Çà m'a bien servi lorsque les maj systèmes de la 13.04 que "j'essayais" avant sa parution officiel, coinçaient justement au changement de kernel .Comme çà s'installait mal, que j'ai essayé de bricoler, je me suis retrouvé avec un système inutilisable. Allez un coup de session live, et j'ai utiliser Boot-Repair. j'avais un système qui fonctionnait à nouveau. 

Tout çà en mode graphique . La seule commande à lancer c'est pour installer les Outils en session live. Un novice ,ou utilisateur "avancé" peut le faire simplement avec un copier/coller en terminal. Puis utiliser les applications graphiques pour réparer le démarrage de ses systèmes.

Tout le monde n'est pas un spécialiste de la commande et du code. Si des applications graphiques peuvent se substituer au commandes , pourquoi ne pas le utiliser.
Il faut se mettre à la portée des utilisateurs lambda, voir "avancés".  Enfin c'est comme cela que je vois les choses.

Donc dès que je vois des applications graphique qui sont créées çà m'intéresse . Si je suis capable de comprendre et tester, je donne un coup de main.

Voila.  Bonne soirée.

@+.   babdu89  .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

En ligne

#336 Le 14/07/2013, à 19:23

nesthib

Re : Nettoyage dans les noyaux (kernel)

Je suis tout à fait d'accord avec toi en ce qui concerne l'utilisation, pour certaines personnes et dans certains cas une interface graphique est plus simple, je répondais juste à ce que tu disais sur la compréhension de ce qu'on fait (qui n'est certainement pas facilité pas une interface graphique).
Enfin, arrêtons ici le HS sur ce fil, je ne voudrais pas détourner la conversation wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#337 Le 14/07/2013, à 19:25

PPdM

Re : Nettoyage dans les noyaux (kernel)

Je trouve que cela en fait partie, sur la marge certes mais tout a fait HS

Dernière modification par PPdM (Le 14/07/2013, à 19:25)

Hors ligne

#338 Le 17/07/2013, à 15:29

Hoper

Re : Nettoyage dans les noyaux (kernel)

Bonjour tout le monde.

nesthib : Je me suis contenté de parcourir ton post, mais je compte bien y passer
plus de temps pour le lire en détail. J'ai clairement des trucs à apprendre la dedans.

Quelques remarques quand même...

Globalement, je suis d'accord avec toi sur plein de trucs (utilisation de variables
au lieu de fichiers temporaires etc). D'un point de vue "programmation" pure, tu as 100% raison.

Mais quand on écrit un petit (au début il était tout petit...) script dans le genre,
on essaye pas forcément de faire quelque chose de beau "programmatiquement parlant" je veux dire.

Au contraire, on peut avoir d'autres objectifs, pas forcément compatibles avec une
programmation "propre". Par exemple, je souhaitai que n'importe qui puisse lire ce script.
(Disons n'importe quel non informaticien qui aurait commencé à se documenter un peu sur les
bases du shell... ou un étudient info en première année etc).

Au contraire, tu introduit dans ta programmation des concepts (tableaux, regexp...)
simples pour un informaticien, mais qui sont totalement inconnus aux personnes n'ayant
jamais fait d'études dans ce domaine.

Concernant la longeur du script, j'ai très vite appris que sur 100 lignes de code, il était
totalement normal de n'en avoir que 10 ou 20 avec une réelle utilité. Tout le reste c'est
du contrôle d'entrée, des vérifications diverses et variées, de la gestion d'erreurs etc.
Je vais pas aller jusqu’à dire que c'est ce qui fait la différence entre un bon et un
mauvais programme, mais quand même. Essayer de traiter tous les cas possibles est une
partie très importante (et très chiante) en programmation.
Cela explique en parti les 400 lignes versus les 4 (ça et le coté graphique mais bon...)

Enfin tu fais implicitement référence à des problématiques de performance (lancer 5 ou 6 fois
la meme commande etc). Si dans l'absolu je reconnais sans difficulté l'importance d'optimiser
son code, je pense qu'il y a quand même une sacrée différence entre l'optimisation d'un driver en C
et celle d'un script shell, qui n'a vocation qu'a être lancé une fois de temps en temps, et dans
lequel les temps de traitement des commandes dupliquées sont totalement négligeable...


Voila. Un grand merci à toi d'avoir pris le temps de le lire. Je suis content de voir
que ce ne sont "que" des problèmes d'optimisations qui sont pointés du doigts, et pas
des problèmes plus graves (algorithmiques...). Je ne pense pas ré-écrire ce script, mais
l'utilisation des tableaux en bash (quelque chose auquel je ne suis pas habitué) me rendra
surement service une prochaine fois smile


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#339 Le 18/07/2013, à 03:05

nesthib

Re : Nettoyage dans les noyaux (kernel)

Hoper a écrit :

Je me suis contenté de parcourir ton post, mais je compte bien y passer
plus de temps pour le lire en détail. J'ai clairement des trucs à apprendre la dedans.

Quelques remarques quand même...

Globalement, je suis d'accord avec toi sur plein de trucs (utilisation de variables
au lieu de fichiers temporaires etc). D'un point de vue "programmation" pure, tu as 100% raison.

Et c'était mon but, je n'ai pas testé ton script mais je suppose qu'il fonctionne comme attendu. Mes remarques étaient uniquement pour le codé programmation pure.

Hoper a écrit :

Mais quand on écrit un petit (au début il était tout petit...) script dans le genre,
on essaye pas forcément de faire quelque chose de beau "programmatiquement parlant" je veux dire.

Je suis d'accord et je suis le premier à le faire wink

Hoper a écrit :

Au contraire, on peut avoir d'autres objectifs, pas forcément compatibles avec une
programmation "propre". Par exemple, je souhaitai que n'importe qui puisse lire ce script.
(Disons n'importe quel non informaticien qui aurait commencé à se documenter un peu sur les
bases du shell... ou un étudient info en première année etc).

Là je ne suis pas d'accord. Je pense qu'éviter la redondance, les imbrications de cut/sed/awk… est un point important pour la clarté.
Et justement, une utilisation correcte des outils est un bon exemple pour des débutants. Malheureusement bon nombre de scripts que l'on peut trouver par ci par là sont truffés d'{e,ho}rreurs qui ne donnent pas un bon exemple. Encore hier je suis tombé sur un script qui me paraissait intéressant mais qui comportait malheureusement plein de maladresses qui apportaient de plus des failles de sécurité.

Hoper a écrit :

Au contraire, tu introduit dans ta programmation des concepts (tableaux, regexp...)
simples pour un informaticien, mais qui sont totalement inconnus aux personnes n'ayant
jamais fait d'études dans ce domaine.

À mon avis une utilisation correct des tableaux en bash est plus logique que de passer pas des fichiers temporaires, d'avoir à parser ces fichiers, etc.
Malheureusement tu trouveras peu de scripts bash qui utilisent les tableaux alors que c'est une base de la programmation. Si tu avais utilisé un langage d'un peu plus haut niveau (ex. python) aurais-tu utilisé des fichiers temporaires pour stocker tes variable ? Certainement que non. Il n'y a pas de raison pour le faire en bash wink
Je rejoins donc mon point précédent. La plupart des gens (moi le premier) apprennent en lisant du code. Autant essayer de publier le meilleur code possible.

Hoper a écrit :

Concernant la longeur du script, j'ai très vite appris que sur 100 lignes de code, il était
totalement normal de n'en avoir que 10 ou 20 avec une réelle utilité. Tout le reste c'est
du contrôle d'entrée, des vérifications diverses et variées, de la gestion d'erreurs etc.
Je vais pas aller jusqu’à dire que c'est ce qui fait la différence entre un bon et un
mauvais programme, mais quand même. Essayer de traiter tous les cas possibles est une
partie très importante (et très chiante) en programmation.
Cela explique en parti les 400 lignes versus les 4 (ça et le coté graphique mais bon...)

Et je suis encore une fois d'accord avec toi. La validation des entrées et la prise en charge des cas particuliers est très importante, je ne remets pas du tout cela en question wink
Dans le cas présent, et sans parler du côté graphique, je trouve toutefois important de préciser que la tâche pour laquelle le script est écrit reste relativement simple et peut être simplifiée. Je pense juste qu'il est intéressant de connaître les alternatives.

Hoper a écrit :

Enfin tu fais implicitement référence à des problématiques de performance (lancer 5 ou 6 fois
la meme commande etc). Si dans l'absolu je reconnais sans difficulté l'importance d'optimiser
son code, je pense qu'il y a quand même une sacrée différence entre l'optimisation d'un driver en C
et celle d'un script shell, qui n'a vocation qu'a être lancé une fois de temps en temps, et dans
lequel les temps de traitement des commandes dupliquées sont totalement négligeable...

Outre le côté performance, qui peut ne pas être négligeable sur une machine un peu ancienne ou avec des problèmes, n'oublie pas le côté lisibilité et fiabilité du script. Avoir 5 fois le même morceau de code dupliqué c'est aussi prendre le risque d'en oublier un ou deux si tu changes une partie du fonctionnement du script. Avec un seul point par tâche, tu n'as qu'un seul endroit à maintenir si le script évolue.

Hoper a écrit :

Voila. Un grand merci à toi d'avoir pris le temps de le lire. Je suis content de voir
que ce ne sont "que" des problèmes d'optimisations qui sont pointés du doigts, et pas
des problèmes plus graves (algorithmiques...). Je ne pense pas ré-écrire ce script, mais
l'utilisation des tableaux en bash (quelque chose auquel je ne suis pas habitué) me rendra
surement service une prochaine fois smile

Je n'attends pas spécialement que tu modifies quoi que ce soit. Je faisais uniquement les remarques qui me sont passées par le tête en lisant le script, dans l'espoir qu'elles puissent être utiles, si ce n'est à toi au moins à d'autres personnes tombant par hasard dessus. Et tu me vois ravi de t'entendre dire que mon commentaire t'incite à découvrir de nouveaux outils smile

NB. si tu n'y vois pas d'inconvénient je serais enchanté d'un petit lien vers ma version simplifiée dans ton premier message, dans l'espoir que cela puisse être utile à d'autres. Si tu ne le souhaites pas je comprends parfaitement.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#340 Le 18/07/2013, à 10:19

Hoper

Re : Nettoyage dans les noyaux (kernel)

NB. si tu n'y vois pas d'inconvénient je serais enchanté d'un petit lien vers ma version simplifiée dans ton premier message, dans l'espoir que cela puisse être utile à d'autres. Si tu ne le souhaites pas je comprends parfaitement.

Je me demande quelles raisons je pourrai avoir pour être contre... Je fais ça tout de suite smile

EDIT : voila c'est fait.

Dernière modification par Hoper (Le 18/07/2013, à 10:33)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#341 Le 18/07/2013, à 17:23

nesthib

Re : Nettoyage dans les noyaux (kernel)

Super smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#342 Le 22/07/2013, à 15:08

Vaykadji

Re : Nettoyage dans les noyaux (kernel)

nesthib a écrit :
#!/bin/bash
KEEP=2
KERNELS=($(dpkg -l | awk '/ii  linux-image-[0-9]\./{print gensub("-generic","",1,$2)}'))
KERNELS_TO_REMOVE=(${KERNELS[@]:0:${#KERNELS[@]}-$KEEP})
sudo apt-get remove ${KERNELS_TO_REMOVE[@]} ${KERNELS_TO_REMOVE[@]/image/headers}

wink

Ton script me retourne :

awk: line 2: function gensub never defined

J'ai du installer gawk pour résoudre le problème.

Dernière modification par Vaykadji (Le 22/07/2013, à 15:17)


Netbook : Asus EeePC 1005PX : Atom N450 / 2Gb DDR2 - Ubuntu Unity
Desktop : Athlon II x4 635 / MSI GTX760 / 8Gb DDR3 - Windows 8.1 & Ubuntu Unity
Smartphone : Samsung Galaxy Mini S5570 - Qualcomm 600Mhz / 384Mb RAM - CyanogendMod 7.2
Tablette : Google Nexus 7 2013 'flo' - S4Pro 1,51Ghz / 2Gb RAM - ParanoidAndroid 3.99 (4.3)

Hors ligne

#343 Le 23/07/2013, à 07:37

nesthib

Re : Nettoyage dans les noyaux (kernel)

Pas besoin de gawk, tu peux faire sans :

dpkg -l | awk '/ii  linux-image-[0-9]\./{gsub("-generic","",$2); print $2}' 

Il y a bien quelques systèmes qui ont un awk sans gsub, mais c'est plutôt rare, et comme là on ne s'intéresse qu'à du Linux, ça devrait être bon wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#344 Le 22/08/2013, à 10:57

Charly42

Re : Nettoyage dans les noyaux (kernel)

Bonjour,

je suis sous voyager 13.04, j'avais kclean sous la 12.04lts, donc je souhaite remettre...
mais voila ce que me répond la logithèque ubuntu apres avoir cliqué sur installer :
"Le paquet est de mauvaise qualité"

Lintian check results for /tmp/kclean.deb:
E: kclean: maintainer-name-missing hoper@free.fr
Use of uninitialized value $name in pattern match (m//) at /usr/share/perl5/Lintian/Check.pm line 202.

Merci

Hors ligne

#345 Le 22/08/2013, à 11:00

Hoper

Re : Nettoyage dans les noyaux (kernel)

Arg... merci de l'avoir signalé... C'est juste que le nouveau logiciel est beaucoup plus exigeant que l'ancien, et qu'il attend visiblement plus d'informations (nom du packageur...) que ce que moi j'ai mis dans le paquet (le minimum nécéssaire à l'époque).

Pour l'installer quand même, c'est très facile. Télécharge le fichier.deb, puis en ligne de commande, tape :

sudo dpkg -i kclean.deb

Il faudra que j'essaye chez moi et que je vois comment rajouter les informations manquantes hmm

Dernière modification par Hoper (Le 22/08/2013, à 11:01)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#346 Le 22/08/2013, à 11:02

Charly42

Re : Nettoyage dans les noyaux (kernel)

Hoper a écrit :

Arg... merci de l'avoir signalé... C'est juste que le nouveau logiciel est beaucoup plus exigeant que l'ancien, et qu'il attend visiblement plus d'informations (nom du packageur...) que ce que moi j'ai mis dans le paquet (le minimum nécéssaire à l'époque).

Pour l'installer quand même, c'est très facile. Télécharge le fichier.deb, puis en ligne de commande, tape :

sudo dpkg -i kclean.deb

Il faudra que j'essaye chez moi et que je vois comment rajouter les informations manquantes hmm

Super merci bien Hoper, et bravo pour ce pti' programme qui rend bien service

EDIT: il était déjà installé....:rolleyes:

Dernière modification par Charly42 (Le 22/08/2013, à 11:09)

Hors ligne

#347 Le 11/09/2013, à 17:31

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonjour.
@ Hoper.

Testé ton script cet après midi dans la Saucy 13.10 .
À part le message de la logithèque qui ne trouve pas ton paquet conforme, (je suis passé outre) . Çà fonctionne impeccable comme toujours.  wink

Remarque, on peut aussi installer gdebi, et s'en servir pour installer le  .deb. Là il n'y a pas de message d'avertissememnt.

Encore merci pour ce super script . smile

Voir ici;

http://forum.ubuntu-fr.org/viewtopic.ph … #p14624941

@+.   Babdu89   .

Dernière modification par Babdu89 (Le 12/09/2013, à 16:46)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

En ligne

#348 Le 14/09/2013, à 10:17

Christophe C

Re : Nettoyage dans les noyaux (kernel)

Si le message d'erreur concerne uniquement le mainteneur, il suffit de l'indiquer wink.

Ca se fait dans le fichier.../debian/control, qui doit être structuré comme ça (c'est un exemple, seul la ligne maintener est ici importante) :

Package: kclean
Version: 1.2
Section: Utility
Priority: optional
Architecture: all
Depends: bash, zenity
Installed-Size: 41
Maintainer: Hoper <hoper@nom-du-domaine.fr>
Description: bla bla bla bla

Depuis la 12.04 ou la 12.10, il faut aussi lancer le packaging du .deb sur le répertoire source (par exemple /kclean/) dont les droits sont root:root. Sinon on a aussi un message d'erreur.
Je ne sais pas si c'est ton cas, mais à tout hasard :

1/  avant de créer le .deb, il faut faire un sudo chown root:root nom-du-repertoire-source.

2/ Créer le deb : dpkg-deb --build nom-du-repertoire-source.

3/ Après la création du .deb, il faut rendre le répertoire source à l'utilisateur "normal", sinon on ne peut plus y accéder qu'en root, ce qui est super-pénible. Donc faire sudo chown hoper:hoper nom-du-repertoire-source.

Dernière modification par Christophe C (Le 14/09/2013, à 10:20)


XL-WALLPAPER - changeur de fonds d'écran libre et très léger pour Xfce et LXDE.
AIDEZ LE LIBRE - Faites un don à : Wikipedia - Fondation Gnome - Projet GNU.

Hors ligne

#349 Le 15/09/2013, à 00:46

Hoper

Re : Nettoyage dans les noyaux (kernel)

Merci à tous les deux. Je suis un tout petit peu méga occupé en ce moment, mais je n'ai pas oublié que je devais faire cette modification hmm

Bientôt, promis smile

PS : vous pouvez vous meme faire l'essai en décompressant le .deb
(dpkg -x puis dpkg -e si mes souvenirs sont bons), en modifiant le fichier control puis en re-créant le paquet... Mais bon, je vais le faire... juste... bientot...


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#350 Le 05/10/2013, à 20:41

Hoper

Re : Nettoyage dans les noyaux (kernel)

Voila, c'est enfin modifié. Il suffisait de modifier la ligne Maintainer, qui ne contenait que l’email, au lieu de "nom <email>"

Je n'ai pas modifié le numéro de version, puisque le script lui même n'a absolument pas été modifié.

EDIT : Le paquet de la version anglaise à aussi été mis à jour.

Dernière modification par Hoper (Le 05/10/2013, à 20:45)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

Haut de page ↑