111 lines
5.1 KiB
Markdown
111 lines
5.1 KiB
Markdown
# 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/10periodi`c 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
|