不同的Ubuntu版本基于哪个Debian版本?

我有一些定制的软件包适用于Ubuntu 10.04、10.10和12.10,但现在我必须在Debian Squeeze上安装它们。我无法通过谷歌找到特定Ubuntu和Debian版本之间的映射关系。这里有人可以帮忙吗?

具体来说,我想知道哪个Ubuntu版本对应Debian Squeeze。


1如果我们相信这个网站,那么10.04。 - Warren Hill
相关链接:https://unix.stackexchange.com/q/404258/85039 - Sergiy Kolodyazhnyy
1请注意,来自基于APT的发行版的软件包不应默认安装在另一个基于APT的发行版上。如果您是软件包维护者,这个问题仍然有用,但对于普通用户来说则无关紧要。详细解释请参考:https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian - Valerio Bozz
3个回答

你可以在文件中找到你的Ubuntu版本所基于的Debian版本:/etc/debian_version
Ubuntu Debian
22.10 kinetic bookworm/ sid - 12
22.04 jammy bookworm/ sid
21.10 impish bullseye/ sid - 11
21.04 hirsute bullseye/ sid
20.10 groovy bullseye/ sid
20.04 focal bullseye/ sid
19.10 eoan buster / sid - 10
19.04 disco buster / sid
18.10 cosmic buster / sid
18.04 bionic buster / sid
17.10 artful stretch / sid - 9
17.04 zesty stretch / sid
16.10 yakkety stretch / sid
16.04 xenial stretch / sid
15.10 wily jessie / sid - 8
15.04 vivid jessie / sid
14.10 utopic jessie / sid
14.04 trusty jessie / sid
13.10 saucy wheezy / sid - 7
13.04 raring wheezy / sid
12.10 quantal wheezy / sid
12.04 precise wheezy / sid
11.10 oneiric wheezy / sid
11.04 natty squeeze / sid - 6
10.10 maverick squeeze / sid
10.04 lucid squeeze / sid
Sid 是Debian的开发分发版。例如,Ubuntu 20.04是基于Debian 11 "Bullseye"的,后者于2021年8月发布。
您可以通过查看Launchpad上basefiles软件包的源代码来了解文件的内容,而无需安装整个系统。

1非常感谢。只是为了明确起见,您通过启动不同版本的Ubuntu的live CD,并查看/etc/debian_version来进行了检查吗? - xkcd
@xkcd 只有 10.04,其他的我要么已经安装了,要么在虚拟机上。 - Jacob Vlijm
我的13.10版Ubuntu Gnome在执行cat /etc/debian_version时显示为wheezy/sid... - Rmano
@Jacob --- 好的,现在我明白了。这是一种喘息+... - Rmano
请注意,这只是一个大致的说明。Ubuntu的发布并不是基于特定的Debian版本。 - Peter Green
@PeterGreen 不太清楚你指的是什么,Ubuntu是基于Debian的开发版本。 - Jacob Vlijm
4首先,“开发版本”并不真正是一个“发布版本”。在squeeze发布后的第二天,wheezy仓库中的内容与wheezy的最终发布版本非常不同。其次,ubuntu通常从sid中获取软件包,而sid从未发布过,因此sid中的软件包可能会在下一个Debian发布之前进入testing,也可能不会。第三,ubuntu会更新核心软件包(尤其是glibc)到比Debian中更高的版本。第四,如果一个软件包在ubuntu中被修改过,那么来自Debian的更改将不会被导入,直到有人手动合并它们。 - Peter Green
将所有这些东西放在一起,当你将Ubuntu版本与你在表格中列出的Debian版本进行比较时,你很可能会发现它在某些软件包上落后于Debian,在其他软件包上则领先于Debian。 - Peter Green
@TheodoreJameson 对不起,对不起,我没注意到你还改了版本,只看到你把“the”改成了“this”。我肯定会同意的。我应该买副新眼镜。 - Jacob Vlijm
我有Ubuntu 18.04和buster/sid。这是否意味着我的Debian版本是不稳定的,就像这里所显示的那样? - Timo
第一个链接已经损坏。 - WinEunuuchs2Unix
我想知道哪个最古老的Debian版本与Ubuntu相关,但是您的表格没有涵盖到Ubuntu 4.10。 - user677955
请保持这个更新,我已经收藏了! :D - Ev Dolzhenko
我使用这些信息成功地从Ubuntu bionic迁移到Debian buster,得益于https://unix.stackexchange.com/a/718220/247520的帮助。 - ñull

很不幸,/etc/debian_version没有直接的映射,正如Jacob的回答所提到的,这只是一个大致的想法,并且只反映了一个软件包,而该软件包在Ubuntu中是本地修改的,因此不会自动从Debian中获取。
特别是在核心软件包(如libc6)方面,Ubuntu通常领先于Debian。试图在当代版本的Debian上安装在Ubuntu上构建的软件包可能会导致libc6版本错误。
根据https://superuser.com/questions/407745/wrong-libc6-version-in-debian-squeeze-can-i-go-back,Debian squeeze使用的是libc6 2.11。根据http://web.archive.org/web/20110705212424/http://packages.ubuntu.com/search?keywords=libc6,Ubuntu 10.04 lucid也使用的是libc6 2.11。因此,我认为10.4 lucid的软件包最有可能在Squeeze上运行。
根据您的程序需要的其他库,您可能会发现需要为Debian squeeze进行特定的构建。

此外,需要注意的是,来自基于APT的发行版(例如Ubuntu)的软件包不应该默认安装在另一个基于APT的发行版(例如Debian)上。反之亦然。
对于软件包维护者而言,这个问题仍然有用,但对于最终用户而言则无关紧要。最终用户只需避免安装来自其他发行版的软件包即可。
当您需要跨平台软件包时,请考虑以下专为此目的设计的解决方案:
- Flatpak - Snap - AppImage 再次强调,`apt`软件包并非设计用于跨发行版使用,因此不应该用于此目的。也就是说,如果您希望避免创建“科学怪人”,请注意。

https://wiki.debian.org/DontBreakDebian

https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian