Improved install script
This commit is contained in:
parent
b8e38428a0
commit
86846e29ed
55
install
55
install
@ -1,10 +1,47 @@
|
||||
#!/bin/sh
|
||||
printf "Copying files..\n"
|
||||
sudo cp kernelcheck /usr/local/sbin/kernelcheck
|
||||
sudo cp notify_all /usr/local/sbin/notify_all
|
||||
printf "Adding hourly service to cron scheduler..\n"
|
||||
(sudo crontab -l; echo "@hourly /usr/local/sbin/kernelcheck" ) | sudo crontab -
|
||||
printf "Enabling cronie scheduler..\n" # Let me know if you use something else, and enable manually.
|
||||
sudo systemctl start cronie.service
|
||||
sudo systemctl enable cronie.service
|
||||
printf "Installation complete.\n"
|
||||
|
||||
if [ $EUID != 0 ]
|
||||
then
|
||||
printf "This script needs to be run as root.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function install_arch_manjaro(){
|
||||
cp kernelcheck /usr/local/sbin/kernelcheck
|
||||
cp notify_all /usr/local/sbin/notify_all
|
||||
if ! hash crontab &>/dev/null
|
||||
then
|
||||
printf "Installing cronie command scheduler..\n"
|
||||
pacman -S --noconfirm cronie &>/dev/null
|
||||
fi
|
||||
if hash systemctl &>/dev/null
|
||||
then
|
||||
if [ $(systemctl is-active cronie) == inactive ]
|
||||
then
|
||||
printf "Enabling cronie command scheduler..\n"
|
||||
systemctl start cronie.service &>/dev/null
|
||||
systemctl enable cronie.service &>/dev/null
|
||||
fi
|
||||
else
|
||||
printf "You don't seem to be using systemd.. Please enable cronie manually.\n"
|
||||
fi
|
||||
if ! grep -Fxq "@hourly /usr/local/sbin/kernelcheck" /var/spool/cron/root 2>/dev/null
|
||||
then
|
||||
printf "Installing hourly service in crontab..\n"
|
||||
(crontab -l 2>/dev/null; echo "@hourly /usr/local/sbin/kernelcheck" ) | crontab -
|
||||
elif grep -Fxq "@hourly /usr/local/sbin/kernelcheck" /var/spool/cron/root
|
||||
then
|
||||
printf "Crontab entry found. Skipping..\n"
|
||||
fi
|
||||
printf "Installation complete.\n"
|
||||
}
|
||||
|
||||
if [ -f /etc/manjaro-release ]
|
||||
then
|
||||
printf "Installing for Manjaro Linux...\n"
|
||||
install_arch_manjaro
|
||||
elif [ -f /etc/arch-release ]
|
||||
then
|
||||
printf "Installing for Arch Linux...\n"
|
||||
install_arch_manjaro
|
||||
fi
|
||||
|
23
kernelcheck
23
kernelcheck
@ -54,20 +54,23 @@ then
|
||||
make modules_install &>/dev/null
|
||||
cp arch/$(uname -m)/boot/bzImage /boot/vmlinuz-$latest
|
||||
mkinitcpio -k $latest -g /boot/initramfs-$latest.img &>/dev/null
|
||||
if [ "$(echo $(uname -r) | sed 's/ARCH//')" != "$(uname -r)" ]
|
||||
then
|
||||
/usr/local/sbin/notify_all "Kernel update tracker" "Removing the Arch distribution kernel.." --icon=dialog-information
|
||||
pacman -R --noconfirm linux
|
||||
elif [ "$(echo $(uname -r) | sed 's/MANJARO//')" != "$(uname -r)" ]
|
||||
then
|
||||
/usr/local/sbin/notify_all "Kernel update tracker" "Removing the Manjaro distribution kernel.." --icon=dialog-information
|
||||
pacman -R --noconfirm linux
|
||||
else
|
||||
## Uncomment this code block only if you really know what you are doing!!
|
||||
## It removes the Arch / Manjaro distribution kernel, and should only be done if you know how to recover from chroot!
|
||||
|
||||
# if [ "$(echo $(uname -r) | sed 's/ARCH//')" != "$(uname -r)" ]
|
||||
# then
|
||||
# /usr/local/sbin/notify_all "Kernel update tracker" "Removing the Arch distribution kernel.." --icon=dialog-information
|
||||
# pacman -R --noconfirm linux
|
||||
# elif [ "$(echo $(uname -r) | sed 's/MANJARO//')" != "$(uname -r)" ]
|
||||
# then
|
||||
# /usr/local/sbin/notify_all "Kernel update tracker" "Removing the Manjaro distribution kernel.." --icon=dialog-information
|
||||
# pacman -R --noconfirm linux
|
||||
# else
|
||||
/usr/local/sbin/notify_all "Kernel update tracker" "Removing the current kernel.." --icon=dialog-information
|
||||
rm -f /boot/initramfs-$current.img
|
||||
rm -f /boot/vmlinuz-$current
|
||||
rm -rf /usr/lib/modules/$current
|
||||
fi
|
||||
# fi
|
||||
grub-mkconfig -o /boot/grub/grub.cfg &>/dev/null
|
||||
/usr/local/sbin/notify_all "Kernel update tracker" "New kernel installed\!" --icon=dialog-information
|
||||
elif [[ "$latest" == "$current" ]] && [[ ! -z $latest ]]
|
||||
|
Reference in New Issue
Block a user