Uczę dzieci programowania za pomocą Scratch i dajemy każdemu uczniowi Raspberry Pi do użycia. Chcę być w stanie dać im dodatkowe pliki do lekcji w dół drogi (jak nowe obrazy tła lub sprite), ale chcę, aby było tak płynnie, jak to możliwe. Można śmiało powiedzieć, że ich wiedza techniczna jest niska, więc wolałbym, aby usługa w tle robiła to automatycznie.
Używam Syncthing do własnych celów na różnych urządzeniach, więc to była moja pierwsza myśl. Ale aby przygotować każdy Raspberry Pi, po prostu skopiuję ten sam obraz karty SD, który przygotowałem na karcie SD każdego ucznia. Rozumiem, że Syncthing i inne podobne programy wymagają unikalnych identyfikatorów użytkowników dla każdego systemu. Jeśli więc klonuję ten sam system, wszystkie będą miały ten sam identyfikator i domyślam się, że nie będzie działać zgodnie z przeznaczeniem. Ale nie chcę też ręcznie konfigurować Syncthing w kilkunastu systemach.
Czy jest jakiś sposób, aby to ustawić przed klonowaniem systemów i zsynchronizować pliki z mojego systemu do każdego z nich bez żadnej akcji z ich strony? Alternatywnie, jeśli jest jakiś sposób, aby programowo zmienić odpowiednie pliki na obrazie systemu przed napisaniem każdego z nich, to też byłoby dobrze. Dzięki!
Skończyło się na używaniu wget w skrypcie bash, ponieważ mamy serwer WWW, na którym mogę załadować pliki. Chociaż lubię rsync, ładowanie poświadczeń naszego serwera na urządzenia studenckie wydawało się stanowić zagrożenie bezpieczeństwa.
Używam skryptu za pomocą cron, ale za pomocą słowa kluczowego @reboot, tak aby działało ono, gdy uczniowie uruchomią Raspberry Pis, która będzie na początku klasy.
źródło