|
Lines 167-172
fi
Link Here
|
| 167 |
|
167 |
|
| 168 |
#################### Bug #22093 |
168 |
#################### Bug #22093 |
| 169 |
|
169 |
|
|
|
170 |
list_passive_kernels () { |
| 171 |
kernel_version="$1" |
| 172 |
dpkg-query -W -f '${Package}\n' "linux-image-${kernel_version}-ucs*" | |
| 173 |
fgrep -v "linux-image-$(uname -r)" |
| 174 |
} |
| 175 |
|
| 170 |
get_latest_kernel_pkg () { |
176 |
get_latest_kernel_pkg () { |
| 171 |
# returns latest kernel package for given kernel version |
177 |
# returns latest kernel package for given kernel version |
| 172 |
# currently running kernel is NOT included! |
178 |
# currently running kernel is NOT included! |
|
Lines 175-182
get_latest_kernel_pkg () {
Link Here
|
| 175 |
|
181 |
|
| 176 |
latest_dpkg="" |
182 |
latest_dpkg="" |
| 177 |
latest_kver="" |
183 |
latest_kver="" |
| 178 |
for kver in $(COLUMNS=200 dpkg -l linux-image-${kernel_version}-ucs\* 2>/dev/null | grep linux-image- | awk '{ print $2 }' | sort -n | grep -v "linux-image-$(uname -r)") ; do |
184 |
for kver in $(list_passive_kernels "$kernel_version") ; do |
| 179 |
dpkgver="$(apt-cache show $kver | sed -nre 's/Version: //p')" |
185 |
dpkgver="$(apt-cache show "$kver" 2>/dev/null | sed -nre 's/Version: //p')" |
| 180 |
if dpkg --compare-versions "$dpkgver" gt "$latest_dpkg" ; then |
186 |
if dpkg --compare-versions "$dpkgver" gt "$latest_dpkg" ; then |
| 181 |
latest_dpkg="$dpkgver" |
187 |
latest_dpkg="$dpkgver" |
| 182 |
latest_kver="$kver" |
188 |
latest_kver="$kver" |
|
Lines 191-206
pruneOldKernel () {
Link Here
|
| 191 |
# ==> at least one and at most two kernel should remain for given kernel version |
197 |
# ==> at least one and at most two kernel should remain for given kernel version |
| 192 |
kernel_version="$1" |
198 |
kernel_version="$1" |
| 193 |
|
199 |
|
| 194 |
ignore_kver="$(get_latest_kernel_pkg "$kernel_version")" |
200 |
list_passive_kernels "$kernel_version" | |
| 195 |
DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::Options::=--force-confold -y --force-yes remove --purge $(COLUMNS=200 dpkg -l linux-image-${kernel_version}-ucs\* 2>/dev/null | grep linux-image- | awk '{ print $2 }' | sort -n | egrep -v "linux-image-$(uname -r)|$ignore_kver" | tr "\n" " ") >>/var/log/univention/updater.log 2>&1 |
201 |
fgrep -v "$(get_latest_kernel_pkg "$kernel_version")" | |
|
|
202 |
DEBIAN_FRONTEND=noninteractive xargs -r apt-get -o DPkg::Options::=--force-confold -y --force-yes purge |
| 196 |
} |
203 |
} |
| 197 |
|
204 |
|
| 198 |
if [ "$update32_pruneoldkernel" = "yes" ]; then |
205 |
if [ "$update32_pruneoldkernel" = "yes" ]; then |
| 199 |
echo "Purging old kernel..." | tee -a /var/log/univention/updater.log |
206 |
echo "Purging old kernel..." | tee -a /var/log/univention/updater.log |
| 200 |
pruneOldKernel "2.6.18" |
207 |
pruneOldKernel "3.2.0" |
| 201 |
pruneOldKernel "2.6.26" |
208 |
pruneOldKernel "3.10.0" |
| 202 |
pruneOldKernel "2.6.32" |
209 |
#pruneOldKernel "*" # only keep running and next kernel |
| 203 |
pruneOldKernel "3.2" |
|
|
| 204 |
echo "done" | tee -a /var/log/univention/updater.log |
210 |
echo "done" | tee -a /var/log/univention/updater.log |
| 205 |
fi |
211 |
fi |
| 206 |
|
212 |
|