Go to file
STP d9ad30ccf3 first commit 2019-11-26 21:36:24 +01:00
etc_org first commit 2019-11-26 21:36:24 +01:00
home_org first commit 2019-11-26 21:36:24 +01:00
Pocket__Setting_up_overlayFS_on_Raspberry_Pi.pdf first commit 2019-11-26 21:36:24 +01:00
README.md first commit 2019-11-26 21:36:24 +01:00
backup.sh first commit 2019-11-26 21:36:24 +01:00
etc_org.acl first commit 2019-11-26 21:36:24 +01:00
home_org.acl first commit 2019-11-26 21:36:24 +01:00
part_table first commit 2019-11-26 21:36:24 +01:00
restore.sh first commit 2019-11-26 21:36:24 +01:00

README.md

ThinRasPi Konfiguration

Einrichtung

default

  • Linux Image herunterladen für Raspberry Pi (Linux nach Wahl, empfohlen Ubuntu LTS *
  • Image mit dd auf eine entsprechende SD-Card spielen
    • Bsp.: dd if=$DEVICE bs=8M | pv | dd of=$DEVICE bs=8M
  • RasPi booten
    • Linux durch konfigurieren / Benutzer anlegen für Fernwartungszwecke (zum Beispiel tux-mania)
    • zusätzlich Benutzer für default Login anlegen (zum Beispiel thinclient)
    • unnötige Pakete deakivieren/deinstallieren um Speicher auf der SD-Card zu sparen <- siehe PDF
      • zum Beispiel mate-screensaver, diverse Spiele und Programme (vielleicht auch mate-terminal?)
      • Liste: dphys-swapfile mate-screensaver fake-hwclock
    • folgende Pakete nach installieren fuse lsof p910nd remmina freerdp-x11 <- siehe PDF
    • lightdm.conf in /etc_org/lichtdm/ erstellen <- Vorlage liegt unter /usr/share/doc/lightdm
      • Optional: Datei aus gitrepo nehmen
    • mount_overlay in /usr/local/bin ablegen <- siehe Anleitung
    • fstab anpassen <- siehe Anleitung

Image kopieren / Script

  • backup.sh $DEVICEwithFULLPATH <- Backup erstellen
  • restore.sh $DEVICEwithFULLPATH <- Backup zurück spielen

Image kopieren / Alternative!

Diese Variante sollte verwendet werden, wenn die Ausgangs SDCard eine andere größe hat als die Ziel SDCard.

  • also erstes sollten die Daten von der Quell-SD-Card gesichert werden.
sfdisk -d /dev/$DEV > part_table #Partitionstabelle sichern
mount /dev/$PART1 /mnt #BOOT-Partition mounten
cd /mnt #in das Mountverzeichnis wechseln
tar cvfj $ZielVerzeichnis/part1.tbz2 * #Daten von BOOT-Partition sichern
cd / #aus Mountverzeichnis wechseln
umount /mnt #BOOT-Partition aushängen
mount /dev/$PART2 /mnt * #ROOT-Partition einhängen 
cd /mnt #in das Mountverzeichnis wechseln
tar cvfj $ZielVerzeichnis/part2.tbz2 #Daten von ROOT-Partition sichern
umount /mnt #ROOT-Partition aushängen
  • Jetzt sind die Daten unter $ZielVerzeichnis gesichert. Einfach die Quell-SDCard entnehmen und die Ziel-SDCard einstecken.
sfdisk /dev/$DEV < part_table #Partitionstabelle auf Ziel-SDCard spielen
#Wichtig! Vor dem weiter machen prüfen, ob die neue Partitionstabelle erkannt wurde.
#Das kann man mit "cat /proc/partitions."
#Sollte das nicht der Fall sein, die SDCard entweder entnehmen und wieder einstecken oder "kpartx" verwenden.
#Dann das Dateisystem für $PART1 und $PART2 erzeugen.
mkfs.vfat -n PI_BOOT /dev/$PART1
mkfs.ext4 -L PI_ROOT /dev/$PART2
mount /dev/$PART1 /mnt #BOOT-Partition einhängen
cd /mnt #in das mount-Verzeichniswechseln
tar xvfj $ZielVerzeichnis/part1.tbz2 ./ #Sicherung in /mnt entpacken
cd / #in das Root-Verzeichnis des lokalen Systems wechseln
umount /mnt #BOOT-Verzeichnis aushängen
mount /dev/PART2 /mnt #ROOT-Partition der SDCard einhängen
cd /mnt # in das Mountverzeichnis wechseln
tar xvfj $ZielVerzeichnis/part2.tbz2 ./ #Sicherung von PART2 in /mnt entpacken
cd / #wieder in das lokale ROOT-Verzeichnis wechseln
umount /mnt #Partition wieder aushängen

ACL Einstellungen sichern und zurückschreiben

  • Einstellungen für etc_org und home_org sichern getfacl -R $DIR > $FILE

Autostart / Hintergundbild

  • .xession, .xsessionrc und .xinitrc haben unter mate keinen Effekt gezeigt oder ging nur sporadisch
    • Autostart wird jetzt über ~/.config/autostart ausgefüht -> dafür muss ein Desktop Icon erstellt werden / optional kann es über Einstellung (autostart/startup) konfiguriert werden

git

  • sync wie folgt gemacht
  • root Berechtigung
    • Image loop mounten
    • in git Ordner wechseln
    • Änderung in etc_org und/oder home_org anpassen
    • Änderung mit git adden
    • Änderung in git commiten
    • Änderung in gogs pushen <- optional in den entsprechenden User voher wechseln

autoupdater deaktivieren!

  • /home_org/thinclient/.settings.sh/ <- Update Notifier deaktiviert (allgemeine Settings für User unter Ubuntu <- von tux-mania erstellt

    • unter $HOME/.config/autostart eine *desktop für den autostart in Mate erstellt
  • update-manager /etc_org/update-manager

  • ^^ auf "never" setzen <- führt nicht zum Erfolg (01.02.2016)

chmod 644 /usr/bin/update-notifier

  • ^^ rechte entzogen <- führt nicht zum Erfolg (01.02.2016)

  • editing /etc/apt/apt.conf.d/10periodic and changeing und 20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Update-Package-Lists "0"; ^^ alls von 1 auf 0 setzen ^^ erfolgreich

  • nano /etc/apt/apt.conf.d/99update-notifier

  • #DPkg::Post-Invoke {"if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; if [ -e /var/lib/update-notifier/updates-available ]; then echo > /var/lib/update-notifier/updates-available; fi "; };

  • /etc_org/cron.daily/update-notifier-common

  • ^^ exit 0

  • /etc/cron.daily/apt-compat

  • ^^ exec /usr/lib/apt/apt.systemd.daily <- auskommentieren

  • systemctl disable apt-daily.service

  • systemctl stop apt-daily.service

  • ^^ Verzeichnis Schreibrechte gesetzt und in der Bash ausgeführt

  • ^^sicherheitshalber in der rc.local eingetragen / damit bei reboot es per default deaktiviert wird

  • ^^/etc_org/* nach /etc/ kopieren