Mageia Bugzilla – Attachment 10776 Details for
Bug 24403
Feature request : tool to remove old kernels
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
Pierre Jarillon's remove-old-kernels script
remove-old-kernels (text/plain), 1.76 KB, created by
Marja Van Waes
on 2019-02-23 09:14:13 CET
(
hide
)
Description:
Pierre Jarillon's remove-old-kernels script
Filename:
MIME Type:
Creator:
Marja Van Waes
Created:
2019-02-23 09:14:13 CET
Size:
1.76 KB
patch
obsolete
>#!/bin/sh ># Remove old kernels ># LISTK contains the list of kernels to analyse ># The script keep the NBK most recents for each of them ># Pierre Jarillon - 3 avril 2018 - Tested on Mageia 5 and 6 ># rev 29 oct 2018 > >TMPKRDEBUG=$(mktemp -u) >#touch $TMPKRDEBUG # debug mode if file exists > >NBK=2 # Number of kernels to keep >LISTK=" >kernel-desktop >kernel-desktop-devel >kernel-server >kernel-server-devel >kernel-source >kernel-tmb-desktop >kernel-tmb-desktop-devel >kernel-tmb-source >kernel-linus >kernel-linus-devel >kernel-linus-source >" ># Storage for list of kernels to remove >TMPKTR=$(mktemp) > >OCCDISK1=`df|grep ".*% /$"|awk '{ print $3 }'` > >if [ $NBK -lt 1 ]; then NBK=1 # Security >fi > >for k in $LISTK >do > echo -ne "\r ==> $k " > export n=0; > > rpm -qa --last "$k-[0-9]*" | while read f > do > [ `echo $f | grep "latest" | wc -l ` -eq 1 ] && continue # Security > n=$((n + 1)) > [ $n -eq 1 ] && echo " " > g=`echo $f | cut -d' ' -f1` > if [ $n -gt $NBK ] > then > echo -e "\r $n : remove :[31m $g [0m" > echo $g >>$TMPKTR > else > echo -e "\r $n : keep :[32m $f [0m" > fi > done >done > >echo -en "\r\033[2K" # Clear the line > >nbt=`cat $TMPKTR | wc -l` >if [ $nbt -ne 0 ]; then > if [ `id -u` -ne 0 ]; then > echo "Must be root" > else > plur="s" ; [ $nbt -eq 1 ] && plur="" > echo -n "Remove $nbt kernel$plur ? y/N " > read -n 1 response > if [ -z $response ]; then response=n ;fi > case $response in > [Yy]) > echo " " ;; > *) > echo -e "\nAborted" > rm $TMPKTR > exit 0 ;; > esac > > cat $TMPKTR | while read f > do > if [ -f $TMPKRDEBUG ] > then > echo "Could execute: urpme $f" > else > #echo "execution : urpme $f" > urpme --auto $f > fi > done > > OCCDISK2=`df|grep ".*% /$"|awk '{ print $3 }'` > echo "Gain : $((OCCDISK1 - OCCDISK2)) k" > fi >fi > >rm $TMPKTR >[ -f $TMPKRDEBUG ] && rm $TMPKRDEBUG >
#!/bin/sh # Remove old kernels # LISTK contains the list of kernels to analyse # The script keep the NBK most recents for each of them # Pierre Jarillon - 3 avril 2018 - Tested on Mageia 5 and 6 # rev 29 oct 2018 TMPKRDEBUG=$(mktemp -u) #touch $TMPKRDEBUG # debug mode if file exists NBK=2 # Number of kernels to keep LISTK=" kernel-desktop kernel-desktop-devel kernel-server kernel-server-devel kernel-source kernel-tmb-desktop kernel-tmb-desktop-devel kernel-tmb-source kernel-linus kernel-linus-devel kernel-linus-source " # Storage for list of kernels to remove TMPKTR=$(mktemp) OCCDISK1=`df|grep ".*% /$"|awk '{ print $3 }'` if [ $NBK -lt 1 ]; then NBK=1 # Security fi for k in $LISTK do echo -ne "\r ==> $k " export n=0; rpm -qa --last "$k-[0-9]*" | while read f do [ `echo $f | grep "latest" | wc -l ` -eq 1 ] && continue # Security n=$((n + 1)) [ $n -eq 1 ] && echo " " g=`echo $f | cut -d' ' -f1` if [ $n -gt $NBK ] then echo -e "\r $n : remove :[31m $g [0m" echo $g >>$TMPKTR else echo -e "\r $n : keep :[32m $f [0m" fi done done echo -en "\r\033[2K" # Clear the line nbt=`cat $TMPKTR | wc -l` if [ $nbt -ne 0 ]; then if [ `id -u` -ne 0 ]; then echo "Must be root" else plur="s" ; [ $nbt -eq 1 ] && plur="" echo -n "Remove $nbt kernel$plur ? y/N " read -n 1 response if [ -z $response ]; then response=n ;fi case $response in [Yy]) echo " " ;; *) echo -e "\nAborted" rm $TMPKTR exit 0 ;; esac cat $TMPKTR | while read f do if [ -f $TMPKRDEBUG ] then echo "Could execute: urpme $f" else #echo "execution : urpme $f" urpme --auto $f fi done OCCDISK2=`df|grep ".*% /$"|awk '{ print $3 }'` echo "Gain : $((OCCDISK1 - OCCDISK2)) k" fi fi rm $TMPKTR [ -f $TMPKRDEBUG ] && rm $TMPKRDEBUG
View Attachment As Raw
Actions:
View
Attachments on
bug 24403
: 10776 |
10860
|
12482
|
13031
|
13107
|
13236
|
13403
|
13467
|
13489
|
13490
|
13491
|
13505