Schplurtzeries
Le wiki de schplurtz
Dokuwiki

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

schplurtziel:menageatator [2017/02/18 07:38]
ztrulphcs
schplurtziel:menageatator [2018/02/05 18:32] (Version actuelle)
ztrulphcs [Menageatator]
Ligne 1: Ligne 1:
 ====== Menageatator ====== ====== Menageatator ======
  
-2017-02-17+2017-10-26
  
 <WRAP column 45%> <WRAP column 45%>
Ligne 15: Ligne 15:
  
 <WRAP column 45%> <WRAP column 45%>
-On pourrait croire que le problème est réglé depuis longtemps, mais, de temps en temps pour des raisons bizarres, je tombe toujours sur des ordinaeurs dont les noyaux ne sont jamais désinstallés par apt ou //unattended-upgrades//.+On pourrait croire que le problème est réglé depuis longtemps, mais, de temps en temps pour des raisons bizarres, je tombe toujours sur des ordinateurs dont les noyaux ne sont jamais désinstallés par apt ou //unattended-upgrades//.
  
 Le script ci dessous est très simple, mais aussi très efficace. il considère que tous les noyaux installés sont effaçables sauf : Le script ci dessous est très simple, mais aussi très efficace. il considère que tous les noyaux installés sont effaçables sauf :
Ligne 52: Ligne 52:
  
 # menageatator: Remove unneeded linux kernel from debuntu systems # menageatator: Remove unneeded linux kernel from debuntu systems
 +# http://schplurtz.free.fr/wiki/schplurtziel/menageatator
 #   #  
-                     Copyright Schplurtz Le Déboulonné, 2016+                  Copyright Schplurtz Le Déboulonné, 2016, 2017
 #   #  
 #                  Schplurtz le Déboulonné <Schplurtz@laposte.net> #                  Schplurtz le Déboulonné <Schplurtz@laposte.net>
Ligne 117: Ligne 118:
 #  les termes.                         | #  les termes.                         |
  
-# Yeah I know. Could use ruby/perl/ocam/lua/go/python and less pipes. +# Yeah I know. Could use ruby/perl/ocam/lua/python/whatever and less pipes. 
-# Could use array, associative arrays etc... Just prefering simplicity+# Could use array, associative arrays etc... Just prefering simplicity,
 # clarity and possibility to run with dumb^Wsimple shells.  # clarity and possibility to run with dumb^Wsimple shells. 
  
Ligne 133: Ligne 134:
 IFS="$(printf ' \t') IFS="$(printf ' \t')
 " "
 +# /sbin and /usr/sbin are usually not in cron PATH. add them
 +# if they're not present as dpkg will need commands there.
 +case "$PATH" in
 +(*:/usr/sbin|/usr/sbin:*|*:/usr/sbin:*) : ;;
 +(*) PATH="${PATH}:/usr/sbin" ;;
 +esac
 +case "$PATH" in
 +(*:/sbin|/sbin:*|*:/sbin:*) : ;;
 +(*) PATH="${PATH}:/sbin" ;;
 +esac
 +
 set -e # Stop on any error. set -e # Stop on any error.
  
Ligne 140: Ligne 152:
 no_suffix() { no_suffix() {
   sed -e 's/-[a-zA-Z_]*$//'    # remove suffix. (-generic, -lowlatency etc...)   sed -e 's/-[a-zA-Z_]*$//'    # remove suffix. (-generic, -lowlatency etc...)
 +}
 +
 +reject() {
 +  grep -v "$@"
 } }
  
Ligne 171: Ligne 187:
     sed -e 's/^deinstall/removed/     sed -e 's/^deinstall/removed/
             s/^\(.\)[^ ]* *\(.\)[^ ]* *\(.\)[^ ]* */\1\3\2 /             s/^\(.\)[^ ]* *\(.\)[^ ]* *\(.\)[^ ]* */\1\3\2 /
-            s/\(..\)o/\1 /+            s/^\(..\)o/\1 /
            ' |            ' |
-    grep -v '^un ' |+    reject '^un ' |
     sort -k 2,2V # always return list sorted by version number     sort -k 2,2V # always return list sorted by version number
-} 
- 
-reject() { 
-  grep -v "$@" 
 } }
  
Ligne 185: Ligne 197:
   apt-get "$@"   apt-get "$@"
 } }
 +ARGV=( "$@" ) # keep command line args for final apt-get command...
  
         linux_vers_tpl='[0-9]*.[0-9]*.[0-9]*-[0-9]*'         linux_vers_tpl='[0-9]*.[0-9]*.[0-9]*-[0-9]*'
Ligne 264: Ligne 277:
     "$linux_images_extra_tpl" \     "$linux_images_extra_tpl" \
     "$linux_headers_tpl" |        # list linux images, images-extra, headers     "$linux_headers_tpl" |        # list linux images, images-extra, headers
-  grep -v '^h' |                  # filter out packages on hold+  reject '^h' |                   # filter out packages on hold
   reject "$@" |                   # filter out those we keep   reject "$@" |                   # filter out those we keep
   awk '{ print $2 }'              # just keep name   awk '{ print $2 }'              # just keep name
Ligne 270: Ligne 283:
  
 # If there are kernels to remove, remove them # If there are kernels to remove, remove them
-{ test $# -gt 0 && _apt_get purge "$@" ; } || :+{ test $# -gt 0 && _apt_get "${ARGV[@]}" purge "$@" ; } || :
  
 # Given this list of kernel, # Given this list of kernel,
Ligne 284: Ligne 297:
 # performs these removal : # performs these removal :
 # apt-get purge linux-image-3.13.0-93-generic linux-image-3.13.0-96-generic linux-image-3.13.0-98-generic linux-image-3.13.0-100-generic linux-image-3.13.0-101-generic # apt-get purge linux-image-3.13.0-93-generic linux-image-3.13.0-96-generic linux-image-3.13.0-98-generic linux-image-3.13.0-100-generic linux-image-3.13.0-101-generic
 +</code>
 +
 +===== Utilisation / Usage =====
 +
 +<code>
 +sudo menageatator
 +</code>
 +<WRAP clear></WRAP>
 +
 +----- 
 +
 +<WRAP column 45%>
 +Si vous êtes brave et ne voulez pas confirmer les choix de menageatator
 +</WRAP>
 +<WRAP column 45%>
 +If you are brave and don't want to confirm menageatator choices
 +</WRAP>
 +<code>
 +sudo menageatator -y
 </code> </code>