#!/bin/sh # Vitaly Lipatov , 2004 # Устанавливает самое новое ядро # Обновляет уже установленные модули до версии # для самого нового установленного ядра echo "Update kernel with modules: Vitaly Lipatov , 2004-2005" # Тип ядра (получаем из текущего запущенного) TYPESYS=`uname -r | cut -d "-" -f2,3` test -z "$1" || TYPESYS=$1 SUDO=sudo if [ "$UID" == "0" ] then SUDO= fi echo "Try to install newest kernel image '$TYPESYS' type" LISTKER=`$SUDO apt-get install kernel-image-$TYPESYS -y | grep "\#" | grep -v "\["` LISTKER=`echo $LISTKER | cut -d " " -f 1 | head -n 1` echo "Install new kernel $LISTKER" $SUDO apt-get install $LISTKER -y echo "Check for newest kernel..." NEWESTKERNEL=`rpm -qa kernel-image-${TYPESYS}* | sort | tail -n 1` INSTVER=`rpm -q $NEWESTKERNEL --queryformat "%{VERSION}-$TYPESYS-%{RELEASE}"` echo "Updates modules for kernel: $INSTVER ..." ALLMODULES=`apt-cache pkgnames kernel-modules | sed -e "s/kernel-modules-//g" | sed -e "s/-.*$//g" | sort | uniq | grep -v kernel` LISTFORUPDATE="" for i in $ALLMODULES do PKGNAME=kernel-modules-$i if rpm -q $PKGNAME-$TYPESYS >/dev/null then echo modules-$i is installed, updating... LISTFORUPDATE="$LISTFORUPDATE$PKGNAME-$INSTVER " fi done $SUDO apt-get install $LISTFORUPDATE -y