Ich habe festgestellt, dass ich mit raspi-config immer wieder alle meine Pi's mit raspbian auf die gleiche Weise eingerichtet habe.
Gibt es eine Möglichkeit, alle Einstellungen, die ich mit raspi-config vorgenommen habe, in ein ausführbares Skript zu extrahieren, das ich mit wget auf jedes neu eingerichtete Pi herunterladen kann?
Eine ähnliche Lösung mit dem gleichen Effekt wäre auch wünschenswert. Ich denke, ich könnte eine der RPI-Docker-Implementierungen ausprobieren, aber ich bin nicht so gespannt darauf, herauszufinden, wie aktuell das Zeug ist.
setup
raspi-config
8DH
quelle
quelle
/usr/bin
, wenn das hilft. Wenn Sie das Starten mit neuen Bildern deaktivieren möchten, löschen Sie/etc/init.d/apply_noobs_os_config
und den Link in/etc/rc2.d
.Antworten:
Zumindest heutzutage
raspi-config
scheint der nicht interaktive Modus zu unterstützen:Mit diesem Befehl können Sie Setup-Skripte schreiben, die alles tun, was Sie über den interaktiven Befehl tun können, und genau das Gleiche tun. Sie müssen die relevanten Befehle und ihre Verwendung jedoch aus der Quelle des Skripts herausfinden.
quelle
Dies ist noch nirgendwo dokumentiert, aber das rc_gui-Tool (ich nehme an, es wäre eine grafische Benutzeroberfläche für die raspi-config, wenn ich jemals den vollständigen Desktop installieren würde) verwendet Befehlszeilenoptionen für das raspi-config-Bash-Skript. Sie können die vollständige Liste der Optionen im
C-Quellcode sehen. UPDATE: Das offizielle Repo ist aus irgendeinem Grund verschwunden. Dies ist die aktivste Gabel, die ich finden konnte.UPDATE: Mir ist aufgefallen, dass sich dort nichts über das Gebietsschema oder die Tastatureinstellungen befindet. Das legt mir also nahe, dass wir die Quelle von untersuchen müssen
raspi-config
. Glücklicherweise haben wir oben viele Beispiele, um eine Vorstellung davon zu bekommen, wie man dieses Skriptnonint
eraktiv einsetzt. Also, was ich tun muss, um dieses Problem kopflos zu lösen , ist:Die Variablen sind die Werte, die ich auf der Curses-Benutzeroberfläche ausgewählt hätte. Gebietsschemaoptionen sind das erste Feld in der Datei
/usr/share/i18n/SUPPORTED
. Tastaturlayoutoptionen sind die Verzeichnisnamen in/usr/share/X11/xkb/symbols/
. In den USA benutze ichen_US.UTF-8
undus
. YMMVquelle
sudo raspi-config nonint do_audio %d
für die Auswahl der Audio-Ausgabe (0 = Auto, 1 = Buchse, 2 = HDMI)do_audio
. Aber das ist in der Tat eine Funktion incurl -sL https://github.com/RPi-Distro/raspi-config/raw/master/raspi-config | grep -E '(do|get)_[a-zA-Z0-9_ ]+\(' | sort | uniq
Es
raspi-config
müssen nur einige Konfigurationsdateien bearbeitet werden, die Sie auch mit einem Skript bearbeiten können.sed
Sehen Sie im Handbuch nach, wie solche Bearbeitungen effizient durchgeführt werden können.Wenn Sie eine Menge Änderungen auf diese Weise anwenden müssen, würde ich in Betracht ziehen, ein sauberes RPi-Image so einzurichten, wie Sie es möchten,
diff
sein vollständiges Dateisystem * gegen ein Vanille-Image und die Änderungen dann mit anzuwenden,patch
wenn Sie ein neues einrichten müssen Installation.Schauen Sie sich abschließend Tools an,
etckeeper
die speziell für das Manipulieren von Konfigurationsänderungen entwickelt wurden und in der Lage sind, geringfügige Änderungen, die ein einfacherdiff
Benutzer übersehen hätte, wie z. B. Berechtigungen, nachzuverfolgen. Beachten Sie, dass im Gegensatz zu seinem Namenetckeeper
keine Einschränkung besteht/etc
, z. B. wird beim Ausführenetckeeper -d /boot init; etckeeper -d /boot commit
eine Sicherungskopie der Dateien in erstellt/boot
.(*) Anscheinend ist es nicht offensichtlich . Um alle Missverständnisse auszuräumen, solltest du so etwas wie
diff -r /etc /mnt/vanilla_root/etc > etc.diff
unddiff -r /boot /mnt/vanilla_boot > boot.diff
nicht machendiff my.img vanilla.img
.quelle
Verwenden Sie dd (oder ähnliches), um das funktionierende Pi-Image auf Ihren PC zu kopieren.
Verwenden Sie dd (oder ähnliches), um das kopierte Bild von Ihrem PC auf Ihren Pi zu kopieren.
Mann dd
quelle
Ich habe 1 SD-Karte 100% nach meinen Wünschen eingerichtet, die ich als Basis für alle Neuinstallationen behalte.
Beim Einrichten eines neuen Pi klone ich einfach diese SD-Karte, anstatt von vorne zu beginnen.
quelle