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

From: Randy Dunlap
Date: Thu Oct 31 2019 - 11:07:05 EST


On 10/31/19 12:18 AM, Bhaskar Chowdhury wrote:
> 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:

Yes, that should be OK.

> -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.

Is that how it should be?
or what would you expect that to do?

--
~Randy