| version |
codename |
created |
release |
eol |
| 4.10 |
Warty Warthog |
2004年03月05日 |
2004年10月20日 |
2006年04月30日 |
| 5.04 |
Hoary Hedgehog |
2004年10月20日 |
2005年04月08日 |
2006年10月31日 |
| 5.10 |
Breezy Badger |
2005年04月08日 |
2005年10月12日 |
2007年04月13日 |
| version |
codename |
created |
release |
eol |
eol-server |
| 6.06 LTS |
Dapper Drake |
2005年10月12日 |
2006年06月01日 |
2009年07月14日 |
2011年06月01日 |
| version |
codename |
created |
release |
eol |
| 6.10 |
Edgy Eft |
2006年06月01日 |
2006年10月26日 |
2008年04月25日 |
| 7.04 |
Feisty Fawn |
2006年10月26日 |
2007年04月19日 |
2008年10月19日 |
| 7.10 |
Gutsy Gibbon |
2007年04月19日 |
2007年10月18日 |
2009年04月18日 |
| version |
codename |
created |
release |
eol |
eol-server |
| 8.04 LTS |
Hardy Heron |
2007年10月18日 |
2008年04月24日 |
2011年05月12日 |
2013年05月09日 |
| version |
codename |
created |
release |
eol |
| 8.10 |
Intrepid Ibex |
2008年04月24日 |
2008年10月30日 |
2010年04月30日 |
| 9.04 |
Jaunty Jackalope |
2008年10月30日 |
2009年04月23日 |
2010年10月23日 |
| 9.10 |
Karmic Koala |
2009年04月23日 |
2009年10月29日 |
2011年04月30日 |
| version |
codename |
created |
release |
eol |
eol-server |
| 10.04 LTS |
Lucid Lynx |
2009年10月29日 |
2010年04月29日 |
2013年05月09日 |
2015年04月30日 |
| version |
codename |
created |
release |
eol |
| 10.10 |
Maverick Meerkat |
2010年04月29日 |
2010年10月10日 |
2012年04月10日 |
| 11.04 |
Natty Narwhal |
2010年10月10日 |
2011年04月28日 |
2012年10月28日 |
| 11.10 |
Oneiric Ocelot |
2011年04月28日 |
2011年10月13日 |
2013年05月09日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 12.04 LTS |
Precise Pangolin |
2011年10月13日 |
2012年04月26日 |
2017年04月28日 |
2017年04月28日 |
2019年04月26日 |
| version |
codename |
created |
release |
eol |
| 12.10 |
Quantal Quetzal |
2012年04月26日 |
2012年10月18日 |
2014年05月16日 |
| 13.04 |
Raring Ringtail |
2012年10月18日 |
2013年04月25日 |
2014年01月27日 |
| 13.10 |
Saucy Salamander |
2013年04月25日 |
2013年10月17日 |
2014年07月17日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 14.04 LTS |
Trusty Tahr |
2013年10月17日 |
2014年04月17日 |
2019年04月25日 |
2019年04月25日 |
2024年04月25日 |
| version |
codename |
created |
release |
eol |
| 14.10 |
Utopic Unicorn |
2014年04月17日 |
2014年10月23日 |
2015年07月23日 |
| 15.04 |
Vivid Vervet |
2014年10月23日 |
2015年04月23日 |
2016年02月04日 |
| 15.10 |
Wily Werewolf |
2015年04月23日 |
2015年10月22日 |
2016年07月28日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 16.04 LTS |
Xenial Xerus |
2015年10月22日 |
2016年04月21日 |
2021年04月30日 |
2021年04月30日 |
2026年04月23日 |
| version |
codename |
created |
release |
eol |
| 16.10 |
Yakkety Yak |
2016年04月21日 |
2016年10月13日 |
2017年07月20日 |
| 17.04 |
Zesty Zapus |
2016年10月13日 |
2017年04月13日 |
2018年01月13日 |
| 17.10 |
Artful Aardvark |
2017年04月13日 |
2017年10月19日 |
2018年07月19日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 18.04 LTS |
Bionic Beaver |
2017年10月19日 |
2018年04月26日 |
2023年05月31日 |
2023年05月31日 |
2028年04月26日 |
| version |
codename |
created |
release |
eol |
| 18.10 |
Cosmic Cuttlefish |
2018年04月26日 |
2018年10月18日 |
2019年07月18日 |
| 19.04 |
Disco Dingo |
2018年10月18日 |
2019年04月18日 |
2020年01月23日 |
| 19.10 |
Eoan Ermine |
2019年04月18日 |
2019年10月17日 |
2020年07月17日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 20.04 LTS |
Focal Fossa |
2019年10月17日 |
2020年04月23日 |
2025年05月29日 |
2025年05月29日 |
2030年04月23日 |
| version |
codename |
created |
release |
eol |
| 20.10 |
Groovy Gorilla |
2020年04月23日 |
2020年10月22日 |
2021年07月22日 |
| 21.04 |
Hirsute Hippo |
2020年10月22日 |
2021年04月22日 |
2022年01月20日 |
| 21.10 |
Impish Indri |
2021年04月22日 |
2021年10月14日 |
2022年07月14日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 22.04 LTS |
Jammy Jellyfish |
2021年10月14日 |
2022年04月21日 |
2027年06月01日 |
2027年06月01日 |
2032年04月21日 |
| version |
codename |
created |
release |
eol |
| 22.10 |
Kinetic Kudu |
2022年04月21日 |
2022年10月20日 |
2023年07月20日 |
| 23.04 |
Lunar Lobster |
2022年10月20日 |
2023年04月20日 |
2024年01月25日 |
| 23.10 |
Mantic Minotaur |
2023年04月20日 |
2023年10月12日 |
2024年07月11日 |
| version |
codename |
created |
release |
eol |
eol-server |
eol-esm |
| 24.04 LTS |
Noble Numbat |
2023年10月12日 |
2024年04月25日 |
2029年05月31日 |
2029年05月31日 |
2034年04月25日 |
| version |
codename |
created |
release |
eol |
| 24.10 |
Oracular Oriole |
2024年04月25日 |
2024年10月10日 |
2025年07月10日 |
| 25.04 |
Plucky Puffin |
2024年10月10日 |
2025年04月17日 |
2026年01月15日 |
| 25.10 |
Questing Quokka |
2025年04月17日 |
2025年10月09日 |
2026年07月09日 |
See also:
Step1: install docker
# run apt as root (e.g., sudo apt update)
apt update
apt install docker.io apparmor
Step2: start docker
/etc/init.d/docker start
# OR: systemctl start docker
Step3 (Optional): add the current user to the docker user group
# run it on POSIX-compliant shell (e.g., zsh, ash, bash)
# run adduser as root (i.e., +sudo/+doas)
adduser $(id -un) docker
Take ubuntu 24.04 for example.
We can create a disposable container:
docker run -it --rm -e LANG=$LANG ghcr.io/2cd/ubuntu:24.04
We can also specify the architecture (platform) of the container, but we need to install qemu-user-static first. It will automatically configure binfmt_misc for us.
# run apt as root (i.e., +sudo/doas)
apt install qemu-user-static
Try riscv64:
docker run -it --rm --platform linux/riscv64 ghcr.io/2cd/ubuntu:24.04
# OR: docker run -it --rm ghcr.io/2cd/ubuntu:24.04-rv64gc
Note: The above is only suitable for simple cases, in more cases we will use use it as a base container image and use it with other services.
Here's a snippet of the configuration:
name: Ubuntu
codename: Noble Numbat
series: noble
version: '24.04'
oci-platforms:
- linux/386
- linux/amd64
- linux/arm/v7
- linux/arm64
- linux/ppc64le
- linux/riscv64
- linux/s390x
If you want more information, go to Github Releases.
To use systemd-nspawn, we need to install it.
# run apt as root (i.e., +sudo/doas)
apt install systemd-container
Next, let's take 22.10 arm64 for example.
Note: This is a version that is already EOL. In most cases, you should use the ongoing maintenance version, not the EOL.
mkdir -p ./tmp/kinetic-arm64
cd tmp
# We need to download a file of size 26.15 MiB.
curl -LO 'https://github.com/2cd/ubuntu-museum/releases/download/22.10/22.10_kinetic_arm64.tar.zst'
# install bsdtar, run apt as root (i.e., +sudo/+doas)
apt install libarchive-tools
# run bsdtar or gnutar as root (i.e., +sudo/+doas)
# if using gnutar, then `bsdtar` -> `tar`
bsdtar -C kinetic-arm64 -xf "22.10_kinetic_arm64.tar.zst"
# run nspawn as root (i.e., +sudo/+doas)
# On pwsh, $LANG -> $env:LANG
systemd-nspawn -D kinetic-arm64 -E LANG=$LANG
Once inside the container, we can configure the language environment:
apt update
apt install locales
dpkg-reconfigure locales
-
Actually, compared to the official Ubuntu Docker image, it does not have any particularly great advantages. One significant difference compared to the official one is that it is not as streamlined. This can be seen as both an advantage and a disadvantage. In many cases, being streamlined can reduce the size it occupies. However, for certain purposes, like graphical user interfaces, being too streamlined may cause issues.
-
On modern operating systems (Linux kernel: 6.x), running some ancient systems (in containers, not virtual machines) may cause issues.
For example, Warty (i386, 4.10):
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!