V 友们 请问 Ubuntu 升级软件包和內核会有兼容性问题吗?🙏

2021-09-04 14:40:45 +08:00
 programV2

Ubuntu 是可以跨版本升级的。请问 如果 apt-get upgrade 升级 OS 系统版本 16 到 18,已安装的软件版本也会升级到最新的 stable 版本吗? 如果会升级的话,如何保证能够兼容旧的配置文件? 。谢谢指点🙏

1967 次点击
所在节点    Linux
13 条回复
Judoon
2021-09-04 14:46:35 +08:00
跨版本升级需要 do-release-upgrade
直接 apt-get upgrade 不会跨版本升级。

升级的时候会让你确认配置文件是使用新版的默认值,还是保持旧的配置文件,可以做比对,这时候就需要你对配置有一定了解才行了。
programV2
2021-09-04 14:56:59 +08:00
@Judoon
@Judoon
@Judoon 谢谢 v 友. 命令打错了。sudo apt-get dist-upgrade 也可升级系统。那如果 sudo apt-get upgrade 更新已安装的包,也会让我确认配置文件是使用新版的默认值还是保持旧的配置文吗?我记得没有出现确认的提示呀。

@Judoon
ByteCat
2021-09-04 17:02:49 +08:00
可能有些软件会依赖内核提供的某些功能,目前遇到的有 ufw 、wireguard 之类的,可能会报错,通常来说没什么问题
programV2
2021-09-04 17:13:28 +08:00
@ByteCat
@Judoon 谢谢两位🙏 所以只要不是跨版本升级,如 Ubuntu 16.01 到 16.04 这种小版本之间的升级就不会出现兼容问题?
@ByteCat
hsfzxjy
2021-09-04 18:12:21 +08:00
ubuntu 16.01 是什么,不是只有 04 和 10 吗
jackmod
2021-09-04 18:55:39 +08:00
ubuntu 的跨版本升级基本就是把 source.list 里的发行版代号改掉了。
官方仓库的包有连续性,很少会冲突。但也不建议升级时跨越 LTS 版本。
如果现存的配置文件和新版的不同,apt 会暂停并询问操作。
cheng6563
2021-09-04 19:01:44 +08:00
内核一般和上层功能的兼容性基本没啥问题,比如我 centos6 加新内核跑各种容器跑的飞起。倒是和硬件驱动可能会有大问题,可能升到新内核直接上不了网。
blueboyggh
2021-09-04 19:04:30 +08:00
apt dist-upgrade 也不会升级大版本号吧
jim9606
2021-09-04 20:58:04 +08:00
内核通常可以放心升,但建议同步升级 linux-libc-dev 和 linux-firmware 避免找不到固件之类的问题。
do-release-upgrade 的问题是如果你改过软件包的配置,升级过程会卡住并询问是否保留修改。这个安装过程好像是没法回退和中断的。要是遇上空间不足、意外关机、SSH 断线就不好收拾。而且这个过程可能会破坏不在包管理器管理下的软件的 ABI 兼容性。
adoal
2021-09-04 21:23:07 +08:00
“如何保证能够兼容旧的配置文件”?

理论上并不能保证……实际上遇到的不兼容情况并不多。

另外,如果安装 deb 包时初始版本的配置文件被用户修改过了,而新版的 deb 包自带的初始文件又有变化,dpkg 会问你怎么处理,是用新的、保留旧的、尝试做三路归并(成功率并不高),也可以用 diff 格式显示新老版本的差异,以及临时开一个 shell 让你人工检查。
triptipstop
2021-09-04 23:39:39 +08:00
就算不跨版本,平时升级下内核,有些软件就不行了,比如 vbox 。
msg7086
2021-09-05 11:28:33 +08:00
@programV2 @hsfzxjy
倒是有 16.04.1 和 16.04.4 。

这里 16.04 是大版本(年.月),后面的.1 和.4 是小版本。
wangbenjun5
2021-09-05 12:26:42 +08:00
@triptipstop 虚拟机确实是依赖内核的一些东西,每次升级都得重新搞一下。但是大部分软件其实对 Linux 内核版本没什么要求,升级完全不影响,我使用的是 ubuntu16.04 ,默认内核是 4.4 版本,我现在已经升级到 5.10 版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX