当前位置:首页 > IT > 正文内容

升级Debian12不会?,那么用这个脚本就对了

admin4天前IT8

前言

2023 年 6 月 10 日,Debian 正式发布了其最新的稳定本12(代号 bookworm )。作为一名 Linux 的爱好者,怎能不第一时间升级它。

相对于 Debian 11,Debian 12 包含大量更新的软件包(上一版本中超过 67% 的包)。个人感觉还是可以升级的,不过前期还是不要用在主力机上。

准备工作

除非你是物理服务器,以及没有用过奇奇怪怪定制或修改的内核的 KVM 构架的 VPS 和云主机,否则升级大版本更新内核是有一定机率导致 Grub 加载失败的,切记备份重要数据!

OpenVZ 6 和 LXC 构架的 VPS 是无法升级的,因为他们没有自己独立的内核。

再强调一遍,一定要备份重要数据!

查看自己是那个debian的版本的命令。

cat /etc/debian_version# 或者cat /etc/os-release

更新系统

在安装前,请先更新系统。

apt updateapt upgrade -yapt dist-upgrade -yapt autocleanapt autoremove -y

如果内核更新了,可以重启让最新的内核生效,也可以直接进行升级。

升级系统

手动升级

首先更新 apt 源,替换 bullseye 为 bookworm:

sed -i 's/bullseye/bookworm/g' /etc/apt/sources.listsed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list

对于 Debian 12 以后的版本,所有 Debian 可以分发的打包的非自由固件二进制文件(non-free),比如某些驱动,都被转移到 Debian Archive 中的一个新组件,称为非自由固件(non-free-firmware)。如果您从旧版的 Debian 升级,并且需要这些固件二进制文件,您应该更新您系统上的 /etc/apt/sources.list,以使用这个新组件(来源):

sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list

默认的系统 apt 源文件 /etc/apt/sources.list 应该是类似这样的:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

国内服务器可以替换 deb.debian.org 和 security.debian.org 为 mirrors.tuna.tsinghua.edu.cn

然后我们再次执行更新系统:

apt updateapt upgrade -yapt dist-upgrade -y

更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。

在 apt-listchanges: News 界面可以按 q 退出:

提示是否自动重启服务:

是否重启

提示是否更新 OpenSSH 配置文件:

是否更新 OpenSSH 配置文件

注意某些软件更新后可能会更新 systemd 服务配置,此时我们可以执行 systemctl daemon-reload 重新加载配置。

如果升级的时候遇到了如下错误:

Setting up dbus-daemon (1.14.6-1) ...
UUID file '/var/lib/dbus/machine-id' should contain a hex string of length 32, not length 0, with no other text
dpkg: error processing package dbus-daemon (--configure):
 installed dbus-daemon package post-installation script subprocess returned error exit status 1dpkg: dependency problems prevent configuration of dbus:
 dbus depends on dbus-daemon (= 1.14.6-1); however:
  Package dbus-daemon is not configured yet.

dpkg: error processing package dbus (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.36-9) ...
Errors were encountered while processing:
 dbus-daemon
 dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

删除 /var/lib/dbus/machine-id 这个空文件后重新执行命令即可,升级 dbus 时会自动生成这个文件。

rm -rf /var/lib/dbus/machine-id

更新后删除不必要的软件和依赖:

apt autocleanapt autoremove -y

然后我们使用 reboot 命令重启系统,耐心等待后,查看最新的系统版本:

root@debian ~ # cat /etc/debian_version 12.0
root@debian ~ # lsb_release -aNo LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)Release:	12Codename:	bookworm
root@debian ~ # uname -aLinux debian 6.1.0-9-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux

这时我们就已经更新到了最新的 Debian 12 Bookworm 和内核了。

使用一键脚本自动升级

脚本地址:Github

脚本命令:

bash <(curl -sSL https://raw.githubusercontent.com/wikihost-opensource/linux-toolkit/main/system-upgrade/debian.sh)

如果你是 Debian 10 的系统,那么你需要执行两次脚本,因为脚本每次执行只会升级一个版本。

Debian 9 升级到 Debian 10
Debian 10 升级到 Debian 11
Debian 11 升级到 Debian 12

更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。具体请参考上文手动安装。

最后

祝大家玩的开心。

感谢一下文章:

  1. https://ybfl.xyz/sites/258.html

  2. https://sysin.org/blog/debian-12/

  3. https://u.sb/debian-upgrade-12/

原文地址:https://www.cnblogs.com/Eliauk365/p/17475957.html

扫描二维码推送至手机访问。

版权声明:本文由小龙的博客发布,如需转载请注明出处。

本文链接:https://xl.cndyun.com/post/822.html

返回列表

上一篇:在Debian系统中修改开机启动项

没有最新的文章了...

“升级Debian12不会?,那么用这个脚本就对了” 的相关文章

让nginx支持.htaccess的方法

让nginx支持.htaccess的方法

nginx完全可以支持.htaccess文件,请按如下操作:1、新建一个.htaccess文件,在里面输入规则,如本站的规则:# nginx rewrite rule  rewrite ^(.*?)/article/.*?-(\d+)-(\d+)\...

本地权限提升漏洞 “Stack Clash”处理方案

近日,国外安全厂商研究人员发现Linux、BSD、Solaris 和其它开源系统存在一个本地权限提升漏洞 “Stack Clash”(漏洞编号为 CVE-2017-1000364) ,攻击者可以利用该漏洞获取 root 权限进行代码执行。腾讯云安全中心建议您及时关注官方漏洞补丁更新情况并开展安全修复...

PHP7.1升级

PHP7.1升级

经过一天的努力和技术研究,已经完成了3台服务器PHP7.1的升级,升级后的确速度快了好多!有一台服务器因大部分程序可能有兼容性问题且为了为后期无法使用PHP7的程序做准备暂不升级,另两台搭建网站不多,也会后期根据情况升级或换windows系统。...

升级优化公告20170906

2017年9月4日app上线取消了首页音乐自动缓存机制,减少流量损耗优化视频代码使视频可以自适应屏幕大小对视频网站链接做CDN HTTPS加速,同时添加视频防盗链实现视频播放可拖拽,高速访问...

微信粉丝转移知多少?

微信粉丝转移知多少?

对了,小编算了算,官方费用300公证费400左右。全部下来将近1000块,合不合算各位自己把量。...