Mageia Bugzilla – Attachment 12921 Details for
Bug 29422
removing old kernel packages is EXTREMELY slow
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
Script to remove old kernels
oldkernelsrm (text/plain), 1.41 KB, created by
Dave Hodgins
on 2021-08-28 23:40:55 CEST
(
hide
)
Description:
Script to remove old kernels
Filename:
MIME Type:
Creator:
Dave Hodgins
Created:
2021-08-28 23:40:55 CEST
Size:
1.41 KB
patch
obsolete
>#!/bin/bash ># Set number of packages to keep. Must be 1 or greater >declare -i NumberOfVersionsToKeep=2 >set -u >ListInstalledPackages() { > LatestPrefixStart="${LatestPrefix%%-*}" > if [ "virtualbox" == "${LatestPrefixStart}" ] ; then > PackagePrefix="virtualbox-kernel" > elif [ "vboxadditions" == "${LatestPrefixStart}" ] ; then > PackagePrefix="vboxadditions-kernel" > elif [ "xtables" == "${LatestPrefixStart}" ] ; then > PackagePrefix="xtables-addons-kernel" > else > PackagePrefix="$LatestPrefix" > fi > RpmOutputLines=($(rpm -qa $PackagePrefix-\[0-9\]*|sort -V)) > PackageCount=${#RpmOutputLines[@]} > if (( $PackageCount > $NumberOfVersionsToKeep )) ; then > LinesKeep=$(( $PackageCount - $NumberOfVersionsToKeep )) > RemoveListNew=("$(printf "%s\n" "${RpmOutputLines[@]}"|head -n $LinesKeep)") > RemoveList=(${RemoveList[@]-} ${RemoveListNew[@]}) > fi >} >ProcessLatest() { > x="${LatestPackage%-*}" # strip last hyphen and following (removes rpm Release) > x="${x%-*}" # strip last hyphen and following (removes rpm Version') > LatestPrefix="${x%-*}" # strip last hyphen and following (removes '-latest') > ListInstalledPackages >} >RemoveList=( ) >LatestPackagesList=($(rpm -qa *latest |grep -v perl-latest|sort)) >for LatestPackage in "${LatestPackagesList[@]}"; do > ProcessLatest >done >if (( ${#RemoveList[@]} > 0 )) ; then > urpme --wait-lock ${RemoveList[@]} >fi >exit
#!/bin/bash # Set number of packages to keep. Must be 1 or greater declare -i NumberOfVersionsToKeep=2 set -u ListInstalledPackages() { LatestPrefixStart="${LatestPrefix%%-*}" if [ "virtualbox" == "${LatestPrefixStart}" ] ; then PackagePrefix="virtualbox-kernel" elif [ "vboxadditions" == "${LatestPrefixStart}" ] ; then PackagePrefix="vboxadditions-kernel" elif [ "xtables" == "${LatestPrefixStart}" ] ; then PackagePrefix="xtables-addons-kernel" else PackagePrefix="$LatestPrefix" fi RpmOutputLines=($(rpm -qa $PackagePrefix-\[0-9\]*|sort -V)) PackageCount=${#RpmOutputLines[@]} if (( $PackageCount > $NumberOfVersionsToKeep )) ; then LinesKeep=$(( $PackageCount - $NumberOfVersionsToKeep )) RemoveListNew=("$(printf "%s\n" "${RpmOutputLines[@]}"|head -n $LinesKeep)") RemoveList=(${RemoveList[@]-} ${RemoveListNew[@]}) fi } ProcessLatest() { x="${LatestPackage%-*}" # strip last hyphen and following (removes rpm Release) x="${x%-*}" # strip last hyphen and following (removes rpm Version') LatestPrefix="${x%-*}" # strip last hyphen and following (removes '-latest') ListInstalledPackages } RemoveList=( ) LatestPackagesList=($(rpm -qa *latest |grep -v perl-latest|sort)) for LatestPackage in "${LatestPackagesList[@]}"; do ProcessLatest done if (( ${#RemoveList[@]} > 0 )) ; then urpme --wait-lock ${RemoveList[@]} fi exit
View Attachment As Raw
Actions:
View
Attachments on
bug 29422
: 12921