linuxmuster-prepare
Scripts and configuration templates to initially setup a virtual appliance for linuxmuster.
Skripte und Konfigurationsvorlagen für die Vorbereitung einer virtuellen Appliance für linuxmuster.net auf Basis von Ubuntu Server 18.04.
Das Skript
lmn7-appliance bereitet die Appliance für das Rollout vor:
- Es bringt das Betriebssystem auf den aktuellen Stand,
- installiert das Paket linuxmuster-prepare und
- startet dann das Vorbereitungsskript linuxmuster-prepare,
- das die für das jeweilige Appliance-Profil benötigten Pakete installiert,
- das Netzwerk konfiguriert,
- das root-Passwort auf Muster! setzt und
- im Falle des Serverprofils LVM einrichtet.
Optionen
Parameter | Wert | Bedeutung |
---|---|---|
-t, --hostname= |
<hostname> |
Hostname der Appliance, falls weggelassen wird der Profilname verwendet. |
-n, --ipnet= |
<ip/bitmask> |
IP-Adresse und Bitmaske des Hosts (Standardwert ist 10.0.0.[1,2,3]/16, abhängig vom Profil). |
-p, --profile= |
<server,opsi,docker,ubuntu> |
Appliance-Profil, wurde -n nicht angegeben, wird die IP-Adresse automatisch gesetzt: server 10.0.0.1, opsi 10.0.0.2, docker 10.0.0.3. Bei "ubuntu" muss mit -n eine Adresse/Bitmaske angegeben werden. |
-l, --pvdevice= |
<device> |
Pfad zum LVM-Device (nur bei Serverprofil). |
-f, --firewall= |
<ip> |
Firewall-/Gateway-/Nameserver-Adresse (Standard x.x.x.254). |
-d, --domain= |
<domain> |
Domänenname (Standard: linuxmuster.lan). |
-u, --unattended |
- | Keine Abfragen, verwende Standardwerte. |
-h, --help |
- | Hilfe anzeigen. |
Profilvorgaben
- server:
- Paket linuxmuster-base7 mit allen seinen Abhängigkeiten wird installiert.
- Ist eine zweite Festplatte definiert und wird der Parameter
-l, --pvdevice=<device>
angegeben, wird diese wie folgt mit LVM eingerichtet (Werte beziehen sich auf eine Festplattengröße von 100G. Für das LV default-school wird immer der verbleibende Rest genommen. Festplattengröße muss daher mindestens 70G betragen.):
LV Name | LV Pfad | Mountpoint | Größe |
---|---|---|---|
var | /dev/vg_srv/var | /var | 10G |
linbo | /dev/vg_srv/linbo | /srv/linbo | 40G |
global | /dev/vg_srv/global | /srv/samba/global | 10G |
default-school | /dev/vg_srv/default-school | /srv/samba/default-school | 40G |
- opsi: Das Paket linuxmuster-opsi mit allen seinen Abhängigkeiten wird installiert.
- docker: Die Pakete docker und docker-compose werden mit allen ihren Abhängigkeiten installiert.
- ubuntu: Es werden keine zusätzliche Pakete installiert, Hostname mit Parameter
-t, --hostname=<hostname>
und IP/Netzmaske mit-n, --ipnet=<ip/bitmask>
müssen zwingend angegeben werden.
Beispiele
lmn7-appliance -u -p server -l /dev/sdb
- Richtet Serverprofil mit LVM auf 2. Festplatte mit Standardwerten ein:
- Hostname server,
- IP/Bitmask 10.0.0.1/16,
- Domänenname linuxmuster.lan
- Gateway/DNS 10.0.0.254
lmn7-appliance -p opsi -u
- Richtet Opsiprofil mit Defaultwerten ein:
- Hostname: opsi
- IP/Bitmask: 10.0.0.2/16
- Domänenname linuxmuster.lan
- Gateway/DNS 10.0.0.254
lmn7-appliance -p docker -n 10.16.1.3/12 -d meineschule.de -u
- Richtet Dockerhostprofil wie folgt ein:
- Hostname docker,
- IP/Bitmask 10.16.1.3/12,
- Domänenname meineschule.de,
- Gateway/DNS 10.16.1.254
lmn7-appliance -p ubuntu -t testhost -n 10.16.1.10/12
- Richtet die Appliance wie folgt ein:
- Hostname testhost,
- IP/Bitmask 10.16.1.10/12,
- Domänenname linuxmuster.lan,
- Gateway/DNS 10.16.1.254
Server-Appliance vorbereiten
- Appliance mit 2 Festplatten einrichten, zum Beispiel:
- HD 1: 25G (Root-Dateisystem)
- HD 2: 100G (LVM)
- Ubuntu Server 18.04 Minimalinstallation durchführen.
- System in eine Partition auf HD 1 installieren (keine Swappartition),
- HD 2 unkonfiguriert lassen.
- Nach dem ersten Boot als root einloggen und Prepare-Skript herunterladen:
# wget https://archive.linuxmuster.net/lmn7/lmn7-appliance
- Skript ausführbar machen und starten:
./lmn7-appliance.py -p server -u -l /dev/sdb
- Appliance herunterfahren und Snapshot erstellen.
Weitere Appliances vorbereiten
Opsi-, Docker- und weitere Appliances werden mit jeweils nur einer Festplatte erstellt. Die Vorgehensweise ist ansonsten analog zu derjenigen des Servers. Beispiele für Skriptaufrufe siehe oben.