[喂饭]将debian稳定版更换成testing版,并修改内核启动顺序,bbr3

debian有三种主要的发布版本:“稳定(stable)”版、“测试或者叫候选(testing)”版和“不稳定(unstable)”版。此外,还有“旧的稳定(oldstable)”版(也就是之前的“稳定”版),以及“实验(experimental)”版。 日常的逻辑思维看见test就以为是不稳定,其实testing(测试候选版本)和stable(稳定版)的区别是,testing是下一个debian稳定版发行版的当前开发状态,所以它的发行代号,也是下一个版本的代号,你可以cat /etc/debian_version或者lsb_release -a来查看,可见下一个版本叫trixie,历史上所有的稳定发行版都来自于这个testing的冻结状态。 testing(候选版本)也必须比“(unstable)不稳定版”含有更少的缺陷,且不能存在致命缺陷(“紧要”和“严重”两个级别都必须消失),强制要求不能损坏当前系统的任何软件包,毕竟是当“有效候选者”的版本,最基本的稳定性是要保证的,所以作为个人日常适用这个版本足够。 插曲:debian所有的版本号代号都来自哪里? 这些代号来自哪里? 这些代号都来自皮克斯电影《玩具总动员》系列的角色。 buzz(Debian 1.1)是太空人 Buzz Lightyear(巴斯光年), rex(Debian 1.2)是那只霸王龙, bo(Debian 1.3)是 Bo Peep(宝贝),那个放羊的女孩, hamm(Debian 2.0)是那个小猪储蓄罐, slink(Debian 2.1)是 Slinky Dog,那只玩具狗, potato(Debian 2.2)当然是 Mr. Potato(蛋头先生), woody(Debian 3.0)是牛仔胡迪, sarge(Debian 3.1)是绿色塑料玩具士兵的首领, etch(Debian 4.0)是那个玩具画板(Etch-a-Sketch), lenny(Debian 5.0)是那个玩具望远镜, squeeze(Debian 6)是那个三只眼的外星人的名字, wheezy(Debian 7)是那只戴着红领结的橡胶玩具企鹅, jessie(Debian 8)是那个唱着约德尔的女牛仔, stretch(Debian 9)是那个有八条长着吸盘的长腿的橡胶玩具章鱼, buster(Debian 10)是安弟的宠物狗。 bullseye(Debian 11)是胡迪的玩具木马。 bookworm(Debian 12)是那个内置手电筒的、爱看书的玩具蠕虫。 trixie(Debian 13)是蓝色塑料三角龙。 sid 是破坏所有玩具的隔壁男孩。 sid 或称作 unstable 是大多数软件包最初上传到的地方。它从来不会被直接发布,因为将被发布的软件包首先需要进入 testing,然后才能进入 stable 并发布。sid 包含已经发布和尚未发布的架构的软件包。 “sid”这个名字同样来自动画电影《玩具总动员》:Sid 是破坏玩具的隔壁男孩 🙂 优点:使用“testing测试候选版本”的优点是您可以一直跟随 GNU/Linux 软件行业的最新技术,且无缝升级到最新发行版,这就是为什么你在很多bbs里看见有人回复我在使用debian testing,其实这个版本是相当稳定的,日常适用几乎没什么bug,就算大部分引起的bug也是因为软件包编译的太新引起的,系统自身的bug很少会遇到,你可以简单的理解为这个是debian的滚动发行版,虽然这不严格,也不像arch linux这样极端的更新(但也是次新级了),但是你这样理解就行,且这个是被测试过没有致命缺点的滚动发行版,不会挂滚。 硬要说缺点:testing 的安全更新不由安全团队管理,但是通常也就延迟几天就会合并。 如何将现有的版本更改成testing? 1:nano /etc/apt/sources.list              #清空里面的内容 2:#如果是AMD64位架构的CPU,复制粘贴如下源 deb http://deb.debian.org/debian/ testing main contrib non-free deb-src http://deb.debian.org/debian/ testing main contrib non-free     #国内网络环境用下面这个,复制粘贴。 deb https://mirrors.ustc.edu.cn/debian testing main contrib non-free deb https://mirrors.ustc.edu.cn/debian testing-updates main contrib non-free 3:保存并关闭sources.list文件 4:apt-get update #执行以下3条命令时,会遇到几次*** crontab (Y/I/N/O/D/Z) [default=N] ? 这样的提示,和Keep的弹框提示,因为每个人正在运行的程序不同,这些都是软件包发行商已经发布了更新版本问你是否更改的提示,我的建议,如果你什么程序都没跑,可以输入Y,如果已经有跑程序,建议默认回车,后者按TAB键到OK+回车。 5:  apt-get upgrade 6:  apt-get dist-upgrade 7:  再次用cat /etc/debian_version或者lsb_release -a查看当前debian发行代号是否已经是最新。 —-上面是安装testing版本的方法,已经完毕,现在开始介绍如何更改默认启动的内核—- #因为各种原因,例如:早期想体验BBR3TCP算法,而安装了其它第三方mod内核,或者你自编译了其它内核安装,现在想回归到debian testing官方源里的最新内核为第一启动顺序,并以后更新内核后依然保持是最新内核为第一启动顺序,那么按照如下操作。 1:apt-cache search linux-image 2:cat /boot/grub/grub.cfg |grep menuentry 3:nano /etc/default/grub 4:将GRUB_DEFAULT=0      #修改成         GRUB_DEFAULT=”Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 6.10.3-cloud-amd64″ 注意:加上Advanced options for Debian GNU/Linux是因为这个是必须的“一级菜单”后面的“内核”才是二级菜单,不这样做你输入update-grub更新后会报错。 5:update-grub 6:reboot 7: 重启后,继续修改nano /etc/default/grub,把:GRUB_DEFAULT=”Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 6.10.3-cloud-amd64″  改回:GRUB_DEFAULT=0,这样以后你apt-get upgrade or apt-get dist-upgrade更新过的内核依然是第一启动顺序延续下去。 8:update-grub 9:因为已经是testing源了,所以你的内核是非常新的,不需要再使用第三方编译的mod内核去开启BBR3,直接修改一下sysctl.conf即可。 cat > /etc/sysctl.conf << EOF net.core.default_qdisc=fq_pie net.ipv4.tcp_congestion_control=bbr EOF #注意:fq_pie即BBR3 10:最后需要注意,如果你除了BBR3,还启用其它拥塞算法,例如:TCP Brutal,那每更新一次内核,你就需要重装一次,最简单的方法就是直接:bash <(curl -fsSL https://tcp.hy2.sh/) 完

请登录后发表评论