Wie kann ich ein Linux-System automatisch installieren und konfigurieren?

Es gibt eine Reihe von Programmen, die ich immer auf einer neuen Linux-Installation installiere (z. B. hd-idle, zsh, Ruby); und eine Reihe von Konfigurationsaufgaben, die ich immer ausführe (z. B. benutzerdefiniertes zshrc).

Ich möchte dies nicht jedes Mal von Hand tun, wenn ich einen Linux-Computer installiere, sondern suche zu diesem Zweck nach einer Art Automatisierungstool. Ich habe mir Dinge wie Salt, Ansible, FAI und dergleichen angesehen, aber sie sind wirklich kompliziert-und sie sind eher für die Massenverwaltung von Hunderten gedacht von Maschinen.

Ich brauche eine Möglichkeit, eine Reihe von Vorlagen zu definieren, sie auf ein Flash-Laufwerk zu legen und sie auf dem Zielcomputer auszuführen.

Ich hatte vor, ein Programm für diesen Zweck zu schreiben, aber dieser Plan ist mit Problemen behaftet. Ich hoffe also, eine vorhandene Lösung für das Problem zu finden, die bereits jemand anderes erstellt hat.

(Die einzige Programmiersprache, die garantiert auf jedem System funktioniert, ist bash. Aber bash ist schrecklich zu arbeiten in.)

Author: Sod Almighty, 2016-12-05

2 answers

Die Antwort hängt von der ausgewählten Distribution ab. Zum Beispiel Debian (und Derivate wie Ubuntu, Mint usw.) akzeptieren seedfile, während Sie geladen werden können, während der Installation für einen voll automatisierten Verfahren. Es wird häufig zusammen mit einem PXE-Server für Netzwerkinstallationen verwendet.

Hier ist eine Ubuntu-Referenz:
F: Wie erstelle ich eine völlig unbeaufsichtigte Installation von Ubuntu?
Ein: https://askubuntu.com/questions/122505/how-do-i-create-a-completely-unattended-install-of-ubuntu

 3
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:22:58

Wenn Sie davon ausgehen können, dass die Programme in den Standard-Upstream-Repos für Ihre Distributionen vorhanden sind, können Sie eine Art kleines Shell-Skript schreiben. (Das Folgende kann als Pseudocode betrachtet werden, da ich es nicht getestet habe.)

#!/bin/bash
packages_to_install="curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel"
release=`cat /etc/*-release`
case $release in
  redhat|centos) cmd="yum install"; ;;
  ubuntu|debian) cmd="apt-get install"; ;;
esac
for pkg in $packages_to_install; do
  sudo $cmd $pkg
done

Ich liebe diese Lösung nicht wirklich, aber basierend auf Ihren Kommentaren, dass ansible/Salt für Sie zu kompliziert ist und eine gute Debian-Lösung nicht distro-agnostisch ist, denke ich, dass dies alles ist, was Ihnen bleibt.

 0
Author: Mort,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-12-05 02:03:48