路逢剑客须呈剑
不是诗人莫献诗
       

Ubuntu Kernel Update 脚本

Ubuntu Kernel Update 脚本

我是不是疯了

在写这个脚本的时候,我还没有疯掉。因为那个时候我还在用 Ubuntu 16.04 去装上 4.17.x的脚本(_all.deb根本装不上去),但是追求最新版本的心是不会死的,所以我写了这个脚本。

5bace52100329

但是 但是 我的Mysql在Ubuntu 18.04上崩了,PHP7.2诡异报错(可能和我菜也有关) 。我的主力台式机编译网件A6210 网卡的时候,各种kernel语法报错,我从3.2一路试到4.18,结果吗…..找了个Gayhub dalao的源码魔改,自己继续魔改。装了上去,还不怎么稳定。。。

5bace544f2d0d

我是怎么写的

我曾经经历过一次Update Kernel时的SSH disconnected ,所以不用担心,我把Update专门放在了后台的screen里执行。以及安装axel,screen,执行apt update && apt upgrade确保不会出现其他问题。

对了我还有关于处理器架构的选择…..当然,是 Alpha-Alpha 版本。加油

5bace63372f2c

代码及地址

我把持续更新的代码传到了我自己的脚本网站上2333

如果你想直接使用可以使用命令

bash -c "$(curl -sL https://shell.makiras.org/bash/Ubuntu_Kernel_Update.sh)"

源代码如下…….丑请轻点喷orz

#!/bin/bash
mkdir ~/tmp_4.18.5
cd ~/tmp_4.18.5
dpkg --configure -a
apt-get update && apt-get install -f
apt-get install axel

echo ""
echo -e "\033[33m ###################################################### \033[0m"
echo -e "\033[33m #           Only For UBUNTU!/仅供Ubuntu!              # \033[0m"
echo -e "\033[33m #      Please Select Your Processor Architecture !   # \033[0m"
echo -e "\033[33m #           Or your Computer may be crash !          # \033[0m"
echo -e "\033[33m #   请正确选择您的处理器架构,否则您的电脑可能会损坏。    # \033[0m"
echo -e "\033[33m #      IF you are using vps , most time is amd64     # \033[0m"
echo -e "\033[33m #               绝大多数情况下是 amd64架构             # \033[0m"
echo -e "\033[33m ###################################################### \033[0m"
echo ""
echo "1. amd64 (x86_64) [default]"
echo "2. i386  (x86_32)"
echo "3. armhf (Optimized arm32 , beat)"
echo "4. arm64"
echo "5. ppc64el"
echo "6. s390x"
echo -e "\033[33m Now , Please Input version (Default: 1) \033[0m"

read vers
if [ ${vers:=1} -lt 1 ] || [ $vers -gt 6 ] 
    then
    exit 1
fi

if   [ $vers -eq 1 ] ; then
    versions="amd64"
elif [ $vers -eq 2 ] ; then
    versions="i386"
elif [ $vers -eq 3 ] ; then
    versions="armhf"
elif [ $vers -eq 4 ] ; then
    versions="arm64"
elif [ $vers -eq 5 ] ; then
    versions= "ppc64el"
elif [ $vers -eq 6 ] ; then
    versions="s390x"
fi

axel -q -n 16 https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18.5/linux-headers-4.18.5-041805_4.18.5-041805.201808241320_all.deb
echo "10% Complete"
axel -q -n 16 https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18.5/linux-headers-4.18.5-041805-generic_4.18.5-041805.201808241320_$versions.deb
echo "25% Complete"
axel -q -n 16 https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18.5/linux-image-unsigned-4.18.5-041805-generic_4.18.5-041805.201808241320_$versions.deb
echo "50% Complete"
axel -q -n 16 https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18.5/linux-modules-4.18.5-041805-generic_4.18.5-041805.201808241320_$versions.deb
echo "65% Complete"

#进入Screen进行安装操作防止掉线(血的教训)
screen -dmS $"update_kernel"
screen -x -S $"update_kernel" -p 0 -X stuff $"dpkg -i *.deb \n"
echo "Waiting For 180 to complete Install"
seconds_left=180
while [ $seconds_left -gt 0 ];do
    echo -ne "\033[5;32m $seconds_left \033[0m"
    sleep 1
    seconds_left=$(($seconds_left - 1))
    echo -ne "\r     \r" #清除本行文字
done
echo ""
echo "80% Complete"
dpkg --configure -a
apt-get install -f
apt-get update && apt-get upgrade
apt autoremove --purge
screen -x -S $"update_kernel" -p 0 -X stuff  $"update-grub\n"
screen -x -S $"update_kernel" -p 0 -X stuff  $"exit\n"
cd ~
rm -rf ~/tmp_4.18.5
echo "Complete!"
echo ""
echo ""
echo -e "\033[40;37m ######################################### \033[0m"
echo -e "\033[40;37m #  Please Remove old Kernels in /boot ! # \033[0m"
echo -e "\033[40;37m #  Only Keep 2 or 3 Kernels as back up  # \033[0m"
echo -e "\033[40;37m #   Or your dpkg system may be crash !  # \033[0m"
echo -e "\033[40;37m ######################################### \033[0m"
echo ""
echo ""
echo -e "\033[32m Reboot or Not   ? (Y/N) \033[0m"
echo -e "\033[32m 是否重启使内核生效? (Y/N) \033[0m"
read c
if [ $c == 'Y' ] || [ $c == 'y' ] 
    then
    reboot
fi
exit 0

我还活着吗

我还活着,但只是到目前为止。

赞(1)
未经允许请勿转载:Makira的咸鱼小站 » Ubuntu Kernel Update 脚本

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址