Ubuntu

LTS-Versionen erhalten fünf Jahre Standard-Support plus optional weitere fünf Jahre ESM (Ubuntu Pro). Reguläre (Nicht-LTS) Versionen werden neun Monate lang mit Sicherheits- und Feature-Updates versorgt.

LTS-Versionen:

  • Ubuntu 16.04 LTS „Xenial Xerus“
    Veröffentlichung: 21. April 2016
    Standard-Support bis: 21. April 2021
    ESM bis: 21. April 2026
    Kernel: 4.4
  • Ubuntu 18.04 LTS „Bionic Beaver“
    Veröffentlichung: 26. April 2018
    Standard-Support bis: 31. Mai 2023
    ESM bis: 1. April 2028
    Kernel: 4.15
  • Ubuntu 20.04 LTS „Focal Fossa“
    Veröffentlichung: 23. April 2020
    Standard-Support bis: 31. Mai 2025
    ESM bis: 2. April 2030
    Kernel: 5.4
  • Ubuntu 22.04 LTS „Jammy Jellyfish“
    Veröffentlichung: 21. April 2022
    Standard-Support bis: 21. April 2027
    ESM bis: 1. April 2032
    Kernel: 5.15 / 5.17
  • Ubuntu 24.04 LTS „Noble Numbat“
    Veröffentlichung: 25. April 2024
    Standard-Support bis: 25. April 2029
    ESM bis: 25. April 2034
    Kernel: 6.8

Installation

Während der Installation ist mit „Subnet“ nicht die Netzmaske gemeint, sondern die CIDR-Angabe wie 192.0.2.0/24.

Ein länger laufender „running ‚curtin hook‘“-Spinner kann per „Reboot now“ abgebrochen werden, die Maschine bootet danach problemlos. Tritt auf QEMU ab und zu mal auf.

In YAML-Konfigurationsdateien bezeichnet subnet den Netzwerkbereich im CIDR-Format (z.B. 192.0.2.0/24), nicht die klassische Netzmaske.

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: false
      addresses: ["192.0.2.13/24"]
      gateway4: 192.0.2.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Ab Ubuntu 18.04 kann alternativ **Netplan** eingesetzt werden:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses: ["192.0.2.13/24"]
      gateway4: 192.0.2.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Für automatisierte Installationen empfiehlt sich der Einsatz von LVM auf GPT-Partitionen:

storage:
  config:
    - type: disk
      match:
        size: largest
      ptable: gpt
    - type: partition
      id: boot
      size: 512M
      flags: [boot]
    - type: partition
      id: lvm
      size: -1
    - type: format
      id: boot-format
      filesystem: ext4
      device: "{{ boot }}"
    - type: lvm_vg
      id: vg
      name: ubuntu-vg
      devices: [lvm]
    - type: lvm_lv
      id: root
      vg: ubuntu-vg
      size: 100%FREE
    - type: format
      id: root-format
      filesystem: ext4
      device: "{{ root }}"

Standardmässig en_US.UTF-8. Für lokale Deployments:

locale: de_CH.UTF-8
keyboard:
  layout: ch
timezone: Europe/Zurich

SSH-Schlüssel bereits in der Autoinstall-Konfiguration:

identity:
  username: username
  ssh:
    authorized-keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...

Oder nachträglich:

mkdir -p /home/username/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." > /home/username/.ssh/authorized_keys
chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

Wenn keine Swap-Partition verwendet werden soll:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Update

sudo apt update
sudo apt -y upgrade

sudo-User erstellen

sudo adduser username
sudo usermod --append --groups sudo username
# deploy ssh keys

Firewall: ufw

Nach der Erstinstallation grundlegende Massnahmen:

sudo apt install --assume-yes ufw fail2ban unattended-upgrades
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
sudo ufw status verbose
sudo systemctl enable fail2ban
sudo dpkg-reconfigure --priority=low unattended-upgrades

Regeln verwalten:

sudo ufw allow http
sudo ufw allow 22261
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

sudo ufw status numbered
sudo ufw delete 4

Built on 2025-07-14