Zauważyłem, że wielokrotnie konfigurowałem wszystkie moje pi przy pomocy raspbian w prawie ten sam sposób, używając raspi-config.
Czy istnieje sposób na wyodrębnienie wszystkich ustawień, które wprowadziłem przy użyciu raspi-config, do skryptu wykonywalnego, który można pobrać za pomocą wget do każdego nowego skonfigurowanego pi?
Docenione zostanie również podobne rozwiązanie o tym samym działaniu. Wydaje mi się, że mógłbym wypróbować jedną z implementacji dokowania rpi, ale nie jestem tak chętny, aby dowiedzieć się, jak niesamowita jest ta sytuacja.
setup
raspi-config
8DH
źródło
źródło
/usr/bin
, jeśli to pomaga. Jeśli chcesz to wyłączyć, uruchamiając nowe obrazy, usuń/etc/init.d/apply_noobs_os_config
i połącz/etc/rc2.d
.Odpowiedzi:
Przynajmniej
raspi-config
wydaje się , że obsługuje tryb nieinteraktywny:dzięki temu możesz pisać skrypty instalacyjne, które mogą zrobić wszystko, co możesz zrobić za pomocą interaktywnego polecenia, i zrobi dokładnie to samo. Będziesz jednak musiał znaleźć odpowiednie polecenia i ich użycie ze źródła skryptu.
źródło
Nadal nie jest to nigdzie udokumentowane, ale narzędzie rc_gui (zakładam, że byłby to graficzny interfejs użytkownika dla raspi-config, gdybym kiedykolwiek miał zainstalować pełny pulpit) używa opcji wiersza poleceń do skryptu bash raspi-config. Można zobaczyć pełną listę opcji w
kodzie źródłowym C. AKTUALIZACJA: Oficjalne repozytorium zniknęło z jakiegoś powodu. To najbardziej aktywny widelec, jaki udało mi się znaleźć.AKTUALIZACJA: Zauważam, że nie ma nic w ustawieniach regionalnych ani ustawieniach klawiatury. To sugeruje mi, że musimy zbadać źródło
raspi-config
. Na szczęście mamy wiele przykładów powyżej, aby dowiedzieć się, jak korzystać z tego skryptu w sposóbnonint
erotyczny. Tak więc, aby rozwiązać ten problem bezgłowo , muszę :Zmienne są wartościami, które wybrałbym z interfejsu użytkownika curses. Opcje ustawień regionalnych są pierwszym polem w pliku
/usr/share/i18n/SUPPORTED
. Opcje układu klawiatury to nazwy katalogów/usr/share/X11/xkb/symbols/
. Będąc w USA używamen_US.UTF-8
ius
. YMMVźródło
sudo raspi-config nonint do_audio %d
do wyboru wyjście audio (0 = Automatycznie, 1 = jack, 2 = HDMI)do_audio
. Ale to jest rzeczywiście funkcja znaleziona wcurl -sL https://github.com/RPi-Distro/raspi-config/raw/master/raspi-config | grep -E '(do|get)_[a-zA-Z0-9_ ]+\(' | sort | uniq
Wszystko
raspi-config
polega na edycji kilku plików konfiguracyjnych, które można również edytować za pomocą skryptu. Zapoznaj się zsed
instrukcją, aby zobaczyć, w jaki sposób można skutecznie wprowadzić takie zmiany.Jeśli masz wiele zmian do zastosowania w ten sposób, rozważę skonfigurowanie czystego obrazu RPi tak, jak chcesz,
diff
jego kompletny system plików * względem obrazu waniliowego, a następnie zastosuj zmiany,patch
gdy będziesz musiał skonfigurować nowy instalacja.Na koniec spójrz na takie narzędzia, jak
etckeeper
- te są specjalnie zaprojektowane do manipulowania zmianami w konfiguracji i są w stanie śledzić subtelne zmiany, których zwykły brakdiff
, takie jak uprawnienia. Pamiętaj, że wbrew nazwie,etckeeper
nie jest ograniczony do/etc
, np. Uruchomienieetckeeper -d /boot init; etckeeper -d /boot commit
spowoduje utworzenie kopii zapasowej plików/boot
.(*) Najwyraźniej nie jest to oczywiste , więc aby usunąć wszystkie nieporozumienia, mam na myśli, że powinieneś coś takiego zrobić,
diff -r /etc /mnt/vanilla_root/etc > etc.diff
adiff -r /boot /mnt/vanilla_boot > boot.diff
niediff my.img vanilla.img
.źródło
Użyj dd (lub podobnego), aby skopiować działający obraz Pi na komputer.
Użyj dd (lub podobnego), aby skopiować skopiowany obraz z komputera na komputer Pi.
człowiek dd
źródło
Mam 1 kartę SD w 100% skonfigurowaną według moich pragnień, którą przechowuję jako bazę dla wszystkich nowych instalacji.
Podczas konfigurowania nowego Pi po prostu klonuję tę kartę SD zamiast zaczynać od zera.
źródło