Installation
Die Installation des Betriebssystems wird, wie bei Einplatinen- oder Embedded Systemen üblich, via *.iso Datei geflasht. Dazu braucht man:
- Einen Einplatinencomputer → Ich verwende einen odroid c2
- Eine Installationsdatei → Ich verwende Linux Ubuntu Mate (nicht die Minimalversion)
- ein PC mit Linux (Windows geht auch)
- eine Micro SD-Karte mit mindestens 8GB → besser eine 64GB eMMC mit Micro-SD Adapter
- Ein USB-SAN für die Multimedia-Dateien
- Ein 1TB USB-Stick für Shares und Freigaben
- Ein 4GB USB-Stick für fhem
Vorgehensweise:
- Zuerst lädt man das neueste ISO von http://odroid.com/dokuwiki/doku.php?id=en:c2_release_linux_ubuntu herunter
- Diese Datei packt man aus mit:
unxz *mate-odroid-c2*.img.xz
- Jetzt legt man die SD-Karte ein und prüft den Mountpunkt → In meinem Beispiel: /dev/sdc
- Jetzt packt man die ISO auf der SD-Karte aus
dcfldd if=*mate-odroid-c2*.img of=/dev/sdc bs=1M conv=fsync
Danach mehrfaches sync nicht vergessen - Die SD-Karte kann in den Einplatinenrechner eingelegt werden. Der Rechner kann gebootet werden
Mehr Infos: http://odroid.com/dokuwiki/doku.php?id=en:odroid_flashing_tools
Post Installation
Ich arbeite als root (su -). Es ist wichtig dem User odroid und root ein neues Passwort zu geben!
Benutzer und Passwörter
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 -
SD-Karte schonen
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
1. USB-Stick einhängen und den aktuellen Mountpunkt auslesen
df -h # Hier ist es /dev/sdc1
2. UUID ermitteln
blkid | grep sdc1 # UUID="020E-9FCB"
3. /etc/fstab anpassen -> Eine neue Zeile hinzu fügen:
UUID=020E-9FCB /var/log ext2 defaults 0 2
4. Logdaten auf den neuen Stick kopieren
5. Neues Device verwenden
mount -a
Statt fstab lieber autofs zum mounten verwenden
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
Wenn es mit dem Sound nicht klappt
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
Installation
apt install autofs
Konfiguration
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
Name und Ip-Adresse
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
Deinstallieren was nicht gebraucht wird
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
Update
apt update && apt upgrade && apt dist-upgrade && apt autoremove apt install linux-image-c2Danach rebooten
Einstellungen
- Sprache, Region und Formate (Ich lasse Englisch, stelle aber Tastatur, Zeit und Währung um)
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
- Zeitzone anpassen:
ln -sf /usr/share/zoneinfo/right/Europe/Berlin /etc/localtime
- Autostart → entfernen was nicht passt
Grafiport deaktivieren
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.656GHzSiehe: http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
Backup
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
Backup erzeugen
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
Backup verwenden
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.
Der Desasterfall
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.
Einzelne Daten retten
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
Installation der Dienste
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 |
Freigaben an der Fritzbox
Beginn der Doku für die Neuinstallation: woody_neu