Kurzanleitung zur Erstellung eines neuen 32-Bit-Containers.
Ubuntu stellt die 32-Bit-Images ja nur bis Version 18.04 (bionic)
bereit. Mein Ablauf funktioniert auch mit 20.04 oder neuer!
Und weil er sich bewährt, habe ich ihn auch für 64-Bit-Container
angepasst. So werde ich auch dort Dinge wie “ubuntu-advantage” los!
Vorbereitungen
Die vorbereitenden Schritte habe ich im
Github-Repo lxc-ubuntu-i386-amd64
beschrieben. Dort erstelle ich Images für
32bit und 64bit Ubuntu 20.04 (focal)
32bit und 64bit Ubuntu 22.04 (jammy)
Die Images liegen bei Releases zum herunterladen bereit.
Herunterladen
1
2
3
backup$ wget https://github.com/uli-heller/lxc-ubuntu-i386-amd64/releases/download/v1.6/focal-v1.6-i386-lxcimage.tar.xz
...
2022-08-08 12:36:09 (28.3 MB/s) - ‘focal-v1.6-i386-lxcimage.tar.xz’ saved [112364357/112364357]
Importieren
1
2
backup$ lxc image import focal-v1.6-i386-lxcimage.tar.xz --alias focal-32bit-import
Image imported with fingerprint: 80038793fc413512ea14bd87f085a0e530b3800349ad7d5ae84d2b378f82cf2a
Starten
1
2
3
backup$ lxc launch focal-32bit-import ubuntu-2004-32-test
Creating ubuntu-2004-32-test
Starting ubuntu-2004-32-test
Zusammenfassung für Ubuntu-20.04
1
2
3
4
5
6
7
8
9
# 32 bit
wget https://github.com/uli-heller/lxc-ubuntu-i386-amd64/releases/download/v1.6/focal-v1.6-i386-lxcimage.tar.xz
lxc image import focal-v1.6-i386-lxcimage.tar.xz --alias focal-32bit-import
lxc launch focal-32bit-import ubuntu-2004-32-test
# 64 bit
wget https://github.com/uli-heller/lxc-ubuntu-i386-amd64/releases/download/v1.6/focal-v1.6-amd64-lxcimage.tar.xz
lxc image import focal-v1.6-amd64-lxcimage.tar.xz --alias focal-64bit-import
lxc launch focal-64bit-import ubuntu-2004-64-test
Zusammenfassung für Ubuntu-22.04
1
2
3
4
5
6
7
8
9
# 32 bit
wget https://github.com/uli-heller/lxc-ubuntu-i386-amd64/releases/download/v1.6/jammy-v1.6-i386-lxcimage.tar.xz
lxc image import jammy-v1.6-i386-lxcimage.tar.xz --alias jammy-32bit-import
lxc launch jammy-32bit-import ubuntu-2204-32-test
# 64 bit
wget https://github.com/uli-heller/lxc-ubuntu-i386-amd64/releases/download/v1.6/jammy-v1.6-amd64-lxcimage.tar.xz
lxc image import jammy-v1.6-amd64-lxcimage.tar.xz --alias jammy-64bit-import
lxc launch jammy-64bit-import ubuntu-2204-64-test
Kontrolle
1
2
3
4
5
6
backup$ lxc ls ubuntu-2004-32-test
+---------------------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------------------+---------+---------------------+------+-----------+-----------+
| ubuntu-2004-32-test | RUNNING | 10.2.110.165 (eth0) | | CONTAINER | 0 |
+---------------------+---------+---------------------+------+-----------+-----------+
Anpassen
Anpassen der Netzwerkschnittstellen, so dass
kein direkter Zugriff vom/ins Internet mehr möglich ist:
1
2
$ ./bin/lxc-hostonly.sh ubuntu-2004-32-test
Profiles hostonly applied to ubuntu-2004-32-test
Löschen
1
2
3
$ lxc delete ubuntu-2004-32-test
# ... oder
$ lxc delete ubuntu-2004-32-test --force
Ansible
host_vars/(server).yml
Beispiel: host_vars/backup.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/host_vars/backup.yml b/host_vars/backup.yml
index 4e6d9bb..c179bb2 100644
--- a/host_vars/backup.yml
+++ b/host_vars/backup.yml
@@ -27,4 +27,9 @@ lxd:
timezone: Europe/Berlin
pubkeys: |
ssh-rsa AAAAB3NzaC1y...
-
+ - ubuntu_2004_32:
+ name: ubuntu-2004-32
+ alias: focal-32bit-import
+ timezone: Europe/Berlin
+ pubkeys: |
+ ssh-rsa AAAAB3NzaC1y...
Ausrollen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ ansible-playbook.sh site.yml -l backup
...
TASK [lxd-host : Check for base container 'ubuntu-2004-32'] ************************************************************************
ok: [backup]
TASK [lxd-host : Copy image 'focal-32bit-import'] **********************************************************************************
skipping: [backup]
TASK [lxd-host : hostonly to nat] **************************************************************************************************
skipping: [backup]
TASK [lxd-host : Add container 'ubuntu-2004-32' to the inventory as 'backup_ubuntu-2004-32'] ***************************************
skipping: [backup]
TASK [lxd-host : Install python3 on 'ubuntu-2004-32'] ******************************************************************************
skipping: [backup]
TASK [lxd-host : debian tasks] *****************************************************************************************************
skipping: [backup]
TASK [lxd-host : nat to hostonly] **************************************************************************************************
...
Historie und Anmerkung
2022-08-13: Version v1.6 verwenden, neue Repo-Url
2022-08-12: Version v1.5 verwenden, neue Repo-Url, neuer Titel, Nachschlag entfällt, .tar.gz –> .tar.xz
2022-08-10: Version v1.2 verwenden
2022-08-09: Verweis auf Github-Repo
2022-08-02: Erste Version