Re: [PATCH] scripts: prune-kernel:remove old kernels and modules dir from system

From: Bhaskar Chowdhury
Date: Thu Oct 31 2019 - 03:18:59 EST


On 22:27 Wed 30 Oct 2019, Randy Dunlap wrote:
On 10/30/19 9:52 PM, Bhaskar Chowdhury wrote:
ThatÂ'rm'Âdoesn'tÂremoveÂanyÂfiles.ÂÂCompareÂwhatÂremove_old_kernel()Âdoes.
No,itÂisÂnotÂusingÂthatÂfunctionÂratherÂtakeÂtheÂparameterÂfromÂthe
commandlineÂandÂgetÂintoÂbootÂdirÂmatchÂwithÂitÂandÂremoveÂit.

ButÂitÂdoesn'tÂdoÂthat.ÂÂIÂtestedÂit.ÂÂItÂshouldÂbeÂmoreÂlikeÂwhat
rmeove_old_kernel()Âdoes:

ÂÂÂÂÂÂÂÂrmÂ-IfÂvmlinuz-$kernel_verÂSystem.map-$kernel_verÂconfig-$kernel_ver

andÂifÂnot,ÂpleaseÂexplainÂwhyÂnot.
Okay,ÂagainÂsomeÂuniformityÂmissingÂinÂtheÂcode,ÂIÂwouldÂlikeÂtoÂyour
suggested method,i.e call remove_old_kernel to do the job instead of dependingÂonÂindividualÂkernel.

The simplest thing to do is set kernel_version=$kernel_ver
and then call remove_old_kernel().
And set modules_version=$modules_dir_name and call remove_old_modules_dir().

But it would be cleaner to pass a parameter (kernel_version) to the
remove_old_kernel() function and to pass a parameter (modules_dir) to the
remove_old_modules_dir() function.



Thank you...I have just modified the code and call both the function
under remove option. BTW I didn't set the extra variable $kernel_ver name it $kernel_version and instead of $modules_dir_name name it $mo
dules_version.

Capturing command line parameter in $kernel_version and $modules_version

Is that fine? Here is a code snippet:

-r | --remove)
if [[ $# -ne 3 ]]; then
printf "You need to provide kernel version and modules directory
name \n"
exit 1
else
remove_old_kernel
remove_old_modules_dir
fi


I have just test it and it works.


And about solitary r option without hypen is ignoring and doing nothing.

Means, if I pass ./scripts/prune-kernel r 5.3.3
it simply ignore and does nothing.Only with the hypen it can work.

--
~Randy

Bhaskar

Attachment: signature.asc
Description: PGP signature