Die Installation des Betriebssystems wird, wie bei Einplatinen- oder Embedded Systemen üblich, via *.iso Datei geflasht. Dazu braucht man:
unxz *mate-odroid-c2*.img.xz
dcfldd if=*mate-odroid-c2*.img of=/dev/sdc bs=1M conv=fsync
Danach mehrfaches sync nicht vergessen
Mehr Infos: http://odroid.com/dokuwiki/doku.php?id=en:odroid_flashing_tools
Ich arbeite als root (su -). Es ist wichtig dem User odroid und root ein neues Passwort zu geben!
Der bekannte User odroid wird gelöscht, andre angelegt und bekommt sudo-Rechte:
userdel odroid rm -rf /home/odroid adduser andre adduser andre sudo
Jetzt müssen wir noch die Passwörter ändern:
passwd root # wird benötigt für su -
Da SD-Karten einen begrenzten L/S Zyklus haben, biege ich das Log-Verzeichnis auf einen externen Stick um. Das FS muss unbedingt ein ext sein, ich empfehle ext2
df -h # Hier ist es /dev/sdc1
blkid | grep sdc1 # UUID="020E-9FCB"
UUID=020E-9FCB /var/log ext2 defaults 0 2
mount -a
Sollte ein in der fstab genanntes USB-Device beim booten nicht verfügbar sein, startet der Odroid nicht. Daher ist es besser den Automount von autofs erledigen zu lassen
dann kann es daran liegen, dass die Kopfhörer-Hardware deaktiviert ist. Hier wird Abhilfe geschaffen:
http://linuxwelt.blogspot.de/2014/09/kein-ton-uber-die-kopfhorer-linux-mint.html
apt install autofs
Hier am Beispiel der USB-Media Festplatte erklärt:
mkdir /automnt
Nach dem Erstellen des Mountverzeichnis kann die Master-Datei editiert werden
vim /etc/auto.master /automnt /etc/auto.automnt --timeout=10 --ghost
Dies definiert das Mountverzeichnis, die Konfigdatei, Timeout und weitere Parameter. Jetzt wird das Device in der Datei auto.automnt definiert
vim /etc/auto.automnt USB --timeout=30,fstype=ntfs,permissions,acl,sync UUID=84EEF016EEEFFDEC
In den Unterodrner USB wird eine NTFS-Partition mit voller Rechteumgebung gemountet. Wird noch ein ext4 Device zusätzlich als Backupordner verwendet:
BAC -fstype=auto :UUID=39adb3f3-d6d9-4cc3-a251-d41582b76c68
Einen passenden Namen vergeben:
vim /etc/hostname
Eine statische IP-Adresse zuweisen:
vim /etc/network/interfaces.d/eth0.cfg
iface eth0 inet static
address 192.168.178.3
netmask 255.255.255.0
gateway 192.168.178.1
dns-nameservers 192.168.178.1
apt remove --purge libreoffice-common apt remove --purge thunderbird * Rhythmbox * VLC
und was noch so stört… Zum Schluss alle Abhängigkeiten löschen mit
apt autoremove
apt update && apt upgrade && apt dist-upgrade && apt autoremove apt install linux-image-c2
Danach rebooten
apt-get install language-pack-de
vim /etc/default/locale
LANGUAGE="de" LANG="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_MESSAGES=POSIX
ln -sf /usr/share/zoneinfo/right/Europe/Berlin /etc/localtime
Nachdem der Server konfiguriert ist, betreibe ich ihn ohne Monitor. Daher benötige ich auch keinen Grafikport. Die Einstellung wird in der boot.ini angepasst. Dafür ist ein Systemupgrade nötig.
vim /media/boot/boot.ini
# Server Mode (aka. No Graphics) # Setting nographics to 1 will disable all video subsystem setenv nographics "1"
Durch zurück stellen der Einstellung und rebooten kann der Server wieder mit Monitor betrieben werden.
In der boot.ini werden auch dei Parameter für Takt und Kerne definiert.
setenv maxcpus "4" setenv max_freq "1656" # 1.656GHz
Siehe: http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
Ein regelmäßiges Backup ist, wie jeder weis, wichtig. Leider ist die offizielle Vorgehensweise unbequem und wird daher eher vernachlässigt. Ein guter Backup-Plan ist daher automatisierbar. Einfach lässt sich dies mit dd realisieren
dd if=/dev/mmcblk0 bs=1M count=10MB status=progress | gzip > /automnt/USB/Backup/odroid.dd.gz
Dies erstellt eine 1-zu-1 Kopie aller Partitionen des angegebenen Devices (also mmcblk1 = / und mmcblk2 = /boot) aud die externe USB-Platte (gemountet nach /automnt/USB/Backup) und vergibt dem Backup den Namen odroid.dd.gz
Entweder man spielt im Desasterfall alles auf eine neue SD-Karte mindestens gleicher Größe, oder es werden nur einzelne Daten benötigt. Beides ist möglich.
Die MMC-Karte ist kaputt, alle Daten sind verloren. Jetzt braucht man eine neue SD- oder MMC Karte von mindestens gleicher Größe. Die Backup-Platte wird an einen Linux-PC angeschlossen, die neue Speicherkarte (/dev/sda) eingeschoben. Jetzt kann das Backup auf die neue Speicherkarte geschrieben werden.
gzip -dc /media/USB/Backup/odroid.dd.gz | dd of=/dev/sda bs=1M
Die neu beschriebenen Speicherkarte kann jetzt verwendet werden.
Dazu wird das Backup wie eine Festplatte gemountet. So können einzelne Dateien kopiert werden.
Vorbereitung
Es müssen die Pakete zum Einhängen eines Plattendump installiert sein
apt-get install avfs kpartx
AVFS als user mounten:
mountavfs Mounting AVFS on /home/user/.avfs...
Test:
ls -la /home/user/.avfs
Das gesamte file system „/“ wird unter „/home/user/.avfs/“ abgebildet, mit der option darin archive direkt zu öffnen. Das Archiv muss die passende Endung haben (zB. .gz). Dem Dateinamen muss ein # angehängt werden (geht nicht auf der zsh, nur bash).
Image mit einer Partition, zb. sda5.dd.gz Mounten:
losetup /dev/loop1 /home/user/.avfs/path/to/sda5.dd.gz# (Filename + #) mount -o ro /dev/loop1 /media/mountpoint
Unmounten:
umount /media/mountpoint losetup -d /dev/loop1
Image mit einer gesamten Platte, zb. sda.dd.gz Partitionen im Image anzeigen lassen:
kpartx -l /home/user/.avfs/path/to/sda.dd.gz# loop0p1 : 0 204800 /dev/loop0 2048 loop0p2 : 0 50169856 /dev/loop0 206848
Partitionen im Image mappen lassen (read only) und zweite Partition mounten:
kpartx -a -r /home/user/.avfs/path/to/sda.dd.gz# mount -o ro /dev/mapper/loop0p2 /media/mountpoint
Unmounten:
umount /media/mountpoint kpartx -d /home/user/.avfs/path/to/sda.dd.gz# (geht manchmal nich?!)
Oder man benutzt ein Backup-Script: http://www.forum-raspberrypi.de/Thread-tutorial-backup-des-laufenden-systems-anlegen
Weitere Informationsquellen
| Dienst | Kurzbeschreibung |
|---|---|
| VNC | TightVNC für die grafische Fernadministration mit Mate |
| Emails versenden | |
| Samba | SMB (cifs) Freigaben |
| fail2ban | Setzt IP-Adressen, die zu oft versuchen sich anzumelden, auf die Blackliste |
| monit | Monitoring und automatisches Troubleshooting |
| Open VPN | VPN Server |
| Apache2 | Webserver Apache2 mit dokuwiki - Daten liegen auf dem USB-Stick |
| LightHttp (Lighty) | Leichter HTTP-Server |
| LetsEncrypt | Zertifikate mit LetsenCrypt und Certbot erstellen |
| vsftp | |
| Mediatomb | DLNA Server, gibt das Media NAS via upnp frei |
| minidlna | http://www.pack-eis.de/?action=showfile&pid=13798&filename=usr/share/doc/minidlna/minidlna.txt |
| mldonkey | Sream-Client - legt die Daten auf dem USB-Stick ab |
| fhem | Smarthome Server - Daten liegen auf extra USB-Stick |
| munin | Server mittels Munin überwachen |
| rkhunter | Rootkit-Scanner |
Beginn der Doku für die Neuinstallation: woody_neu